/*
 * Shubh Laabh Arts — Cart, Checkout & Order Confirmation
 * (design-reference/shopping pages/new-*-reference.png).
 *
 * ONE stylesheet for the three shopping pages, loaded only on
 * is_cart()/is_checkout() (inc/shopping.php). Everything is scoped under
 * .sla-shopping (the page wrapper rendered by inc/shopping.php), so the
 * global header/footer and every other page are untouched.
 *
 * Shared components: .sla-card, .sla-divider, .sla-coupon, .sla-totals,
 * .sla-btn-primary, .sla-trust, .sla-banner (placeholder), accent
 * variants .sla-variant-1…5 (the Shop's button sequence: gold · green ·
 * maroon · rust · teal).
 *
 * A few selectors are deliberately specific enough to outrank
 * WooCommerce's own woocommerce.css (e.g. `.woocommerce form .form-row
 * .input-text`, `.woocommerce-checkout #payment …`) instead of using
 * !important.
 */

/* =======================================================================
 * 1. Tokens + page frame
 * ===================================================================== */
.sla-shopping {
	--sla-variant-1: #c79a45; /* gold */
	--sla-variant-2: #2e6f52; /* green */
	--sla-variant-3: #7a2a3b; /* maroon */
	--sla-variant-4: #9a4f40; /* rust */
	--sla-variant-5: #1f6f74; /* peacock teal */
	--sla-ink: var( --sla-peacock-navy );
	--sla-ink-soft: color-mix( in srgb, var( --sla-peacock-navy ) 78%, #fff );
	--sla-muted: var( --sla-muted-blue );
	--sla-line: color-mix( in srgb, var( --sla-champagne-gold ) 30%, var( --sla-ivory-dark ) );
	--sla-line-soft: color-mix( in srgb, var( --sla-ivory-dark ) 70%, #fff );
	--sla-field-line: color-mix( in srgb, var( --sla-champagne-gold ) 22%, #d9d2c3 );
	--sla-card-bg: #fff;
	--sla-wash: color-mix( in srgb, var( --sla-gold-soft ) 45%, #fff );
	--sla-radius: 14px;
	--sla-radius-sm: 10px;
	--sla-shadow: 0 1px 2px rgba( 7, 59, 76, 0.04 ), 0 18px 40px -30px rgba( 7, 59, 76, 0.38 );
	--sla-gutter: clamp( 1rem, 4vw, 4.5rem );
	--sla-gap: clamp( 1.1rem, 2.1vw, 2rem );
	--sla-accent: var( --sla-champagne-gold );
	--sla-accent-light: #ddbd7c;
	--sla-accent-deep: #a97e32;
	--sla-accent-text: var( --sla-peacock-navy );
	--sla-sticky-top: 9.5rem;

	display: block;
	background:
		radial-gradient( 1200px 420px at 50% 0, color-mix( in srgb, var( --sla-gold-soft ) 35%, transparent ), transparent 70% ),
		var( --sla-warm-cream );
	color: var( --sla-ink );
	font-family: var( --sla-font-body );
	font-size: 1rem;
	line-height: 1.55;
	padding-bottom: clamp( 2.5rem, 5vw, 4.5rem );
	overflow-x: clip;
}

.sla-shopping *,
.sla-shopping *::before,
.sla-shopping *::after {
	box-sizing: border-box;
}

.sla-shopping .sla-variant-1 {
	--sla-accent: var( --sla-variant-1 );
	--sla-accent-light: #ddbd7c;
	--sla-accent-deep: #a97e32;
	--sla-accent-text: var( --sla-peacock-navy );
}

.sla-shopping .sla-variant-2 {
	--sla-accent: var( --sla-variant-2 );
	--sla-accent-light: #3d8263;
	--sla-accent-deep: #22563f;
	--sla-accent-text: var( --sla-ivory );
}

.sla-shopping .sla-variant-3 {
	--sla-accent: var( --sla-variant-3 );
	--sla-accent-light: #93404f;
	--sla-accent-deep: #5e1f2d;
	--sla-accent-text: var( --sla-ivory );
}

.sla-shopping .sla-variant-4 {
	--sla-accent: var( --sla-variant-4 );
	--sla-accent-light: #b0634f;
	--sla-accent-deep: #7e3f33;
	--sla-accent-text: var( --sla-ivory );
}

.sla-shopping .sla-variant-5 {
	--sla-accent: var( --sla-variant-5 );
	--sla-accent-light: #2f8388;
	--sla-accent-deep: #175559;
	--sla-accent-text: var( --sla-ivory );
}

.sla-shopping__container,
.sla-shop-intro__inner {
	width: 100%;
	max-width: var( --sla-container-max, 1400px );
	margin-inline: auto;
	padding-inline: var( --sla-gutter );
}

.sla-shopping svg {
	width: 1.15em;
	height: 1.15em;
	flex: none;
}

.sla-shopping a {
	color: inherit;
}

.sla-shopping :where( a, button, input, select, textarea, summary, [tabindex] ):focus-visible {
	outline: 2px solid var( --sla-champagne-gold );
	outline-offset: 2px;
}

.sla-shopping .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset( 50% );
	white-space: nowrap;
	border: 0;
}

.sla-shopping h1,
.sla-shopping h2,
.sla-shopping h3 {
	margin: 0;
	color: var( --sla-ink );
	font-family: var( --sla-font-display );
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.005em;
}

.sla-shopping p {
	margin: 0;
}

/* Cormorant's default old-style figures read poorly in prices/totals. */
.sla-shopping .amount,
.sla-shopping h1,
.sla-shopping h2,
.sla-shopping h3,
.sla-shopping strong {
	font-variant-numeric: lining-nums;
}

/* Card — ivory/white, thin champagne border, soft shadow. */
.sla-shopping .sla-card {
	background: var( --sla-card-bg );
	border: 1px solid var( --sla-line );
	border-radius: var( --sla-radius );
	box-shadow: var( --sla-shadow );
}

/* Gold divider with a diamond: ◆——— (left) or ——◆—— (centre). */
.sla-shopping .sla-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	width: min( 180px, 60% );
	margin: 0.9rem auto;
}

.sla-shopping .sla-divider::before,
.sla-shopping .sla-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: linear-gradient( 90deg, transparent, var( --sla-champagne-gold ) );
}

.sla-shopping .sla-divider::after {
	background: linear-gradient( 90deg, var( --sla-champagne-gold ), transparent );
}

.sla-shopping .sla-divider > span {
	width: 7px;
	height: 7px;
	background: var( --sla-champagne-gold );
	transform: rotate( 45deg );
	flex: none;
}

.sla-shopping .sla-divider--left {
	justify-content: flex-start;
	width: min( 240px, 80% );
	margin: 0.7rem 0;
}

.sla-shopping .sla-divider--left::before {
	display: none;
}

/* =======================================================================
 * 2. Page intro (Cart / Checkout headings)
 * ===================================================================== */
.sla-shop-intro {
	padding-top: clamp( 1.5rem, 3vw, 2.5rem );
	padding-bottom: clamp( 1rem, 2vw, 1.5rem );
}

.sla-shop-intro__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 2rem;
}

.sla-shop-intro__text {
	min-width: 0;
}

.sla-shop-intro__eyebrow {
	margin-bottom: 0.35rem !important;
	color: var( --sla-antique-gold );
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.sla-shopping .sla-shop-intro__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 0.9rem;
	font-size: clamp( 2.3rem, 1.7rem + 2.2vw, 3.4rem );
	font-weight: 700;
	line-height: 1.02;
}

.sla-shop-intro__count {
	color: var( --sla-muted );
	font-family: var( --sla-font-body );
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.sla-shop-intro__lead {
	color: var( --sla-ink-soft );
	font-size: clamp( 0.95rem, 0.9rem + 0.25vw, 1.08rem );
}

.sla-shop-intro__crumbs {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin-bottom: 0.4rem;
	color: var( --sla-muted );
	font-size: 0.85rem;
	font-weight: 500;
}

.sla-shop-intro__crumbs a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var( --sla-antique-gold );
	text-decoration: none;
}

.sla-shop-intro__crumbs a:hover {
	color: var( --sla-ink );
}

/* =======================================================================
 * 3. WooCommerce notices (shared)
 * ===================================================================== */
.sla-shopping .woocommerce-notices-wrapper:empty {
	display: none;
}

.sla-shopping .woocommerce-message,
.sla-shopping .woocommerce-info,
.sla-shopping .woocommerce-error,
.sla-shopping .woocommerce-NoticeGroup .woocommerce-error {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin: 0 0 1rem;
	padding: 0.85rem 1.1rem 0.85rem 1.25rem;
	background: #fff;
	border: 1px solid var( --sla-line );
	border-left: 4px solid var( --sla-variant-2 );
	border-radius: var( --sla-radius-sm );
	box-shadow: var( --sla-shadow );
	color: var( --sla-ink );
	font-size: 0.95rem;
	line-height: 1.5;
	list-style: none;
}

.sla-shopping .woocommerce-info {
	border-left-color: var( --sla-champagne-gold );
}

.sla-shopping .woocommerce-error {
	border-left-color: var( --sla-variant-3 );
	flex-direction: column;
	align-items: flex-start;
}

.sla-shopping .woocommerce-message::before,
.sla-shopping .woocommerce-info::before,
.sla-shopping .woocommerce-error::before {
	content: none;
}

.sla-shopping .woocommerce-error li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sla-shopping .woocommerce-message .button,
.sla-shopping .woocommerce-info .button {
	order: 2;
	margin-left: auto;
	padding: 0.35rem 0.9rem;
	background: transparent;
	border: 1px solid var( --sla-line );
	border-radius: 999px;
	color: var( --sla-ink );
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.sla-shopping .woocommerce-message a:not( .button ),
.sla-shopping .woocommerce-error a,
.sla-shopping .woocommerce-info a:not( .button ) {
	color: var( --sla-variant-3 );
	font-weight: 600;
}

/* =======================================================================
 * 4. Buttons + shared bits
 * ===================================================================== */

/* Primary CTA — deep peacock navy with a fine brass edge. */
.sla-shopping a.sla-btn-primary,
.sla-shopping .wc-proceed-to-checkout a.checkout-button.sla-btn-primary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	width: 100%;
	min-height: 58px;
	margin: 0;
	padding: 0.9rem 1.25rem;
	background: linear-gradient( 180deg, #0b4a5e 0%, var( --sla-peacock-navy ) 55%, var( --sla-deep-navy ) 100% );
	border: 1px solid var( --sla-champagne-gold );
	border-radius: 12px;
	box-shadow:
		inset 0 0 0 3px var( --sla-peacock-navy ),
		inset 0 0 0 4px color-mix( in srgb, var( --sla-champagne-gold ) 45%, transparent ),
		0 14px 26px -18px rgba( 6, 47, 58, 0.75 );
	color: var( --sla-ivory );
	font-family: var( --sla-font-body );
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}

.sla-shopping a.sla-btn-primary svg {
	width: 1.25rem;
	height: 1.25rem;
	color: var( --sla-light-gold );
}

@media ( hover: hover ) {
	.sla-shopping a.sla-btn-primary:hover,
	.sla-shopping .wc-proceed-to-checkout a.checkout-button.sla-btn-primary:hover {
		background: linear-gradient( 180deg, #0e566c 0%, #094457 55%, var( --sla-deep-navy ) 100% );
		color: #fff;
		transform: translateY( -1px );
		box-shadow:
			inset 0 0 0 3px #094457,
			inset 0 0 0 4px color-mix( in srgb, var( --sla-champagne-gold ) 70%, transparent ),
			0 18px 30px -18px rgba( 6, 47, 58, 0.85 );
	}
}

.sla-shopping a.sla-btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.7rem 1.25rem;
	border: 1px solid var( --sla-line );
	border-radius: 10px;
	background: #fff;
	color: var( --sla-ink );
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

/* Stock chip. */
.sla-shopping .sla-stock {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	width: fit-content;
	padding: 0.2rem 0.65rem 0.2rem 0.45rem;
	border-radius: 999px;
	background: color-mix( in srgb, var( --sla-variant-2 ) 10%, #fff );
	color: var( --sla-variant-2 );
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.5;
}

.sla-shopping .sla-stock svg {
	width: 1rem;
	height: 1rem;
}

.sla-shopping .sla-stock--low,
.sla-shopping .sla-stock--backorder {
	background: color-mix( in srgb, var( --sla-variant-4 ) 10%, #fff );
	color: var( --sla-variant-4 );
}

.sla-shopping .sla-stock--out {
	background: color-mix( in srgb, var( --sla-variant-3 ) 10%, #fff );
	color: var( --sla-variant-3 );
}

/* Trust strip (Cart summary + Checkout "Why Shop With Us"). */
.sla-shopping .sla-trust {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 0, 1fr ) );
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sla-shopping .sla-trust__item {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	min-width: 0;
	padding: 0.15rem 0.7rem;
	color: var( --sla-ink-soft );
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.35;
}

.sla-shopping .sla-trust__item + .sla-trust__item {
	border-left: 1px solid var( --sla-line );
}

.sla-shopping .sla-trust__icon {
	display: inline-flex;
	color: var( --sla-antique-gold );
}

.sla-shopping .sla-trust__icon svg {
	width: 1.75rem;
	height: 1.75rem;
}

.sla-shopping .sla-trust--summary {
	margin-top: 1.25rem;
	padding-top: 1.1rem;
	border-top: 1px solid var( --sla-line-soft );
}

.sla-shopping .sla-trust--summary .sla-trust__item {
	flex-direction: column;
	gap: 0.4rem;
	padding: 0.1rem 0.5rem;
	font-size: 0.76rem;
	text-align: center;
}

/* Banner placeholder (no approved artwork yet) — plain grey, labelled with the required size. */
.sla-shopping .sla-banner {
	display: block;
	width: 100%;
	height: auto;
	border-radius: inherit;
	object-fit: cover;
}

.sla-shopping .sla-banner--placeholder {
	display: grid;
	place-items: center;
	padding: 1rem;
	background: #e2e2e2;
	border: 2px dashed #b9b9b9;
	color: #6d6d6d;
	font-family: var( --sla-font-body );
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: center;
}

.sla-shopping .sla-banner--placeholder strong {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.95rem;
	letter-spacing: 0.14em;
}

/* =======================================================================
 * 5. Coupon (Cart + Checkout)
 * ===================================================================== */
.sla-shopping .sla-coupon {
	border-bottom: 1px solid var( --sla-line-soft );
}

.sla-shopping .sla-coupon__toggle {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.85rem 0;
	cursor: pointer;
	list-style: none;
	color: var( --sla-ink );
	font-family: var( --sla-font-display );
	font-size: 1.2rem;
	font-weight: 700;
}

.sla-shopping .sla-coupon__toggle::-webkit-details-marker {
	display: none;
}

.sla-shopping .sla-coupon__icon {
	display: inline-flex;
	color: var( --sla-antique-gold );
}

.sla-shopping .sla-coupon__icon svg {
	width: 1.3rem;
	height: 1.3rem;
}

.sla-shopping .sla-coupon__chev {
	display: inline-flex;
	margin-left: auto;
	color: var( --sla-antique-gold );
	transition: transform 220ms ease;
}

.sla-shopping .sla-coupon[open] .sla-coupon__chev {
	transform: rotate( 180deg );
}

.sla-shopping .sla-coupon__body {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	padding: 0 0 1rem;
}

.sla-shopping .sla-coupon__body input.sla-coupon__input {
	flex: 1 1 160px;
	min-width: 0;
	height: 48px;
	margin: 0;
	padding: 0 0.95rem;
	background: #fff;
	border: 1px solid var( --sla-field-line );
	border-radius: var( --sla-radius-sm );
	color: var( --sla-ink );
	font: 600 0.95rem/1 var( --sla-font-body );
	letter-spacing: 0.04em;
}

.sla-shopping .sla-coupon__body input.sla-coupon__input::placeholder {
	color: color-mix( in srgb, var( --sla-muted ) 75%, #fff );
	font-weight: 500;
	letter-spacing: 0;
}

.sla-shopping .sla-coupon__body input.sla-coupon__input:focus {
	border-color: var( --sla-champagne-gold );
	outline: none;
	box-shadow: 0 0 0 3px color-mix( in srgb, var( --sla-champagne-gold ) 22%, transparent );
}

.sla-shopping .sla-coupon__body input.has-error {
	border-color: var( --sla-variant-3 );
}

.sla-shopping .sla-coupon__apply {
	flex: 0 0 auto;
	min-width: 104px;
	height: 48px;
	padding: 0 1.25rem;
	background: linear-gradient( 180deg, #ddbd7c 0%, #c79a45 55%, #a97e32 100% );
	border: 1px solid #9a7229;
	border-radius: var( --sla-radius-sm );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.35 );
	color: var( --sla-peacock-navy );
	cursor: pointer;
	font: 700 0.8rem/1 var( --sla-font-body );
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: filter 200ms ease;
}

.sla-shopping .sla-coupon__apply:hover {
	filter: brightness( 1.06 );
}

.sla-shopping .sla-coupon.is-busy .sla-coupon__apply {
	opacity: 0.6;
	cursor: progress;
}

.sla-shopping .sla-coupon__msg {
	flex: 1 1 100%;
	color: var( --sla-variant-2 );
	font-size: 0.85rem;
	font-weight: 600;
}

.sla-shopping .sla-coupon__msg.is-error {
	color: var( --sla-variant-3 );
}

/* =======================================================================
 * 6. Totals table (Cart summary, Checkout summary, Order confirmation)
 * ===================================================================== */
.sla-shopping table.sla-totals {
	width: 100%;
	margin: 0.6rem 0 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	background: none;
}

.sla-shopping table.sla-totals th,
.sla-shopping table.sla-totals td {
	padding: 0.55rem 0;
	background: none;
	border: 0;
	color: var( --sla-ink );
	font-size: 1rem;
	line-height: 1.4;
	vertical-align: top;
}

.sla-shopping table.sla-totals th {
	padding-right: 1rem;
	color: var( --sla-ink-soft );
	font-weight: 500;
	text-align: left;
}

.sla-shopping table.sla-totals td {
	font-weight: 700;
	text-align: right;
}

.sla-shopping table.sla-totals tr.order-total th,
.sla-shopping table.sla-totals tr.order-total td {
	padding: 1.05rem 1.1rem;
	background: var( --sla-wash );
	color: var( --sla-ink );
	font-family: var( --sla-font-display );
	vertical-align: middle;
}

.sla-shopping table.sla-totals tr.order-total th {
	border-radius: 10px 0 0 10px;
	font-size: 1.45rem;
	font-weight: 700;
}

.sla-shopping table.sla-totals tr.order-total td {
	border-radius: 0 10px 10px 0;
	font-size: 1.6rem;
	font-weight: 700;
	white-space: nowrap;
}

.sla-shopping table.sla-totals tr.order-total td small,
.sla-shopping table.sla-totals tr.order-total td .includes_tax {
	display: block;
	font-family: var( --sla-font-body );
	font-size: 0.72rem;
	font-weight: 500;
}

.sla-shopping table.sla-totals tr.order-total + tr th,
.sla-shopping table.sla-totals tr.order-total + tr td {
	padding-top: 0.9rem;
}

.sla-shopping table.sla-totals .cart-discount td {
	color: var( --sla-variant-2 );
}

.sla-shopping .woocommerce-remove-coupon {
	display: inline-block;
	margin-left: 0.35rem;
	color: var( --sla-variant-3 );
	font-size: 0.78rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sla-shopping .sla-free {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var( --sla-variant-2 );
	font-weight: 700;
}

.sla-shopping .sla-free svg {
	width: 1.35rem;
	height: 1.35rem;
}

/* WooCommerce shipping rows (when shipping methods are configured). */
.sla-shopping table.sla-totals #shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
}

.sla-shopping table.sla-totals #shipping_method li {
	margin: 0 0 0.3rem;
	font-weight: 600;
}

.sla-shopping table.sla-totals .woocommerce-shipping-destination,
.sla-shopping table.sla-totals .woocommerce-shipping-calculator {
	margin-top: 0.4rem;
	font-size: 0.82rem;
	font-weight: 500;
}

.sla-shopping .shipping-calculator-form .form-row {
	margin: 0 0 0.5rem;
	padding: 0;
}

.sla-shopping .shipping-calculator-form .input-text,
.sla-shopping .shipping-calculator-form select {
	width: 100%;
	min-height: 42px;
	padding: 0.4rem 0.7rem;
	border: 1px solid var( --sla-field-line );
	border-radius: 8px;
}

/* =======================================================================
 * 7. CART
 * ===================================================================== */
.sla-shopping .sla-cart {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) clamp( 330px, 30vw, 420px );
	gap: var( --sla-gap );
	align-items: start;
}

.sla-cart__main {
	display: grid;
	gap: var( --sla-gap );
	min-width: 0;
}

@media ( min-width: 960px ) and ( min-height: 760px ) {
	.sla-shopping .sla-cart__aside {
		position: sticky;
		top: var( --sla-sticky-top );
	}
}

/* Items card. */
.sla-shopping .sla-cart-items {
	--sla-cart-cols: 112px minmax( 0, 1fr ) minmax( 90px, 0.42fr ) 132px 40px minmax( 96px, 0.42fr );
	padding: 0.4rem clamp( 1rem, 2vw, 1.75rem ) 0;
}

.sla-cart-items__head {
	display: grid;
	grid-template-columns: var( --sla-cart-cols );
	column-gap: 1rem;
	padding: 1rem 0 0.85rem;
	border-bottom: 1px solid var( --sla-line-soft );
	color: var( --sla-ink );
	font-size: 0.9rem;
	font-weight: 700;
}

.sla-cart-items__h-product {
	grid-column: 1 / 3;
}

.sla-cart-items__h-price {
	grid-column: 3;
}

.sla-cart-items__h-qty {
	grid-column: 4;
	text-align: center;
}

.sla-cart-items__h-total {
	grid-column: 6;
	text-align: right;
}

.sla-cart-items__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sla-shopping .sla-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: var( --sla-cart-cols );
	column-gap: 1rem;
	align-items: center;
	margin: 0;
	padding: 1.25rem 0;
	border-bottom: 1px solid var( --sla-line-soft );
}

/* Shop accent: a slim left edge. */
.sla-shopping .sla-cart-item::before {
	content: '';
	position: absolute;
	top: 1.25rem;
	bottom: 1.25rem;
	left: calc( -1 * clamp( 1rem, 2vw, 1.75rem ) );
	width: 3px;
	border-radius: 0 3px 3px 0;
	background: var( --sla-accent );
}

.sla-cart-item__media a,
.sla-cart-item__media > img {
	display: block;
}

.sla-shopping .sla-cart-item__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border: 1px solid var( --sla-line-soft );
	border-radius: var( --sla-radius-sm );
	background: var( --sla-ivory );
}

.sla-cart-item__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.3rem;
	min-width: 0;
}

.sla-shopping .sla-cart-item__name {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: clamp( 1.3rem, 1.15rem + 0.4vw, 1.55rem );
	font-weight: 700;
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.sla-shopping .sla-cart-item__name::before {
	content: '';
	flex: none;
	width: 7px;
	height: 7px;
	background: var( --sla-accent );
	transform: rotate( 45deg );
}

.sla-shopping .sla-cart-item__name a {
	color: var( --sla-ink );
	text-decoration: none;
}

.sla-shopping .sla-cart-item__name a:hover {
	color: var( --sla-accent-deep );
}

.sla-cart-item__unit {
	color: var( --sla-ink-soft );
	font-size: 0.98rem;
	font-weight: 600;
}

.sla-shopping .sla-cart-item dl.variation {
	margin: 0;
	color: var( --sla-muted );
	font-size: 0.82rem;
}

.sla-cart-item__price {
	color: var( --sla-ink );
	font-size: 1.05rem;
	font-weight: 700;
}

.sla-cart-item__qty {
	display: flex;
	justify-content: center;
}

/* Quantity: [ − ] 1 [ + ] around WooCommerce's own input. */
.sla-shopping .sla-cart-item .quantity {
	display: inline-flex;
	align-items: stretch;
	height: 46px;
	margin: 0;
	border: 1px solid color-mix( in srgb, var( --sla-accent ) 40%, var( --sla-line ) );
	border-radius: var( --sla-radius-sm );
	background: #fff;
	overflow: hidden;
}

.sla-shopping .sla-cart-item .quantity .sla-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	padding: 0;
	background: color-mix( in srgb, var( --sla-accent ) 6%, #fff );
	border: 0;
	color: var( --sla-accent-deep );
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease;
}

.sla-shopping .sla-cart-item .quantity .sla-qty__btn:hover:not( :disabled ) {
	background: var( --sla-accent );
	color: var( --sla-accent-text );
}

.sla-shopping .sla-cart-item .quantity .sla-qty__btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.sla-shopping .sla-cart-item .quantity .sla-qty__btn svg {
	width: 1rem;
	height: 1rem;
}

.sla-shopping .sla-cart-item .quantity input.qty {
	width: 48px;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-inline: 1px solid color-mix( in srgb, var( --sla-accent ) 25%, var( --sla-line-soft ) );
	border-radius: 0;
	background: #fff;
	color: var( --sla-ink );
	font: 700 1.05rem/1 var( --sla-font-body );
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.sla-shopping .sla-cart-item .quantity input.qty::-webkit-outer-spin-button,
.sla-shopping .sla-cart-item .quantity input.qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.sla-shopping .sla-cart-item .quantity input.qty:focus {
	outline: none;
	background: color-mix( in srgb, var( --sla-accent ) 6%, #fff );
}

/* Remove. */
.sla-shopping .sla-cart-item__remove {
	display: flex;
	justify-content: center;
}

.sla-shopping .sla-cart-item__remove > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: var( --sla-muted );
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.sla-shopping .sla-cart-item__remove > a svg {
	width: 1.3rem;
	height: 1.3rem;
}

.sla-shopping .sla-cart-item__remove > a:hover {
	background: color-mix( in srgb, var( --sla-variant-3 ) 9%, #fff );
	color: var( --sla-variant-3 );
}

.sla-cart-item__total {
	color: var( --sla-ink );
	font-size: 1.15rem;
	font-weight: 800;
	text-align: right;
	white-space: nowrap;
}

/* Actions row. */
.sla-shopping .sla-cart-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	padding: 1.1rem 0 1.25rem;
}

.sla-shopping .sla-link-back {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var( --sla-antique-gold );
	font-size: 1.02rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 180ms ease, gap 180ms ease;
}

.sla-shopping .sla-link-back svg {
	width: 1.25rem;
	height: 1.25rem;
}

.sla-shopping .sla-link-back:hover {
	gap: 0.8rem;
	color: var( --sla-ink );
}

.sla-shopping .sla-link-clear {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.8rem;
	border-radius: 8px;
	color: var( --sla-muted );
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.sla-shopping .sla-link-clear:hover {
	background: color-mix( in srgb, var( --sla-variant-3 ) 8%, #fff );
	color: var( --sla-variant-3 );
}

/* WooCommerce's own "Update cart" button: quantity changes submit it
 * automatically, so it is only shown when JavaScript is unavailable. */
.sla-shopping button.sla-update-cart {
	padding: 0.55rem 1rem;
	background: #fff;
	border: 1px solid var( --sla-line );
	border-radius: 8px;
	color: var( --sla-ink );
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

html.sla-js .sla-shopping button.sla-update-cart {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset( 50% );
	white-space: nowrap;
	border: 0;
}

/* blockUI overlay while wc-cart.js updates. */
.sla-shopping .blockUI.blockOverlay {
	border-radius: inherit;
}

/* Order Summary card. */
.sla-shopping .sla-summary {
	padding: clamp( 1.2rem, 2vw, 1.75rem );
}

.sla-shopping .sla-summary__title {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: clamp( 1.75rem, 1.5rem + 0.8vw, 2.25rem );
}

.sla-summary__title-icon {
	display: inline-flex;
	color: var( --sla-antique-gold );
}

.sla-summary__title-icon svg {
	width: 1.6rem;
	height: 1.6rem;
}

.sla-shopping .sla-summary .sla-divider--left {
	width: 100%;
	margin: 0.6rem 0 0.25rem;
}

.sla-shopping .sla-summary .cart_totals {
	float: none;
	width: auto;
}

.sla-shopping .wc-proceed-to-checkout {
	margin-top: 1.1rem;
	padding: 0;
}

/* Recommendations ("You May Also Like"). */
.sla-shopping .sla-recs {
	min-width: 0;
	padding: clamp( 1.1rem, 2vw, 1.6rem );
	background: color-mix( in srgb, var( --sla-gold-soft ) 38%, var( --sla-ivory ) );
	border: 1px solid var( --sla-line );
	border-radius: var( --sla-radius );
}

.sla-recs__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.sla-shopping .sla-recs__title {
	font-size: clamp( 1.6rem, 1.35rem + 0.8vw, 2.1rem );
}

.sla-recs__sub {
	margin-top: 0.2rem !important;
	color: var( --sla-ink-soft );
	font-size: 0.92rem;
}

.sla-recs__nav {
	display: flex;
	gap: 0.6rem;
	flex: none;
}

.sla-recs__nav[hidden] {
	display: none;
}

.sla-shopping .sla-recs__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	background: #fff;
	border: 1px solid var( --sla-line );
	border-radius: 50%;
	color: var( --sla-antique-gold );
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

.sla-shopping .sla-recs__arrow:hover:not( :disabled ) {
	background: var( --sla-champagne-gold );
	color: var( --sla-peacock-navy );
}

.sla-shopping .sla-recs__arrow:disabled {
	opacity: 0.4;
	cursor: default;
}

.sla-shopping .sla-recs__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax( 172px, calc( ( 100% - 3 * 0.9rem ) / 4 ) );
	gap: 0.9rem;
	margin: 0;
	padding: 0.15rem 0.1rem 0.4rem;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.sla-shopping .sla-recs__track::-webkit-scrollbar {
	display: none;
}

.sla-shopping .sla-rec {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 0.55rem;
	background: #fff;
	border: 1px solid var( --sla-line-soft );
	border-radius: 12px;
	scroll-snap-align: start;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

@media ( hover: hover ) {
	.sla-shopping .sla-rec:hover {
		transform: translateY( -2px );
		box-shadow: 0 16px 28px -22px rgba( 7, 59, 76, 0.5 );
	}
}

.sla-rec__media {
	display: block;
	overflow: hidden;
	border-radius: 8px;
	background: var( --sla-ivory );
}

.sla-shopping .sla-rec__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 500ms ease;
}

@media ( hover: hover ) {
	.sla-shopping .sla-rec:hover .sla-rec__media img {
		transform: scale( 1.04 );
	}
}

.sla-rec__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	padding: 0.6rem 0.15rem 0.1rem;
	text-align: center;
}

.sla-shopping .sla-rec__name {
	font-size: 1.12rem;
	font-weight: 700;
	line-height: 1.2;
}

.sla-shopping .sla-rec__name a {
	color: var( --sla-ink );
	text-decoration: none;
}

.sla-rec__price {
	color: var( --sla-ink-soft );
	font-size: 0.92rem;
	font-weight: 700;
}

.sla-rec__price del {
	margin-right: 0.3rem;
	color: var( --sla-muted );
	font-weight: 500;
}

.sla-rec__price ins {
	text-decoration: none;
}

/* Rec button — the Shop's brushed-brass button, in the product's own colour. */
.sla-shopping .sla-rec a.sla-rec__btn.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100%;
	min-height: 40px;
	margin: auto 0 0;
	padding: 0.5rem 0.6rem;
	background: var( --sla-accent ) linear-gradient( 180deg, var( --sla-accent-light ) 0%, var( --sla-accent ) 52%, var( --sla-accent-deep ) 100% );
	border: 1px solid var( --sla-accent-deep );
	border-radius: 8px;
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.3 ), 0 8px 16px -12px var( --sla-accent-deep );
	color: var( --sla-accent-text );
	font: 700 0.72rem/1.1 var( --sla-font-body );
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: filter 220ms ease, transform 220ms ease;
}

.sla-shopping .sla-rec__body > :last-child {
	margin-top: auto;
}

.sla-shopping .sla-rec__price {
	margin-bottom: 0.55rem;
}

.sla-shopping .sla-rec a.sla-rec__btn.button svg {
	width: 1rem;
	height: 1rem;
}

.sla-shopping .sla-rec a.sla-rec__btn.button:hover {
	filter: brightness( 1.07 ) saturate( 1.05 );
	color: var( --sla-accent-text );
	transform: translateY( -1px );
}

.sla-shopping .sla-rec a.sla-rec__btn.button.loading {
	opacity: 0.7;
}

/* Empty cart. */
.sla-shopping .sla-cart-empty {
	max-width: 720px;
	margin: 0 auto var( --sla-gap );
	padding: clamp( 2rem, 5vw, 3.25rem ) clamp( 1.25rem, 4vw, 3rem );
	text-align: center;
}

.sla-cart-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: var( --sla-wash );
	color: var( --sla-antique-gold );
}

.sla-cart-empty__icon svg {
	width: 2rem;
	height: 2rem;
}

.sla-shopping .sla-cart-empty__title {
	font-size: clamp( 1.8rem, 1.4rem + 1.4vw, 2.5rem );
}

.sla-cart-empty__text {
	max-width: 46ch;
	margin: 0 auto 1.5rem !important;
	color: var( --sla-ink-soft );
}

.sla-shopping .sla-cart-empty .return-to-shop {
	display: flex;
	justify-content: center;
	margin: 0;
}

.sla-shopping .sla-cart-empty .return-to-shop a.sla-btn-primary {
	width: auto;
	padding-inline: 2rem;
}

.sla-shopping .sla-cart-empty ~ .sla-recs {
	max-width: 1100px;
	margin-inline: auto;
}

/* --- Cart responsive --------------------------------------------- */
@media ( max-width: 1199px ) {
	.sla-shopping .sla-cart-items {
		--sla-cart-cols: 96px minmax( 0, 1fr ) 128px 40px minmax( 90px, auto );
	}

	.sla-cart-items__h-price,
	.sla-cart-item__price {
		display: none;
	}

	.sla-cart-items__h-qty {
		grid-column: 3;
	}

	.sla-cart-items__h-total {
		grid-column: 5;
	}
}

@media ( max-width: 959px ) {
	.sla-shopping .sla-cart {
		grid-template-columns: minmax( 0, 1fr );
	}
}

@media ( max-width: 699px ) {
	.sla-shopping .sla-cart-items {
		padding-top: 0;
	}

	.sla-cart-items__head {
		display: none;
	}

	.sla-shopping .sla-cart-item {
		grid-template-columns: 88px minmax( 0, 1fr ) auto;
		grid-template-areas:
			'media info remove'
			'media qty total';
		column-gap: 0.85rem;
		row-gap: 0.75rem;
		align-items: start;
		padding: 1.1rem 0;
	}

	.sla-shopping .sla-cart-item::before {
		top: 1.1rem;
		bottom: 1.1rem;
	}

	.sla-cart-item__media {
		grid-area: media;
	}

	.sla-cart-item__info {
		grid-area: info;
	}

	.sla-cart-item__qty {
		grid-area: qty;
		justify-content: flex-start;
	}

	.sla-shopping .sla-cart-item__remove {
		grid-area: remove;
		margin: -0.45rem -0.45rem 0 0;
	}

	.sla-cart-item__total {
		grid-area: total;
		align-self: center;
	}

	.sla-shopping .sla-cart-item .quantity {
		height: 42px;
	}

	.sla-shopping .sla-cart-item .quantity .sla-qty__btn {
		width: 40px;
	}

	.sla-shopping .sla-cart-item .quantity input.qty {
		width: 42px;
	}

	.sla-shopping .sla-recs__track {
		grid-auto-columns: calc( ( 100% - 0.75rem ) / 2.15 );
		gap: 0.75rem;
	}

	.sla-recs__head {
		align-items: center;
	}
}

@media ( max-width: 379px ) {
	.sla-shopping .sla-cart-item {
		grid-template-columns: 72px minmax( 0, 1fr ) auto;
		grid-template-areas:
			'media info remove'
			'qty qty total';
	}

	.sla-shopping .sla-trust--summary {
		grid-template-columns: 1fr;
		gap: 0.6rem;
	}

	.sla-shopping .sla-trust--summary .sla-trust__item {
		padding: 0;
		border-left: 0;
	}

	.sla-shopping .sla-recs__track {
		grid-auto-columns: 78%;
	}

	.sla-shopping .sla-recs__nav {
		display: none;
	}
}

/* =======================================================================
 * 8. CHECKOUT
 * ===================================================================== */

/* Progress: 1 Information · 2 Payment · 3 Review & Place Order. */
.sla-shopping .sla-steps {
	display: flex;
	align-items: center;
	margin: 0 0 0.35rem;
	padding: 0;
	list-style: none;
}

.sla-steps__item {
	display: flex;
	align-items: center;
	margin: 0;
}

.sla-steps__item + .sla-steps__item::before {
	content: '';
	width: clamp( 24px, 4vw, 72px );
	height: 1px;
	margin: 0 0.85rem;
	background: var( --sla-line );
}

.sla-shopping .sla-steps__link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var( --sla-muted );
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.sla-steps__num {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: color-mix( in srgb, var( --sla-muted ) 22%, #fff );
	color: var( --sla-muted );
	font-size: 0.85rem;
	font-weight: 800;
	transition: background-color 220ms ease, color 220ms ease;
}

.sla-shopping .sla-steps__num svg {
	display: none;
	width: 1rem;
	height: 1rem;
}

.sla-steps__item.is-current .sla-steps__num {
	background: var( --sla-variant-3 );
	color: #fff;
	box-shadow: 0 0 0 4px color-mix( in srgb, var( --sla-variant-3 ) 16%, transparent );
}

.sla-steps__item.is-current .sla-steps__link {
	color: var( --sla-variant-3 );
}

.sla-steps__item.is-done .sla-steps__num {
	background: var( --sla-variant-2 );
	color: #fff;
}

.sla-steps__item.is-done .sla-steps__link {
	color: var( --sla-variant-2 );
}

.sla-steps__item.is-done .sla-steps__digit {
	display: none;
}

.sla-shopping .sla-steps__item.is-done .sla-steps__num svg {
	display: block;
}

/* Layout: form | summary. */
.sla-shopping form.sla-checkout {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) clamp( 340px, 31vw, 440px );
	column-gap: var( --sla-gap );
	align-items: start;
}

.sla-shopping form.sla-checkout > :not( .sla-checkout__main ):not( .sla-checkout__aside ) {
	grid-column: 1 / -1;
}

.sla-checkout__main {
	display: grid;
	gap: 1.25rem;
	min-width: 0;
}

.sla-checkout__details {
	display: grid;
	gap: 1.25rem;
}

.sla-checkout__aside {
	display: grid;
	gap: 1.25rem;
	min-width: 0;
}

@media ( min-width: 960px ) and ( min-height: 860px ) {
	.sla-shopping .sla-checkout__aside {
		position: sticky;
		top: var( --sla-sticky-top );
	}
}

.sla-shopping .sla-checkout [id^='sla-checkout-'] {
	scroll-margin-top: calc( var( --sla-sticky-top ) + 0.5rem );
}

/* Login (returning customers). */
.sla-shopping .sla-checkout-login form.login {
	max-width: 760px;
	margin: 0 0 1.25rem;
	padding: clamp( 1.1rem, 2vw, 1.6rem );
	background: #fff;
	border: 1px solid var( --sla-line );
	border-radius: var( --sla-radius );
	box-shadow: var( --sla-shadow );
}

.sla-shopping .sla-checkout-login form.login > p:first-child {
	margin-bottom: 1rem;
	color: var( --sla-ink-soft );
}

.sla-shopping .sla-checkout-login .form-row {
	margin: 0 0 0.85rem;
	padding: 0;
}

.sla-shopping .sla-checkout-login .form-row label {
	display: block;
	margin-bottom: 0.3rem;
	color: var( --sla-ink );
	font-size: 0.85rem;
	font-weight: 600;
}

.sla-shopping .sla-checkout-login .input-text {
	width: 100%;
	min-height: 48px;
	padding: 0.6rem 0.9rem;
	border: 1px solid var( --sla-field-line );
	border-radius: var( --sla-radius-sm );
	background: #fff;
	font: 500 1rem var( --sla-font-body );
}

.sla-shopping .sla-checkout-login .form-row-first,
.sla-shopping .sla-checkout-login .form-row-last {
	float: none;
	width: 100%;
}

.sla-shopping .sla-checkout-login button.button {
	min-height: 46px;
	padding: 0 1.5rem;
	background: var( --sla-peacock-navy );
	border: 0;
	border-radius: var( --sla-radius-sm );
	color: var( --sla-ivory );
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Step cards. */
.sla-shopping .sla-step-card {
	padding: clamp( 1.1rem, 2.2vw, 1.75rem );
}

.sla-step-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.85rem;
	margin-bottom: 1.15rem;
}

.sla-step-card__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var( --sla-variant-3 );
	color: #fff;
	font-size: 0.95rem;
	font-weight: 800;
	box-shadow: 0 0 0 4px color-mix( in srgb, currentColor 0%, transparent );
}

#sla-checkout-delivery .sla-step-card__num {
	background: var( --sla-peacock-navy );
}

#sla-checkout-payment .sla-step-card__num {
	background: var( --sla-variant-2 );
}

.sla-shopping .sla-step-card__title {
	flex: 1 1 auto;
	font-size: clamp( 1.45rem, 1.3rem + 0.5vw, 1.75rem );
}

.sla-step-card__aside {
	margin-left: auto !important;
	color: var( --sla-ink-soft );
	font-size: 0.86rem;
}

.sla-shopping .sla-step-card__aside a {
	color: var( --sla-variant-3 );
	font-weight: 700;
	text-underline-offset: 3px;
}

/* WooCommerce's col-1/col-2 inside the Delivery card: stacked, never floated. */
.sla-shopping .sla-checkout .sla-step-card > .col-1,
.sla-shopping .sla-checkout .sla-step-card > .col-2 {
	float: none;
	width: auto;
	max-width: none;
}

.sla-shopping .sla-checkout .woocommerce-billing-fields > h3,
.sla-shopping .sla-checkout .woocommerce-additional-fields > h3 {
	display: none;
}

/* Fields: two-column grid, inline labels, brand icons. */
.sla-shopping .sla-fields,
.sla-shopping .sla-checkout .woocommerce-shipping-fields__field-wrapper,
.sla-shopping .sla-checkout .woocommerce-additional-fields__field-wrapper,
.sla-shopping .sla-checkout .woocommerce-account-fields .create-account {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0.85rem;
}

.sla-shopping .sla-checkout .form-row {
	position: relative;
	grid-column: 1 / -1;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

@media ( min-width: 520px ) {
	.sla-shopping .sla-checkout .form-row:is( [id$='_first_name_field'], [id$='_last_name_field'], [id$='_city_field'], [id$='_state_field'], [id$='_postcode_field'], [id$='_phone_field'] ) {
		grid-column: auto / span 1;
	}
}

.sla-shopping .sla-checkout .form-row label:not( .checkbox ):not( .woocommerce-form__label-for-checkbox ) {
	position: absolute;
	top: 0.5rem;
	left: 1rem;
	z-index: 2;
	max-width: calc( 100% - 2.5rem );
	margin: 0;
	overflow: hidden;
	color: var( --sla-muted );
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: none;
}

.sla-shopping .sla-checkout .form-row.sla-ico label:not( .checkbox ):not( .woocommerce-form__label-for-checkbox ) {
	left: 2.95rem;
	max-width: calc( 100% - 4rem );
}

.sla-shopping .sla-checkout .form-row .required {
	color: var( --sla-variant-3 );
	font-weight: 700;
	text-decoration: none;
	border: 0;
}

.sla-shopping .sla-checkout .form-row .optional {
	color: color-mix( in srgb, var( --sla-muted ) 75%, #fff );
	font-weight: 500;
}

.sla-shopping .sla-checkout .form-row .woocommerce-input-wrapper {
	display: block;
}

.sla-shopping .sla-checkout .form-row .input-text,
.sla-shopping .sla-checkout .form-row select,
.sla-shopping .sla-checkout .form-row textarea {
	display: block;
	width: 100%;
	min-height: 58px;
	margin: 0;
	padding: 1.55rem 1rem 0.5rem;
	background: #fff;
	border: 1px solid var( --sla-field-line );
	border-radius: var( --sla-radius-sm );
	box-shadow: none;
	color: var( --sla-ink );
	font: 600 1rem/1.3 var( --sla-font-body );
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.sla-shopping .sla-checkout .form-row.sla-ico .input-text,
.sla-shopping .sla-checkout .form-row.sla-ico select,
.sla-shopping .sla-checkout .form-row.sla-ico textarea {
	padding-left: 2.95rem;
}

.sla-shopping .sla-checkout .form-row textarea {
	min-height: 112px;
	padding-top: 1.75rem;
	resize: vertical;
}

.sla-shopping .sla-checkout .form-row .input-text::placeholder,
.sla-shopping .sla-checkout .form-row textarea::placeholder {
	color: color-mix( in srgb, var( --sla-muted ) 60%, #fff );
	font-weight: 500;
}

.sla-shopping .sla-checkout .form-row .input-text:focus,
.sla-shopping .sla-checkout .form-row select:focus,
.sla-shopping .sla-checkout .form-row textarea:focus {
	border-color: var( --sla-champagne-gold );
	outline: none;
	box-shadow: 0 0 0 3px color-mix( in srgb, var( --sla-champagne-gold ) 20%, transparent );
}

.sla-shopping .sla-checkout .form-row.woocommerce-invalid .input-text,
.sla-shopping .sla-checkout .form-row.woocommerce-invalid select,
.sla-shopping .sla-checkout .form-row.woocommerce-invalid .select2-selection {
	border-color: var( --sla-variant-3 );
	box-shadow: 0 0 0 3px color-mix( in srgb, var( --sla-variant-3 ) 10%, transparent );
}

.sla-shopping .sla-checkout .form-row.woocommerce-invalid label:not( .checkbox ) {
	color: var( --sla-variant-3 );
}

.sla-shopping .sla-checkout .checkout-inline-error-message {
	margin: 0.35rem 0 0 0.25rem;
	color: var( --sla-variant-3 );
	font-size: 0.8rem;
	font-weight: 600;
}

.sla-shopping .sla-checkout .form-row .description {
	margin-top: 0.3rem;
	color: var( --sla-muted );
	font-size: 0.8rem;
}

/* Field icons (CSS masks, no extra requests). */
.sla-shopping .sla-checkout .form-row.sla-ico::before {
	content: '';
	position: absolute;
	top: 19px;
	left: 1rem;
	z-index: 2;
	width: 20px;
	height: 20px;
	background: var( --sla-antique-gold );
	-webkit-mask: var( --sla-ico ) center / contain no-repeat;
	mask: var( --sla-ico ) center / contain no-repeat;
	pointer-events: none;
}

.sla-shopping .sla-ico--mail { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='1.6'/%3E%3Cpath d='m3.6 6.5 8.4 6.5 8.4-6.5'/%3E%3C/svg%3E" ); }
.sla-shopping .sla-ico--globe { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-6-6.5-11a6.5 6.5 0 0 1 13 0c0 5-6.5 11-6.5 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E" ); }
.sla-shopping .sla-ico--user { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.8'/%3E%3Cpath d='M4.5 20.5c.8-3.8 3.8-6 7.5-6s6.7 2.2 7.5 6'/%3E%3C/svg%3E" ); }
.sla-shopping .sla-ico--home { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 11 12 4l8.5 7'/%3E%3Cpath d='M5.5 9.5V20h13V9.5'/%3E%3Cpath d='M10 20v-5.5h4V20'/%3E%3C/svg%3E" ); }
.sla-shopping .sla-ico--building { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='17' rx='1'/%3E%3Cpath d='M9 7.5h2M13 7.5h2M9 11h2M13 11h2M9 14.5h2M13 14.5h2M10.5 20.5v-3h3v3'/%3E%3C/svg%3E" ); }
.sla-shopping .sla-ico--map { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 6.5 9 4l6 2.5L20.5 4v13.5L15 20l-6-2.5-5.5 2.5Z'/%3E%3Cpath d='M9 4v13.5M15 6.5V20'/%3E%3C/svg%3E" ); }
.sla-shopping .sla-ico--hash { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3.5' width='16' height='17' rx='2'/%3E%3Cpath d='M12 15.5s-3-2.8-3-5a3 3 0 0 1 6 0c0 2.2-3 5-3 5Z'/%3E%3C/svg%3E" ); }
.sla-shopping .sla-ico--phone { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3.5h3.2l1.6 4.3-2.1 1.4a11.5 11.5 0 0 0 7.1 7.1l1.4-2.1 4.3 1.6V19a1.6 1.6 0 0 1-1.7 1.6A16.5 16.5 0 0 1 3.4 5.2 1.6 1.6 0 0 1 5 3.5Z'/%3E%3C/svg%3E" ); }
.sla-shopping .sla-ico--note { --sla-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3.5h10l4 4v13H5Z'/%3E%3Cpath d='M14.5 3.5V8H19M8.5 12h7M8.5 15.5h7'/%3E%3C/svg%3E" ); }

/* Country / state selects (WooCommerce's selectWoo). */
.sla-shopping .sla-checkout .form-row .select2-container {
	display: block;
	width: 100% !important;
	line-height: 1.3;
}

.sla-shopping .sla-checkout .form-row .select2-container .select2-selection--single {
	height: auto;
	min-height: 58px;
	padding: 1.55rem 2.5rem 0.5rem 1rem;
	background: #fff;
	border: 1px solid var( --sla-field-line );
	border-radius: var( --sla-radius-sm );
}

.sla-shopping .sla-checkout .form-row.sla-ico .select2-container .select2-selection--single {
	padding-left: 2.95rem;
}

.sla-shopping .sla-checkout .form-row .select2-container .select2-selection__rendered {
	padding: 0;
	color: var( --sla-ink );
	font: 600 1rem/1.3 var( --sla-font-body );
}

.sla-shopping .sla-checkout .form-row .select2-container .select2-selection__arrow {
	top: 50%;
	right: 0.85rem;
	width: 20px;
	height: 20px;
	transform: translateY( -50% );
}

.sla-shopping .sla-checkout .form-row .select2-container--focus .select2-selection--single,
.sla-shopping .sla-checkout .form-row .select2-container--open .select2-selection--single {
	border-color: var( --sla-champagne-gold );
	box-shadow: 0 0 0 3px color-mix( in srgb, var( --sla-champagne-gold ) 20%, transparent );
}

.sla-shopping .sla-checkout .form-row select {
	appearance: none;
	padding-right: 2.5rem;
	background: #fff url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c6a2b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E" ) no-repeat right 0.9rem center / 18px;
}

/* A country field that is fixed (single selling country) prints as text. */
.sla-shopping .sla-checkout .form-row .woocommerce-input-wrapper > strong {
	display: block;
	min-height: 58px;
	padding: 1.55rem 1rem 0.5rem 2.95rem;
	background: color-mix( in srgb, var( --sla-ivory ) 60%, #fff );
	border: 1px solid var( --sla-field-line );
	border-radius: var( --sla-radius-sm );
	font-weight: 600;
}

/* Checkboxes (create account, ship elsewhere, order note, terms). */
.sla-shopping .sla-checkout input[type='checkbox'],
.sla-shopping .sla-checkout input[type='radio'] {
	accent-color: var( --sla-peacock-navy );
}

.sla-shopping .sla-checkout .woocommerce-form__label-for-checkbox,
.sla-shopping .sla-checkout label.checkbox {
	position: static;
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	color: var( --sla-ink );
	font-family: var( --sla-font-body );
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
}

.sla-shopping .sla-checkout .woocommerce-form__label-for-checkbox input,
.sla-shopping .sla-checkout label.checkbox input {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0;
}

.sla-shopping .sla-checkout .woocommerce-account-fields,
.sla-shopping .sla-checkout .woocommerce-shipping-fields,
.sla-shopping .sla-checkout .woocommerce-additional-fields {
	margin-top: 1rem;
}

.sla-shopping .sla-checkout .woocommerce-shipping-fields:empty {
	display: none;
}

.sla-shopping .sla-checkout #ship-to-different-address {
	float: none;
	margin: 0 0 0.85rem;
	font-family: var( --sla-font-body );
	font-size: 1rem;
}

.sla-shopping .sla-checkout .sla-note-toggle {
	margin-bottom: 0.85rem;
}

/* Payment methods (real WooCommerce gateways). */
.sla-shopping .sla-checkout #payment {
	background: none;
	border-radius: 0;
}

.sla-shopping .sla-checkout #payment ul.payment_methods {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.sla-shopping .sla-checkout #payment ul.payment_methods::before,
.sla-shopping .sla-checkout #payment ul.payment_methods::after {
	content: none;
}

.sla-shopping .sla-checkout #payment ul.payment_methods li.wc_payment_method {
	display: grid;
	grid-template-columns: auto minmax( 0, 1fr );
	align-items: center;
	column-gap: 0.9rem;
	margin: 0;
	padding: 1rem 1.15rem;
	background: #fff;
	border: 1px solid var( --sla-field-line );
	border-radius: 12px;
	line-height: 1.4;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.sla-shopping .sla-checkout #payment ul.payment_methods li.wc_payment_method:has( > input:checked ),
.sla-shopping .sla-checkout #payment ul.payment_methods li.wc_payment_method:only-child {
	background: color-mix( in srgb, var( --sla-gold-soft ) 45%, #fff );
	border-color: var( --sla-champagne-gold );
	box-shadow: 0 0 0 1px color-mix( in srgb, var( --sla-champagne-gold ) 40%, transparent );
}

.sla-shopping .sla-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio {
	width: 20px;
	height: 20px;
	margin: 0;
}

.sla-shopping .sla-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio[style*='none'] + label {
	grid-column: 1 / -1;
}

.sla-shopping .sla-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin: 0;
	color: var( --sla-ink );
	font-size: 1.02rem;
	font-weight: 700;
	cursor: pointer;
}

.sla-pay__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: color-mix( in srgb, var( --sla-champagne-gold ) 16%, #fff );
	color: var( --sla-antique-gold );
}

.sla-shopping .sla-pay__icon svg {
	width: 1.45rem;
	height: 1.45rem;
}

.sla-shopping .sla-checkout #payment ul.payment_methods li img {
	max-height: 24px;
	margin: 0 0 0 0.4rem;
	vertical-align: middle;
}

.sla-shopping .sla-checkout #payment div.payment_box {
	grid-column: 2;
	margin: 0.15rem 0 0;
	padding: 0 0 0 calc( 42px + 0.85rem );
	background: none;
	border-radius: 0;
	color: var( --sla-ink-soft );
	font-size: 0.88rem;
	line-height: 1.5;
}

.sla-shopping .sla-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio[style*='none'] ~ div.payment_box {
	grid-column: 1 / -1;
}

.sla-shopping .sla-checkout #payment div.payment_box::before {
	content: none;
}

.sla-shopping .sla-checkout #payment div.payment_box p:last-child {
	margin-bottom: 0;
}

.sla-shopping .sla-checkout #payment .sla-no-gateways .woocommerce-info,
.sla-shopping .sla-checkout #payment .sla-no-gateways .woocommerce-error {
	margin: 0;
	box-shadow: none;
}

.sla-no-payment-needed {
	color: var( --sla-ink-soft );
}

/* Place Order block — continues the Payment card on desktop. */
.sla-shopping .sla-checkout .sla-place-order {
	margin: 0;
	padding: 0 clamp( 1.1rem, 2.2vw, 1.75rem ) clamp( 1.1rem, 2.2vw, 1.75rem );
	background: #fff;
	border: 1px solid var( --sla-line );
	border-top: 0;
	border-radius: 0 0 var( --sla-radius ) var( --sla-radius );
	box-shadow: var( --sla-shadow );
}

@media ( min-width: 960px ) {
	.sla-shopping .sla-checkout .sla-step-card--payment {
		margin-bottom: -1.25rem;
		padding-bottom: 1rem;
		border-bottom: 0;
		border-radius: var( --sla-radius ) var( --sla-radius ) 0 0;
		box-shadow: none;
	}
}

.sla-shopping .sla-checkout .sla-place-order .woocommerce-terms-and-conditions-wrapper {
	padding-top: 1rem;
	border-top: 1px solid var( --sla-line-soft );
}

.sla-shopping .sla-checkout .woocommerce-privacy-policy-text p {
	margin: 0 0 0.75rem;
	color: var( --sla-ink-soft );
	font-size: 0.86rem;
	line-height: 1.55;
}

.sla-shopping .sla-checkout .woocommerce-privacy-policy-text a,
.sla-shopping .sla-checkout .woocommerce-terms-and-conditions-link {
	color: var( --sla-ink );
	font-weight: 700;
	text-underline-offset: 2px;
}

.sla-shopping .sla-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
	margin: 0 0 0.85rem;
}

.sla-shopping .sla-checkout .woocommerce-terms-and-conditions {
	max-height: 220px;
	margin-bottom: 0.85rem;
	padding: 1rem;
	overflow: auto;
	background: var( --sla-ivory );
	border: 1px solid var( --sla-line-soft );
	border-radius: var( --sla-radius-sm );
	font-size: 0.85rem;
}

/* Place Order — the real #place_order button, maroon with a brass edge.
 * Icons are pseudo-elements: wc-checkout.js rewrites the button's text
 * when the payment method changes, so it must stay text-only. */
.sla-shopping form.sla-checkout .sla-place-order button#place_order {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	float: none;
	width: 100%;
	min-height: 62px;
	margin: 0.25rem 0 0;
	padding: 0.9rem 1.5rem;
	background: linear-gradient( 180deg, #93404f 0%, var( --sla-variant-3 ) 55%, #5e1f2d 100% );
	border: 1px solid #521a27;
	border-radius: 12px;
	box-shadow:
		inset 0 1px 0 rgba( 255, 255, 255, 0.22 ),
		inset 0 0 0 3px color-mix( in srgb, var( --sla-variant-3 ) 100%, transparent ),
		inset 0 0 0 4px color-mix( in srgb, var( --sla-light-gold ) 40%, transparent ),
		0 16px 30px -18px rgba( 94, 31, 45, 0.85 );
	color: #fff;
	font: 700 1rem/1.2 var( --sla-font-body );
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: filter 220ms ease, transform 220ms ease;
}

.sla-shopping form.sla-checkout .sla-place-order button#place_order::before,
.sla-shopping form.sla-checkout .sla-place-order button#place_order::after {
	content: '';
	flex: none;
	width: 20px;
	height: 20px;
	background: var( --sla-light-gold );
	-webkit-mask: var( --sla-btn-ico ) center / contain no-repeat;
	mask: var( --sla-btn-ico ) center / contain no-repeat;
}

.sla-shopping form.sla-checkout .sla-place-order button#place_order::before {
	--sla-btn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E" );
}

.sla-shopping form.sla-checkout .sla-place-order button#place_order::after {
	--sla-btn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E" );
	transition: transform 220ms ease;
}

@media ( hover: hover ) {
	.sla-shopping form.sla-checkout .sla-place-order button#place_order:hover {
		filter: brightness( 1.08 );
		transform: translateY( -1px );
	}

	.sla-shopping form.sla-checkout .sla-place-order button#place_order:hover::after {
		transform: translateX( 3px );
	}
}

.sla-shopping form.sla-checkout .sla-place-order button#place_order:focus-visible {
	outline: 2px solid var( --sla-champagne-gold );
	outline-offset: 3px;
}

/* Checkout Order Summary. */
.sla-shopping .sla-review-items {
	margin-top: 0.4rem;
}

.sla-shopping table.sla-review-items__table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.sla-shopping .sla-review-item td {
	padding: 0.85rem 0;
	border: 0;
	border-bottom: 1px solid var( --sla-line-soft );
	vertical-align: middle;
	background: none;
}

.sla-shopping .sla-review-item__media {
	position: relative;
	width: 84px;
	padding-right: 0.9rem !important;
}

.sla-shopping .sla-review-item__media img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border: 1px solid var( --sla-line-soft );
	border-left: 3px solid var( --sla-accent );
	border-radius: 10px;
	background: var( --sla-ivory );
}

.sla-review-item__qty {
	position: absolute;
	top: 0.45rem;
	right: 0.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 0.35rem;
	border: 2px solid #fff;
	border-radius: 999px;
	background: var( --sla-peacock-navy );
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
}

.sla-shopping .sla-review-item__info {
	padding-right: 0.75rem !important;
}

.sla-review-item__name {
	display: block;
	color: var( --sla-ink );
	font-family: var( --sla-font-display );
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.2;
}

.sla-review-item__unit {
	display: block;
	margin-top: 0.15rem;
	color: var( --sla-ink-soft );
	font-size: 0.88rem;
	font-weight: 600;
}

.sla-review-item__unit .product-quantity {
	font-weight: 600;
}

.sla-shopping .sla-review-item__total {
	color: var( --sla-ink );
	font-weight: 800;
	text-align: right;
	white-space: nowrap;
}

.sla-shopping .sla-review-items__edit {
	display: inline-block;
	margin: 0.55rem 0 0.2rem;
	color: var( --sla-antique-gold );
	font-size: 0.82rem;
	font-weight: 700;
	text-underline-offset: 3px;
}

.sla-shopping .sla-summary--checkout .sla-coupon {
	margin-top: 0.4rem;
	border-top: 1px solid var( --sla-line-soft );
}

.sla-shopping .sla-summary--checkout .sla-coupon__toggle {
	font-family: var( --sla-font-body );
	font-size: 0.98rem;
}

.sla-shopping .woocommerce-checkout-review-order {
	background: none;
}

/* Brand message card (temple artwork reused from the footer — already cached). */
.sla-shopping .sla-blessing {
	position: relative;
	display: flex;
	gap: 0.9rem;
	padding: 1.25rem 1.25rem 1.35rem;
	overflow: hidden;
	background: linear-gradient( 120deg, #fff 0%, color-mix( in srgb, var( --sla-gold-soft ) 55%, #fff ) 100% );
}

.sla-shopping .sla-blessing::after {
	content: '';
	position: absolute;
	right: -18px;
	bottom: -12px;
	width: 58%;
	aspect-ratio: 1774 / 887;
	background: var( --sla-art-temple, none ) right bottom / contain no-repeat;
	opacity: 0.32;
	pointer-events: none;
	-webkit-mask-image: linear-gradient( 90deg, transparent 0%, #000 45% );
	mask-image: linear-gradient( 90deg, transparent 0%, #000 45% );
}

.sla-blessing__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: color-mix( in srgb, var( --sla-variant-3 ) 10%, #fff );
	color: var( --sla-variant-3 );
}

.sla-shopping .sla-blessing__icon svg {
	width: 1.4rem;
	height: 1.4rem;
}

.sla-blessing__text {
	position: relative;
	z-index: 1;
	max-width: 30ch;
}

.sla-blessing__title {
	color: var( --sla-ink );
	font-family: var( --sla-font-display );
	font-size: 1.4rem;
	font-style: italic;
	font-weight: 600;
	line-height: 1.15;
}

.sla-blessing__title span {
	display: block;
	font-weight: 700;
}

.sla-blessing__body {
	margin-top: 0.45rem !important;
	color: var( --sla-ink-soft );
	font-size: 0.88rem;
}

/* Why Shop With Us. */
.sla-shopping .sla-why {
	padding: 1.15rem 1rem 1.25rem;
	background: color-mix( in srgb, var( --sla-variant-5 ) 6%, #fff );
	border-color: color-mix( in srgb, var( --sla-variant-5 ) 18%, var( --sla-line ) );
}

.sla-shopping .sla-why__title {
	margin: 0 0 0.9rem 0.25rem;
	font-size: 1.35rem;
}

.sla-shopping .sla-trust--why {
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
}

.sla-shopping .sla-trust--why .sla-trust__item {
	flex-direction: column;
	gap: 0.5rem;
	padding: 0 0.3rem;
	border: 0;
	font-size: 0.74rem;
	text-align: center;
}

.sla-shopping .sla-trust--why .sla-trust__icon {
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var( --sla-variant-1 );
	color: #fff;
}

.sla-shopping .sla-trust--why .sla-trust__item:nth-child( 5n + 2 ) .sla-trust__icon {
	background: var( --sla-variant-2 );
}

.sla-shopping .sla-trust--why .sla-trust__item:nth-child( 5n + 3 ) .sla-trust__icon {
	background: var( --sla-variant-3 );
}

.sla-shopping .sla-trust--why .sla-trust__item:nth-child( 5n + 4 ) .sla-trust__icon {
	background: var( --sla-variant-4 );
}

.sla-shopping .sla-trust--why .sla-trust__icon svg {
	width: 1.4rem;
	height: 1.4rem;
}

/* --- Checkout responsive ------------------------------------------ */
@media ( max-width: 1199px ) and ( min-width: 960px ) {
	.sla-shopping .sla-trust--why {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		row-gap: 0.9rem;
	}
}

/* Below 960px: one column in the order Contact → Delivery → Payment →
 * Order Summary → Place Order → brand panels. The two column wrappers
 * dissolve (display: contents) so their cards can be ordered. */
@media ( max-width: 959px ) {
	.sla-shopping form.sla-checkout {
		display: flex;
		flex-direction: column;
		gap: 1.1rem;
	}

	.sla-shopping .sla-checkout__main,
	.sla-shopping .sla-checkout__aside {
		display: contents;
	}

	.sla-shopping .sla-checkout__details {
		order: 1;
	}

	.sla-shopping .sla-step-card--payment {
		order: 2;
	}

	.sla-shopping #sla-checkout-summary {
		order: 3;
	}

	.sla-shopping .sla-checkout .sla-place-order {
		order: 4;
		padding-top: clamp( 1.1rem, 2.2vw, 1.75rem );
		border-top: 1px solid var( --sla-line );
		border-radius: var( --sla-radius );
	}

	.sla-shopping .sla-checkout .sla-place-order .woocommerce-terms-and-conditions-wrapper {
		padding-top: 0;
		border-top: 0;
	}

	.sla-shopping .sla-blessing {
		order: 5;
	}

	.sla-shopping .sla-why {
		order: 6;
	}

	.sla-shopping .sla-checkout__details {
		gap: 1.1rem;
	}

	.sla-shop-intro--checkout .sla-shop-intro__inner {
		align-items: flex-start;
	}
}

@media ( max-width: 699px ) {
	.sla-shopping .sla-steps {
		width: 100%;
	}

	.sla-steps__item {
		flex: 1 1 0;
		flex-direction: column;
		position: relative;
		min-width: 0;
	}

	.sla-steps__item + .sla-steps__item::before {
		position: absolute;
		top: 15px;
		right: calc( 50% + 22px );
		left: calc( -50% + 22px );
		width: auto;
		margin: 0;
	}

	.sla-shopping .sla-steps__link {
		flex-direction: column;
		gap: 0.35rem;
		font-size: 0.72rem;
		text-align: center;
		white-space: normal;
		line-height: 1.25;
	}

	.sla-step-card__aside {
		flex-basis: 100%;
		margin-left: calc( 36px + 0.85rem ) !important;
	}

	.sla-shopping .sla-trust--why {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		row-gap: 1rem;
	}
}

@media ( max-width: 379px ) {
	.sla-step-card__aside {
		margin-left: 0 !important;
	}

	.sla-shopping .sla-checkout #payment ul.payment_methods li.wc_payment_method {
		padding: 0.9rem;
	}

	.sla-shopping .sla-checkout #payment div.payment_box {
		padding-left: 0;
		grid-column: 1 / -1;
		margin-top: 0.5rem;
	}

	.sla-shopping form.sla-checkout .sla-place-order button#place_order {
		letter-spacing: 0.1em;
	}
}

/* =======================================================================
 * 9. ORDER CONFIRMATION
 * ===================================================================== */
.sla-shopping--order-received {
	padding-top: clamp( 1rem, 2.5vw, 2rem );
}

.sla-shopping .sla-thanks {
	display: grid;
	gap: var( --sla-gap );
}

/* Hero. */
.sla-shopping .sla-thanks-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax( 0, 0.95fr ) minmax( 0, 1.15fr );
	overflow: hidden;
	background:
		radial-gradient( 520px 300px at 70% 30%, #fff 0%, transparent 70% ),
		linear-gradient( 135deg, color-mix( in srgb, var( --sla-gold-soft ) 55%, #fff ), var( --sla-ivory ) );
	border: 1px solid var( --sla-line );
	border-radius: calc( var( --sla-radius ) + 4px );
	box-shadow: var( --sla-shadow );
}

.sla-shopping .sla-thanks-hero--plain {
	grid-template-columns: 1fr;
}

.sla-thanks-hero__visual {
	position: relative;
	min-height: 100%;
	border-radius: calc( var( --sla-radius ) + 3px ) 0 0 calc( var( --sla-radius ) + 3px );
}

.sla-shopping .sla-thanks-hero__visual .sla-banner {
	height: 100%;
	min-height: 320px;
	border-radius: inherit;
}

.sla-shopping .sla-thanks-hero__visual .sla-banner--placeholder {
	border-width: 0 2px 0 0;
}

.sla-thanks-hero__message {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: clamp( 1.75rem, 4vw, 3rem ) clamp( 1.25rem, 4vw, 3.5rem );
	text-align: center;
}

.sla-thanks-hero__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	margin-bottom: 1rem;
	border: 2px solid var( --sla-variant-2 );
	border-radius: 50%;
	background: color-mix( in srgb, var( --sla-variant-2 ) 10%, #fff );
	box-shadow: 0 0 0 7px color-mix( in srgb, var( --sla-variant-2 ) 7%, transparent );
	color: var( --sla-variant-2 );
	animation: sla-pop 620ms cubic-bezier( 0.2, 0.9, 0.3, 1.25 ) both;
}

.sla-shopping .sla-thanks-hero__check svg {
	width: 2.25rem;
	height: 2.25rem;
	stroke-dasharray: 30;
	stroke-dashoffset: 30;
	animation: sla-draw 520ms 320ms ease-out forwards;
}

@keyframes sla-pop {
	from {
		opacity: 0;
		transform: scale( 0.6 );
	}

	to {
		opacity: 1;
		transform: scale( 1 );
	}
}

@keyframes sla-draw {
	to {
		stroke-dashoffset: 0;
	}
}

.sla-shopping .sla-thanks-hero__title {
	font-size: clamp( 2.1rem, 1.5rem + 2.4vw, 3.4rem );
	line-height: 1.04;
}

.sla-shopping .sla-thanks-hero__lead {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin: 0.75rem 0 0;
	padding: 0;
	background: none;
	border: 0;
	color: var( --sla-ink );
	font-size: clamp( 1rem, 0.95rem + 0.3vw, 1.15rem );
	font-weight: 600;
}

.sla-shopping .sla-thanks-hero__lead::before,
.sla-shopping .sla-thanks-hero__lead::after {
	content: '';
	flex: none;
	width: clamp( 24px, 5vw, 60px );
	height: 1px;
	background: var( --sla-champagne-gold );
}

.sla-thanks-hero__text {
	max-width: 50ch;
	color: var( --sla-ink-soft );
	font-size: 1rem;
	line-height: 1.7;
}

.sla-thanks-hero__lotus {
	width: 44px;
	height: 44px;
	margin-top: 1rem;
	opacity: 0.9;
}

/* Petals — six tiny CSS shapes drifting gently (no images, no library). */
.sla-petals {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.sla-petals i {
	position: absolute;
	width: 12px;
	height: 18px;
	border-radius: 80% 0 80% 0;
	background: var( --sla-lotus-pink );
	opacity: 0.55;
	animation: sla-petal 7s ease-in-out infinite alternate;
}

.sla-petals i:nth-child( 1 ) { top: 9%; left: 8%; transform: rotate( -25deg ); }
.sla-petals i:nth-child( 2 ) { top: 14%; right: 9%; background: #c9405f; opacity: 0.45; animation-delay: -2s; }
.sla-petals i:nth-child( 3 ) { top: 46%; left: 4%; width: 10px; height: 22px; background: color-mix( in srgb, var( --sla-variant-2 ) 70%, #b5c48a ); opacity: 0.4; animation-delay: -4s; }
.sla-petals i:nth-child( 4 ) { right: 6%; bottom: 22%; background: var( --sla-champagne-gold ); opacity: 0.5; animation-delay: -1s; }
.sla-petals i:nth-child( 5 ) { bottom: 10%; left: 16%; width: 9px; height: 13px; background: var( --sla-champagne-gold ); opacity: 0.45; animation-delay: -3s; }
.sla-petals i:nth-child( 6 ) { top: 6%; left: 58%; width: 9px; height: 14px; animation-delay: -5s; }

@keyframes sla-petal {
	from {
		translate: 0 0;
		rotate: -18deg;
	}

	to {
		translate: 6px 14px;
		rotate: 22deg;
	}
}

/* Order info strip. */
.sla-shopping ul.sla-order-strip {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	margin: 0;
	padding: clamp( 0.9rem, 1.6vw, 1.25rem ) 0;
	list-style: none;
}

.sla-shopping ul.sla-order-strip li.sla-order-strip__item {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	float: none;
	min-width: 0;
	margin: 0;
	padding: 0.35rem clamp( 0.9rem, 2vw, 1.75rem );
	border: 0;
	font-size: 1rem;
	line-height: 1.3;
	text-transform: none;
}

.sla-shopping ul.sla-order-strip li.sla-order-strip__item + li {
	border-left: 1px solid var( --sla-line );
}

.sla-order-strip__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: color-mix( in srgb, var( --sla-accent ) 13%, #fff );
	color: var( --sla-accent-deep );
}

.sla-shopping .sla-order-strip__icon svg {
	width: 1.45rem;
	height: 1.45rem;
}

.sla-order-strip__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sla-order-strip__label {
	color: var( --sla-muted );
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.sla-shopping .sla-order-strip strong.sla-order-strip__value {
	display: block;
	margin-top: 0.15rem;
	color: var( --sla-ink );
	font-family: var( --sla-font-display );
	font-size: clamp( 1.2rem, 1.05rem + 0.45vw, 1.5rem );
	font-weight: 700;
	line-height: 1.15;
	text-transform: none;
	overflow-wrap: anywhere;
}

.sla-thanks-note,
.sla-shopping .sla-thanks-gateway {
	margin-top: calc( -1 * var( --sla-gap ) + 0.85rem );
	color: var( --sla-ink-soft );
	font-size: 0.9rem;
	text-align: center;
}

.sla-shopping .sla-thanks-gateway p {
	display: inline-block;
	margin: 0;
	padding: 0.35rem 1rem;
	border: 1px dashed var( --sla-line );
	border-radius: 999px;
	background: #fff;
}

/* Details + address panels. */
.sla-shopping .sla-thanks-grid {
	display: grid;
	grid-template-columns: minmax( 0, 1.65fr ) minmax( 0, 1fr );
	gap: var( --sla-gap );
	align-items: start;
}

.sla-shopping .sla-panel {
	overflow: hidden;
}

.sla-panel__head {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 0.85rem;
	padding: 1.05rem clamp( 1.1rem, 2vw, 1.6rem );
	background:
		radial-gradient( 300px 120px at 100% 0, rgba( 199, 154, 69, 0.18 ), transparent 70% ),
		linear-gradient( 120deg, var( --sla-deep-navy ) 0%, var( --sla-peacock-navy ) 55%, #0d5266 100% );
	border-bottom: 2px solid var( --sla-champagne-gold );
	color: var( --sla-ivory );
}

.sla-panel__icon {
	display: inline-flex;
	color: var( --sla-light-gold );
}

.sla-shopping .sla-panel__icon svg {
	width: 1.6rem;
	height: 1.6rem;
}

.sla-shopping .sla-panel__title {
	flex: 1 1 auto;
	color: var( --sla-ivory );
	font-size: clamp( 1.4rem, 1.25rem + 0.5vw, 1.75rem );
}

.sla-panel__status {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35rem 0.85rem 0.35rem 0.55rem;
	border-radius: 999px;
	background: var( --sla-variant-2 );
	color: #fff;
	font-size: 0.8rem;
	font-weight: 700;
}

.sla-panel__status--on-hold,
.sla-panel__status--pending {
	background: var( --sla-variant-4 );
}

.sla-shopping .sla-panel__status svg {
	width: 1.05rem;
	height: 1.05rem;
}

.sla-panel__body {
	padding: clamp( 1rem, 2vw, 1.5rem );
}

.sla-shopping table.sla-order-table {
	width: 100%;
	margin: 0;
	border: 1px solid var( --sla-line-soft );
	border-radius: 12px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.sla-shopping table.sla-order-table th,
.sla-shopping table.sla-order-table td {
	padding: 0.85rem 1rem;
	border: 0;
	background: none;
	color: var( --sla-ink );
	text-align: left;
	vertical-align: middle;
}

.sla-shopping table.sla-order-table thead th {
	background: color-mix( in srgb, var( --sla-variant-5 ) 6%, #fff );
	border-bottom: 1px solid var( --sla-line-soft );
	font-size: 0.85rem;
	font-weight: 700;
}

.sla-shopping table.sla-order-table tbody td {
	border-bottom: 1px solid var( --sla-line-soft );
	font-weight: 600;
}

.sla-shopping table.sla-order-table tbody tr:last-child td {
	border-bottom: 0;
}

.sla-shopping table.sla-order-table .product-price,
.sla-shopping table.sla-order-table .product-quantity {
	text-align: center;
}

.sla-shopping table.sla-order-table .product-total {
	text-align: right;
	white-space: nowrap;
}

.sla-shopping table.sla-order-table td.product-total {
	font-weight: 800;
}

.sla-order-line {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.sla-shopping .sla-order-line__media img {
	display: block;
	width: 68px;
	height: 68px;
	object-fit: cover;
	border: 1px solid var( --sla-line-soft );
	border-left: 3px solid var( --sla-accent );
	border-radius: 8px;
	background: var( --sla-ivory );
}

.sla-order-line__info {
	min-width: 0;
}

.sla-order-line__name {
	font-family: var( --sla-font-display );
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.2;
}

.sla-shopping .sla-order-line__name a {
	color: var( --sla-ink );
	text-decoration: none;
}

.sla-shopping .sla-order-line .wc-item-meta {
	margin: 0.2rem 0 0;
	padding: 0;
	list-style: none;
	color: var( --sla-muted );
	font-size: 0.8rem;
}

.sla-shopping table.sla-order-totals {
	margin-top: 0.9rem;
}

.sla-shopping table.sla-order-totals th,
.sla-shopping table.sla-order-totals td {
	padding-inline: 1rem;
}

/* Address panel. */
.sla-shopping .sla-address {
	position: relative;
}

.sla-shopping .sla-address__body {
	position: relative;
	display: grid;
	gap: 1.25rem;
	min-height: 220px;
}

.sla-shopping .sla-address__body::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 46%;
	aspect-ratio: 546 / 1024;
	max-height: 100%;
	background: var( --sla-art-mandala, none ) right top / contain no-repeat;
	opacity: 0.16;
	pointer-events: none;
}

.sla-shopping address.sla-address__block {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0.7rem;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: var( --sla-ink );
	font-size: 0.98rem;
	font-style: normal;
	line-height: 1.55;
}

.sla-address__kind {
	color: var( --sla-antique-gold );
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.sla-shopping .sla-address__line {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
	margin: 0;
	padding: 0;
	overflow-wrap: anywhere;
}

.sla-shopping .sla-address__line svg {
	width: 1.2rem;
	height: 1.2rem;
	margin-top: 0.15rem;
	color: var( --sla-variant-4 );
}

.sla-shopping .sla-address__line--name {
	font-weight: 700;
}

.sla-shopping .sla-address__line--name svg {
	color: var( --sla-peacock-navy );
}

.sla-shopping .woocommerce-customer-details--phone::before,
.sla-shopping .woocommerce-customer-details--email::before {
	content: none !important;
}

.sla-shopping .sla-address .woocommerce-customer-details--phone,
.sla-shopping .sla-address .woocommerce-customer-details--email {
	padding-left: 0 !important;
	text-indent: 0;
}

/* Action buttons. */
.sla-shopping .sla-thanks-actions {
	display: grid;
	grid-template-columns: repeat( var( --sla-actions, 3 ), minmax( 0, 1fr ) );
	gap: 1rem;
}

.sla-shopping a.sla-action {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	min-height: 62px;
	padding: 0.85rem 1.25rem;
	background: var( --sla-accent ) linear-gradient( 180deg, var( --sla-accent-light ) 0%, var( --sla-accent ) 55%, var( --sla-accent-deep ) 100% );
	border: 1px solid var( --sla-accent-deep );
	border-radius: 12px;
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.22 ), 0 14px 26px -18px var( --sla-accent-deep );
	color: var( --sla-accent-text );
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
	transition: filter 220ms ease, transform 220ms ease;
}

.sla-action__icon,
.sla-action__arrow {
	display: inline-flex;
}

.sla-shopping .sla-action__icon svg {
	width: 1.5rem;
	height: 1.5rem;
}

.sla-action__label {
	flex: 1;
}

.sla-shopping .sla-action__arrow svg {
	width: 1.2rem;
	height: 1.2rem;
	transition: transform 220ms ease;
}

@media ( hover: hover ) {
	.sla-shopping a.sla-action:hover {
		filter: brightness( 1.08 );
		color: var( --sla-accent-text );
		transform: translateY( -2px );
	}

	.sla-shopping a.sla-action:hover .sla-action__arrow svg {
		transform: translateX( 3px );
	}
}

.sla-shopping .sla-thanks-failed {
	padding: clamp( 1.25rem, 3vw, 2rem );
	text-align: center;
}

.sla-shopping .sla-thanks-failed .woocommerce-thankyou-order-failed-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1rem;
}

.sla-shopping .sla-thanks-failed a.sla-btn-primary {
	width: auto;
	min-width: 180px;
}

/* --- Order confirmation responsive -------------------------------- */
@media ( max-width: 1099px ) {
	.sla-shopping ul.sla-order-strip {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		row-gap: 0.9rem;
	}

	.sla-shopping ul.sla-order-strip li.sla-order-strip__item:nth-child( 3 ) {
		border-left: 0;
	}

	.sla-shopping .sla-thanks-grid {
		grid-template-columns: minmax( 0, 1fr );
	}
}

@media ( max-width: 899px ) {
	.sla-shopping .sla-thanks-hero {
		grid-template-columns: 1fr;
	}

	.sla-thanks-hero__visual {
		border-radius: calc( var( --sla-radius ) + 3px ) calc( var( --sla-radius ) + 3px ) 0 0;
	}

	.sla-shopping .sla-thanks-hero__visual .sla-banner {
		min-height: 0;
		aspect-ratio: 720 / 440;
	}

	.sla-shopping .sla-thanks-hero__visual .sla-banner--placeholder {
		border-width: 0 0 2px;
	}

	.sla-shopping .sla-thanks-actions {
		grid-template-columns: repeat( auto-fit, minmax( 220px, 1fr ) );
	}
}

/* Phones: the hero leads with the message; a grey placeholder (no
 * approved banner yet) is not shown here at all. */
@media ( max-width: 599px ) {
	.sla-shopping .sla-thanks-hero__visual:has( .sla-banner--placeholder ) {
		display: none;
	}

	.sla-shopping .sla-thanks-hero__visual {
		order: 2;
	}

	.sla-shopping table.sla-order-table thead {
		display: none;
	}

	.sla-shopping table.sla-order-table,
	.sla-shopping table.sla-order-table tbody {
		display: block;
	}

	.sla-shopping table.sla-order-table tr.order_item {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		border-bottom: 1px solid var( --sla-line-soft );
	}

	.sla-shopping table.sla-order-table tr.order_item:last-child {
		border-bottom: 0;
	}

	.sla-shopping table.sla-order-table tr.order_item td {
		border: 0;
		padding: 0.6rem 0.85rem;
	}

	.sla-shopping table.sla-order-table tr.order_item td.product-name {
		grid-column: 1 / -1;
		padding-top: 0.9rem;
	}

	.sla-shopping table.sla-order-table tr.order_item td:not( .product-name ) {
		padding-top: 0;
		padding-bottom: 0.9rem;
		text-align: left;
	}

	.sla-shopping table.sla-order-table tr.order_item td:not( .product-name )::before {
		content: attr( data-title );
		display: block;
		color: var( --sla-muted );
		font-size: 0.68rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.sla-shopping table.sla-order-table tr.order_item td.product-total {
		text-align: right;
	}

	.sla-shopping .sla-thanks-actions {
		grid-template-columns: 1fr;
	}

	.sla-shopping table.sla-totals tr.order-total th {
		font-size: 1.25rem;
	}

	.sla-shopping table.sla-totals tr.order-total td {
		font-size: 1.4rem;
	}
}

@media ( max-width: 379px ) {
	.sla-shopping ul.sla-order-strip {
		grid-template-columns: 1fr;
	}

	.sla-shopping ul.sla-order-strip li.sla-order-strip__item + li {
		border-left: 0;
		border-top: 1px solid var( --sla-line-soft );
		padding-top: 0.9rem;
	}

	.sla-shopping .sla-thanks-hero__lead::before,
	.sla-shopping .sla-thanks-hero__lead::after {
		display: none;
	}
}

/* =======================================================================
 * 10. Motion preferences
 * ===================================================================== */
@media ( prefers-reduced-motion: reduce ) {
	.sla-shopping *,
	.sla-shopping *::before,
	.sla-shopping *::after {
		animation: none !important;
		transition: none !important;
	}

	.sla-shopping .sla-thanks-hero__check svg {
		stroke-dashoffset: 0;
	}
}

/* Fields whose label is visually hidden by WooCommerce (e.g. address line 2) centre their text. */
.sla-shopping .sla-checkout .form-row:has( > label.screen-reader-text ) .input-text {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

/* WooCommerce's clearfix pseudo-elements on ul.order_details must not become grid cells. */
.sla-shopping ul.sla-order-strip::before,
.sla-shopping ul.sla-order-strip::after {
	content: none;
	display: none;
}

/* Checkout error group: maroon accent, left-aligned list. */
.sla-shopping .woocommerce-NoticeGroup ul.woocommerce-error,
.sla-shopping ul.woocommerce-error {
	border-left-color: var( --sla-variant-3 );
	text-align: left;
}

.sla-shopping .woocommerce-error a {
	text-decoration: none;
}

/* WooCommerce marks completed fields "validated": keep them calm, not green. */
.sla-shopping .sla-checkout .form-row.woocommerce-validated .input-text,
.sla-shopping .sla-checkout .form-row.woocommerce-validated select,
.sla-shopping .sla-checkout .form-row.woocommerce-validated .select2-selection {
	border-color: var( --sla-field-line );
}

@media ( max-width: 599px ) {
	.sla-shopping ul.sla-order-strip li.sla-order-strip__item {
		gap: 0.6rem;
		padding-inline: 0.75rem;
	}

	.sla-order-strip__icon {
		width: 40px;
		height: 40px;
	}

	.sla-order-strip__label {
		letter-spacing: 0.08em;
	}
}
