/* Hallmark · v2.0.0 · redesign: full · theme: brand (Beauticel purple, sand and lavender; Playfair Display + Jost) · deal: manual · genre: editorial · job: buy · shape: Catalogue, the short shelf · hero: Stage (/), Banner (/shop/, product pages) · nav: three-part bar, menu under 1200px · footer: statement (the slogan large over the links) · signature: the AGE-R shelf with live prices on the first screen · posture: Restrained, two declared purple fields (combo band, footer) · built: the project */
/* Hallmark · pre-emit critique: P4 H5 E4 S4 R4 V3 · weakest: V, a store page around a product grid is a familiar shape; the shelf hero, the priced combo band and the ingredient index carry it */
/* Hallmark · waive 7b · product plates are var(--bc-white) · the product photographs ship on white grounds and the plate must match them */
/* Hallmark · dropped the marquee, the four trust tiles in a white card, the category tiles, the hero arcs, chip and floating price tags, the spotlight rings · decoration that repeated facts the page already states; every fact and link is kept (trust facts under the grid, categories in the footer) */
/* Hallmark · dropped eyebrows "Curated beauty · UAE", "The edit", "Signature", "A ritual in three steps", "Inside the formulas", "Explore", "Why Beauticel", "Spotlight · At-home device", "Inside the set" · 54; each heading already names its section */
/* Hallmark · answered F4 · one filled primary per screen; product cards use the outline style */
/* Hallmark · the "Curated beauty" tagline keeps its tracked capitals as part of the wordmark lockup (brand rule) */

/* ---------- Fonts (self-hosted latin subset, SIL Open Font License 1.1) ---------- */
@font-face {
	font-family: "Jost"; font-style: normal; font-weight: 400 500; font-display: swap;
	src: url("../fonts/jost-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Playfair Display"; font-style: normal; font-weight: 500 600; font-display: swap;
	src: url("../fonts/playfair-display-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Playfair Display"; font-style: italic; font-weight: 500; font-display: swap;
	src: url("../fonts/playfair-display-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/*
 * Metric-matched local fallbacks (Arial / Georgia scaled to the web fonts), so lines do not re-wrap when the fonts swap in.
 * Same latin range as the web fonts: Arabic letters must skip these and reach IBM Plex Sans Arabic.
 */
@font-face { font-family: "Jost Fallback"; font-weight: 400; src: local("Arial"), local("ArialMT"); size-adjust: 94.98%; ascent-override: 112.65%; descent-override: 40.01%; line-gap-override: 0%; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Jost Fallback"; font-weight: 500; src: local("Arial"), local("ArialMT"); size-adjust: 98.82%; ascent-override: 108.27%; descent-override: 38.45%; line-gap-override: 0%; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Playfair Display Fallback"; font-weight: 400 500; src: local("Georgia"); size-adjust: 102.11%; ascent-override: 105.77%; descent-override: 24.48%; line-gap-override: 0%; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Playfair Display Fallback"; font-weight: 600 900; src: local("Georgia Bold"), local("Georgia-Bold"); size-adjust: 88.86%; ascent-override: 121.54%; descent-override: 28.13%; line-gap-override: 0%; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Playfair Display Fallback"; font-style: italic; font-weight: 400 500; src: local("Georgia Italic"), local("Georgia-Italic"); size-adjust: 96.06%; ascent-override: 112.43%; descent-override: 26.03%; line-gap-override: 0%; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* =========================================================
   Tokens. Every colour, face, size and space below goes through these.
   ========================================================= */
:root {
	/* Brand palette (beauticel/CLAUDE.md, mirrored in theme.json) */
	--bc-primary: #4B2E83;
	--bc-primary-dark: #3B2268;
	--bc-mid: #7A5BC0;
	--bc-lilac: #A78BDE;
	--bc-lavender: #EEE8F8;
	--bc-sand: #F6F1EA;
	--bc-white: #FFFFFF;
	--bc-ink: #2B2433;
	--bc-muted: #6B6275;
	--bc-olive: #7A8F2E;
	--bc-olive-tint: #E9EED8;
	--bc-olive-text: #5E7020;

	/* Roles */
	--bc-paper: var(--bc-sand);
	--bc-paper-2: #FBF8F3;
	--bc-plate: var(--bc-white);
	--bc-well: var(--bc-lavender);
	--bc-well-hover: #E4DBF4;
	--bc-rule: #DDD5CD;
	--bc-rule-soft: #ECE6DE;
	--bc-field-edge: #8E8696;
	--bc-on-dark: var(--bc-white);
	--bc-on-dark-soft: #DCD3EC;
	--bc-rule-dark: rgba(255, 255, 255, .18);
	--bc-focus: var(--bc-mid);
	--bc-logo: #46244F;
	--bc-slot-bg: #FFF6D6;
	--bc-slot-edge: #B58B00;
	--bc-scrim: rgba(43, 36, 51, .5);
	--bc-shadow: 0 1px 2px rgba(43, 36, 51, .06);
	--bc-shadow-float: 0 18px 44px -18px rgba(43, 36, 51, .32), 0 0 0 1px rgba(43, 36, 51, .08);
	--bc-shadow-on-dark: 0 30px 60px -30px rgba(20, 10, 40, .55);

	/* Faces */
	--bc-display: "Playfair Display", "Playfair Display Fallback", "IBM Plex Sans Arabic", Georgia, serif;
	--bc-body: Jost, "Jost Fallback", "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Type scale (375px to 1440px) */
	--text-display: clamp(2.5rem, 1.55rem + 4.2vw, 5.25rem);
	--text-display-s: clamp(2.125rem, 1.45rem + 2.9vw, 3.75rem);
	--text-section: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
	--text-title: clamp(1.25rem, 1.12rem + .45vw, 1.5625rem);
	--text-card: clamp(1.0625rem, 1rem + .3vw, 1.25rem);
	--text-lead: clamp(1.125rem, 1.06rem + .28vw, 1.3125rem);
	--text-md: 1.0625rem;
	--text-sm: .9375rem;
	--text-xs: .8125rem;

	/* Space */
	--space-3xs: 2px;
	--space-2xs: 4px;
	--space-xs: 8px;
	--space-sm: 12px;
	--space-md: 16px;
	--space-lg: 24px;
	--space-xl: 40px;
	--space-2xl: 64px;
	--space-3xl: 96px;
	--space-4xl: 144px;
	--section-gap-s: clamp(4rem, 2.4rem + 6.8vw, 7.5rem);
	--section-gap: clamp(5rem, 3rem + 8.5vw, 9rem);

	/* Shape and layout */
	--bc-radius: 22px;
	--bc-radius-sm: 14px;
	--bc-radius-xs: 10px;
	--bc-pill: 999px;
	--bc-wide: 1320px;
	--bc-measure: 65ch;
	--bc-gutter: clamp(1rem, 4vw, 2.5rem);
	--bc-header-h: 64px;
	--bc-chrome-h: calc(var(--bc-header-h) + 36px);
	--bc-control: 48px;

	/* Motion */
	--bc-ease: cubic-bezier(.16, 1, .3, 1);
	--bc-dur-micro: 120ms;
	--bc-dur-short: 220ms;
	--bc-dur-long: 420ms;
}
@media (min-width: 900px) { :root { --bc-header-h: 76px; } }
html[lang^="ar"] {
	--bc-display: "IBM Plex Sans Arabic", Tahoma, sans-serif;
	--bc-body: "IBM Plex Sans Arabic", Tahoma, sans-serif;
}
html[lang^="ar"] body { font-family: var(--bc-body); }
html[lang^="ar"] :is(h1, h2, h3, h4, .wp-block-heading) { font-family: var(--bc-display); letter-spacing: 0; }

/* ---------- Base ---------- */
* { -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--bc-header-h) + var(--space-md)); overflow-x: clip; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; font-synthesis: none; }
img { max-width: 100%; height: auto; }
::selection { background: var(--bc-lavender); color: var(--bc-primary-dark); }
:focus-visible { outline: 2px solid var(--bc-focus); outline-offset: 3px; }
:is(.bc-announce, .bc-combo-band, .bc-footer) :focus-visible { outline-color: var(--bc-on-dark); }
:is(h1, h2, h3) { overflow-wrap: break-word; min-width: 0; text-wrap: balance; }
p { text-wrap: pretty; }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.bc-icon { flex: none; }

/* Eyebrow labels are retired (the combo page head in the database still carries one). */
.bc-eyebrow { display: none !important; }

/* Text links that lead somewhere: underlined, never tracked capitals */
.bc-link-more a, .bc-link-quiet {
	font-size: var(--text-sm); font-weight: 500; color: var(--bc-primary);
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: var(--bc-lilac);
	transition: text-decoration-color var(--bc-dur-short) var(--bc-ease), color var(--bc-dur-short) var(--bc-ease);
}
.bc-link-more a:hover, .bc-link-quiet:hover { color: var(--bc-primary-dark); text-decoration-color: currentColor; }
.bc-save { color: var(--bc-olive-text); background: var(--bc-olive-tint); border-radius: var(--bc-pill); padding: var(--space-3xs) var(--space-xs); font-weight: 500; font-size: var(--text-xs); white-space: nowrap; }

/* ---------- Buttons (one filled style, one outline style) ---------- */
.wp-element-button, .wp-block-button__link, .bc-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	font-family: var(--bc-body); font-size: var(--text-sm); font-weight: 500; letter-spacing: .01em; text-transform: none; line-height: 1.2;
	transition: background-color var(--bc-dur-short) var(--bc-ease), color var(--bc-dur-short) var(--bc-ease), border-color var(--bc-dur-short) var(--bc-ease);
}
.wp-block-button__link, .bc-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs);
	min-height: var(--bc-control); padding: 0 var(--space-lg); white-space: nowrap;
	background: var(--bc-primary); color: var(--bc-on-dark); border: 1px solid var(--bc-primary); border-radius: var(--bc-pill);
	cursor: pointer; text-decoration: none;
}
:is(.wp-block-button__link, .bc-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button):hover { background: var(--bc-primary-dark); border-color: var(--bc-primary-dark); color: var(--bc-on-dark); }
:is(.wp-block-button__link, .bc-btn, .woocommerce a.button, .woocommerce button.button):active { background: var(--bc-primary-dark); }
:is(.bc-btn, .woocommerce button.button):disabled, .woocommerce button.button.disabled { opacity: .55; cursor: not-allowed; background: var(--bc-primary); border-color: var(--bc-primary); }
.woocommerce button.button.alt, .woocommerce a.button.alt { background: var(--bc-primary); color: var(--bc-on-dark); }
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background: var(--bc-primary-dark); }
.wp-block-button.is-style-outline > .wp-block-button__link, .bc-btn--outline {
	background: transparent; color: var(--bc-primary); border: 1px solid var(--bc-primary);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover, .bc-btn--outline:hover { background: var(--bc-well); color: var(--bc-primary-dark); border-color: var(--bc-primary-dark); }
.wp-block-button.is-style-light > .wp-block-button__link { background: var(--bc-on-dark); color: var(--bc-primary); border-color: var(--bc-on-dark); }
.wp-block-button.is-style-light > .wp-block-button__link:hover { background: var(--bc-lavender); color: var(--bc-primary-dark); border-color: var(--bc-lavender); }
html[lang^="ar"] :is(.wp-element-button, .bc-btn, .woocommerce .button) { letter-spacing: 0; font-size: var(--text-md); }

/* ---------- Announcement bar ---------- */
.bc-announce { background: var(--bc-primary); color: var(--bc-on-dark); padding-block: var(--space-xs); }
.bc-announce p { margin: 0; font-size: var(--text-xs); letter-spacing: 0; }
.bc-announce a { color: var(--bc-on-dark); text-decoration: underline; text-decoration-color: var(--bc-rule-dark); text-underline-offset: 4px; }
.bc-announce a:hover { color: var(--bc-lavender); text-decoration-color: currentColor; }
.bc-announce__slogan { font-family: var(--bc-display); font-style: italic; margin-inline-end: var(--space-md); color: var(--bc-on-dark-soft); }
@media (max-width: 599px) {
	.bc-announce__slogan { display: none; }
	.bc-announce p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* ---------- Header ---------- */
.bc-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .bc-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .bc-site-header { top: 0; } }
.bc-header {
	background: var(--bc-paper);
	border-block-end: 1px solid transparent;
	transition: border-color var(--bc-dur-long) var(--bc-ease);
	padding-inline: var(--bc-gutter);
}
.bc-header.is-scrolled { border-color: var(--bc-rule); }
.bc-header__inner {
	max-width: var(--bc-wide); margin-inline: auto;
	display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center;
	min-height: var(--bc-header-h); gap: var(--space-md);
}
.bc-header__inner > * { margin: 0 !important; }
.bc-header__inner .wp-block-shortcode, .bc-header__inner > p, .bc-header__inner > .bc-logo { justify-self: center; }
.bc-logo { display: block; line-height: 0; color: var(--bc-logo); }
.bc-logo--white { color: var(--bc-on-dark); }
.bc-logo svg { width: 128px; height: auto; display: block; }
@media (min-width: 900px) { .bc-header .bc-logo svg { width: 150px; } }
.bc-header__inner p:has(> .bc-logo) { margin: 0; line-height: 0; justify-self: center; }

/* Navigation (menu button up to 1199px) */
.bc-nav { justify-self: start; }
.bc-nav .wp-block-navigation__container { gap: clamp(1.25rem, 2.2vw, 2.25rem); }
.bc-nav .wp-block-navigation-item__content {
	color: var(--bc-ink); font-size: var(--text-sm); font-weight: 500; letter-spacing: 0; text-transform: none;
	padding-block: var(--space-xs); position: relative;
}
.bc-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; inset-inline: 0; inset-block-end: var(--space-2xs); height: 1px; background: var(--bc-primary);
	transform: scaleX(0); transform-origin: var(--bc-origin, left); transition: transform var(--bc-dur-short) var(--bc-ease);
}
[dir="rtl"] .bc-nav { --bc-origin: right; }
.bc-nav .wp-block-navigation-item__content:hover { color: var(--bc-primary); }
.bc-nav .wp-block-navigation-item__content:hover::after, .bc-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.bc-nav .wp-block-navigation__responsive-container-open { color: var(--bc-ink); padding: var(--space-xs); margin-inline-start: calc(-1 * var(--space-xs)); min-width: 44px; min-height: 44px; }
.bc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--bc-paper) !important; padding: calc(var(--space-3xl) - var(--space-xs)) var(--space-lg) var(--space-xl);
}
.bc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: var(--space-md); }
.bc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--bc-display); font-size: var(--text-section); font-weight: 500; line-height: 1.1;
}
.bc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }
@media (max-width: 1199px) {
	.bc-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.bc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
}

/* Search, account, mini-cart */
.bc-header__actions { justify-self: end; gap: var(--space-2xs) !important; }
.bc-header__actions > * { margin: 0 !important; }
.bc-search .wp-block-search__button, .bc-account a, .bc-minicart .wc-block-mini-cart__button {
	color: var(--bc-ink); background: transparent !important; border: 0; padding: var(--space-xs); border-radius: var(--bc-pill);
	min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	transition: background-color var(--bc-dur-short) var(--bc-ease), color var(--bc-dur-short) var(--bc-ease);
}
.bc-search .wp-block-search__button:hover, .bc-account a:hover, .bc-minicart .wc-block-mini-cart__button:hover { color: var(--bc-primary); background: var(--bc-well) !important; }
.bc-search .wp-block-search__button svg { width: 22px; height: 22px; }
.bc-search.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { border: 0; }
.bc-search .wp-block-search__inside-wrapper { background: transparent; }
.bc-search .wp-block-search__input { border-radius: var(--bc-pill); border: 1px solid var(--bc-field-edge); background: var(--bc-plate); padding-inline: var(--space-md); color: var(--bc-ink); }
.bc-minicart .wc-block-mini-cart__badge { background: var(--bc-primary) !important; color: var(--bc-on-dark) !important; border: 0 !important; font-size: .6875rem; }
.bc-minicart .wc-block-mini-cart__amount { display: none; }
@media (max-width: 599px) { .bc-account { display: none; } }

/* ---------- Main and sections ---------- */
.bc-hero > *, .bc-section > *, .bc-combo-band > *, .bc-story-band > *, .bc-plp > *, .bc-pdp > *, .bc-page-wide .alignwide, .bc-footer > * { max-width: var(--bc-wide) !important; }
.bc-main { padding-block-end: var(--section-gap-s); }
.bc-home { padding-block-end: 0; }
.bc-section { padding-block: var(--section-gap-s) 0; }
.bc-section__head {
	display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-sm) var(--space-lg);
	margin-block-end: var(--space-xl) !important;
}
.bc-section__head > * { margin: 0 !important; }
.bc-section__head h2 { font-size: var(--text-section); max-width: 18ch; }
.bc-section__head .bc-link-more { padding-block-end: var(--space-xs); }

/* ---------- Hero: the shelf ---------- */
.bc-hero { padding-block: var(--space-lg) 0; }
.bc-hero__grid { display: grid; row-gap: var(--space-md); container-type: inline-size; width: 100%; }
.bc-hero__grid > * { min-width: 0; }
.bc-hero__title {
	font-size: clamp(2.125rem, 10.2cqi, var(--text-display)); font-weight: 500; line-height: 1.04; letter-spacing: -.025em;
	margin: 0; text-wrap: initial;
}
.bc-hero__lead { font-size: var(--text-lead); color: var(--bc-muted); max-width: 36ch; line-height: 1.5; margin: 0; }
.bc-hero__ctas { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin: 0; }
html[lang^="ar"] .bc-hero__title { line-height: 1.25; letter-spacing: 0; }

/* Phones and tablets: headline, line, the shelf, then the two actions, so the products show on the first screen. */
@media (max-width: 899px) {
	.bc-hero__copy { display: contents; }
	.bc-hero__title { order: 1; }
	.bc-hero__lead { order: 2; }
	.bc-shelf { order: 3; margin-block: var(--space-xs); }
	.bc-hero__ctas { order: 4; }
	.bc-hero__ctas .wp-block-button { flex: 1 1 0; }
	.bc-hero__ctas .wp-block-button__link { width: 100%; padding-inline: var(--space-md); }
}
@media (min-width: 900px) {
	.bc-hero { min-height: calc(100svh - var(--bc-chrome-h)); display: grid; align-content: center; padding-block: var(--space-xl); }
	.bc-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-2xl); align-items: center; }
	.bc-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-lg); }
	.bc-hero__copy > * { margin: 0 !important; }
	.bc-hero__title { font-size: clamp(3rem, 6cqi, var(--text-display)); }
	.bc-hero__ctas { margin-block-start: var(--space-xs) !important; }
}

.bc-shelf { margin: 0; display: grid; gap: var(--space-md); }
.bc-shelf__plate {
	position: relative; aspect-ratio: 4 / 3; background: var(--bc-well); border-radius: var(--bc-radius);
	overflow: hidden; isolation: isolate;
}
@media (min-width: 900px) { .bc-shelf__plate { aspect-ratio: 1 / .92; max-height: calc(100svh - var(--bc-chrome-h) - 9rem); width: 100%; } }
.bc-shelf__p { position: absolute; display: block; inset-block-end: 7%; mix-blend-mode: multiply; }
.bc-shelf__p img { display: block; width: 100%; height: auto; }
.bc-shelf__p--1 { width: 58%; inset-inline-start: 21%; inset-block-end: 6%; z-index: 2; }
.bc-shelf__p--2 { width: 36%; inset-inline-start: 1%; z-index: 1; }
.bc-shelf__p--3 { width: 36%; inset-inline-end: 1%; z-index: 1; }
.bc-shelf__cap ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); }
.bc-shelf__cap li { display: flex; flex-direction: column; gap: var(--space-3xs); padding-block-start: var(--space-xs); border-block-start: 1px solid var(--bc-rule); font-size: var(--text-xs); line-height: 1.35; }
.bc-shelf__cap a { color: var(--bc-ink); }
.bc-shelf__cap a:hover { color: var(--bc-primary); }
.bc-shelf__price { color: var(--bc-muted); font-variant-numeric: tabular-nums; }
@media (max-width: 599px) { .bc-shelf__cap { display: none; } }

/* ---------- Product grid (classic loop and [products]) ---------- */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl) var(--space-md);
	margin: 0 !important; padding: 0; clear: both;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
@media (min-width: 900px) {
	.woocommerce ul.products { column-gap: var(--space-lg); }
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; padding: 0 !important; position: relative;
	display: flex; flex-direction: column; text-align: start; background: none;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: inherit; }
.woocommerce ul.products li.product a img {
	margin: 0 0 var(--space-md) !important; width: 100% !important; max-width: none;
	aspect-ratio: 4 / 5; object-fit: contain; background: var(--bc-plate); padding: 10%; box-sizing: border-box;
	border-radius: var(--bc-radius);
}
.bc-brand { display: block; font-size: var(--text-xs); color: var(--bc-muted); margin-block-end: var(--space-2xs); font-weight: 400; letter-spacing: 0; text-transform: none; }
a.bc-brand:hover { color: var(--bc-primary); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--bc-display); font-size: var(--text-card) !important; font-weight: 500; line-height: 1.25; letter-spacing: -.005em;
	padding: 0 !important; margin: 0 0 var(--space-xs); color: var(--bc-ink);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	transition: color var(--bc-dur-short) var(--bc-ease);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title { color: var(--bc-primary); }
.woocommerce ul.products li.product .price { color: var(--bc-ink) !important; font-size: var(--text-md) !important; font-weight: 500; margin: auto 0 var(--space-md) !important; font-variant-numeric: tabular-nums; }
.woocommerce ul.products li.product .price del { color: var(--bc-muted); font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button {
	margin: 0 !important; width: 100%; min-height: 44px; padding-inline: var(--space-sm); box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; text-align: center;
	background: transparent; color: var(--bc-primary); border: 1px solid var(--bc-primary);
}
.woocommerce ul.products li.product .button:hover { background: var(--bc-well); color: var(--bc-primary-dark); border-color: var(--bc-primary-dark); }
.woocommerce ul.products li.product .button.loading { opacity: .7; }
.woocommerce ul.products li.product .added_to_cart { font-size: var(--text-xs); padding-block-start: var(--space-xs); color: var(--bc-primary); text-decoration: underline; text-underline-offset: 4px; }
.woocommerce span.onsale { display: none; }
.woocommerce .star-rating { display: none; }

/* Trust facts under the grid: a hairline row, not a box of tiles */
.bc-trust {
	list-style: none; margin: var(--space-2xl) 0 0; padding: var(--space-lg) 0 0; border-block-start: 1px solid var(--bc-rule);
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg) var(--space-md);
}
@media (min-width: 900px) { .bc-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-lg); } }
.bc-trust li { display: flex; gap: var(--space-sm); align-items: flex-start; }
.bc-trust .bc-icon { color: var(--bc-primary); width: 22px; height: 22px; }
.bc-trust strong { display: block; font-weight: 500; font-size: var(--text-sm); line-height: 1.35; }
.bc-trust span { display: block; color: var(--bc-muted); font-size: var(--text-xs); line-height: 1.45; margin-block-start: var(--space-3xs); }

/* ---------- Combo band (home): a purple field holding the offer ---------- */
.bc-combo-band {
	background: var(--bc-primary); color: var(--bc-on-dark);
	margin-block-start: var(--section-gap-s); padding-block: var(--section-gap-s);
}
.bc-combo-band__grid { display: grid; gap: var(--space-xl); align-items: center; }
.bc-combo-band__grid > * { min-width: 0; }
@media (min-width: 900px) { .bc-combo-band__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: var(--space-3xl); } }
.bc-combo-band__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-lg); }
.bc-combo-band__copy > * { margin: 0 !important; }
.bc-combo-band h2 { color: var(--bc-on-dark); font-size: var(--text-section); }
.bc-combo-band p { color: var(--bc-on-dark-soft); max-width: 44ch; font-size: var(--text-md); }
.bc-chip-save { display: inline-block; background: var(--bc-olive-tint); color: var(--bc-olive-text) !important; border-radius: var(--bc-pill); padding: var(--space-xs) var(--space-md); font-size: var(--text-xs); font-weight: 500; }

/* Pick, Mix, Save: a real ordered list, numbered by the list */
.bc-steps { list-style: none; margin: 0; padding: 0; counter-reset: bc-step; display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-xl); }
.bc-steps li { counter-increment: bc-step; display: inline-flex; align-items: baseline; gap: var(--space-xs); font-family: var(--bc-display); font-size: var(--text-title); line-height: 1.2; color: var(--bc-on-dark); }
.bc-steps li::before { content: counter(bc-step); font-family: var(--bc-body); font-size: var(--text-sm); color: var(--bc-on-dark-soft); font-variant-numeric: tabular-nums; }

/* Example combo card [bc_combo_example] */
.bc-cex, .bc-cex * { box-sizing: border-box; }
.bc-cex {
	background: var(--bc-plate); color: var(--bc-ink); border-radius: var(--bc-radius); padding: var(--space-xl);
	box-shadow: var(--bc-shadow-on-dark); width: 100%;
}
@media (max-width: 599px) { .bc-cex { padding: var(--space-lg); } }
.bc-combo-band .bc-cex p { color: inherit; max-width: none; }
.bc-cex__label { font-size: var(--text-sm); color: var(--bc-muted) !important; margin: 0 0 var(--space-sm); font-weight: 500; letter-spacing: 0; text-transform: none; }
.bc-cex__list { list-style: none; margin: 0; padding: 0; border-block-start: 1px solid var(--bc-rule-soft); }
.bc-cex__list li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: var(--space-md); align-items: center; padding-block: var(--space-sm); border-block-end: 1px solid var(--bc-rule-soft); }
.bc-cex__img { display: block; width: 56px; height: 56px; border-radius: var(--bc-radius-xs); background: var(--bc-paper); overflow: hidden; }
.bc-cex__img img { width: 56px; height: 56px; object-fit: contain; display: block; mix-blend-mode: multiply; }
.bc-cex__name { font-size: var(--text-sm); line-height: 1.35; }
.bc-cex__price { font-weight: 500; font-size: var(--text-sm); white-space: nowrap; font-variant-numeric: tabular-nums; }
.bc-cex__total { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-xs) var(--space-sm); margin-block-start: var(--space-lg); }
.bc-cex__total > span:first-child { flex-basis: 100%; font-size: var(--text-sm); color: var(--bc-muted); }
.bc-cex__total del { color: var(--bc-muted); font-size: var(--text-md); font-variant-numeric: tabular-nums; }
.bc-cex__total strong { font-family: var(--bc-display); font-size: var(--text-section); font-weight: 500; color: var(--bc-primary); line-height: 1; font-variant-numeric: tabular-nums; }

/* ---------- Spotlight (home) ---------- */
.bc-spot { display: grid; gap: var(--space-xl); align-items: center; }
.bc-spot > * { min-width: 0; }
@media (min-width: 900px) { .bc-spot { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: var(--space-3xl); } }
.bc-spot__visual {
	display: grid; place-items: center; aspect-ratio: 1; background: var(--bc-well); border-radius: var(--bc-radius);
	overflow: hidden; isolation: isolate;
}
@media (min-width: 900px) { .bc-spot__visual { aspect-ratio: 4 / 5; } }
.bc-spot__visual img { width: 64%; height: auto; display: block; mix-blend-mode: multiply; }
.bc-spot__copy > * { margin: 0; }
.bc-spot__title { font-size: var(--text-section); font-weight: 500; line-height: 1.08; margin-block-end: var(--space-md); max-width: 16ch; }
.bc-spot__lead { color: var(--bc-muted); font-size: var(--text-lead); line-height: 1.5; max-width: 40ch; margin-block-end: var(--space-xl); }
.bc-spot__modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block-end: var(--space-xl); border-block-start: 1px solid var(--bc-rule); }
.bc-spot__modes > div { padding-block: var(--space-md); border-block-end: 1px solid var(--bc-rule); }
.bc-spot__modes > div:nth-child(odd) { padding-inline-end: var(--space-md); }
.bc-spot__modes > div:nth-child(even) { padding-inline-start: var(--space-md); border-inline-start: 1px solid var(--bc-rule); }
.bc-spot__modes dt { font-family: var(--bc-display); font-size: var(--text-card); font-weight: 500; color: var(--bc-primary); line-height: 1.25; }
.bc-spot__modes dd { margin: var(--space-3xs) 0 0; font-size: var(--text-sm); color: var(--bc-muted); line-height: 1.4; }
.bc-spot__price { font-size: var(--text-title); font-weight: 500; margin-block-end: var(--space-lg); font-variant-numeric: tabular-nums; }
.bc-spot__ctas { display: flex; flex-wrap: wrap; gap: var(--space-md) var(--space-lg); align-items: center; }

/* ---------- Ritual: three steps on a lighter paper ---------- */
.bc-ritual { background: var(--bc-paper-2); margin-block-start: var(--section-gap-s); padding-block: var(--section-gap-s); }
.bc-ritual__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-lg); grid-template-columns: minmax(0, 1fr); }
.bc-ritual__step a {
	display: grid; grid-template-columns: 104px auto minmax(0, 1fr); grid-template-areas: "m n name" "m n txt";
	column-gap: var(--space-md); row-gap: var(--space-2xs); align-items: start; color: inherit;
}
.bc-ritual__media {
	grid-area: m; display: grid; place-items: center; aspect-ratio: 1; background: var(--bc-well); border-radius: var(--bc-radius-sm);
	overflow: hidden; isolation: isolate;
}
.bc-ritual__media img { width: 80%; height: auto; display: block; mix-blend-mode: multiply; }
.bc-ritual__n { grid-area: n; font-family: var(--bc-display); font-size: var(--text-section); line-height: .9; color: var(--bc-mid); font-variant-numeric: lining-nums; }
.bc-ritual__name { grid-area: name; font-family: var(--bc-display); font-weight: 500; font-size: var(--text-card); line-height: 1.25; transition: color var(--bc-dur-short) var(--bc-ease); }
.bc-ritual__txt { grid-area: txt; color: var(--bc-muted); font-size: var(--text-sm); line-height: 1.5; }
.bc-ritual__step a:hover .bc-ritual__name { color: var(--bc-primary); }
@media (min-width: 700px) {
	.bc-ritual__list { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--space-xl); }
	.bc-ritual__step a { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "m m" "n name" "n txt"; }
	.bc-ritual__media { aspect-ratio: 4 / 3; border-radius: var(--bc-radius); margin-block-end: var(--space-lg); }
	.bc-ritual__media img { width: 52%; }
}

/* ---------- Ingredients: an index of rows ---------- */
.bc-ingr { list-style: none; margin: 0; padding: 0; border-block-start: 1px solid var(--bc-rule); }
.bc-ingr__item { display: grid; gap: var(--space-xs) var(--space-xl); padding-block: var(--space-lg); border-block-end: 1px solid var(--bc-rule); }
.bc-ingr__item h3 { font-size: var(--text-title); font-weight: 500; margin: 0; }
.bc-ingr__item p { margin: 0; color: var(--bc-muted); font-size: var(--text-md); line-height: 1.55; max-width: 52ch; }
.bc-ingr__in { font-size: var(--text-sm); font-weight: 500; color: var(--bc-primary); text-decoration: underline; text-decoration-color: var(--bc-lilac); text-underline-offset: 5px; justify-self: start; }
.bc-ingr__in:hover { text-decoration-color: currentColor; }
@media (min-width: 900px) {
	.bc-ingr__item { grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr); align-items: baseline; padding-block: var(--space-xl); }
	.bc-ingr__in { justify-self: end; text-align: end; }
}

/* ---------- Story band: one statement on lavender ---------- */
.bc-story-band { background: var(--bc-well); margin-block-start: var(--section-gap-s); padding-block: var(--section-gap); }
.bc-story-band__inner { display: grid; gap: var(--space-lg); }
.bc-story-band__inner > * { margin: 0 !important; }
.bc-story-band__title { font-size: var(--text-display-s); font-weight: 500; line-height: 1.08; letter-spacing: -.02em; max-width: 17ch; }
.bc-story-band__text { color: var(--bc-muted); font-size: var(--text-md); max-width: 44ch; }
@media (min-width: 900px) {
	.bc-story-band__inner { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto; column-gap: var(--space-3xl); align-items: end; }
	.bc-story-band__title { grid-row: 1 / span 2; }
	.bc-story-band__text { align-self: end; }
	.bc-story-band__inner .bc-link-more { align-self: start; }
}

/* ---------- Footer: the slogan as a statement over the links ---------- */
.bc-footer { background: var(--bc-primary-dark); color: var(--bc-on-dark-soft); padding-block: var(--section-gap-s) var(--space-xl); margin-block-start: 0; }
.bc-footer a { color: var(--bc-on-dark); }
.bc-footer a:hover { color: var(--bc-lavender); text-decoration: underline; text-underline-offset: 4px; }
.bc-footer__top { display: grid; gap: var(--space-2xl) var(--space-lg); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bc-footer__top > * { margin: 0 !important; }
.bc-footer__brand { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.bc-footer__top { grid-template-columns: minmax(0, 6fr) repeat(3, minmax(0, 2fr)); column-gap: var(--space-xl); }
	.bc-footer__brand { grid-column: auto; }
}
.bc-footer__brand > * { margin-block: 0 var(--space-lg) !important; }
.bc-footer__slogan { font-family: var(--bc-display); font-size: var(--text-display-s); font-weight: 500; line-height: 1.05; letter-spacing: -.02em; color: var(--bc-on-dark); }
.bc-footer__about { max-width: 40ch; font-size: var(--text-sm); line-height: 1.6; }
.bc-footer h3 { color: var(--bc-on-dark-soft); font-family: var(--bc-body); font-size: var(--text-sm); font-weight: 500; letter-spacing: 0; text-transform: none; margin: 0 0 var(--space-md); }
.bc-footer__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-xs); font-size: var(--text-sm); }
.bc-footer__col a { display: inline-block; padding-block: var(--space-2xs); }
.bc-footer__bottom {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md) var(--space-lg);
	border-block-start: 1px solid var(--bc-rule-dark); margin-block-start: var(--space-2xl) !important; padding-block-start: var(--space-lg);
}
.bc-footer__bottom > * { margin: 0 !important; }
.bc-footer__mark { display: flex; align-items: center; gap: var(--space-md); flex-wrap: wrap; }
.bc-footer__mark > * { margin: 0 !important; }
.bc-footer .bc-logo svg { width: 132px; }
.bc-tagline { font-family: var(--bc-body); font-size: .6875rem !important; letter-spacing: .32em; text-transform: uppercase; color: var(--bc-on-dark-soft); }
.bc-footer__legal { font-size: var(--text-xs); }

/* Social links [bc_social] (footer, coming-soon page) */
.bc-social { list-style: none; margin: var(--space-md) 0 0; padding: 0; display: flex; gap: var(--space-xs); flex-wrap: wrap; }
.bc-social a {
	width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; border: 1px solid currentColor;
	transition: background-color var(--bc-dur-short) var(--bc-ease), color var(--bc-dur-short) var(--bc-ease), border-color var(--bc-dur-short) var(--bc-ease);
}
.bc-footer .bc-social a { color: var(--bc-on-dark); border-color: var(--bc-rule-dark); }
.bc-footer .bc-social a:hover { background: var(--bc-on-dark); color: var(--bc-primary-dark); border-color: var(--bc-on-dark); text-decoration: none; }

/* ---------- Generic page ---------- */
.bc-page { padding-block-start: var(--space-2xl); }
.bc-page__title { font-size: var(--text-display-s); font-weight: 500; letter-spacing: -.02em; line-height: 1.08; margin-block-end: var(--space-xl); max-width: 18ch; }
.bc-page .wp-block-post-content { font-size: var(--text-md); line-height: 1.7; }
.bc-page .wp-block-post-content > * + * { margin-block-start: var(--space-md); }
.bc-page .wp-block-post-content h2 { font-size: var(--text-title); margin-block-start: var(--space-2xl) !important; padding-block-start: var(--space-lg); border-block-start: 1px solid var(--bc-rule); }
.bc-page .wp-block-post-content h3 { font-size: var(--text-card); margin-block-start: var(--space-xl) !important; }
.bc-page .wp-block-post-content a { text-decoration: underline; text-decoration-color: var(--bc-lilac); text-underline-offset: 4px; }
.bc-page .wp-block-post-content a:hover { text-decoration-color: currentColor; }
/* A fact the owner has not given yet: shown as a blank to fill, never as real copy */
.bc-placeholder { background: var(--bc-slot-bg); color: var(--bc-ink); outline: 1px dashed var(--bc-slot-edge); padding: 0 var(--space-2xs); border-radius: var(--space-2xs); }
.bc-card { background: var(--bc-plate); border-radius: var(--bc-radius); padding: clamp(1.25rem, 3vw, 2rem); }

/* ---------- Shop and category pages ---------- */
.bc-plp { padding-block-start: var(--space-xl); }
.bc-plp .woocommerce-products-header { margin-block-end: var(--space-xl); }
.bc-plp .woocommerce-products-header__title { font-size: var(--text-display-s); font-weight: 500; letter-spacing: -.02em; line-height: 1.05; margin: var(--space-xs) 0 var(--space-md); }
.bc-plp .term-description { color: var(--bc-muted); max-width: 60ch; font-size: var(--text-lead); }
.bc-breadcrumb { font-size: var(--text-xs) !important; color: var(--bc-muted) !important; letter-spacing: 0; margin: 0 0 var(--space-md) !important; }
.bc-breadcrumb a { color: var(--bc-muted) !important; }
.bc-breadcrumb a:hover { color: var(--bc-primary) !important; }
.bc-breadcrumb .sep { margin-inline: var(--space-xs); color: var(--bc-field-edge); }
.woocommerce .woocommerce-result-count { font-size: var(--text-xs); color: var(--bc-muted); margin: 0 0 var(--space-lg); line-height: var(--bc-control); }
.woocommerce .woocommerce-ordering { margin: 0 0 var(--space-lg); }
.woocommerce .woocommerce-ordering select {
	appearance: none; min-height: 44px; border: 1px solid var(--bc-field-edge); border-radius: var(--bc-pill); padding-block: 0; padding-inline: var(--space-md) var(--space-xl);
	font: inherit; font-size: var(--text-xs); color: var(--bc-ink); background-color: var(--bc-plate);
	background-image: linear-gradient(45deg, transparent 50%, var(--bc-primary) 50%), linear-gradient(135deg, var(--bc-primary) 50%, transparent 50%);
	background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
	background-position: calc(100% - 20px) 52%, calc(100% - 15px) 52%;
}
[dir="rtl"] .woocommerce .woocommerce-ordering select { background-position: 15px 52%, 20px 52%; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: var(--bc-pill); min-width: 44px; padding: var(--space-sm); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bc-primary); color: var(--bc-on-dark); }

/* ---------- Single product ---------- */
.bc-pdp { padding-block-start: var(--space-lg); }
.woocommerce div.product { display: block; }
.bc-pdp-top { display: grid; gap: var(--space-xl); grid-template-columns: minmax(0, 1fr); align-items: start; }
.bc-pdp-top > * { min-width: 0; }
@media (min-width: 900px) {
	.bc-pdp-top { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: var(--space-3xl); }
	.woocommerce div.product .bc-pdp-top > div.images.woocommerce-product-gallery { position: sticky; top: calc(var(--bc-header-h) + var(--space-lg)); }
}
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper, .woocommerce div.product div.images .flex-viewport { background: var(--bc-plate); border-radius: var(--bc-radius); overflow: hidden; }
.woocommerce div.product div.images img { aspect-ratio: 1 / 1; object-fit: contain; background: var(--bc-plate); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: var(--space-xs); margin-block-start: var(--space-sm); }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px !important; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--bc-radius-sm); opacity: .55; background: var(--bc-plate); transition: opacity var(--bc-dur-short) var(--bc-ease); }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; outline: 1px solid var(--bc-lilac); }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { background: var(--bc-plate); border-radius: 50%; inset-block-start: var(--space-md); inset-inline-end: var(--space-md); }
/*
 * WooCommerce hides the gallery (inline opacity: 0) until its slider script runs, which delays the LCP image.
 * Show it at once: before the slider is built (wrapper still a direct child), only the first image shows,
 * and the thumbnail row's height (72px + 12px gap) is reserved so nothing jumps when it appears.
 */
.woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce div.product div.images > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n+2) { display: none; }
.woocommerce div.product div.images > .woocommerce-product-gallery__wrapper:has(> .woocommerce-product-gallery__image:nth-child(2)) { margin-block-end: calc(var(--space-sm) + 72px); }

.woocommerce div.product .summary > * { margin-block: 0 var(--space-md); }
.woocommerce div.product .summary .bc-brand { font-size: var(--text-sm); margin-block-end: var(--space-xs); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 1.45rem + 2.2vw, 3.25rem); font-weight: 500; line-height: 1.06; letter-spacing: -.02em; margin-block-end: var(--space-md); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--bc-ink); font-size: var(--text-title); font-weight: 500; font-family: var(--bc-body); font-variant-numeric: tabular-nums; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--bc-ink); font-size: var(--text-md); }
.woocommerce div.product .woocommerce-product-details__short-description ul { padding-inline-start: var(--space-md); margin: 0; }
.woocommerce div.product .woocommerce-product-details__short-description li { margin-block: var(--space-xs); padding-inline-start: var(--space-2xs); }
.woocommerce div.product .woocommerce-product-details__short-description li::marker { color: var(--bc-mid); }
.woocommerce div.product form.cart { display: flex; gap: var(--space-sm); align-items: center; flex-wrap: wrap; margin-block: var(--space-xl) var(--space-md) !important; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .quantity { margin: 0 !important; float: none !important; }
.woocommerce .quantity .qty {
	width: 4.5rem; min-height: 52px; border: 1px solid var(--bc-field-edge); border-radius: var(--bc-pill); background: var(--bc-plate);
	font: inherit; text-align: center; color: var(--bc-ink);
}
.woocommerce .quantity .qty:focus-visible { outline: 2px solid var(--bc-focus); outline-offset: 2px; }
.woocommerce div.product form.cart .quantity .qty { height: 52px; padding: 0; }
.woocommerce div.product form.cart .button { flex: 1; height: 52px; min-height: 52px; padding-block: 0; float: none; }
.woocommerce div.product .stock { color: var(--bc-olive-text); font-size: var(--text-sm); }
.woocommerce div.product .stock.out-of-stock { color: var(--bc-muted); }

.bc-pdp-extras { display: grid; gap: var(--space-md); }
.bc-pdp-combo {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-md); align-items: center;
	background: var(--bc-well); color: var(--bc-ink); border-radius: var(--bc-radius-sm); padding: var(--space-md) var(--space-lg);
	transition: background-color var(--bc-dur-short) var(--bc-ease);
}
.bc-pdp-combo:hover { background: var(--bc-well-hover); color: var(--bc-ink); }
.bc-pdp-combo .bc-icon { color: var(--bc-primary); }
.bc-pdp-combo strong { display: block; font-weight: 500; }
.bc-pdp-combo span { font-size: var(--text-xs); color: var(--bc-muted); }
[dir="rtl"] .bc-pdp-combo .bc-icon:last-child { transform: scaleX(-1); }
.bc-pdp-assure { list-style: none; padding: 0; margin: 0; display: flex; gap: var(--space-xs) var(--space-lg); flex-wrap: wrap; font-size: var(--text-xs); color: var(--bc-muted); }
.bc-pdp-assure li { display: inline-flex; gap: var(--space-xs); align-items: center; }
.bc-pdp-assure .bc-icon { width: 18px; height: 18px; color: var(--bc-primary); }

.bc-accordion { border-block-start: 1px solid var(--bc-rule); margin-block-start: var(--space-xl) !important; }
.bc-acc { border-block-end: 1px solid var(--bc-rule); }
.bc-acc summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--space-md);
	min-height: 56px; padding-block: var(--space-sm); font-size: var(--text-md); font-weight: 500; letter-spacing: 0; text-transform: none;
}
.bc-acc summary:hover { color: var(--bc-primary); }
.bc-acc summary::-webkit-details-marker { display: none; }
.bc-acc__i { width: 12px; height: 12px; position: relative; flex: none; }
.bc-acc__i::before, .bc-acc__i::after { content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: 0; width: 12px; height: 1px; background: currentColor; transition: transform var(--bc-dur-long) var(--bc-ease); }
.bc-acc__i::after { transform: rotate(90deg); }
.bc-acc[open] .bc-acc__i::after { transform: rotate(0); }
.bc-acc__body { padding-block-end: var(--space-lg); color: var(--bc-muted); font-size: var(--text-sm); line-height: 1.65; }
.bc-acc__body > :first-child { margin-block-start: 0; }
.bc-acc__body ul { padding-inline-start: var(--space-md); }
.bc-acc__body strong { color: var(--bc-ink); font-weight: 500; }

/* Set "What's inside": rows on the page, no box */
.bc-set { margin-block-start: var(--section-gap-s); padding-block-start: var(--space-xl); border-block-start: 1px solid var(--bc-rule); }
.bc-set__head { margin-block-end: var(--space-xl); }
.bc-set__head h2 { margin: 0; font-size: var(--text-section); font-weight: 500; }
.bc-set__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-lg); }
@media (min-width: 700px) { .bc-set__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bc-set__item a { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--space-md); align-items: center; color: inherit; }
.bc-set__item img { border-radius: var(--bc-radius-sm); background: var(--bc-plate); aspect-ratio: 1; object-fit: contain; }
.bc-set__item a:hover strong { color: var(--bc-primary); }
.bc-set__meta strong { display: block; font-family: var(--bc-display); font-weight: 500; font-size: var(--text-card); line-height: 1.25; transition: color var(--bc-dur-short) var(--bc-ease); }
.bc-set__price { font-size: var(--text-sm); color: var(--bc-muted); }
.bc-set__compare { margin: var(--space-xl) 0 0; font-size: var(--text-md); display: flex; gap: var(--space-sm); align-items: center; flex-wrap: wrap; }
.bc-set__compare del { color: var(--bc-muted); }

/* Related */
.woocommerce div.product section.related, .woocommerce div.product section.upsells { margin-block-start: var(--section-gap-s); clear: both; }
.woocommerce div.product section.related > h2, .woocommerce div.product section.upsells > h2 { font-size: var(--text-section); font-weight: 500; margin-block-end: var(--space-xl); }

/* Sticky add-to-bag bar (phones; shown by main.js while the main button is out of view) */
.bc-sticky-atc {
	position: fixed; inset-inline: var(--space-sm); inset-block-end: var(--space-sm); z-index: 70;
	display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: var(--space-sm); align-items: center;
	background: var(--bc-plate); border-radius: 18px; padding-block: var(--space-xs); padding-inline: var(--space-sm) var(--space-xs);
	box-shadow: var(--bc-shadow-float);
	transform: translateY(160%); transition: transform var(--bc-dur-long) var(--bc-ease);
}
.bc-sticky-atc.is-visible { transform: none; }
.bc-sticky-atc img { width: 44px; height: 44px; object-fit: contain; border-radius: var(--bc-radius-xs); background: var(--bc-paper); }
.bc-sticky-atc__info strong { display: block; font-size: var(--text-xs); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bc-sticky-atc__info span { font-size: var(--text-xs); color: var(--bc-muted); }
.bc-sticky-atc .bc-btn { min-height: 44px; padding-inline: var(--space-md); }
@media (min-width: 900px) { .bc-sticky-atc { display: none; } }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	border-radius: var(--bc-radius-sm) !important; border: 0 !important; background: var(--bc-plate) !important; box-shadow: var(--bc-shadow);
	color: var(--bc-ink) !important; border-inline-start: 3px solid var(--bc-primary) !important;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--bc-primary) !important; }
.woocommerce-message .button { float: inline-end; }

/* ---------- Combo builder (/combo/) ---------- */
.bc-combo-head { padding-block: var(--space-2xl) var(--space-lg); }
.bc-combo-head h1 { font-size: var(--text-display-s); font-weight: 500; letter-spacing: -.02em; line-height: 1.05; margin: 0 0 var(--space-md); }
.bc-combo-head__lead { color: var(--bc-muted); max-width: 52ch; font-size: var(--text-lead); line-height: 1.5; margin: 0; }
.bc-combo { padding-block-end: 7rem; }
.bc-combo__steps { list-style: none; padding: 0; margin: 0 0 var(--space-md); display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); font-size: var(--text-sm); color: var(--bc-muted); }
.bc-combo__steps li { display: inline-flex; align-items: center; gap: var(--space-xs); }
.bc-combo__steps span { width: 26px; height: 26px; border-radius: 50%; background: var(--bc-well); color: var(--bc-primary); display: inline-grid; place-items: center; font-size: var(--text-xs); font-weight: 500; }
.bc-combo__tiers { list-style: none; padding: 0; margin: 0 0 var(--space-xl); display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.bc-combo__tiers li { background: var(--bc-olive-tint); color: var(--bc-olive-text); border-radius: var(--bc-pill); padding: var(--space-2xs) var(--space-sm); font-size: var(--text-xs); font-weight: 500; }
.bc-combo__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
@media (min-width: 900px) { .bc-combo__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-lg); } }
.bc-combo__item {
	background: var(--bc-plate); border-radius: var(--bc-radius); display: flex; flex-direction: column; overflow: hidden;
	outline: 1.5px solid transparent; outline-offset: -1.5px; transition: outline-color var(--bc-dur-short) var(--bc-ease);
}
.bc-combo__item.is-selected { outline-color: var(--bc-primary); }
.bc-combo__media { display: block; line-height: 0; }
.bc-combo__media img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 8%; box-sizing: border-box; }
.bc-combo__info { padding: 0 var(--space-md); flex: 1; }
.bc-combo__info h3 { font-family: var(--bc-display); font-size: var(--text-card); font-weight: 500; line-height: 1.25; margin: 0 0 var(--space-xs); }
.bc-combo__price { margin: 0 0 var(--space-md); font-weight: 500; font-size: var(--text-md); font-variant-numeric: tabular-nums; }
.bc-combo__ctrl { padding: 0 var(--space-md) var(--space-md); }
.bc-combo__add {
	width: 100%; min-height: 44px; border: 1px solid var(--bc-primary); background: transparent; color: var(--bc-primary); border-radius: var(--bc-pill);
	padding: 0 var(--space-sm); font: inherit; font-size: var(--text-sm); font-weight: 500; letter-spacing: 0; text-transform: none; cursor: pointer;
	transition: background-color var(--bc-dur-short) var(--bc-ease), color var(--bc-dur-short) var(--bc-ease);
}
.bc-combo__add:hover { background: var(--bc-well); color: var(--bc-primary-dark); }
.bc-qty { display: flex; align-items: center; justify-content: space-between; background: var(--bc-primary); color: var(--bc-on-dark); border-radius: var(--bc-pill); padding: var(--space-3xs); min-height: 44px; }
.bc-qty[hidden] { display: none; }
.bc-qty__btn { width: 40px; height: 40px; border-radius: 50%; border: 0; background: transparent; color: var(--bc-on-dark); font-size: 1.125rem; cursor: pointer; transition: background-color var(--bc-dur-micro) var(--bc-ease); }
.bc-qty__btn:hover { background: var(--bc-rule-dark); }
.bc-qty__btn:focus-visible { outline-color: var(--bc-on-dark); outline-offset: -2px; }
.bc-qty__n { font-weight: 500; font-variant-numeric: tabular-nums; }
.bc-combo__bar {
	position: fixed; inset-inline: var(--space-sm); inset-block-end: var(--space-sm); z-index: 60;
	max-width: 1080px; margin-inline: auto;
	display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-sm) var(--space-md);
	background: var(--bc-plate); border-radius: 20px; box-shadow: var(--bc-shadow-float);
	padding-block: var(--space-sm); padding-inline: var(--space-md) var(--space-sm);
}
.bc-combo__thumbs { display: none; gap: var(--space-xs); }
.bc-combo__bar.is-active .bc-combo__thumbs { display: flex; grid-column: 1 / -1; overflow: visible; padding-block-start: 6px; flex-wrap: wrap; }
@media (min-width: 900px) {
	.bc-combo__bar { grid-template-columns: auto minmax(0, 1fr) auto; padding-inline: var(--space-lg) var(--space-sm); }
	.bc-combo__bar.is-active .bc-combo__thumbs { grid-column: auto; }
}
.bc-combo__thumb { position: relative; width: 44px; height: 44px; border-radius: var(--bc-radius-xs); background: var(--bc-paper); flex: none; }
.bc-combo__thumb img { width: 44px; height: 44px; object-fit: contain; border-radius: var(--bc-radius-xs); mix-blend-mode: multiply; }
.bc-combo__thumb b { position: absolute; inset-block-start: -6px; inset-inline-end: -6px; background: var(--bc-primary); color: var(--bc-on-dark); font-size: .6875rem; min-width: 18px; height: 18px; border-radius: 9px; display: grid; place-items: center; }
.bc-combo__sum p { margin: 0; }
.bc-combo__hint { font-size: var(--text-xs); color: var(--bc-muted); }
.bc-combo__totals { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2xs) var(--space-sm); }
.bc-combo__count { font-size: var(--text-xs); color: var(--bc-muted); }
.bc-combo__was { color: var(--bc-muted); font-size: var(--text-sm); }
.bc-combo__total { font-size: var(--text-title); font-weight: 500; font-variant-numeric: tabular-nums; }
.bc-combo__go { white-space: nowrap; }
@media (max-width: 599px) {
	.bc-combo__bar { grid-template-columns: minmax(0, 1fr); gap: var(--space-xs); padding: var(--space-sm); }
	.bc-combo__go { width: 100%; }
}

/* ---------- Woo blocks (cart, checkout, mini-cart) ---------- */
/* The drawer's own stylesheet loads after the first paint (inc/woo.php): keep the closed drawer out of the page meanwhile (same values WooCommerce uses). */
.wc-block-components-drawer__screen-overlay--is-hidden { position: fixed; inset: 0; opacity: 0; pointer-events: none; }
.wc-block-cart, .wc-block-checkout { font-family: var(--bc-body); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { max-width: var(--bc-wide); margin-inline: auto !important; }
.wc-block-components-button:not(.is-link) {
	background: var(--bc-primary) !important; color: var(--bc-on-dark) !important; border-radius: var(--bc-pill) !important; min-height: 52px;
	font-size: var(--text-sm) !important; letter-spacing: .01em; text-transform: none; font-weight: 500 !important;
}
.wc-block-components-button:not(.is-link):hover { background: var(--bc-primary-dark) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select {
	border-radius: var(--bc-radius-xs) !important; border-color: var(--bc-field-edge) !important; background: var(--bc-plate) !important;
}
.wc-block-components-totals-fees { color: var(--bc-olive-text); }
.wc-block-cart-items, .wc-block-components-sidebar .wc-block-components-panel, .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--bc-plate); border-radius: var(--bc-radius); }
.wp-block-woocommerce-checkout-order-summary-block { padding: var(--space-md); border: 0 !important; }
.wc-block-components-product-metadata__description { display: none; }
.wc-block-mini-cart__drawer .components-modal__content { background: var(--bc-paper); }
.wc-block-mini-cart__title { font-family: var(--bc-display); font-weight: 500; }

/* ---------- Marquee (no longer on the home page; kept for any page that still calls [bc_marquee]) ---------- */
.bc-marquee { background: var(--bc-well); color: var(--bc-primary); overflow: hidden; padding-block: var(--space-md); }
.bc-marquee__track {
	display: flex; width: max-content; gap: var(--space-xl); align-items: center; animation: bc-marq 42s linear infinite;
	font-family: var(--bc-display); font-size: var(--text-title); white-space: nowrap;
}
.bc-marquee:hover .bc-marquee__track, .bc-marquee:focus-within .bc-marquee__track { animation-play-state: paused; }
.bc-marquee__track i { font-style: normal; font-size: .75em; color: var(--bc-lilac); }
@keyframes bc-marq { to { transform: translateX(-50%); } }
[dir="rtl"] .bc-marquee__track { animation-direction: reverse; }

/* ---------- Coming-soon page (template in the database) ---------- */
.bc-soon {
	min-height: 100svh; display: grid; place-items: center; padding: var(--space-2xl) var(--space-lg);
	background: var(--bc-paper); position: relative; overflow: hidden; text-align: center;
}
.woocommerce-coming-soon-default .bc-soon { margin: 0; }
.bc-soon__inner { position: relative; z-index: 1; max-width: 640px; display: flex; flex-direction: column; align-items: center; }
.bc-soon .bc-logo svg { width: 190px; margin: 0 auto var(--space-xl); }
.bc-soon__title { font-family: var(--bc-display); font-weight: 500; font-size: var(--text-display-s); line-height: 1.05; letter-spacing: -.02em; margin: var(--space-xs) 0 var(--space-lg); color: var(--bc-ink); }
.bc-soon__title em { font-style: inherit; color: inherit; }
.bc-soon__lead { color: var(--bc-muted); font-size: var(--text-md); line-height: 1.6; max-width: 46ch; margin: 0 0 var(--space-xl); }
.bc-soon__follow { font-size: var(--text-sm); color: var(--bc-muted); margin: 0; font-weight: 500; }
.bc-soon .bc-social { justify-content: center; }
.bc-soon .bc-social a { color: var(--bc-primary); border-color: var(--bc-lilac); background: var(--bc-plate); }
.bc-soon .bc-social a:hover { background: var(--bc-primary); color: var(--bc-on-dark); border-color: var(--bc-primary); }
.bc-soon__arcs { display: none; }

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.bc-marquee__track { animation: none; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
