/* ==========================================================================================
   luqua-pdp.css : the ONE stylesheet every LUQUA product page shares.
   Owner 2026-09-18: "make it a template which section must have, so that in future we adding more
   products, all is looking same", and approved moving the product-page CSS into one shared file.

   What it is: the complete product-page stylesheet, taken from the FemeLuv page (156) in its own source
   order, with every value that differed from MenoLuv (74) replaced by a ROLE TOKEN (--pdp-accent,
   --pdp-link, --pdp-tint, the scrims and shadows...). The 37 token values per product sit in the palette
   classes directly below. MenoLuv's CSS was a strict subset of FemeLuv's by selector, so nothing of
   MenoLuv's own was left over. Product colour roots (:root --violet, --pack-coral...) stay on each page.

   Order matters and is preserved: tested 2026-09-18, consolidating each page's 12 to 15 inline style
   blocks into one produced 0 changed elements, so the CSS is a self-contained ordered list and can live
   in <head>. Enqueued after every other theme sheet so it keeps the cascade position the inline copies
   had over style.css, luqua-cart.css and Blocksy.

   ⚠️ A style change meant for every product page goes HERE. Never add product-page CSS to one page's
   inline <style>: a copy per page is exactly how MenoLuv drifted from FemeLuv (DEVIATIONS 2026-09-18).
   Deployed with tools/71, which deletes the page copies. Verified by full computed-style snapshots.
   ========================================================================================== */
/* ---- Product palettes: the ONLY per-product values in this file. A product page opts in with the body
   class pdp-palette--<family> (post meta _luqua_pdp_palette); a section opts in with a wrapper element,
   which is how Mother & Daughter shows each product in its own colours. Values are literal on purpose, so
   a palette works on any page, not only its own. A NEW PRODUCT adds one block here, nothing else. ---- */
.pdp-palette--menoluv{
  /* colour roots, so the palette also works inside a wrapper on another page */
  --pack-coral:#F86F5B;
  --pdp-science-bg:linear-gradient(180deg,#FFFDFB 0%,#F3F1FC 100%);
  --pdp-science-photo-shadow:0 20px 46px rgba(83,71,192,.14);
  --pdp-science-icon:#5347C0;
  --pdp-link:#5347C0;
  --pdp-main-background:radial-gradient(120% 120% at 30% 10%,#F3F1FC 0%,#F8F5F7 100%);
  --pdp-accent:#5347C0;
  --pdp-tint-rule:3px solid #F3F1FC;
  --pdp-tint:#F3F1FC;
  --pdp-accent-300:#ABA5E4;
  --pdp-tint-strong:#E6E3F8;
  --pdp-ticker-background:#5347C0;
  --pdp-ing-card2-background:#181030;
  --pdp-role-background:rgba(24,16,48,.46);
  --pdp-cap-background:linear-gradient(to top,rgba(24,16,48,1) 0%,rgba(24,16,48,.72) 48%,rgba(24,16,48,.12) 82%,transparent 100%);
  --pdp-formula-band-background:linear-gradient(150deg,#3A2C7E 0%,#20174F 100%);
  --pdp-formula-band-before-background:#FFD4C1;
  --pdp-eyebrow-color:#FFD4C1;
  --pdp-lead-color:#E6E3F8;
  --pdp-crosssell-btn-bg:#E2545F;
  --pdp-focus-outline:3px solid #ABA5E4;
  --pdp-tag-lead-color:#2E2FB8;
  --pdp-m2-hero-box-shadow:0 34px 66px rgba(24,16,48,.26);
  --pdp-m2-scrim-background:linear-gradient(92deg,rgba(20,13,42,.86) 0%,rgba(20,13,42,.58) 32%,rgba(20,13,42,.12) 60%,rgba(20,13,42,0) 76%),linear-gradient(180deg,rgba(20,13,42,.5) 0%,rgba(20,13,42,.06) 24%,rgba(20,13,42,.1) 50%,rgba(20,13,42,.85) 100%);
  --pdp-eyebrow-color-2:#F4CDD3;
  --pdp-h2-text-shadow:0 2px 24px rgba(20,13,42,.55);
  --pdp-m2-scrim-background-2:linear-gradient(92deg,rgba(20,13,42,.86) 0%,rgba(20,13,42,.70) 42%,rgba(20,13,42,.50) 72%,rgba(20,13,42,.38) 100%),linear-gradient(180deg,rgba(20,13,42,.5) 0%,rgba(20,13,42,.06) 24%,rgba(20,13,42,.1) 50%,rgba(20,13,42,.85) 100%);
  --pdp-br-rule-background:#ABA5E4;
  --pdp-s2-scrim-background:linear-gradient(92deg,rgba(20,13,42,.86) 0%,rgba(20,13,42,.64) 40%,rgba(20,13,42,.34) 66%,rgba(20,13,42,.16) 84%,rgba(20,13,42,.08) 100%),linear-gradient(180deg,rgba(20,13,42,.5) 0%,rgba(20,13,42,.06) 24%,rgba(20,13,42,.1) 50%,rgba(20,13,42,.88) 100%);
  --pdp-s2-lead-text-shadow:0 1px 16px rgba(20,13,42,.6);
  --pdp-evidence-photo-position:52% 28%;
  --pdp-e2-scrim-background:linear-gradient(180deg,rgba(20,13,42,.8) 0%,rgba(20,13,42,.4) 26%,rgba(20,13,42,.5) 58%,rgba(20,13,42,.92) 100%);
  --pdp-e2-panel-background:rgba(23,15,44,.44);
  --pdp-rstep-ph-box-shadow:0 20px 44px rgba(83,71,192,.16);
  --pdp-nutri-border:1px solid rgba(83,71,192,.14);
  --pdp-h3-border-bottom:1px solid rgba(83,71,192,.1);
  --pdp-th-border-bottom:1px solid rgba(83,71,192,.08);
  --pdp-foot-background:#fbfaff;
  --pdp-mid-cta-btn-background:#5347C0;
  --pdp-mid-cta-btn-color:#fff;
  --pdp-mid-cta-btn-hover-background:#43389F;
}
.pdp-palette--femeluv{
  /* colour roots, so the palette also works inside a wrapper on another page */
  --close-ink:#8E2434;
  --close-scrim:rgba(142,36,52,.86);
  --close-scrim-end:rgba(110,26,40,.9);
  --pack-blush:#FFE0DB;
  --pack-coral:#F05454;
  --pack-coral-300:#F5A3A3;
  --pack-pink:#FCD8D8;
  --pack-pink-050:#FFF3F4;
  --ticker-bg:#FD575C;
  --tier-best:#8E2434;
  --pdp-science-bg:linear-gradient(180deg,#FFFDFB 0%,#FFF3F4 100%);
  --pdp-science-photo-shadow:0 20px 46px rgba(140,40,60,.15);
  --pdp-science-icon:#8E2434;
  --pdp-link:#782B90;
  --pdp-main-background:radial-gradient(120% 120% at 30% 10%,#FFF3F4 0%,#F8F5F7 100%);
  --pdp-accent:#F05454;
  --pdp-tint-rule:3px solid #FCD8D8;
  --pdp-tint:#FFF3F4;
  --pdp-accent-300:#F5A3A3;
  --pdp-tint-strong:#FFE0DB;
  --pdp-ticker-background:#FD575C;
  --pdp-ing-card2-background:#301018;
  --pdp-role-background:rgba(42,13,26,.46);
  --pdp-cap-background:linear-gradient(to top,rgba(42,13,26,1) 0%,rgba(42,13,26,.72) 48%,rgba(42,13,26,.12) 82%,transparent 100%);
  --pdp-formula-band-background:linear-gradient(150deg,#7E2C42 0%,#4F1726 100%);
  --pdp-formula-band-before-background:#FFE0DB;
  --pdp-eyebrow-color:#FFD5D2;
  --pdp-lead-color:#F8E3E8;
  --pdp-crosssell-btn-bg:#8E2434;
  --pdp-focus-outline:3px solid #F05454;
  --pdp-tag-lead-color:#782B90;
  --pdp-m2-hero-box-shadow:0 34px 66px rgba(48,18,32,.26);
  --pdp-m2-scrim-background:linear-gradient(92deg,rgba(42,13,26,.86) 0%,rgba(42,13,26,.58) 32%,rgba(42,13,26,.12) 60%,rgba(42,13,26,0) 76%),linear-gradient(180deg,rgba(42,13,26,.5) 0%,rgba(42,13,26,.06) 24%,rgba(42,13,26,.1) 50%,rgba(42,13,26,.85) 100%);
  --pdp-eyebrow-color-2:#FFD5D2;
  --pdp-h2-text-shadow:0 2px 24px rgba(42,13,26,.55);
  --pdp-m2-scrim-background-2:linear-gradient(92deg,rgba(42,13,26,.86) 0%,rgba(42,13,26,.70) 42%,rgba(42,13,26,.50) 72%,rgba(42,13,26,.38) 100%),linear-gradient(180deg,rgba(42,13,26,.5) 0%,rgba(42,13,26,.06) 24%,rgba(42,13,26,.1) 50%,rgba(42,13,26,.85) 100%);
  --pdp-br-rule-background:#F05454;
  --pdp-s2-scrim-background:linear-gradient(92deg,rgba(42,13,26,.86) 0%,rgba(42,13,26,.64) 40%,rgba(42,13,26,.34) 66%,rgba(42,13,26,.16) 84%,rgba(42,13,26,.08) 100%),linear-gradient(180deg,rgba(42,13,26,.5) 0%,rgba(42,13,26,.06) 24%,rgba(42,13,26,.1) 50%,rgba(42,13,26,.88) 100%);
  --pdp-s2-lead-text-shadow:0 1px 16px rgba(42,13,26,.6);
  --pdp-evidence-photo-position:62% 34%;
  --pdp-e2-scrim-background:linear-gradient(180deg,rgba(42,13,26,.88) 0%,rgba(42,13,26,.72) 26%,rgba(42,13,26,.78) 58%,rgba(42,13,26,.96) 100%);
  --pdp-e2-panel-background:rgba(45,14,28,.44);
  --pdp-rstep-ph-box-shadow:0 20px 44px rgba(142,36,52,.16);
  --pdp-nutri-border:1px solid rgba(142,36,52,.14);
  --pdp-h3-border-bottom:1px solid rgba(142,36,52,.1);
  --pdp-th-border-bottom:1px solid rgba(142,36,52,.08);
  --pdp-foot-background:#FFF3F4;
  --pdp-mid-cta-btn-background:#8E2434;
  --pdp-mid-cta-btn-color:#FFFDFB;
  --pdp-mid-cta-btn-hover-background:#7A1D2C;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);font-size:17px;line-height:1.65;color:var(--ink);background:var(--warm-white);padding-bottom:76px}
img{max-width:100%;display:block}
a{color:var(--pdp-link);text-decoration:none}
h1,h2,h3{font-family:var(--display);color:var(--charcoal);line-height:1.12;font-weight:600}
.h2{font-size:clamp(1.8rem,1.2rem + 2.4vw,2.7rem)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--body);font-weight:600;font-size:1rem;min-height:52px;padding:0 2.2em;border-radius:999px;border:0;cursor:pointer;transition:transform .18s ease,background .18s ease;text-decoration:none}
.btn-primary{background:var(--cta,#E2545F);color:#fff;box-shadow:var(--shadow-coral)}
.btn-primary:hover{background:#C8434E;transform:translateY(-2px)}
.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--coral-700);margin-bottom:1rem}
section{padding:var(--sy) 0}
.center{text-align:center}
.announce{background:var(--house);color:#fff;text-align:center;font-size:.82rem;font-weight:500;letter-spacing:.04em;padding:9px var(--gut)}
header{position:sticky;top:0;z-index:50;background:rgba(255,253,251,.92);backdrop-filter:blur(16px) saturate(1.5);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:1rem}
.nav img{height:34px;width:auto}
.nav ul{display:flex;gap:clamp(1rem,2.5vw,2.2rem);list-style:none;font-size:.95rem;font-weight:500}
.nav ul a{color:var(--charcoal)}
.nav ul a:hover{color:var(--pdp-link)}
.nav-cta .btn{min-height:44px;padding:0 1.6em;font-size:.9rem;box-shadow:none}
.burger{display:none;background:none;border:0;font-size:1.6rem;color:var(--charcoal);cursor:pointer;min-width:44px;min-height:44px}
.crumbs{font-size:.82rem;color:var(--muted);padding:1.2rem 0 0}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--pdp-link)}
/* ---- PDP layout ---- */
.pdp{padding:2rem 0 var(--sy)}
.pdp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.gallery{position:sticky;top:96px}
.gallery .main{background:var(--pdp-main-background);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,3vw,3rem);display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}
.gallery .main img{max-height:100%;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(46,47,184,.22))}
/* Thumbnail strip: ONE scrolling row, not a wrapping grid (21/09/2026). At 4 columns the MenoLuv
   gallery's 13 images stacked three rows deep and pushed the buy box down the page. A single row
   is the same height whether a product carries 4 images or 40, and it is the strip every
   marketplace already trained her on. Arrows live on .thumbs-rail, never inside the scroller. */
.thumbs-rail{position:relative;margin-top:.8rem}
.thumbs{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;padding:2px}
.thumbs::-webkit-scrollbar{display:none}
.thumbs button{flex:0 0 76px;width:76px;background:var(--blush);border:1.5px solid var(--line);border-radius:var(--r-md);padding:.35rem;cursor:pointer;min-height:44px;scroll-snap-align:start;transition:border-color .15s ease}
.thumbs button.on,.thumbs button:hover{border-color:var(--house)}
/* The active thumb gets a second ring rather than only a border colour, because at 76px a 1.5px
   border change is easy to miss while scrolling. */
.thumbs button.on{box-shadow:0 0 0 2px var(--pdp-accent,var(--house))}
.thumbs img{aspect-ratio:1/1;object-fit:contain;width:100%;display:block}
.rail-nav{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:999px;border:1px solid var(--line);background:rgba(255,253,251,.94);color:var(--charcoal);font-family:var(--body);font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;padding:0;box-shadow:var(--shadow-sm);transition:opacity .15s ease,background .15s ease}
.rail-prev{left:-6px}
.rail-next{right:-6px}
.rail-nav:hover{background:var(--warm-white)}
/* Hidden at the ends so an arrow never offers a move that does nothing. */
.thumbs-rail.at-start .rail-prev,.thumbs-rail.at-end .rail-next{opacity:0;pointer-events:none}
.buy h1{font-size:clamp(1.9rem,1.3rem + 2.2vw,2.6rem);margin:.4rem 0 .6rem}
.buy .sub{font-size:1.02rem;color:var(--muted);margin-bottom:.8rem}
.stars{color:var(--pack-coral);letter-spacing:.15em;font-size:.95rem}
.stars small{color:var(--muted);letter-spacing:0;font-family:var(--body);margin-left:.6em}
.usp{list-style:none;margin:1.2rem 0 .4rem;display:grid;gap:.45rem;font-size:.93rem}
.usp li{display:flex;gap:.6em;align-items:flex-start}
.usp li::before{content:"✓";color:var(--pdp-accent);font-weight:700;flex:none}
.buy-ticks{margin:.3rem 0 1.2rem}
.buy-ticks li{text-wrap:balance}
.acc-rich{display:grid;gap:.8rem;line-height:1.65;color:var(--ink)}
.acc-rich p{margin:0}
.acc-rich .evi-link{margin:0}
.acc-lead{font-family:var(--display);font-size:1.12rem;color:var(--charcoal)}
.acc-foot{font-size:inherit;color:var(--muted)}
.how-list,.win-list{list-style:none;margin:0;padding:0;display:grid;gap:.95rem}
.how-list li,.win-list li{margin:0;padding:0}
.how-list li{display:grid;gap:.1rem;padding-left:.95rem;border-left:var(--pdp-tint-rule)}
.how-list b,.win-list b{display:block;color:var(--charcoal);line-height:1.35}
.how-list em,.acc-proof em{font-style:italic;font-weight:500;color:var(--charcoal)}
.win-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:.8rem;align-items:start}
.win-list li span:not(.m-ico){display:block;margin-top:.1rem}
.win-list .m-ico{width:36px;height:36px;border-radius:50%;background:var(--pdp-tint);color:var(--pdp-accent);display:grid;place-items:center}
.win-list .m-ico svg{width:19px;height:19px}
.acc-proof{margin:0;padding:.85rem 1rem;border-radius:12px;background:var(--pdp-tint);color:var(--ink)}
.acc-pitch{margin:0;color:var(--charcoal)}
.pick:has(> .flag){padding-top:1.45rem}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.price{font-family:var(--display);font-size:2.2rem;color:var(--charcoal);margin:1rem 0 .2rem}
.price small{font-family:var(--body);font-size:.85rem;color:var(--muted);font-weight:500}
.tax{font-size:.8rem;color:var(--muted);margin-bottom:1.4rem}
.bundle-pick{display:grid;gap:.8rem;margin-bottom:1.4rem}
.pick{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);padding:1rem 1.2rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.pick:hover{border-color:var(--pdp-accent-300)}
.pick.on{background:var(--pdp-tint-strong);border-color:var(--pdp-accent);box-shadow:var(--shadow-md)}
.pick input{accent-color:var(--pdp-accent);width:20px;height:20px}
.pick b{display:block;font-size:.98rem;color:var(--charcoal)}
.pick span{font-size:.82rem;color:var(--muted)}
.pick .p{font-family:var(--display);font-size:1.15rem;color:var(--charcoal);text-align:right}
.pick .p s{display:block;font-family:var(--body);font-size:.78rem;color:var(--muted)}
.pick .p s{position:relative;width:fit-content;margin-left:auto;font-size:.8rem;font-weight:600;color:#6B6B78;text-decoration:none}
.pick .p s::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;border-radius:2px;background:#C8102E;transform:rotate(-6deg)}
.pick .p i{display:block;width:fit-content;margin:.3rem 0 0 auto;padding:.2em .55em;border-radius:999px;background:#C8102E;color:#fff;font-family:var(--body);font-style:normal;font-size:.7rem;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.price s.rrp{position:relative;font-family:var(--body);font-size:1rem;font-weight:600;color:#6B6B78;margin-right:.7rem;text-decoration:none}
.price s.rrp::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;border-radius:2px;background:#C8102E;transform:rotate(-6deg)}
.bundle-pick{margin-top:1.5rem}
.pick .flag{position:absolute;top:-11px;left:1rem;background:var(--pack-coral);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.3em .9em}
.buy .btn-primary{width:100%;font-size:1.05rem}
.evi-link{font-size:.9rem;color:var(--ink);margin:.7rem 0 0}
.evi-link a{font-weight:600;color:var(--pdp-link);white-space:nowrap}
.returns-line{font-size:.84rem;line-height:1.6;color:var(--muted);text-align:center;margin:.9rem auto 0;max-width:36rem}
.returns-line b{color:var(--charcoal)}
.returns-line a{font-weight:600;color:var(--pdp-link)}
.returns-line a.wa{color:#1DA851}
.pay-lead{font-size:.72rem;color:var(--muted);font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin:1.1rem 0 .55rem;text-align:center;opacity:.75}
.pay-strip .pay-chip img{max-height:19px;width:auto}
.pay-strip{opacity:.82}
.spec-table{width:100%;border-collapse:collapse;font-size:.9rem;border:0}
.spec-table th{text-align:left;color:var(--muted);font-weight:600;padding:.85rem 1.4rem .85rem 0;vertical-align:top;white-space:nowrap;border:0;border-bottom:1px solid var(--line)}
.spec-table td{padding:.85rem 0;color:var(--ink);border:0;border-bottom:1px solid var(--line)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.trust-strip{display:grid;grid-template-columns:1fr;gap:.45rem;margin:1.3rem 0;text-align:left;font-size:.84rem;color:var(--muted);font-weight:500;line-height:1.45}
.trust-strip div{position:relative;background:var(--blush);border-radius:var(--r-sm);padding:.72rem 1rem .72rem 3.05rem}
.trust-strip b{display:inline;color:var(--charcoal);font-size:.84rem;margin:0}
.callout{background:var(--blush);border:1px solid var(--line);border-left:3px solid var(--pack-coral);border-radius:var(--r-md);padding:1.1rem 1.3rem;display:flex;gap:.9rem;align-items:flex-start;font-size:.88rem;color:var(--ink);margin-bottom:1.4rem}
.callout svg{flex:none;margin-top:.15em}
.acc details{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);margin-top:.7rem;box-shadow:var(--shadow-sm)}
.acc summary{cursor:pointer;font-weight:600;color:var(--charcoal);padding:1.1rem 1.4rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:44px;font-size:.95rem}
.acc summary::after{content:"+";font-family:var(--display);font-size:1.3rem;color:var(--pdp-accent)}
.acc details[open] summary::after{content:"−"}
.acc details .inner{padding:0 1.4rem 1.2rem;font-size:.92rem}
/* ---- ticker ---- */
.ticker{background:var(--pdp-ticker-background);color:var(--warm-white);padding:1rem 0;overflow:hidden}
.entry-content.is-layout-constrained > .ticker{margin-bottom:clamp(2.25rem,4.5vw,3.5rem)!important}
.ticker-track{display:flex;gap:3.5rem;white-space:nowrap;font-size:.88rem;font-weight:500;letter-spacing:.06em;animation:tick 28s linear infinite;width:max-content}
.ticker-track span{display:inline-flex;align-items:center;gap:.6em}
.ticker-track b{color:var(--peach);font-weight:400}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* ---- ingredient marquee (AG1-style glass, drag + auto-scroll) ---- */
.ing-marquee{margin-top:2.8rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;cursor:grab;user-select:none;-webkit-user-select:none;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ing-marquee::-webkit-scrollbar{display:none}
.ing-marquee.drag{cursor:grabbing}
.ing-track{display:flex;width:max-content}
.ing-card2{position:relative;flex:0 0 300px;height:432px;margin-right:1.25rem;border-radius:var(--r-lg);overflow:hidden;background:var(--pdp-ing-card2-background);box-shadow:0 22px 46px rgba(0,0,0,.26)}
.ing-card2>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit;pointer-events:none;-webkit-user-drag:none;user-select:none}
.ing-card2 .role{position:absolute;top:1rem;left:1rem;z-index:3;text-transform:uppercase;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.12em;line-height:1;padding:.5rem .8rem .46rem;color:#FFFDFB;background:var(--pdp-role-background);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);box-shadow:inset 0 0 0 1px rgba(255,253,251,.28)}
.ing-card2 .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;border-radius:0 0 var(--r-lg) var(--r-lg);padding:2.4rem 1.45rem 1.55rem;color:#fff;background:var(--pdp-cap-background);-webkit-backdrop-filter:blur(7px) saturate(1.15);backdrop-filter:blur(7px) saturate(1.15)}
.ing-card2 .cap b{display:block;font-family:var(--display);font-size:1.5rem;line-height:1.1;margin-bottom:.42rem;color:#fff}
.ing-card2 .cap p{font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.95);min-height:4.5em}
@media (max-width:600px){
  .ing-card2{flex-basis:262px;height:392px}
}
/* ---- formula groups ---- */
.formula-band{background:var(--pdp-formula-band-background);color:var(--warm-white);position:relative;overflow:hidden;padding-bottom:calc(var(--sy) + clamp(60px,9vw,130px))}
.formula-band::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(60px,9vw,130px);background:var(--pdp-formula-band-before-background);clip-path:polygon(0 100%,100% 100%,100% 22%,0 78%)}
.formula-band .wrap{position:relative;z-index:1}
.formula-band h2{color:var(--warm-white)}
.formula-band .eyebrow{color:var(--pdp-eyebrow-color)}
.formula-band .lead{max-width:44em;margin:0 auto;color:var(--pdp-lead-color)}
.groups{display:grid;gap:1rem;margin-top:2.6rem;text-align:left}
.group{display:grid;grid-template-columns:64px 1fr;gap:1.2rem;background:rgba(255,253,251,.08);border:1px solid rgba(255,253,251,.18);border-radius:var(--r-md);padding:1.4rem 1.5rem;align-items:start}
.group img{width:64px;height:64px;object-fit:contain;background:var(--warm-white);border-radius:14px;padding:8px}
.group b{display:block;font-family:var(--display);font-size:1.15rem;color:var(--warm-white);margin-bottom:.2rem}
.group .who{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--peach);font-weight:600;display:block;margin-bottom:.4rem}
.group p{font-size:.9rem;color:var(--pdp-lead-color)}
.formula-note{margin-top:1.8rem;font-size:.85rem;color:var(--pdp-lead-color);text-align:center}
.ing-rest{margin-top:1.9rem;font-size:.92rem;line-height:1.6;color:#F8E3E8;text-align:center;max-width:44em;margin-left:auto;margin-right:auto}
/* ---- facts panel ---- */
.facts{background:var(--warm-white)}
.facts-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.facts-table{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.facts-table h3{font-size:1.15rem;padding:1.2rem 1.5rem .6rem}
.facts-table table{width:100%;border-collapse:collapse;font-size:.92rem}
.facts-table th,.facts-table td{padding:.75rem 1.5rem;text-align:left;border-top:1px solid var(--line)}
.facts-table th{font-weight:600;color:var(--charcoal);font-size:.82rem;background:var(--pdp-tint)}
.facts-table td:nth-child(2),.facts-table td:nth-child(3),.facts-table th:nth-child(2),.facts-table th:nth-child(3){text-align:right}
.facts-table .foot{padding:1rem 1.5rem 1.3rem;font-size:.8rem;color:var(--muted)}
.howto h3{font-size:1.5rem;margin-bottom:1rem}
.howto ol{list-style:none;display:grid;gap:1rem;margin:1.4rem 0}
.howto li{display:grid;grid-template-columns:40px 1fr;gap:1rem;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1.1rem 1.3rem;font-size:.94rem}
.howto li i{width:40px;height:40px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;font-family:var(--display)}
.howto .notes{font-size:.85rem;color:var(--muted)}
/* ---- comparison ---- */
/* ---- awards ---- */
.awards{display:flex;justify-content:center;align-items:center;gap:1.4rem 2.6rem;flex-wrap:wrap;margin-top:2rem}
.awards img{height:58px;width:auto;display:block}
.awards-cap{text-align:center;font-size:.78rem;color:var(--muted);margin-top:1rem}
/* ---- reviews ---- */
.reviews{background:var(--blush)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.6rem}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.7rem;box-shadow:var(--shadow-sm)}
.rev p{font-size:.95rem;margin:.8rem 0 1rem}
.rev footer{font-size:.82rem;color:var(--muted);font-weight:500}
/* ---- feme strip ---- */
footer.site{background:linear-gradient(150deg,#3E35A0 0%,#241E5C 55%,#181440 100%);color:#CBC7E8;font-size:.9rem;padding:3.5rem 0 2.2rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;margin-bottom:2.6rem}
.foot-grid img{height:30px;width:auto;margin-bottom:1.2rem}
.foot-grid h4{color:var(--peach);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;font-family:var(--body)}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:.6rem}
.foot-grid a{color:#DDD9F2}
.certs{display:flex;gap:.6rem;flex-wrap:wrap}
.certs span{border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:.35em .8em;font-size:.72rem}
.legal{border-top:1px solid rgba(255,255,255,.18);padding-top:1.5rem;font-size:.78rem;color:#A9A3D6;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,253,251,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:.7rem var(--gut);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.sticky-cta .p{font-size:.9rem;font-weight:600;color:var(--charcoal);line-height:1.3}
.sticky-cta .p small{display:block;font-weight:500;color:var(--muted);font-size:.75rem}
.sticky-cta .btn{min-height:46px;padding:0 1.6em;font-size:.92rem}
/* unified interaction states (studio standard) */
.btn:active{transform:scale(.97)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--pdp-focus-outline);outline-offset:2px}
@media (max-width:920px){
  /* ⛔ minmax(0,1fr), NOT 1fr. `1fr` is shorthand for `minmax(auto,1fr)`, and that `auto` minimum is
     the item's MIN-CONTENT width, so one wide child drags the whole column open and the grid stops
     being a 375px phone column. Measured on production 21/09/2026: children of `.buy` reported a
     min-content of 1060px, the column resolved to `grid-template-columns: 1107.12px` on a 375px
     viewport, and the PDP hero image rendered 1105px wide and clipped. `minmax(0,1fr)` lets the
     column go narrower than its content and the children shrink instead: .buy 1107 -> 335, hero
     image 1105 -> 333.
     ⚠️ `document.scrollWidth` stayed 375 throughout, so THE USUAL HORIZONTAL-OVERFLOW CHECK PASSES
     WHILE THE PAGE IS BROKEN. The content was clipped, not scrolling. Assert on the rendered width
     of .buy and the hero image, never on document overflow alone. */
  .pdp-grid,.facts-grid{grid-template-columns:minmax(0,1fr)}
  .gallery{position:static}
  .rev-grid{grid-template-columns:1fr}
  .rev-grid .rev:nth-child(3){display:none}
  .nav ul{display:none}
  .burger{display:block}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:921px){
  body{padding-bottom:0}
  .sticky-cta{display:none}
}
@media (max-width:520px){
  body{font-size:16px}
  .trust-strip{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .group{grid-template-columns:48px 1fr}
  .group img{width:48px;height:48px}
}
/* glass utility + premium touches */
.glass{background:rgba(255,253,251,.6);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-md)}
.foot-pay{font-size:.78rem;color:#A9A3D6;margin-bottom:1.2rem;letter-spacing:.03em}
/* video reels carousel (UGC/education placeholders) */
.vids{background:var(--warm-white)}
.vid-row{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(200px,23vw,260px);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:2.4rem var(--gut) .8rem;max-width:var(--max);margin:0 auto;scrollbar-width:none}
.vid{scroll-snap-align:start;position:relative;aspect-ratio:9/16;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(160deg,var(--lavender),var(--violet-050));border:1.5px dashed var(--violet-300);display:flex;align-items:flex-end;justify-content:center;padding:1rem;text-align:center}
.vid span{font-size:.74rem;color:var(--muted);font-weight:600;line-height:1.5}
.vid::before{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:52px;height:52px;border-radius:50%;background:rgba(255,253,251,.85);color:var(--violet);display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:var(--shadow-md)}
/* carousel arrows + hidden scrollbar */
.car{position:relative;max-width:var(--max);margin:0 auto;padding:0 clamp(52px,5vw,68px)}
@media (max-width:920px){
  .car{padding:0}
}
.car .vid-row{scrollbar-width:none;-ms-overflow-style:none;max-width:none}
.car .vid-row::-webkit-scrollbar{display:none}
.car-btn{position:absolute;top:38%;z-index:5;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(255,253,251,.92);backdrop-filter:blur(8px);color:var(--violet);font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:background .15s ease,color .15s ease}
.car-btn:hover{background:var(--pdp-accent);color:#fff}
.car-btn.prev{left:4px}
.car-btn.next{right:4px}
@media (max-width:920px){
  .car-btn{display:none}
}
.callout b{color:var(--charcoal)}
/* ===== WP INTEGRATION (zero-config): hide theme chrome, neutralize containers ===== */
.ct-header,[class*="ct-header"],.ct-footer,[class*="ct-footer"],#wp-toolbar~#page>header{display:none!important}
#main-container,main,article,[class*="ct-container"]{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important}
.entry-content{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important}
.entry-content>*{max-width:none}
.entry-header,.ct-page-title,.page-title,h1.page-title{display:none!important}
html,body{overflow-x:hidden;background:#FFFDFB}
body.admin-bar .luqua-header{top:32px}
.entry-content h1,.entry-content h2,.entry-content h3{font-family:'Playfair Display',Georgia,serif;color:#2C2C34}
@media (max-width:920px){
  .luqua-header .nav ul.open{display:grid;position:absolute;top:100%;left:0;right:0;background:#FFFDFB;border-bottom:1px solid #E7E1E6;padding:1rem var(--gut) 1.4rem;gap:.9rem;box-shadow:0 18px 44px rgba(83,71,192,.13)}
}
/* ---- brochure taglines + badge ---- */
.buy .hero-tag{margin:1.2rem 0;padding-left:1.1rem;border-left:3px solid var(--coral)}
.buy .tag-lead{font-family:var(--display);font-size:1.65rem;line-height:1.12;color:var(--pdp-tag-lead-color);margin-bottom:.4rem}
.buy .tag-sub{font-size:1.02rem;line-height:1.5;color:var(--ink);font-style:italic}
.gallery .main{position:relative}
.nohorm-badge{position:absolute;top:16px;right:16px;z-index:2;background:var(--coral);color:#fff;font-family:var(--body);font-weight:700;font-size:.8rem;line-height:1.12;text-align:center;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;transform:rotate(6deg);box-shadow:var(--shadow-coral)}
/* ---- stages ---- */
.stages{background:var(--blush)}
.stages .lead{margin-top:1rem;color:var(--ink);font-size:1.08rem}
.stage-grid{margin-top:2.8rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.stage-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem 1.8rem;box-shadow:var(--shadow-sm)}
.stage-card .st-num{font-family:var(--display);font-size:1.5rem;color:var(--coral)}
.stage-card .st-when{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:.45rem 0 .3rem;font-weight:600}
.stage-card b{display:block;font-family:var(--display);font-size:1.4rem;color:var(--charcoal);margin-bottom:.6rem}
.stage-card p{font-size:.95rem;line-height:1.6;color:var(--ink)}
@media (max-width:820px){
  .stage-grid{grid-template-columns:1fr}
}
.ticker span .tick-ic{width:15px;height:15px;margin-right:.45rem;vertical-align:-2px;opacity:.85;flex:0 0 15px}
.moments2{padding:0}
.moments2 .m2-hero{position:relative;border-radius:var(--r-xl,24px);overflow:hidden;min-height:640px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--pdp-m2-hero-box-shadow)}
.moments2 .m2-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 28%;z-index:0}
.moments2 .m2-scrim{position:absolute;inset:0;z-index:1;background:var(--pdp-m2-scrim-background)}
.moments2 .m2-head{position:relative;z-index:2;padding:clamp(1.7rem,3.2vw,3rem) clamp(1.5rem,3.2vw,3rem) 0}
.moments2 .m2-head h2{max-width:min(90%,30rem)}
.moments2 .m2-head .eyebrow{color:var(--pdp-eyebrow-color-2);margin-bottom:.55rem}
.moments2 .m2-head h2{font-family:var(--display);color:#fff;font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.12;font-weight:600;text-shadow:var(--pdp-h2-text-shadow)}
.moments2 .m2-panel{position:relative;z-index:2;margin:clamp(1.5rem,3vw,2.6rem);display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);border-radius:var(--r-lg,18px);overflow:hidden;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}
.moments2 .mo{background:rgba(26,17,48,.30);padding:1.3rem 1.45rem;display:flex;flex-direction:column;gap:.4rem}
.moments2 .mo-i{display:flex;color:var(--pdp-eyebrow-color-2);margin-bottom:.15rem}
.moments2 .mo-i svg{width:26px;height:26px}
.moments2 .mo-t{font-family:var(--display);color:#fff;font-size:1.18rem;font-weight:600}
.moments2 .mo-d{color:rgba(255,255,255,.92);font-size:.94rem;line-height:1.5}
@media (max-width:720px){
  .moments2 .m2-hero{min-height:560px}
  .moments2 .m2-panel{grid-template-columns:1fr}
  .moments2 .m2-head{max-width:none}
}
@media (max-width:1000px){
  .moments2 .m2-scrim{background:var(--pdp-m2-scrim-background-2)}
}
.breather{background:var(--warm-white);padding:clamp(2.4rem,4.5vw,3.6rem) 0}
.breather .br-in{max-width:38rem;margin:0 auto;text-align:center;padding:0 var(--gut,1.2rem)}
.breather .br-rule{width:44px;height:2px;background:var(--pdp-br-rule-background);margin:0 auto 1.6rem;border-radius:2px}
.breather .br-line{font-family:var(--display);font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.22;color:var(--charcoal);font-weight:500;letter-spacing:-.01em}
.breather .br-sub{margin-top:1rem;color:var(--muted);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.6}
.stages2{padding:0 0 var(--sy,4rem)}
.stages2 .s2-hero{position:relative;border-radius:var(--r-xl,24px);overflow:hidden;min-height:720px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 34px 66px rgba(24,16,48,.26)}
.stages2 .s2-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;z-index:0}
.stages2 .s2-scrim{position:absolute;inset:0;z-index:1;background:var(--pdp-s2-scrim-background)}
.stages2 .s2-head{position:relative;z-index:2;padding:clamp(1.7rem,3.2vw,3rem) clamp(1.5rem,3.2vw,3rem) 0}
.stages2 .s2-head .eyebrow{color:#F4CDD3;margin-bottom:.55rem}
.stages2 .s2-head h2{font-family:var(--display);color:#fff;font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.12;font-weight:600;max-width:min(92%,38rem);text-wrap:balance;text-shadow:var(--pdp-h2-text-shadow)}
.stages2 .s2-lead{color:rgba(255,255,255,.92);font-size:1.02rem;line-height:1.6;max-width:min(90%,30rem);margin-top:1rem;text-shadow:var(--pdp-s2-lead-text-shadow)}
.stages2 .s2-panel{position:relative;z-index:2;margin:clamp(1.5rem,3vw,2.6rem);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);border-radius:var(--r-lg,18px);overflow:hidden;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}
.stages2 .so{background:rgba(26,17,48,.32);padding:1.6rem 1.55rem;display:flex;flex-direction:column;gap:.55rem}
.stages2 .so-when{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:#F4CDD3;font-weight:600}
.stages2 .so-t{font-family:var(--display);color:#fff;font-size:1.35rem;font-weight:600;line-height:1.1}
.stages2 .so-d{color:rgba(255,255,255,.9);font-size:.92rem;line-height:1.55}
.stages2 .s2-note{max-width:44em;margin:clamp(1.6rem,3vw,2.3rem) auto 0;text-align:center;color:var(--muted);font-size:.95rem;line-height:1.6}
@media (max-width:820px){
  .stages2 .s2-panel{grid-template-columns:1fr}
}
.science .sci-for{display:block;color:var(--coral);font-weight:500;font-size:.98rem;line-height:1.35;margin:.2rem 0 .55rem}
.formula-band .roles2{max-width:1080px;margin:clamp(2rem,4vw,3rem) auto 0;display:grid;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);gap:clamp(1.5rem,4vw,3.2rem);align-items:start;text-align:left}
.formula-band .roles2-media{margin:0}
.formula-band .roles2-media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%;display:block;border-radius:20px;border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 48px rgba(0,0,0,.28)}
.formula-band .roles2-media figcaption{margin:.7rem 4px 0;font-size:.72rem;letter-spacing:.05em;color:rgba(255,255,255,.6)}
.formula-band .roles2-list{margin:0;padding:0;list-style:none}
.formula-band .roles2-list li{padding:1.05rem 0;border-top:1px solid rgba(255,255,255,.18)}
.formula-band .roles2-list li:first-child{border-top:0;padding-top:0}
.formula-band .roles2-list .rl-tag{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--pdp-eyebrow-color);margin:0 0 .32rem}
.formula-band .roles2-list .rl-num{margin-right:.55rem;opacity:.85;font-variant-numeric:tabular-nums}
.formula-band .roles2-list .rl-ing{display:block;font-family:var(--display,'Playfair Display',serif);font-size:1.16rem;line-height:1.25;color:var(--warm-white);font-weight:500;margin:0 0 .35rem}
.formula-band .roles2-list .rl-desc{margin:0;font-size:.9rem;line-height:1.6;color:var(--pdp-lead-color)}
@media (max-width:860px){
  .formula-band .roles2{grid-template-columns:1fr;gap:1.4rem}
  .formula-band .roles2-media img{aspect-ratio:4/3;border-radius:16px}
}
.evi2{margin-top:clamp(2.6rem,5vw,4rem)}
.evi2 .e2-hero{position:relative;border-radius:var(--r-xl,24px);overflow:hidden;box-shadow:var(--pdp-m2-hero-box-shadow)}
.evi2 .e2-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pdp-evidence-photo-position);z-index:0}
.evi2 .e2-scrim{position:absolute;inset:0;z-index:1;background:var(--pdp-e2-scrim-background)}
.evi2 .e2-head{position:relative;z-index:2;text-align:center;padding:clamp(1.8rem,3.4vw,3rem) clamp(1.4rem,3vw,2.6rem) 0}
.evi2 .e2-head .eyebrow{color:var(--pdp-eyebrow-color-2);margin-bottom:.5rem}
.evi2 .e2-head h3{font-family:var(--display);color:#fff;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.14;font-weight:600;margin:0 auto;max-width:20em;text-shadow:var(--pdp-h2-text-shadow)}
.evi2 .e2-panel{position:relative;z-index:2;margin:clamp(1.4rem,3vw,2.6rem);border-radius:var(--r-lg,18px);overflow:hidden;background:var(--pdp-e2-panel-background);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35)}
.evi2 .e2-table{width:100%;border-collapse:collapse;background:transparent;border:0}
.evi2 .e2-table th,.evi2 .e2-table td{border:0;text-align:left;vertical-align:top;padding:1.02rem clamp(1.1rem,2vw,1.7rem)}
.evi2 .e2-table thead th{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--pdp-eyebrow-color-2);padding-top:1.25rem;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.26)}
.evi2 .e2-table td{font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.9);border-bottom:1px solid rgba(255,255,255,.13)}
.evi2 .e2-table tbody tr:last-child td{border-bottom:0}
.evi2 .e2-table td:first-child{font-family:var(--display);font-size:1.12rem;line-height:1.2;font-weight:500;color:#fff}
.evi2 .e2-table td:nth-child(2){color:rgba(255,255,255,.72)}
.evi2 .e2-src{margin:0;padding:1rem clamp(1.3rem,4vw,1.7rem) 1.15rem;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.68);font-size:.8rem;line-height:1.55;text-align:center}
@media (max-width:720px){
  .evi2 .e2-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .evi2 .e2-table tr{display:block;padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.15)}
  .evi2 .e2-table tbody tr:last-child{border-bottom:0}
  .evi2 .e2-table td{display:block;border:0;padding:.05rem clamp(1.3rem,5vw,1.6rem)}
  .evi2 .e2-table td+td{margin-top:.55rem}
  .evi2 .e2-table td:first-child{font-size:1.2rem;margin-bottom:.5rem;padding-top:.2rem}
  .evi2 .e2-table td:not(:first-child)::before{content:attr(data-label);display:block;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--pdp-eyebrow-color-2);margin-bottom:.2rem}
}
.facts .rwrap{max-width:1120px;margin:0 auto;padding:0 var(--gut,1.2rem)}
.facts .ritual-intro{text-align:center;max-width:40em;margin:0 auto}
.facts .ritual-intro h3{font-family:var(--display,'Playfair Display',serif);font-size:clamp(1.7rem,1.1rem + 2.2vw,2.3rem);color:var(--charcoal,#2c2c34);margin:.4rem 0 0;line-height:1.15;font-weight:600}
.facts .ritual-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,1.8rem);margin:clamp(2rem,4vw,3rem) 0 0}
.facts .rstep{display:flex;flex-direction:column}
.facts .rstep-ph{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;box-shadow:var(--pdp-rstep-ph-box-shadow)}
.facts .rstep-ph img{width:100%;height:100%;object-fit:cover;display:block}
.facts .rstep-num{position:absolute;top:14px;left:14px;z-index:2;width:38px;height:38px;border-radius:50%;background:var(--pdp-crosssell-btn-bg);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display,'Playfair Display',serif);font-size:1.15rem;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.facts .rstep p{margin:1rem 0 0;font-size:.98rem;line-height:1.55;color:var(--charcoal,#2c2c34)}
.facts .ritual-note{max-width:46em;margin:1.4rem auto 0;text-align:center;font-size:.9rem;line-height:1.65;color:var(--muted,#6E6E7A)}
.facts .ritual-note.first{margin-top:clamp(1.9rem,3.5vw,2.6rem)}
.facts .nutri{max-width:760px;margin:clamp(2.4rem,5vw,3.6rem) auto 0;border:var(--pdp-nutri-border);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 18px 40px rgba(44,44,52,.07)}
.facts .nutri h3{margin:0;padding:1.2rem 1.4rem;font-family:var(--display,'Playfair Display',serif);font-size:1.2rem;color:var(--charcoal,#2c2c34);border-bottom:var(--pdp-h3-border-bottom);font-weight:600}
.facts .nutri table{width:100%;border-collapse:collapse;border:0;font-size:.92rem}
.facts .nutri th,.facts .nutri td{border:0;padding:.8rem 1.4rem;text-align:right;border-bottom:var(--pdp-th-border-bottom)}
.facts .nutri th:first-child,.facts .nutri td:first-child{text-align:left;color:var(--charcoal,#2c2c34)}
.facts .nutri td{color:var(--ink,#4a4a55)}
.facts .nutri thead th{background:var(--pdp-tint);font-weight:600;color:var(--charcoal,#2c2c34);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}
.facts .nutri tbody tr:last-child td{border-bottom:0}
.facts .nutri .foot{margin:0;padding:.9rem 1.4rem;font-size:.8rem;color:var(--muted,#6E6E7A);border-top:var(--pdp-h3-border-bottom);background:var(--pdp-foot-background)}
.facts .ritual-allergen{max-width:760px;margin:1.4rem auto 0}
@media (max-width:720px){
  .facts .ritual-steps{grid-template-columns:1fr;gap:1.3rem;max-width:24rem;margin-left:auto;margin-right:auto}
  .facts .nutri th,.facts .nutri td{padding:.7rem 1rem}
}
.faq{padding:clamp(3rem,7vw,5.5rem) clamp(1.1rem,4vw,2rem);background:var(--warm-white,#FFFDFB)}
.faq .faq-wrap{max-width:760px;margin:0 auto}
.faq .eyebrow{font-family:var(--body,'Montserrat',sans-serif);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#782B90;margin:0 0 .8rem;text-align:center}
.faq h2{font-family:var(--display,'Playfair Display',serif);font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.15;color:#1a1030;margin:0 0 2rem;font-weight:600;text-align:center}
/* FemeLuv lane. Coral is reserved for FemeLuv (DESIGN-SYSTEM.md 2.1). */
.feme-moments .m2-hero{background:linear-gradient(135deg,#FF6D6B 0%,#E2545F 55%,#C4414E 100%)}
.ing-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.3);border-radius:var(--r-lg,18px);overflow:hidden;margin-top:clamp(1.6rem,3vw,2.4rem)}
.ing-list div{background:rgba(26,17,48,.26);padding:1.05rem .9rem;text-align:center;font-size:.96rem;color:#fff;display:flex;align-items:center;justify-content:center;min-height:64px;line-height:1.35}
.ing-list div b{font-weight:600}
.ing-note{margin-top:1.1rem;font-size:.9rem;color:rgba(255,255,255,.86);text-align:center}
@media (max-width:900px){
  .ing-list{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
  .ing-list{grid-template-columns:repeat(2,1fr)}
  .ing-list div{font-size:.9rem;min-height:58px}
}
.nutri{width:100%;border-collapse:collapse;margin-top:1.4rem;font-size:.95rem}
.nutri th,.nutri td{border:0;border-bottom:1px solid rgba(0,0,0,.09);padding:.62rem .4rem;text-align:right}
.nutri th:first-child,.nutri td:first-child{text-align:left}
.nutri thead th{font-weight:600;color:var(--muted,#6b6b78);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.nutri tbody tr:last-child td{border-bottom:0}
.allergen{margin-top:1.5rem;padding:1rem 1.15rem;border-radius:14px;background:var(--coral-050,#FFF3F4);border:1px solid var(--coral-100,#FFE3E6);font-size:.94rem;line-height:1.6}
.allergen b{color:#A6385A}
.causes2{padding:0 0 var(--sy,4rem)}
.causes2 .c2-hero{position:relative;border-radius:var(--r-xl,24px);overflow:hidden;min-height:700px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 34px 66px rgba(48,18,32,.26);background:linear-gradient(135deg,#FF6D6B 0%,#E2545F 55%,#C4414E 100%)}
.causes2 .c2-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% 30%;z-index:0}
.causes2 .c2-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(92deg,rgba(42,13,26,.88) 0%,rgba(42,13,26,.66) 40%,rgba(42,13,26,.36) 66%,rgba(42,13,26,.18) 84%,rgba(42,13,26,.08) 100%),linear-gradient(180deg,rgba(42,13,26,.5) 0%,rgba(42,13,26,.06) 24%,rgba(42,13,26,.1) 50%,rgba(42,13,26,.88) 100%)}
.causes2 .c2-head{position:relative;z-index:2;padding:clamp(1.7rem,3.2vw,3rem) clamp(1.5rem,3.2vw,3rem) 0}
.causes2 .c2-head .eyebrow{color:#FFD5D2;margin-bottom:.55rem}
.causes2 .c2-head h2{font-family:var(--display);color:#fff;font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.12;font-weight:600;max-width:min(92%,30rem);text-wrap:balance;text-shadow:0 2px 24px rgba(42,13,26,.55)}
.causes2 .c2-lead{color:rgba(255,255,255,.92);font-size:1.02rem;line-height:1.6;max-width:min(90%,28rem);margin-top:1rem;text-shadow:0 1px 16px rgba(42,13,26,.6)}
.causes2 .c2-panel{position:relative;z-index:2;margin:clamp(1.5rem,3vw,2.6rem);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);border-radius:var(--r-lg,18px);overflow:hidden;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}
.causes2 .ca{background:rgba(48,17,32,.32);padding:1.6rem 1.55rem;display:flex;flex-direction:column;gap:.55rem}
.causes2 .ca-when{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:#FFD5D2;font-weight:600}
.causes2 .ca-t{font-family:var(--display);color:#fff;font-size:1.35rem;font-weight:600;line-height:1.1}
.causes2 .ca-d{color:rgba(255,255,255,.9);font-size:.92rem;line-height:1.55}
.causes2 .c2-note{max-width:44em;margin:clamp(1.6rem,3vw,2.3rem) auto 0;text-align:center;color:var(--muted);font-size:.95rem;line-height:1.6}
@media (max-width:820px){
  .causes2 .c2-hero{min-height:620px}
  .causes2 .c2-panel{grid-template-columns:1fr}
  .causes2 .c2-scrim{background:linear-gradient(92deg,rgba(42,13,26,.88) 0%,rgba(42,13,26,.72) 42%,rgba(42,13,26,.52) 72%,rgba(42,13,26,.40) 100%),linear-gradient(180deg,rgba(42,13,26,.5) 0%,rgba(42,13,26,.06) 24%,rgba(42,13,26,.1) 50%,rgba(42,13,26,.88) 100%)}
}
/* .sci-* and .science are shared child-theme rules and are MenoLuv-violet by default. These three
   declarations put this page in its own colour. .evi2 is NOT redefined here: tools/68 already
   copied that block into this page's head, and tools/82 recolours it in place. */
.page .entry-content .science{background:var(--pdp-science-bg)}
.page .entry-content .sci-photo{box-shadow:var(--pdp-science-photo-shadow)}
.page .entry-content .sci-grid .sci-ic{background:var(--pdp-tint);color:var(--pdp-science-icon)}
.mid-cta{text-align:center;padding:clamp(2.4rem,6vw,4rem) var(--gut,1.2rem);background:var(--warm-white,#FFFDFB)}
.mid-cta__lead{font-family:var(--display,'Playfair Display',serif);font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--charcoal,#2c2c34);margin:0 auto 1.2rem;max-width:20em;line-height:1.25}
.mid-cta__btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 2.2rem;border-radius:999px;background:var(--pdp-mid-cta-btn-background);color:var(--pdp-mid-cta-btn-color);font-family:var(--body,'Montserrat',sans-serif);font-weight:600;font-size:1rem;text-decoration:none;transition:background .18s ease}
.mid-cta__btn:hover{background:var(--pdp-mid-cta-btn-hover-background);color:var(--pdp-mid-cta-btn-color)}
.mid-cta__btn:focus-visible{outline:2px solid var(--pdp-mid-cta-btn-background);outline-offset:3px}
.mid-cta__note{margin:.85rem 0 0;font-size:.85rem;color:var(--muted,#8a8391)}

/* Phone plan picker: price and saving move under the plan instead of a squeezed right-hand column.
   MUST stay after the base `.pick{grid-template-columns:auto 1fr auto}` above. On the FemeLuv page it sat
   before it, so the base rule won and left an empty third column plus a 16px gap, narrowing the plan text
   on every phone. MenoLuv had the right order. Found 2026-09-18 when both moved onto this file. */
@media (max-width:520px){
  .pick{grid-template-columns:auto minmax(0,1fr)}
  .pick .p{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;text-align:left}
  .pick .p s,.pick .p i{margin:0}
  .price small{display:block;margin-top:.15rem}
}

/* ==========================================================================================
   Template components added 2026-09-18 for pack pages (Mother & Daughter onto the PDP template).
   ========================================================================================== */

/* Photo breather: the same pause as `.breather`, over a photograph. The photo comes in as `--br-photo` on
   the element, so the page chooses the picture and this file owns how it sits. With text, a deep scrim keeps
   the line legible on any photo (the 14/09 rule: behind text, calm and legible first). With no text
   (`.breather--photo-only`) it is a pure visual pause and the scrim is only a whisper. */
.breather--photo{position:relative;background:var(--charcoal,#2C2C34) var(--br-photo) center/cover no-repeat;
  padding:clamp(4.2rem,9vw,7.5rem) 0;isolation:isolate}
.breather--photo::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(24,16,48,.38) 0%,rgba(24,16,48,.62) 100%)}
.breather--photo .br-rule{background:rgba(255,253,251,.7)}
.breather--photo .br-line{color:#FFFDFB;text-shadow:0 2px 24px rgba(24,16,48,.45)}
.breather--photo .br-sub{color:rgba(255,253,251,.9)}
.breather--photo-only{min-height:clamp(280px,42vw,520px);padding:0}
.breather--photo-only::before{background:linear-gradient(180deg,rgba(24,16,48,0) 60%,rgba(24,16,48,.18) 100%)}

/* Pack switch: the product switch INSIDE each pack section, at its heading (owner 2026-09-19: "it should show
   inside the section, not seperate"). Every switch on the page is synced, see [luqua_pack_tabs]. Each option wears
   its product's palette, so the selected one fills with that product's own accent. Two finishes: light sections
   (science, how-to, journey) and dark bands (survey, formula). */
.pk-panel[hidden]{display:none}
/* The ticker's bottom spacing is cancelled by the survey component when the survey band follows it directly
   (`.ticker:has(~ .luqua-stats)`). On a pack page the band sits inside this wrapper, so that selector never
   matched and left a 56px strip between ticker and survey (owner 2026-09-19). Same cancel, for the wrapper. */
.entry-content .ticker:has(~ .pack-tabs--stats){margin-bottom:0!important}
.pk-switch{display:flex;width:max-content;max-width:100%;gap:4px;padding:4px;margin:0 auto clamp(1rem,2vw,1.4rem);border-radius:999px}
.pk-switch--light{background:#fff;border:1px solid var(--line,#E7E1E6);box-shadow:0 6px 18px rgba(24,16,48,.06)}
.pk-switch--dark{background:rgba(255,253,251,.1);border:1px solid rgba(255,253,251,.24);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.pk-opt{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.5rem 1.15rem .55rem;border:0;border-radius:999px;
  background:transparent;cursor:pointer;text-align:left;line-height:1.15;transition:background-color .18s ease,color .18s ease}
.pk-opt .pk-tag{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.pk-opt .pk-name{font-family:var(--display,'Playfair Display',Georgia,serif);font-size:1rem;font-weight:600}
.pk-switch--light .pk-opt{color:var(--charcoal,#2C2C34)}
/* White text and small labels take each product's BUTTON colour, not its accent: FemeLuv's accent is its bright
   pack coral, which cannot carry white or small text (DESIGN-SYSTEM 2.1); its buttons are wine for that reason. */
.pk-switch--light .pk-opt .pk-tag{color:var(--pdp-mid-cta-btn-background)}
.pk-switch--light .pk-opt:hover{background:var(--pdp-tint)}
.pk-switch--light .pk-opt.is-on{background:var(--pdp-mid-cta-btn-background);color:#FFFDFB}
.pk-switch--light .pk-opt.is-on .pk-tag{color:rgba(255,253,251,.82)}
.pk-switch--dark .pk-opt{color:rgba(255,253,251,.86)}
.pk-switch--dark .pk-opt .pk-tag{color:rgba(255,253,251,.62)}
.pk-switch--dark .pk-opt:hover{background:rgba(255,253,251,.12)}
.pk-switch--dark .pk-opt.is-on{background:#FFFDFB;color:var(--charcoal,#2C2C34)}
.pk-switch--dark .pk-opt.is-on .pk-tag{color:var(--pdp-mid-cta-btn-background)}
.pk-opt:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media (max-width:520px){
  .pk-opt{padding:.45rem .9rem .5rem}
  .pk-opt .pk-name{font-size:.94rem}
}

/* Chapter cards with a photograph (pack pages): each chapter shows the woman it is about, using the product's own
   approved moments photo. The photo sits under the card's colour rule and bleeds to the card edges. */
.md-col.has-photo{padding:0;overflow:hidden}
.md-col .md-photo{display:block;width:100%;max-width:100%;aspect-ratio:16/10;object-fit:cover}
.md-col .md-col-in{padding:clamp(1.3rem,2.8vw,1.8rem)}

/* FAQ group labels: a pack's FAQ carries the pack's own questions, then each product's key questions pulled live
   from its page, one accordion with a quiet label over each group. */
.faq-wrap .faq-group{margin:clamp(1.6rem,3vw,2.2rem) 0 .4rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted,#6E6E7A)}
.faq-wrap .faq-group:first-of-type{margin-top:1.2rem}
/* the same two colours the chapter tags use: legible at this size, which FemeLuv's brighter pack coral is not */
.faq-wrap .faq-group--menoluv{color:#5347C0}
.faq-wrap .faq-group--femeluv{color:#C8424E}
