/**
 * SparkCommerce frontend styles.
 *
 * Typography uses the active theme's fonts with a system-font fallback stack
 * (see --spc-font / --spc-head-font below). No remote fonts are loaded, so the
 * plugin makes no third-party requests and stays privacy-friendly. A theme or
 * site that already provides "Plus Jakarta Sans" / "Fraunces" will use them
 * automatically; otherwise the native UI/serif fallbacks apply.
 */

/* ----------------------------------------------------------------------------
 * Design tokens — shared across all shortcodes & templates
 * ------------------------------------------------------------------------- */
.spc-quote-form-wrap,
.spc-bulk-catalog-wrap,
.spc-quote-view,
.spc-deals-wrap,
.spc-showcase,
.spc-slider,
.spc-popup-overlay,
.spc-countdown,
.spc-badge,
.spc-notice {
	--spc-font: 'Plus Jakarta Sans', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--spc-head-font: 'Fraunces', Georgia, 'Times New Roman', serif;
	--spc-accent: #10b981;
	--spc-accent-2: #047857;
	--spc-on-accent: #ffffff;
	--spc-grad: linear-gradient( 135deg, #10b981 0%, #059669 55%, #047857 100% );
	--spc-surface: #ffffff;
	--spc-surface-2: #f5f7f6;
	--spc-text: #111111;
	--spc-muted: #6b7280;
	--spc-border: #d1fae5;
	--spc-sale: #ef4444;
	--spc-price: #047857;
	--spc-radius: 16px;
	--spc-radius-sm: 10px;
	--spc-shadow: 0 1px 3px rgba( 16, 40, 32, .06 ), 0 4px 14px rgba( 16, 40, 32, .05 );
	--spc-shadow-lg: 0 14px 30px rgba( 16, 40, 32, .12 );
	--spc-ease: cubic-bezier( .22, 1, .36, 1 );
	font-family: var( --spc-font );
	color: var( --spc-text );
}

.spc-badge {
	display: inline-block;
	background: var( --spc-grad );
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	padding: 5px 10px;
	border-radius: 30px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	z-index: 2;
	box-shadow: 0 3px 8px rgba( 16, 185, 129, .28 );
}

.woocommerce ul.products li.product .spc-badge,
.spc-loop-badge .spc-badge {
	position: absolute;
	top: 8px;
	left: 8px;
}

.spc-countdown {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 14px 0;
	padding: 12px 18px;
	background: #ecfdf5;
	border: 1.5px solid var( --spc-border );
	border-radius: 40px;
	font-size: 14px;
}
.spc-countdown__label {
	font-weight: 600;
	color: var( --spc-accent-2 );
}
.spc-countdown__timer {
	display: inline-flex;
	gap: 8px;
}
.spc-countdown__unit {
	display: inline-flex;
	align-items: baseline;
	gap: 2px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	padding: 5px 8px;
	border-radius: 8px;
	background: var( --spc-surface );
	box-shadow: 0 1px 3px rgba( 16, 40, 32, .08 );
}
.spc-countdown__unit small {
	font-weight: 500;
	opacity: 0.65;
}

.spc-notice {
	margin: 14px 0;
	padding: 12px 16px;
	border-radius: var( --spc-radius-sm );
	background: #ecfdf5;
	border: 1.5px solid var( --spc-border );
	font-size: 14px;
	line-height: 1.5;
}
.spc-notice--bulk { background: #f0fdf4; border-color: #bbf7d0; }
.spc-notice--bxgy { background: #fffbeb; border-color: #fde68a; }
.spc-notice__tiers {
	margin: 6px 0 0;
	padding-left: 18px;
}
.spc-notice--error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.spc-notice--success { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.spc-notice--warn { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.spc-quote-issues { margin: 8px 0; padding-left: 20px; }
.spc-quote-issues li { margin: 0 0 4px; }

/* Per-line re-validation flags in the quote table. */
.spc-line-flag {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 8px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 700;
	vertical-align: middle;
	white-space: nowrap;
}
.spc-line-flag--unavailable { background: #fef2f2; color: #b91c1c; }
.spc-line-flag--stock { background: #fffbeb; color: #b45309; }
.spc-line-flag--price { background: #eff6ff; color: #1d4ed8; }

/* Per-line action controls on the quote view. */
.spc-line-actions { display: inline-flex; align-items: center; gap: 8px; margin-left: 8px; vertical-align: middle; }
.spc-line-cart__btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 11px;
	border: 1px solid var( --spc-border, #d1fae5 );
	border-radius: 14px;
	background: var( --spc-surface-2, #f0fdf4 );
	color: #047857 !important;
	color: var( --spc-accent-2, #047857 ) !important;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
	text-decoration: none !important;
	transition: background .15s, border-color .15s, color .15s, transform .15s;
}
.spc-line-cart__btn svg { width: 15px; height: 15px; }
.spc-line-cart__btn:hover { background: #047857; color: #fff !important; border-color: transparent; transform: translateY( -1px ); }

/* Adjust-quantity control (shown on stock mismatches). */
.spc-line-adjust { display: inline; margin: 0; }
.spc-line-adjust__btn {
	display: inline-flex;
	align-items: center;
	margin-left: 8px;
	padding: 2px 10px;
	border: 1px solid #fcd34d;
	border-radius: 12px;
	background: #fffbeb;
	color: #b45309;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.spc-line-adjust__btn:hover { background: #b45309; border-color: #b45309; color: #fff; }

/* Cancel-whole-quote control. */
.spc-quote-cancel { display: inline; margin: 0; }
.spc-quote-cancel__btn {
	display: inline-flex;
	align-items: center;
	padding: 11px 18px;
	border: 1px solid #e5c7c7;
	border-radius: var( --spc-radius-sm, 8px );
	background: transparent;
	color: #b91c1c;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s, color .15s, border-color .15s;
}
.spc-quote-cancel__btn:hover { background: #b91c1c; border-color: #b91c1c; color: #fff; }

/* Customer "remove item" control on the quote view. */
.spc-line-remove { display: inline; margin: 0; }
.spc-line-remove__btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 8px;
	padding: 2px 9px;
	border: 1px solid #f3c2c2;
	border-radius: 12px;
	background: #fff5f5;
	color: #b91c1c;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.spc-line-remove__btn:hover { background: #b91c1c; border-color: #b91c1c; color: #fff; }
.spc-quote-doc__edithint {
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: var( --spc-radius-sm );
	background: var( --spc-surface-2 );
	color: var( --spc-muted );
	font-size: 13px;
	line-height: 1.5;
}

/* ----------------------------------------------------------------------------
 * Quote request form
 * ------------------------------------------------------------------------- */
.spc-quote-form-wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 8px 0 32px;
}
.spc-quote-form__title,
.spc-bulk-catalog__title {
	font-family: var( --spc-head-font );
	font-size: clamp( 26px, 3vw, 34px );
	font-weight: 400;
	color: var( --spc-text );
	margin: 0 0 24px;
	line-height: 1.15;
	letter-spacing: -.01em;
}

/* Eye-catching hero band above the quote builder. */
.spc-quote-hero {
	position: relative;
	overflow: hidden;
	border-radius: var( --spc-radius );
	padding: 30px 32px;
	margin: 0 0 24px;
	background: var( --spc-grad );
	color: #fff;
	box-shadow: var( --spc-shadow-lg );
}
.spc-quote-hero::after {
	content: "";
	position: absolute;
	top: -60px;
	right: -40px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: rgba( 255, 255, 255, .12 );
	pointer-events: none;
}
.spc-quote-hero__eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 30px;
	background: rgba( 255, 255, 255, .18 );
	margin-bottom: 12px;
}
.spc-quote-hero .spc-quote-form__title { color: #fff; margin: 0 0 8px; }
.spc-quote-hero__sub { margin: 0; font-size: 15px; line-height: 1.5; max-width: 620px; color: rgba( 255, 255, 255, .92 ); }

/* Two-column builder: browse on the left, live quote summary on the right. */
.spc-quote-grid {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) 380px;
	gap: 24px;
	align-items: start;
}
.spc-quote-col { min-width: 0; }
.spc-quote-col--summary { position: sticky; top: 24px; }

.spc-quote-form fieldset {
	border: 1.5px solid var( --spc-border );
	border-radius: var( --spc-radius );
	padding: 22px 24px;
	margin: 0 0 22px;
	background: var( --spc-surface );
	box-shadow: var( --spc-shadow );
}
.spc-quote-form legend {
	font-weight: 700;
	font-size: 15px;
	padding: 0 8px;
	color: var( --spc-accent-2 );
}

/* Summary card wraps the live selection + customer details + submit. */
.spc-quote-summary-card {
	border: 1.5px solid var( --spc-border );
	border-radius: var( --spc-radius );
	background: var( --spc-surface );
	box-shadow: var( --spc-shadow );
	padding: 20px;
}
.spc-quote-summary-card__hd {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}
.spc-quote-summary-card__hd .spc-selection-title { margin: 0; }
.spc-quote-count {
	font-size: 12px;
	font-weight: 700;
	color: var( --spc-accent-2 );
	background: #ecfdf5;
	border: 1px solid var( --spc-border );
	border-radius: 30px;
	padding: 4px 12px;
	white-space: nowrap;
}
.spc-quote-summary-card .spc-quote-customer {
	border: none;
	box-shadow: none;
	background: transparent;
	padding: 18px 0 0;
	margin: 14px 0 0;
	border-top: 1.5px solid var( --spc-border );
}
.spc-quote-summary-card .spc-quote-customer legend { padding: 0; }
.spc-quote-summary-card .spc-quote-submit { margin-top: 18px; }
.spc-quote-summary-card .spc-quote-submit .spc-button { width: 100%; min-width: 0; }

@media ( max-width: 900px ) {
	.spc-quote-grid { grid-template-columns: 1fr; }
	.spc-quote-col--summary { position: static; }
}

/* Request-a-Quote popup (opened from a single-product button). */
.spc-quote-modal[hidden] { display: none; }
.spc-quote-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 4vh 16px;
	overflow-y: auto;
}
.spc-quote-modal__backdrop {
	position: fixed;
	inset: 0;
	background: rgba( 8, 24, 18, .55 );
	backdrop-filter: blur( 3px );
}
.spc-quote-modal__panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1120px;
	margin: auto;
	background: var( --spc-surface );
	border-radius: var( --spc-radius );
	box-shadow: var( --spc-shadow-lg );
	padding: 22px clamp( 16px, 3vw, 30px ) 28px;
	animation: spc-quote-pop .25s var( --spc-ease );
}
@keyframes spc-quote-pop {
	from { opacity: 0; transform: translateY( 14px ) scale( .985 ); }
	to   { opacity: 1; transform: none; }
}
.spc-quote-modal__panel .spc-quote-form-wrap { padding: 0; }
.spc-quote-modal__close {
	position: absolute;
	top: 12px;
	right: 14px;
	z-index: 2;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: none;
	background: #ecfdf5;
	color: var( --spc-accent-2 );
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s, color .2s, transform .2s;
}
.spc-quote-modal__close:hover {
	background: var( --spc-grad );
	color: #fff;
	transform: rotate( 90deg );
}
html.spc-quote-modal-open { overflow: hidden; }
.spc-product-search-box { position: relative; margin-bottom: 14px; }
.spc-product-search-input {
	width: 100%;
	padding: 12px 16px;
	border: 2px solid var( --spc-border );
	border-radius: 40px;
	box-sizing: border-box;
	font-family: var( --spc-font );
	font-size: 14px;
	color: var( --spc-text );
	background: var( --spc-surface-2 );
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.spc-product-search-input:focus {
	outline: none;
	border-color: var( --spc-accent );
	background: var( --spc-surface );
	box-shadow: 0 0 0 4px rgba( 16, 185, 129, .12 );
}
.spc-search-results {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	position: absolute;
	z-index: 50;
	left: 0;
	right: 0;
	background: var( --spc-surface );
	border: 1.5px solid var( --spc-border );
	border-radius: var( --spc-radius-sm );
	max-height: 280px;
	overflow-y: auto;
	display: none;
	box-shadow: var( --spc-shadow-lg );
}
.spc-search-results.is-open { display: block; }
.spc-search-item, .spc-search-empty { padding: 11px 14px; cursor: pointer; font-size: 14px; }
.spc-search-item:hover { background: #ecfdf5; }
.spc-search-item small, .spc-search-results small { color: var( --spc-muted ); }
.spc-search-empty { color: var( --spc-muted ); cursor: default; }

.spc-product-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
}
.spc-product-filter .spc-product-search-input { flex: 1 1 240px; width: auto; }
.spc-product-category {
	flex: 0 1 260px;
	padding: 12px 16px;
	border: 2px solid var( --spc-border );
	border-radius: 40px;
	background: var( --spc-surface-2 );
	font-family: var( --spc-font );
	font-size: 14px;
	color: var( --spc-text );
	cursor: pointer;
	transition: border-color .2s, box-shadow .2s;
}
.spc-product-category:focus {
	outline: none;
	border-color: var( --spc-accent );
	box-shadow: 0 0 0 4px rgba( 16, 185, 129, .12 );
}

.spc-product-results {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 170px, 1fr ) );
	gap: 16px;
	margin-bottom: 22px;
	max-height: 480px;
	overflow-y: auto;
	padding: 4px;
}
.spc-result-card {
	border: 1.5px solid var( --spc-border );
	border-radius: var( --spc-radius );
	padding: 14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: var( --spc-surface );
	transition: transform .25s var( --spc-ease ), box-shadow .25s, border-color .25s;
}
.spc-result-card:hover {
	transform: translateY( -4px );
	box-shadow: var( --spc-shadow-lg );
	border-color: var( --spc-accent );
}
.spc-result-img {
	width: 88px;
	height: 88px;
	object-fit: contain;
	border-radius: var( --spc-radius-sm );
	background: var( --spc-surface-2 );
	display: block;
	padding: 6px;
}
.spc-result-img--ph { background: repeating-linear-gradient( 45deg, #f5f7f6, #f5f7f6 8px, #ecfdf5 8px, #ecfdf5 16px ); }
.spc-result-name { font-weight: 600; font-size: 14px; margin: 10px 0 4px; line-height: 1.35; color: var( --spc-text ); }
.spc-result-price { font-family: var( --spc-head-font ); font-size: 16px; color: var( --spc-price ); margin-bottom: 10px; }
.spc-result-bulk { font-size: 12px; color: var( --spc-accent-2 ); margin: -4px 0 8px; font-weight: 600; }
.spc-add-product {
	margin-top: auto;
	cursor: pointer;
	padding: 9px 16px;
	border-radius: 40px;
	border: 1.5px solid var( --spc-border );
	background: #ecfdf5;
	color: var( --spc-accent-2 );
	font-weight: 700;
	font-size: 12px;
	transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.spc-add-product:hover,
.spc-add-product.is-added {
	background: var( --spc-grad );
	color: #fff;
	border-color: transparent;
	transform: translateY( -1px );
}
.spc-result-loading, .spc-result-empty {
	grid-column: 1 / -1;
	padding: 28px;
	text-align: center;
	color: var( --spc-muted );
}
.spc-badge--bulk { background: #ecfdf5; color: var( --spc-accent-2 ); border: 1px solid var( --spc-border ); box-shadow: none; }
.spc-selection-title { margin: 8px 0 12px; font-weight: 700; font-size: 15px; color: var( --spc-text ); }

.spc-quote-lines { width: 100%; border-collapse: collapse; }
.spc-quote-lines th, .spc-quote-lines td {
	text-align: left;
	padding: 10px 8px;
	border-bottom: 1px solid var( --spc-border );
	vertical-align: middle;
}
.spc-quote-lines th { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var( --spc-muted ); }
.spc-quote-lines .spc-empty-row td { color: var( --spc-muted ); font-style: italic; }
.spc-quote-lines input.spc-qty {
	width: 84px;
	padding: 8px 10px;
	border: 2px solid var( --spc-border );
	border-radius: var( --spc-radius-sm );
	font-family: var( --spc-font );
}
.spc-remove-line {
	background: none;
	border: none;
	color: var( --spc-sale );
	cursor: pointer;
	font-weight: 600;
	font-size: 13px;
	text-decoration: underline;
}

.spc-field { margin: 0 0 14px; }
.spc-field label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.spc-field input, .spc-field textarea {
	width: 100%;
	padding: 11px 14px;
	border: 2px solid var( --spc-border );
	border-radius: var( --spc-radius-sm );
	box-sizing: border-box;
	font-family: var( --spc-font );
	font-size: 14px;
	transition: border-color .2s, box-shadow .2s;
}
.spc-field input:focus, .spc-field textarea:focus {
	outline: none;
	border-color: var( --spc-accent );
	box-shadow: 0 0 0 4px rgba( 16, 185, 129, .12 );
}
.spc-field .required { color: var( --spc-sale ); }
.spc-button,
.spc-quote-form .button,
.spc-bulk-card__buy .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 26px;
	border-radius: 40px;
	cursor: pointer;
	font-family: var( --spc-font, 'Plus Jakarta Sans', system-ui, sans-serif );
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	/* Explicit fallback colour so the button is never invisible even if the
	   CSS custom properties are unavailable or a theme resets buttons. */
	background: #059669 !important;
	background: var( --spc-grad, linear-gradient( 135deg, #10b981 0%, #059669 55%, #047857 100% ) ) !important;
	color: #fff !important;
	border: none !important;
	box-shadow: 0 6px 16px rgba( 16, 185, 129, .28 );
	transition: transform .2s var( --spc-ease ), box-shadow .2s;
}
.spc-button:hover,
.spc-quote-form .button:hover,
.spc-bulk-card__buy .button:hover {
	transform: translateY( -2px );
	box-shadow: 0 12px 26px rgba( 16, 185, 129, .34 );
	color: #fff !important;
}
.spc-button--pay { background: #059669 !important; background: var( --spc-grad, linear-gradient( 135deg, #10b981 0%, #059669 55%, #047857 100% ) ) !important; }

/* "Request a Quote" button shown on single product pages (after Add to cart). */
.spc-quote-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0 0;
	padding: 12px 24px;
	border-radius: 40px;
	font-family: var( --spc-font, 'Plus Jakarta Sans', system-ui, sans-serif );
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	text-decoration: none !important;
	background: #ffffff !important;
	color: #047857 !important;
	color: var( --spc-accent-2, #047857 ) !important;
	border: 2px solid var( --spc-accent, #10b981 ) !important;
	cursor: pointer;
	transition: transform .2s var( --spc-ease, ease ), background .2s, color .2s;
}
.spc-quote-btn svg { flex: 0 0 auto; }
.spc-quote-btn:hover,
.spc-quote-btn:focus {
	background: #047857 !important;
	background: var( --spc-grad, linear-gradient( 135deg, #10b981 0%, #059669 55%, #047857 100% ) ) !important;
	color: #fff !important;
	border-color: transparent !important;
	transform: translateY( -2px );
}
.spc-button--ghost,
.spc-button--cart {
	background: #ffffff !important;
	color: #047857 !important;
	color: var( --spc-accent-2, #047857 ) !important;
	border: 2px solid var( --spc-accent, #10b981 ) !important;
	box-shadow: none;
}
.spc-button--ghost:hover,
.spc-button--cart:hover {
	background: #047857 !important;
	color: #fff !important;
	border-color: transparent !important;
}
.spc-quote-submit {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin: 26px 0 0;
	padding-top: 22px;
	border-top: 1.5px solid var( --spc-border );
}
.spc-quote-submit .spc-button { min-width: 210px; justify-content: center; }
@media ( max-width: 560px ) {
	.spc-quote-submit { flex-direction: column; }
	.spc-quote-submit .spc-button { width: 100%; min-width: 0; }
}
.spc-quote-paynote {
	margin: 0 0 22px;
	color: var( --spc-muted );
	font-size: 13px;
	line-height: 1.5;
}

/* ----------------------------------------------------------------------------
 * Quote view (printable)
 * ------------------------------------------------------------------------- */
.spc-quote-view { max-width: 860px; margin: 0 auto; padding: 8px 0 32px; }
.spc-quote-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.spc-quote-doc {
	border: 1.5px solid var( --spc-border );
	border-radius: var( --spc-radius );
	padding: 32px;
	background: var( --spc-surface );
	box-shadow: var( --spc-shadow );
}
.spc-quote-doc__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	border-bottom: 2px solid var( --spc-accent-2 );
	padding-bottom: 14px;
	margin-bottom: 22px;
}
.spc-quote-doc__title { margin: 0; font-family: var( --spc-head-font ); font-size: 28px; font-weight: 400; }
.spc-quote-doc__brand { font-size: 18px; font-weight: 700; color: var( --spc-accent-2 ); text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.spc-quote-doc__logo { max-height: 54px; width: auto; display: block; }
.spc-quote-doc__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 20px;
	font-size: 14px;
}
.spc-quote-doc__meta strong { display: block; color: var( --spc-muted ); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.spc-quote-doc__customer { margin-bottom: 22px; line-height: 1.55; }
.spc-quote-doc__customer strong { display: block; color: var( --spc-muted ); margin-bottom: 4px; }
.spc-quote-doc__table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
.spc-quote-doc__table th, .spc-quote-doc__table td {
	padding: 11px 10px;
	border-bottom: 1px solid var( --spc-border );
	text-align: left;
}
.spc-quote-doc__table th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var( --spc-muted ); }
.spc-quote-doc__table .spc-num { text-align: right; }
.spc-quote-doc__table del { color: var( --spc-muted ); }
.spc-quote-doc__total th, .spc-quote-doc__total td {
	font-family: var( --spc-head-font );
	font-size: 18px;
	font-weight: 600;
	border-top: 2px solid var( --spc-accent-2 );
	color: var( --spc-price );
}
.spc-quote-doc__note, .spc-quote-doc__terms {
	margin-top: 20px;
	font-size: 13px;
	color: var( --spc-muted );
	line-height: 1.55;
}

/* Receipt variant: PAID stamp on paid quotes. */
.spc-quote-doc__header { position: relative; }
.spc-quote-doc__paid-stamp {
	position: absolute;
	right: 0;
	top: -6px;
	transform: rotate( -8deg );
	padding: 4px 16px;
	border: 3px solid #16a34a;
	border-radius: 6px;
	color: #16a34a;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	opacity: .85;
	pointer-events: none;
}
.spc-quote-view--receipt .spc-quote-doc__brand { margin-right: 130px; }

/* ----------------------------------------------------------------------------
 * Quote lookup (pay by order number)
 * ------------------------------------------------------------------------- */
.spc-quote-lookup {
	max-width: 480px;
	margin: 0 auto;
	padding: 8px 0 32px;
}
.spc-quote-lookup__title {
	font-family: var( --spc-head-font );
	font-size: clamp( 26px, 3vw, 34px );
	font-weight: 400;
	color: var( --spc-text );
	margin: 0 0 10px;
	line-height: 1.15;
}
.spc-quote-lookup__intro { color: var( --spc-muted ); font-size: 14px; margin: 0 0 18px; line-height: 1.55; }
.spc-quote-lookup__form {
	border: 1.5px solid var( --spc-border );
	border-radius: var( --spc-radius );
	padding: 22px 24px;
	background: var( --spc-surface );
	box-shadow: var( --spc-shadow );
}
.spc-quote-lookup__field { margin: 0 0 16px; }
.spc-quote-lookup__field label {
	display: block;
	font-weight: 600;
	font-size: 13px;
	margin-bottom: 6px;
	color: var( --spc-text );
}
.spc-quote-lookup__field input {
	width: 100%;
	padding: 11px 14px;
	border: 2px solid var( --spc-border );
	border-radius: var( --spc-radius-sm );
	box-sizing: border-box;
	font-family: var( --spc-font );
	font-size: 15px;
	color: var( --spc-text );
	background: var( --spc-surface-2 );
	transition: border-color .2s, box-shadow .2s;
}
.spc-quote-lookup__field input:focus {
	outline: none;
	border-color: var( --spc-accent );
}
.spc-quote-lookup__submit { margin: 4px 0 0; display: flex; flex-direction: column; gap: 10px; }
.spc-quote-lookup__submit .spc-button { width: 100%; }
.spc-quote-lookup__hint { margin: 12px 0 0; font-size: 12px; color: var( --spc-muted, #6b7280 ); line-height: 1.5; }

/* ----------------------------------------------------------------------------
 * Bulk / wholesale catalog
 * ------------------------------------------------------------------------- */
.spc-bulk-catalog-wrap { max-width: 1200px; margin: 0 auto; padding: 8px 0 32px; }
/* Bulk catalog filter bar — modern, on-brand controls. */
.spc-bulk-filter {
	margin-bottom: 22px;
	align-items: center;
	padding: 12px;
	background: var( --spc-surface, #fff );
	border: 1px solid var( --spc-border, #d1fae5 );
	border-radius: var( --spc-radius, 16px );
	box-shadow: var( --spc-shadow, 0 1px 3px rgba( 16, 40, 32, .06 ) );
}
.spc-bulk-filter__field { display: inline-flex; align-items: center; }
.spc-bulk-filter__search { position: relative; flex: 1 1 240px; }
.spc-bulk-filter__search .spc-product-search-input { width: 100%; padding-left: 40px; }
.spc-bulk-filter__icon {
	position: absolute;
	left: 15px;
	width: 16px;
	height: 16px;
	stroke: var( --spc-muted, #6b7280 );
	stroke-width: 2;
	fill: none;
	pointer-events: none;
}
.spc-bulk-filter #spc-bulk-category,
.spc-bulk-filter #spc-bulk-discount { margin: 0; flex: 0 0 auto; }
.spc-bulk-filter__qty {
	gap: 8px;
	padding: 4px 6px 4px 14px;
	border: 2px solid var( --spc-border, #d1fae5 );
	border-radius: 40px;
	background: var( --spc-surface-2, #f5f7f6 );
	font-size: 13px;
	font-weight: 600;
	color: var( --spc-text, #111 );
}
.spc-bulk-filter__qty label { white-space: nowrap; }
.spc-bulk-filter__qty input {
	width: 64px;
	padding: 8px 10px;
	border: 1px solid var( --spc-border, #d1fae5 );
	border-radius: 30px;
	background: #fff;
	font: inherit;
	text-align: center;
}
.spc-bulk-filter__qty-suffix { color: var( --spc-muted, #6b7280 ); font-weight: 500; }
@media ( max-width: 600px ) {
	.spc-bulk-filter__field,
	.spc-bulk-filter__search { flex: 1 1 100%; }
	.spc-bulk-filter #spc-bulk-category,
	.spc-bulk-filter #spc-bulk-discount { flex: 1 1 100%; width: 100%; }
}
.spc-bulk-catalog {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 250px, 1fr ) );
	gap: 16px;
}
@media ( max-width: 600px ) {
	.spc-bulk-catalog { grid-template-columns: repeat( 2, 1fr ); gap: 12px; }
	.spc-bulk-card { padding: 12px; }
}
.spc-bulk-card {
	border: 1.5px solid var( --spc-border );
	border-radius: var( --spc-radius );
	padding: 18px;
	display: flex;
	flex-direction: column;
	background: var( --spc-surface );
	box-shadow: var( --spc-shadow );
	transition: transform .28s var( --spc-ease ), box-shadow .28s, border-color .28s;
}
.spc-bulk-card:hover {
	transform: translateY( -5px );
	box-shadow: var( --spc-shadow-lg );
	border-color: var( --spc-accent );
}
.spc-bulk-card__image { position: relative; display: block; margin-bottom: 12px; border-radius: var( --spc-radius-sm ); overflow: hidden; background: #fff; aspect-ratio: 1 / 1; }
.spc-bulk-card__badge {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2;
	padding: 4px 10px;
	border-radius: 20px;
	background: #ef4444;
	background: var( --spc-sale, #ef4444 );
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .02em;
	box-shadow: 0 3px 8px rgba( 239, 68, 68, .32 );
}
.spc-bulk-card__image img { width: 100%; height: 100%; object-fit: contain; padding: 8px; box-sizing: border-box; display: block; }
.spc-bulk-card__name { font-weight: 600; font-size: 15px; margin: 0 0 6px; line-height: 1.35; }
.spc-bulk-card__name a { color: var( --spc-text ); text-decoration: none; }
.spc-bulk-card__name a:hover { color: var( --spc-accent ); }
.spc-bulk-card__qtybadge {
	display: inline-block;
	margin-bottom: 4px;
	padding: 2px 10px;
	border-radius: 20px;
	background: var( --spc-surface-2, #f0fdf4 );
	color: var( --spc-accent-2, #047857 );
	font-family: var( --spc-font );
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .02em;
}
.spc-bulk-card__total { display: block; font-family: var( --spc-head-font ); font-size: 20px; font-weight: 800; color: var( --spc-price ); line-height: 1.1; }
.spc-bulk-card__perunit { display: block; margin-top: 3px; font-family: var( --spc-font ); font-size: 12px; font-weight: 600; color: var( --spc-muted ); }
.spc-bulk-card__base {
	font-family: var( --spc-head-font );
	font-size: 18px;
	color: var( --spc-price );
	margin-bottom: 10px;
}
.spc-bulk-tiers { width: 100%; border-collapse: collapse; font-size: 13px; margin: 8px 0 12px; }
.spc-bulk-tiers th, .spc-bulk-tiers td { padding: 7px 8px; border-bottom: 1px solid var( --spc-border ); text-align: left; }
.spc-bulk-tiers th { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var( --spc-muted ); }
.spc-bulk-card__buy { margin-top: auto; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.spc-bulk-card__buy input {
	width: 76px;
	padding: 9px 10px;
	border: 2px solid var( --spc-border );
	border-radius: var( --spc-radius-sm );
	font-family: var( --spc-font );
}
.spc-bulk-card__preview { font-size: 13px; color: var( --spc-accent-2 ); min-height: 18px; font-weight: 600; }

/* ----------------------------------------------------------------------------
 * Showcase isolation — prevent theme / WP core style bleed
 * ------------------------------------------------------------------------- */
.spc-showcase {
	position: relative;
	isolation: isolate;
}
.spc-showcase .button,
.spc-showcase button,
.spc-showcase input,
.spc-showcase select,
.spc-showcase textarea {
	filter: none;
	opacity: 1;
	text-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.spc-showcase .button,
.spc-showcase button.spc-button,
.spc-showcase .spc-deals-loadmore {
	box-shadow: none;
	text-decoration: none;
	line-height: normal;
	vertical-align: baseline;
}

/* ----------------------------------------------------------------------------
 * Deals hub + grid
 * ------------------------------------------------------------------------- */
.spc-showcase--deals { margin: 0 0 32px; }
.spc-showcase__hero { margin-bottom: 18px; }
.spc-showcase__hero .spc-slider { margin: 0; }
.spc-showcase--deals-hero .spc-showcase__hero .spc-slider,
.cs-deals-page .spc-showcase__hero .spc-slider {
	margin: 0;
	border-radius: 0;
	min-height: clamp( 360px, 54vh, 580px );
}
.cs-deals-page .spc-slide,
.cs-deals-page .spc-slide__panel,
.spc-showcase--deals-hero .spc-slide,
.spc-showcase--deals-hero .spc-slide__panel {
	min-height: clamp( 360px, 54vh, 580px );
}

.spc-deals-wrap { margin: 0; font-family: var( --spc-font ); color: var( --spc-text ); }
.spc-deals-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
	padding: 14px 0;
	position: sticky;
	top: 0;
	z-index: 5;
	background: var( --spc-surface );
	border-bottom: 1px solid transparent;
	transition: border-color .2s, box-shadow .2s;
}
.spc-deals-toolbar.is-stuck {
	border-bottom-color: var( --spc-border );
	box-shadow: 0 8px 24px rgba( 16, 40, 32, .06 );
}
.spc-deals-head { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.spc-deals__title { margin: 0; font-family: var( --spc-head-font ); font-size: clamp( 22px, 2.6vw, 30px ); font-weight: 400; letter-spacing: -.01em; color: var( --spc-text ); }
.spc-deals-filter { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 0; }
.spc-deals-search-wrap { position: relative; display: inline-flex; align-items: center; flex: 1 1 220px; }
.spc-deals-search-icon { position: absolute; left: 14px; width: 16px; height: 16px; stroke: var( --spc-muted ); stroke-width: 2; fill: none; pointer-events: none; }
.spc-deals-wrap .spc-deals-search { width: 100%; flex: 1; min-width: 0; padding: 11px 16px 11px 40px; border: 1.5px solid var( --spc-border ); border-radius: 40px; background: var( --spc-surface ); color: var( --spc-text ); transition: border-color .2s, box-shadow .2s, background .2s; }
.spc-deals-wrap .spc-deals-search:focus { outline: none; border-color: var( --spc-accent ); box-shadow: 0 0 0 4px rgba( 16, 185, 129, .12 ); }
.spc-deals-wrap .spc-deals-category { flex: 0 1 auto; padding: 11px 16px; border: 1.5px solid var( --spc-border ); border-radius: 40px; background: var( --spc-surface ); color: var( --spc-text ); cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.spc-deals-wrap .spc-deals-category:focus { outline: none; border-color: var( --spc-accent ); box-shadow: 0 0 0 4px rgba( 16, 185, 129, .12 ); }

.spc-deals-grid { display: grid; grid-template-columns: repeat( auto-fill, minmax( 190px, 1fr ) ); gap: 16px; }
.spc-deals-wrap[data-columns="2"] .spc-deals-grid { grid-template-columns: repeat( 2, 1fr ); }
.spc-deals-wrap[data-columns="3"] .spc-deals-grid { grid-template-columns: repeat( 3, 1fr ); }
.spc-deals-wrap[data-columns="4"] .spc-deals-grid { grid-template-columns: repeat( 4, 1fr ); }
.spc-deals-wrap[data-columns="5"] .spc-deals-grid { grid-template-columns: repeat( 5, 1fr ); }
.spc-deals-wrap[data-columns="6"] .spc-deals-grid { grid-template-columns: repeat( 6, 1fr ); }

/* Compact marketplace layout */
.spc-deals-wrap[data-layout="compact"] .spc-deals-grid,
.spc-showcase--compact .spc-deals-grid {
	grid-template-columns: repeat( auto-fill, minmax( 165px, 1fr ) );
	gap: 14px;
}
@media ( min-width: 1280px ) {
	.spc-deals-wrap[data-layout="compact"][data-columns="5"] .spc-deals-grid,
	.spc-showcase--compact .spc-deals-wrap[data-columns="5"] .spc-deals-grid {
		grid-template-columns: repeat( 6, 1fr );
	}
}

.spc-deal-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var( --spc-surface );
	border: 1px solid var( --spc-border );
	border-radius: var( --spc-radius );
	overflow: hidden;
	transition: transform .3s var( --spc-ease ), box-shadow .3s var( --spc-ease ), border-color .3s var( --spc-ease );
}
.spc-deal-card:hover { transform: translateY( -6px ); box-shadow: var( --spc-shadow-lg ); border-color: color-mix( in srgb, var( --spc-accent ) 45%, var( --spc-border ) ); }
.spc-deal-card__media { position: relative; overflow: hidden; background: var( --spc-surface-2 ); }
.spc-deal-card__img { display: block; }
.spc-deal-card__img img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; padding: 8px; box-sizing: border-box; background: #fff; display: block; transition: transform .5s var( --spc-ease ); }
.spc-deal-card:hover .spc-deal-card__img img { transform: scale( 1.05 ); }
.spc-deal-card--compact .spc-deal-card__img img { object-fit: contain; padding: 8px; }
.spc-deal-card__noimg { display: block; aspect-ratio: 1 / 1; background: repeating-linear-gradient( 45deg, var( --spc-surface-2 ), var( --spc-surface-2 ) 10px, color-mix( in srgb, var( --spc-surface-2 ) 55%, #d9dbe6 ) 10px, color-mix( in srgb, var( --spc-surface-2 ) 55%, #d9dbe6 ) 20px ); }
.spc-deal-card__info { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px 16px; flex: 1; }
.spc-deal-card--compact .spc-deal-card__info { gap: 6px; padding: 10px 12px 12px; }
.spc-deal-card__name { font-family: var( --spc-head-font ); font-weight: 600; font-size: 15px; line-height: 1.35; margin: 0; }
.spc-deal-card--compact .spc-deal-card__name { font-family: var( --spc-font ); font-size: 13px; line-height: 1.3; }
.spc-deal-card__name a { text-decoration: none; color: var( --spc-text ); }
.spc-deal-card__name a:hover { color: var( --spc-accent ); }
.spc-deal-card__stars { display: flex; align-items: center; gap: 2px; line-height: 1; }
.spc-deal-card__stars .spc-star { width: 14px; height: 14px; color: #d1d5db; }
.spc-deal-card__stars .spc-star--on { color: #f59e0b; }
.spc-deal-card__rcount { margin-left: 4px; font-size: 12px; color: var( --spc-muted ); }
.spc-deal-card__price { display: flex; align-items: baseline; gap: 8px; margin-top: auto; flex-wrap: wrap; }
.spc-deal-card__now { font-family: var( --spc-head-font ); color: var( --spc-price ); font-weight: 800; font-size: 20px; letter-spacing: -.01em; }
.spc-deal-card--compact .spc-deal-card__now { font-size: 17px; }
.spc-deal-card__was { color: var( --spc-muted ); text-decoration: line-through; font-size: 13px; }
.spc-deal-card__cta { display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin-top: 2px; padding: 10px 16px; border-radius: 40px; font-weight: 700; font-size: 13px; text-decoration: none; background: #ecfdf5; color: var( --spc-accent-2 ); border: 1.5px solid var( --spc-border ); transition: transform .2s var( --spc-ease ), box-shadow .2s, background .2s, color .2s, border-color .2s; }
.spc-deal-card__cta:hover { transform: translateY( -2px ); background: var( --spc-grad ); color: var( --spc-on-accent ); border-color: transparent; box-shadow: 0 10px 22px rgba( 16, 185, 129, .28 ); }
.spc-deal-card__cta--link { background: none; border: none; padding: 0; font-size: 12px; font-weight: 700; color: var( --spc-accent ); box-shadow: none; justify-content: flex-start; }
.spc-deal-card__cta--link:hover { transform: none; background: none; color: var( --spc-accent-2 ); box-shadow: none; }
.spc-deal-badge { position: absolute; top: 12px; left: 12px; z-index: 2; background: var( --spc-sale ); color: #fff; font-size: 11px; font-weight: 800; padding: 5px 10px; border-radius: 30px; box-shadow: 0 3px 8px rgba( 239, 68, 68, .32 ); letter-spacing: .02em; }
.spc-deal-card--compact .spc-deal-badge { top: 8px; left: 8px; font-size: 10px; padding: 4px 8px; }
.spc-deals-status { text-align: center; color: var( --spc-muted ); padding: 16px 0; font-size: 14px; }
.spc-deals-more { text-align: center; margin-top: 22px; }
.spc-deals-more .spc-deals-loadmore { background: var( --spc-surface ); color: var( --spc-accent ); border: 1.5px solid color-mix( in srgb, var( --spc-accent ) 40%, var( --spc-border ) ); border-radius: 40px; padding: 12px 30px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s, box-shadow .2s, transform .2s; }
.spc-deals-more .spc-deals-loadmore:hover { background: var( --spc-grad ); color: var( --spc-on-accent ); border-color: transparent; transform: translateY( -2px ); box-shadow: 0 10px 22px rgba( 16, 185, 129, .28 ); }

/* Storefront layout — theme cs-pcard grid (styles live in theme home.php) */
.spc-showcase--storefront.spc-showcase--deals { margin: 0; }
.spc-showcase--storefront .spc-deals-wrap[data-layout="storefront"] .spc-deals-grid.cs-pgrid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 220px, 1fr ) );
	gap: 18px;
}
.spc-showcase--storefront .spc-deals-wrap[data-columns="2"] .spc-deals-grid { grid-template-columns: repeat( 2, 1fr ); }
.spc-showcase--storefront .spc-deals-wrap[data-columns="3"] .spc-deals-grid { grid-template-columns: repeat( 3, 1fr ); }
.spc-showcase--storefront .spc-deals-wrap[data-columns="4"] .spc-deals-grid { grid-template-columns: repeat( 4, 1fr ); }
.spc-showcase--storefront .spc-deals-wrap[data-columns="5"] .spc-deals-grid { grid-template-columns: repeat( 5, 1fr ); }
.spc-showcase--storefront .spc-deals-wrap[data-columns="6"] .spc-deals-grid { grid-template-columns: repeat( 6, 1fr ); }
.spc-showcase--storefront .spc-deals__title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: clamp( 22px, 2.6vw, 30px );
	font-weight: 400;
	color: #000;
}
.spc-skin-glass .spc-deals-toolbar {
	background: rgba( 255, 255, 255, .88 );
	backdrop-filter: blur( 10px );
	-webkit-backdrop-filter: blur( 10px );
}

/* ----------------------------------------------------------------------------
 * Promo slider — editorial hero (Takealot / Amazon inspired)
 * ------------------------------------------------------------------------- */
.spc-slider {
	position: relative;
	margin: 28px 0;
	font-family: var( --spc-font );
	border-radius: var( --spc-radius );
	overflow: hidden;
	box-shadow: var( --spc-shadow-lg );
	background: #0f1f1a;
}
.spc-slider::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var( --spc-grad );
	z-index: 6;
}

.spc-slider__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.spc-slider__track::-webkit-scrollbar { display: none; }

.spc-slide {
	position: relative;
	flex: 0 0 100%;
	scroll-snap-align: start;
	min-height: 420px;
	background: #0f1f1a;
	overflow: hidden;
	display: flex;
	align-items: stretch;
}

.spc-slide__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 7s cubic-bezier( .25, .46, .45, .94 );
	transform: scale( 1 );
}
.spc-slide.is-active .spc-slide__img { transform: scale( 1.06 ); }

.spc-slide__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		90deg,
		rgba( 4, 17, 12, .88 ) 0%,
		rgba( 4, 17, 12, .55 ) 42%,
		rgba( 4, 17, 12, .12 ) 72%,
		rgba( 4, 17, 12, .05 ) 100%
	);
}

.spc-slide__panel {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 420px;
	padding: 40px 48px;
}

.spc-slide__content {
	max-width: 560px;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.spc-slide__tag {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: 30px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: var( --spc-sale );
	color: #fff;
	box-shadow: 0 4px 12px rgba( 239, 68, 68, .35 );
}

.spc-slide__discount {
	font-family: var( --spc-head-font );
	font-size: clamp( 42px, 6vw, 72px );
	font-weight: 600;
	letter-spacing: -.03em;
	line-height: 1;
	color: #fff;
	text-shadow: 0 4px 24px rgba( 0, 0, 0, .25 );
}

.spc-slide__headline {
	margin: 0;
	font-family: var( --spc-head-font );
	font-size: clamp( 22px, 3vw, 34px );
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -.015em;
	color: #fff;
}

.spc-slide__subtitle {
	margin: 0;
	font-size: clamp( 14px, 1.5vw, 17px );
	line-height: 1.55;
	color: rgba( 255, 255, 255, .88 );
	max-width: 48ch;
}

.spc-slide__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 8px;
}

.spc-slide__countdown {
	margin: 0;
	padding: 8px 14px;
	border-radius: 30px;
	background: rgba( 255, 255, 255, .12 );
	border: 1px solid rgba( 255, 255, 255, .18 );
	color: #fff;
	font-size: 12px;
}
.spc-slide__countdown .spc-countdown__label { color: rgba( 255, 255, 255, .8 ); font-size: 11px; }
.spc-slide__countdown .spc-countdown__unit {
	background: rgba( 255, 255, 255, .14 );
	color: #fff;
	box-shadow: none;
	border-radius: 8px;
	padding: 5px 8px;
	font-size: 13px;
	min-width: auto;
}

.spc-slider .spc-slide__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 26px;
	border-radius: 40px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	background: #fff;
	color: var( --spc-accent-2 );
	border: none;
	white-space: nowrap;
	box-shadow: 0 10px 24px rgba( 0, 0, 0, .22 );
	transition: transform .2s var( --spc-ease ), box-shadow .2s var( --spc-ease );
}
.spc-slider .spc-slide__btn:hover {
	transform: translateY( -2px );
	box-shadow: 0 14px 30px rgba( 0, 0, 0, .28 );
	color: var( --spc-accent-2 );
}

.spc-slider__progress {
	position: absolute;
	top: 4px;
	left: 0;
	right: 0;
	height: 3px;
	background: rgba( 255, 255, 255, .15 );
	z-index: 7;
}
.spc-slider__progress-bar {
	height: 100%;
	background: #fff;
	transform-origin: left;
	transform: scaleX( 0 );
	will-change: transform;
}

.spc-slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY( -50% );
	border: none;
	background: rgba( 255, 255, 255, .92 );
	color: #14161c;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 5;
	box-shadow: 0 6px 18px rgba( 0, 0, 0, .22 );
	transition: background .18s, transform .18s var( --spc-ease ), box-shadow .18s;
}
.spc-slider__nav:hover {
	background: #fff;
	transform: translateY( -50% ) scale( 1.08 );
	box-shadow: 0 10px 24px rgba( 0, 0, 0, .28 );
}
.spc-slider__prev { left: 16px; }
.spc-slider__next { right: 16px; }

.spc-slider__footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 12px;
	position: relative;
	padding: 0 4px;
}
.spc-slider__dots { display: flex; gap: 6px; align-items: center; }
.spc-slider__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	border: none;
	background: color-mix( in srgb, var( --spc-accent ) 25%, #d4d6e2 );
	cursor: pointer;
	padding: 0;
	transition: width .28s var( --spc-ease ), background .28s, border-radius .28s;
}
.spc-slider__dot.is-active {
	background: var( --spc-accent );
	width: 24px;
	border-radius: 4px;
}
.spc-slider__counter {
	position: absolute;
	right: 0;
	font-size: 12px;
	font-weight: 600;
	color: var( --spc-muted );
	pointer-events: none;
}

@media ( max-width: 768px ) {
	.spc-slide,
	.spc-slide__panel { min-height: 300px; }
	.spc-slide__panel { padding: 28px 24px; align-items: flex-end; }
	.spc-slide__scrim {
		background: linear-gradient(
			to top,
			rgba( 4, 17, 12, .92 ) 0%,
			rgba( 4, 17, 12, .45 ) 55%,
			rgba( 4, 17, 12, .08 ) 100%
		);
	}
	.spc-slider__nav { width: 40px; height: 40px; }
}

/* ----------------------------------------------------------------------------
 * Promo popup modal — split-panel (Shein / Temu style) with promo code
 * ------------------------------------------------------------------------- */
body.spc-popup-open { overflow: hidden; }

.spc-popup-overlay {
	position: fixed;
	inset: 0;
	background: rgba( 8, 9, 16, .65 );
	backdrop-filter: blur( 6px );
	-webkit-backdrop-filter: blur( 6px );
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	padding: 20px;
	font-family: var( --spc-font );
}
.spc-popup-overlay.is-open {
	display: flex;
	animation: spc-overlay-in .28s ease;
}
.spc-popup-overlay[hidden] { display: none !important; }
.spc-popup-overlay.is-open[hidden] { display: none !important; }
@keyframes spc-overlay-in { from { opacity: 0; } to { opacity: 1; } }

.spc-popup {
	position: relative;
	background: var( --spc-surface );
	color: var( --spc-text );
	border-radius: var( --spc-radius );
	max-width: 480px;
	width: 100%;
	overflow: hidden;
	box-shadow: var( --spc-shadow-lg );
	animation: spc-popup-in .34s var( --spc-ease );
}
@keyframes spc-popup-in { from { opacity: 0; transform: translateY( 28px ) scale( .94 ); } to { opacity: 1; transform: none; } }

/* Split layout: image panel left, content right */
.spc-popup--split {
	display: flex;
	max-width: 700px;
}
.spc-popup--split .spc-popup__media {
	flex: 0 0 44%;
	position: relative;
	overflow: hidden;
}
.spc-popup--split .spc-popup__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* Discount badge overlaid on the image */
.spc-popup__media-badge {
	position: absolute;
	top: 18px;
	left: -6px;
	background: var( --spc-sale );
	color: #fff;
	font-weight: 900;
	font-size: 15px;
	letter-spacing: -.01em;
	padding: 8px 16px 8px 14px;
	border-radius: 0 30px 30px 0;
	box-shadow: 0 4px 14px rgba( 0, 0, 0, .28 );
}

/* Single-image (non-split) layout */
.spc-popup:not( .spc-popup--split ) .spc-popup__media img {
	width: 100%;
	height: auto;
	display: block;
	max-height: 240px;
	object-fit: cover;
}

.spc-popup__close {
	position: absolute;
	top: 12px;
	right: 12px;
	border: none;
	background: rgba( 255, 255, 255, .92 );
	color: #14161c;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 30;
	pointer-events: auto;
	box-shadow: 0 4px 14px rgba( 0, 0, 0, .22 );
	transition: transform .22s var( --spc-ease ), background .2s;
	-webkit-appearance: none;
	appearance: none;
}
.spc-popup__close:hover { transform: rotate( 90deg ); background: #fff; }
.spc-popup--split .spc-popup__close {
	background: rgba( 20, 22, 28, .72 );
	color: #fff;
}
.spc-popup--split .spc-popup__close:hover { background: rgba( 20, 22, 28, .9 ); }

.spc-popup__body {
	padding: 32px 30px 34px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
	min-width: 0;
}

/* Tag badge inside body */
.spc-popup__tag {
	display: inline-block;
	margin-bottom: 12px;
	padding: 4px 12px;
	border-radius: 30px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	background: var( --spc-sale );
	color: #fff;
}

.spc-popup__headline {
	margin: 0 0 10px;
	font-family: var( --spc-head-font );
	font-size: clamp( 20px, 2.8vw, 27px );
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.2;
	color: var( --spc-text );
}
.spc-popup__subtitle { margin: 0 0 18px; color: var( --spc-muted ); font-size: 14px; line-height: 1.6; }

/* Countdown inside popup */
.spc-popup__countdown { margin: 0 0 18px; }

/* Promo code box */
.spc-popup__code { width: 100%; margin: 0 0 20px; }
.spc-popup__code-label { font-size: 12px; font-weight: 600; color: var( --spc-muted ); text-transform: uppercase; letter-spacing: .05em; margin: 0 0 8px; }
.spc-popup__code-box {
	display: flex;
	align-items: stretch;
	border: 2px dashed color-mix( in srgb, var( --spc-accent ) 40%, var( --spc-border ) );
	border-radius: var( --spc-radius-sm );
	overflow: hidden;
	background: color-mix( in srgb, var( --spc-accent ) 5%, var( --spc-surface ) );
}
.spc-popup__code-text {
	flex: 1;
	padding: 10px 14px;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .12em;
	color: var( --spc-accent );
	font-variant-numeric: tabular-nums;
	user-select: all;
	cursor: text;
	background: none;
	border: none;
	outline: none;
}
.spc-popup__code-copy {
	flex-shrink: 0;
	padding: 10px 18px;
	border: none;
	border-left: 2px dashed color-mix( in srgb, var( --spc-accent ) 40%, var( --spc-border ) );
	background: var( --spc-grad );
	color: var( --spc-on-accent );
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: opacity .2s, transform .2s;
}
.spc-popup__code-copy:hover { opacity: .9; transform: none; }
.spc-popup__code-copy.is-copied { background: #16a34a; }

.spc-popup .spc-popup__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 28px;
	border-radius: 40px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	background: var( --spc-grad );
	color: var( --spc-on-accent );
	border: none;
	box-shadow: 0 10px 26px color-mix( in srgb, var( --spc-accent ) 38%, transparent );
	transition: transform .22s var( --spc-ease ), box-shadow .22s var( --spc-ease );
	align-self: stretch;
	justify-content: center;
}
.spc-popup .spc-popup__btn:hover { transform: translateY( -2px ); box-shadow: 0 16px 34px color-mix( in srgb, var( --spc-accent ) 48%, transparent ); color: var( --spc-on-accent ); }

/* ----------------------------------------------------------------------------
 * Countdown timer (modern, token-driven)
 * ------------------------------------------------------------------------- */
.spc-countdown {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 14px 0;
	padding: 12px 18px;
	border-radius: 40px;
	background: color-mix( in srgb, var( --spc-sale ) 8%, var( --spc-surface ) );
	border: 1px solid color-mix( in srgb, var( --spc-sale ) 22%, transparent );
	font-family: var( --spc-font );
	font-size: 14px;
	color: var( --spc-text );
}
.spc-countdown__label { font-weight: 600; color: var( --spc-sale ); }
.spc-countdown__timer { display: inline-flex; gap: 8px; }
.spc-countdown__unit {
	display: inline-flex;
	align-items: baseline;
	gap: 2px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	min-width: 34px;
	justify-content: center;
	padding: 6px 8px;
	border-radius: 10px;
	background: var( --spc-surface );
	box-shadow: 0 2px 6px rgba( 20, 22, 40, .08 );
}
.spc-countdown__unit small { font-weight: 500; opacity: .6; }

/* ----------------------------------------------------------------------------
 * Badge (skin-aware; the base shape stays compatible with the shop loop)
 * ------------------------------------------------------------------------- */
.spc-badge.spc-skin-aurora,
.spc-badge.spc-skin-glass,
.spc-badge.spc-skin-noir,
.spc-badge.spc-skin-minimal,
.spc-badge.spc-skin-bold,
.spc-badge.spc-skin-editorial,
.spc-badge.spc-skin-retail,
.spc-badge.spc-skin-classic {
	background: var( --spc-grad );
	border-radius: 30px;
	padding: 6px 12px;
	box-shadow: 0 4px 10px color-mix( in srgb, var( --spc-accent ) 30%, transparent );
}

/* ============================================================================
 * SKINS — each retunes the shared tokens (+ a few targeted rules) so one class
 * restyles every promo component. Apply via Settings > Showcase Style or a
 * per-shortcode skin="..." attribute.
 * ========================================================================= */

/* Aurora — storefront default (BestBrightness green palette). */
.spc-skin-aurora { --spc-head-font: 'Fraunces', Georgia, 'Times New Roman', serif; }

/* Glass — frosted translucent panels with backdrop blur. */
.spc-skin-glass {
	--spc-accent: #0ea5e9; --spc-accent-2: #6366f1; --spc-sale: #f43f5e;
	--spc-surface: rgba( 255, 255, 255, .62 );
	--spc-surface-2: rgba( 255, 255, 255, .4 );
	--spc-border: rgba( 255, 255, 255, .55 );
	--spc-shadow: 0 8px 30px rgba( 31, 41, 55, .12 );
	--spc-shadow-lg: 0 24px 60px rgba( 31, 41, 55, .22 );
}
.spc-skin-glass.spc-deal-card,
.spc-skin-glass .spc-deal-card,
.spc-skin-glass .spc-popup { backdrop-filter: blur( 14px ) saturate( 160% ); -webkit-backdrop-filter: blur( 14px ) saturate( 160% ); }
.spc-skin-glass .spc-deals-wrap .spc-deals-search,
.spc-skin-glass.spc-deals-wrap .spc-deals-search,
.spc-skin-glass .spc-deals-category { background: rgba( 255, 255, 255, .55 ); backdrop-filter: blur( 8px ); -webkit-backdrop-filter: blur( 8px ); }

/* Noir — premium dark surfaces with neon accents. */
.spc-skin-noir {
	--spc-accent: #f5d76e; --spc-accent-2: #e6b800; --spc-on-accent: #1a1a1a; --spc-sale: #ff5470;
	--spc-surface: #16181f; --spc-surface-2: #1e2129;
	--spc-text: #f3f4f6; --spc-muted: #9aa0ad; --spc-border: #2a2e38;
	--spc-shadow: 0 1px 2px rgba( 0, 0, 0, .4 ), 0 10px 28px rgba( 0, 0, 0, .5 );
	--spc-shadow-lg: 0 26px 60px rgba( 0, 0, 0, .65 );
}
.spc-skin-noir.spc-popup-overlay { background: rgba( 0, 0, 0, .78 ); }

/* Minimal — borderless, typographic, hairline dividers, lots of whitespace. */
.spc-skin-minimal {
	--spc-accent: #111827; --spc-accent-2: #374151; --spc-sale: #111827;
	--spc-surface: #ffffff; --spc-surface-2: #fafafa; --spc-border: transparent;
	--spc-radius: 6px; --spc-radius-sm: 4px;
	--spc-shadow: none; --spc-shadow-lg: 0 10px 30px rgba( 0, 0, 0, .08 );
}
.spc-skin-minimal.spc-deals-wrap .spc-deals-search,
.spc-skin-minimal .spc-deals-category { border-radius: 6px; border-width: 1px; }
.spc-skin-minimal .spc-deal-card { border-bottom: 1px solid #ececec; }
.spc-skin-minimal .spc-deal-card__cta { background: none; color: var( --spc-accent ); border: 1.5px solid #e5e7eb; box-shadow: none; }
.spc-skin-minimal .spc-deal-card__cta:hover { background: var( --spc-accent ); color: #fff; }

/* Bold — vivid promo energy, big rounded blocks, punchy badges. */
.spc-skin-bold {
	--spc-accent: #ff5a1f; --spc-accent-2: #ff007a; --spc-sale: #ff007a;
	--spc-surface: #ffffff; --spc-surface-2: #fff4ee;
	--spc-radius: 24px; --spc-radius-sm: 18px;
	--spc-head-font: 'Plus Jakarta Sans', system-ui, sans-serif;
}
.spc-skin-bold .spc-deals__title,
.spc-skin-bold .spc-slide__headline { text-transform: uppercase; letter-spacing: .01em; font-weight: 800; }
.spc-skin-bold .spc-deal-card__now { font-size: 22px; }
.spc-skin-bold .spc-deal-badge { font-size: 13px; padding: 6px 12px; }

/* Editorial — fashion magazine: serif headlines, muted palette. */
.spc-skin-editorial {
	--spc-accent: #1f2937; --spc-accent-2: #6b4f3a; --spc-sale: #9a3412;
	--spc-surface: #fffdf8; --spc-surface-2: #f6f1e7; --spc-border: #e7dfd2;
	--spc-radius: 4px; --spc-radius-sm: 2px;
	--spc-head-font: 'Fraunces', Georgia, 'Times New Roman', serif;
}
.spc-skin-editorial .spc-deals__title,
.spc-skin-editorial .spc-slide__headline,
.spc-skin-editorial .spc-popup__headline { font-weight: 400; letter-spacing: -.02em; }
.spc-skin-editorial .spc-deal-card__cta { background: none; color: var( --spc-accent ); border-bottom: 2px solid var( --spc-accent ); border-radius: 0; padding: 6px 2px; box-shadow: none; }
.spc-skin-editorial .spc-deal-card__cta:hover { transform: none; opacity: .7; }

/* Retail — dense marketplace cards, strong sale red, urgency. */
.spc-skin-retail {
	--spc-accent: #2563eb; --spc-accent-2: #1d4ed8; --spc-sale: #d32f2f;
	--spc-surface: #ffffff; --spc-surface-2: #f3f4f6; --spc-border: #dfe1e6;
	--spc-radius: 10px; --spc-radius-sm: 8px;
	--spc-shadow: 0 1px 2px rgba( 0, 0, 0, .06 ); --spc-shadow-lg: 0 10px 26px rgba( 0, 0, 0, .12 );
}
.spc-skin-retail .spc-deals-grid { gap: 14px; grid-template-columns: repeat( auto-fill, minmax( 180px, 1fr ) ); }
.spc-skin-retail .spc-deal-card__now { font-size: 19px; }
.spc-skin-retail .spc-deal-card__cta { padding: 9px 14px; border-radius: 8px; background: var( --spc-accent ); color: #fff; border: none; }
.spc-skin-retail .spc-deal-card__cta:hover { background: var( --spc-accent-2 ); box-shadow: 0 6px 16px rgba( 37, 99, 235, .3 ); }
.spc-skin-retail .spc-deal-badge { border-radius: 4px; }
.spc-skin-retail .spc-bulk-catalog { grid-template-columns: repeat( auto-fill, minmax( 220px, 1fr ) ); gap: 12px; }
.spc-skin-retail .spc-bulk-card__base { color: var( --spc-sale ); font-weight: 800; }

/* Classic — refined version of the original light look. */
.spc-skin-classic {
	--spc-accent: #2e7d32; --spc-accent-2: #1b5e20; --spc-sale: #c0392b;
	--spc-surface: #ffffff; --spc-surface-2: #f3f3f3; --spc-border: #e3e3e3;
	--spc-radius: 10px; --spc-radius-sm: 8px;
	--spc-shadow: 0 1px 2px rgba( 0, 0, 0, .05 ); --spc-shadow-lg: 0 6px 18px rgba( 0, 0, 0, .1 );
}

/* Flash — Temu-inspired: ultra-vivid, punchy orange-red, maximum promo energy. */
.spc-skin-flash {
	--spc-accent: #ff4500; --spc-accent-2: #ff0055; --spc-on-accent: #ffffff;
	--spc-sale: #ff0066;
	--spc-surface: #ffffff; --spc-surface-2: #fff5f0;
	--spc-border: #ffe0d6;
	--spc-radius: 20px; --spc-radius-sm: 14px;
	--spc-shadow: 0 2px 8px rgba( 255, 69, 0, .12 ); --spc-shadow-lg: 0 18px 48px rgba( 255, 69, 0, .22 );
	--spc-head-font: 'Plus Jakarta Sans', system-ui, sans-serif;
}
.spc-skin-flash .spc-deals__title,
.spc-skin-flash .spc-slide__headline { font-weight: 900; letter-spacing: -.02em; }
.spc-skin-flash .spc-slide__tag { background: #ff0055; letter-spacing: .08em; }
.spc-skin-flash .spc-deal-card__now { font-size: 20px; font-weight: 900; color: #ff0055; }
.spc-skin-flash .spc-deal-badge { background: linear-gradient( 135deg, #ff4500, #ff0055 ); }
.spc-skin-flash .spc-deal-card__cta { background: linear-gradient( 135deg, #ff4500, #ff0055 ); color: #fff; border: none; }
.spc-skin-flash .spc-deal-card__cta:hover { box-shadow: 0 10px 22px rgba( 255, 0, 85, .32 ); }
.spc-skin-flash .spc-deals-grid { grid-template-columns: repeat( auto-fill, minmax( 170px, 1fr ) ); gap: 12px; }
.spc-skin-flash .spc-slider__dot.is-active { background: #ff4500; }
.spc-skin-flash .spc-slider__progress-bar { background: linear-gradient( 90deg, #ff4500, #ff0055 ); }
.spc-skin-flash .spc-slide__btn { background: linear-gradient( 135deg, #ff4500, #ff0055 ); }
.spc-skin-flash.spc-popup-overlay { background: rgba( 30, 0, 0, .7 ); }

/* Market — Amazon / Takealot style: clean trust-blue, bold orange CTA, dense info. */
.spc-skin-market {
	--spc-accent: #ff9900; --spc-accent-2: #e8860a; --spc-on-accent: #111111;
	--spc-sale: #cc0c39;
	--spc-surface: #ffffff; --spc-surface-2: #f7f7f7;
	--spc-text: #0f1111; --spc-muted: #565959; --spc-border: #ddd;
	--spc-radius: 8px; --spc-radius-sm: 6px;
	--spc-shadow: 0 1px 3px rgba( 0, 0, 0, .08 ), 0 2px 8px rgba( 0, 0, 0, .05 );
	--spc-shadow-lg: 0 10px 30px rgba( 0, 0, 0, .14 );
}
.spc-skin-market .spc-deals-grid { gap: 16px; }
.spc-skin-market .spc-deal-card { border-color: #e8e8e8; border-radius: 8px; }
.spc-skin-market .spc-deal-card__now { color: #cc0c39; font-size: 20px; }
.spc-skin-market .spc-deal-card__cta { background: linear-gradient( 180deg, #ffdb6d, #f9a825 ); color: #111; border: 1px solid #c68800; box-shadow: 0 1px 3px rgba( 0, 0, 0, .2 ); }
.spc-skin-market .spc-deal-card__cta:hover { background: linear-gradient( 180deg, #f7ca3a, #e8960a ); box-shadow: 0 4px 10px rgba( 0, 0, 0, .2 ); }
.spc-skin-market .spc-deal-badge { background: #cc0c39; border-radius: 3px; font-size: 12px; }
.spc-skin-market .spc-slider__progress-bar { background: #ff9900; }
.spc-skin-market .spc-slider__dot.is-active { background: #ff9900; }
.spc-skin-market .spc-popup__code-copy { background: linear-gradient( 180deg, #ffdb6d, #f9a825 ); color: #111; }
.spc-skin-market .spc-popup__code-copy.is-copied { background: #007600; color: #fff; }
.spc-skin-market .spc-bulk-catalog { grid-template-columns: repeat( auto-fill, minmax( 220px, 1fr ) ); gap: 12px; }
.spc-skin-market .spc-bulk-card__base { color: #cc0c39; font-weight: 800; }
.spc-skin-market .spc-quote-doc__total th,
.spc-skin-market .spc-quote-doc__total td { color: #cc0c39; }

@media ( prefers-reduced-motion: reduce ) {
	.spc-slider__track { scroll-behavior: auto; }
	.spc-slide__img { transition: none; }
	.spc-slide.is-active .spc-slide__img { transform: none; }
	.spc-slide__tag { animation: none; }
	.spc-deal-card, .spc-deal-card__img img, .spc-deal-card__cta, .spc-slider__nav, .spc-popup__close { transition: none; }
	.spc-deal-card:hover { transform: none; }
	.spc-deal-card:hover .spc-deal-card__img img { transform: none; }
	.spc-popup, .spc-popup-overlay { animation: none; }
	.spc-slider__progress-bar { display: none; }
}

@media ( max-width: 640px ) {
	.spc-popup--split { flex-direction: column; max-width: 100%; }
	.spc-popup--split .spc-popup__media { flex: 0 0 auto; max-height: 220px; width: 100%; }
	.spc-popup__body { padding: 22px 20px 26px; width: 100%; }
	.spc-popup .spc-popup__btn { width: 100%; }
	.spc-popup__code { width: 100%; }
}

@media ( max-width: 600px ) {
	/* Slider — bottom sheet panel on small screens */
	.spc-slide,
	.spc-slide__panel { min-height: 280px; }
	.spc-slide__panel { padding: 20px 18px 24px; align-items: flex-end; }
	.spc-slide__discount { font-size: clamp( 32px, 9vw, 48px ); }
	.spc-slide__headline { font-size: 17px; }
	.spc-slide__subtitle { font-size: 13px; max-width: none; }
	.spc-slide__actions { flex-direction: column; align-items: flex-start; width: 100%; }
	.spc-slider__nav { width: 36px; height: 36px; }
	.spc-slider__prev { left: 8px; }
	.spc-slider__next { right: 8px; }
	.spc-slider__counter { display: none; }
	.spc-slide__countdown { font-size: 11px; }

	/* Deals grid */
	.spc-deals-grid,
	.spc-deals-wrap[data-columns] .spc-deals-grid { grid-template-columns: repeat( 2, 1fr ); gap: 12px; }
	.spc-deal-card__info { padding: 12px 12px 14px; }
	.spc-deals-filter { width: 100%; }
	.spc-deals-toolbar { flex-direction: column; align-items: stretch; }
}

/* ----------------------------------------------------------------------------
 * Print / Save as PDF
 * ------------------------------------------------------------------------- */
@media print {
	body * { visibility: hidden; }
	.spc-quote-view, .spc-quote-view * { visibility: visible; }
	.spc-quote-view { position: absolute; left: 0; top: 0; width: 100%; margin: 0; }
	.spc-no-print { display: none !important; }
	.spc-quote-doc { border: none; padding: 0; }
	.spc-popup-overlay, .spc-slider__nav { display: none !important; }
}
