/**
 * Settings Page Styles
 *
 * Card-grid layout for settings sections with field rows.
 *
 * @package    SmartCycleDiscounts
 * @since      1.0.0
 */

/* ==========================================================================
   Page Container
   ========================================================================== */

.wsscd-settings {
	max-width: none;
}

/* ==========================================================================
   Form Container
   ========================================================================== */

.wsscd-settings-form {
	margin-top: var(--wsscd-spacing-lg, 20px);
}

/* ==========================================================================
   Card Grid (2-column masonry)
   ========================================================================== */

/* Multi-column (masonry) flow rather than CSS grid: cards have uneven
   heights, and grid would align each row to its tallest card — leaving a
   dead gap beneath short cards. Columns let each card stack directly under
   the one above it within its column. */
.wsscd-settings-grid {
	column-count: 2;
	/* Matches the page-level 10px rhythm so cards stacked inside each
	   column sit the same distance apart as siblings of the grid itself. */
	column-gap: var(--wsscd-spacing-sm-large, 10px);
}

/* ==========================================================================
   Settings Card
   ========================================================================== */

.wsscd-settings-grid > .wsscd-card {
	/* Keep a card whole within one column and give stacked cards rhythm. */
	-webkit-column-break-inside: avoid;
	break-inside: avoid;
	margin-bottom: var(--wsscd-spacing-sm-large, 10px);
}

.wsscd-settings-card {
	background: var(--wsscd-color-white, #fff);
	border: 1px solid var(--wsscd-color-border-lighter, #dcdcde);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 4px 12px rgba(0, 0, 0, 0.03);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* Card header/heading provided by shared/_components.css (.wsscd-card__header, .wsscd-card__heading) */

.wsscd-settings-card__body {
	padding: 20px 24px;
	flex: 1;
}

.wsscd-settings-card__desc {
	margin-bottom: 14px;
	font-size: var(--wsscd-font-size-small);
	color: var(--wsscd-color-text-muted, #646970);
	line-height: 1.5;
}

.wsscd-settings-card__desc p {
	margin: 0;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* ==========================================================================
   Field Rows
   ========================================================================== */

.wsscd-settings-field {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	gap: 16px;
}

.wsscd-settings-field + .wsscd-settings-field {
	border-top: 1px solid var(--wsscd-color-surface-dark, #f0f0f1);
}

.wsscd-settings-field__left {
	flex: 1;
	min-width: 0;
}

.wsscd-settings-field__label {
	font-size: var(--wsscd-font-size-base);
	font-weight: 600;
	color: var(--wsscd-color-text, #1d2327);
	display: flex;
	align-items: center;
	gap: 4px;
	cursor: default;
}

/* Tooltip icon after label */
.wsscd-settings-field__label .wsscd-field-helper {
	vertical-align: middle;
}

.wsscd-settings-field__right {
	flex-shrink: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
	max-width: 320px;
}

/* When the right column has descriptions, stack vertically */
.wsscd-settings-field__right p.description {
	width: 100%;
	margin: 4px 0 0;
	font-size: var(--wsscd-font-size-small);
	line-height: 1.5;
	color: var(--wsscd-color-text-muted, #646970);
}

.wsscd-settings-field__right .description {
	font-size: var(--wsscd-font-size-small);
	color: var(--wsscd-color-text-muted, #646970);
}

/* Trash status and other complex field outputs */
.wsscd-settings-field__right .wsscd-trash-status {
	width: 100%;
}

/* ==========================================================================
   Nudge Scope Checkboxes
   ========================================================================== */

.wsscd-nudge-scope-fieldset {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 0;
	padding: 0;
	border: 0;
}

/* Vertically centre each checkbox with its label text. */
.wsscd-nudge-scope-option {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}

/* ==========================================================================
   Form Inputs (scoped to settings)
   ========================================================================== */

.wsscd-settings-form input[type="text"].regular-text,
.wsscd-settings-form input[type="email"].regular-text,
.wsscd-settings-form input[type="url"].regular-text,
.wsscd-settings-form input[type="password"].regular-text,
.wsscd-settings-form input[type="number"].small-text,
.wsscd-settings-form select.regular-text {
	padding: 6px 10px;
	border: 1px solid var(--wsscd-color-border, #c3c4c7);
	border-radius: var(--wsscd-radius-md, 8px);
	font-size: var(--wsscd-font-size-base);
	color: var(--wsscd-color-text, #1d2327);
}

.wsscd-settings-form input[type="text"].regular-text:focus,
.wsscd-settings-form input[type="number"].small-text:focus,
.wsscd-settings-form select.regular-text:focus {
	border-color: var(--wsscd-color-primary);
	outline: none;
}

.wsscd-settings-form input[type="number"].small-text {
	width: 70px;
	text-align: center;
}

.wsscd-settings-form select {
	padding-right: 28px;
	cursor: pointer;
	max-width: 100%;
}

/* ==========================================================================
   Toggle Switch — Base styles in shared/_forms.css
   ========================================================================== */

/* ==========================================================================
   Tooltips
   ========================================================================== */

.wsscd-settings-form .wsscd-field-helper:hover .wsscd-icon {
	color: var(--wsscd-color-primary);
	fill: var(--wsscd-color-primary);
	opacity: 1;
}

/* ==========================================================================
   Admin Notices — Settings-specific tinted backgrounds
   ==========================================================================
   Base layout (margin/border-radius/border-left-width) lives in
   shared/_components.css. Below adds the soft tinted backgrounds that are
   unique to the settings page.
   ========================================================================== */

.wsscd-settings .notice-success { background-color: rgba(0, 163, 42, 0.05); }
.wsscd-settings .notice-error   { background-color: rgba(214, 54, 56, 0.05); }
.wsscd-settings .notice-warning { background-color: rgba(219, 166, 23, 0.05); }
.wsscd-settings .notice-info    { background-color: rgba(114, 174, 230, 0.1); }

/* ==========================================================================
   Trash Status
   ========================================================================== */

.wsscd-trash-status {
	display: flex;
	flex-direction: column;
	gap: var(--wsscd-spacing-sm, 8px);
}

.wsscd-trash-count {
	font-size: var(--wsscd-font-size-base);
	color: var(--wsscd-color-text, #1d2327);
}

.wsscd-trash-empty {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-weight: 600;
	color: var(--wsscd-color-success, #00a32a);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media screen and (max-width: 960px) {
	.wsscd-settings-grid {
		column-count: 1;
	}
}

@media screen and (max-width: 782px) {
	.wsscd-settings-card__body {
		padding: 16px;
	}

	.wsscd-settings-field {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

@media screen and (max-width: 600px) {
	.wsscd-settings-grid {
		column-count: 1;
	}

	.wsscd-settings-field__right {
		max-width: none;
	}
}
