/*
Theme Name: BAU
Theme URI: https://badrinathayurvedic.com
Description: Badrinath Ayurvedic Unit child theme of Twenty Twenty-Five. Brand palette, typography and layout system for the BAU ecommerce website.
Author: Badrinath Ayurvedic Unit
Template: twentytwentyfive
Version: 1.4.2
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: bau
*/

/* ============ BAU V2 design system ============ */
:root {
	--bau-ink: #2C333F;
	--bau-slate: #3A4454;
	--bau-gold: #B8925A;
	--bau-cream: #F7F1E6;
	--bau-ivory: #FBF8F2;
	--bau-line: #E5DCCC;
	--bau-muted: #5a6270;
	--bau-radius: 12px;
	--bau-section: clamp(3.5rem, 7vw, 5.5rem);
	--bau-section-tight: clamp(2.5rem, 5vw, 3.75rem);
}

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible,
summary:focus-visible, [role="button"]:focus-visible {
	outline: 2px solid var(--bau-gold);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Overflow + media guards */
html, body { max-width: 100%; overflow-x: clip; }
img { max-width: 100%; height: auto; }

/* Section rhythm */
.bau-section { padding: var(--bau-section) 1.25rem; }
.bau-section--tight { padding: var(--bau-section-tight) 1.25rem; }
.bau-section h2 { margin-bottom: 0.9rem; }
.bau-section h2 + p { margin-top: 0; margin-bottom: 1.25rem; }
.bau-divider {
	width: 56px; height: 2px; background: var(--bau-gold);
	margin: 0.85rem auto 0; border: 0;
}

/* ============ Header ============ */
.bau-header {
	background: var(--bau-ivory);
	border-bottom: 1px solid var(--bau-line);
	padding: 0.55rem 1rem;
}
@media (min-width: 783px) {
	.bau-header { position: sticky; top: 0; z-index: 90; }
}
.bau-header .wp-block-site-logo img { max-height: 58px; width: auto; }
.bau-bar { gap: 1rem; }
.bau-util { gap: 0.35rem; }
.bau-util a, .bau-util .wp-block-search__button {
	min-width: 44px; min-height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--bau-slate);
}
.bau-util a { text-decoration: none; }
.bau-util a:hover, .bau-util a:focus { color: var(--bau-gold); }
.bau-util svg { width: 22px; height: 22px; }
/* Compact icon-style search button (kills the gold pill) */
.bau-header .wp-block-search__button {
	background: transparent; border: none; color: var(--bau-slate);
	padding: 0.4rem; margin: 0;
}
.bau-header .wp-block-search__button:hover { color: var(--bau-gold); background: transparent; }
.bau-header .wp-block-search { margin: 0; }
/* Mobile: logo left; icons right; hamburger last */
@media (max-width: 782px) {
	.bau-bar { flex-wrap: nowrap; gap: 0.25rem; }
	.bau-header .wp-block-site-logo { order: 1; }
	.bau-header .wp-block-site-logo img { max-height: 44px; }
	.bau-util { order: 2; margin-left: auto; }
	.bau-header .wp-block-navigation { order: 3; }
}
/* Desktop: tighter, centered nav */
@media (min-width: 783px) {
	.bau-header .wp-block-navigation { flex: 1; justify-content: center; }
	.bau-header .wp-block-navigation a { padding: 0.35rem 0.15rem; }
	.bau-bar { gap: 2rem; }
}
.bau-header .wp-block-navigation a:hover { color: var(--bau-gold); }

/* ============ Hero ============ */
.bau-hero-wrap {
	background: linear-gradient(135deg, #F7F1E6 0%, #FBF8F2 55%, #EFE6D3 100%);
	padding: clamp(2.75rem, 6vw, 5rem) 1.25rem;
}
.bau-hero {
	display: grid; grid-template-columns: 1fr; gap: 2rem;
	align-items: center; max-width: 1200px; margin-inline: auto;
}
@media (min-width: 900px) { .bau-hero { grid-template-columns: 1.1fr 0.9fr; } }
.bau-hero h1 {
	line-height: 1.12; letter-spacing: -0.5px;
	margin: 0.6rem 0 1rem;
	max-width: 16ch;
}
.bau-hero p.bau-sub { color: var(--bau-muted); max-width: 46ch; margin: 0 0 1.4rem; }
.bau-eyebrow {
	color: var(--bau-gold); text-transform: uppercase;
	letter-spacing: 2px; font-weight: 600; font-size: 0.8rem; margin: 0;
}
@media (max-width: 899px) {
	.bau-hero { text-align: center; }
	.bau-hero h1, .bau-hero p.bau-sub { margin-inline: auto; }
}
/* Buttons: stack + equal width on small phones */
@media (max-width: 479px) {
	.bau-hero .wp-block-buttons { flex-direction: column; align-items: center; }
	.bau-hero .wp-block-button { width: 100%; max-width: 300px; }
	.bau-hero .wp-block-button__link { width: 100%; display: inline-flex; justify-content: center; }
}
/* CSS-only botanical visual panel (photography placeholder) */
.bau-hero-visual { display: none; }
@media (min-width: 768px) {
	.bau-hero-visual {
		display: block; position: relative; min-height: 380px;
		background:
			radial-gradient(55% 55% at 68% 30%, rgba(201,150,63,0.16) 0%, rgba(201,150,63,0) 70%),
			radial-gradient(48% 48% at 30% 74%, rgba(110,127,92,0.18) 0%, rgba(110,127,92,0) 70%);
	}
	.bau-hero-visual::before {
		content: ""; position: absolute; inset: 8% 12%;
		border: 1px solid rgba(184,146,90,0.55);
		border-radius: 58% 42% 55% 45% / 50% 55% 45% 50%;
	}
	.bau-hero-visual::after {
		content: ""; position: absolute; width: 46%; height: 56%; right: 12%; top: 16%;
		background: linear-gradient(160deg, rgba(184,146,90,0.14), rgba(110,127,92,0.14));
		border-radius: 62% 38% 55% 45% / 55% 45% 62% 38%;
	}
	.bau-hero-leaf {
		position: absolute; left: 16%; bottom: 14%; width: 88px; height: 88px;
		background: rgba(110,127,92,0.22);
		border-radius: 0 70% 0 70%;
		transform: rotate(-18deg);
	}
}

/* ============ Trust strip ============ */
.bau-trust-wrap { background: var(--bau-slate); padding: 0.85rem 1.25rem; }
.bau-trust {
	list-style: none; margin: 0 auto; padding: 0; max-width: 1200px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem 1.25rem;
}
.bau-trust li {
	color: #EDEAE3; font-size: 0.82rem; letter-spacing: 0.3px;
	display: flex; align-items: center; gap: 0.5rem; line-height: 1.35;
}
.bau-trust li::before {
	content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%;
	background: var(--bau-gold);
}
@media (min-width: 768px) {
	.bau-trust { display: flex; justify-content: center; gap: 2.75rem; }
	.bau-trust li { font-size: 0.875rem; }
}

/* ============ Cards: shared ============ */
.bau-card2 {
	background: #FFFFFF;
	border: 1px solid var(--bau-line);
	border-radius: var(--bau-radius);
	transition: box-shadow 0.18s ease;
}
.bau-card2:hover { box-shadow: 0 6px 18px rgba(58, 68, 84, 0.08); }

/* ============ Category grid ============ */
.bau-cat-grid {
	display: grid; grid-template-columns: 1fr; gap: 0.9rem;
	max-width: 1200px; margin: 1.75rem auto 0;
}
@media (min-width: 400px) { .bau-cat-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .bau-cat-grid { grid-template-columns: repeat(3, 1fr); gap: 1.1rem; } }
.bau-cat-card {
	display: flex; flex-direction: column; gap: 0.3rem;
	padding: 1rem 1.05rem 0.9rem;
	border-top: 4px solid var(--bau-line);
	text-decoration: none;
}
.bau-cat-card h3 {
	font-size: 1.05rem; margin: 0; color: var(--bau-slate);
}
.bau-cat-card p { font-size: 0.83rem; color: var(--bau-muted); margin: 0; line-height: 1.45; }
.bau-cat-card .bau-arrow {
	margin-top: 0.35rem; font-size: 0.83rem; font-weight: 600; color: var(--bau-gold);
}
.bau-cat-card:hover h3 { color: var(--bau-gold); }

/* ============ Product cards ============ */
.bau-prod-grid {
	display: grid; grid-template-columns: 1fr; gap: 1rem;
	max-width: 1200px; margin: 1.75rem auto 0;
}
@media (min-width: 560px) { .bau-prod-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .bau-prod-grid { grid-template-columns: repeat(4, 1fr); } }
.bau-prod-card { display: flex; flex-direction: column; overflow: hidden; }
.bau-prod-visual {
	aspect-ratio: 4 / 3; position: relative;
	background: linear-gradient(150deg, var(--bau-cream) 10%, #fff 90%);
}
.bau-prod-visual::after {
	content: ""; position: absolute; width: 52%; height: 62%; left: 24%; top: 19%;
	border: 1px solid rgba(184,146,90,0.45);
	border-radius: 58% 42% 55% 45% / 50% 55% 45% 50%;
	background: linear-gradient(160deg, rgba(184,146,90,0.10), rgba(110,127,92,0.10));
}
.bau-prod-body {
	display: flex; flex-direction: column; gap: 0.4rem; flex: 1;
	padding: 0.95rem 1.05rem 1.15rem;
}
.bau-kicker {
	font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1.3px;
	color: var(--bau-muted); margin: 0;
}
.bau-prod-body h3 { font-size: 1.02rem; margin: 0; line-height: 1.3; }
.bau-prod-body .bau-desc { font-size: 0.83rem; color: var(--bau-muted); margin: 0; line-height: 1.45; }
.bau-price-row { margin-top: auto; padding-top: 0.5rem; display: flex; gap: 0.6rem; align-items: baseline; }
.bau-price { font-size: 1.2rem; font-weight: 700; color: var(--bau-slate); }
.bau-mrp { text-decoration: line-through; color: #9aa0a8; font-size: 0.9rem; }
.bau-btn {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--bau-gold); color: #fff !important;
	font-weight: 600; font-size: 0.9rem; text-decoration: none;
	padding: 0.6rem 1.15rem; border-radius: 8px; min-height: 44px;
	align-self: flex-start; margin-top: 0.55rem;
}
.bau-btn:hover, .bau-btn:focus { background: var(--bau-slate); color: #fff; }
.bau-btn--ghost {
	background: transparent; color: var(--bau-slate) !important;
	border: 1.5px solid var(--bau-slate);
}
.bau-btn--ghost:hover, .bau-btn--ghost:focus { background: var(--bau-slate); color: #fff !important; }

/* ============ Why BAU ============ */
.bau-why-grid {
	display: grid; grid-template-columns: 1fr; gap: 0.9rem;
	max-width: 1200px; margin: 1.75rem auto 0;
}
@media (min-width: 480px) { .bau-why-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .bau-why-grid { grid-template-columns: repeat(4, 1fr); } }
.bau-why-card { padding: 1.1rem 1.15rem; display: flex; flex-direction: column; gap: 0.45rem; }
.bau-why-card svg {
	width: 40px !important;
	height: 40px !important;
	max-width: 40px !important;
	max-height: 40px !important;
	flex: 0 0 40px;
	display: block;
	color: var(--bau-gold);
}
.bau-why-card h3 { font-size: 0.98rem; margin: 0; }
.bau-why-card p { font-size: 0.83rem; color: var(--bau-muted); margin: 0; line-height: 1.45; }

/* ============ Family cards ============ */
.bau-fam-grid {
	display: grid; grid-template-columns: 1fr; gap: 1.1rem;
	max-width: 1000px; margin: 1.75rem auto 0;
}
@media (min-width: 768px) { .bau-fam-grid { grid-template-columns: 1fr 1fr; } }
.bau-fam-card { display: flex; flex-direction: column; overflow: hidden; }
.bau-fam-head { padding: 1.05rem 1.25rem 0.85rem; }
.bau-fam-head h3 { margin: 0.25rem 0 0; font-size: 1.15rem; }
.bau-fam-body { padding: 0.9rem 1.25rem 1.2rem; display: flex; flex-direction: column; gap: 0.55rem; flex: 1; }
.bau-fam-body p { font-size: 0.86rem; color: var(--bau-muted); margin: 0; line-height: 1.5; max-width: 52ch; }

/* ============ Knowledge ============ */
.bau-know { text-align: center; position: relative; }
.bau-know p { max-width: 52ch; margin-inline: auto; color: var(--bau-muted); }

/* ============ FAQ ============ */
.bau-faq { max-width: 760px; margin-inline: auto; }
.bau-faq details {
	border: 0; border-bottom: 1px solid var(--bau-line);
	border-radius: 0; background: transparent;
	padding: 0.15rem 0; margin: 0;
}
.bau-faq details:first-of-type { border-top: 1px solid var(--bau-line); }
.bau-faq summary {
	list-style: none; cursor: pointer;
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	min-height: 52px; padding: 0.55rem 0.25rem;
	font-weight: 600; color: var(--bau-slate); font-size: 0.95rem;
}
.bau-faq summary::-webkit-details-marker { display: none; }
.bau-faq summary::marker { content: ""; display: none; }
.bau-faq summary::after {
	content: "+"; flex: none; font-size: 1.5rem; line-height: 1;
	color: var(--bau-gold); font-weight: 400;
}
.bau-faq details[open] summary::after { content: "\2212"; }
.bau-faq details p { margin: 0.2rem 0 1rem; font-size: 0.9rem; color: var(--bau-muted); line-height: 1.6; }

/* ============ Final CTA ============ */
.bau-cta-wrap { background: var(--bau-slate); padding: clamp(2.75rem, 6vw, 4.25rem) 1.25rem; text-align: center; }
.bau-cta-wrap h2 { color: var(--bau-ivory); margin-bottom: 0.6rem; }
.bau-cta-wrap p { color: #D9DCE2; max-width: 48ch; margin: 0 auto 1.4rem; }

/* ============ Footer ============ */
.bau-footer {
	background: var(--bau-cream);
	border-top: 1px solid var(--bau-line);
	padding: clamp(2.5rem, 5vw, 4rem) 1.25rem 1.5rem;
}
.bau-footer a { text-decoration: none; color: var(--bau-ink); }
.bau-footer a:hover { color: var(--bau-gold); }
.bau-foot-brand { max-width: 1200px; margin: 0 auto 1.5rem; }
.bau-foot-brand p { font-size: 0.875rem; color: var(--bau-muted); max-width: 44ch; margin: 0.75rem 0 0; }
/* Desktop columns */
.bau-foot-cols { display: none !important; }
@media (min-width: 783px) {
	.bau-foot-cols {
		display: grid !important; grid-template-columns: repeat(3, 1fr);
		gap: 2.5rem; max-width: 1200px; margin: 0 auto;
	}
	.bau-foot-cols h3 { font-size: 0.95rem; margin: 0 0 0.6rem; }
	.bau-foot-cols ul { list-style: none; margin: 0; padding: 0; }
	.bau-foot-cols li { margin: 0.4rem 0; font-size: 0.875rem; }
}
/* Mobile accordions */
.bau-foot-acc { display: block; max-width: 1200px; margin: 0 auto; }
@media (min-width: 783px) { .bau-foot-acc { display: none !important; } }
.bau-foot-acc details { border-top: 1px solid var(--bau-line); }
.bau-foot-acc details:last-of-type { border-bottom: 1px solid var(--bau-line); }
.bau-foot-acc summary {
	list-style: none; cursor: pointer; min-height: 48px;
	display: flex; align-items: center; justify-content: space-between;
	font-weight: 600; color: var(--bau-slate); font-size: 0.95rem;
	padding: 0.5rem 0.25rem;
}
.bau-foot-acc summary::-webkit-details-marker { display: none; }
.bau-foot-acc summary::marker { content: ""; display: none; }
.bau-foot-acc summary::after { content: "+"; color: var(--bau-gold); font-size: 1.4rem; }
.bau-foot-acc details[open] summary::after { content: "\2212"; }
.bau-foot-acc ul { list-style: none; margin: 0 0 0.9rem; padding: 0; }
.bau-foot-acc li { margin: 0; }
.bau-foot-acc li a { display: flex; align-items: center; min-height: 44px; font-size: 0.9rem; }
.bau-foot-note { font-size: 0.8rem; color: var(--bau-muted); margin: 1rem 0 0; }
.bau-foot-legal {
	max-width: 1200px; margin: 1.75rem auto 0; padding-top: 1rem;
	border-top: 1px solid var(--bau-line);
	font-size: 0.75rem; color: var(--bau-muted); text-align: center; line-height: 1.6;
}

/* ============ Typography helpers ============ */
/* removed legacy global cap (p{max-width:70ch}) — it squeezed every Elementor paragraph incl. the announcement bar */
.has-text-align-center { margin-left: auto; margin-right: auto; }

/* ===== V2.1 hardening ===== */
/* Scoped link treatment: BAU components only (site-wide links keep theme default) */
.bau-btn, .bau-cat-card, .bau-cat-card *, .bau-foot-acc a, .bau-foot-cols a,
.bau-util a { text-decoration: none !important; }

/* Header utility icons: clamp like why-icons so no unstyled-svg blowout is possible */
.bau-util svg {
	width: 22px !important; height: 22px !important;
	max-width: 22px !important; max-height: 22px !important;
	display: block;
}

/* Hero container alignment with header/site container (bug #1) */
.bau-hero { width: 100%; max-width: 1200px; margin-inline: auto; }
.bau-hero-wrap { padding-left: max(1.25rem, env(safe-area-inset-left)); padding-right: max(1.25rem, env(safe-area-inset-right)); }

/* Grid containers: enforce width even against block layout rules */
.bau-cat-grid, .bau-prod-grid, .bau-why-grid, .bau-fam-grid {
	width: 100%; max-width: 1200px; margin-inline: auto;
}
.bau-fam-grid { max-width: 1000px; }

/* ================================================================
   V3 — EDITORIAL HOMEPAGE RE-ARCHITECTURE
   Replaces card-grid-only rhythm with asymmetric, editorial,
   botanical-led composition. Original CSS/SVG artwork only —
   no external imagery, no fabricated packaging.
   ================================================================ */

.bau-container { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: 1.25rem; }
.bau-eyebrow-line {
	display: inline-flex; align-items: center; gap: 0.6rem;
	color: var(--bau-gold); text-transform: uppercase;
	letter-spacing: 2px; font-weight: 600; font-size: 0.78rem;
}
.bau-eyebrow-line::before { content: ""; width: 22px; height: 1px; background: var(--bau-gold); }

/* ---------- V3 Hero: asymmetric editorial, botanical line art ---------- */
.bau-hero-v3 {
	background: var(--bau-ivory);
	padding: clamp(2.5rem, 6vw, 4.5rem) 1.25rem clamp(2.75rem, 6vw, 5rem);
}
.bau-hero-v3-inner {
	max-width: 1240px; margin-inline: auto;
	display: grid; grid-template-columns: 1fr; gap: 2.25rem; align-items: center;
}
@media (min-width: 960px) {
	.bau-hero-v3-inner { grid-template-columns: 0.95fr 1.05fr; gap: 3rem; }
}
.bau-hero-v3-copy h1 {
	margin: 0.75rem 0 1.1rem;
	line-height: 1.08; letter-spacing: -0.5px;
	max-width: 15ch;
}
.bau-hero-v3-copy p.bau-sub { color: var(--bau-muted); max-width: 42ch; margin: 0 0 1.6rem; }
@media (max-width: 959px) {
	.bau-hero-v3-copy { text-align: center; }
	.bau-hero-v3-copy h1, .bau-hero-v3-copy p.bau-sub, .bau-eyebrow-line { margin-inline: auto; }
	.bau-eyebrow-line { justify-content: center; }
}
@media (max-width: 479px) {
	.bau-hero-v3-copy .wp-block-buttons,
	.bau-hero-v3-copy div[style*="display:flex"] { flex-direction: column; align-items: center; }
	.bau-hero-v3-copy .bau-btn { width: 100%; max-width: 300px; }
}
/* Botanical line-art panel: layered leaf/sprig SVG strokes, no gradients-as-hero */
.bau-hero-art {
	position: relative; aspect-ratio: 1 / 1; max-height: 460px;
	display: flex; align-items: center; justify-content: center;
}
.bau-hero-art svg { width: 100%; height: 100%; max-width: 420px; }
.bau-hero-art .bau-art-ring {
	position: absolute; inset: 6%;
	border: 1px solid var(--bau-line);
	border-radius: 50%;
}

/* ---------- Section shells ---------- */
.bau-shell { padding: var(--bau-section) 0; }
.bau-shell--tight { padding: var(--bau-section-tight) 0; }
.bau-shell--surface { background: var(--bau-surface, var(--bau-cream)); }
.bau-head { max-width: 640px; margin: 0 auto 2.5rem; text-align: center; }
.bau-head h2 { margin: 0.6rem 0 0; }
.bau-head p { color: var(--bau-muted); margin: 0.75rem 0 0; }

/* ---------- Category discovery: editorial roundels, not boxes ---------- */
.bau-cat-discover {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.75rem 1rem;
}
@media (min-width: 640px) { .bau-cat-discover { grid-template-columns: repeat(3, 1fr); gap: 2.25rem 1.5rem; } }
@media (min-width: 1024px) { .bau-cat-discover { grid-template-columns: repeat(6, 1fr); } }
.bau-cat-item { display: flex; flex-direction: column; align-items: center; text-align: center; text-decoration: none; gap: 0.7rem; }
.bau-cat-roundel {
	width: clamp(76px, 12vw, 108px); aspect-ratio: 1/1; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	position: relative; transition: transform 0.2s ease;
}
.bau-cat-item:hover .bau-cat-roundel { transform: translateY(-4px); }
.bau-cat-roundel svg { width: 42%; height: 42%; }
.bau-cat-item h3 { font-size: 0.95rem; margin: 0; color: var(--bau-slate); }
.bau-cat-item span { font-size: 0.74rem; color: var(--bau-muted); line-height: 1.3; max-width: 15ch; }

/* ---------- Featured formulations: image-led ---------- */
.bau-prod-v3-grid {
	display: grid; grid-template-columns: 1fr; gap: 1.5rem;
}
@media (min-width: 600px) { .bau-prod-v3-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .bau-prod-v3-grid { grid-template-columns: repeat(4, 1fr); gap: 1.75rem; } }
.bau-prod-v3 { display: flex; flex-direction: column; }
.bau-prod-v3-media {
	aspect-ratio: 3 / 4; border-radius: 4px; position: relative; overflow: hidden;
	margin-bottom: 1rem;
}
.bau-prod-v3-media svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.bau-prod-v3 .bau-kicker { margin-bottom: 0.15rem; }
.bau-prod-v3 h3 { font-size: 1.05rem; margin: 0 0 0.35rem; line-height: 1.3; }
.bau-prod-v3 .bau-desc { font-size: 0.83rem; color: var(--bau-muted); margin: 0 0 0.75rem; line-height: 1.45; }
.bau-price-row-v3 {
	display: flex; align-items: baseline; gap: 0.65rem; flex-wrap: wrap;
	padding-top: 0.15rem; margin-bottom: 0.85rem;
}
.bau-price-row-v3 .bau-price { font-size: 1.3rem; }
.bau-price-row-v3 .bau-mrp { margin-left: 0.15rem; }

/* ---------- Brand story: single asymmetric editorial section ---------- */
.bau-story {
	display: grid; grid-template-columns: 1fr; gap: 2.25rem; align-items: center;
}
@media (min-width: 900px) { .bau-story { grid-template-columns: 1fr 1fr; gap: 3.5rem; } }
.bau-story-art { aspect-ratio: 4/3; position: relative; }
.bau-story-art svg { width: 100%; height: 100%; }
.bau-story-copy .bau-eyebrow-line { margin-bottom: 0.9rem; }
.bau-story-copy h2 { margin: 0 0 1rem; max-width: 14ch; }
.bau-story-copy p { color: var(--bau-muted); max-width: 46ch; margin: 0 0 0.85rem; line-height: 1.65; }
@media (max-width: 899px) { .bau-story { text-align: center; } .bau-story-copy h2, .bau-story-copy p, .bau-story-copy .bau-eyebrow-line { margin-inline: auto; } .bau-story-copy .bau-eyebrow-line{justify-content:center} }

/* ---------- Ritual / collection discovery: asymmetric bento ---------- */
.bau-ritual-grid {
	display: grid; grid-template-columns: 1fr; gap: 1rem;
}
@media (min-width: 720px) {
	.bau-ritual-grid { grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, minmax(160px, auto)); gap: 1.1rem; }
	.bau-ritual-panel--a { grid-column: span 2; grid-row: span 2; }
	.bau-ritual-panel--b { grid-column: span 2; grid-row: span 1; }
	.bau-ritual-panel--c { grid-column: span 1; grid-row: span 1; }
	.bau-ritual-panel--d { grid-column: span 1; grid-row: span 1; }
}
.bau-ritual-panel {
	position: relative; border-radius: 4px; overflow: hidden;
	min-height: 180px; display: flex; align-items: flex-end;
	padding: 1.25rem 1.35rem; text-decoration: none;
}
.bau-ritual-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(44,51,63,0.55) 0%, rgba(44,51,63,0) 55%); }
.bau-ritual-panel .bau-ritual-svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.9; }
.bau-ritual-text { position: relative; z-index: 1; color: #fff; }
.bau-ritual-text p { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 1.5px; margin: 0 0 0.2rem; opacity: 0.9; }
.bau-ritual-text h3 { font-size: 1.15rem; margin: 0; color: #fff; }
.bau-ritual-panel--a .bau-ritual-text h3 { font-size: 1.4rem; }

/* ---------- Ingredient spotlight ---------- */
.bau-ingredient {
	display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center;
}
@media (min-width: 900px) { .bau-ingredient { grid-template-columns: 1fr 1.1fr; gap: 3.25rem; } }
.bau-ingredient-art { aspect-ratio: 1/1; max-width: 340px; margin-inline: auto; }
.bau-ingredient-art svg { width: 100%; height: 100%; }
.bau-ingredient-copy h2 { margin: 0 0 0.85rem; }
.bau-ingredient-copy p { color: var(--bau-muted); max-width: 48ch; line-height: 1.65; margin: 0 0 0.85rem; }
.bau-ingredient-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.bau-ingredient-tags span {
	font-size: 0.76rem; padding: 0.35rem 0.75rem; border: 1px solid var(--bau-line);
	border-radius: 20px; color: var(--bau-slate);
}
@media (max-width: 899px) { .bau-ingredient-copy { text-align: center; } .bau-ingredient-copy h2, .bau-ingredient-copy p { margin-inline: auto; } .bau-ingredient-tags{justify-content:center} }

/* ---------- Family: large editorial panels (not small cards) ---------- */
.bau-fam-v3-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 780px) { .bau-fam-v3-grid { grid-template-columns: 1fr 1fr; gap: 1.75rem; } }
.bau-fam-v3 {
	display: grid; grid-template-columns: 1fr; overflow: hidden; border-radius: 4px;
}
@media (min-width: 480px) { .bau-fam-v3 { grid-template-columns: 0.85fr 1.15fr; } }
.bau-fam-v3-media { position: relative; min-height: 180px; }
.bau-fam-v3-media svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.bau-fam-v3-body { padding: 1.4rem 1.5rem; display: flex; flex-direction: column; gap: 0.6rem; background: #fff; }
.bau-fam-v3-body p { font-size: 0.87rem; color: var(--bau-muted); line-height: 1.55; margin: 0; }

/* ---------- Knowledge (reduced) ---------- */
.bau-know-v3 { text-align: center; max-width: 620px; margin-inline: auto; }
.bau-know-v3 p { color: var(--bau-muted); margin: 0.85rem 0 1.35rem; }

/* Utility: colour wash section backgrounds using existing palette only */
.bau-wash-cream { background: var(--bau-cream); }
.bau-wash-ivory { background: var(--bau-ivory); }
.bau-wash-slate { background: var(--bau-slate); }

/* ================================================================
   V3.1 — MEDIA-SLOT CONVENTION (image-readiness pass)
   Every visual area on the homepage that is not final photography
   uses this convention:

     .bau-media                base container: locks aspect-ratio,
                                clips overflow, positions children
     .bau-media--placeholder   temporary state: holds the original
                                SVG art-direction placeholder
     .bau-media--ready         final state: holds a real <img>
     .bau-media__svg           the placeholder SVG (100% fill)
     .bau-media__img           the real photo, once inserted —
                                object-fit: cover, object-position
                                adjustable per-instance via the
                                --bau-media-pos custom property

   TO REPLACE A PLACEHOLDER WITH A REAL PHOTO:
   1. Change the container's class from
        "bau-media bau-media--placeholder"
      to
        "bau-media bau-media--ready"
   2. Delete the inner <svg class="bau-media__svg">...</svg>
   3. Insert <img class="bau-media__img" src="…" alt="…" loading="lazy" />
   No CSS or structural changes are required — aspect ratios,
   cropping and no-layout-shift behaviour are already handled by
   the parent container in every section below.
   ================================================================ */

.bau-media { position: relative; overflow: hidden; width: 100%; height: 100%; display: block; }
.bau-media__svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.bau-media__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	display: block; object-fit: cover;
	object-position: var(--bau-media-pos, center);
}
/* Placeholder state carries no visible public label — internal class name only */
.bau-media--placeholder { }
.bau-media--ready .bau-media__svg { display: none; }

/* Lock aspect ratios on every media slot so inserting a real <img> causes zero layout shift */
.bau-hero-art { aspect-ratio: 1 / 1; }
.bau-prod-v3-media { aspect-ratio: 3 / 4; }
/* V3.2 sizing review: .bau-prod-v3-grid sits inside .bau-container (max-width 1240px), so at
   4 columns with a 1.75rem gap each panel is already capped at ~289px wide / ~385px tall
   regardless of viewport — it does not keep growing at 1440–1920px. The "dominant" feel in
   rendered QA traced to sparse placeholder artwork, not oversized panels, so panels were not
   arbitrarily shrunk. This safety cap only guards against any future container/gap change. */
@media (min-width: 1440px) { .bau-prod-v3-media { max-height: 400px; } }
.bau-story-art { aspect-ratio: 4 / 3; }
.bau-ingredient-art { aspect-ratio: 1 / 1; }
.bau-fam-v3-media { aspect-ratio: 4 / 3; min-height: 0; }
.bau-ritual-panel { aspect-ratio: auto; } /* panels keep their bento min-height/row-span sizing */
.bau-ritual-panel .bau-media { position: absolute; inset: 0; }

/* ---------- Journal: further tightened per rendered QA ---------- */
.bau-shell--journal { padding: clamp(2rem, 4vw, 2.75rem) 0; }
.bau-know-v3 p { margin: 0.6rem 0 1.1rem; }

/* ---------- Footer: reduce obvious excess whitespace only ---------- */
.bau-footer { padding: clamp(2rem, 4vw, 3rem) 1.25rem 1.25rem; }
.bau-foot-brand { margin-bottom: 1.1rem; }
.bau-foot-brand p { margin-top: 0.55rem; }
.bau-foot-legal { margin-top: 1.25rem; padding-top: 0.85rem; }


/* ================================================================
   V4 — PREMIUM ECOMMERCE HOMEPAGE REDESIGN
   Replaces V3's editorial/line-art system with an image-led,
   shopping-first structure. Real BAU product photography (migrated
   from the client's own legacy site) is now the primary visual
   content wherever a match exists; sections with no available
   client photo use a neutral, image-ready surface — never SVG
   line-art as a stand-in for a photograph.
   ================================================================ */

/* ---------- Typography hierarchy (selective serif) ---------- */
.bau-label {
	font-size: 0.72rem; text-transform: uppercase; letter-spacing: 1.6px;
	color: var(--bau-gold); font-weight: 600; font-family: var(--wp--preset--font-family--body);
}
.bau-h2 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.5rem, 2.4vw, 1.9rem);
	font-weight: 600; color: var(--bau-slate); margin: 0.35rem 0 0;
	line-height: 1.25;
}
.bau-h2--lg { font-size: clamp(1.75rem, 3vw, 2.35rem); }
.bau-campaign-h1 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 600; line-height: 1.08; letter-spacing: -0.5px; color: var(--bau-slate);
	margin: 0.5rem 0 0.9rem;
}
.bau-section-copy { color: var(--bau-muted); font-size: 0.95rem; max-width: 56ch; }

/* ---------- Shared image-ready media (real <img> now, still swappable) ---------- */
.bau-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--bau-media-pos, center); }
.bau-media-neutral {
	background: linear-gradient(160deg, var(--bau-cream), var(--bau-ivory));
	position: relative; overflow: hidden; width: 100%; height: 100%;
}
/* neutral surfaces awaiting a client photo carry no visible text — code-only marker */
.bau-awaiting-asset { }

/* ---------- V4 header refinements ---------- */
.bau-header { padding: 0.7rem 1rem; }
.bau-header .wp-block-navigation a {
	font-size: 0.85rem; letter-spacing: 0.3px; text-transform: uppercase;
}

/* ---------- 1. Announcement strip ---------- */
.bau-announce {
	background: var(--bau-slate); color: var(--bau-ivory);
	text-align: center; padding: 0.55rem 1rem; font-size: 0.78rem; letter-spacing: 0.4px;
}

/* ---------- 3. Campaign hero ---------- */
.bau-hero-v4 { position: relative; min-height: clamp(360px, 62vw, 560px); overflow: hidden; }
.bau-hero-v4-media { position: absolute; inset: 0; }
.bau-hero-v4-media::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(100deg, rgba(44,51,63,0.42) 0%, rgba(44,51,63,0.08) 55%, rgba(44,51,63,0) 75%);
}
.bau-hero-v4-content {
	position: relative; z-index: 1; height: 100%; min-height: clamp(360px, 62vw, 560px);
	display: flex; align-items: center;
	padding: 2rem 1.25rem;
}
.bau-hero-v4-copy { max-width: 460px; }
.bau-hero-v4 .bau-campaign-h1 { color: var(--bau-slate); max-width: 12ch; }
.bau-hero-v4 .bau-sub { color: var(--bau-muted); margin: 0 0 1.4rem; max-width: 40ch; }
@media (max-width: 767px) {
	.bau-hero-v4-content { align-items: flex-end; padding-bottom: 2.25rem; }
	.bau-hero-v4-copy { max-width: 100%; text-align: left; }
	.bau-hero-v4 .bau-campaign-h1 { font-size: clamp(2rem, 8vw, 2.5rem); max-width: 10ch; }
}
@media (max-width: 479px) {
	.bau-hero-v4-content .wp-block-buttons, .bau-hero-v4-content div[style*="display:flex"] { flex-direction: column; align-items: stretch; }
	.bau-hero-v4-content .bau-btn { text-align: center; }
}

/* ---------- 4. Category discovery: image-led tiles ---------- */
.bau-cat-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.85rem; }
@media (min-width: 640px) { .bau-cat-tiles { grid-template-columns: repeat(3, 1fr); gap: 1.1rem; } }
@media (min-width: 1024px) { .bau-cat-tiles { grid-template-columns: repeat(6, 1fr); } }
.bau-cat-tile {
	position: relative; aspect-ratio: 3 / 4; border-radius: 6px; overflow: hidden;
	display: flex; align-items: flex-end; text-decoration: none;
}
.bau-cat-tile::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(0deg, rgba(44,51,63,0.72) 0%, rgba(44,51,63,0.06) 60%);
}
.bau-cat-tile .bau-img { position: absolute; inset: 0; }
.bau-cat-tile-label { position: relative; z-index: 1; padding: 0.9rem 0.9rem 1rem; color: #fff; }
.bau-cat-tile-label span { display: block; font-size: 0.98rem; font-weight: 600; }
.bau-cat-tile-label small { display: block; font-size: 0.72rem; opacity: 0.85; margin-top: 0.15rem; }

/* ---------- 5. Best sellers: shoppable grid ---------- */
.bau-best-grid { display: grid; grid-template-columns: 1fr; gap: 1.1rem; }
@media (min-width: 560px) { .bau-best-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .bau-best-grid { grid-template-columns: repeat(4, 1fr); gap: 1.4rem; } }
.bau-best-card { display: flex; flex-direction: column; }
.bau-best-media {
	position: relative; aspect-ratio: 1 / 1; border-radius: 6px; overflow: hidden;
	background: var(--bau-ivory); margin-bottom: 0.85rem;
}
.bau-best-media .bau-img { object-fit: contain; padding: 8%; background: var(--bau-ivory); }
.bau-best-card .bau-label { margin-bottom: 0.1rem; }
.bau-best-card h3 { font-size: 0.98rem; margin: 0 0 0.3rem; font-family: var(--wp--preset--font-family--body); font-weight: 600; color: var(--bau-slate); line-height: 1.3; }
.bau-best-card .bau-desc { font-size: 0.8rem; color: var(--bau-muted); margin: 0 0 0.65rem; line-height: 1.4; }
.bau-price-row-v4 { display: flex; align-items: baseline; gap: 0.6rem; margin-bottom: 0.7rem; }
.bau-price-row-v4 .bau-price { font-size: 1.15rem; font-weight: 700; color: var(--bau-slate); }
.bau-price-row-v4 .bau-mrp { text-decoration: line-through; color: #9aa0a8; font-size: 0.85rem; }
.bau-best-card .bau-btn { font-size: 0.85rem; padding: 0.55rem 1.1rem; align-self: flex-start; }

/* ---------- 6. Brand story: image + copy ---------- */
.bau-story-v4 { display: grid; grid-template-columns: 1fr; gap: 1.75rem; align-items: center; }
@media (min-width: 900px) { .bau-story-v4 { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.bau-story-v4-media { position: relative; aspect-ratio: 4 / 5; border-radius: 6px; overflow: hidden; }
.bau-story-v4-copy h2 { max-width: 16ch; }
.bau-story-v4-copy p { color: var(--bau-muted); max-width: 46ch; margin: 0.85rem 0; line-height: 1.65; }

/* ---------- 7. Hair Ritual campaign ---------- */
.bau-ritual-v4-main {
	position: relative; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden;
	display: flex; align-items: flex-end; margin-bottom: 1rem;
}
.bau-ritual-v4-main::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(44,51,63,0.65) 0%, rgba(44,51,63,0) 55%); }
.bau-ritual-v4-main .bau-img { position: absolute; inset: 0; object-fit: contain; padding: 4%; background: var(--bau-ivory); }
.bau-ritual-v4-main .bau-ritual-v4-text { position: relative; z-index: 1; color: #fff; padding: 1.25rem 1.4rem; }
.bau-ritual-v4-text p { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1.4px; margin: 0 0 0.2rem; opacity: 0.9; }
.bau-ritual-v4-text h3 { margin: 0; font-size: clamp(1.2rem, 2.4vw, 1.6rem); font-family: var(--wp--preset--font-family--heading); }
.bau-ritual-v4-sub { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.85rem; }
.bau-ritual-v4-tile { position: relative; aspect-ratio: 3 / 4; border-radius: 6px; overflow: hidden; display: flex; align-items: flex-end; text-decoration: none; }
.bau-ritual-v4-tile::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(44,51,63,0.6) 0%, rgba(44,51,63,0) 55%); }
.bau-ritual-v4-tile .bau-img { position: absolute; inset: 0; }
.bau-ritual-v4-tile span { position: relative; z-index: 1; color: #fff; font-size: 0.85rem; font-weight: 600; padding: 0.7rem; }

/* ---------- 8. Ingredient story ---------- */
.bau-ingredient-v4 { display: grid; grid-template-columns: 1fr; gap: 1.75rem; align-items: center; }
@media (min-width: 900px) { .bau-ingredient-v4 { grid-template-columns: 0.85fr 1.15fr; gap: 3rem; } }
.bau-ingredient-v4-media { position: relative; aspect-ratio: 1 / 1; border-radius: 6px; overflow: hidden; max-width: 380px; margin-inline: auto; }
.bau-ingredient-v4-media .bau-img { object-fit: contain; padding: 10%; background: var(--bau-ivory); }
.bau-ingredient-v4-copy p { color: var(--bau-muted); max-width: 48ch; line-height: 1.65; margin: 0.75rem 0; }
.bau-ingredient-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.bau-ingredient-tags span { font-size: 0.75rem; padding: 0.32rem 0.7rem; border: 1px solid var(--bau-line); border-radius: 20px; color: var(--bau-slate); }

/* ---------- 9. Family care panels ---------- */
.bau-family-v4-grid { display: grid; grid-template-columns: 1fr; gap: 1.1rem; }
@media (min-width: 700px) { .bau-family-v4-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
.bau-family-v4-card { position: relative; border-radius: 6px; overflow: hidden; aspect-ratio: 4 / 3; display: flex; align-items: flex-end; text-decoration: none; }
.bau-family-v4-card::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(44,51,63,0.72) 0%, rgba(44,51,63,0.05) 55%); }
.bau-family-v4-card .bau-img { position: absolute; inset: 0; }
.bau-family-v4-text { position: relative; z-index: 1; color: #fff; padding: 1.1rem 1.25rem; width: 100%; }
.bau-family-v4-text .bau-label { color: #EDEAE3; }
.bau-family-v4-text h3 { color: #fff; margin: 0.2rem 0 0.5rem; font-size: 1.05rem; }
.bau-family-v4-price { display: flex; align-items: baseline; gap: 0.55rem; margin-bottom: 0.65rem; }
.bau-family-v4-price .bau-price { color: #fff; font-size: 1.1rem; font-weight: 700; }
.bau-family-v4-price .bau-mrp { color: rgba(255,255,255,0.65); font-size: 0.82rem; text-decoration: line-through; }

/* ---------- 10. Trust / quality: quiet strip ---------- */
.bau-trust-quiet { text-align: center; max-width: 640px; margin-inline: auto; }
.bau-trust-quiet ul { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.75rem; }
.bau-trust-quiet li { font-size: 0.82rem; color: var(--bau-muted); }

/* ---------- 11. Journal (compact) ---------- */
.bau-journal-v4 { text-align: center; max-width: 560px; margin-inline: auto; }
.bau-journal-v4 p { color: var(--bau-muted); margin: 0.6rem 0 1.1rem; font-size: 0.9rem; }

/* ---------- V4 section shells ---------- */
.bau-shell-v4 { padding: clamp(2.5rem, 5vw, 3.75rem) 0; }
.bau-shell-v4--quiet { padding: clamp(1.75rem, 3.5vw, 2.5rem) 0; }
.bau-head-v4 { max-width: 640px; margin: 0 auto 1.75rem; text-align: center; }
.bau-head-v4--left { text-align: left; margin: 0 0 1.5rem; max-width: none; }

/* ================================================================
   V4.1 — VISUAL COMPOSITION CORRECTION
   Fixes: empty hero, blank brand-story panel, oversized combo banner,
   broken family-care layout, monotonous section rhythm. No new
   colours; existing BAU palette only. No SVG botanical illustrations
   reintroduced; no invented photography.
   ================================================================ */

/* ---------- 1. Hero: split editorial with real product composition ---------- */
.bau-hero-v41 {
	display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center;
	max-width: 1240px; margin-inline: auto; padding: clamp(2.25rem, 5vw, 3.5rem) 1.25rem;
}
@media (min-width: 900px) { .bau-hero-v41 { grid-template-columns: 0.92fr 1.08fr; gap: 2.5rem; padding-block: clamp(3rem, 6vw, 4.5rem); } }
.bau-hero-v41-copy .bau-campaign-h1 { max-width: 12ch; }
@media (max-width: 899px) { .bau-hero-v41-copy { text-align: left; } }
.bau-hero-v41-links { margin-top: 0.35rem; }
.bau-hero-v41-links a { font-size: 0.85rem; color: var(--bau-slate); text-decoration: underline; text-underline-offset: 3px; margin-left: 1.1rem; }
.bau-hero-v41-links a:first-child { margin-left: 0; }

.bau-hero-v41-stage {
	position: relative; aspect-ratio: 4 / 3.1; border-radius: 8px; overflow: visible;
	background: radial-gradient(120% 100% at 30% 20%, #F3E9D6 0%, var(--bau-cream) 60%, var(--bau-cream) 100%);
	display: flex; align-items: center; justify-content: center;
}
.bau-hero-v41-stage::before {
	content: ""; position: absolute; width: 68%; height: 68%; border-radius: 50%;
	border: 1px solid rgba(184,146,90,0.4); top: 14%; left: 16%;
}
.bau-hero-v41-item {
	position: absolute; border-radius: 6px; overflow: hidden; background: #fff;
	box-shadow: 0 18px 34px rgba(44,51,63,0.16);
}
.bau-hero-v41-item .bau-img { object-fit: contain; padding: 10%; }
.bau-hero-v41-item--a { width: 40%; aspect-ratio: 3/4; left: 6%; bottom: 6%; z-index: 3; }
.bau-hero-v41-item--b { width: 34%; aspect-ratio: 3/4; right: 8%; top: 4%; z-index: 2; }
.bau-hero-v41-item--c { width: 30%; aspect-ratio: 1/1; left: 34%; top: 22%; z-index: 1; }
@media (max-width: 899px) {
	.bau-hero-v41-stage { aspect-ratio: 5 / 4; margin-top: 0.5rem; }
	.bau-hero-v41-item--a { width: 42%; left: 8%; bottom: 8%; }
	.bau-hero-v41-item--b { width: 34%; right: 10%; top: 8%; }
	.bau-hero-v41-item--c { width: 30%; left: 34%; top: 30%; }
}

/* ---------- 2. Brand story: text-led, no media panel ---------- */
.bau-story-v41 { max-width: 640px; }
.bau-story-v41 p { color: var(--bau-muted); line-height: 1.7; margin: 0.85rem 0; }
.bau-story-v41-facts { display: flex; flex-wrap: wrap; gap: 0.6rem 1.4rem; margin: 1.25rem 0 1.5rem; padding-top: 1.1rem; border-top: 1px solid var(--bau-line); }
.bau-story-v41-facts span { font-size: 0.82rem; color: var(--bau-slate); display: flex; align-items: center; gap: 0.4rem; }
.bau-story-v41-facts span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--bau-gold); }

/* ---------- 3. Hair Ritual: contained 2-column campaign ---------- */
.bau-ritual-v41 { display: grid; grid-template-columns: 1fr; gap: 1.75rem; align-items: center; }
@media (min-width: 900px) { .bau-ritual-v41 { grid-template-columns: 0.9fr 1.1fr; gap: 3rem; } }
.bau-ritual-v41-copy h2 { max-width: 14ch; }
.bau-ritual-v41-copy p { color: var(--bau-muted); max-width: 42ch; margin: 0.85rem 0 1.25rem; line-height: 1.65; }
.bau-ritual-v41-media {
	position: relative; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden;
	background: var(--bau-ivory); border: 1px solid var(--bau-line);
}
.bau-ritual-v41-media .bau-img { object-fit: contain; padding: 8%; }
.bau-ritual-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.85rem; margin-top: 1.5rem; }
.bau-ritual-step { text-align: center; padding: 0.9rem 0.5rem; border: 1px solid var(--bau-line); border-radius: 6px; }
.bau-ritual-step span { display: block; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 1.2px; color: var(--bau-gold); margin-bottom: 0.3rem; }
.bau-ritual-step strong { font-size: 0.9rem; color: var(--bau-slate); font-weight: 600; }

/* ---------- 4. Family Care: balanced equal cards ---------- */
.bau-family-v41-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 700px) { .bau-family-v41-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
.bau-family-v41-card { background: #fff; border: 1px solid var(--bau-line); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.bau-family-v41-media { position: relative; aspect-ratio: 4 / 3; background: var(--bau-ivory); }
.bau-family-v41-media .bau-img { object-fit: contain; padding: 9%; }
/* Desktop-only: reduce product-image visual dominance ~20-25% by adding extra inset padding
   around the (still uncropped) contained image; card/media container size is unchanged. */
@media (min-width: 700px) {
	.bau-family-v41-media .bau-img { padding: 18%; }
}
.bau-family-v41-body { padding: 1.15rem 1.25rem 1.35rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.bau-family-v41-body p { color: var(--bau-muted); font-size: 0.87rem; line-height: 1.55; margin: 0; }
.bau-family-v41-price { display: flex; align-items: baseline; gap: 0.6rem; margin-top: auto; padding-top: 0.5rem; }
.bau-family-v41-body .bau-btn { align-self: flex-start; font-size: 0.85rem; padding: 0.55rem 1.15rem; margin-top: 0.65rem; }

/* ---------- 7. Best Sellers refinements ---------- */
.bau-best-media { padding: 6%; box-sizing: border-box; }
.bau-best-media .bau-img { object-fit: contain; padding: 4%; }
.bau-best-card .bau-desc { min-height: 2.6em; }
.bau-best-card .bau-btn--outline {
	background: transparent; color: var(--bau-slate) !important; border: 1.5px solid var(--bau-slate);
	font-size: 0.82rem; padding: 0.5rem 1rem;
}
.bau-best-card .bau-btn--outline:hover,
.bau-best-card .bau-btn--outline:focus-visible { background: var(--bau-slate); color: #fff !important; }
.bau-best-card .bau-btn--outline:focus-visible { outline: 2px solid var(--bau-gold); outline-offset: 2px; }

/* ---------- 6 & 9. Section rhythm + lower-page spacing discipline ---------- */
.bau-wash-sand { background: #F1E8D8; }
.bau-shell-v4--compact { padding: clamp(1.5rem, 3vw, 2.25rem) 0; }
.bau-hairline-top { border-top: 1px solid var(--bau-line); }
.bau-hairline-bottom { border-bottom: 1px solid var(--bau-line); }

/* ================================================================
   Elementor draft-build compatibility (scoped to the temporary
   elementor-full-width.php template only — Page 38, never the
   live homepage which uses templates/front-page.html).
   ================================================================ */
body.page-template-elementor-full-width-php .wp-block-site-title,
body.page-template-elementor-full-width-php .site-title,
body.page-template-elementor-full-width-php .wp-block-site-logo__text {
	font-size: 1rem !important;
	line-height: 1.2 !important;
}
