/*
 * Al Shariqa — "Verre" : immersive frosted-glass layer (homepage).
 * Version: 1.0.0
 *
 * Loaded LAST on the front page (after alsq-home + alsq-shell) so it re-skins the
 * approved concept: warm-white atmosphere + frosted-glass panels floating over the
 * photography. Chosen settings: blur 16 · teinte 0.46 · gold filet on · rounded 14.
 * Tokens live in alsq-design-system.css (--alsq-glass-*). Remove this one enqueue
 * to fully revert. Frost is wrapped in @supports with an opaque solid fallback.
 */

/* ------------------------------------------------------------------ *
 * 1. Atmosphere — warm-white ground, fixed, revealed by transparent   *
 *    section backgrounds so the glass has one continuous field.       *
 * ------------------------------------------------------------------ */
body {
	background:
		radial-gradient(58% 42% at 85% 0, rgba(199, 154, 59, 0.09), transparent 60%),
		linear-gradient(172deg, #fdfaf6 0%, #f7efe6 58%, #efe3d6 100%);
	background-attachment: fixed;
}

.alsq-home__products,
.alsq-home__products-inner,
.alsq-home__services,
.alsq-home__collection-products {
	background: transparent !important;
}

/* ------------------------------------------------------------------ *
 * 2. Reusable frost — opaque fallback first, translucent under support *
 * ------------------------------------------------------------------ */
.alsq-home__hero-plaque,
.alsq-home__editorial-copy {
	border-radius: var(--alsq-glass-radius);
	background: rgba(60, 9, 26, 0.9); /* fallback: near-opaque wine */
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.alsq-home__hero-plaque,
	.alsq-home__editorial-copy {
		background: var(--alsq-glass-wine-card);
		-webkit-backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.12);
		backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.12);
	}
}

/* ------------------------------------------------------------------ *
 * 3. Hero plaque — from solid wine to frosted glass over the slide    *
 * ------------------------------------------------------------------ */
.alsq-home__hero-plaque {
	background: rgba(60, 9, 26, 0.9) !important; /* fallback */
	box-shadow: 0 24px 60px rgba(43, 9, 29, 0.42);
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.alsq-home__hero-plaque {
		background: var(--alsq-glass-wine-card) !important;
		-webkit-backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.12);
		backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.12);
	}
}

/* keep the couture gold double-filet, rounded to match */
.alsq-home__hero-plaque::before {
	border-color: var(--alsq-glass-hairline);
	border-radius: calc(var(--alsq-glass-radius) - 4px);
}
.alsq-home__hero-plaque::after {
	border-color: var(--alsq-glass-hairline-soft);
	border-radius: calc(var(--alsq-glass-radius) - 6px);
}

/* ------------------------------------------------------------------ *
 * 4. Collection bands — full-bleed photo + floating glass copy-card    *
 *    (was a 2-column split: photo | solid panel)                      *
 * ------------------------------------------------------------------ */
.alsq-home__editorial {
	display: block !important;
	position: relative;
	min-height: clamp(24rem, 40vw, 34rem);
	background: transparent !important;
}

/* photo fills the whole band */
.alsq-home__editorial-media {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

/* copy becomes an absolutely-centred glass card */
.alsq-home__editorial-copy {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: min(29rem, 74%);
	max-width: none;
	padding: clamp(1.6rem, 3vw, 2.6rem) !important;
	border: 1px solid var(--alsq-glass-hairline);
	box-shadow: 0 24px 60px rgba(43, 9, 29, 0.42);
	background: rgba(60, 9, 26, 0.9) !important; /* fallback (overridden below) */
}

/* default band → card on the right; flipped band → card on the left */
.alsq-home__editorial .alsq-home__editorial-copy {
	right: clamp(1rem, 5vw, 4rem);
	left: auto;
}
.alsq-home__editorial--flip .alsq-home__editorial-copy {
	left: clamp(1rem, 5vw, 4rem);
	right: auto;
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.alsq-home__editorial-copy {
		background: var(--alsq-glass-wine-card) !important;
		-webkit-backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.12);
		backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.12);
	}
}

/* inner gold filet on the copy card */
.alsq-home__editorial-copy::after {
	content: "";
	position: absolute;
	inset: 9px;
	border: 1px solid var(--alsq-glass-hairline-soft);
	border-radius: calc(var(--alsq-glass-radius) - 5px);
	pointer-events: none;
}

/* Desktop hero: show the FULL, untouched product photo anchored to the LEFT
 * (true colours, no crop, no tint); the wine field fills the right for the plaque. */
@media (min-width: 960px) {
	.alsq-home__hero-slide-picture img { object-fit: contain !important; object-position: left center !important; }
}

/* The framed band images are pre-composed full-figure on ivory, so just centre
 * them — override the legacy per-image / per-breakpoint object-position tuning. */
.alsq-home__collection .alsq-home__editorial-picture img,
.alsq-home__collection .alsq-home__editorial-picture,
.alsq-home__collection .alsq-home__editorial-media img {
	object-position: center center !important;
}

/* card text is light on the wine glass (was dark on the old ivory panel) */
.alsq-home__editorial h2 { color: var(--alsq-ivory) !important; }
.alsq-home__editorial .alsq-home__eyebrow { color: var(--alsq-gold-soft) !important; }
.alsq-home__editorial-copy > p:not(.alsq-home__eyebrow) { color: var(--alsq-ivory) !important; }

/* Subcategory quick-links: gold-filet pills under the band copy, hover to gold. */
.alsq-home__subpills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.1rem 0 1.6rem;
}
.alsq-home__subpill {
	display: inline-block;
	font-family: var(--alsq-body-font);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.42rem 0.85rem;
	border: 1px solid var(--alsq-glass-hairline);
	border-radius: 999px;
	color: var(--alsq-blush);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.alsq-home__subpill:hover,
.alsq-home__subpill:focus-visible {
	background: var(--alsq-gold);
	border-color: var(--alsq-gold);
	color: var(--alsq-wine-deep);
}

/* A soft wine halo keeps the light text legible even where the frosted card sits
 * over a pale part of the photo — lets the glass stay translucent (0.62). */
.alsq-home__hero-plaque .alsq-home__hero-copy,
.alsq-home__editorial-copy > * {
	text-shadow: 0 1px 10px rgba(43, 9, 29, 0.55), 0 1px 2px rgba(43, 9, 29, 0.4);
}
.alsq-home__editorial-copy .alsq-home__button--light,
.alsq-home__hero-actions * { text-shadow: none; }

/* ------------------------------------------------------------------ *
 * 5. Header + campaign — frosted translucent, blurs content on scroll *
 * ------------------------------------------------------------------ */
#site-header .site-header__desktop .site-header__container,
#site-header .site-header__mobile .site-header__container,
#site-header.gz-header-sticky-visible .site-header__container {
	background: rgba(250, 245, 240, 0.9) !important; /* fallback */
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	#site-header .site-header__desktop .site-header__container,
	#site-header .site-header__mobile .site-header__container,
	#site-header.gz-header-sticky-visible .site-header__container {
		background: var(--alsq-glass-ivory) !important;
		-webkit-backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.2);
		backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.2);
	}
}

/* ------------------------------------------------------------------ *
 * 6. Services — three frosted glass chips over the atmosphere         *
 * ------------------------------------------------------------------ */
.alsq-home__services {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

.alsq-home__services-list {
	gap: clamp(0.7rem, 1.6vw, 1.3rem);
}

.alsq-home__services-list li {
	border: 1px solid var(--alsq-glass-hairline) !important;
	border-radius: var(--alsq-glass-radius);
	padding: 1.15rem clamp(1rem, 2vw, 1.5rem) !important;
	box-shadow: 0 16px 40px rgba(43, 9, 29, 0.18);
	background: rgba(60, 9, 26, 0.9); /* fallback */
}

/* Over the plain-white section there is nothing to frost, so the chips carry a
 * solid-enough wine so their light text stays legible (a "wine echo" of the glass). */
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.alsq-home__services-list li {
		background: var(--alsq-glass-wine-solid);
		-webkit-backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.1);
		backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.1);
	}
}

/* the split-divider between chips is no longer needed */
.alsq-home__services-list li + li {
	border-left: 1px solid var(--alsq-glass-hairline) !important;
}

/* light text + gold icon on the wine chip */
.alsq-home__services-list strong { color: var(--alsq-ivory) !important; }
.alsq-home__services-list small { color: var(--alsq-blush) !important; }
.alsq-home__services-list a { color: var(--alsq-gold-soft) !important; }
.alsq-home__service-icon {
	border-color: var(--alsq-glass-hairline) !important;
	color: var(--alsq-gold-soft) !important;
}

/* ------------------------------------------------------------------ *
 * 6b. Product cards — frosted name/price footer over the photo        *
 * ------------------------------------------------------------------ */
.alsq-home__products-grid li.product .product-inner {
	position: relative;
}

.alsq-home__products-grid .product-thumbnail {
	border-radius: var(--alsq-glass-radius) !important;
}

/* the bottom slide-up quick-add would fight the footer; the whole card links
 * through to the product, so drop it on the home showcase. */
.alsq-home__products-grid .product-featured-icons--second {
	display: none !important;
}

.alsq-home__products-grid .product-summary {
	position: absolute !important;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	margin: 0 !important;
	padding: 0.8rem 1rem 0.85rem !important;
	border-top: 1px solid var(--alsq-glass-hairline);
	border-radius: 0 0 var(--alsq-glass-radius) var(--alsq-glass-radius);
	background: rgba(60, 9, 26, 0.88); /* fallback */
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.alsq-home__products-grid .product-summary {
		background: var(--alsq-glass-wine-solid);
		-webkit-backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.1);
		backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.1);
	}
}

/* one-line title + gold price, light on the wine footer */
.alsq-home__products-grid .woocommerce-loop-product__title {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.alsq-home__products-grid .woocommerce-loop-product__title a { color: var(--alsq-ivory) !important; }
.alsq-home__products-grid .price { margin-top: 0.15rem !important; }
/* the amount span carries its own wine colour — force gold on the wine footer */
.alsq-home__products-grid .price,
.alsq-home__products-grid .price ins,
.alsq-home__products-grid .price ins .woocommerce-Price-amount,
.alsq-home__products-grid .price > .woocommerce-Price-amount,
.alsq-home__products-grid .price bdi {
	color: var(--alsq-gold-soft) !important;
}
.alsq-home__products-grid .price del,
.alsq-home__products-grid .price del .woocommerce-Price-amount,
.alsq-home__products-grid .price del bdi {
	color: rgba(235, 211, 206, 0.5) !important;
}
/* Colours are hidden on the homepage cards (kept on shop/category pages). */
.alsq-home__products-grid .alsq-swatch-dots { display: none !important; }

/* "Commander" call-to-action in the glass footer, links to the product page. */
.alsq-home__products-grid .alsq-home__commander {
	display: block;
	margin-top: 0.6rem;
	padding: 0.5rem 0.9rem;
	background: var(--alsq-gold);
	color: var(--alsq-wine-deep);
	font-family: var(--alsq-body-font);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	border-radius: 6px;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.alsq-home__products-grid .alsq-home__commander:hover,
.alsq-home__products-grid .alsq-home__commander:focus-visible {
	background: var(--alsq-gold-soft);
	color: var(--alsq-wine-deep);
}

/* ------------------------------------------------------------------ *
 * 6c. Thin collections — don't stretch 2 products across a 4-col grid  *
 *     (Homme has 2). Size + centre the row to match the product count. *
 * ------------------------------------------------------------------ */
@media (min-width: 1024px) {
	/* fewer than 4 products → centred, capped-width columns instead of 4× 1fr */
	.alsq-home__collection-grid ul.products:not(:has(li.product:nth-child(4))) {
		grid-template-columns: repeat(3, minmax(0, 19rem)) !important;
		justify-content: center;
	}
	.alsq-home__collection-grid ul.products:not(:has(li.product:nth-child(3))) {
		grid-template-columns: repeat(2, minmax(0, 21rem)) !important;
	}
	.alsq-home__collection-grid ul.products:not(:has(li.product:nth-child(2))) {
		grid-template-columns: minmax(0, 22rem) !important;
	}
}

/* ------------------------------------------------------------------ *
 * 7. Mobile — the hero plaque was already Style-B glass; round it and  *
 *    align it to the shared tokens.                                   *
 * ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.alsq-home__hero-plaque {
		border-radius: var(--alsq-glass-radius) !important;
	}
	.alsq-home__hero-plaque::before {
		border-radius: calc(var(--alsq-glass-radius) - 4px) !important;
	}
	/* Bands stack: photo returns to the flow (4:3), then a glass card overlaps its
	 * base — the same idea as the mobile hero Style-B card. */
	.alsq-home__editorial-media {
		position: relative !important;
		inset: auto !important;
		height: auto !important;
		aspect-ratio: 4 / 3;
	}
	.alsq-home__editorial-copy {
		position: relative;
		top: auto;
		transform: none;
		width: auto;
		left: auto !important;
		right: auto !important;
		margin: -2.75rem 14px 0 !important;
	}
}

/* ================================================================== *
 * 8. Tabbed collections — one section replaces the 3 stacked bands.   *
 * ================================================================== */
.alsq-home__collections { padding: clamp(3rem, 6vw, 5.5rem) 0; }
.alsq-home__collections-inner {
	max-width: var(--alsq-home-max, 74rem);
	margin: 0 auto;
	padding: 0 var(--alsq-home-pad, clamp(1rem, 4vw, 3rem));
}
.alsq-home__collections-head { text-align: center; margin-bottom: clamp(1.6rem, 3vw, 2.4rem); }
.alsq-home__collections-head h2 {
	font-family: var(--alsq-display-font);
	font-weight: 500;
	color: var(--alsq-brand);
	font-size: clamp(2rem, 4.4vw, 3rem);
	margin: 0;
	line-height: 1.05;
}
.alsq-home__collections-head .alsq-home__eyebrow { color: var(--alsq-gold); }

.alsq-home__tabs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: clamp(1.2rem, 4vw, 3rem);
	margin-top: 1.4rem;
}
.alsq-home__tab {
	position: relative;
	background: none;
	border: 0;
	cursor: pointer;
	font-family: var(--alsq-body-font);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--alsq-muted, #6f686b);
	padding: 0.5rem 0.2rem;
	transition: color 0.2s ease;
}
.alsq-home__tab::after {
	content: "";
	position: absolute;
	left: 0.2rem;
	right: 0.2rem;
	bottom: 0;
	height: 2px;
	background: var(--alsq-gold);
	transform: scaleX(0);
	transition: transform 0.25s ease;
}
.alsq-home__tab:hover,
.alsq-home__tab.is-active { color: var(--alsq-brand); }
.alsq-home__tab.is-active::after { transform: scaleX(1); }

.alsq-home__panel { display: none; }
.alsq-home__panel.is-active { display: block; animation: alsq-panel-fade 0.45s ease; }
@keyframes alsq-panel-fade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.alsq-home__cband {
	position: relative;
	/* match the 21:9 desktop band image so it crops only the ivory sides, never the
	 * subject (these images were regenerated to be full-figure / uncropped). */
	aspect-ratio: 21 / 9;
	overflow: hidden;
	border-radius: var(--alsq-glass-radius);
	margin-bottom: clamp(1.4rem, 3vw, 2.2rem);
	background: var(--alsq-ivory-warm, #f2e9e2);
}
.alsq-home__cband-media,
.alsq-home__cband-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.alsq-home__cband-media img { object-fit: cover; object-position: center; }
.alsq-home__cband-card {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: min(27rem, 74%);
	padding: clamp(1.4rem, 2.6vw, 2.2rem);
	border-radius: var(--alsq-glass-radius);
	border: 1px solid var(--alsq-glass-hairline);
	box-shadow: 0 24px 60px rgba(43, 9, 29, 0.42);
	color: var(--alsq-ivory);
	background: rgba(60, 9, 26, 0.9); /* fallback */
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.alsq-home__cband-card {
		background: var(--alsq-glass-wine-card);
		-webkit-backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.1);
		backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.1);
	}
}
.alsq-home__cband-card::after {
	content: "";
	position: absolute;
	inset: 9px;
	border: 1px solid var(--alsq-glass-hairline-soft);
	border-radius: calc(var(--alsq-glass-radius) - 5px);
	pointer-events: none;
}
.alsq-home__cband--right .alsq-home__cband-card { right: clamp(1rem, 4vw, 3rem); }
.alsq-home__cband--left .alsq-home__cband-card { left: clamp(1rem, 4vw, 3rem); }
.alsq-home__cband-card > * { text-shadow: 0 1px 10px rgba(43, 9, 29, 0.55); }
.alsq-home__cband-card h3 {
	font-family: var(--alsq-display-font);
	font-weight: 500;
	font-size: clamp(1.7rem, 3.2vw, 2.5rem);
	color: var(--alsq-ivory);
	margin: 0;
	line-height: 1.05;
}
.alsq-home__cband-card p { color: var(--alsq-ivory); margin: 0.6rem 0 1rem; font-size: 0.95rem; }
.alsq-home__cband-card .alsq-home__eyebrow { color: var(--alsq-gold-soft); margin-bottom: 0.6rem; }
.alsq-home__cband-card .alsq-home__subpills { margin: 0.1rem 0 1.2rem; }
.alsq-home__cband-card .alsq-home__button--light { text-shadow: none; }

/* each collection (band + its products) is one block; space the blocks apart */
.alsq-home__collection-block { margin-bottom: clamp(2.75rem, 5.5vw, 4.75rem); }
.alsq-home__collection-block:last-child { margin-bottom: 0; }
.alsq-home__collection-block .alsq-home__products-grid { margin: 0; }

@media (max-width: 767px) {
	.alsq-home__cband { aspect-ratio: auto; height: auto; }
	.alsq-home__cband-media { position: relative; inset: auto; height: auto; aspect-ratio: 4 / 3; }
	.alsq-home__cband-card {
		position: relative;
		top: auto;
		transform: none;
		width: auto;
		left: auto !important;
		right: auto !important;
		margin: -2.75rem 12px 0;
	}
}

/* ================================================================== *
 * 9. Site-wide "Verre" — commerce pages (shop / category / product).  *
 *    The homepage keeps its own showcase cards (section 6b) above.    *
 * ================================================================== */

/* Shop & archive product cards: rounded + soft lift, like the homepage. */
body:not(.home) ul.products li.product .product-thumbnail {
	border-radius: var(--alsq-glass-radius);
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(77, 8, 31, 0.07);
}
body:not(.home) ul.products li.product .woocommerce-loop-product__title,
body:not(.home) ul.products li.product .woocommerce-loop-product__title a {
	font-family: var(--alsq-display-font);
}

/* Single product: round the gallery images to match. */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a,
.single-product .woocommerce-product-gallery__image img,
.single-product .flex-viewport {
	border-radius: var(--alsq-glass-radius);
	overflow: hidden;
}

/* ================================================================== *
 * 10. Deep site-wide pass — shop glass cards, product-page selectors  *
 *     + order form, cart/checkout accents.                            *
 * ================================================================== */

/* ---- Shop / archive product cards → glass footer + Commander (like home) ---- */
body:not(.home) ul.products li.product .product-inner { position: relative; }
body:not(.home) ul.products li.product .product-featured-icons--primary,
body:not(.home) ul.products li.product .product-featured-icons--second,
body:not(.home) ul.products li.product .alsq-swatch-dots,
body:not(.home) ul.products li.product .product-summary > a.button,
body:not(.home) ul.products li.product .product-summary .add_to_cart_button {
	display: none !important;
}

body:not(.home) ul.products li.product .product-summary {
	position: absolute !important;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	margin: 0 !important;
	padding: 0.8rem 1rem 0.85rem !important;
	border-top: 1px solid var(--alsq-glass-hairline);
	border-radius: 0 0 var(--alsq-glass-radius) var(--alsq-glass-radius);
	background: rgba(60, 9, 26, 0.88); /* fallback */
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	body:not(.home) ul.products li.product .product-summary {
		background: var(--alsq-glass-wine-solid);
		-webkit-backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.1);
		backdrop-filter: blur(var(--alsq-glass-blur)) saturate(1.1);
	}
}
body:not(.home) ul.products li.product .woocommerce-loop-product__title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
body:not(.home) ul.products li.product .woocommerce-loop-product__title,
body:not(.home) ul.products li.product .woocommerce-loop-product__title a {
	color: var(--alsq-ivory) !important;
}
body:not(.home) ul.products li.product .price,
body:not(.home) ul.products li.product .price ins .woocommerce-Price-amount,
body:not(.home) ul.products li.product .price bdi {
	color: var(--alsq-gold-soft) !important;
}
body:not(.home) ul.products li.product .price del,
body:not(.home) ul.products li.product .price del .woocommerce-Price-amount {
	color: rgba(235, 211, 206, 0.5) !important;
}
body:not(.home) ul.products li.product .woocommerce-badges { z-index: 4; }

/* Commander CTA in the shop footer (same gold button as the homepage) */
body:not(.home) ul.products li.product .alsq-home__commander {
	display: block;
	margin-top: 0.6rem;
	padding: 0.5rem 0.9rem;
	background: var(--alsq-gold);
	color: var(--alsq-wine-deep);
	font-family: var(--alsq-body-font);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	border-radius: 6px;
	transition: background-color 0.2s ease;
}
body:not(.home) ul.products li.product .alsq-home__commander:hover {
	background: var(--alsq-gold-soft);
}

/* ---- Single product: gold-accent the size / colour selectors ---- */
.single-product .wcboost-variation-swatches__item {
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.single-product .wcboost-variation-swatches__item:hover {
	border-color: var(--alsq-gold) !important;
}
.single-product .wcboost-variation-swatches__item.selected {
	border-color: var(--alsq-gold) !important;
	box-shadow: 0 0 0 1px var(--alsq-gold);
}

/* ---- Buttons + form fields: rounded, brand — site-wide ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button.alt,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.wc-proceed-to-checkout a.button,
.single-product form input[type="text"],
.single-product form input[type="tel"],
.single-product form input[type="email"],
.single-product form select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
	border-radius: 6px !important;
}

/* ---- Cart / checkout: round the panels, subtle gold filet ---- */
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce table.shop_table {
	border-radius: var(--alsq-glass-radius);
	overflow: hidden;
}
.woocommerce table.shop_table,
.woocommerce-cart .cart_totals {
	border: 1px solid var(--alsq-border) !important;
}

/* ================================================================== *
 * 11. Frosted panels — product-page order form + cart cards.         *
 * ================================================================== */

/* --- Commande Rapide (Utopia fast checkout) → frosted glass card --- */
.single-product div:has(> h3):has(.order-summary) {
	border-radius: var(--alsq-glass-radius) !important;
	overflow: hidden;
	border: 1px solid var(--alsq-glass-hairline) !important;
	box-shadow: 0 20px 50px rgba(43, 9, 29, 0.12);
	background: rgba(250, 245, 240, 0.85); /* fallback */
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.single-product div:has(> h3):has(.order-summary) {
		background: rgba(250, 245, 240, 0.62);
		-webkit-backdrop-filter: blur(14px) saturate(1.1);
		backdrop-filter: blur(14px) saturate(1.1);
	}
}
.single-product .order-summary {
	border-radius: calc(var(--alsq-glass-radius) - 2px);
	border: 1px solid var(--alsq-glass-hairline);
	background: rgba(247, 239, 230, 0.55);
	padding: 1rem 1.1rem !important;
}
.single-product .order-line.total,
.single-product .order-line.total .amount,
.single-product .order-line.total bdi {
	color: var(--alsq-bronze) !important;
	font-weight: 700;
}

/* --- Cart: product table + totals as frosted floating cards --- */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart_totals {
	border-radius: var(--alsq-glass-radius) !important;
	box-shadow: 0 16px 40px rgba(43, 9, 29, 0.08);
}
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart_totals {
	background: rgba(255, 253, 251, 0.8); /* fallback */
	border: 1px solid var(--alsq-glass-hairline) !important;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.woocommerce-cart table.shop_table,
	.woocommerce-cart .cart_totals {
		background: rgba(255, 253, 251, 0.6);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total .amount,
.woocommerce-cart .cart_totals .order-total bdi {
	color: var(--alsq-bronze) !important;
	font-weight: 700;
}

/* ================================================================== *
 * 12. Checkout + my-account — frosted cards & gold accents.          *
 * ================================================================== */

/* --- Checkout: billing + order-review as frosted floating cards --- */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
	border-radius: var(--alsq-glass-radius) !important;
	box-shadow: 0 16px 40px rgba(43, 9, 29, 0.08);
	border: 1px solid var(--alsq-glass-hairline) !important;
	overflow: hidden;
	padding: clamp(1.15rem, 3.5vw, 1.7rem) !important; /* was 0: heading/fields sat flush on the card border */
	background: rgba(255, 253, 251, 0.82); /* fallback */
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review {
		background: rgba(255, 253, 251, 0.62);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}
}
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total .amount,
.woocommerce-checkout .order-total bdi {
	color: var(--alsq-bronze) !important;
	font-weight: 700;
}

/* --- Audit fix: card-table / box interior padding (content was flush on the border) --- */
/* Cart line-items table: header + cells inset from the rounded card edge. */
.woocommerce-cart table.woocommerce-cart-form__contents th:first-child,
.woocommerce-cart table.woocommerce-cart-form__contents td:first-child {
	padding-left: clamp(0.9rem, 2.5vw, 1.25rem) !important;
}
.woocommerce-cart table.woocommerce-cart-form__contents th:last-child,
.woocommerce-cart table.woocommerce-cart-form__contents td:last-child {
	padding-right: clamp(0.9rem, 2.5vw, 1.25rem) !important;
}
/* Cart totals card: labels + amounts inset from the border. */
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	padding-left: clamp(0.9rem, 2.5vw, 1.15rem) !important;
	padding-right: clamp(0.9rem, 2.5vw, 1.15rem) !important;
}
/* Checkout COD (payment) description box: inset the text from its border. */
.woocommerce-checkout #payment .payment_box {
	padding: 0.85rem 1.05rem !important;
}

/* --- My account: login / register / dashboard as frosted cards --- */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	border-radius: var(--alsq-glass-radius);
	border: 1px solid var(--alsq-glass-hairline);
	box-shadow: 0 16px 40px rgba(43, 9, 29, 0.07);
	padding: clamp(1.4rem, 3vw, 2.2rem);
	background: rgba(255, 253, 251, 0.82); /* fallback */
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.woocommerce-account .woocommerce-form-login,
	.woocommerce-account .woocommerce-form-register,
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		background: rgba(255, 253, 251, 0.62);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}
}
/* keep the login form as a tidy centred card */
.woocommerce-account:not(.logged-in) .woocommerce-form-login {
	max-width: 34rem;
	margin-left: auto;
	margin-right: auto;
}
/* account nav: gold accent on the active link */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active > a {
	color: var(--alsq-brand);
	font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active {
	border-left: 2px solid var(--alsq-gold);
	padding-left: 0.6rem;
}

/* ================================================================== *
 * 13. 404 + order-received (thank-you).                              *
 * ================================================================== */

/* --- 404: brand the (black) button + soften the illustration frame --- */
.error-404__button.glozin-button,
.error-404 a.button {
	background: var(--alsq-brand) !important;
	color: var(--alsq-ivory) !important;
	border-radius: 6px !important;
}
.error-404__button.glozin-button:hover {
	background: var(--alsq-wine-deep) !important;
	color: var(--alsq-ivory) !important;
}
.error-404__image {
	border-radius: var(--alsq-glass-radius);
	border: 1px solid var(--alsq-glass-hairline);
	overflow: hidden;
}

/* --- Order received / thank-you --- */
.woocommerce-order { max-width: 58rem; margin-left: auto; margin-right: auto; }
.woocommerce-order .woocommerce-thankyou-order-received {
	display: block;
	text-align: center;
	font-family: var(--alsq-display-font);
	font-size: clamp(1.3rem, 2.6vw, 1.9rem);
	line-height: 1.2;
	color: var(--alsq-brand);
	margin: 0 0 1.6rem;
	padding: clamp(1.6rem, 3.5vw, 2.6rem);
	border-radius: var(--alsq-glass-radius);
	border: 1px solid var(--alsq-glass-hairline);
	box-shadow: 0 16px 40px rgba(43, 9, 29, 0.08);
	background: rgba(255, 253, 251, 0.82);
}
.woocommerce-order .woocommerce-thankyou-order-received::before {
	content: "✓";
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	margin: 0 auto 0.7rem;
	line-height: 2.4rem;
	border-radius: 50%;
	background: var(--alsq-gold);
	color: var(--alsq-wine-deep);
	font-size: 1.3rem;
}
.woocommerce-order ul.woocommerce-order-overview,
.woocommerce-order .woocommerce-table--order-details,
.woocommerce-order .woocommerce-customer-details address {
	border-radius: var(--alsq-glass-radius) !important;
	border: 1px solid var(--alsq-glass-hairline) !important;
	overflow: hidden;
}
.woocommerce-order .order-total .amount,
.woocommerce-order .order-total bdi { color: var(--alsq-bronze) !important; font-weight: 700; }


/* ================================================================== *
 * 14. Restore brand icons — product shipping-promotions info + the    *
 *     add-to-cart button (Dashicons/demo-SVGs no longer render).      *
 * ================================================================== */

/* Info strip (Livraison / Paiement / Question) — masked SVG icon above each label. */
.single-product .shipping-promotions-information__item::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	margin: 0 auto 0.5rem;
	background-color: var(--alsq-bronze);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2015a2%202%200%200%201-2%202H8l-4%203V6a2%202%200%200%201%202-2h13a2%202%200%200%201%202%202z%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2015a2%202%200%200%201-2%202H8l-4%203V6a2%202%200%200%201%202-2h13a2%202%200%200%201%202%202z%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.single-product .shipping-promotions-information__item:nth-child(1)::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%207h11v8H3z%27%2F%3E%3Cpath%20d%3D%27M14%2010h4l3%203v2h-7z%27%2F%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%2717.5%27%20r%3D%271.5%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2717.5%27%20r%3D%271.5%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%207h11v8H3z%27%2F%3E%3Cpath%20d%3D%27M14%2010h4l3%203v2h-7z%27%2F%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%2717.5%27%20r%3D%271.5%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2717.5%27%20r%3D%271.5%27%2F%3E%3C%2Fsvg%3E");
}
.single-product .shipping-promotions-information__item:nth-child(2)::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272.5%27%20y%3D%276%27%20width%3D%2719%27%20height%3D%2712%27%20rx%3D%271.5%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%272.6%27%2F%3E%3Cpath%20d%3D%27M5.5%209v6M18.5%209v6%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272.5%27%20y%3D%276%27%20width%3D%2719%27%20height%3D%2712%27%20rx%3D%271.5%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%272.6%27%2F%3E%3Cpath%20d%3D%27M5.5%209v6M18.5%209v6%27%2F%3E%3C%2Fsvg%3E");
}
/* (3rd item keeps the chat/support icon from the base rule) */

/* Add-to-cart button — a wine cart icon before the label (was a Dashicon). */
.single-product .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}
.single-product .single_add_to_cart_button::before {
	content: "";
	width: 1.15em;
	height: 1.15em;
	flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%2720%27%20r%3D%271.4%27%2F%3E%3Ccircle%20cx%3D%2717.5%27%20cy%3D%2720%27%20r%3D%271.4%27%2F%3E%3Cpath%20d%3D%27M2.4%204h2.4l2.3%2011h10l2-7.6H6.2%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%2720%27%20r%3D%271.4%27%2F%3E%3Ccircle%20cx%3D%2717.5%27%20cy%3D%2720%27%20r%3D%271.4%27%2F%3E%3Cpath%20d%3D%27M2.4%204h2.4l2.3%2011h10l2-7.6H6.2%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

/* ================================================================== *
 * 15. Product page layout — sticky gallery, inline qty+ATC, info grid *
 * ================================================================== */
/* The theme sets body { overflow-x: hidden }, which silently breaks position:
 * sticky everywhere. `clip` clips horizontal overflow the same way but does NOT
 * create a scroll container, so sticky works again. */
:root, html body { overflow-x: clip !important; }

@media (min-width: 992px) {
	/* Gallery sticks while the (much taller) summary column scrolls — no more
	 * blank space on the left. It was already position:sticky but had no anchor. */
	.single-product .product-gallery-summary > .woocommerce-product-gallery {
		position: sticky !important;
		top: 100px !important;
		align-self: flex-start;
	}
}

/* Quantity + "Ajouter au panier" on one line. The atc-group also holds the
 * Commande Rapide panel, so keep the group wrapping, pin the fast-checkout block
 * to its own full-width row, then let qty (auto) + button (fill) share the next. */
.single-product .glozin-product-atc-group {
	align-items: center;
	row-gap: 0.7rem;
	column-gap: 0.75rem;
}
.single-product .glozin-product-atc-group > div:has(.order-summary) {
	flex: 0 0 100% !important;
	width: 100%;
	order: 1;
}
.single-product .glozin-product-atc-group .quantity {
	flex: 0 0 auto;
	margin: 0 !important;
	order: 2;
	display: flex;
	align-items: center;          /* centre the − 1 + controls in the taller box */
	border-radius: var(--alsq-glass-radius);
}
.single-product .glozin-product-atc-group .single_add_to_cart_button {
	flex: 1 1 0% !important;
	width: auto !important;
	margin: 0 !important;
	order: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
/* Both exactly the same height → same level. */
.single-product .glozin-product-atc-group .quantity,
.single-product .glozin-product-atc-group .single_add_to_cart_button {
	height: 3.25rem !important;
	box-sizing: border-box;
}
.single-product .glozin-product-atc-group .product-featured-icons--single-product {
	order: 4;
	flex: 0 0 100%;
}

/* Info strip: three even, centred columns (was 2 + 1 orphan). */
.single-product .shipping-promotions-information--grid {
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 0 !important;
}
.single-product .shipping-promotions-information__item {
	grid-column: auto !important; /* theme sets the 3rd item to span 2 → wraps; keep 1 col each */
	text-align: center;
	padding: 1rem 0.6rem !important;
}
.single-product .shipping-promotions-information__item + .shipping-promotions-information__item {
	border-left: 1px solid var(--alsq-glass-hairline);
}
@media (max-width: 600px) {
	.single-product .shipping-promotions-information--grid { grid-template-columns: 1fr !important; }
	.single-product .shipping-promotions-information__item + .shipping-promotions-information__item {
		border-left: 0;
		border-top: 1px solid var(--alsq-glass-hairline);
	}
}


/* ================================================================== *
 * 16. "Piece" swatches — brand icon before each piece label.        *
 * (Former ::before mask attempts removed: they rode on WCBoost's      *
 *  tooltip pseudo-element and produced a duplicate floating icon.     *
 *  The single gold icon below, §16c, is the live implementation.)     *
 * ================================================================== */
/* 16c. Piece icons as button background-image (gold, reads on both states). */
.single-product li.wcboost-variation-swatches__item-t-shirt,
.single-product li.wcboost-variation-swatches__item-short,
.single-product li.wcboost-variation-swatches__item-pantalon,
.single-product li.wcboost-variation-swatches__item-ensemble-complet,
.single-product li.wcboost-variation-swatches__item-chemise,
.single-product li.wcboost-variation-swatches__item-robe,
.single-product li.wcboost-variation-swatches__item-abaya,
.single-product li.wcboost-variation-swatches__item-pull,
.single-product li.wcboost-variation-swatches__item-veste,
.single-product li.wcboost-variation-swatches__item-jupe,
.single-product li.wcboost-variation-swatches__item-boxer,
.single-product li.wcboost-variation-swatches__item-pyjama,
.single-product li.wcboost-variation-swatches__item-tablier,
.single-product li.wcboost-variation-swatches__item-accessoire {
	background-repeat:no-repeat !important;
	background-position:0.8rem center !important;
	background-size:1.2em auto !important;
	padding-left:2.4rem !important;
}
.single-product li.wcboost-variation-swatches__item-t-shirt { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%204%206%206%204%208l2.4%202.2L8%209v11h8V9l1.6%201.2L20%208l-2-2-3-2c-1.4%201.6-4.6%201.6-6%200z%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-short { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%205h12v6l-2%209h-3.5L12%2013l-.5%207H8L6%2011z%27%2F%3E%3Cpath%20d%3D%27M6%2011h12%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-pantalon { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%204h10v5l-1%2011h-3l-1-11-1%2011H8l-1-11z%27%2F%3E%3Cpath%20d%3D%27M7%209h10%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-ensemble-complet { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%208l8-4%208%204-8%204z%27%2F%3E%3Cpath%20d%3D%27M4%2012l8%204%208-4%27%2F%3E%3Cpath%20d%3D%27M4%2016l8%204%208-4%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-chemise { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%204%206%206%204%208l2%202%202-1.5V20h8V8.5l2%201.5%202-2-2-2-3-2-3%203-3-3z%27%2F%3E%3Cpath%20d%3D%27M12%207v13%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-robe { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%204%207%206l2%202%20.5%204L7%2020h10l-2.5-8%20.5-4%202-2-2-2c-1%202-5%202-6%200z%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-abaya { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%204%207%206l1%202v12h8V8l1-2-2-2c-1%202-5%202-6%200z%27%2F%3E%3Cpath%20d%3D%27M12%208v12%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-pull { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%205%204%207l1%205%202-1v8h10v-8l2%201%201-5-4-2c-1.5%201.5-6.5%201.5-8%200z%27%2F%3E%3Cpath%20d%3D%27M7%2019h10%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-veste { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%204%206%206l1.5%2014H11V9l1-1%201%201v11h3.5L18%206l-3-2-3%203z%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-jupe { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%206h10l2%2014H5z%27%2F%3E%3Cpath%20d%3D%27M7%206q5%202%2010%200%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-boxer { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%207h12v3l-3%206h-3v-4l-3%204H7L6%2010z%27%2F%3E%3Cpath%20d%3D%27M6%2010h12%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-pyjama { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M17%204a8%208%200%201%200%200%2016%206.5%206.5%200%200%201%200-16z%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-tablier { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%204q3%202%206%200v2q3%201%202%205v9H7v-9q-1-4%202-5z%27%2F%3E%3Cpath%20d%3D%27M9%204%2012%202l3%202%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product li.wcboost-variation-swatches__item-accessoire { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%208h10l1%2012H6z%27%2F%3E%3Cpath%20d%3D%27M9%208V6a3%203%200%200%201%206%200v2%27%2F%3E%3C%2Fsvg%3E") !important; }

/* ================================================================== *
 * 17. COMMANDE RAPIDE (Utopia fast checkout) — brand icons in fields. *
 *     Gold (#b58a2e) glyph left of Nom / Telephone / Adresse / Gouv.  *
 *     High-specificity (beats alsq-commerce's #utopia-fast-checkout   *
 *     `background:var(--alsq-surface-muted)!important` shorthand that  *
 *     otherwise resets background-image/position/size).               *
 * ================================================================== */
.single-product #utopia-fast-checkout .form-input-box p input[name="name"],
.single-product #utopia-fast-checkout .form-input-box p input[name="phone"],
.single-product #utopia-fast-checkout .form-input-box p input[name="address"],
.single-product #utopia-fast-checkout .form-input-box p select[name="gov"] {
	background-repeat: no-repeat !important;
	background-position: 0.95rem center !important;
	background-size: 1.15em auto !important;
	padding-left: 2.9rem !important;
}
.single-product #utopia-fast-checkout .form-input-box p input[name="name"] { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%273.4%27%2F%3E%3Cpath%20d%3D%27M5.5%2020a6.5%206.5%200%200%201%2013%200%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product #utopia-fast-checkout .form-input-box p input[name="phone"] { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6.5%203h3l1.5%204.5-2.2%201.4a11%2011%200%200%200%205.3%205.3l1.4-2.2%204.5%201.5v3a2%202%200%200%201-2.2%202A16.5%2016.5%200%200%201%204.5%205.2%202%202%200%200%201%206.5%203z%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product #utopia-fast-checkout .form-input-box p input[name="address"] { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021s6-5.5%206-11a6%206%200%201%200-12%200c0%205.5%206%2011%206%2011z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%272.3%27%2F%3E%3C%2Fsvg%3E") !important; }
.single-product #utopia-fast-checkout .form-input-box p select[name="gov"] { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b58a2e%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%204%203.5%206v14L9%2018l6%202%205.5-2V4L15%206%209%204z%27%2F%3E%3Cpath%20d%3D%27M9%204v14%27%2F%3E%3Cpath%20d%3D%27M15%206v14%27%2F%3E%3C%2Fsvg%3E") !important; }


/* ================================================================== *
 * 18. Mobile hamburger menu — brand + "Verre" enhancement.           *
 *     (logo header, serif items w/ gold chevrons, footer links +     *
 *      shop CTA + trust badges injected by alsq-mobile-menu.js)       *
 * ================================================================== */
.offscreen-panel.hamburger-panel .panel__container {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	background: var(--alsq-ivory, #f7efe6);
}
/* Header: warm ivory with the brand wordmark + gold hairline (was flat wine "Menu") */
.offscreen-panel.hamburger-panel .panel__header {
	background: linear-gradient(180deg, #fffdfb, var(--alsq-ivory, #f7efe6)) !important;
	color: var(--alsq-brand, #6b0e2c) !important;
	border-bottom: 1px solid var(--alsq-gold-soft, #e0c58a);
	padding: 0.9rem 1.15rem !important;
	min-height: 64px;
	align-items: center;
}
.offscreen-panel.hamburger-panel .panel__header .panel__menu-items { display: none !important; }
.offscreen-panel.hamburger-panel .alsq-mmenu-brand { display: inline-flex; align-items: center; margin-right: auto; }
.offscreen-panel.hamburger-panel .alsq-mmenu-brand img { height: 50px; width: auto; max-width: 150px; display: block; object-fit: contain; }
.offscreen-panel.hamburger-panel .panel__button-close {
	color: var(--alsq-brand, #6b0e2c) !important;
	opacity: 1 !important;
	width: 40px; height: 40px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--alsq-gold-soft, #e0c58a);
	border-radius: 999px;
	background: rgba(255, 255, 255, .5);
}
.offscreen-panel.hamburger-panel .panel__button-close svg { width: 15px; height: 15px; }
/* the theme's `text-on-primary` makes the X's currentColor ivory (invisible on the
   ivory header) — force the icon + its path fill to wine so the X always shows. */
.offscreen-panel.hamburger-panel .panel__button-close,
.offscreen-panel.hamburger-panel .panel__button-close svg,
.offscreen-panel.hamburger-panel .panel__button-close svg path {
	color: var(--alsq-brand, #6b0e2c) !important;
	fill: var(--alsq-brand, #6b0e2c) !important;
}

.offscreen-panel.hamburger-panel .panel__content { flex: 1 1 auto; overflow-y: auto; }

/* Menu items: Fraunces serif, airy, gold chevron, hairline dividers */
.offscreen-panel.hamburger-panel .hambuger-navigation .menu { padding: .4rem 0; }
.offscreen-panel.hamburger-panel .hambuger-navigation .menu > li { border-bottom: 1px solid var(--alsq-glass-hairline-soft, rgba(224,197,138,.32)); }
.offscreen-panel.hamburger-panel .hambuger-navigation .menu > li:last-child { border-bottom: 0; }
.offscreen-panel.hamburger-panel .hambuger-navigation .menu > li > a {
	font-family: var(--alsq-display-font, Georgia, serif) !important;
	font-size: 1.2rem !important;
	font-weight: 500;
	color: var(--alsq-wine-deep, #43091d) !important;
	display: flex !important;
	align-items: center;
	gap: .75rem;
	padding: 1.05rem 1.35rem !important;
	position: relative;
	letter-spacing: .005em;
	transition: background .18s ease, padding-left .18s ease;
}
/* gold chevron (masked SVG) on parent items */
.offscreen-panel.hamburger-panel .hambuger-navigation .menu-item-has-children > a::after {
	content: "";
	width: .95rem; height: .95rem;
	margin-left: auto;
	flex: 0 0 auto;
	background-color: var(--alsq-gold, #c79a3b);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.3%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%205l7%207-7%207%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.3%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%205l7%207-7%207%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.offscreen-panel.hamburger-panel .hambuger-navigation .menu > li > a:hover,
.offscreen-panel.hamburger-panel .hambuger-navigation .menu > li > a:active {
	background: rgba(107, 14, 44, .05);
	padding-left: 1.6rem !important;
	box-shadow: inset 3px 0 0 var(--alsq-gold, #c79a3b);
}

/* Sub-menu level — match the main level (ivory + serif + gold), not the plain theme default */
.offscreen-panel.hamburger-panel .hambuger-navigation .sub-menu { background: var(--alsq-ivory, #f7efe6) !important; }
.offscreen-panel.hamburger-panel .submenu-items--heading {
	background: linear-gradient(180deg, #fffdfb, var(--alsq-ivory, #f7efe6)) !important;
	border-bottom: 1px solid var(--alsq-gold-soft, #e0c58a) !important;
}
.offscreen-panel.hamburger-panel .submenu-items--title {
	color: var(--alsq-brand, #6b0e2c) !important;
	font-family: var(--alsq-display-font, Georgia, serif) !important;
	font-size: 1.12rem !important;
	padding: .95rem 1.15rem !important;
}
.offscreen-panel.hamburger-panel .submenu__button-back { color: var(--alsq-gold, #c79a3b) !important; }
.offscreen-panel.hamburger-panel .hambuger-navigation .sub-menu > li:not(.submenu-items--heading) {
	border-bottom: 1px solid var(--alsq-glass-hairline-soft, rgba(224,197,138,.32));
}
.offscreen-panel.hamburger-panel .hambuger-navigation .sub-menu > li:not(.submenu-items--heading) > a {
	font-family: var(--alsq-display-font, Georgia, serif) !important;
	font-size: 1.06rem !important;
	color: var(--alsq-wine-deep, #43091d) !important;
	padding: .95rem 1.35rem !important;
	display: block;
	transition: background .18s ease, padding-left .18s ease;
}
.offscreen-panel.hamburger-panel .hambuger-navigation .sub-menu > li:not(.submenu-items--heading) > a:hover,
.offscreen-panel.hamburger-panel .hambuger-navigation .sub-menu > li:not(.submenu-items--heading) > a:active {
	background: rgba(107, 14, 44, .05);
	padding-left: 1.6rem !important;
	box-shadow: inset 3px 0 0 var(--alsq-gold, #c79a3b);
}

/* ---- injected footer ---- */
.offscreen-panel.hamburger-panel .alsq-mmenu-footer {
	flex: 0 0 auto;
	margin-top: auto;
	padding: 1.15rem 1.15rem calc(1.15rem + env(safe-area-inset-bottom, 0px));
	background: linear-gradient(180deg, rgba(67,9,29,0), rgba(67,9,29,.05));
	border-top: 1px solid var(--alsq-gold-soft, #e0c58a);
}
.alsq-mmenu-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; }
.alsq-mmenu-q {
	display: flex; flex-direction: column; align-items: center; gap: .45rem;
	padding: .8rem .3rem;
	border: 1px solid var(--alsq-glass-hairline-soft, rgba(224,197,138,.4));
	border-radius: 14px;
	background: rgba(255, 255, 255, .55);
	color: var(--alsq-wine-deep, #43091d);
	font-size: .78rem; font-weight: 600; text-align: center; line-height: 1.2;
}
.alsq-mmenu-q::before {
	content: ""; width: 1.45rem; height: 1.45rem;
	background-color: var(--alsq-gold, #c79a3b);
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-size: contain; mask-size: contain;
}
.alsq-mmenu-q--account::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%273.6%27%2F%3E%3Cpath%20d%3D%27M5.5%2020a6.5%206.5%200%200%201%2013%200%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%273.6%27%2F%3E%3Cpath%20d%3D%27M5.5%2020a6.5%206.5%200%200%201%2013%200%27%2F%3E%3C%2Fsvg%3E"); }
.alsq-mmenu-q--fav::before     { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2020s-7-4.4-7-9.5A3.7%203.7%200%200%201%2012%207a3.7%203.7%200%200%201%207-.5C19%2011.6%2012%2020%2012%2020z%27%2F%3E%3C%2Fsvg%3E");     mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2020s-7-4.4-7-9.5A3.7%203.7%200%200%201%2012%207a3.7%203.7%200%200%201%207-.5C19%2011.6%2012%2020%2012%2020z%27%2F%3E%3C%2Fsvg%3E"); }
.alsq-mmenu-q--cart::before    { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%208h12l-1%2012H7z%27%2F%3E%3Cpath%20d%3D%27M9%208V6a3%203%200%200%201%206%200v2%27%2F%3E%3C%2Fsvg%3E");    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%208h12l-1%2012H7z%27%2F%3E%3Cpath%20d%3D%27M9%208V6a3%203%200%200%201%206%200v2%27%2F%3E%3C%2Fsvg%3E"); }

.alsq-mmenu-cta {
	display: block; text-align: center; margin-top: 1rem;
	padding: .95rem 1rem; border-radius: 999px;
	background: var(--alsq-brand, #6b0e2c); color: #fff !important;
	font-weight: 700; letter-spacing: .04em; font-size: .92rem;
	box-shadow: 0 10px 22px rgba(67, 9, 29, .22);
}
.alsq-mmenu-info { display: flex; justify-content: center; gap: 1.25rem; margin: 1.05rem 0 .2rem; padding: 0; list-style: none; }
.alsq-mmenu-info a { font-size: .82rem; color: var(--alsq-bronze, #916419); font-weight: 600; }
.alsq-mmenu-trust { display: flex; flex-direction: column; gap: .5rem; margin-top: .85rem; }
.alsq-mmenu-trust__item { display: flex; align-items: center; gap: .6rem; font-size: .82rem; color: var(--alsq-wine-deep, #43091d); }
.alsq-mmenu-trust__item::before {
	content: ""; flex: 0 0 auto; width: 1.15rem; height: 1.15rem;
	background-color: var(--alsq-gold, #c79a3b);
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-size: contain; mask-size: contain;
}
.alsq-mmenu-trust--ship::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%206h11v9H3z%27%2F%3E%3Cpath%20d%3D%27M14%209h4l3%203v3h-7z%27%2F%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%2718%27%20r%3D%271.5%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2718%27%20r%3D%271.5%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%206h11v9H3z%27%2F%3E%3Cpath%20d%3D%27M14%209h4l3%203v3h-7z%27%2F%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%2718%27%20r%3D%271.5%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2718%27%20r%3D%271.5%27%2F%3E%3C%2Fsvg%3E"); }
.alsq-mmenu-trust--cod::before  { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%277%27%20width%3D%2718%27%20height%3D%2710%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%272.3%27%2F%3E%3Cpath%20d%3D%27M6.5%209.5v0M17.5%2014.5v0%27%2F%3E%3C%2Fsvg%3E");  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%277%27%20width%3D%2718%27%20height%3D%2710%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%272.3%27%2F%3E%3Cpath%20d%3D%27M6.5%209.5v0M17.5%2014.5v0%27%2F%3E%3C%2Fsvg%3E"); }


/* ================================================================== *
 * 19. Polish pass — deep UI audit 2026-08-28.                        *
 *     A nav/logo clearance · B de-blacken theme chrome · C radius &  *
 *     height normalization · D typography · E states · F page fixes  *
 * ================================================================== */

/* --- 19A. Header nav: real Archivo SemiBold (600) + a touch bigger for
       clarity (was thin 12px/500). Sized responsively so the three
       "COLLECTION …" items always clear the centered logo — 13px keeps
       ~24px gap at 1280px; 14px only where there's ≥60px of room (≥1400px).
       (Weight 600 now maps to a real self-hosted cut, not faux-bold.) --- */
@media (min-width: 992px) {
	.site-header .main-navigation > ul > li > a {
		font-size: 13px !important;
		font-weight: 600 !important;
		letter-spacing: .05em !important;
		padding-right: 8px !important;
	}
}
@media (min-width: 1400px) {
	.site-header .main-navigation > ul > li > a {
		font-size: 14px !important;
		letter-spacing: .045em !important;
	}
}

/* --- 19B. De-blacken: Glozin's #111/#211d1f defaults → wine/gold. --- */

/* Every gz-button's hover slide-overlay went to near-black; land on deep wine. */
.gz-button-hover-effect::before,
.gz-button-hover-effect::after { background-color: var(--alsq-wine-deep, #43091d) !important; }

/* Primary utility CTAs (Voir plus, mobile Filtrer, 404 CTA, empty-state returns). */
a.woocommerce-pagination-button.gz-button,
.catalog-toolbar__filter-button,
.error-404__button.gz-button,
a.button.wc-backward,
.wishlist-empty .glozin-button,
.widget-area .wp-block-search__button {
	background: var(--alsq-brand, #6b0e2c) !important;
	border: 1px solid var(--alsq-brand, #6b0e2c) !important;
	color: #f7efe6 !important;
	border-radius: 12px !important;
}
a.woocommerce-pagination-button.gz-button:hover,
.catalog-toolbar__filter-button:hover,
.error-404__button.gz-button:hover,
a.button.wc-backward:hover,
.wishlist-empty .glozin-button:hover,
.widget-area .wp-block-search__button:hover {
	background: var(--alsq-wine-deep, #43091d) !important;
	border-color: var(--alsq-wine-deep, #43091d) !important;
}
/* "Trier par" toolbar button: ghost variant. */
.catalog-toolbar__orderby-button {
	background: rgba(255, 253, 251, .7) !important;
	border: 1px solid rgba(107, 14, 44, .35) !important;
	color: var(--alsq-wine-deep, #43091d) !important;
	border-radius: 12px !important;
}
.catalog-toolbar__orderby-button:hover { border-color: var(--alsq-brand, #6b0e2c) !important; }

/* Price slider + filter checks + results progress → wine/gold. */
.price_slider .ui-slider-range, .ui-slider .ui-slider-range { background: var(--alsq-brand, #6b0e2c) !important; }
.price_slider .ui-slider-handle, .ui-slider .ui-slider-handle {
	border-color: var(--alsq-brand, #6b0e2c) !important;
	background: var(--alsq-surface, #fffdfb) !important;
}
.products-filter input[type="checkbox"], .products-filter__option input { accent-color: var(--alsq-brand, #6b0e2c); }
.gz-progress .count-bar, .gz-progress__count-bar { background: var(--alsq-gold, #c79a3b) !important; }
.gz-progress__inner { border-bottom-color: var(--alsq-glass-hairline-soft, rgba(224,197,138,.32)) !important; }

/* Active-filter chips: glass chip + wine clear-all. */
.catalog-toolbar-filtered .remove-filtered {
	background: rgba(255, 253, 251, .72) !important;
	border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important;
	border-radius: 12px !important;
	color: var(--alsq-wine-deep, #43091d) !important;
}
.catalog-toolbar-filtered .remove-filtered-all {
	background: var(--alsq-brand, #6b0e2c) !important;
	border: 1px solid var(--alsq-brand, #6b0e2c) !important;
	border-radius: 12px !important;
	color: #f7efe6 !important;
}

/* Selected/hover variation pills + size boxes: wine, not near-black.
   background-COLOR only — the piece pills carry their gold icon as a
   background-image (16c) which a shorthand would wipe. Color/image
   swatches are excluded (their fill IS the swatch).
   Hover ≠ selected: a full-wine hover made a hovered pill identical to
   the selected one (two "selected" pills at once) — hover is a soft
   wine tint, only .selected goes solid. */
.wcboost-variation-swatches--button .wcboost-variation-swatches__item:hover:not(.selected) {
	background-color: rgba(107, 14, 44, .08) !important;
	border-color: var(--alsq-brand, #6b0e2c) !important;
	color: var(--alsq-wine-deep, #43091d) !important;
}
.wcboost-variation-swatches--button .wcboost-variation-swatches__item.selected {
	background-color: var(--alsq-brand, #6b0e2c) !important;
	border-color: var(--alsq-gold, #c79a3b) !important;
	color: #fff !important;
}
.wcboost-variation-swatches--button .wcboost-variation-swatches__item { border-radius: 8px !important; }

/* Product tabs: wine active underline, softened resting tab. */
.wc-tabs li.active a::after { background: var(--alsq-brand, #6b0e2c) !important; }
.wc-tabs li:not(.active) a { color: rgba(33, 29, 31, .55); transition: color .2s; }

/* Toolbar view-switch icons: bronze idle, wine current (was grey/black). */
.gz-shop-view-item { color: rgba(145, 100, 25, .38) !important; }
.gz-shop-view-item.current { color: var(--alsq-brand, #6b0e2c) !important; }

/* Back-to-top: glass chip with gold progress (was white + #111 border). */
#gotop {
	background: var(--alsq-surface, #fffdfb) !important;
	border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important;
	color: var(--alsq-brand, #6b0e2c) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(43, 9, 29, .14) !important;
}
#gotop .gotop-height-scroll, #gotop .bg-dark { background: rgba(199, 154, 59, .35) !important; }

/* Footer social chips: gold hairline, soft-gold glyph (was #444 grey). */
.site-footer .glozin-social a,
.site-footer a[href*="facebook"], .site-footer a[href*="instagram"] {
	border-color: var(--alsq-glass-hairline-soft, rgba(224,197,138,.32)) !important;
	color: var(--alsq-gold-soft, #e0c58a) !important;
}

/* Search-page result titles: warm ink, not #111. */
.search-results .entry-title a { color: var(--alsq-ink, #211d1f); }

/* --- 19C. Overlays: cart drawer / quick-view / search / login. --- */
#cart-panel .panel__content { background: var(--alsq-surface, #fffdfb); }
#cart-panel .woocommerce-mini-cart__empty-message .gz-button {
	background: var(--alsq-brand, #6b0e2c) !important;
	border-color: var(--alsq-brand, #6b0e2c) !important;
	color: #f7efe6 !important;
	border-radius: 8px !important;
}
/* Drawer footer: demote "Voir le panier" to ghost so "Commande" leads. */
#cart-panel .woocommerce-mini-cart__buttons a.button:not(.checkout) {
	background: transparent !important;
	color: var(--alsq-brand, #6b0e2c) !important;
	border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important;
}
#cart-panel .woocommerce-mini-cart__buttons a.button:not(.checkout):hover { background: rgba(107, 14, 44, .06) !important; }
/* Drawer recommendation carousel: gold frame, wine bullets, real padding. */
#cart-panel .glozin-product-carousel {
	border-color: var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(43, 9, 29, .08);
}
#cart-panel .glozin-product-carousel a.button { padding: 12px 18px !important; letter-spacing: 0 !important; }
#cart-panel .swiper-pagination-bullet { background: rgba(107, 14, 44, .25) !important; }
#cart-panel .swiper-pagination-bullet-active { background: var(--alsq-brand, #6b0e2c) !important; }
/* Product names keep their serif voice inside the drawer. */
#cart-panel .woocommerce-mini-cart-item__name a,
#cart-panel .glozin-product-carousel .woocommerce-loop-product__title {
	font-family: var(--alsq-display-font, Georgia, serif) !important;
	font-weight: 600;
	color: var(--alsq-ink, #211d1f) !important;
	letter-spacing: -.3px;
}
#cart-panel .quantity { border-radius: 8px !important; }
/* Quick-view: "Commande Rapide" was a black-on-black bar → wine banner. */
#quick-view-modal .glozin-product-atc-group h3 {
	background: var(--alsq-brand, #6b0e2c) !important;
	color: #f7efe6 !important;
}
/* Injected Commander CTA inside overlays (glass card injects are unstyled there). */
#search-modal .alsq-home__commander, #cart-panel .alsq-home__commander {
	margin-left: 12px;
	color: var(--alsq-bronze, #916419) !important;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .07em;
}
#login-modal .input-text { border-radius: 8px !important; }
/* Mobile filter drawer: warm surface, not pure white. */
.catalog-filters-sidebar .panel__container, .catalog-filters-sidebar .panel__content {
	background: linear-gradient(180deg, var(--alsq-surface, #fffdfb), var(--alsq-ivory, #f7efe6));
}

/* --- 19D. Grid cards: 2-line titles, aligned rows, hover lift, prices. --- */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title a { white-space: normal !important; }
ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
}
@media (max-width: 576px) {
	ul.products li.product .price { font-size: 13px; white-space: nowrap; letter-spacing: -.2px; }
}
@media (prefers-reduced-motion: no-preference) {
	ul.products li.product .product-thumbnail { transition: box-shadow .25s ease, transform .25s ease; }
	ul.products li.product:hover .product-thumbnail { box-shadow: 0 16px 40px rgba(77, 8, 31, .14); transform: translateY(-3px); }
}
/* Commander pill: join the button family (was 6px/34px vs 12px/48px siblings). */
.alsq-home__commander { border-radius: 8px !important; padding: .7rem 1rem !important; letter-spacing: .08em !important; }
.alsq-home__button, .alsq-home__subpill { letter-spacing: .08em !important; }

/* --- 19E. States: one focus language, everywhere. --- */
:is(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--alsq-gold, #c79a3b) !important;
	outline-offset: 2px;
}
.input-text:focus, .woocommerce-Input:focus {
	border-color: var(--alsq-brand, #6b0e2c) !important;
	box-shadow: 0 0 0 3px rgba(199, 154, 59, .25) !important;
}
input[type="checkbox"] { accent-color: var(--alsq-brand, #6b0e2c); }

/* --- 19F. Product page. --- */
/* Phantom sticky bar (never activates: stays pointer-events:none/z -1) — remove
   it and the 97px of dead space the body reserves for it. */
#glozin-sticky-add-to-cart { display: none !important; }
body.single-product { padding-bottom: 0 !important; }
@media (max-width: 991px) { body.single-product { padding-bottom: 72px !important; } } /* mobile bottom nav clearance */
/* The two purchase CTAs: same height/radius/tempo. */
.single-product .glozin-product-atc-group .single_add_to_cart_button { border-radius: 12px !important; }
#utopia-fast-checkout button.button.alt, #utopia-fast-checkout .button.alt {
	height: 52px !important;
	border-radius: 12px !important;
	font-size: 15px !important;
}
#utopia-fast-checkout button.button.alt:hover { background: var(--alsq-wine-deep, #43091d) !important; }
/* Quantity stepper: warm chrome (was #dadada / #000 / cool greys). */
form.cart .quantity { border-color: var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important; border-radius: 12px !important; }
.glozin-qty-button { background: rgba(247, 239, 230, .7) !important; color: var(--alsq-wine-deep, #43091d) !important; transition: background .2s; }
.glozin-qty-button:hover { background: var(--alsq-ivory, #f7efe6) !important; }
form.cart input.qty { color: var(--alsq-ink, #211d1f) !important; }
/* Résumé label: sans + bronze (was 12px serif in #888 — under contrast). */
#utopia-fast-checkout h4, .order-summary h4 {
	font-family: var(--alsq-body-font, Arial, sans-serif) !important;
	color: var(--alsq-bronze, #916419) !important;
	letter-spacing: .07em !important;
}
/* Description: readable measure instead of 150-char lines. */
.woocommerce-Tabs-panel--description { max-width: 72ch; }

/* --- 19G. Cart page. --- */
/* Qty stepper icons collapsed to 0 width — pin them. */
.woocommerce-cart table.woocommerce-cart-form__contents .quantity .glozin-qty-button {
	width: 40px;
	min-width: 40px;
	color: var(--alsq-brand, #6b0e2c) !important;
}
.woocommerce-cart .glozin-qty-button svg { width: 11px; height: 11px; flex: 0 0 auto; }
/* Cross-sells: system card, serif titles, readable bronze prices, sane button. */
.cross-sells li.product {
	border-color: var(--alsq-glass-hairline-soft, rgba(224,197,138,.32)) !important;
	background: rgba(255, 253, 251, .6);
	border-radius: 12px !important;
}
.cross-sells .product__title, .cross-sells .product__title a {
	font-family: var(--alsq-display-font, Georgia, serif) !important;
	font-size: 16px;
	font-weight: 600;
	color: var(--alsq-ink, #211d1f) !important;
}
.cross-sells .price.gz-price, .cross-sells .price.gz-price bdi, .cross-sells .price bdi { color: var(--alsq-bronze, #916419) !important; }
.cross-sells li.product .button.product-loop-button {
	align-self: flex-start;
	height: 44px;
	max-height: 44px;
	display: inline-flex;
	align-items: center;
}
.cross-sells .swiper-pagination-bullet::before { border-color: var(--alsq-brand, #6b0e2c) !important; }
.cross-sells .swiper-pagination-bullet::after { background: var(--alsq-brand, #6b0e2c) !important; }
/* Small links: wine identity, one warm muted for captions. */
.woocommerce-cart a.remove-link, .woocommerce-cart td.product-remove a, .shipping-calculator-button { color: var(--alsq-brand, #6b0e2c) !important; }
.woocommerce-cart .variation dt, .woocommerce-cart .variation dd { color: rgba(33, 29, 31, .65) !important; }

/* --- 19H. Checkout. --- */
/* Double checkbox: suppress the NATIVE paint only (appearance:none) — the
   themed 20x20 box is this input's own ::before, so opacity:0 would hide
   both and leave no checkbox at all. */
#ship-to-different-address .woocommerce-form__input-checkbox {
	-webkit-appearance: none;
	appearance: none;
	position: static;
	opacity: 1;
	width: 20px;
	height: 20px !important; /* another rule forces 44px */
	margin: 0 10px 0 0;
	border: 0;
	background: transparent;
}
#ship-to-different-address label { display: inline-flex; align-items: center; gap: 10px; }
/* Select2 dropdown: themed panel (was stock white/#aaa). */
.select2-container--default .select2-dropdown {
	background: var(--alsq-surface, #fffdfb);
	border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58));
	border-radius: 0 0 12px 12px;
	box-shadow: 0 16px 40px rgba(43, 9, 29, .12);
}
.select2-search--dropdown .select2-search__field { border: 1px solid var(--alsq-border, #e5dcd7) !important; border-radius: 6px; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--alsq-brand, #6b0e2c) !important; color: #fff !important; }
.select2-container--default .select2-results__option[aria-selected="true"] { background: rgba(199, 154, 59, .15); color: var(--alsq-wine-deep, #43091d); }
/* One control spec: 48px / 8px for fields, 52px / 12px for the CTA. */
.woocommerce-checkout form.checkout .input-text { border-radius: 8px !important; height: 48px !important; }
.woocommerce-checkout form.checkout .select2-selection--single { border-radius: 8px !important; height: 48px !important; }
.woocommerce-checkout form.checkout .select2-selection__rendered { line-height: 46px !important; }
.woocommerce-checkout form.checkout .select2-selection__arrow { height: 46px !important; }
#place_order { height: 52px !important; border-radius: 12px !important; }
/* Billing inner panel: close the frame (was two misjoined half-boxes). */
#customer_details .woocommerce-billing-fields__field-wrapper { border-width: 1px !important; border-radius: 10px !important; }
#customer_details .col-2 { margin-top: 12px; }
/* Payment zone: stop painting an opaque square band over the glass card. */
#payment.woocommerce-checkout-payment { background: transparent !important; }
#payment .payment_box p:first-child { margin-top: 0 !important; }
/* Review column: fold the floating heading into its card. */
#order_review_heading {
	background: rgba(255, 253, 251, .62);
	border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58));
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	padding: 1.15rem 1.35rem .35rem;
	margin-bottom: 0;
}
.woocommerce-checkout #order_review { border-radius: 0 0 12px 12px !important; border-top: 0 !important; }
/* Demote the duplicated unit price; the right-column subtotal leads. */
.woocommerce-checkout-review-order-table .checkout-review-product-price {
	color: rgba(33, 29, 31, .55) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
}
/* Coupon trigger: link affordance. (decoration LONGHANDS — the shorthand
   would reset decoration-color back to currentColor with importance.) */
a.showcoupon {
	color: var(--alsq-brand, #6b0e2c) !important;
	text-decoration-line: underline !important;
	text-decoration-color: rgba(199, 154, 59, .6) !important;
	text-underline-offset: 3px;
}
a.showcoupon:hover { color: var(--alsq-wine-deep, #43091d) !important; text-decoration-color: var(--alsq-gold, #c79a3b) !important; }

/* --- 19I. Account. --- */
/* Lost-password form had no card at all — give it the login card's glass. */
form.woocommerce-ResetPassword {
	background: rgba(255, 253, 251, .62);
	border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58));
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(43, 9, 29, .07);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	padding: 2.2rem;
	max-width: 640px;
	margin-inline: auto;
}
@media (max-width: 767px) { form.woocommerce-ResetPassword { padding: 1.4rem; } }
/* "Connexion" printed twice — keep the duplicate for screen readers only. */
.woocommerce-account h2.woocommerce-customer-login__title {
	position: absolute;
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
}
/* Lost-password link: actual link affordance (longhands, see a.showcoupon). */
a.woocommerce-lost-password {
	color: var(--alsq-brand, #6b0e2c) !important;
	text-decoration-line: underline !important;
	text-decoration-color: rgba(199, 154, 59, .6) !important;
	text-underline-offset: 3px;
}
a.woocommerce-lost-password:hover { text-decoration-color: var(--alsq-gold, #c79a3b) !important; }
/* Placeholder must read as empty (was the same color as typed text). */
.woocommerce-account .input-text { color: var(--alsq-ink, #211d1f) !important; }
.woocommerce-account .input-text::placeholder { color: rgba(33, 29, 31, .45); }

/* --- 19J. Search results + 404. --- */
/* Product results rendered through the blog template — hide "Publié par…". */
.search-results article.type-product .entry-meta { display: none; }
/* Result rows: the house card instead of floating text. */
.search-results main article {
	background: rgba(255, 253, 251, .72);
	border: 1px solid var(--alsq-glass-hairline-soft, rgba(224,197,138,.32));
	border-radius: 12px;
	box-shadow: 0 6px 24px rgba(43, 9, 29, .08);
	padding: 16px;
}
/* Search widget label joins the Fraunces sidebar-title family. */
.blog-sidebar .wp-block-search__label:not(.screen-reader-text) {
	font-family: var(--alsq-display-font, Georgia, serif);
	font-size: 16px;
	font-weight: 600;
}
/* 404 illustration: melt the stark-white stock art into the ivory page. */
.error-404__image { background: var(--alsq-ivory, #f7efe6); }
.error-404__image img { mix-blend-mode: multiply; filter: sepia(.15) saturate(1.05); }

/* --- 19K. Wishlist + compare. --- */
/* Price was brand-wine ON the deep-wine panel (1.1:1 — invisible). */
.wcboost-wishlist .product-summary .price,
.wcboost-wishlist .product-summary .price bdi,
.wcboost-wishlist .product-summary .price .woocommerce-Price-amount { color: var(--alsq-gold-soft, #e0c58a) !important; }
/* Title escaped its card on mobile (nowrap without max-width). */
.wcboost-wishlist .product-summary .woocommerce-loop-product__title { max-width: 100%; }
@media (max-width: 480px) { .wcboost-wishlist .product-summary .price { font-size: 13px; white-space: nowrap; } }
/* Card geometry: one 12px surface. */
.wcboost-wishlist a.rounded-product-image { border-radius: 12px 12px 0 0 !important; }
.wcboost-wishlist .product-loop-button { border-radius: 12px !important; }
/* Hover actions were display:none — restore the shop-card overlay language. */
.wcboost-wishlist .product-remove.product-featured-icons { display: flex !important; opacity: 0; transition: opacity .25s; }
.wcboost-wishlist .product-inner:hover .product-remove.product-featured-icons { opacity: 1; }
/* Empty states: give both the glass card their siblings wear. */
.wcboost-wishlist .wishlist-empty,
.wcboost-products-compare--empty .woocommerce-info {
	max-width: 640px;
	margin: 0 auto;
	padding: 56px 32px;
	text-align: center;
	background: rgba(255, 253, 251, .72);
	border: 1px solid var(--alsq-glass-hairline-soft, rgba(224,197,138,.32));
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(43, 9, 29, .08);
}
/* Compare empty icon: gold instead of hard-coded #868686 grey. */
.wcboost-products-compare--empty .woocommerce-info h3::before {
	filter: brightness(0) saturate(100%) invert(62%) sepia(46%) saturate(462%) hue-rotate(7deg) brightness(92%) contrast(88%);
}

/* --- 19L. Home hero + bands. --- */
/* Slide dashes: clear of the plaque corner + visible on ivory slides. */
.alsq-home__hero-dots { z-index: 8; }
.alsq-home__hero-dot { background: rgba(43, 9, 29, .45); }
/* Plaque: same outer hairline as every sibling card. */
.alsq-home__hero-plaque { border: 1px solid var(--alsq-glass-hairline-soft, rgba(224,197,138,.32)); }
/* Band CTA was wine-on-wine glass — lift it off the panel. */
.alsq-home__cband-card .alsq-home__button--light {
	border: 1px solid rgba(224, 197, 138, .45);
	box-shadow: 0 8px 20px rgba(43, 9, 29, .35);
}
/* Hero headline should top the page's type scale (desktop only). */
@media (min-width: 992px) {
	.alsq-home__hero-plaque h1 { font-size: clamp(44px, 4.2vw, 54px); line-height: 1.08; }
}

/* ================================================================== *
 * 19-r. Corrections from the verify pass — specificity losses and    *
 *       selector mismatches found live.                              *
 * ================================================================== */

/* r1. Back-to-top arrow: theme blends a white svg with `difference`,
   which turned NAVY over the new warm chip. */
#gotop svg { mix-blend-mode: normal !important; color: var(--alsq-brand, #6b0e2c) !important; }

/* r2. Active-filter chips: live markup uses .catalog-toolbar__filters-actived,
   not .catalog-toolbar-filtered. */
.catalog-toolbar__filters-actived .remove-filtered,
.catalog-toolbar__active-filters .remove-filtered {
	background: rgba(255, 253, 251, .72) !important;
	border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important;
	border-radius: 12px !important;
	color: var(--alsq-wine-deep, #43091d) !important;
}
.catalog-toolbar__filters-actived .remove-filtered-all,
.catalog-toolbar__active-filters .remove-filtered-all {
	background: var(--alsq-brand, #6b0e2c) !important;
	border: 1px solid var(--alsq-brand, #6b0e2c) !important;
	border-radius: 12px !important;
	color: #f7efe6 !important;
}

/* r3. Mobile ranged prices: .price is flex-wrap:wrap — nowrap the FLEX, not
   just the text. */
@media (max-width: 576px) {
	ul.products li.product .price { flex-wrap: nowrap !important; gap: 4px !important; }
}

/* r4. Mobile filter drawer paints on .sidebar__container, not .panel__*. */
.catalog-filters-sidebar .sidebar__container {
	background: linear-gradient(180deg, var(--alsq-surface, #fffdfb), var(--alsq-ivory, #f7efe6)) !important;
}

/* r5. ATC radius: match alsq-commerce's (0,4,1) selector so 12px wins by order. */
.single-product .summary form.variations_form .single_add_to_cart_button { border-radius: 12px !important; }

/* r6. Product qty stepper: Utopia's plugin CSS pins grey/#000 at (0,4,1) — 
   match+beat it. */
.single-product span.glozin-svg-icon.glozin-qty-button.decrease,
.single-product span.glozin-svg-icon.glozin-qty-button.increase {
	background: rgba(247, 239, 230, .7) !important;
	color: var(--alsq-wine-deep, #43091d) !important;
}
.single-product span.glozin-svg-icon.glozin-qty-button.decrease:hover,
.single-product span.glozin-svg-icon.glozin-qty-button.increase:hover { background: var(--alsq-ivory, #f7efe6) !important; }

/* r7. Inactive tab softening: theme rule (0,4,3) out-specified the polish rule. */
.single-product div.product .woocommerce-tabs .wc-tabs li:not(.active) a { color: rgba(33, 29, 31, .55) !important; }

/* r8. Cross-sell prices: beat the shop-grid soft-gold rule (0,4,4). */
body.woocommerce-cart .cross-sells ul.products li.product .price,
body.woocommerce-cart .cross-sells ul.products li.product .price bdi,
body.woocommerce-cart .cross-sells li.product .price bdi { color: var(--alsq-bronze, #916419) !important; }

/* r9. Cross-sell button: content-box made 44px compute to 70px. */
.cross-sells li.product .button.product-loop-button {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 44px !important;
}

/* r10. Cart "Retirer": real markup is a.remove inside DIV.product-remove. */
.woocommerce-cart .product-remove a, .woocommerce-cart a.remove { color: var(--alsq-brand, #6b0e2c) !important; }

/* r11. Checked checkboxes: Glozin paints its own ::before in near-black. */
input[type="checkbox"]:checked::before {
	background-color: var(--alsq-brand, #6b0e2c) !important;
	border-color: var(--alsq-brand, #6b0e2c) !important;
}

/* r12. Review heading ↔ card: mobile stacking exposed a 1rem gap. */
.woocommerce-checkout form.checkout #order_review { margin-top: 0 !important; }

/* r13. Checkout input radius: match the legacy 6px rule's specificity. */
.woocommerce-checkout form.checkout .form-row input.input-text { border-radius: 8px !important; }

/* r14. Wishlist card actions: our own shop-card hider (0,4,3) won — restore
   above it, wishlist scope only. */
.wcboost-wishlist ul.products li.product .product-remove.product-featured-icons,
.wcboost-wishlist ul.products li.product .product-featured-icons--primary {
	display: flex !important;
	opacity: 0;
	transition: opacity .25s;
}
.wcboost-wishlist ul.products li.product:hover .product-remove.product-featured-icons,
.wcboost-wishlist ul.products li.product:hover .product-featured-icons--primary { opacity: 1; }

/* r15. Cart-drawer reco titles: the drawer's title is a classless <a>. */
#cart-panel .glozin-product-carousel .product__summary > a:not(.button) {
	font-family: var(--alsq-display-font, Georgia, serif) !important;
	font-weight: 600;
	color: var(--alsq-ink, #211d1f) !important;
	letter-spacing: -.3px;
}

/* r16. Search overlay "Voir tous les résultats": last black gz-button. */
#search-modal a.gz-button {
	background: var(--alsq-brand, #6b0e2c) !important;
	border-color: var(--alsq-brand, #6b0e2c) !important;
	color: #f7efe6 !important;
	border-radius: 12px !important;
}

/* r17. Mobile "Commander maintenant": two-line lockup was set at line-height 1. */
@media (max-width: 576px) {
	#utopia-fast-checkout button.button.alt { font-size: 14px !important; line-height: 1.25 !important; }
}

/* r18. Outline "Ajouter au panier": its cart icon (::before mask) must match
   the wine text — a theme slide-layer rule was forcing #212121. */
.single-product .summary form.variations_form .single_add_to_cart_button::before { background-color: currentColor !important; }

/* r19. Sidebar price-filter fields were a stark-white inner <input> (8px radius)
   inside a 3px-radius wrapper — a white pill on the ivory sidebar. Merge them
   into one warm field; and warm the filter checkboxes (were pure white). */
.widget_price_filter .price_slider_amount_input,
.price_slider_amount .price_slider_amount_input {
	background: var(--alsq-surface, #fffdfb) !important;
	border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important;
	border-radius: 8px !important;
	overflow: hidden;
}
.widget_price_filter .price_slider_amount_input input,
.price_slider_amount .price_slider_amount_input input,
.price_slider_amount input.price_slider_amount_input {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--alsq-ink, #211d1f) !important;
}
/* Availability filter checkbox box: it's a ::before on the option-name span
   (there is no <input>) — was a stark-white 17px square + grey border. */
.products-filter__option .products-filter__option-name::before,
.products-filter input[type="checkbox"]::before,
.woocommerce-widget-layered-nav input[type="checkbox"]::before {
	background-color: var(--alsq-surface, #fffdfb) !important;
	border-color: var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important;
}
/* Checked state → brand wine (cover Glozin's selected-class variants). */
.products-filter__option.current .products-filter__option-name::before,
.products-filter__option.selected .products-filter__option-name::before,
.products-filter__option.chosen .products-filter__option-name::before,
.products-filter__option.active .products-filter__option-name::before,
.products-filter__option[aria-checked="true"] .products-filter__option-name::before {
	background-color: var(--alsq-brand, #6b0e2c) !important;
	border-color: var(--alsq-brand, #6b0e2c) !important;
}

/* ================================================================== *
 * r20. Category/shop polish — sidebar panel + tighter card footer.   *
 * ================================================================== */

/* Card footer: a 1-line product name was reserving a 2nd empty line
   (min-height:2.7em from r19D), leaving an awkward gap above the price.
   Keep the 2-line CLAMP for long names, but drop the reservation so the
   name sits directly above the price. */
ul.products li.product .woocommerce-loop-product__title { min-height: 0 !important; }
ul.products li.product .price { margin-top: .35rem !important; }

/* Desktop filter sidebar → frosted "Verre" panel (was bare text on the ivory
   ground, which read as unfinished). Scoped to desktop so the mobile filter
   drawer keeps its full-bleed layout. */
@media (min-width: 992px) {
	.widget-area.primary-sidebar .sidebar__container {
		background: rgba(255, 253, 251, 0.66) !important;
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		border: 1px solid var(--alsq-glass-hairline, rgba(224,197,138,.58)) !important;
		border-radius: 14px;
		padding: 1.35rem 1.2rem;
		box-shadow: 0 12px 34px rgba(56, 18, 32, .07);
	}
	/* the widget stack already has its own section dividers — let the panel
	   padding breathe, and trim the first/last section's outer margin. */
	.widget-area.primary-sidebar .sidebar__container > *:first-child { margin-top: 0; }
	.widget-area.primary-sidebar .sidebar__container > *:last-child { margin-bottom: 0; }
}

/* r21. Mobile: taller product image so the photo is the hero. The wine footer
   overlays the bottom of the card, and with a 3/4 image only ~1/3 of the photo
   showed → cards felt small. Taller aspect on phones = more visible product. */
@media (max-width: 767px) {
	body:not(.home) ul.products li.product .product-thumbnail > a.gz-ratio,
	.woocommerce ul.products li.product .product-thumbnail > a.gz-ratio,
	.alsq-home__products-grid li.product .product-thumbnail > a.gz-ratio {
		aspect-ratio: 3 / 5 !important;
	}
}

/* r22. Mobile: ONE product per row on all catalog pages (shop, categories,
   search) — matches the homepage single-column showcase. The mobile-col-1
   class is forced via the glozin_mobile_product_columns filter; this makes the
   flex items full-width decisively (our commerce layer was overriding the
   theme's own .mobile-col-1 width:100%). Scoped to the main grid so the
   related/cross-sell carousels keep their own layout. */
@media (max-width: 767px) {
	#glozin-shop-content ul.products li.product,
	.search-results ul.products li.product {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}
	#glozin-shop-content ul.products,
	.search-results ul.products { row-gap: 16px !important; }
}

/* r23. Client request (2026-09): the discount badge (-x%) text and the
   COMMANDER card CTA text should be WHITE on every product card, site-wide.
   Only the text colour changes — the gold pill and gold button keep their
   fill. The "Nouveau" (.new) badge is deliberately left as-is. */
.onsale.woocommerce-badge,
span.onsale,
.woocommerce span.onsale {
	color: #ffffff !important;
}
.alsq-home__commander,
body:not(.home) ul.products li.product .alsq-home__commander,
.alsq-home__products-grid .alsq-home__commander {
	color: #ffffff !important;
}

/* r24. PRIX filter: the DT currency label should sit AFTER the amount (the
   store uses the right_space position, e.g. "100.00 DT"). Glozin hard-codes
   the currency <span> ahead of the <input> in the price-slider fields, so it
   reads "DT 0". The wrapper is a flex row — reorder the symbol to the end. */
.price_slider_amount .price_slider_amount_input .price_slider_amount_input_currency,
.widget_price_filter .price_slider_amount_input .price_slider_amount_input_currency {
	order: 2 !important;
	margin-left: 6px !important;
	margin-right: 0 !important;
}
.price_slider_amount .price_slider_amount_input input,
.widget_price_filter .price_slider_amount_input input {
	order: 1 !important;
}
