@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&display=swap');

:root{--b:#0b0b0b;--w:#fff;--m:#666;--l:#ddd;--s:#f7f7f5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--b);background:#fff;font-size:18px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.container{width:min(1240px,calc(100% - 40px));margin:auto}.hide{display:none!important}
.top{background:#111;color:#fff;text-align:center;padding:8px 14px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--l)}.nav{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.navlinks,.actions{display:flex;gap:24px;align-items:center;font-size:15px;font-weight:700}.actions{justify-self:end}.brand{font-size:26px;font-weight:800;letter-spacing:-.04em}.nav button,.actions button{background:none;border:0;padding:0;color:inherit}.count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:1px solid #111;border-radius:999px;font-size:11px;margin-left:4px}.count.pop{animation:pop .5s ease}@keyframes pop{40%{transform:scale(1.45)}}
.view{display:none;opacity:0}.view.active{display:block;opacity:1}.fadein{animation:fi .45s ease}.fadeout{animation:fo .2s ease}@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fo{to{opacity:0}}
.hero{background:#111;color:#fff}.heroGrid{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;padding:66px 0}.kicker{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#bbb}.hero h1{font-size:clamp(56px,7vw,92px);line-height:.98;letter-spacing:-.06em;margin:14px 0 22px}.hero p{font-size:19px;color:#d0d0d0;max-width:760px}.heroBtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{min-height:50px;padding:0 20px;border:1px solid #111;background:#111;color:#fff;font-weight:800}.btn.light{background:#fff;color:#111;border-color:#fff}.btn.ghost{background:transparent;border-color:#fff;color:#fff}.trust{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #333;padding-top:18px;margin-top:30px;color:#c7c7c7;font-size:14px}.side{display:grid;gap:12px}.stat{padding:28px;background:#fff;color:#111;display:flex;flex-direction:column;justify-content:flex-end}.stat.dark{background:#181818;color:#fff;border:1px solid #444}.stat strong{font-size:34px;line-height:1.05}.stat p{font-size:15px;color:#666;margin:10px 0 0}.stat.dark p{color:#ccc}
.strip{border-bottom:1px solid var(--l)}.stripGrid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--l)}.stripGrid>div{padding:20px;border-right:1px solid var(--l)}.stripGrid strong{display:block;font-size:15px}.stripGrid span{font-size:14px;color:var(--m)}
.section{padding:50px 0;border-bottom:1px solid var(--l)}.two{display:grid;grid-template-columns:1fr 1fr;gap:42px}.panel{border:1px solid #111}.panelHead{background:#111;color:#fff;padding:14px 16px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.line{padding:20px;border-bottom:1px solid var(--l)}.line:last-child{border-bottom:0}.line strong{display:block;font-size:18px}.line p{margin:5px 0 0;color:var(--m);font-size:15px}.section h2{font-size:clamp(38px,4.5vw,58px);line-height:1.03;letter-spacing:-.05em;margin:10px 0 18px}.section p{color:var(--m);font-size:17px}.points{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--l);border-top:1px solid var(--l);margin-top:26px}.points>div{padding:16px;border-right:1px solid var(--l);border-bottom:1px solid var(--l)}.points strong{display:block}.points span{font-size:14px;color:var(--m)}
.rangeHead{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:22px}.rangeHead p{max-width:440px;margin:0}.productList{border-top:1px solid #111}.productRow{width:100%;display:grid;grid-template-columns:1fr auto 38px;gap:22px;align-items:center;padding:21px 0;background:#fff;border:0;border-bottom:1px solid var(--l);text-align:left}.productRow strong{font-size:21px}.productRow span{display:block;color:var(--m);font-size:14px}.pprice{font-size:17px;font-weight:800;white-space:nowrap}.arrow{font-size:24px}
.callout{background:#111;color:#fff;padding:48px 0}.callout p{color:#d0d0d0}.about{padding:48px 0;border-bottom:1px solid var(--l)}
.crumb{background:#111;color:#fff;padding:12px 0;font-size:14px}.productPage{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;padding:44px 0}.mainImg{min-height:560px;background:var(--s);border:1px solid var(--l);overflow:hidden}.mainImg img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.pinfo h1{font-size:clamp(48px,5vw,70px);line-height:.98;letter-spacing:-.05em;margin:10px 0 14px}.pinfo .sub{color:var(--m);font-size:18px}.priceLine{font-size:28px;font-weight:800;border-top:1px solid var(--l);border-bottom:1px solid var(--l);padding:18px 0;margin:22px 0}.field{margin-top:16px}.field label{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.field select,.field input{width:100%;min-height:50px;border:1px solid #ccc;padding:12px 13px;background:#fff}.pactions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:16px}.note,.mini{border:1px solid var(--l);padding:14px;margin-top:14px;font-size:14px}.miniGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail{padding:48px 0;border-top:1px solid var(--l);border-bottom:1px solid var(--l)}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--l);border-top:1px solid var(--l);margin:26px 0}.fact{padding:18px;border-right:1px solid var(--l);border-bottom:1px solid var(--l)}.fact strong{display:block;font-size:14px}.fact span{font-size:15px;color:var(--m)}details{border-bottom:1px solid var(--l)}summary{padding:17px 0;font-weight:800;cursor:pointer}.detailText{padding:0 0 16px;color:var(--m);font-size:15px}
.profHero{background:#111;color:#fff}.profGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;padding:62px 0}.profHero h1{font-size:clamp(54px,6vw,82px);line-height:1;letter-spacing:-.055em;margin:10px 0}.profHero p{color:#d0d0d0;font-size:18px}.profNote{background:#fff;color:#111;padding:28px}.cards4,.steps{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--l);border-top:1px solid var(--l)}.card,.step{padding:20px;border-right:1px solid var(--l);border-bottom:1px solid var(--l)}.step{min-height:180px}.stepNum{width:30px;height:30px;border:1px solid #111;border-radius:50%;display:grid;place-items:center;font-weight:800;margin-bottom:10px}.deliveryOpts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.deliveryCard{border:1px solid var(--l);padding:24px}.deliveryCard.dark{background:#111;color:#fff}.deliveryCard.dark p{color:#ccc}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;visibility:hidden;z-index:49}.overlay.open{opacity:1;visibility:visible}.drawer{position:fixed;right:0;top:0;width:min(470px,100%);height:100vh;background:#fff;z-index:50;transform:translateX(100%);transition:.25s;display:grid;grid-template-rows:auto 1fr auto}.drawer.open{transform:none}.dhead{height:74px;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.dhead button{background:none;border:0;color:#fff;font-size:24px}.items{overflow:auto;padding:0 20px}.cartItem{display:grid;grid-template-columns:82px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--l)}.cartItem img{width:82px;height:82px;object-fit:cover;filter:grayscale(100%)}.qty{display:inline-flex;border:1px solid var(--l)}.qty button{width:30px;height:30px;border:0;background:#fff}.qty span{width:34px;display:grid;place-items:center}.remove{border:0;background:none;text-decoration:underline;padding:0;font-size:12px;color:var(--m)}.dfoot{border-top:1px solid var(--l);padding:18px 20px}.total{display:flex;justify-content:space-between;font-size:20px;font-weight:800;margin-bottom:12px}
.search{position:fixed;left:50%;top:16px;transform:translate(-50%,-120%);width:min(860px,calc(100% - 30px));background:#fff;z-index:55;border:1px solid var(--l);transition:.25s}.search.open{transform:translate(-50%,0)}.shead{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--l)}.shead button{border:0;background:none;font-size:24px}.sinput{padding:16px 20px;border-bottom:1px solid var(--l)}.sinput input{width:100%;height:52px;border:1px solid #ccc;padding:0 14px}.results{max-height:430px;overflow:auto}.result{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--l)}.result img{width:72px;height:72px;object-fit:cover;filter:grayscale(100%)}
.checkout{padding:46px 0}.checkoutShell{display:grid;grid-template-columns:250px 1fr;gap:28px}.stepNav{border:1px solid var(--l)}.stepLabel{padding:14px 16px;border-bottom:1px solid var(--l);font-size:15px}.stepLabel.active{font-weight:800;background:#fafafa}.checkoutCard{border:1px solid var(--l);padding:30px}.checkoutCard h1{font-size:clamp(44px,5vw,64px);line-height:1;margin:0 0 8px}.checkoutStep{display:none}.checkoutStep.active{display:block}.basketLine{display:grid;grid-template-columns:88px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--l)}.basketLine img{width:88px;height:88px;object-fit:cover;filter:grayscale(100%)}.check{display:flex;gap:10px;border:1px solid var(--l);padding:16px;margin:10px 0}.deliveryOne{display:grid;grid-template-columns:auto 1fr auto;gap:12px;border:1px solid #111;padding:18px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formField.full{grid-column:1/-1}.formField label{display:block;font-size:13px;font-weight:800;text-transform:uppercase;margin-bottom:5px}.formField input{width:100%;height:50px;border:1px solid #ccc;padding:0 12px}.summary{border-top:1px solid var(--l);margin-top:16px}.sum{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--l)}.sum.big{font-size:20px;font-weight:800}
footer{background:#111;color:#fff;padding:60px 0 28px}.footerGrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:46px}.footerBrand{font-size:36px;font-weight:800}.footer p,.footerGrid p{color:#bbb}.footerCol h4{font-size:13px;text-transform:uppercase}.footerCol a{display:block;color:#ccc;margin:9px 0;font-size:14px}.footerBottom{border-top:1px solid #333;margin-top:38px;padding-top:18px;color:#999;font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:950px){.heroGrid,.two,.profGrid,.productPage,.checkoutShell{grid-template-columns:1fr}.stripGrid,.cards4,.steps{grid-template-columns:1fr 1fr}.side{grid-template-columns:1fr 1fr}.productPage{gap:26px}.footerGrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){body{font-size:16px}.container{width:min(100% - 24px,1240px)}.navlinks{display:none}.brand{font-size:21px}.heroGrid{padding:44px 0}.hero h1{font-size:46px}.side,.stripGrid,.cards4,.steps,.points,.facts,.deliveryOpts,.formGrid,.footerGrid{grid-template-columns:1fr}.rangeHead{align-items:flex-start;flex-direction:column}.productRow{grid-template-columns:1fr auto}.arrow{display:none}.pactions,.miniGrid{grid-template-columns:1fr}.mainImg{min-height:380px}.productPage{padding:28px 0}.checkoutCard{padding:20px}}

/* =========================================================
   SOFT LUXURY REDESIGN — LESS BLOCKY, MORE OPEN
   ========================================================= */
:root{
  --b:#111;
  --w:#fff;
  --m:#747474;
  --l:#eceae6;
  --s:#f8f7f4;
  --warm:#f4f1ec;
}
body{
  background:#fff;
  color:#111;
  font-size:18px;
  line-height:1.7;
}
.container{
  width:min(1180px,calc(100% - 56px));
}
.top{
  font-size:12px;
  letter-spacing:.14em;
  padding:7px 14px;
}
header{
  border-bottom:0;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.nav{
  height:84px;
}
.brand{
  font-size:27px;
  font-weight:700;
}
.navlinks,.actions{
  gap:28px;
  font-size:14px;
  font-weight:600;
}

/* HOME HERO */
.hero{
  background:#111;
}
.heroGrid{
  grid-template-columns:1.25fr .75fr;
  gap:60px;
  padding:82px 0 76px;
}
.hero h1{
  font-size:clamp(58px,7vw,88px);
  line-height:1;
  letter-spacing:-.055em;
}
.hero p{
  max-width:720px;
  font-size:18px;
  line-height:1.7;
}
.kicker{
  font-size:12px;
  letter-spacing:.14em;
}
.heroBtns{
  margin-top:34px;
}
.btn{
  min-height:52px;
  border-radius:0;
  padding:0 22px;
  font-size:13px;
  letter-spacing:.05em;
}
.trust{
  gap:28px;
  font-size:13px;
  border-top:1px solid rgba(255,255,255,.18);
  margin-top:34px;
  padding-top:20px;
}
.side{
  gap:18px;
}
.stat{
  padding:32px;
  border:0 !important;
}
.stat.dark{
  background:#191919;
  border:0 !important;
}
.stat strong{
  font-size:31px;
}
.stat p{
  font-size:14px;
}

/* REMOVE BLOCKY STRIP FEEL */
.strip{
  border-bottom:0;
  background:#faf9f7;
}
.stripGrid{
  border:0;
  gap:28px;
  padding:26px 0;
}
.stripGrid>div{
  padding:0;
  border:0;
}
.stripGrid strong{
  font-size:14px;
}
.stripGrid span{
  font-size:13px;
}

/* GENERAL OPEN SECTIONS */
.section{
  padding:78px 0;
  border-bottom:0;
}
.section:nth-of-type(even){
  background:#faf9f7;
}
.two{
  gap:70px;
}
.section h2{
  font-size:clamp(40px,4.6vw,58px);
  margin:10px 0 22px;
}
.section p{
  max-width:760px;
}

/* WHY ATERA / PANELS — remove boxes */
.panel{
  border:0;
  background:transparent;
}
.panelHead{
  background:transparent;
  color:#111;
  padding:0 0 16px;
  border-bottom:1px solid #d8d5cf;
  font-size:12px;
  letter-spacing:.14em;
}
.line{
  padding:22px 0;
  border-bottom:1px solid #e5e2dc;
}
.line strong{
  font-size:18px;
}
.line p{
  max-width:600px;
  font-size:15px;
}
.points{
  border:0;
  gap:22px 36px;
  margin-top:30px;
}
.points>div{
  border:0;
  padding:0;
}
.points strong{
  font-size:15px;
}
.points span{
  display:block;
  margin-top:4px;
}

/* PRODUCT LIST — calm luxury */
.rangeHead{
  margin-bottom:30px;
}
.productList{
  border-top:1px solid #d9d6d0;
}
.productRow{
  padding:26px 0;
  border-bottom:1px solid #e8e5df;
  background:transparent;
}
.productRow strong{
  font-size:20px;
}
.productRow span{
  font-size:13px;
}
.pprice{
  font-size:16px;
}
.arrow{
  font-size:20px;
}

/* CALLOUT */
.callout{
  padding:72px 0;
  background:#111;
}
.callout .two{
  align-items:center;
}
.callout h2{
  margin-bottom:0;
}

/* ABOUT */
.about{
  padding:72px 0;
  border-bottom:0;
}

/* PRODUCT PAGE */
.crumb{
  padding:14px 0;
}
.productPage{
  gap:62px;
  padding:62px 0 72px;
}
.mainImg{
  min-height:600px;
  border:0;
  background:#f5f4f1;
}


.pinfo h1{
  font-size:clamp(48px,5vw,66px);
  margin:12px 0 18px;
}
.pinfo .sub{
  font-size:17px;
}
.priceLine{
  border-top:1px solid #dedbd5;
  border-bottom:1px solid #dedbd5;
  padding:20px 0;
}
.field select,.field input{
  border:0;
  border-bottom:1px solid #c9c6bf;
  background:transparent;
  padding-left:0;
}
.pactions{
  margin-top:22px;
}
.note{
  border:0;
  background:#faf9f7;
  padding:16px 18px;
}
.miniGrid{
  gap:22px;
}
.mini{
  border:0;
  border-top:1px solid #ddd9d2;
  padding:16px 0 0;
}
.detail{
  padding:72px 0;
  border-top:0;
  border-bottom:0;
  background:#faf9f7;
}
.facts{
  border:0;
  gap:30px;
  margin:34px 0;
}
.fact{
  border:0;
  padding:0;
}
details{
  border-bottom:1px solid #dedbd5;
}
summary{
  padding:20px 0;
}

/* PROFESSIONAL + STORY */
.profHero{
  background:#111;
}
.profGrid{
  gap:70px;
  padding:78px 0;
}
.profHero h1{
  font-size:clamp(54px,6vw,78px);
}
.profNote{
  padding:30px;
  border:0;
}
.cards4,.steps{
  border:0;
  gap:30px;
}
.card,.step{
  border:0;
  padding:0;
  min-height:auto;
}
.card{
  border-top:1px solid #dcd9d3;
  padding-top:18px;
}
.card strong{
  font-size:17px;
}
.step{
  border-top:1px solid #dcd9d3;
  padding-top:18px;
}
.stepNum{
  margin-bottom:14px;
}
.deliveryOpts{
  gap:22px;
}
.deliveryCard{
  border:0;
  padding:26px;
  background:#f7f5f1;
}
.deliveryCard.dark{
  background:#111;
}
.profNote p{
  color:#666;
}

/* CHECKOUT */
.checkout{
  padding:64px 0 78px;
}
.checkoutShell{
  gap:36px;
}
.stepNav{
  border:0;
}
.stepLabel{
  border-bottom:1px solid #e4e1da;
  padding:16px 0;
}
.stepLabel.active{
  background:transparent;
}
.checkoutCard{
  border:0;
  padding:0;
}
.checkoutCard h1{
  margin-bottom:12px;
}
.basketLine{
  border-bottom:1px solid #e3e0da;
  padding:20px 0;
}
.check{
  border:0;
  background:#faf9f7;
  padding:18px;
}
.deliveryOne{
  border:0;
  background:#faf9f7;
  padding:18px;
}
.formField input{
  border:0;
  border-bottom:1px solid #c9c6bf;
  padding-left:0;
}
.summary{
  border-top:1px solid #dcd9d3;
}
.sum{
  border-bottom:1px solid #ebe8e2;
}

/* CART / SEARCH softer */
.drawer{
  box-shadow:-12px 0 28px rgba(0,0,0,.06);
}
.cartItem{
  border-bottom:1px solid #e7e4de;
}
.search{
  border:0;
  box-shadow:0 20px 50px rgba(0,0,0,.12);
}
.shead,.sinput,.result{
  border-bottom:1px solid #ebe8e2;
}
.sinput input{
  border:0;
  border-bottom:1px solid #bbb7b0;
}

/* FOOTER */
footer{
  padding:72px 0 32px;
}
.footerGrid{
  gap:60px;
}
.footerBrand{
  font-size:38px;
}
.footerBottom{
  margin-top:44px;
}

/* RESPONSIVE */
@media(max-width:950px){
  .heroGrid,.two,.profGrid,.productPage,.checkoutShell{
    gap:36px;
  }
  .cards4,.steps{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .container{
    width:min(100% - 28px,1180px);
  }
  .section{
    padding:54px 0;
  }
  .heroGrid{
    padding:52px 0 46px;
  }
  .stripGrid,.cards4,.steps,.points,.facts{
    gap:22px;
  }
  .productPage{
    padding:42px 0 50px;
  }
}


/* =========================================================
   2026 COMPLETE VISUAL REDESIGN — DESIGN ONLY
   Premium wellness / soft luxury / contemporary
   ========================================================= */

:root{
  --ink:#171714;
  --muted:#77736c;
  --cream:#f7f4ee;
  --cream-2:#eee9df;
  --paper:#fffdf9;
  --accent:#c7b89d;
  --deep:#25231f;
  --hair:rgba(23,23,20,.10);
}

*{box-sizing:border-box}

html{
  background:var(--paper);
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Manrope,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  letter-spacing:-.01em;
}

.container{
  width:min(1200px,calc(100% - 64px));
  margin:auto;
}

/* announcement */
.top{
  background:var(--deep);
  color:#f7f3eb;
  padding:9px 16px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* nav */
header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,253,249,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 1px 0 var(--hair);
}

.nav{
  min-height:88px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
}

.brand{
  font-size:26px;
  font-weight:800;
  letter-spacing:-.055em;
  border:0!important;
  background:none!important;
  color:var(--ink);
}

.navlinks,.actions{
  display:flex;
  align-items:center;
  gap:28px;
  font-size:13px;
  font-weight:600;
}

.actions{
  justify-self:end;
}

.nav button,.actions button{
  color:var(--ink);
  transition:opacity .2s ease;
}

.nav button:hover,.actions button:hover{
  opacity:.55;
}

.count{
  background:var(--deep);
  color:#fff;
  border:0;
  min-width:22px;
  height:22px;
  font-size:10px;
}

/* views */
.view.active{
  animation:luxFade .55s cubic-bezier(.2,.7,.2,1);
}
@keyframes luxFade{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

/* buttons */
.btn{
  min-height:52px;
  padding:0 24px;
  border:0;
  background:var(--ink);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:transform .2s ease,opacity .2s ease,background .2s ease;
}

.btn:hover{
  transform:translateY(-2px);
  opacity:.9;
}

.btn.light{
  background:#fff;
  color:var(--ink);
}

.btn.ghost{
  background:transparent;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
  color:#fff;
}

.kicker{
  font-size:11px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* HOME HERO */
.hero{
  position:relative;
  overflow:hidden;
  background:var(--cream);
  color:var(--ink);
}

.hero:before{
  content:"";
  position:absolute;
  width:640px;
  height:640px;
  border-radius:50%;
  right:-190px;
  top:-250px;
  background:radial-gradient(circle at 35% 35%,rgba(199,184,157,.45),rgba(199,184,157,.08) 48%,transparent 70%);
  pointer-events:none;
}

.heroGrid{
  position:relative;
  z-index:1;
  grid-template-columns:1.2fr .8fr;
  gap:80px;
  padding:100px 0 96px;
}

.hero .kicker{
  color:#837969;
}

.hero h1{
  margin:18px 0 24px;
  max-width:860px;
  font-size:clamp(58px,7vw,92px);
  font-weight:700;
  line-height:.96;
  letter-spacing:-.07em;
}

.hero p{
  max-width:720px;
  color:#625e56;
  font-size:18px;
  line-height:1.7;
}

.heroBtns{
  gap:14px;
  margin-top:34px;
}

.hero .btn.light{
  background:var(--ink);
  color:#fff;
}

.hero .btn.ghost{
  color:var(--ink);
  box-shadow:inset 0 0 0 1px rgba(23,23,20,.25);
}

.trust{
  border:0;
  margin-top:40px;
  padding-top:0;
  gap:10px 26px;
  color:#746e63;
  font-size:12px;
}

.trust span:before{
  content:"•";
  margin-right:9px;
  color:var(--accent);
}

.side{
  gap:18px;
  align-self:stretch;
}

.stat{
  position:relative;
  padding:34px;
  min-height:230px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  border:0!important;
  box-shadow:0 18px 45px rgba(68,58,42,.08);
}

.stat.dark{
  background:var(--deep);
  color:#fff;
  border:0!important;
}

.stat .kicker{
  color:#938b80!important;
}

.stat strong{
  margin-top:auto;
  font-size:31px;
  line-height:1.08;
  letter-spacing:-.045em;
}

.stat p{
  color:#716c63;
  font-size:14px;
  line-height:1.55;
}

.stat.dark p{
  color:#cfcac1;
}

/* Home promise strip */
.strip{
  background:#fffdf9;
  border:0;
}

.stripGrid{
  padding:32px 0;
  gap:44px;
  border:0;
}

.stripGrid>div{
  border:0;
  padding:0;
}

.stripGrid strong{
  display:block;
  font-size:13px;
  font-weight:800;
  margin-bottom:5px;
}

.stripGrid span{
  color:var(--muted);
  font-size:12px;
}

/* section system */
.section{
  border:0;
  padding:94px 0;
  background:var(--paper);
}

.section:nth-of-type(even){
  background:var(--cream);
}

.two{
  gap:90px;
  align-items:start;
}

.section h2,
.about h2,
.callout h2{
  margin:10px 0 24px;
  max-width:800px;
  font-size:clamp(38px,4.7vw,58px);
  font-weight:700;
  line-height:1.03;
  letter-spacing:-.055em;
}

.section p,
.about p,
.callout p{
  color:var(--muted);
  font-size:16px;
  line-height:1.75;
}

/* panel redesign */
.panel{
  border:0;
  background:transparent;
}

.panelHead{
  padding:0 0 18px;
  background:transparent;
  color:#7d756a;
  border:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
}

.line{
  position:relative;
  padding:22px 0 22px 30px;
  border:0;
}

.line:before{
  content:"";
  position:absolute;
  left:0;
  top:30px;
  width:12px;
  height:1px;
  background:var(--accent);
}

.line strong{
  font-size:17px;
  letter-spacing:-.02em;
}

.line p{
  margin-top:6px;
  font-size:14px;
  max-width:570px;
}

/* feature points */
.points{
  margin-top:34px;
  border:0;
  gap:28px 48px;
}

.points>div{
  border:0;
  padding:0 0 0 18px;
  position:relative;
}

.points>div:before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent);
}

.points strong{
  font-size:14px;
}

.points span{
  margin-top:4px;
  color:var(--muted);
  font-size:13px;
}

/* product list */
.rangeHead{
  margin-bottom:36px;
}

.rangeHead p{
  color:var(--muted);
}

.productList{
  border:0;
}

.productRow{
  position:relative;
  min-height:88px;
  padding:24px 4px;
  border:0;
  background:transparent;
}

.productRow:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:var(--hair);
  transform-origin:left;
  transition:transform .3s ease;
}

.productRow strong{
  font-size:19px;
  font-weight:700;
  letter-spacing:-.025em;
}

.productRow span{
  margin-top:3px;
  color:#8b857c;
  font-size:12px;
}

.pprice{
  font-size:14px;
  font-weight:700;
}

.arrow{
  font-size:18px;
  color:#928878;
}

/* callout */
.callout{
  position:relative;
  overflow:hidden;
  padding:90px 0;
  background:var(--deep);
  color:#fff;
}

.callout:after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  right:-130px;
  bottom:-220px;
  background:rgba(199,184,157,.11);
}

.callout .two{
  position:relative;
  z-index:1;
  align-items:center;
}

.callout .kicker{
  color:#bcb2a2;
}

.callout p{
  color:#cbc6bc;
}

/* about */
.about{
  padding:90px 0;
  background:#fffdf9;
  border:0;
}

/* product view */
.crumb{
  background:transparent;
  color:#7b746a;
  padding:20px 0 8px;
  font-size:12px;
}

.crumb button{
  color:#7b746a!important;
}

.productPage{
  grid-template-columns:1.06fr .94fr;
  gap:82px;
  padding:34px 0 92px;
}

.mainImg{
  min-height:650px;
  background:var(--cream);
  border:0;
  box-shadow:none;
}

.mainImg img{
  filter:grayscale(35%);
  transition:filter .4s ease,transform .6s ease;
}

.mainImg:hover img{
  filter:grayscale(10%);
  transform:scale(1.015);
}







.pinfo{
  padding-top:26px;
}

.pinfo .kicker{
  color:#8d8374!important;
}

.pinfo h1{
  margin:14px 0 20px;
  font-size:clamp(46px,5.1vw,66px);
  font-weight:700;
  line-height:.98;
  letter-spacing:-.06em;
}

.pinfo .sub{
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}

.priceLine{
  margin:28px 0;
  padding:18px 0;
  border:0;
  font-size:25px;
  font-weight:700;
}

.field{
  margin-top:22px;
}

.field label{
  margin-bottom:8px;
  color:#746e64;
  font-size:11px;
  letter-spacing:.12em;
}

.field select,.field input{
  min-height:50px;
  padding:0 0 8px;
  border:0;
  border-bottom:1px solid rgba(23,23,20,.18);
  background:transparent;
  color:var(--ink);
}

.pactions{
  margin-top:26px;
}

.note{
  margin-top:24px;
  border:0;
  background:var(--cream);
  color:#686259;
  padding:18px 20px;
  font-size:13px;
}

.miniGrid{
  margin-top:18px;
  gap:28px;
}

.mini{
  border:0;
  padding:16px 0 0;
  border-top:1px solid var(--hair);
  font-size:13px;
  color:var(--muted);
}

.detail{
  padding:96px 0;
  border:0;
  background:var(--cream);
}

.facts{
  margin:42px 0;
  border:0;
  gap:46px;
}

.fact{
  border:0;
  padding:0;
}

.fact strong{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.fact span{
  margin-top:6px;
  display:block;
  color:var(--muted);
  font-size:14px;
}

details{
  border:0;
  border-bottom:1px solid var(--hair);
}

summary{
  padding:22px 0;
  font-size:15px;
}

.detailText{
  max-width:850px;
  color:var(--muted);
  font-size:14px;
}

/* professionals + story */
.profHero{
  position:relative;
  overflow:hidden;
  background:var(--cream);
  color:var(--ink);
}

.profHero:after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  right:-160px;
  top:-250px;
  background:rgba(199,184,157,.17);
}

.profGrid{
  position:relative;
  z-index:1;
  grid-template-columns:1.15fr .85fr;
  gap:90px;
  padding:100px 0 96px;
}

.profHero .kicker{
  color:#8c8171;
}

.profHero h1{
  margin:18px 0 24px;
  font-size:clamp(52px,6vw,78px);
  font-weight:700;
  line-height:.98;
  letter-spacing:-.065em;
}

.profHero p{
  color:#625e56;
  font-size:16px;
  line-height:1.75;
}

.profNote{
  align-self:center;
  padding:34px;
  background:rgba(255,255,255,.78);
  color:var(--ink);
  box-shadow:0 24px 60px rgba(67,56,39,.09);
}

.profNote p{
  color:var(--muted);
}

.cards4,.steps{
  border:0;
  gap:44px;
}

.card,.step{
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
}

.card:before{
  content:"";
  display:block;
  width:24px;
  height:1px;
  margin-bottom:18px;
  background:var(--accent);
}

.card strong,.step strong{
  font-size:16px;
}

.card p,.step p{
  font-size:14px;
}

.stepNum{
  width:34px;
  height:34px;
  margin-bottom:18px;
  border:1px solid rgba(23,23,20,.28);
  color:#796e5e;
  font-size:11px;
}

.deliveryOpts{
  gap:24px;
}

.deliveryCard{
  min-height:210px;
  padding:32px;
  border:0;
  background:#fff;
  box-shadow:0 14px 36px rgba(66,56,41,.06);
}

.deliveryCard.dark{
  background:var(--deep);
  color:#fff;
  box-shadow:none;
}

.deliveryCard h3{
  margin:12px 0 10px;
  font-size:25px;
  letter-spacing:-.035em;
}

/* checkout */
.checkout{
  padding:76px 0 100px;
}

.checkoutShell{
  grid-template-columns:230px 1fr;
  gap:70px;
}

.stepNav{
  border:0;
  padding-top:8px;
}

.stepLabel{
  padding:14px 0;
  border:0;
  color:#9a948a;
  font-size:12px;
}

.stepLabel.active{
  background:transparent;
  color:var(--ink);
  font-weight:800;
}

.checkoutCard{
  max-width:820px;
  border:0;
  padding:0;
}

.checkoutCard h1{
  margin:0 0 14px;
  font-size:clamp(42px,5vw,62px);
  letter-spacing:-.055em;
}

.checkoutCard>p{
  color:var(--muted);
}

.basketLine{
  padding:20px 0;
  border:0;
  border-bottom:1px solid var(--hair);
}

.check{
  gap:14px;
  margin:12px 0;
  padding:18px 20px;
  border:0;
  background:var(--cream);
  font-size:14px;
}

.deliveryOne{
  border:0;
  background:var(--cream);
  padding:22px;
}

.formGrid{
  gap:20px 24px;
}

.formField label{
  color:#746e64;
  font-size:10px;
  letter-spacing:.12em;
}

.formField input{
  border:0;
  border-bottom:1px solid rgba(23,23,20,.20);
  padding:0;
  background:transparent;
}

.summary{
  border-top:1px solid var(--hair);
  margin-top:28px;
}

.sum{
  border:0;
  border-bottom:1px solid var(--hair);
}

/* search */
.search{
  top:24px;
  width:min(820px,calc(100% - 36px));
  border:0;
  background:var(--paper);
  box-shadow:0 30px 80px rgba(28,25,20,.18);
}

.shead{
  height:72px;
  padding:0 24px;
  border-bottom:1px solid var(--hair);
}

.sinput{
  padding:18px 24px;
  border-bottom:0;
}

.sinput input{
  border:0;
  border-bottom:1px solid rgba(23,23,20,.22);
  background:transparent;
  font-size:16px;
}

.result{
  padding:16px 24px;
  border-bottom:1px solid var(--hair);
}

.result:hover{
  background:var(--cream);
}

/* cart */
.drawer{
  width:min(480px,100%);
  background:var(--paper);
  box-shadow:-20px 0 60px rgba(24,21,17,.10);
}

.dhead{
  height:82px;
  padding:0 24px;
  background:var(--deep);
}

.items{
  padding:0 24px;
}

.cartItem{
  padding:22px 0;
  border-bottom:1px solid var(--hair);
}

.cartItem img{
  filter:grayscale(25%);
}

.qty{
  margin-top:10px;
  border:1px solid rgba(23,23,20,.12);
}

.dfoot{
  padding:22px 24px 26px;
  border-top:1px solid var(--hair);
}

/* footer */
footer{
  background:var(--deep);
  padding:82px 0 34px;
}

.footerGrid{
  gap:70px;
}

.footerBrand{
  font-size:38px;
  letter-spacing:-.055em;
}

.footerGrid p{
  max-width:420px;
  color:#aca69d;
  font-size:14px;
}

.footerCol h4{
  color:#e7e1d8;
  font-size:10px;
  letter-spacing:.15em;
}

.footerCol a{
  color:#aaa49a;
  font-size:13px;
  margin:11px 0;
}

.footerCol a:hover{
  color:#fff;
}

.footerBottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:54px;
  color:#837d74;
}

/* overlays */
.overlay{
  background:rgba(23,21,18,.38);
  backdrop-filter:blur(2px);
}

/* responsive */
@media(max-width:1000px){
  .heroGrid,.profGrid,.productPage,.checkoutShell,.two{
    grid-template-columns:1fr;
    gap:48px;
  }
  .side{
    grid-template-columns:1fr 1fr;
  }
  .checkoutShell{
    gap:36px;
  }
  .stepNav{
    display:flex;
    gap:18px;
    overflow:auto;
    padding-bottom:12px;
  }
  .stepLabel{
    white-space:nowrap;
  }
}

@media(max-width:760px){
  .container{
    width:min(100% - 30px,1200px);
  }
  .nav{
    min-height:76px;
  }
  .heroGrid,.profGrid{
    padding:64px 0;
  }
  .hero h1,.profHero h1{
    font-size:48px;
  }
  .side,.stripGrid,.points,.cards4,.steps,.facts,.deliveryOpts,.footerGrid{
    grid-template-columns:1fr;
  }
  .section,.about,.detail,.callout{
    padding:62px 0;
  }
  .stripGrid{
    gap:24px;
  }
  .productPage{
    padding-bottom:60px;
  }
  .mainImg{
    min-height:420px;
  }
  .pactions,.miniGrid,.formGrid{
    grid-template-columns:1fr;
  }
  .productRow{
    grid-template-columns:1fr auto;
  }
  .arrow{
    display:none;
  }
}


.story-image-section{
  padding:72px 0 !important;
  background:var(--paper) !important;
}
.story-image-wrap{
  display:flex;
  justify-content:center;
}
.story-image{
  display:block;
  width:min(720px,100%);
  height:auto;
  object-fit:cover;
}


/* Dedicated homepage + shop separation */
.homeLanding{
  padding:46px 0 72px;
  background:var(--paper);
}
.homeLandingGrid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}
.homePromo{
  min-height:360px;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
}
.homePromo h1,
.homePromo h2{
  margin:10px 0 16px;
  max-width:760px;
  line-height:1.02;
  letter-spacing:-.055em;
}
.homePromo h1{
  font-size:clamp(50px,6vw,78px);
}
.homePromo h2{
  font-size:clamp(34px,4vw,50px);
}
.homePromo p{
  max-width:650px;
  margin:0 0 24px;
  font-size:16px;
  line-height:1.7;
}
.homePromoActions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.primaryPromo{
  grid-row:span 2;
  min-height:738px;
  background:var(--deep);
  color:#fff;
}
.primaryPromo p{
  color:#c9c4ba;
}
.primaryPromo .kicker{
  color:#b9af9f;
}
.lightPromo{
  background:var(--cream);
}
.lightPromo .kicker{
  color:#8d8272;
}
.lightPromo p{
  color:#6e685f;
}
.imagePromo{
  min-height:360px;
  background:
    linear-gradient(rgba(28,25,21,.25),rgba(28,25,21,.55)),
    url('https://thewellnessatelier.co.uk/cdn/shop/files/IMG_9897.jpg?v=1790591188&width=900') center/cover no-repeat;
  color:#fff;
}
.imagePromoOverlay{
  position:relative;
  z-index:1;
}
.imagePromo .kicker{
  color:#e6ddd0;
}
.darkPromo{
  grid-column:1/-1;
  min-height:320px;
  background:#d8ccba;
  color:var(--ink);
}
.darkPromo .kicker{
  color:#6f6557;
}
.darkPromo .btn.ghost{
  color:var(--ink);
  box-shadow:inset 0 0 0 1px rgba(23,23,20,.3);
  align-self:flex-start;
}

.shopHero{
  padding:90px 0 72px;
  background:var(--cream);
}
.shopHero .kicker{
  color:#8a7f70;
}
.shopHero h1{
  margin:14px 0 18px;
  font-size:clamp(56px,7vw,84px);
  line-height:.98;
  letter-spacing:-.065em;
}
.shopHero p{
  max-width:700px;
  color:var(--muted);
  font-size:17px;
}
.shopSection{
  background:var(--paper)!important;
}

@media(max-width:900px){
  .homeLandingGrid{
    grid-template-columns:1fr;
  }
  .primaryPromo{
    grid-row:auto;
    min-height:560px;
  }
  .darkPromo{
    grid-column:auto;
  }
}
@media(max-width:640px){
  .homeLanding{
    padding:18px 0 42px;
  }
  .homePromo{
    min-height:320px;
    padding:28px;
  }
  .primaryPromo{
    min-height:500px;
  }
  .homePromo h1{
    font-size:46px;
  }
}


/* Homepage featured product rail */
.homeProductRail{
  padding:72px 0 66px;
  background:var(--paper);
}
.homeRailHead{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:28px;
}
.homeRailHead h2{
  margin:10px 0 0;
  font-size:clamp(36px,4.5vw,54px);
  line-height:1.03;
  letter-spacing:-.055em;
}
.homeRail{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:10px;
  scrollbar-width:thin;
}
.homeRailCard{
  flex:0 0 min(320px,82vw);
  min-height:250px;
  padding:26px;
  background:var(--cream);
  color:var(--ink);
  border:0;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  scroll-snap-align:start;
  transition:transform .2s ease,background .2s ease;
}
.homeRailCard:hover{
  transform:translateY(-4px);
  background:#efe9de;
}
.homeRailCard strong{
  display:block;
  margin:10px 0 12px;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.045em;
}
.homeRailCard>span:last-child{
  color:var(--muted);
  font-size:14px;
  font-weight:700;
}
.homeRailTag{
  color:#8a7f70!important;
  font-size:11px!important;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800!important;
}

/* Remaining two products as promotional feature boxes */
.homeSpecial{
  padding:0 0 76px;
  background:var(--paper);
}
.homeSpecialGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.specialCard{
  min-height:360px;
  padding:36px;
  border:0;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .2s ease;
}
.specialCard:hover{
  transform:translateY(-4px);
}
.specialCard h2{
  margin:12px 0 14px;
  font-size:clamp(36px,4vw,52px);
  line-height:1.02;
  letter-spacing:-.055em;
}
.specialCard p{
  max-width:520px;
  margin:0;
  font-size:15px;
  line-height:1.65;
}
.specialLight{
  background:#d9cdbb;
  color:var(--ink);
}
.specialLight .kicker{
  color:#6d6356;
}
.specialLight p{
  color:#655e55;
}
.specialDark{
  background:var(--deep);
  color:#fff;
}
.specialDark .kicker{
  color:#b8ad9d;
}
.specialDark p{
  color:#c9c3ba;
}
.specialPrice{
  margin-top:30px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.04em;
}

@media(max-width:760px){
  .homeRailHead{
    align-items:flex-start;
    flex-direction:column;
  }
  .homeSpecialGrid{
    grid-template-columns:1fr;
  }
  .specialCard{
    min-height:300px;
    padding:28px;
  }
}


/* Homepage: full-width colour bands, contained inner content, zero section gaps */
#home{
  background:var(--paper);
}

.homeLanding{
  padding:0 !important;
  background:transparent !important;
}

.homeLandingGrid{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  display:block !important;
}

.homePromo{
  width:100% !important;
  min-height:420px;
  margin:0 !important;
  border:0 !important;
  padding:0 !important;
}

.homePromo > *{
  width:min(1200px,calc(100% - 64px));
  margin-left:auto;
  margin-right:auto;
}

.primaryPromo,
.lightPromo,
.imagePromo,
.darkPromo{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.primaryPromo{
  min-height:680px;
  padding-top:72px !important;
  padding-bottom:72px !important;
}

.lightPromo{
  min-height:430px;
  padding-top:64px !important;
  padding-bottom:64px !important;
}

.imagePromo{
  min-height:520px;
  padding-top:64px !important;
  padding-bottom:64px !important;
}

.imagePromoOverlay{
  width:min(1200px,calc(100% - 64px)) !important;
  margin:auto !important;
}

.darkPromo{
  min-height:400px;
  padding-top:64px !important;
  padding-bottom:64px !important;
}

.homeProductRail{
  width:100%;
  margin:0 !important;
  padding:72px 0 66px !important;
}

.homeSpecial{
  width:100%;
  margin:0 !important;
  padding:0 !important;
}

.homeSpecialGrid{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  gap:0 !important;
  grid-template-columns:1fr 1fr;
}

.specialCard{
  min-height:420px;
  margin:0 !important;
  border:0 !important;
  padding:0 !important;
}

.specialCard > *{
  width:min(560px,calc(100% - 64px));
  margin-left:auto;
  margin-right:auto;
}

.specialCard{
  padding-top:58px !important;
  padding-bottom:58px !important;
}

.homeLanding + .homeProductRail,
.homeProductRail + .homeSpecial{
  margin-top:0 !important;
}

#home > section{
  margin:0 !important;
}

@media(max-width:760px){
  .homePromo > *,
  .imagePromoOverlay{
    width:min(100% - 30px,1200px) !important;
  }

  .primaryPromo{
    min-height:560px;
    padding-top:52px !important;
    padding-bottom:52px !important;
  }

  .lightPromo,
  .darkPromo,
  .imagePromo{
    min-height:360px;
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  .homeSpecialGrid{
    grid-template-columns:1fr;
  }

  .specialCard{
    min-height:340px;
  }

  .specialCard > *{
    width:min(100% - 30px,560px);
  }
}


/* Align homepage promo content with main site container */
.homePromo{
  position:relative;
}

.homePromo > .kicker,
.homePromo > h1,
.homePromo > h2,
.homePromo > p,
.homePromo > .homePromoActions,
.homePromo > .btn{
  width:min(1200px,calc(100% - 64px));
  margin-left:auto !important;
  margin-right:auto !important;
}

.homePromo > .kicker{
  margin-bottom:14px !important;
}

.homePromo > h1,
.homePromo > h2{
  margin-top:0 !important;
  margin-bottom:18px !important;
}

.homePromo > p{
  margin-top:0 !important;
  margin-bottom:26px !important;
}

.homePromo > .homePromoActions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.homePromo > .btn{
  width:auto !important;
  margin-left:max(32px,calc((100% - 1200px)/2)) !important;
  margin-right:auto !important;
  align-self:flex-start;
}

/* Keep Bianca image overlay aligned to same contained grid */
.imagePromoOverlay{
  width:min(1200px,calc(100% - 64px)) !important;
  margin:0 auto !important;
}

/* Align featured product rail heading with site container */
.homeRailHead{
  width:100%;
}

/* Special offer content alignment */
.specialCard > div,
.specialCard > .specialPrice{
  width:min(560px,calc(100% - 64px));
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:760px){
  .homePromo > .kicker,
  .homePromo > h1,
  .homePromo > h2,
  .homePromo > p,
  .homePromo > .homePromoActions,
  .imagePromoOverlay{
    width:min(100% - 30px,1200px) !important;
  }

  .homePromo > .btn{
    margin-left:15px !important;
  }

  .specialCard > div,
  .specialCard > .specialPrice{
    width:min(100% - 30px,560px) !important;
  }
}


/* Rich product specification details */
.productRowDetailed{
  grid-template-columns:minmax(220px,1.1fr) minmax(460px,2fr) auto !important;
  gap:34px !important;
  align-items:center !important;
}
.productRowMain strong{
  display:block;
}
.productSpecs{
  display:grid;
  grid-template-columns:repeat(4,minmax(90px,1fr));
  gap:18px;
}
.productSpecs div{
  min-width:0;
}
.productSpecs small,
.productSpecBlock small{
  display:block;
  margin-bottom:4px;
  color:#9a9185;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.productSpecs span{
  color:#4f4a43;
  font-size:13px;
  line-height:1.35;
}
.productRowEnd{
  display:flex;
  align-items:center;
  gap:18px;
  white-space:nowrap;
}

.productSpecBlock{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px 28px;
  margin:26px 0 6px;
  padding:24px 0;
  border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
}
.productSpecBlock strong{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
}
.productFactsRich{
  grid-template-columns:repeat(4,1fr) !important;
  row-gap:34px !important;
}

@media(max-width:1050px){
  .productRowDetailed{
    grid-template-columns:1fr auto !important;
  }
  .productSpecs{
    grid-column:1/-1;
    grid-row:2;
    margin-top:-8px;
  }
  .productRowEnd{
    grid-column:2;
    grid-row:1;
  }
}
@media(max-width:700px){
  .productRowDetailed{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .productSpecs{
    grid-template-columns:1fr 1fr;
    grid-column:1;
    grid-row:auto;
    gap:14px 22px;
  }
  .productRowEnd{
    grid-column:1;
    grid-row:auto;
    justify-content:space-between;
  }
  .productSpecBlock,
  .productFactsRich{
    grid-template-columns:1fr 1fr !important;
  }
}


/* Fix homepage promo title alignment */
.primaryPromo > .kicker,
.primaryPromo > h1,
.primaryPromo > p,
.primaryPromo > .homePromoActions,
.lightPromo > .kicker,
.lightPromo > h2,
.lightPromo > p,
.darkPromo > .kicker,
.darkPromo > h2{
  width:min(1200px,calc(100% - 64px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.primaryPromo > h1,
.primaryPromo > p,
.lightPromo > h2,
.lightPromo > p,
.darkPromo > h2{
  max-width:none !important;
}

.primaryPromo > .homePromoActions{
  justify-content:flex-start !important;
}

.lightPromo > .btn,
.darkPromo > .btn{
  margin-left:max(32px,calc((100% - 1200px)/2)) !important;
  margin-right:auto !important;
  align-self:flex-start !important;
}

@media(max-width:760px){
  .primaryPromo > .kicker,
  .primaryPromo > h1,
  .primaryPromo > p,
  .primaryPromo > .homePromoActions,
  .lightPromo > .kicker,
  .lightPromo > h2,
  .lightPromo > p,
  .darkPromo > .kicker,
  .darkPromo > h2{
    width:min(100% - 30px,1200px) !important;
  }

  .lightPromo > .btn,
  .darkPromo > .btn{
    margin-left:15px !important;
  }
}


/* Widen Featured injections section by 150px on each side */
.homeProductRail > .container{
  width:min(1500px,calc(100% - 32px)) !important;
}

@media(max-width:760px){
  .homeProductRail > .container{
    width:min(100% - 20px,1500px) !important;
  }
}


/* Shop category dropdown */
.shopMenuWrap{
  position:relative;
  display:flex;
  align-items:center;
}
.shopMenuButton{
  position:relative;
}
.shopMenuButton:after{
  content:"⌄";
  margin-left:6px;
  font-size:11px;
  opacity:.6;
}
.shopMenuDropdown{
  position:absolute;
  left:-18px;
  top:calc(100% + 18px);
  width:270px;
  padding:10px;
  background:rgba(255,253,249,.98);
  box-shadow:0 18px 50px rgba(24,21,17,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.18s ease;
  z-index:60;
}
.shopMenuWrap:hover .shopMenuDropdown,
.shopMenuWrap:focus-within .shopMenuDropdown{
  opacity:1;
  visibility:visible;
  transform:none;
}
.shopMenuDropdown button{
  width:100%;
  padding:11px 12px;
  text-align:left;
  border:0;
  background:transparent;
  color:var(--ink);
  font-size:13px;
  font-weight:600;
}
.shopMenuDropdown button:hover{
  background:var(--cream);
  opacity:1!important;
}

.shopCategoryBar{
  background:var(--paper);
  border-bottom:1px solid var(--hair);
}
.shopCategoryScroll{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:18px 0;
  scrollbar-width:none;
}
.shopCategoryScroll::-webkit-scrollbar{
  display:none;
}
.shopCat{
  flex:0 0 auto;
  padding:9px 14px;
  border:0;
  background:transparent;
  color:#756e64;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.shopCat.active,
.shopCat:hover{
  background:var(--cream);
  color:var(--ink);
}
.emptyCategory{
  padding:68px 0;
  max-width:620px;
}
.emptyCategory h3{
  margin:10px 0 12px;
  font-size:34px;
  letter-spacing:-.04em;
}
.emptyCategory p{
  color:var(--muted);
}

@media(max-width:760px){
  .shopMenuDropdown{
    display:none;
  }
}


.numbingDetailBlock{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px 28px;
  margin:18px 0 6px;
  padding:22px 0;
  border-bottom:1px solid var(--hair);
}
.numbingDetailBlock.hide{
  display:none!important;
}
.numbingDetailBlock small{
  display:block;
  margin-bottom:5px;
  color:#9a9185;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.numbingDetailBlock strong{
  display:block;
  font-size:14px;
  line-height:1.5;
  font-weight:700;
}
.numbingWide{
  grid-column:1/-1;
}
@media(max-width:700px){
  .numbingDetailBlock{
    grid-template-columns:1fr;
  }
}


/* Product pages: one image only */
#product .thumbs,
#product .thumb{
  display:none !important;
}
#product .mainImg{
  margin-bottom:0 !important;
}


/* Refined main Shop product list */
#shop .productList{
  border:1px solid rgba(23,23,20,.14) !important;
  background:rgba(255,255,255,.55);
  overflow:hidden;
}

#shop .productRowDetailed{
  padding:24px 22px !important;
  min-height:108px;
  border:0 !important;
  position:relative;
  transition:background .18s ease,padding .18s ease;
}

#shop .productRowDetailed:not(:last-child)::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:0;
  height:1px;
  background:rgba(23,23,20,.09);
}

#shop .productRowMain{
  padding-right:10px;
}

#shop .productRowMain strong{
  font-size:20px !important;
  line-height:1.15;
  margin-bottom:6px;
}

#shop .productRowMain span{
  font-size:12px !important;
  color:#918a80 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
}

#shop .productSpecs{
  gap:22px !important;
}

#shop .productSpecs div{
  padding-left:14px;
  border-left:1px solid rgba(23,23,20,.08);
}

#shop .productSpecs small{
  color:#9b9489 !important;
  font-size:9px !important;
  letter-spacing:.12em !important;
}

#shop .productSpecs span{
  font-size:13px !important;
  color:#4f4b45 !important;
  font-weight:600;
}

#shop .productRowEnd{
  min-width:120px;
  justify-content:flex-end;
  gap:14px !important;
}

#shop .pprice{
  font-size:15px !important;
  font-weight:800 !important;
}

#shop .arrow{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--cream);
  color:#736958;
  transition:transform .18s ease,background .18s ease;
}

@media(max-width:1050px){
  #shop .productRowDetailed{
    padding:22px 18px !important;
  }

  #shop .productRowDetailed:not(:last-child)::after{
    left:18px;
    right:18px;
  }

  #shop .productSpecs div{
    padding-left:0;
    border-left:0;
  }
}

@media(max-width:700px){
  #shop .productList{
    border-left:0 !important;
    border-right:0 !important;
  }

  #shop .productRowDetailed{
    padding:20px 4px !important;
  }

  #shop .productRowDetailed:not(:last-child)::after{
    left:4px;
    right:4px;
  }
}


.stockBadge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.stockBadge.out{
  background:#eee9df;
  color:#6f665b;
}
.productStockStatus{
  margin:-10px 0 20px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#7d7163;
}
#addBtn:disabled{
  cursor:not-allowed;
  opacity:.45;
  transform:none!important;
}


/* New Products highlighted first */
/* Black top navigation */
header{
  background:#111 !important;
  box-shadow:none !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.brand,
.nav button,
.actions button,
.navlinks,
.actions{
  color:#fff !important;
}

.count{
  background:#fff !important;
  color:#111 !important;
  border:0 !important;
}

.shopMenuButton:after{
  color:#fff !important;
}

.shopMenuDropdown{
  background:#111 !important;
  box-shadow:0 18px 50px rgba(0,0,0,.28) !important;
}

.shopMenuDropdown button{
  color:#fff !important;
}

.shopMenuDropdown button:hover{
  background:#242424 !important;
  color:#fff !important;
}

@media(max-width:760px){
  header{
    background:#111 !important;
  }
}


/* Premium white navigation redesign */
header{
  background:rgba(255,253,249,.96) !important;
  border-bottom:1px solid rgba(23,23,20,.08) !important;
  box-shadow:0 8px 28px rgba(40,34,26,.035) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.nav{
  min-height:86px !important;
  grid-template-columns:auto 1fr auto !important;
  gap:36px !important;
}

.brand{
  justify-self:start !important;
  color:var(--ink) !important;
  font-size:27px !important;
  font-weight:800 !important;
  letter-spacing:-.055em !important;
  white-space:nowrap;
}

.navlinks{
  justify-self:center !important;
  gap:34px !important;
  color:var(--ink) !important;
}

.nav button,
.actions button,
.navlinks,
.actions{
  color:var(--ink) !important;
}

.navlinks > button,
.shopMenuButton,
.actions button{
  position:relative;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.01em;
}

.navlinks > button:after,
.shopMenuButton:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1px;
  background:var(--ink);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}

.navlinks > button:hover:after,
.shopMenuWrap:hover .shopMenuButton:before,
.shopMenuButton:focus:before{
  transform:scaleX(1);
}

.actions{
  justify-self:end !important;
  gap:18px !important;
}

.actions button{
  min-height:38px;
  padding:0 2px !important;
}

#cartBtn{
  display:flex;
  align-items:center;
  gap:7px;
}

.count{
  background:var(--ink) !important;
  color:#fff !important;
  min-width:21px !important;
  height:21px !important;
}

.shopMenuButton:after{
  content:"⌄" !important;
  margin-left:6px !important;
  color:var(--ink) !important;
  font-size:10px !important;
  opacity:.55;
  position:static !important;
  background:none !important;
  transform:none !important;
}

.shopMenuDropdown{
  left:-22px !important;
  top:calc(100% + 24px) !important;
  width:300px !important;
  padding:14px !important;
  background:#fffdf9 !important;
  border:1px solid rgba(23,23,20,.08) !important;
  box-shadow:0 24px 70px rgba(35,30,24,.12) !important;
}

.shopMenuDropdown:before{
  content:"";
  position:absolute;
  top:-10px;
  left:30px;
  width:18px;
  height:18px;
  background:#fffdf9;
  border-left:1px solid rgba(23,23,20,.08);
  border-top:1px solid rgba(23,23,20,.08);
  transform:rotate(45deg);
}

.shopMenuDropdown button{
  position:relative;
  z-index:1;
  min-height:42px;
  padding:10px 12px !important;
  color:var(--ink) !important;
  border-radius:0;
  font-size:13px !important;
  font-weight:600 !important;
  text-align:left;
}

.shopMenuDropdown button:hover{
  background:var(--cream) !important;
  color:var(--ink) !important;
}

.shopMenuDropdown button + button{
  border-top:1px solid rgba(23,23,20,.045);
}

/* subtle separation for first two prominent categories */
.shopMenuDropdown button[data-shopcat="new"],
.shopMenuDropdown button[data-shopcat="injections"]{
  font-weight:800 !important;
}

@media(max-width:900px){
  .nav{
    grid-template-columns:auto 1fr auto !important;
    gap:18px !important;
  }

  .navlinks{
    gap:20px !important;
  }
}

@media(max-width:760px){
  header{
    background:rgba(255,253,249,.98) !important;
  }

  .nav{
    min-height:74px !important;
  }

  .brand{
    font-size:22px !important;
  }

  .navlinks{
    display:none !important;
  }

  .actions{
    gap:14px !important;
  }
}


/* =========================================================
   SHOP / CATEGORY LIST REDESIGN — PRODUCT CARDS
   ========================================================= */

#shop .productList{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  border:0 !important;
  background:transparent !important;
}

#shop .productRow,
#shop .productRowDetailed{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  min-height:285px !important;
  padding:24px !important;
  border:1px solid rgba(23,23,20,.10) !important;
  background:#fffdf9 !important;
  text-align:left !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

#shop .productRowMain{
  width:100%;
  margin-bottom:18px !important;
}

#shop .productRowMain strong{
  display:block;
  font-size:22px !important;
  line-height:1.15 !important;
  margin-bottom:7px !important;
}

#shop .productRowMain > span{
  font-size:12px !important;
  color:var(--muted) !important;
}

#shop #shop .productSpecs{
  width:100%;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-top:auto !important;
}

#shop .productSpecs > div{
  padding:11px 12px !important;
  background:var(--cream) !important;
  min-height:64px;
}

#shop .productSpecs small{
  display:block;
  margin-bottom:4px;
  font-size:8px !important;
  letter-spacing:.10em !important;
  text-transform:uppercase;
  color:#91887d !important;
}

#shop .productSpecs span{
  font-size:12px !important;
  line-height:1.35 !important;
}

#shop .productRowEnd{
  width:100%;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px;
  margin-top:18px !important;
  padding-top:16px !important;
  border-top:1px solid rgba(23,23,20,.08) !important;
}

#shop .pprice{
  font-size:16px !important;
  font-weight:800 !important;
}

#shop .arrow{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  font-size:15px;
}

#shop .stockBadge.out{
  padding:7px 9px !important;
  background:#efe8dc !important;
  color:#5e5549 !important;
  font-size:10px !important;
}

#shop .emptyCategory{
  grid-column:1/-1;
}

@media(max-width:1050px){
  #shop .productList{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  #shop .productList{
    grid-template-columns:1fr !important;
  }

  #shop .productRow,
  #shop .productRowDetailed{
    min-height:0 !important;
  }

  #shop .productSpecs{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:480px){
  #shop .productSpecs{
    grid-template-columns:1fr !important;
  }
}


/* Static hover for shop/category product cards */
#shop .productRow,
#shop .productRowDetailed{
  transition:background-color .18s ease, border-color .18s ease !important;
}


/* Product imagery on Shop/category cards */
#shop .productRow,
#shop .productRowDetailed{
  padding:0 0 22px !important;
  overflow:hidden !important;
}

#shop .productCardImage{
  width:100%;
  aspect-ratio:4 / 3;
  margin:0 0 22px;
  overflow:hidden;
  background:#f3efe7;
}



#shop .productRowMain,
#shop .productSpecs,
#shop .productRowEnd{
  width:auto !important;
  margin-left:22px !important;
  margin-right:22px !important;
}

#shop .productRowMain{
  width:calc(100% - 44px) !important;
}

#shop .productSpecs{
  width:calc(100% - 44px) !important;
}

#shop .productRowEnd{
  width:calc(100% - 44px) !important;
}




/* =========================================================
   REMOVE PRODUCT / CATEGORY HOVER EFFECTS
   ========================================================= */

/* Shop/category cards */
#shop .productRow,
#shop .productRowDetailed,
#shop .productCardImage,
#shop .productCardImage img,
#shop .productRowMain,
#shop .productSpecs,
#shop .productRowEnd,
#shop .arrow{
  transition:none !important;
  filter:none !important;
}

/* Individual product page */
#product *,
#product *::before,
#product *::after{
  filter:none !important;
}

#product .mainImg,
#product .mainImg img,
#product .pinfo,
#product .btn,
#product details,
#product summary,
#product .mini,
#product .fact{
  transition:none !important;
}

#product .mainImg:hover,
#product .mainImg img:hover,
#product .pinfo:hover,
#product .mini:hover,
#product .fact:hover,
#product details:hover{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}

#product .mainImg img:hover{
  opacity:1 !important;
}

/* Remove hover styling from product-page controls */
#product button:hover,
#product a:hover,
#product select:hover,
#product input:hover{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* No hover filters on category controls */
#shop .shopCat,
#shop .shopCat:hover,
#shop .shopCat:focus{
  filter:none !important;
  transform:none !important;
  box-shadow:none !important;
}

#shop .productRow *,
#shop .productRowDetailed *{
  transition:none !important;
}


/* Always show the full product image — never crop */

/* Category cards */
#shop .productCardImage{
  background:#f6f2ea !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Individual product page */
#product .mainImg{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f6f2ea !important;
}

#product .mainImg img,
#product .mainImg img:hover{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#f6f2ea !important;
  transform:none !important;
  filter:none !important;
}


/* Shop hero only appears on main All Products view */
#shop .shopHero,
#shop .shopIntro,
#shop .shopTopIntro{
  transition:opacity .24s ease, max-height .28s ease, margin .28s ease, padding .28s ease !important;
  overflow:hidden !important;
}

#shop.category-open .shopHero,
#shop.category-open .shopIntro,
#shop.category-open .shopTopIntro{
  opacity:0 !important;
  max-height:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  pointer-events:none !important;
}


/* Category thumbnails: always show the full product image */
#shop .productCardImage{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#f6f2ea !important;
  aspect-ratio:4 / 3 !important;
}


/* Homepage header background video */
#home .homeLanding{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:
    url('stock-photos/vitamin-d-ampoules.png') center center / cover no-repeat !important;
}

#home .homeHeaderVideoOverlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(
    90deg,
    rgba(18,17,15,.62) 0%,
    rgba(18,17,15,.45) 48%,
    rgba(18,17,15,.28) 100%
  );
  pointer-events:none;
}

#home .homeLandingGrid,
#home .homePromo{
  position:relative;
  z-index:1;
}

#home .homeLanding .kicker,
#home .homeLanding h1,
#home .homeLanding p{
  color:#fff !important;
}

#home .homeLanding .btn.light{
  background:#fff !important;
  color:#171714 !important;
  border-color:#fff !important;
}

#home .homeLanding .btn.ghost{
  background:transparent !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.72) !important;
}

@media(max-width:760px){
  #home .homeHeaderVideoOverlay{
    background:rgba(18,17,15,.48);
  }
}


/* Luxury beauty typography */
html,
body,
button,
input,
select,
textarea,
a,
span,
small,
strong,
label,
summary{
  font-family:'Cormorant Garamond', Georgia, serif !important;
}

body{
  font-size:18px !important;
  letter-spacing:.005em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand,
.productRowMain strong,
.specialCard h2,
.homeLanding h1,
.pinfo h1{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-weight:600 !important;
  letter-spacing:-.025em !important;
}

.brand{
  font-weight:700 !important;
  letter-spacing:-.035em !important;
}

.navlinks > button,
.shopMenuButton,
.actions button,
.shopCat,
.btn,
.kicker,
.productSpecs small,
.field label,
.productBadge{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-weight:600 !important;
  letter-spacing:.045em !important;
}

p,
.sub,
.productRowMain > span,
.productSpecs span,
.detailText,
.note{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-weight:400 !important;
  line-height:1.55 !important;
}

.productRowMain strong{
  font-size:25px !important;
}

.shopCat,
.navlinks > button,
.actions button{
  font-size:15px !important;
}

.btn{
  font-size:16px !important;
}


/* FIX: actual homepage hero image lives on the primary promo itself */
#home .homeLanding:first-of-type{
  background:transparent !important;
}

#home .homeLanding:first-of-type .primaryPromo{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background-image:url('stock-photos/vitamin-d-ampoules.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  color:#fff !important;
}

#home .homeLanding:first-of-type .primaryPromo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(
    90deg,
    rgba(10,10,10,.78) 0%,
    rgba(10,10,10,.62) 48%,
    rgba(10,10,10,.48) 100%
  );
  pointer-events:none;
}

#home .homeLanding:first-of-type .primaryPromo > *{
  position:relative !important;
  z-index:1 !important;
}

#home .homeLanding:first-of-type .homeHeaderVideoOverlay{
  display:none !important;
}

@media(max-width:760px){
  #home .homeLanding:first-of-type .primaryPromo{
    background-position:center center !important;
  }
  #home .homeLanding:first-of-type .primaryPromo::before{
    background:rgba(18,17,15,.48);
  }
}


/* Homepage category image panels */
#home .homeSpecial .specialCard{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background-color:#171714 !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  color:#fff !important;
}

#home .homeSpecial .specialCard[data-shopcat="injections"]{
  background-image:url('stock-photos/vitamin-d-ampoules.png') !important;
}

#home .homeSpecial .specialCard[data-shopcat="numbing"]{
  background-image:url('stock-photos/lignocain-hydrochloride-gel-2.png') !important;
}

#home .homeSpecial .specialCard::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(14,14,14,.58);
  pointer-events:none;
}

#home .homeSpecial .specialCard > *{
  position:relative !important;
  z-index:1 !important;
}

#home .homeSpecial .specialCard h2,
#home .homeSpecial .specialCard p,
#home .homeSpecial .specialCard .kicker,
#home .homeSpecial .specialCard .specialPrice{
  color:#fff !important;
}

/* keep completely static on hover */
#home .homeSpecial .specialCard,
#home .homeSpecial .specialCard:hover,
#home .homeSpecial .specialCard:focus{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
  transition:none !important;
}


/* Homepage visual simplification: solid hero + dark category panels */
#home .homeLanding:first-of-type,
#home .homeLanding:first-of-type .primaryPromo{
  background:#000 !important;
  background-image:none !important;
  color:#fff !important;
}

#home .homeLanding:first-of-type .primaryPromo::before,
#home .homeHeaderVideoOverlay{
  display:none !important;
}

#home .homeLanding:first-of-type .primaryPromo h1,
#home .homeLanding:first-of-type .primaryPromo p,
#home .homeLanding:first-of-type .primaryPromo .kicker{
  color:#fff !important;
}

/* Remove imagery from the two homepage category columns */
#home .homeSpecial .specialCard,
#home .homeSpecial .specialCard[data-shopcat="injections"],
#home .homeSpecial .specialCard[data-shopcat="numbing"]{
  background:#2f2f2f !important;
  background-image:none !important;
  color:#fff !important;
}

#home .homeSpecial .specialCard::before{
  display:none !important;
}

#home .homeSpecial .specialCard h2,
#home .homeSpecial .specialCard p,
#home .homeSpecial .specialCard .kicker,
#home .homeSpecial .specialCard .specialPrice{
  color:#fff !important;
}

/* Keep them completely static */
#home .homeSpecial .specialCard,
#home .homeSpecial .specialCard:hover,
#home .homeSpecial .specialCard:focus{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
  transition:none !important;
}


/* Shop dropdown: visible only on hover/open state */
.shopMenuDropdown{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.shopMenuWrap:hover .shopMenuDropdown,
.shopMenuWrap.shopMenuOpen .shopMenuDropdown{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}


/* Category header + sort control */
#shop .shopSortWrap{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:220px;
}

#shop .shopSortWrap label{
  font-size:12px !important;
  font-weight:600 !important;
  white-space:nowrap;
  color:var(--muted) !important;
}

#shop .shopSortWrap select{
  min-width:170px;
  height:42px;
  padding:0 34px 0 12px;
  border:1px solid rgba(23,23,20,.12);
  background:#fffdf9;
  color:var(--ink);
  font-size:13px !important;
}

@media(max-width:760px){
  #shop .shopSortWrap{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
    margin-top:14px;
  }

  #shop .shopSortWrap select{
    flex:1;
    min-width:0;
  }
}


/* Readable body typography while preserving luxury titles */
body,
p,
a,
button,
input,
select,
textarea,
label,
summary,
small,
span,
strong,
.navlinks,
.actions,
.shopCat,
.productSpecs,
.productRowMain > span,
.productRowEnd,
.note,
.detailText,
.field,
.shopSortWrap,
.shopMenuDropdown{
  font-family:'Inter', Arial, sans-serif !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}

/* Keep luxury/editorial titles exactly as they are */
h1,
h2,
h3,
h4,
h5,
h6,
.brand,
.productRowMain strong,
.specialCard h2,
.homeLanding h1,
.pinfo h1,
.kicker{
  font-family:'Cormorant Garamond', Georgia, serif !important;
}

/* Improve readability of main copy */
body{
  font-size:16px !important;
}

p,
.note,
.detailText,
.productRowMain > span,
.productSpecs span{
  line-height:1.6 !important;
  font-weight:500 !important;
}

.navlinks > button,
.actions button,
.shopCat,
.btn,
.shopSortWrap select{
  font-weight:600 !important;
}

.productSpecs small,
.field label,
.shopSortWrap label{
  font-weight:700 !important;
}


/* Nav refinements */
.shopMenuDropdown button{
  font-family:'Inter', Arial, sans-serif !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}

/* Right-side story/about link + separator */
.navRightStory{
  font-family:'Inter', Arial, sans-serif !important;
  font-weight:600 !important;
  color:var(--ink) !important;
  position:relative;
  padding-right:18px !important;
  margin-right:2px !important;
}

.navRightStory::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:20px;
  background:rgba(23,23,20,.16);
}


/* Navbar balance: keep brand dead center regardless of side content */
header .nav{
  position:relative !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
}

header .brand{
  position:absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  justify-self:auto !important;
  margin:0 !important;
}

header .navlinks{
  justify-self:start !important;
}

header .actions{
  justify-self:end !important;
}

/* Give the separator more space on its left */
.navRightStory{
  padding-right:18px !important;
  margin-right:10px !important;
}

.navRightStory::after{
  right:-2px !important;
}

/* Match dropdown links to footer-link typography */
.shopMenuDropdown button{
  font-family:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  letter-spacing:inherit !important;
}

/* Use the footer link style directly where available */
footer a,
.shopMenuDropdown button{
  font-family:'Inter', Arial, sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}


/* Final navbar alignment */
header .nav{
  position:relative !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
}

header .brand{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  z-index:2;
}

header .navlinks{
  justify-self:start !important;
  display:flex !important;
  align-items:center !important;
}

header .actions{
  justify-self:end !important;
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}

/* Right-side links use same typography as footer links */
header .actions button,
header .actions a,
.navRightStory,
.shopMenuDropdown button{
  font-family:'Inter', Arial, sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

/* Keep separator spacing clean */
.navRightStory{
  padding-right:20px !important;
  margin-right:2px !important;
}

.navRightStory::after{
  right:0 !important;
}


/* HARD FIX: keep logo centered, left nav left, actions flush right */
header .nav{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
}

header .brand{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  z-index:3 !important;
  white-space:nowrap !important;
}

header .navlinks{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:28px !important;
  margin-right:auto !important;
}

header .actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:18px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  padding-left:24px !important;
  flex:0 0 auto !important;
}

/* Force ALL navbar links/buttons to use same footer-style font */
header .navlinks > button,
header .navlinks > a,
header .shopMenuButton,
header .actions > button,
header .actions > a,
.navRightStory,
.shopMenuDropdown button{
  font-family:'Inter', Arial, sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
}

/* Keep separator clean with visible left breathing room */
.navRightStory{
  padding-right:20px !important;
  margin-right:2px !important;
}

.navRightStory::after{
  right:0 !important;
}

/* Mobile/tablet safety */
@media(max-width:900px){
  header .navlinks{
    gap:18px !important;
  }
  header .actions{
    gap:14px !important;
    padding-left:14px !important;
  }
}


/* Desktop navbar edge spacing */
@media(min-width:901px){
  header .nav{
    padding-left:50px !important;
    padding-right:50px !important;
    box-sizing:border-box !important;
  }
}


/* Shop page top intro: black background with white text */
#shop .shopHero,
#shop .shopIntro,
#shop .shopTopIntro{
  background:#000 !important;
  color:#fff !important;
}

#shop .shopHero .kicker,
#shop .shopHero h1,
#shop .shopHero h2,
#shop .shopHero p,
#shop .shopIntro .kicker,
#shop .shopIntro h1,
#shop .shopIntro h2,
#shop .shopIntro p,
#shop .shopTopIntro .kicker,
#shop .shopTopIntro h1,
#shop .shopTopIntro h2,
#shop .shopTopIntro p{
  color:#fff !important;
}


/* CLEAN MOBILE-FIRST PRODUCT CARDS */
#shop .productList{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  border:0 !important;
  background:transparent !important;
}

#shop .productCardImage{
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  padding:18px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f7f4ee !important;
}

#shop .productCardImage img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  filter:none !important;
}

#shop .productCardBody{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  padding:20px !important;
  background:#fff !important;
}

#shop .productCardCategory{
  margin:0 0 7px !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  color:#8a847b !important;
}

#shop .productCardTitle{
  margin:0 !important;
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:25px !important;
  font-weight:600 !important;
  line-height:1.08 !important;
  color:var(--ink) !important;
}

#shop .productCardBottom{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-top:auto !important;
  padding-top:18px !important;
  border-top:1px solid rgba(23,23,20,.08) !important;
}

#shop .productCardPrice,
#shop .productCardStock,
#shop .productCardAction{
  font-family:'Inter',Arial,sans-serif !important;
}

#shop .productCardPrice{
  font-size:14px !important;
  font-weight:700 !important;
}

#shop .productCardStock{
  font-size:12px !important;
  font-weight:600 !important;
  color:#77736c !important;
}

#shop .productCardAction{
  font-size:12px !important;
  font-weight:600 !important;
  color:var(--ink) !important;
  text-decoration:underline;
  text-underline-offset:4px;
  white-space:nowrap;
}

@media(max-width:1020px){
  #shop .productList{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }
}

@media(max-width:640px){
  #shop .productList{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }

  #shop .productRow,
  #shop .productRowDetailed{
    display:grid !important;
    grid-template-columns:108px minmax(0,1fr) !important;
    align-items:stretch !important;
  }

  #shop .productCardImage{
    width:108px !important;
    min-height:144px !important;
    aspect-ratio:auto !important;
    padding:10px !important;
  }

  #shop .productCardBody{
    min-width:0 !important;
    padding:15px !important;
  }

  #shop .productCardTitle{
    font-size:21px !important;
  }

  #shop .productCardBottom{
    margin-top:auto !important;
    padding-top:13px !important;
  }

  #shop .productCardAction{
    font-size:11px !important;
  }
}

@media(max-width:380px){
  #shop .productRow,
  #shop .productRowDetailed{
    grid-template-columns:92px minmax(0,1fr) !important;
  }

  #shop .productCardImage{
    width:92px !important;
  }

  #shop .productCardTitle{
    font-size:19px !important;
  }
}



#shop .productCardImage{
  overflow:hidden !important;
}


/* Footer: solid black + smaller brand title */
footer{
  background:#000 !important;
  color:#fff !important;
}

footer a,
footer p,
footer span,
footer small,
footer li{
  color:#fff !important;
}

footer .brand,
footer .footerBrand,
footer h2,
footer h3{
  color:#fff !important;
}

/* Match footer title font to header brand, but smaller */
footer .footerBrand,
footer .brand{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-size:22px !important;
  font-weight:700 !important;
  letter-spacing:-.035em !important;
  line-height:1 !important;
}


/* PRODUCT CARDS: absolutely no hover/focus visual effects */
#shop .productRow,
#shop .productRowDetailed,
#shop .productRow *,
#shop .productRowDetailed *{
  transition:none !important;
}


/* FINAL LOCK: absolutely no product-card hover/focus/active effects */
#shop .productRow,
#shop .productRowDetailed,
#shop .productRow *,
#shop .productRowDetailed *,
#shop .productRow::before,
#shop .productRow::after,
#shop .productRowDetailed::before,
#shop .productRowDetailed::after{
  transition:none !important;
  animation:none !important;
}


/* STATIC PRODUCT CARDS — NO HOVER/FOCUS/ACTIVE VISUAL STATES */
#shop .productRow,
#shop .productRowDetailed{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid rgba(23,23,20,.10) !important;
  background:#fff !important;
  overflow:hidden !important;
  text-align:left !important;
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
  transition:none !important;
  animation:none !important;
}

#shop .productRow::before,
#shop .productRow::after,
#shop .productRowDetailed::before,
#shop .productRowDetailed::after{
  content:none !important;
  display:none !important;
}

#shop .productCardImage{
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  padding:18px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f7f4ee !important;
  overflow:hidden !important;
  transform:none !important;
  filter:none !important;
  transition:none !important;
}

#shop .productCardImage img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  scale:1 !important;
  filter:none !important;
  opacity:1 !important;
  transition:none !important;
  animation:none !important;
}

#shop .productCardBody{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  width:100% !important;
  padding:20px !important;
  box-sizing:border-box !important;
  background:#fff !important;
  transition:none !important;
}

#shop .productCardCategory,
#shop .productCardTitle,
#shop .productCardBottom,
#shop .productCardPrice,
#shop .productCardStock,
#shop .productCardAction{
  transition:none !important;
  transform:none !important;
  filter:none !important;
}

@media(max-width:640px){
  #shop .productRow,
  #shop .productRowDetailed{
    display:grid !important;
    grid-template-columns:108px minmax(0,1fr) !important;
  }

  #shop .productCardImage{
    width:108px !important;
    min-height:144px !important;
    aspect-ratio:auto !important;
    padding:10px !important;
  }
}


/* Long-form product information */
.productLongform{
  background:#fff;
  border-top:1px solid rgba(23,23,20,.10);
}
.productLongformInner{
  max-width:1180px;
  margin:0 auto;
  padding:70px 24px 90px;
}
.productLongform .productContentLead{
  max-width:820px;
  margin-bottom:54px;
}
.productLongform h2{
  margin:0 0 18px;
  font-size:38px;
  line-height:1.05;
}
.productLongform h3{
  margin:42px 0 14px;
  font-size:27px;
  line-height:1.1;
}
.productLongform p,
.productLongform li,
.productLongform td,
.productLongform th{
  font-family:'Inter',Arial,sans-serif;
  font-size:15px;
  line-height:1.7;
}
.productLongform p{
  margin:0 0 16px;
}
.productLongform ul{
  margin:12px 0 20px 20px;
  padding:0;
}
.productLongform li{
  margin:5px 0;
}
.productSpecTableWrap{
  margin:28px 0 46px;
  overflow-x:auto;
  border:1px solid rgba(23,23,20,.10);
}
.productSpecTable{
  width:100%;
  border-collapse:collapse;
  min-width:620px;
}
.productSpecTable th,
.productSpecTable td{
  padding:14px 18px;
  text-align:left;
  border-bottom:1px solid rgba(23,23,20,.08);
}
.productSpecTable th{
  width:34%;
  background:#f7f4ee;
  font-weight:700;
}
.productSpecTable tr:last-child th,
.productSpecTable tr:last-child td{
  border-bottom:0;
}
.productLongform .infoGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 48px;
  margin-top:34px;
}
.productLongform .infoBlock{
  padding-top:22px;
  border-top:1px solid rgba(23,23,20,.10);
}
.productLongform .infoBlock h3{
  margin-top:0;
}
@media(max-width:700px){
  .productLongformInner{
    padding:48px 20px 64px;
  }
  .productLongform h2{
    font-size:31px;
  }
  .productLongform h3{
    font-size:24px;
  }
  .productLongform .infoGrid{
    grid-template-columns:1fr;
    gap:0;
  }
}


/* Shopify-style sticky product image on desktop */
@media(min-width:901px){
  #product .productPage{
    align-items:flex-start !important;
  }

  #product .productPage > div:first-child{
    position:sticky !important;
    top:110px !important;
    align-self:flex-start !important;
    height:max-content !important;
  }

  #product .mainImg{
    position:relative !important;
  }
}

/* Keep mobile/tablet scrolling natural */
@media(max-width:900px){
  #product .productPage > div:first-child{
    position:static !important;
    top:auto !important;
  }
}


/* SITE TYPOGRAPHY: use body font everywhere except the main top-nav brand */
body,
p,
a,
button,
input,
select,
textarea,
label,
small,
span,
li,
td,
th,
strong,
h1,
h2,
h3,
h4,
h5,
h6,
.kicker,
.productCardTitle,
.productLongform h2,
.productLongform h3,
#product .pinfo h1,
#shop h1,
#shop h2,
#shop h3,
.homeLanding h1,
.homeLanding h2,
.homeRailHead h2,
.specialCard h2,
footer .footerBrand,
footer .brand{
  font-family:'Inter', Arial, sans-serif !important;
}

/* Keep ONLY the main top navigation logo/title in the luxury serif */
header .brand{
  font-family:'Cormorant Garamond', Georgia, serif !important;
}

/* Slight heading weight/spacing cleanup for Inter */
h1,h2,h3,h4,h5,h6,
.productCardTitle,
.productLongform h2,
.productLongform h3,
#product .pinfo h1{
  font-weight:700 !important;
  letter-spacing:-.025em !important;
}


/* Product pages: simple Quality + Delivery sliders only */
#product .productTrustSliders{
  background:#fff !important;
  padding:0 0 72px !important;
}

#product .productTrustSliders .container{
  max-width:1180px !important;
}

#product .productTrustSliders details{
  border-top:1px solid rgba(23,23,20,.14) !important;
  margin:0 !important;
  background:transparent !important;
}

#product .productTrustSliders details:last-child{
  border-bottom:1px solid rgba(23,23,20,.14) !important;
}

#product .productTrustSliders summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:64px !important;
  padding:0 !important;
  cursor:pointer !important;
  list-style:none !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  color:#111 !important;
}

#product .productTrustSliders summary::-webkit-details-marker{
  display:none !important;
}

#product .productTrustSliders summary::after{
  content:'+' !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:22px !important;
  font-weight:400 !important;
  line-height:1 !important;
}

#product .productTrustSliders details[open] summary::after{
  content:'−' !important;
}

#product .productTrustSliders .detailText{
  max-width:760px !important;
  padding:0 0 24px !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:14px !important;
  line-height:1.7 !important;
  color:#555 !important;
}

@media(max-width:700px){
  #product .productTrustSliders{
    padding-bottom:52px !important;
  }

  #product .productTrustSliders summary{
    min-height:58px !important;
  }
}


/* Quality + Delivery tabs inside main product info column */
#product .productInlineSliders{
  margin-top:18px !important;
  border-bottom:1px solid rgba(23,23,20,.14) !important;
}

#product .productInlineSliders details{
  margin:0 !important;
  border-top:1px solid rgba(23,23,20,.14) !important;
  background:transparent !important;
}

#product .productInlineSliders summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:58px !important;
  padding:0 !important;
  cursor:pointer !important;
  list-style:none !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  color:#111 !important;
}

#product .productInlineSliders summary::-webkit-details-marker{
  display:none !important;
}

#product .productInlineSliders summary::after{
  content:'+' !important;
  font-size:21px !important;
  font-weight:400 !important;
  line-height:1 !important;
}

#product .productInlineSliders details[open] summary::after{
  content:'−' !important;
}

#product .productInlineSliders .detailText{
  padding:0 0 20px !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.65 !important;
  color:#555 !important;
}


/* Product page description + specs use the standard body font */
#product .pinfo .sub,
#product .productSpecBlock,
#product .productSpecBlock small,
#product .productSpecBlock strong,
#product #pSub,
#product #specSizeLabel,
#product #specSize,
#product #specDose,
#product #specExpiry,
#product #specRoute{
  font-family:'Inter', Arial, sans-serif !important;
}

#product .pinfo .sub,
#product #pSub{
  font-size:14px !important;
  line-height:1.6 !important;
  font-weight:500 !important;
}

#product .productSpecBlock small{
  font-size:11px !important;
  font-weight:600 !important;
}

#product .productSpecBlock strong{
  font-size:14px !important;
  font-weight:600 !important;
}


/* Product type indication tags */
#product #productKicker{
  display:inline-block !important;
  width:auto !important;
  background:#000 !important;
  color:#fff !important;
  padding:3px !important;
  margin-bottom:10px !important;
  line-height:1.15 !important;
}


#product #productSpecsAccordion > div{
  margin:4px 0 !important;
}


/* Product page: full-width Add to bag */
#product .pactions{
  display:block !important;
  width:100% !important;
}

#product #addBtn{
  display:block !important;
  width:100% !important;
  margin:0 !important;
}


/* Product page: large full-height left image panel on desktop */
@media(min-width:901px){
  #product .productPage{
    max-width:none !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,50vw) minmax(0,1fr) !important;
    gap:0 !important;
    align-items:stretch !important;
  }

  #product .productPage > div:first-child{
    position:sticky !important;
    top:0 !important;
    align-self:start !important;
    width:50vw !important;
    height:100vh !important;
    max-height:100vh !important;
    background:#f7f4ee !important;
    overflow:hidden !important;
  }

  #product .mainImg{
    width:100% !important;
    height:100% !important;
    min-height:100vh !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f7f4ee !important;
    overflow:hidden !important;
  }

  #product .mainImg img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    padding:40px !important;
    box-sizing:border-box !important;
  }

  #product .pinfo{
    width:100% !important;
    max-width:760px !important;
    padding:56px 56px 72px !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
  }
}

/* Tablet/mobile: return to normal stacked product layout */
@media(max-width:900px){
  #product .productPage{
    display:block !important;
    width:auto !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  #product .productPage > div:first-child{
    position:static !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
  }

  #product .mainImg{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1 / 1 !important;
  }

  #product .mainImg img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:18px !important;
  }

  #product .pinfo{
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}


/* FINAL desktop product image behaviour:
   entire image visible inside viewport + stays fixed while right column scrolls */
@media(min-width:901px){
  #product .productPage{
    align-items:start !important;
  }

  #product .productPage > div:first-child{
    position:sticky !important;
    top:72px !important;
    width:50vw !important;
    height:calc(100vh - 72px) !important;
    min-height:0 !important;
    max-height:calc(100vh - 72px) !important;
    align-self:start !important;
    overflow:hidden !important;
    background:#f7f4ee !important;
  }

  #product .mainImg{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f7f4ee !important;
  }

  #product .mainImg img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    padding:24px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    display:block !important;
  }
}


/* Product breadcrumb inside right info column */
#product .productBreadcrumb{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin:0 0 14px !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:12px !important;
  line-height:1.4 !important;
  color:#777 !important;
}

#product .productBreadcrumb button{
  appearance:none !important;
  border:0 !important;
  background:none !important;
  padding:0 !important;
  margin:0 !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  color:#777 !important;
  cursor:pointer !important;
}

#product .productBreadcrumb span{
  font-family:'Inter',Arial,sans-serif !important;
  font-size:12px !important;
  color:#777 !important;
}


/* Align product info column to the left of the right-hand panel */
@media(min-width:901px){
  #product .pinfo{
    margin-left:0 !important;
    margin-right:auto !important;
    justify-self:start !important;
    text-align:left !important;
  }
}


/* Product pricing table */
#product .packPriceTable{
  width:100%;
  margin:18px 0 18px;
  border-top:1px solid rgba(23,23,20,.14);
}

#product .packPriceHead,
#product .packPriceRow{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:20px;
  width:100%;
  box-sizing:border-box;
}

#product .packPriceHead{
  padding:10px 0;
  font-family:'Inter',Arial,sans-serif;
  font-size:11px;
  font-weight:700;
  color:#777;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-bottom:1px solid rgba(23,23,20,.10);
}

#product .packPriceRow{
  border:0;
  border-bottom:1px solid rgba(23,23,20,.10);
  background:transparent;
  padding:14px 0;
  text-align:left;
  cursor:pointer;
  font-family:'Inter',Arial,sans-serif;
  color:#111;
  transition:background .15s ease,padding .15s ease;
}

#product .packPriceRow span,
#product .packPriceRow strong{
  font-family:'Inter',Arial,sans-serif !important;
  font-size:14px !important;
}

#product .packPriceRow strong{
  font-weight:700 !important;
}

#product .packPriceRow:hover{
  background:#f4f1eb;
  padding-left:10px;
  padding-right:10px;
}

#product .packPriceRow.selected{
  background:#000;
  color:#fff;
  padding-left:10px;
  padding-right:10px;
}

#product .packPriceRow.selected strong,
#product .packPriceRow.selected span{
  color:#fff !important;
}

@media(max-width:700px){
  #product .packPriceRow{
    padding-top:13px;
    padding-bottom:13px;
  }
}


/* Product page desktop layout:
   right info column is capped and anchored right;
   left image fills all remaining viewport width */
@media(min-width:901px){
  #product .productPage{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) clamp(560px,50vw,760px) !important;
    gap:0 !important;
    align-items:start !important;
  }

  #product .productPage > div:first-child{
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
  }

  #product .mainImg{
    width:100% !important;
    max-width:none !important;
  }

  #product .pinfo{
    width:100% !important;
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:0 !important;
    justify-self:end !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }
}


/* Refined tier-pricing selector */
#product .packPriceTable{
  width:100% !important;
  margin:20px 0 18px !important;
  border:1px solid rgba(23,23,20,.12) !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

#product .packPriceHead,
#product .packPriceRow{
  display:grid !important;
  grid-template-columns:minmax(150px,1.4fr) .8fr .8fr .8fr !important;
  align-items:center !important;
  gap:16px !important;
  width:100% !important;
  box-sizing:border-box !important;
}

#product .packPriceHead{
  padding:11px 14px !important;
  background:#f6f3ee !important;
  border-bottom:1px solid rgba(23,23,20,.12) !important;
  font-family:'Inter',Arial,sans-serif !important;
  font-size:10px !important;
  font-weight:700 !important;
  color:#6f6b64 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}

#product .packPriceRow{
  min-height:54px !important;
  padding:13px 14px !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(23,23,20,.09) !important;
  background:#fff !important;
  color:#111 !important;
  text-align:left !important;
  cursor:pointer !important;
  transition:background .14s ease,color .14s ease !important;
}

#product .packPriceRow:last-child{
  border-bottom:0 !important;
}

#product .packPriceRow:hover{
  background:#f7f5f1 !important;
  padding:13px 14px !important;
}

#product .packPriceRow.selected{
  background:#111 !important;
  color:#fff !important;
  padding:13px 14px !important;
}

#product .packPriceRow span,
#product .packPriceRow strong{
  font-family:'Inter',Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.35 !important;
}

#product .packPriceRow .packLabel{
  font-weight:600 !important;
}

#product .packPriceRow .packTotal{
  font-weight:700 !important;
}

#product .packPriceRow .packUnit{
  color:#6f6b64 !important;
}

#product .packPriceRow .packSaving{
  font-size:12px !important;
  font-weight:700 !important;
  color:#4f6a52 !important;
}

#product .packPriceRow.selected .packLabel,
#product .packPriceRow.selected .packTotal,
#product .packPriceRow.selected .packUnit,
#product .packPriceRow.selected .packSaving{
  color:#fff !important;
}

#product #pPrice{
  font-family:'Inter',Arial,sans-serif !important;
}

#product #addBtn:disabled{
  opacity:.45 !important;
  cursor:not-allowed !important;
}

@media(max-width:640px){
  #product .packPriceHead{
    display:none !important;
  }

  #product .packPriceRow{
    grid-template-columns:1fr auto !important;
    gap:5px 12px !important;
  }

  #product .packPriceRow .packLabel{
    grid-column:1;
  }

  #product .packPriceRow .packTotal{
    grid-column:2;
    grid-row:1;
    text-align:right;
  }

  #product .packPriceRow .packUnit{
    grid-column:1;
    grid-row:2;
    font-size:11px !important;
  }

  #product .packPriceRow .packSaving{
    grid-column:2;
    grid-row:2;
    text-align:right;
    font-size:11px !important;
  }
}


/* Cart drawer continue-shopping button */
#continueShoppingBtn{
  margin-top:10px !important;
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(17,17,17,.18) !important;
}


/* Add to bag stays solid black */
#product #addBtn,
#product #addBtn:disabled,
#product #addBtn:hover,
#product #addBtn:focus{
  background:#000 !important;
  color:#fff !important;
  border-color:#000 !important;
}

/* Keep disabled state readable without changing button colour */
#product #addBtn:disabled{
  opacity:.45 !important;
}

/* Selected pricing row uses a lighter active state */
#product .packPriceRow.selected{
  background:#ece8e1 !important;
  color:#111 !important;
  padding:13px 14px !important;
}

#product .packPriceRow.selected .packLabel,
#product .packPriceRow.selected .packTotal,
#product .packPriceRow.selected .packUnit{
  color:#111 !important;
}

#product .packPriceRow.selected .packSaving{
  color:#3f5c45 !important;
}


/* Pricing table header row: white background */
#product .packPriceHead{
  background:#fff !important;
}


/* Keep the disabled "Select a pack" button solid black */
#product #addBtn:disabled{
  background:#000 !important;
  color:#fff !important;
  border-color:#000 !important;
  opacity:1 !important;
  cursor:not-allowed !important;
}


/* Independent product accordions */
#product .productInlineSliders details{
  overflow:hidden !important;
}

#product .productInlineSliders details .detailText{
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .18s ease, transform .18s ease !important;
}

#product .productInlineSliders details[open] .detailText{
  opacity:1;
  transform:translateY(0);
}


/* Pricing table header: black with white text */
#product .packPriceHead{
  background:#000 !important;
  color:#fff !important;
  border-bottom-color:#000 !important;
}

#product .packPriceHead span{
  color:#fff !important;
}


/* =========================================================
   MOBILE RESPONSIVE FIXES
   ========================================================= */
@media(max-width:900px){
  html, body{
    overflow-x:hidden !important;
  }

  header .nav{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  #product .productPage{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 16px !important;
    box-sizing:border-box !important;
  }

  #product .productPage > div:first-child{
    position:static !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 0 24px !important;
    overflow:visible !important;
  }

  #product .mainImg{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:1 / 1 !important;
    padding:0 !important;
    margin:0 !important;
  }

  #product .mainImg img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:contain !important;
    padding:14px !important;
    box-sizing:border-box !important;
  }

  #product .pinfo{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 0 36px !important;
    box-sizing:border-box !important;
    text-align:left !important;
  }

  #product .productBreadcrumb{
    width:100% !important;
    margin-bottom:12px !important;
  }

  #product #pTitle{
    font-size:30px !important;
    line-height:1.05 !important;
  }

  #product #pSub{
    font-size:14px !important;
    line-height:1.55 !important;
  }

  #product .productSpecBlock{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1px !important;
    width:100% !important;
  }

  #product .productSpecBlock > div{
    min-width:0 !important;
    padding:12px !important;
  }

  #product .numbingDetailBlock{
    grid-template-columns:1fr !important;
    width:100% !important;
  }

  #product .packPriceTable{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  #product .packPriceHead{
    display:none !important;
  }

  #product .packPriceRow{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:5px 12px !important;
    width:100% !important;
    padding:13px 12px !important;
    box-sizing:border-box !important;
  }

  #product .packPriceRow:hover,
  #product .packPriceRow.selected{
    padding:13px 12px !important;
  }

  #product .packPriceRow .packLabel{
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
  }

  #product .packPriceRow .packTotal{
    grid-column:2 !important;
    grid-row:1 !important;
    text-align:right !important;
    white-space:nowrap !important;
  }

  #product .packPriceRow .packUnit{
    grid-column:1 !important;
    grid-row:2 !important;
    font-size:11px !important;
  }

  #product .packPriceRow .packSaving{
    grid-column:2 !important;
    grid-row:2 !important;
    text-align:right !important;
    white-space:nowrap !important;
    font-size:11px !important;
  }

  #product .pactions,
  #product #addBtn{
    width:100% !important;
  }

  #product .note{
    font-size:12px !important;
    line-height:1.55 !important;
  }

  #product .productInlineSliders{
    width:100% !important;
  }

  #product .productInlineSliders summary{
    width:100% !important;
    min-height:56px !important;
    font-size:14px !important;
  }

  #product .productInlineSliders .detailText{
    font-size:13px !important;
    line-height:1.6 !important;
  }

  .drawer,
  .search{
    width:min(100vw,420px) !important;
    max-width:100vw !important;
  }
}

@media(max-width:560px){
  #product .productPage{
    padding:0 14px !important;
  }

  #product #pTitle{
    font-size:27px !important;
  }

  #product .productSpecBlock{
    grid-template-columns:1fr !important;
  }

  #product .productCardBottom{
    flex-wrap:wrap !important;
  }

  footer .container,
  .container{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}


/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */
.mobileMenuBtn,
.mobileNavPanel,
.mobileNavOverlay{
  display:none;
}

@media(max-width:900px){
  header .nav{
    min-height:64px !important;
    display:grid !important;
    grid-template-columns:44px 1fr auto !important;
    align-items:center !important;
    gap:8px !important;
    padding:0 14px !important;
  }

  header .navlinks,
  header .navRightStory{
    display:none !important;
  }

  header .brand{
    position:static !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    justify-self:center !important;
    margin:0 !important;
    font-size:22px !important;
    white-space:nowrap !important;
  }

  header .actions{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
  }

  header .actions #searchBtn{
    display:none !important;
  }

  header .actions #cartBtn{
    font-size:12px !important;
    white-space:nowrap !important;
  }

  .mobileMenuBtn{
    display:flex !important;
    width:38px !important;
    height:38px !important;
    padding:8px !important;
    border:0 !important;
    background:transparent !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:5px !important;
    cursor:pointer !important;
    justify-self:start !important;
  }

  .mobileMenuBtn span{
    display:block !important;
    width:22px !important;
    height:1.5px !important;
    background:#111 !important;
  }

  .mobileNavOverlay{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    background:rgba(0,0,0,.34) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transition:opacity .25s ease, visibility .25s ease !important;
    z-index:998 !important;
  }

  .mobileNavOverlay.open{
    opacity:1 !important;
    visibility:visible !important;
  }

  .mobileNavPanel{
    display:block !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    width:min(86vw,360px) !important;
    height:100dvh !important;
    background:#fff !important;
    z-index:999 !important;
    transform:translateX(-100%) !important;
    transition:transform .3s cubic-bezier(.4,0,.2,1) !important;
    overflow-y:auto !important;
    box-shadow:18px 0 40px rgba(0,0,0,.12) !important;
  }

  .mobileNavPanel.open{
    transform:translateX(0) !important;
  }

  .mobileNavHead{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:64px !important;
    padding:0 20px !important;
    border-bottom:1px solid rgba(17,17,17,.10) !important;
  }

  .mobileNavHead strong{
    font-family:'Inter',Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
  }

  #mobileMenuClose{
    width:38px !important;
    height:38px !important;
    border:0 !important;
    background:transparent !important;
    font-size:28px !important;
    line-height:1 !important;
    cursor:pointer !important;
  }

  .mobileNavLinks{
    padding:18px 20px 30px !important;
  }

  .mobileNavLinks button{
    width:100% !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
    font-family:'Inter',Arial,sans-serif !important;
    color:#111 !important;
    cursor:pointer !important;
  }

  .mobileMainLink{
    padding:16px 0 !important;
    font-size:18px !important;
    font-weight:700 !important;
    border-bottom:1px solid rgba(17,17,17,.10) !important;
  }

  .mobileShopLinks{
    padding:8px 0 14px 14px !important;
    border-bottom:1px solid rgba(17,17,17,.10) !important;
  }

  .mobileShopLinks button{
    padding:10px 0 !important;
    font-size:13px !important;
    font-weight:500 !important;
    color:#555 !important;
  }

  body.mobileNavOpen{
    overflow:hidden !important;
  }
}


/* Mobile product specs: always 2 columns */
@media(max-width:900px){
  #product .productSpecBlock{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1px !important;
    width:100% !important;
  }

  #product .productSpecBlock > div{
    min-width:0 !important;
    padding:12px !important;
    box-sizing:border-box !important;
  }
}

/* Override older single-column mobile rule */
@media(max-width:560px){
  #product .productSpecBlock{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* Product specifications accordion table */
#product .accordionSpecTable{
  width:100% !important;
  border-top:1px solid rgba(17,17,17,.10) !important;
}

#product .accordionSpecRow{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) !important;
  gap:18px !important;
  align-items:start !important;
  padding:11px 0 !important;
  border-bottom:1px solid rgba(17,17,17,.10) !important;
}

#product .accordionSpecRow span,
#product .accordionSpecRow strong{
  font-family:'Inter',Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

#product .accordionSpecRow span{
  color:#6f6b64 !important;
  font-weight:500 !important;
}

#product .accordionSpecRow strong{
  color:#111 !important;
  font-weight:600 !important;
}

@media(max-width:560px){
  #product .accordionSpecRow{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr) !important;
    gap:12px !important;
  }

  #product .accordionSpecRow span,
  #product .accordionSpecRow strong{
    font-size:12px !important;
  }
}


/* Global corner style */
:root{
  --atera-radius:5px;
}

button,
.btn,
input,
select,
textarea,
.productRow,
.productRowDetailed,
.productCardImage,
.specialCard,
.homeRailCard,
.profNote,
.packPriceTable,
.packPriceHead,
.packPriceRow,
.productSpecBlock > div,
.numbingDetailBlock > div,
.productInlineSliders details,
.accordionSpecTable,
.drawer,
.search,
.mobileNavPanel,
.cartItem,
.emptyCategory,
.shopCategoryBar,
.shopSort select,
.mainImg,
.imagePromo,
.homePromo,
section,
.card{
  border-radius:var(--atera-radius) !important;
}

/* Keep full-width structural wrappers from looking artificially rounded */
header,
footer,
main,
.view,
.container,
.shopHero,
.homeLanding,
.homeSpecial,
.homeProductRail,
.section{
  border-radius:0 !important;
}


/* Desktop primary navigation emphasis */
@media(min-width:901px){
  header .navlinks > .shopMenuWrap > .shopMenuButton,
  header .navlinks > button[data-route="professionals"]{
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1 !important;
  }

  header .navlinks > .shopMenuWrap > .shopMenuButton{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    padding-right:28px !important;
  }

  header .navlinks > .shopMenuWrap > .shopMenuButton::after{
    content:"⌄" !important;
    position:absolute !important;
    right:7px !important;
    top:50% !important;
    transform:translateY(-54%) !important;
    font-size:20px !important;
    line-height:1 !important;
    font-weight:600 !important;
    pointer-events:none !important;
  }
}


/* =========================================================
   FLAT WHITE SITE — NO SHADOWS OR GRADIENTS
   ========================================================= */
html,
body,
main,
.view,
#product,
#shop,
#home,
#professionals,
#story,
#checkout,
.container,
.productPage,
.pinfo,
.mainImg,
.shopHero,
.section,
.homeLanding,
.homeSpecial,
.homeProductRail,
.productInlineSliders,
.productSpecBlock,
.numbingDetailBlock{
  background:#fff !important;
  background-image:none !important;
}

header{
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
}

header::before,
header::after,
#product::before,
#product::after,
.productPage::before,
.productPage::after,
.pinfo::before,
.pinfo::after{
  content:none !important;
  display:none !important;
}

#product .pinfo,
#product .productPage > div:first-child,
#product .mainImg{
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
}

.productRow,
.productRowDetailed,
.productCardImage,
.specialCard,
.homeRailCard,
.profNote,
.packPriceTable,
.packPriceHead,
.packPriceRow,
.productSpecBlock > div,
.numbingDetailBlock > div,
.productInlineSliders details,
.accordionSpecTable,
.drawer,
.search,
.mobileNavPanel,
.cartItem,
.emptyCategory,
.imagePromo,
.homePromo,
.card{
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
}

*{
  text-shadow:none !important;
}

/* Remove gradients from ordinary site UI */
header,
footer,
main,
.view,
#product,
#shop,
#professionals,
#story,
#checkout,
.productPage,
.pinfo,
.mainImg,
.productRow,
.productRowDetailed,
.productCardImage,
.packPriceTable,
.packPriceHead,
.packPriceRow,
.productSpecBlock > div,
.numbingDetailBlock > div,
.productInlineSliders details,
.drawer,
.search,
.mobileNavPanel,
.cartItem,
.shopHero,
.section{
  background-image:none !important;
}


/* Footer + recurring quantities banner: solid black */
footer,
footer .container,
footer .footerGrid,
footer .footerBottom,
footer .footerLinks,
footer .footerBrand,
footer *{
  background:#000 !important;
  background-image:none !important;
}

footer{
  color:#fff !important;
  box-shadow:none !important;
}

footer a,
footer button,
footer p,
footer span,
footer strong,
footer h1,
footer h2,
footer h3,
footer h4{
  color:#fff !important;
}

/* Remove any white strip beneath footer */
body{
  background:#000 !important;
}

main,
.view,
#home,
#shop,
#product,
#professionals,
#story,
#checkout{
  background:#fff !important;
}

/* Larger / recurring quantities CTA banner */
.profCta,
.bulkCta,
.recurringCta,
.largerQty,
.largerQuantity,
.orderHelp,
.bottomBanner,
.ctaBand{
  background:#000 !important;
  background-image:none !important;
  color:#fff !important;
  box-shadow:none !important;
}

.profCta *,
.bulkCta *,
.recurringCta *,
.largerQty *,
.largerQuantity *,
.orderHelp *,
.bottomBanner *,
.ctaBand *{
  color:#fff !important;
}

/* Catch the existing banner if it is styled generically */
section:has(h2),
section:has(h3){
  background-image:none !important;
}


/* Sticky secondary shop navigation */
.shopCategoryBar{
  position:sticky !important;
  top:72px !important;
  z-index:90 !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  border-bottom:1px solid rgba(17,17,17,.08) !important;
}

@media(max-width:900px){
  .shopCategoryBar{
    top:64px !important;
  }
}


/* Product card typography: match main body font */
.productCardTitle,
.productRow .productCardTitle,
.productRowDetailed .productCardTitle,
.homeRailCard strong{
  font-family:'Inter', Arial, sans-serif !important;
  font-style:normal !important;
  letter-spacing:normal !important;
}


/* Universal site typography: footer/body font everywhere except main top logo */
html,
body,
body *,
button,
input,
select,
textarea,
a,
p,
span,
small,
strong,
label,
h1,
h2,
h3,
h4,
h5,
h6,
nav,
summary,
.productCardTitle,
.productCardCategory,
.productCardPrice,
.productCardAction,
.packPriceTable,
.productSpecBlock,
.numbingDetailBlock,
.productInlineSliders,
.accordionSpecTable,
footer,
footer *{
  font-family:'Inter', Arial, sans-serif !important;
}

/* Only the main top-navigation logo/title keeps the serif brand font */
header .brand{
  font-family:'Cormorant Garamond', Georgia, serif !important;
}


/* Force category/shop product-card titles to use the site body font */
#shop .productRow .productCardTitle,
#shop .productRowDetailed .productCardTitle,
#shop #productList .productCardTitle,
#shop #productList strong.productCardTitle,
.productList .productCardTitle,
.productCardBody .productCardTitle{
  font-family:'Inter', Arial, sans-serif !important;
  font-style:normal !important;
  font-weight:600 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}


/* Product cards: border turns black on hover only */
#shop .productRow,
#shop .productRowDetailed{
  border:1px solid rgba(17,17,17,.12) !important;
  transition:border-color .16s ease !important;
}

#shop .productRow:hover,
#shop .productRowDetailed:hover{
  border-color:#000 !important;
  transform:none !important;
  box-shadow:none !important;
}

#shop .productRow:hover .productCardImage img,
#shop .productRowDetailed:hover .productCardImage img{
  transform:none !important;
  scale:1 !important;
}


/* Category/shop product-card titles: smaller, cleaner sizing */
#shop .productRow .productCardTitle,
#shop .productRowDetailed .productCardTitle,
#shop #productList .productCardTitle,
#shop #productList strong.productCardTitle,
.productCardBody .productCardTitle{
  font-size:17px !important;
  line-height:1.25 !important;
}

@media(max-width:900px){
  #shop .productRow .productCardTitle,
  #shop .productRowDetailed .productCardTitle,
  #shop #productList .productCardTitle,
  #shop #productList strong.productCardTitle,
  .productCardBody .productCardTitle{
    font-size:15px !important;
    line-height:1.3 !important;
  }
}


/* Category/shop product prices: black and slightly larger */
#shop .productCardPrice,
#shop #productList .productCardPrice,
.productCardBody .productCardPrice{
  color:#000 !important;
  font-size:15px !important;
  font-weight:600 !important;
}

@media(max-width:900px){
  #shop .productCardPrice,
  #shop #productList .productCardPrice,
  .productCardBody .productCardPrice{
    font-size:14px !important;
  }
}


/* Mobile page gutters: keep content away from screen edges */
@media(max-width:900px){
  #shop .container,
  #home .container,
  #professionals .container,
  #story .container,
  #checkout .container,
  footer .container{
    padding-left:14px !important;
    padding-right:14px !important;
    box-sizing:border-box !important;
  }

  #shop .shopCategoryBar .container{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  #shop #productList{
    width:100% !important;
    box-sizing:border-box !important;
  }
}


/* Global section spacing */
.section{
  padding:30px 0 !important;
}


/* Category page main titles: smaller */
#shop #shopCategoryTitle{
  font-size:30px !important;
  line-height:1.1 !important;
}

@media(max-width:900px){
  #shop #shopCategoryTitle{
    font-size:24px !important;
  }
}


/* Secondary shop category navigation */
.shopCategoryBar{
  background:#f6f2ea !important;
  background-image:none !important;
}

.shopCategoryBar .shopCategoryScroll{
  background:#f6f2ea !important;
}

/* Make horizontal scrolling obvious on mobile */
@media(max-width:900px){
  .shopCategoryBar .shopCategoryScroll{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:auto !important;
    scrollbar-color:#7d786f #ded9cf !important;
    padding-bottom:8px !important;
  }

  .shopCategoryBar .shopCategoryScroll::-webkit-scrollbar{
    height:7px !important;
    display:block !important;
  }

  .shopCategoryBar .shopCategoryScroll::-webkit-scrollbar-track{
    background:#ded9cf !important;
    border-radius:5px !important;
  }

  .shopCategoryBar .shopCategoryScroll::-webkit-scrollbar-thumb{
    background:#7d786f !important;
    border-radius:5px !important;
  }

  .shopCategoryBar .shopCategoryScroll::-webkit-scrollbar-thumb:hover{
    background:#000 !important;
  }
}


/* Secondary category-nav buttons: compact white buttons */
.shopCategoryBar .shopCat{
  background:#fff !important;
  color:#111 !important;
  border:1px solid transparent !important;
  padding:7px 12px !important;
  box-shadow:none !important;
  transform:none !important;
  transition:border-color .14s ease !important;
}

.shopCategoryBar .shopCat:hover{
  background:#fff !important;
  color:#111 !important;
  border:1px solid #000 !important;
  box-shadow:none !important;
  transform:none !important;
}

.shopCategoryBar .shopCat.active{
  background:#fff !important;
  color:#111 !important;
  border:1px solid #000 !important;
}

@media(max-width:900px){
  .shopCategoryBar .shopCat{
    padding:6px 10px !important;
  }
}


/* Secondary category-nav links: tighter sizing and padding */
.shopCategoryBar .shopCat{
  font-size:12px !important;
  line-height:1.1 !important;
  padding:4px 8px !important;
  min-height:0 !important;
}

@media(max-width:900px){
  .shopCategoryBar .shopCat{
    font-size:11px !important;
    padding:4px 7px !important;
  }
}


/* Remove bottom border from sticky category navigation */
.shopCategoryBar{
  border-bottom:none !important;
}


/* Sticky category nav: uppercase labels */
.shopCategoryBar .shopCat{
  text-transform:uppercase !important;
}


/* Category navigation: non-sticky, no background colour */
.shopCategoryBar{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
  background:transparent !important;
  background-image:none !important;
  border-bottom:none !important;
}

.shopCategoryBar .shopCategoryScroll{
  background:transparent !important;
}


/* Category nav buttons: light grey border, black on hover/active */
.shopCategoryBar .shopCat{
  border:1px solid #d8d8d8 !important;
}

.shopCategoryBar .shopCat:hover,
.shopCategoryBar .shopCat.active{
  border-color:#000 !important;
}


/* Compact homepage featured-products section */
#home .homeFeaturedCompact{
  padding:26px 0 !important;
}

#home .homeFeaturedCompact .homeRailHead{
  margin-bottom:14px !important;
}

#home .homeFeaturedCompact .homeRailHead h2{
  font-size:24px !important;
  line-height:1.15 !important;
  margin:4px 0 0 !important;
}

#home .homeFeaturedCompact .homeRailCard{
  min-height:118px !important;
  padding:16px !important;
}

#home .homeFeaturedCompact .homeRailCard strong{
  font-size:15px !important;
  line-height:1.25 !important;
}

@media(max-width:900px){
  #home .homeFeaturedCompact{
    padding:22px 0 !important;
  }

  #home .homeFeaturedCompact .homeRailHead h2{
    font-size:21px !important;
  }
}


/* Featured products: horizontal scroll + visible scrollbar */
#home .homeFeaturedCompact .homeRail{
  display:flex !important;
  gap:12px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding-bottom:10px !important;
  scroll-behavior:smooth;
  scrollbar-width:auto;
  scrollbar-color:#7d786f #e7e3dc;
}

#home .homeFeaturedCompact .homeRail::-webkit-scrollbar{
  height:7px;
}

#home .homeFeaturedCompact .homeRail::-webkit-scrollbar-track{
  background:#e7e3dc;
}

#home .homeFeaturedCompact .homeRail::-webkit-scrollbar-thumb{
  background:#7d786f;
  border-radius:5px;
}

#home .homeFeaturedCompact .homeRailCard{
  flex:0 0 220px !important;
  background:transparent !important;
  border:1px solid #d8d8d8 !important;
  transform:none !important;
  translate:none !important;
  box-shadow:none !important;
  transition:background-color .14s ease,border-color .14s ease !important;
}

#home .homeFeaturedCompact .homeRailCard:hover{
  background:#fff !important;
  border:1px solid #000 !important;
  transform:none !important;
  translate:none !important;
  box-shadow:none !important;
}

#home .homeFeaturedCompact .homeRailCard:hover *{
  transform:none !important;
  translate:none !important;
}

@media(max-width:900px){
  #home .homeFeaturedCompact .homeRailCard{
    flex-basis:200px !important;
  }
}


/* Homepage two-column feature cards: square corners */
#home .homeSpecial .specialCard{
  border-radius:0 !important;
}

/* Slightly differentiate the Injectables column */
#home .homeSpecial .specialCard[data-shopcat="injections"]{
  background:#171717 !important;
}

/* Keep the topical column at its existing dark tone */
#home .homeSpecial .specialCard[data-shopcat="numbing"]{
  border-radius:0 !important;
}

/* Reduce the large gap above the Shop products / For professionals links */
#home .heroActions,
#home .homeHeroActions,
#home .heroLinks,
#home .homeHeroLinks{
  margin-top:12px !important;
  padding-top:0 !important;
}


/* Keep the two homepage feature columns aligned to the main/header content width */
#home .homeSpecialGrid.container{
  width:min(1180px, calc(100% - 40px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:900px){
  #home .homeSpecialGrid.container{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }
}


/* Homepage category row: full-bleed backgrounds, content aligned to site */
#home .homeSpecial{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

#home .homeSpecialGrid.container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  gap:0 !important;
}

/* Align the outer text edges with the site's 1180px content width */
#home .homeSpecial .specialCard[data-shopcat="injections"]{
  padding-left:max(36px, calc((100vw - 1180px) / 2)) !important;
}

#home .homeSpecial .specialCard[data-shopcat="numbing"]{
  padding-right:max(36px, calc((100vw - 1180px) / 2)) !important;
}

@media(max-width:900px){
  #home .homeSpecialGrid.container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  #home .homeSpecial .specialCard[data-shopcat="injections"],
  #home .homeSpecial .specialCard[data-shopcat="numbing"]{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}


/* Homepage two-column strip: 1926px maximum width */
#home .homeSpecial{
  width:100% !important;
  max-width:1926px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

#home .homeSpecialGrid.container{
  width:100% !important;
  max-width:1926px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:0 !important;
}

/* Align panel content to a 1926px site width */
#home .homeSpecial .specialCard[data-shopcat="injections"]{
  padding-left:max(36px, calc((100vw - 1926px) / 2)) !important;
}

#home .homeSpecial .specialCard[data-shopcat="numbing"]{
  padding-right:max(36px, calc((100vw - 1926px) / 2)) !important;
}

@media(max-width:900px){
  #home .homeSpecial,
  #home .homeSpecialGrid.container{
    max-width:100% !important;
    width:100% !important;
  }

  #home .homeSpecial .specialCard[data-shopcat="injections"],
  #home .homeSpecial .specialCard[data-shopcat="numbing"]{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}


/* =========================
   HOMEPAGE SPLIT HERO SLIDER
   ========================= */
#home .ateraSliderHero{
  display:flex;
  width:100%;
  height:calc(50vh - 30px);
  min-height:430px;
  max-height:620px;
  background:#000;
  overflow:hidden;
}

#home .ateraSliderMedia,
#home .ateraSliderContent{
  width:50%;
  position:relative;
  overflow:hidden;
}

#home .ateraSliderMedia{
  background:#000;
}

#home .ateraHeroVideo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  pointer-events:none;
}
#home .ateraSliderContent{
  background:#14171b;
  color:#fff;
}

#home .ateraSlides{
  display:flex;
  width:100%;
  height:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

#home .ateraSlides::-webkit-scrollbar{
  display:none;
}

#home .ateraSlide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  scroll-snap-align:start;
  position:relative;
}

#home .ateraSlideInner{
  position:relative;
  height:100%;
  box-sizing:border-box;
  padding:40px 60px;
}

#home .ateraSlideTop{
  position:absolute;
  top:40px;
  left:60px;
  font-size:10px;
  line-height:1;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
  font-weight:600;
}

#home .ateraSlideCopy{
  position:absolute;
  top:45%;
  left:60px;
  right:60px;
  transform:translateY(-50%);
  max-width:520px;
}

#home .ateraSlideCopy h1,
#home .ateraSlideCopy h2{
  margin:0 0 15px;
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(32px,3vw,46px);
  line-height:1.02;
  letter-spacing:-.045em;
  color:#fff !important;
}

#home .ateraSlideCopy p{
  margin:0;
  max-width:480px;
  font-size:14px;
  line-height:1.6;
  color:rgba(255,255,255,.78) !important;
}

#home .ateraSlideCta{
  position:absolute;
  left:60px;
  bottom:90px;
  background:#fff !important;
  color:#111 !important;
  border:1px solid #fff !important;
  border-radius:3px !important;
  padding:10px 15px !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.03em;
  transform:none !important;
  box-shadow:none !important;
}

#home .ateraSlideCta:hover{
  background:#fff !important;
  color:#111 !important;
  border-color:#fff !important;
  transform:none !important;
}

#home .ateraSlideBottom{
  position:absolute;
  left:60px;
  bottom:30px;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
}

#home .ateraSlideBottom span{
  color:rgba(255,255,255,.5);
}

#home .ateraSlideBottom button{
  width:max-content;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:600 !important;
  transform:none !important;
}

#home .ateraSliderDots{
  position:absolute;
  top:40px;
  right:60px;
  display:flex;
  gap:10px;
  z-index:8;
}

#home .ateraDot{
  width:25px;
  height:2px;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.35) !important;
  box-shadow:none !important;
  transform:none !important;
  transition:background .2s ease,width .2s ease !important;
}

#home .ateraDot.active{
  width:35px;
  background:#fff !important;
}

@media(max-width:900px){
  #home .ateraSliderHero{
    display:block;
    height:calc(100dvh - 94px);
    min-height:620px;
    max-height:none;
    position:relative;
  }

  #home .ateraSliderMedia{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
    background:#14171b;
  }

  #home .ateraSliderMedia::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.58);
    z-index:1;
    pointer-events:none;
  }

  #home .ateraHeroVideo{
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.9;
  }
#home .ateraSliderContent{
    width:100%;
    height:100%;
    background:transparent;
    z-index:2;
  }

  #home .ateraSlideInner{
    padding:30px 22px;
  }

  #home .ateraSlideTop{
    top:30px;
    left:22px;
  }

  #home .ateraSlideCopy{
    left:22px;
    right:22px;
    top:42%;
    max-width:none;
  }

  #home .ateraSlideCopy h1,
  #home .ateraSlideCopy h2{
    font-size:34px;
  }

  #home .ateraSlideCta{
    left:22px;
    bottom:110px;
  }

  #home .ateraSlideBottom{
    left:22px;
    right:22px;
    bottom:40px;
  }

  #home .ateraSliderDots{
    top:30px;
    right:22px;
  }
}


/* =========================
   THE WELLNESS ATERA FOOTER
   ========================= */
.ateraFooter{
  background:#000 !important;
  color:#fff !important;
  padding:64px 0 38px !important;
  font-family:Inter,Arial,sans-serif !important;
  border:0 !important;
  box-shadow:none !important;
}

.ateraFooterInner{
  width:min(1490px,calc(100% - 60px));
  margin:0 auto;
}

.ateraFooterGrid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:38px;
}

.ateraFooterToggle{
  width:100%;
  padding:0 !important;
  margin:0 0 18px !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:transparent !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  text-align:left;
  font-size:15px !important;
  font-weight:600 !important;
  cursor:default;
  box-shadow:none !important;
  transform:none !important;
}

.ateraFooterArrow{
  display:none;
}

.ateraFooterLinks a{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 10px;
  color:#9c9c9c !important;
  text-decoration:none;
  font-size:13px;
  line-height:1.5;
  transition:color .15s ease;
}

.ateraFooterLinks a:hover{
  color:#fff !important;
}

.ateraFooterDivider{
  height:1px;
  background:#242424;
  margin:42px 0 36px;
}

.ateraFooterBottom{
  display:grid;
  grid-template-columns:220px minmax(0,1fr) auto;
  gap:42px;
  align-items:start;
}

.ateraFooterBrand{
  font-family:"Cormorant Garamond",Georgia,serif !important;
  font-size:25px;
  line-height:1;
  white-space:nowrap;
  color:#fff;
}

.ateraFooterLegal{
  max-width:760px;
  color:#8f8f8f;
  font-size:11px;
  line-height:1.65;
}

.ateraFooterLegal p{
  margin:0 0 8px;
  color:#8f8f8f !important;
}

.ateraFooterCopy{
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
  margin-top:18px;
  font-size:11px;
}

.ateraFooterCopy a{
  color:#aaa !important;
  text-decoration:none;
}

.ateraFooterCopy a:hover{
  color:#fff !important;
}

.ateraFooterRegion{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  color:#aaa;
  font-size:12px;
  white-space:nowrap;
}

.ateraFooterLanguage{
  display:flex;
  align-items:center;
  gap:8px;
}

.ateraFlag{
  font-size:16px;
  line-height:1;
}

@media(max-width:900px){
  .ateraFooter{
    padding:36px 0 28px !important;
  }

  .ateraFooterInner{
    width:calc(100% - 28px);
  }

  .ateraFooterGrid{
    grid-template-columns:1fr;
    gap:0;
  }

  .ateraFooterToggle{
    margin:0 !important;
    padding:14px 0 !important;
    border-bottom:1px solid #242424 !important;
    cursor:pointer;
    font-size:14px !important;
  }

  .ateraFooterArrow{
    display:block;
    font-size:18px;
    font-weight:400;
    transition:transform .2s ease;
  }

  .ateraFooterLinks{
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
  }

  .ateraFooterDropdown.open .ateraFooterLinks{
    max-height:360px;
    padding:8px 0 10px;
  }

  .ateraFooterDropdown.open .ateraFooterArrow{
    transform:rotate(45deg);
  }

  .ateraFooterLinks a{
    width:auto;
    margin:0;
    padding:7px 0;
    font-size:13px;
  }

  .ateraFooterDivider{
    display:none;
  }

  .ateraFooterBottom{
    grid-template-columns:1fr;
    gap:20px;
    margin-top:30px;
  }

  .ateraFooterBrand{
    font-size:23px;
  }

  .ateraFooterLegal{
    max-width:none;
  }

  .ateraFooterRegion{
    align-items:flex-start;
  }

  .ateraFooterCopy{
    gap:10px 18px;
  }
}


/* Bianca's Story section: remove background image */
#home .imagePromo{
  background-image:none !important;
  background:#f6f2ea !important;
}

#home .imagePromo::before,
#home .imagePromo::after{
  display:none !important;
}

#home .imagePromoOverlay{
  background:transparent !important;
}


/* Bianca's Story: match Anaesthetic Topicals panel background */
#home .imagePromo{
  background:#2f2f2f !important;
  background-image:none !important;
}

#home .imagePromoOverlay,
#home .imagePromoOverlay .kicker,
#home .imagePromoOverlay h2{
  color:#fff !important;
}


/* Redesigned homepage category feature row */
#home .homeCategoryFeature{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#252525;
}

#home .homeCategoryFeatureBg{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  pointer-events:none;
}

#home .homeCategoryBgLeft{
  background:#1d1d1d;
}

#home .homeCategoryBgRight{
  background:#2f2f2f;
}

#home .homeCategoryFeatureInner{
  position:relative;
  z-index:1;
  width:min(1520px,calc(100% - 40px)) !important;
  max-width:1520px !important;
  margin:0 auto !important;
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:0 !important;
}

#home .homeCategoryPanel{
  min-height:310px;
  padding:34px 42px 32px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:none !important;
  transform:none !important;
  transition:none !important;
}

#home .homeCategoryPanel:hover,
#home .homeCategoryPanel:focus{
  transform:none !important;
  box-shadow:none !important;
  background:transparent !important;
}

#home .homeCategoryInjectables{
  padding-left:0 !important;
  padding-right:48px !important;
}

#home .homeCategoryTopicals{
  padding-left:48px !important;
  padding-right:0 !important;
}

#home .homeCategoryEyebrow{
  font-size:10px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
  font-weight:600;
}

#home .homeCategoryContent{
  margin:auto 0;
  padding:24px 0;
}

#home .homeCategoryContent h2{
  margin:0 0 12px !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(30px,3vw,44px) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  color:#fff !important;
  font-weight:600 !important;
}

#home .homeCategoryContent p{
  margin:0 !important;
  max-width:420px;
  font-size:14px !important;
  line-height:1.6 !important;
  color:rgba(255,255,255,.7) !important;
}

#home .homeCategoryLink{
  display:inline-block;
  width:max-content;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.22);
  font-size:12px;
  line-height:1;
  font-weight:600;
  letter-spacing:.02em;
  color:#fff !important;
}

@media(max-width:900px){
  #home .homeCategoryFeatureBg{
    display:block;
  }

  #home .homeCategoryBgLeft,
  #home .homeCategoryBgRight{
    position:absolute;
    left:0;
    right:0;
    height:50%;
  }

  #home .homeCategoryBgLeft{ top:0; }
  #home .homeCategoryBgRight{ bottom:0; }

  #home .homeCategoryFeatureInner{
    width:100% !important;
    max-width:none !important;
    grid-template-columns:1fr;
  }

  #home .homeCategoryPanel{
    min-height:260px;
    padding:28px 14px !important;
  }

  #home .homeCategoryInjectables,
  #home .homeCategoryTopicals{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  #home .homeCategoryContent{
    padding:20px 0;
  }

  #home .homeCategoryContent h2{
    font-size:30px !important;
  }
}


/* Featured products: static desktop layout, no scrollbar/scroll effect */
@media(min-width:901px){
  #home .homeFeaturedCompact .homeRail{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
    overflow:visible !important;
    padding-bottom:0 !important;
    scroll-behavior:auto !important;
    scrollbar-width:none !important;
  }

  #home .homeFeaturedCompact .homeRail::-webkit-scrollbar{
    display:none !important;
  }

  #home .homeFeaturedCompact .homeRailCard{
    flex:none !important;
    width:auto !important;
    min-width:0 !important;
  }
}


/* Homepage category feature: three-column layout */
#home .homeCategoryFeatureThree .homeCategoryFeatureBg{
  grid-template-columns:repeat(3,1fr) !important;
}

#home .homeCategoryFeatureThree .homeCategoryBgLeft{
  background:#1d1d1d !important;
}

#home .homeCategoryFeatureThree .homeCategoryBgMiddle{
  background:#292929 !important;
}

#home .homeCategoryFeatureThree .homeCategoryBgRight{
  background:#343434 !important;
}

#home .homeCategoryFeatureThree .homeCategoryFeatureInner{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

#home .homeCategoryFeatureThree .homeCategoryPanel{
  min-height:330px !important;
  padding-top:34px !important;
  padding-bottom:32px !important;
}

#home .homeCategoryFeatureThree .homeCategoryInjectables{
  padding-left:0 !important;
  padding-right:34px !important;
}

#home .homeCategoryFeatureThree .homeCategoryTopicals{
  padding-left:34px !important;
  padding-right:34px !important;
}

#home .homeCategoryFeatureThree .homeCategoryClinic{
  padding-left:34px !important;
  padding-right:0 !important;
}

#home .homeCategoryFeatureThree .homeCategoryContent h2{
  font-size:clamp(27px,2.4vw,38px) !important;
}

@media(max-width:900px){
  #home .homeCategoryFeatureThree .homeCategoryFeatureBg{
    display:none !important;
  }

  #home .homeCategoryFeatureThree .homeCategoryFeatureInner{
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:none !important;
  }

  #home .homeCategoryFeatureThree .homeCategoryInjectables{
    background:#1d1d1d !important;
  }

  #home .homeCategoryFeatureThree .homeCategoryTopicals{
    background:#292929 !important;
  }

  #home .homeCategoryFeatureThree .homeCategoryClinic{
    background:#343434 !important;
  }

  #home .homeCategoryFeatureThree .homeCategoryPanel{
    min-height:245px !important;
    padding:28px 14px !important;
  }
}


/* Ensure the whole 3-column section uses the same dark row background */
#home .homeCategoryFeature,
#home .homeCategoryFeatureThree{
  background:#292929 !important;
}


/* 3-column category row: white outer background, coloured columns only */
#home .homeCategoryFeature,
#home .homeCategoryFeatureThree{
  background:#fff !important;
}

/* Remove the full-width split background layer */
#home .homeCategoryFeatureBg{
  display:none !important;
}

/* Individual column colours */
#home .homeCategoryFeatureThree .homeCategoryInjectables{
  background:#1d1d1d !important;
}

#home .homeCategoryFeatureThree .homeCategoryTopicals{
  background:#292929 !important;
}

#home .homeCategoryFeatureThree .homeCategoryClinic{
  background:#343434 !important;
}

/* Keep each coloured panel square and static */
#home .homeCategoryFeatureThree .homeCategoryPanel,
#home .homeCategoryFeatureThree .homeCategoryPanel:hover,
#home .homeCategoryFeatureThree .homeCategoryPanel:focus{
  border-radius:0 !important;
  transform:none !important;
  box-shadow:none !important;
}


/* Featured product cards with right-aligned product imagery */
#home .homeFeaturedCompact .homeRailCard{
  position:relative !important;
  overflow:hidden !important;
  min-height:150px !important;
  padding:18px 46% 18px 16px !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  text-align:left !important;
  background:#f7f7f7 !important;
}

#home .homeFeaturedCompact .homeRailCard > span,
#home .homeFeaturedCompact .homeRailCard > strong{
  position:relative;
  z-index:2;
}

#home .homeFeaturedCompact .homeRailCard .homeFeaturedCardImg{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  width:48%;
  height:100%;
  object-fit:contain;
  object-position:right center;
  display:block;
  pointer-events:none;
  transform:none !important;
  transition:none !important;
}

#home .homeFeaturedCompact .homeRailCard:hover{
  background:#fff !important;
  border:1px solid #000 !important;
  transform:none !important;
}

#home .homeFeaturedCompact .homeRailCard:hover .homeFeaturedCardImg{
  transform:none !important;
}

@media(max-width:900px){
  #home .homeFeaturedCompact .homeRailCard{
    min-height:145px !important;
    padding:16px 45% 16px 14px !important;
  }

  #home .homeFeaturedCompact .homeRailCard .homeFeaturedCardImg{
    width:47%;
  }
}


/* Add spacing above the 3-column homepage category row */
#home .homeCategoryFeatureThree{
  margin-top:28px !important;
}


/* Featured product images: flush to the right edge */
#home .homeFeaturedCompact .homeRailCard .homeFeaturedCardImg{
  right:0 !important;
  margin-right:0 !important;
  padding-right:0 !important;
  object-position:right center !important;
}


/* =========================================================
   PHP MULTI-PAGE TEST: CATEGORY / PRODUCT / CART SUPPORT
   ========================================================= */
.primary-button{background:#111;color:#fff}
.secondary-button{display:inline-block;text-decoration:none;border:1px solid #111;padding:13px 18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;cursor:pointer}
.category-hero{background:#f6f2ea;padding:54px 24px;border-bottom:1px solid #e8e3da}
.category-hero-inner{max-width:1520px;margin:auto}
.category-hero h1{font-size:44px;color:#111;margin-bottom:12px}
.category-hero p{max-width:650px;color:#555;line-height:1.6}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card{border:1px solid #dedede;display:grid;grid-template-columns:1fr 220px;min-height:220px;background:#f6f2ea;text-decoration:none;overflow:hidden}
.product-card:hover{background:#fff;border-color:#111}
.product-card-copy{padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.product-card h3{font-size:24px;margin-bottom:8px}
.product-card p{color:var(--muted);line-height:1.5}
.product-card-art{background:#ece7de;display:grid;place-items:center;font-size:48px;font-weight:800;letter-spacing:-3px}
.product-page{max-width:1520px;margin:0 auto;padding:52px 24px 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,560px);gap:56px}
.product-visual{background:#f6f2ea;min-height:640px;display:grid;place-items:center;position:relative;overflow:hidden}
.product-visual .vial{width:180px;height:390px;border:10px solid #d8d0c2;border-radius:30px;background:#fff;box-shadow:0 26px 60px rgba(0,0,0,.12);display:grid;place-items:center;font-weight:800;font-size:34px;letter-spacing:-2px}
.product-info{padding-top:16px}
.product-kicker{text-transform:uppercase;letter-spacing:1.5px;font-size:11px;color:#777}
.product-info h1{font-size:42px;color:#111;margin:10px 0 8px}
.price{font-size:24px;font-weight:700;margin:14px 0 22px}
.product-info p{line-height:1.65;color:#555}
.qty-row{display:flex;align-items:center;gap:10px;margin:24px 0}
.qty-row input{width:80px;padding:12px;border:1px solid #bbb;font-size:16px}
.add-button{width:100%;padding:15px 18px;background:#111;color:#fff;border:1px solid #111;font-weight:800;text-transform:uppercase;cursor:pointer}
.detail-list{margin-top:30px;border-top:1px solid #ddd}
.detail-row{display:grid;grid-template-columns:160px 1fr;padding:14px 0;border-bottom:1px solid #ddd;font-size:14px}
.detail-row span:first-child{color:#777}
.cart-drawer{position:fixed;right:0;top:0;height:100vh;width:min(430px,100%);background:#fff;z-index:1002;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.12)}
.cart-drawer.open{transform:translateX(0)}
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1001}
.cart-head{height:72px;border-bottom:1px solid #ddd;padding:0 20px;display:flex;align-items:center;justify-content:space-between}
.cart-head button{border:0;background:none;font-size:30px;cursor:pointer}
.cart-items{padding:20px;flex:1;overflow:auto}
.empty-cart{color:#777}
.cart-line{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #eee}
.cart-line a{font-weight:700;text-decoration:none}
.cart-line small{display:block;color:#777;margin-top:6px}
.qty-control{display:flex;align-items:center;gap:10px}
.qty-control button{width:28px;height:28px;border:1px solid #bbb;background:#fff;cursor:pointer}
.cart-foot{padding:20px;border-top:1px solid #ddd}
.cart-total-row{display:flex;justify-content:space-between;margin-bottom:16px}
.checkout-button{width:100%;padding:14px;background:#111;color:#fff;border:0;font-weight:800;cursor:pointer}
.cart-foot small{display:block;margin-top:10px;color:#777;line-height:1.4}

@media(max-width:900px){
  .category-grid{grid-template-columns:1fr}
  .product-card{grid-template-columns:1fr 140px;min-height:180px}
  .product-page{grid-template-columns:1fr;gap:28px;padding-top:24px}
  .product-visual{min-height:420px}
}


/* PHP category page: preserve the original static-shop card treatment for real links */
#shop a.productRowDetailed{
  text-decoration:none !important;
  color:inherit !important;
  cursor:pointer !important;
}
#shop .shopCategoryScroll a.shopCat{
  text-decoration:none !important;
}


/* PHP Hydroxocobalamin product page compatibility */
#product .productBreadcrumb a{
  color:inherit !important;
  text-decoration:none !important;
  font:inherit !important;
}
#product .productBreadcrumb a:hover{
  color:#111 !important;
}
#product #addBtn:disabled{
  opacity:.38 !important;
  cursor:not-allowed !important;
}
#product .packPriceRow{
  font-family:'Inter',Arial,sans-serif !important;
}


/* =========================================================
   STATIC-SITE CART / BAG — PHP VERSION
   Exact drawer structure and interaction styling
   ========================================================= */

.overlay{
  position:fixed;
  inset:0;
  background:rgba(23,21,18,.38);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  opacity:0;
  visibility:hidden;
  z-index:49;
  transition:opacity .25s ease,visibility .25s ease;
}
.overlay.open{
  opacity:1;
  visibility:visible;
}

.drawer{
  position:fixed;
  right:0;
  top:0;
  width:min(480px,100%);
  height:100vh;
  height:100dvh;
  background:var(--paper,#fffdf9);
  z-index:50;
  transform:translateX(100%);
  transition:transform .25s ease;
  display:grid;
  grid-template-rows:auto 1fr auto;
  box-shadow:-20px 0 60px rgba(24,21,17,.10);
}
.drawer.open{
  transform:none;
}

.dhead{
  height:82px;
  padding:0 24px;
  background:var(--deep,#25231f);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.dhead strong{
  font-family:'Inter',Arial,sans-serif;
  font-size:16px;
  font-weight:700;
}
.dhead button{
  background:none;
  border:0;
  color:#fff;
  font-size:24px;
  line-height:1;
  padding:6px;
}

.items{
  overflow:auto;
  padding:0 24px;
}

.cartItem{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:14px;
  padding:22px 0;
  border-bottom:1px solid var(--hair,rgba(23,23,20,.10));
}
.cartItem img{
  width:82px;
  height:82px;
  object-fit:contain;
  filter:grayscale(25%);
  background:#fff;
}
.cartItem strong{
  display:block;
  font-size:14px;
  line-height:1.35;
}
.cartPack{
  margin-top:4px;
  color:#666;
  font-size:13px;
  line-height:1.35;
}
.cartLineBottom{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-top:10px;
}
.cartLinePrice{
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}

.qty{
  display:inline-flex;
  margin-top:10px;
  border:1px solid rgba(23,23,20,.12);
}
.qty button{
  width:30px;
  height:30px;
  border:0;
  background:#fff;
  color:#111;
  padding:0;
}
.qty span{
  width:34px;
  display:grid;
  place-items:center;
  font-size:13px;
}
.remove{
  border:0;
  background:none;
  text-decoration:underline;
  padding:0;
  margin-top:7px;
  font-size:12px;
  color:#77736c;
}
.remove:hover{
  color:#111;
}

.dfoot{
  padding:22px 24px 26px;
  border-top:1px solid var(--hair,rgba(23,23,20,.10));
  background:var(--paper,#fffdf9);
}
.total{
  display:flex;
  justify-content:space-between;
  font-size:20px;
  font-weight:800;
  margin-bottom:12px;
}
.dfoot .btn{
  min-height:50px;
}
.cartContinueBtn{
  margin-top:10px !important;
  background:#fff !important;
  color:#111 !important;
  box-shadow:inset 0 0 0 1px #111 !important;
}

#cartCount.pop{
  animation:ateraCountPop .5s ease;
}

/* Full PHP cart page */
.cartPage{
  padding:58px 0 90px;
  background:#fff;
}
.cartPageHead{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end;
  margin-bottom:26px;
}
.cartPageHead h1{
  margin:8px 0 0;
  font-size:clamp(40px,5vw,62px);
  line-height:1;
  letter-spacing:-.055em;
}
.cartPageShell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:64px;
  align-items:start;
}
.cartPageItems{
  border-top:1px solid var(--hair,rgba(23,23,20,.10));
}
.cartPageItem{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid var(--hair,rgba(23,23,20,.10));
}
.cartPageItem img{
  width:110px;
  height:110px;
  object-fit:contain;
  background:#faf9f7;
}
.cartPageItemName{
  font-weight:700;
  font-size:16px;
}
.cartPageItemPack{
  color:#77736c;
  font-size:13px;
  margin-top:4px;
}
.cartPageItemPrice{
  font-weight:700;
  white-space:nowrap;
}
.cartSummary{
  position:sticky;
  top:118px;
  padding:28px;
  background:#f7f4ee;
}
.cartSummary h2{
  margin:0 0 22px;
  font-size:24px;
  letter-spacing:-.03em;
}
.cartSummaryRow{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:11px 0;
  border-bottom:1px solid rgba(23,23,20,.10);
  font-size:14px;
}
.cartSummaryRow.totalRow{
  padding-top:18px;
  font-size:18px;
  font-weight:800;
}
.cartSummary .btn{
  width:100%;
  margin-top:20px;
}
.cartEmpty{
  padding:38px 0;
  color:#77736c;
}

@media(max-width:800px){
  .cartPageShell{
    grid-template-columns:1fr;
    gap:32px;
  }
  .cartSummary{
    position:static;
  }
  .cartPageItem{
    grid-template-columns:82px 1fr;
    align-items:start;
  }
  .cartPageItem img{
    width:82px;
    height:82px;
  }
  .cartPageItemPrice{
    grid-column:2;
  }
}


/* PHP checkout — static-site order form */
#checkout.view{
  display:block;
  opacity:1;
}
.checkoutSecondary{
  background:#fff !important;
  color:#111 !important;
  box-shadow:inset 0 0 0 1px #111 !important;
  text-decoration:none !important;
}
.checkout .heroBtns{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
.checkout .basketLine img{
  object-fit:contain !important;
  filter:grayscale(25%) !important;
  background:#faf9f7;
}
.checkout .hide{
  display:none !important;
}
.orderThanks{
  max-width:760px;
  margin:0 auto;
  padding:80px 0 !important;
  text-align:center;
}
.orderThanks p{
  color:#77736c;
  margin-bottom:28px;
}
