// Settings app. Logical properties (inline-start/end) so the RTL build needs no overrides.

.zeiw-admin {
	max-width: 760px;
	padding-block-end: 80px; // Room for the save bar
}

.zeiw-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-block: 16px 8px;

	h1 {
		margin: 0;
		font-size: 23px;
		font-weight: 400;
	}
}

.zeiw-badge {
	padding: 2px 8px;
	border-radius: 2px;
	background: #e5f4e4;
	color: #1e4620;
	font-size: 12px;
}

.zeiw-tabs .components-tab-panel__tabs {
	margin-block-end: 16px;
	border-block-end: 1px solid #dcdcde;
}

.zeiw-page {
	display: flex;
	flex-direction: column;
	gap: 16px;

	.components-notice {
		margin: 0;
	}
}

.zeiw-card {
	.components-card__header h3 {
		margin: 0;
	}

	.components-card__body {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}
}

// Field labels in sentence case, as on WooCommerce settings pages
// (four classes: the components' CSS-in-JS rules repeat their class three times)
.zeiw-admin .zeiw-card .components-base-control__label.components-base-control__label,
.zeiw-admin .zeiw-card .components-input-control__label.components-input-control__label {
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
}

.zeiw-card__description,
.zeiw-muted {
	margin: 4px 0 0;
	color: #757575;
}

// Fields that only apply while their toggle is on
.zeiw-dependent {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-inline-start: 16px;
	border-inline-start: 2px solid #dcdcde;
}

.zeiw-statuses {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 8px;
}

.zeiw-field-error {
	color: #cc1818;
}

.has-error input {
	border-color: #cc1818;
}

.zeiw-upgrade__list {
	margin: 0 0 8px;
	padding-inline-start: 20px;
	list-style: disc;
}

.zeiw-savebar {
	position: fixed;
	inset-block-end: 0;
	inset-inline: 160px 0;
	z-index: 10;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	border-block-start: 1px solid #dcdcde;
	background: #fff;

	&__status {
		margin-inline-end: auto;
		color: #757575;
	}

	&.is-dirty &__status {
		color: #1e1e1e;
	}
}

.folded .zeiw-savebar {
	inset-inline-start: 36px;
}

@media (max-width: 960px) {
	.auto-fold .zeiw-savebar {
		inset-inline-start: 36px;
	}
}

@media (max-width: 782px) {
	.zeiw-savebar,
	.auto-fold .zeiw-savebar {
		inset-inline-start: 0;
	}
}

.zeiw-snackbars {
	position: fixed;
	inset-block-end: 72px;
	inset-inline-start: 180px;
	z-index: 11;
}

.zeiw-progress {
	height: 8px;
	border-radius: 4px;
	background: #f0f0f0;
	overflow: hidden;

	&__fill {
		height: 100%;
		background: var(--wp-admin-theme-color, #3858e9);
		transition: width 0.3s;
	}
}

.zeiw-label-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 16px;
}
