:root{--ivory:#F8F4F1;--violet:#4A3164;--rose:#E8B6C9;--gold:#C48B4D;--grey:#7D7B84}*{box-sizing:border-box}body{margin:0;background:#F8F4F1;color:var(--violet);font-family:Inter,sans-serif;overflow-x:hidden}.texture{position:fixed;inset:0;z-index:-10;background:radial-gradient(circle at 20% 10%,rgba(232,182,201,.12),transparent 36%),radial-gradient(circle at 85% 80%,rgba(196,139,77,.08),transparent 46%),linear-gradient(135deg,#F8F4F1,#FAF7F4);pointer-events:none}.texture:before{content:"";position:absolute;inset:0;background-image:radial-gradient(ellipse at 12px 9px,rgba(156,170,143,.13) 0 1px,transparent 2px);background-size:88px 62px;opacity:.35}.botanical-orb{position:fixed;z-index:-9;border-radius:50%;pointer-events:none;filter:blur(2px);opacity:.28}.orb-one{width:180px;height:180px;left:4%;top:18%;background:radial-gradient(circle,rgba(156,170,143,.22),transparent 70%)}.orb-two{width:260px;height:260px;right:6%;bottom:15%;background:radial-gradient(circle,rgba(232,182,201,.20),transparent 70%)}.orb-three{width:160px;height:160px;right:18%;top:24%;background:radial-gradient(circle,rgba(196,139,77,.14),transparent 70%)}.nav{position:fixed;top:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;padding:10px 24px;border:1px solid rgba(196,139,77,.42);border-radius:999px;background:rgba(248,244,241,.9);backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(74,49,100,.08);z-index:50}.nav-icon{width:36px;height:36px}.nav a,.cart-link{text-decoration:none;color:var(--violet);font-size:12px;letter-spacing:1.7px;text-transform:uppercase;background:none;border:0;cursor:pointer}.cart-link{color:var(--gold)}main,footer,.cart-drawer,.nav{position:relative}.hero{min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:130px 20px 70px}.hero:before{content:"";position:absolute;width:min(720px,88vw);height:min(720px,88vw);border-radius:50%;background:radial-gradient(circle,rgba(232,182,201,.22),rgba(231,201,154,.12) 42%,transparent 72%);z-index:-1;filter:blur(8px)}.hero-logo{width:min(620px,92vw);filter:drop-shadow(0 24px 45px rgba(74,49,100,.12))}.hero-line{margin:18px 0 36px;color:var(--grey);text-transform:uppercase;letter-spacing:5px;font-size:13px}h1,h2{font-family:'Playfair Display',serif;font-weight:400;margin:14px 0 18px}h1{font-size:clamp(34px,5vw,58px)}h2{font-size:clamp(32px,4vw,52px)}.button{display:inline-block;color:var(--violet);border:1px solid var(--violet);border-radius:999px;padding:14px 34px;text-decoration:none;letter-spacing:1.6px;text-transform:uppercase;font-size:12px;background:transparent;cursor:pointer;transition:.22s ease}.button:hover{color:white;border-color:transparent;background:linear-gradient(90deg,var(--violet),var(--rose));transform:translateY(-2px);box-shadow:0 18px 36px rgba(74,49,100,.16)}.home-science,.statement,.products,.research-page{padding:100px 24px;text-align:center}.home-science-card,.article,.info-panel,.quick-summary{border:1px solid rgba(196,139,77,.30);background:rgba(255,255,255,.72);border-radius:28px;padding:26px;color:var(--grey);line-height:1.7;box-shadow:0 22px 60px rgba(74,49,100,.06)}.home-science-card{max-width:920px;margin:0 auto;padding:42px}.statement p,.section-subtitle,.product-copy p,.home-science p,.article p{max-width:840px;margin:0 auto 18px;color:#817985;line-height:1.9}.product-grid{max-width:1180px;margin:58px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card{display:flex;flex-direction:column;color:var(--violet);padding:30px 24px;border:1px solid rgba(196,139,77,.34);border-radius:34px;background:rgba(255,255,255,.74);box-shadow:0 24px 52px rgba(74,49,100,.08);transition:.22s ease}.card:hover{transform:translateY(-6px);box-shadow:0 34px 70px rgba(74,49,100,.13)}.product-link{text-decoration:none;color:inherit}.card h3{font-family:'Playfair Display',serif;font-size:27px;font-weight:400;margin:20px 0 8px}.card p{font-size:12px;color:var(--grey);text-transform:uppercase;letter-spacing:2px}.stock-pill{display:inline-block;margin:6px auto 0;padding:7px 13px;border-radius:999px;border:1px solid rgba(196,139,77,.32);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--grey);background:rgba(248,244,241,.72)}.stock-pill.low{color:#9f6a2f;border-color:rgba(196,139,77,.62)}.stock-pill.out{color:#8a3a3a;border-color:rgba(138,58,58,.45)}.card-actions{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:auto;padding-top:18px}.qty-input{width:62px;padding:10px;border-radius:999px;border:1px solid rgba(74,49,100,.3);text-align:center;background:rgba(255,255,255,.85);color:var(--violet)}.vial-img{width:min(285px,92%);height:auto;display:block;margin:0 auto 22px;filter:contrast(1.04) drop-shadow(0 26px 46px rgba(74,49,100,.18))}.product-detail{min-height:100vh;padding:140px 24px 100px;display:grid;grid-template-columns:minmax(280px,470px) minmax(300px,690px);gap:60px;align-items:flex-start;justify-content:center}.product-visual{position:sticky;top:140px;text-align:center}.product-visual .vial-img{width:min(470px,94vw);filter:contrast(1.04) drop-shadow(0 38px 74px rgba(74,49,100,.22))}.product-copy{max-width:690px}.back-link{display:inline-block;margin-bottom:22px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);text-decoration:none}.product-eyebrow{color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;margin-bottom:10px}.product-subtitle{color:var(--grey);text-transform:uppercase;letter-spacing:2px;font-size:12px;margin-bottom:18px}.top-buy{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0 26px}.top-buy input{width:82px;padding:13px;border-radius:999px;border:1px solid rgba(74,49,100,.35);background:rgba(255,255,255,.82);text-align:center}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.summary-pill{border:1px solid rgba(196,139,77,.25);border-radius:18px;padding:14px;color:#817985;background:rgba(248,244,241,.75);font-size:13px;line-height:1.5}.product-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.product-meta div{border:1px solid rgba(196,139,77,.30);background:rgba(255,255,255,.72);border-radius:22px;padding:18px;color:var(--grey);line-height:1.6}.product-meta strong{display:block;color:var(--violet);font-size:12px;text-transform:uppercase;letter-spacing:1.6px}.benefit-list,.article-list{padding:0;margin:0;list-style:none;display:grid;gap:13px}.benefit-list li,.article-list li{position:relative;padding-left:24px;color:#817985;line-height:1.75;text-align:left}.benefit-list li:before,.article-list li:before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:12px;top:4px}.article-grid{max-width:1050px;margin:48px auto 0;display:grid;gap:28px}.compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.compare-box{border:1px solid rgba(196,139,77,.25);border-radius:22px;background:rgba(248,244,241,.75);padding:22px;text-align:left}.notice{font-size:12px;color:var(--grey);line-height:1.7}.cart-drawer{position:fixed;top:0;right:-430px;width:min(430px,100vw);height:100vh;background:rgba(248,244,241,.98);backdrop-filter:blur(20px);border-left:1px solid rgba(196,139,77,.35);box-shadow:-25px 0 80px rgba(74,49,100,.16);z-index:100;transition:.3s ease;padding:26px;display:flex;flex-direction:column}.cart-drawer.open{right:0}.cart-header{display:flex;align-items:center;justify-content:space-between}.close-cart{background:none;border:0;color:var(--violet);font-size:28px;cursor:pointer}.cart-items{margin:20px 0;flex:1;overflow:auto}.cart-item{border-bottom:1px solid rgba(196,139,77,.24);padding:14px 0;color:var(--grey);line-height:1.7}.cart-item strong{color:var(--violet)}.checkout-fields{display:grid;gap:8px;margin:14px 0}.checkout-fields input,.checkout-fields textarea,.admin-panel input,.admin-panel select{width:100%;padding:11px;border-radius:14px;border:1px solid rgba(74,49,100,.25);background:rgba(255,255,255,.86);color:var(--violet);font-family:inherit}.cart-actions{display:grid;gap:10px}.admin-grid{max-width:1000px;margin:44px auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.admin-panel{text-align:left}.stock-row{display:grid;grid-template-columns:1fr 90px;gap:10px;align-items:center;margin:10px 0}footer{padding:70px 20px 50px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--grey)}footer img{width:64px;height:64px;object-fit:contain}footer strong{font-family:'Playfair Display',serif;color:var(--violet);letter-spacing:5px}@media(max-width:900px){.nav{width:calc(100% - 14px);top:10px;padding:9px 10px;gap:10px;justify-content:center;flex-wrap:wrap;border-radius:24px}.nav-icon{width:30px;height:30px}.nav a,.cart-link{font-size:10px;letter-spacing:1.2px}.hero{min-height:78vh;padding:120px 16px 42px}.hero-logo{width:92vw}.hero-line{font-size:10px;letter-spacing:3px}.home-science,.statement,.products,.research-page{padding:74px 14px}.home-science-card,.article,.info-panel,.quick-summary{padding:18px;border-radius:22px}.product-grid,.compare-grid,.admin-grid{grid-template-columns:1fr}.product-detail{grid-template-columns:1fr;text-align:center;padding:120px 14px 84px;gap:10px}.product-visual{position:relative;top:auto}.product-visual .vial-img{width:min(350px,92vw);filter:contrast(1.04) drop-shadow(0 24px 46px rgba(74,49,100,.20))}.product-meta,.summary-grid{grid-template-columns:1fr}.top-buy,.card-actions{justify-content:center}.cart-drawer{right:-100vw;width:100vw;padding:20px}.cart-drawer.open{right:0}}

/* Checkout, shipping and confirmation upgrades */
.price-pill{display:inline-block;margin:8px auto 4px;padding:7px 13px;border-radius:999px;border:1px solid rgba(196,139,77,.32);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--violet);background:rgba(255,255,255,.72)}.was-price{margin-left:8px;text-decoration:line-through;color:var(--grey);opacity:.75}.button:disabled{opacity:.45;cursor:not-allowed}.mini-cart-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid rgba(196,139,77,.22);padding:12px 0}.mini-cart-item img{width:52px;height:68px;object-fit:contain}.mini-cart-item button,.checkout-line-total button{border:0;background:rgba(232,182,201,.18);color:var(--violet);border-radius:999px;padding:8px 12px;cursor:pointer}.checkout-page{padding:140px 24px 90px;max-width:1240px;margin:0 auto}.checkout-page>h1{text-align:center}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:28px;align-items:start}.checkout-card{border:1px solid rgba(196,139,77,.30);background:rgba(255,255,255,.72);border-radius:30px;padding:26px;box-shadow:0 22px 60px rgba(74,49,100,.06)}.checkout-item{display:grid;grid-template-columns:94px 1fr 90px 130px;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(196,139,77,.22)}.checkout-item img{width:86px;height:112px;object-fit:contain}.checkout-item h3{font-family:'Playfair Display',serif;font-weight:400;margin:0 0 4px}.checkout-item p,.checkout-item small{color:var(--grey);line-height:1.5}.checkout-qty label,.field-label{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}.checkout-qty input,.checkout-form input,.checkout-form textarea,#shippingOption{width:100%;padding:12px;border-radius:16px;border:1px solid rgba(74,49,100,.25);background:rgba(255,255,255,.86);color:var(--violet);font-family:inherit}.checkout-line-total{text-align:right;display:grid;gap:10px}.summary-line{display:flex;justify-content:space-between;gap:14px;margin:14px 0;color:var(--grey)}.summary-line strong{color:var(--violet)}.summary-line.total{border-top:1px solid rgba(196,139,77,.28);padding-top:16px;font-size:20px}.checkout-form{display:grid;gap:10px;margin:14px 0}.compliance-box{display:grid;gap:12px;border:1px solid rgba(196,139,77,.25);border-radius:22px;background:rgba(248,244,241,.72);padding:16px;margin:18px 0;color:var(--grey);line-height:1.6}.compliance-box label{display:flex;gap:10px;align-items:flex-start}.compliance-box input{margin-top:5px}.checkout-full{width:100%;margin-top:10px;text-align:center;justify-content:center}.confirmation-card{text-align:center;max-width:760px;margin:0 auto}.confirmation-ref{font-family:'Playfair Display',serif;font-size:clamp(34px,5vw,56px);color:var(--violet);margin:10px 0 20px}.confirmation-lines{display:grid;gap:10px;text-align:left;margin:24px 0}.confirmation-lines div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(196,139,77,.20);padding:10px 0;color:var(--grey)}.confirmation-lines .grand{font-size:20px;color:var(--violet);border-top:1px solid rgba(196,139,77,.35);border-bottom:0;margin-top:8px;padding-top:16px}@media(max-width:900px){.checkout-layout,.checkout-item{grid-template-columns:1fr}.checkout-line-total{text-align:left}.checkout-page{padding:124px 14px 76px}.mini-cart-item{grid-template-columns:46px 1fr}.mini-cart-item button{grid-column:2}}


/* Order automation additions */
.eft-box{margin:24px 0;padding:18px;border:1px solid rgba(196,139,77,.28);border-radius:22px;background:rgba(248,244,241,.75);text-align:left}.eft-box h3{margin-top:0}.eft-box p{margin:8px 0;color:var(--grey)}

/* =======================================================
   AETERNAVITA BOTANICAL BACKGROUND THEME
   Uses hero-background.png as the real botanical artwork.
   Scope: visual CSS layer only. HTML IDs/classes and JavaScript hooks are preserved.
   ======================================================= */

:root{
  --ivory:#F8F4F1;
  --ivory-soft:#FBF8F5;
  --violet:#40255F;
  --violet-soft:#5A4673;
  --rose:#E8B6C9;
  --gold:#C48B4D;
  --grey:#7D7B84;
  --line:rgba(196,139,77,.22);
}

html,body{min-height:100%}
body{
  background:var(--ivory);
  color:var(--violet);
  font-family:Inter,sans-serif;
  overflow-x:hidden;
}

/* Very soft site-wide botanical wash behind non-homepage content */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-30;
  background-image:url('hero-background.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.16;
  pointer-events:none;
}

.texture{
  background:
    linear-gradient(180deg,rgba(248,244,241,.58),rgba(251,248,245,.72));
}
.texture:before{opacity:.10}
.botanical-orb{opacity:.10;filter:blur(6px)}

.nav{
  position:fixed;
  top:22px;
  left:50%;
  transform:translateX(-50%);
  width:auto;
  min-width:min(760px,calc(100vw - 36px));
  justify-content:center;
  gap:26px;
  padding:12px 28px;
  border:1px solid rgba(196,139,77,.25);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 48px rgba(64,37,95,.07);
  z-index:100;
}
.nav-icon{width:34px;height:34px;object-fit:contain}
.nav a,.cart-link{
  color:var(--violet);
  font-size:11px;
  letter-spacing:2.2px;
  font-weight:500;
}
.cart-link{color:var(--gold)}

/* Homepage botanical hero */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:145px 20px 95px;
  overflow:hidden;
  background-image:url('hero-background.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  border-radius:0;
  background:rgba(248,244,241,.18);
  backdrop-filter:none;
  z-index:0;
  filter:none;
}
.hero-center{
  position:relative;
  z-index:2;
  max-width:900px;
  margin:0 auto;
}
.hero-logo{
  width:min(620px,72vw);
  max-width:620px;
  filter:drop-shadow(0 24px 54px rgba(64,37,95,.11));
}
.hero-line{
  margin:24px 0 36px;
  color:var(--grey);
  text-transform:uppercase;
  letter-spacing:6px;
  font-size:12px;
}

.products,.research-page,.checkout-page,.statement,.product-detail{
  position:relative;
  z-index:1;
}
.products{padding:155px 16px 110px}
.product-grid{
  max-width:1360px;
  margin:64px auto 0;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:70px 42px;
}
.card{
  padding:0 6px 18px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--violet);
  align-items:center;
}
.card:hover{transform:translateY(-4px);box-shadow:none}
.card .product-link{display:block;width:100%;text-align:left}
.card .vial-img{
  width:min(255px,92%);
  margin:0 auto 30px;
  filter:drop-shadow(0 14px 24px rgba(64,37,95,.055));
  transition:.25s ease;
}
.card:hover .vial-img{
  transform:translateY(-5px) scale(1.025);
  filter:drop-shadow(0 20px 30px rgba(64,37,95,.08));
}
.card h3{
  font-family:'Playfair Display',serif;
  font-size:clamp(26px,2.2vw,38px);
  line-height:1.05;
  color:var(--violet);
  margin:0 0 10px;
  font-weight:400;
  letter-spacing:.3px;
}
.card p{color:rgba(64,37,95,.58);font-size:10px;line-height:1.6;letter-spacing:1.65px;margin:0 0 12px}
.price-pill,.stock-pill{background:rgba(255,255,255,.62);border-color:rgba(196,139,77,.24);color:var(--violet-soft)}
.card-actions{width:100%;justify-content:flex-start;gap:10px;padding-top:12px}
.qty-input{width:58px;background:rgba(255,255,255,.72);border-color:rgba(64,37,95,.20)}

.article,.info-panel,.quick-summary,.home-science-card,.checkout-card,.compare-box,.product-meta div,.summary-pill,.compliance-box,.eft-box{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(12px);
  border:1px solid rgba(196,139,77,.20);
  box-shadow:0 24px 64px rgba(64,37,95,.055);
}
.article,.info-panel,.quick-summary,.home-science-card,.checkout-card{border-radius:32px}

.product-detail{
  padding:150px 24px 110px;
  grid-template-columns:minmax(320px,520px) minmax(320px,700px);
  gap:84px;
}
.product-visual .vial-img{width:min(520px,94vw);filter:drop-shadow(0 36px 70px rgba(64,37,95,.12))}
.product-copy h1,.products h2,.research-page h1,.checkout-page h1,.statement h1{color:var(--violet)}
.product-eyebrow,.back-link,.checkout-qty label,.field-label{color:var(--gold)}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(64,37,95,.58);
  background:rgba(255,255,255,.64);
  color:var(--violet);
  padding:13px 27px;
  letter-spacing:1.8px;
  font-size:11px;
  box-shadow:none;
}
.button:hover{
  color:white;
  border-color:transparent;
  background:linear-gradient(90deg,var(--violet),#8B6AA3,var(--rose));
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(64,37,95,.15);
}
.button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.cart-drawer{background:rgba(248,244,241,.98);border-left:1px solid rgba(196,139,77,.25)}
footer{background:transparent;color:var(--grey);padding:76px 20px 54px}
footer strong{color:var(--violet)}

/* Purchase-order utility page theme alignment */
.po-shell{max-width:920px;margin:0 auto;padding:150px 20px 90px}.po-box{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 22px 60px rgba(64,37,95,.06)}.po-row{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.po-shell input{padding:12px;border-radius:14px;border:1px solid rgba(64,37,95,.22);background:rgba(255,255,255,.86);color:var(--violet);font-family:inherit}

@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 30px}}
@media(max-width:900px){
  body::before{opacity:.10}
  .nav{width:calc(100% - 18px);min-width:0;top:10px;padding:9px 10px;gap:10px;flex-wrap:wrap;border-radius:24px}
  .hero{padding:126px 16px 72px;min-height:88vh;background-position:center}
  .hero-logo{width:min(520px,82vw)}
  .hero-line{letter-spacing:3.5px;font-size:10px}
  .products{padding:128px 14px 82px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 20px}
  .card .vial-img{width:min(210px,92%);margin-bottom:20px}
  .card h3{font-size:25px}.card-actions{justify-content:center}.card .product-link{text-align:center}
  .product-detail{gap:18px;padding:124px 14px 86px}
}
@media(max-width:560px){.product-grid{grid-template-columns:1fr;gap:44px}.card .vial-img{width:min(270px,88vw)}}

/* =======================================================
   AETERNAVITA HERO REFINEMENT PATCH
   Refined homepage copy, research notice and luxury single-screen layout.
   ======================================================= */

.refined-hero{
  min-height:100vh;
  padding:112px 20px 46px;
  background-image:url('hero-background.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.refined-hero::before{
  background:rgba(248,244,241,.08);
}
.hero-lux-card{
  width:min(920px,calc(100vw - 36px));
  min-height:auto;
  margin:0 auto;
  padding:clamp(24px,3.4vw,44px) clamp(22px,4vw,58px);
  border:1px solid rgba(196,139,77,.22);
  border-radius:34px;
  background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.48));
  backdrop-filter:blur(12px);
  box-shadow:0 30px 90px rgba(64,37,95,.10);
}
.hero-lux-card .hero-logo{
  width:min(430px,70vw);
  max-width:430px;
  margin-bottom:10px;
}
.hero-lux-card .hero-line{
  margin:8px 0 16px;
  font-size:10px;
  letter-spacing:5px;
  color:rgba(64,37,95,.58);
}
.hero-lux-card h1{
  margin:0 auto 14px;
  max-width:760px;
  font-family:'Playfair Display',serif;
  font-size:clamp(34px,4.7vw,62px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:.2px;
  color:var(--violet);
}
.hero-copy{
  max-width:760px;
  margin:0 auto 18px;
  color:rgba(64,37,95,.72);
  font-size:clamp(14px,1.35vw,17px);
  line-height:1.65;
}
.research-notice{
  max-width:790px;
  margin:0 auto 20px;
  padding:14px 18px;
  display:grid;
  gap:6px;
  text-align:left;
  border:1px solid rgba(196,139,77,.24);
  border-radius:22px;
  background:rgba(248,244,241,.58);
  color:rgba(64,37,95,.66);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.research-notice strong{
  color:var(--violet);
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
}
.research-notice span{
  font-size:12px;
  line-height:1.55;
}
.hero-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.ghost-button{
  background:rgba(255,255,255,.34);
  color:rgba(64,37,95,.78);
  border-color:rgba(196,139,77,.36);
}

@media(max-height:760px) and (min-width:760px){
  .refined-hero{padding-top:92px;padding-bottom:26px}
  .hero-lux-card{padding:22px 46px;border-radius:28px}
  .hero-lux-card .hero-logo{width:min(340px,54vw);margin-bottom:4px}
  .hero-lux-card .hero-line{margin:4px 0 10px;font-size:9px;letter-spacing:4px}
  .hero-lux-card h1{font-size:clamp(30px,4vw,48px);margin-bottom:10px}
  .hero-copy{font-size:14px;line-height:1.5;margin-bottom:12px}
  .research-notice{padding:11px 15px;margin-bottom:14px}
  .research-notice span{font-size:11px;line-height:1.45}
  .button{padding:11px 22px}
}

@media(max-width:700px){
  .refined-hero{padding:118px 14px 34px;align-items:flex-start}
  .hero-lux-card{width:100%;padding:24px 18px;border-radius:26px}
  .hero-lux-card .hero-logo{width:min(330px,82vw)}
  .hero-lux-card .hero-line{font-size:9px;letter-spacing:3.2px;line-height:1.7}
  .hero-lux-card h1{font-size:clamp(32px,10vw,44px)}
  .hero-copy{font-size:14px;line-height:1.55}
  .research-notice{text-align:left;padding:13px 14px}
  .research-notice span{font-size:11px;line-height:1.5}
  .hero-actions .button{width:100%;max-width:280px}
}

/* FINAL HERO HIERARCHY */
.hero-headline{font-family:"Playfair Display",serif;font-size:clamp(48px,6vw,72px);line-height:1.05;color:var(--violet);font-weight:400;margin:0 auto 18px;max-width:900px}.hero-accent{margin:0 0 22px;color:var(--gold);font-size:12px;letter-spacing:3px;text-transform:uppercase;opacity:.85}.hero-lux-card h1:not(.hero-headline){font-size:clamp(22px,2vw,28px);opacity:.6}
/* CUSTOMER ACCOUNTS PHASE 1 */
.account-shell,.account-dashboard{padding:145px 20px 90px;max-width:1180px;margin:0 auto}.account-card,.dashboard-panel,.dashboard-menu,.account-checkout-box,.address-card{border:1px solid rgba(196,139,77,.22);background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border-radius:30px;box-shadow:0 24px 64px rgba(64,37,95,.055);padding:24px}.account-card{max-width:720px;margin:0 auto}.account-card label,.dashboard-panel label{display:grid;gap:7px;margin:12px 0;color:var(--violet);font-size:12px;letter-spacing:1.4px;text-transform:uppercase}.account-card input,.dashboard-panel input,.dashboard-panel select,.saved-address-select select{width:100%;padding:12px;border-radius:16px;border:1px solid rgba(74,49,100,.25);background:rgba(255,255,255,.86);color:var(--violet);font-family:inherit}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preference-box{display:grid;gap:12px;border:1px solid rgba(196,139,77,.22);border-radius:22px;background:rgba(248,244,241,.58);padding:15px;margin:16px 0;color:var(--grey);line-height:1.55}.preference-box label{display:flex;gap:10px;text-transform:none;letter-spacing:0;font-size:13px;margin:0}.form-error{color:#8a3030;margin:10px 0;font-size:13px}.success-message{color:var(--violet);background:rgba(196,139,77,.11);border-radius:18px;padding:12px 14px;margin:12px 0}.muted-link{display:inline-block;margin-top:12px;color:var(--gold);text-decoration:none}.account-divider{text-align:center;margin:24px 0;color:var(--gold);letter-spacing:2px}.account-mini{border-top:1px solid rgba(196,139,77,.18);padding-top:18px;margin-top:18px}.dashboard-grid{display:grid;grid-template-columns:260px 1fr;gap:22px}.dashboard-menu{display:grid;gap:10px;align-content:start}.dashboard-menu button{border:1px solid rgba(64,37,95,.25);border-radius:999px;background:rgba(255,255,255,.58);color:var(--violet);padding:12px;cursor:pointer;text-align:left}.address-card{box-shadow:none;border-radius:22px;margin:10px 0}.account-checkout-box{margin-bottom:18px;border-radius:24px}.discount-line strong{color:#7a4b8f}@media(max-width:800px){.two-col,.dashboard-grid{grid-template-columns:1fr}.account-shell,.account-dashboard{padding-top:128px}}

/* AV10001 botanical merge: commerce UI refinements */
.warning{display:block;color:#8a3030;margin-top:6px}.account-checkout-box strong{display:block;margin-bottom:6px;color:var(--violet)}.discount-line strong{color:#7a4b8f}.preference-box label,.compliance-box label,.inline-choice{display:grid!important;grid-template-columns:22px 1fr!important;align-items:center!important;gap:12px!important;text-align:left!important}.preference-box input[type="checkbox"],.compliance-box input[type="checkbox"],.inline-choice input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;accent-color:var(--violet)}.cart-actions .ghost-button{background:rgba(255,255,255,.34);color:rgba(64,37,95,.78);border-color:rgba(196,139,77,.36)}

/* No cart drawer: checkout-only cart flow */
.cart-drawer{display:none!important;visibility:hidden!important;pointer-events:none!important}.cart-toast{position:fixed;right:24px;bottom:24px;z-index:9999;display:flex;align-items:center;gap:16px;max-width:min(420px,calc(100vw - 32px));padding:16px 18px;border:1px solid rgba(196,139,77,.34);border-radius:22px;background:rgba(248,244,241,.92);box-shadow:0 24px 60px rgba(64,37,95,.18);backdrop-filter:blur(14px);color:var(--violet);opacity:0;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease}.cart-toast.show{opacity:1;transform:translateY(0)}.cart-toast a{border:1px solid var(--violet);border-radius:999px;padding:9px 14px;text-decoration:none;color:var(--violet);text-transform:uppercase;letter-spacing:.12em;font-size:11px;white-space:nowrap}.account-checkout-box strong{display:block;margin-bottom:6px;color:var(--violet)}

/* AUTH NAV FIX PATCH */
.signin-link,.account-link{white-space:nowrap}.account-checkout-box span{display:inline-block;margin:2px 0;color:rgba(64,37,95,.72)}

/* AUTH SESSION NAV DEFAULTS
   Account is hidden by default until auth.js confirms a valid session.
   This prevents Account flashing on first page load. */
.account-link{
  display:none;
}
body.logged-in .account-link{
  display:inline-flex;
}
body.logged-in .signin-link{
  display:none;
}
body.logged-out .signin-link{
  display:inline-flex;
}


/* PRODUCTS PAGE COMPACT LAYOUT */
.products{padding:115px 16px 90px !important;}
.products h2{font-size:36px !important;margin-bottom:8px !important;}
.product-grid{margin:24px auto 0 !important;gap:36px 24px !important;}
.card h3{font-size:clamp(22px,1.8vw,30px) !important;}

/* Homepage purpose refresh */
.texture{
  background-size:cover !important;
  background-position:center center !important;
}
body::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-11 !important;
  pointer-events:none !important;
  background:url("hero-background.png") center 40% / 54% auto no-repeat !important;
  opacity:.24 !important;
}
.refined-hero{
  min-height:0 !important;
  padding-top:78px !important;
  padding-bottom:20px !important;
}
.hero-lux-card{
  width:min(960px,88vw) !important;
  max-width:960px !important;
  padding:18px clamp(16px,2.4vw,34px) 22px !important;
  border-radius:30px !important;
}
.hero-logo,
.hero-logo-dominant{
  display:block !important;
  width:min(400px,48vw) !important;
  max-width:100% !important;
  margin:0 auto 1px !important;
  filter:drop-shadow(0 10px 22px rgba(74,49,100,.09)) !important;
}
h1.hero-headline,
.hero-headline,
.hero-headline-small{
  font-family:Inter,sans-serif !important;
  font-size:clamp(10px,.68vw,11.5px) !important;
  line-height:1.18 !important;
  letter-spacing:1.85px !important;
  text-transform:uppercase !important;
  color:rgba(74,49,100,.70) !important;
  margin:2px auto 8px !important;
  font-weight:700 !important;
  max-width:590px !important;
}
.hero-copy{
  max-width:610px !important;
  margin:0 auto 12px !important;
  font-size:12.5px !important;
  line-height:1.38 !important;
}
.purpose-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:12px auto 15px !important;
  width:min(760px,100%) !important;
}
.purpose-card{
  position:relative !important;
  overflow:hidden !important;
  border-radius:20px !important;
  height:132px !important;
  min-height:132px !important;
  border:1px solid rgba(196,139,77,.26) !important;
  background:rgba(255,252,248,.68) !important;
  box-shadow:0 10px 24px rgba(74,49,100,.055) !important;
}
.purpose-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(248,244,241,.08) 0%,rgba(248,244,241,.01) 48%,rgba(248,244,241,.16) 100%) !important;
}
.purpose-card::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:10px !important;
  width:66% !important;
  height:38px !important;
  transform:translateX(-50%) !important;
  z-index:2 !important;
  pointer-events:none !important;
  border-radius:999px !important;
  background:rgba(248,244,241,.46) !important;
  filter:blur(.2px) !important;
}
.purpose-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 20% !important;
  display:block !important;
  opacity:.99 !important;
  filter:saturate(.98) contrast(1) !important;
  transform:none !important;
}
.purpose-title-overlay{
  position:absolute !important;
  z-index:20 !important;
  left:50% !important;
  top:12px !important;
  transform:translateX(-50%) !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin:0 !important;
  padding:0 7px !important;
  border:0 !important;
  background:transparent !important;
  font-family:'Playfair Display',serif !important;
  font-weight:400 !important;
  font-size:clamp(22px,1.65vw,29px) !important;
  line-height:1 !important;
  letter-spacing:.15px !important;
  color:#4A3164 !important;
  white-space:nowrap !important;
  text-shadow:0 1px 1px rgba(255,255,255,.98),0 4px 12px rgba(74,49,100,.14) !important;
  mix-blend-mode:normal !important;
}
.purpose-card-body{
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  padding:0 !important;
  margin:0 !important;
  pointer-events:none !important;
  background:transparent !important;
}
.purpose-card p{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
}
.research-notice{
  margin-top:12px !important;
  padding:11px 15px !important;
  font-size:11.5px !important;
  line-height:1.35 !important;
}
.hero-accent{
  margin-top:10px !important;
  font-size:11px !important;
}
.hero-actions{
  margin-top:10px !important;
}
.hero-actions .button{
  padding:8px 15px !important;
  font-size:10.5px !important;
}
@media(max-width:900px){
  body::before{background-size:82% auto !important;background-position:center 28% !important;}
  .refined-hero{padding-top:76px !important;}
  .hero-logo,.hero-logo-dominant{width:min(360px,68vw) !important;}
  .purpose-grid{grid-template-columns:1fr !important;max-width:420px !important;gap:11px !important;}
  .purpose-card{height:168px !important;min-height:168px !important;}
  .purpose-card img{object-position:center 18% !important;}
  h1.hero-headline,.hero-headline,.hero-headline-small{font-size:10px !important;letter-spacing:1.55px !important;}
}
@media(max-width:560px){
  .hero-lux-card{padding:18px 11px 22px !important;}
  .hero-logo,.hero-logo-dominant{width:min(320px,80vw) !important;}
  .hero-copy{font-size:11.5px !important;}
  .purpose-card{height:158px !important;min-height:158px !important;}
  .purpose-title-overlay{top:12px !important;font-size:25px !important;}
}

/* Products page compact catalogue */
.products{
  padding:92px 22px 64px !important;
}
.products-title,
.products h2{
  font-size:clamp(24px,2.2vw,34px) !important;
  line-height:1.1 !important;
  margin:18px 0 8px !important;
  letter-spacing:.6px !important;
}
.products .product-grid{
  max-width:1240px !important;
  margin:28px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
}
.products .card{
  padding:16px 12px 14px !important;
  border-radius:24px !important;
  min-height:0 !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:0 14px 34px rgba(74,49,100,.065) !important;
}
.products .card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 20px 44px rgba(74,49,100,.10) !important;
}
.products .product-link{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-decoration:none !important;
  color:inherit !important;
}
.products .vial-img{
  width:min(132px,86%) !important;
  max-height:132px !important;
  object-fit:contain !important;
  margin:0 auto 10px !important;
  filter:contrast(1.03) drop-shadow(0 14px 24px rgba(74,49,100,.14)) !important;
}
.products .card h3{
  font-size:18px !important;
  line-height:1.12 !important;
  margin:8px 0 5px !important;
}
.products .card p{
  font-size:9.5px !important;
  line-height:1.45 !important;
  letter-spacing:1.15px !important;
  margin:0 auto 6px !important;
  min-height:42px !important;
  color:rgba(125,123,132,.92) !important;
}
.products .stock-pill{
  margin:3px auto 0 !important;
  padding:5px 9px !important;
  font-size:9px !important;
  letter-spacing:.8px !important;
}
.products .card-actions{
  gap:7px !important;
  padding-top:11px !important;
}
.products .qty-input{
  width:48px !important;
  padding:7px 6px !important;
  font-size:11px !important;
}
.products .quick-add,
.products .card-actions .button{
  padding:8px 11px !important;
  font-size:9.5px !important;
  letter-spacing:1.1px !important;
  white-space:nowrap !important;
}
@media(max-width:1120px){
  .products .product-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;max-width:980px !important;}
}
@media(max-width:860px){
  .products .product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:720px !important;}
}
@media(max-width:640px){
  .products{padding:84px 16px 52px !important;}
  .products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:13px !important;}
  .products .vial-img{width:min(118px,84%) !important;max-height:118px !important;}
  .products .card h3{font-size:16px !important;}
}
@media(max-width:430px){
  .products .product-grid{grid-template-columns:1fr !important;max-width:260px !important;}
}

/* Products stock labels and vial hover */
.stock-pill{
  min-width:86px;
  text-align:center;
}
.stock-pill.in{
  color:#386742 !important;
  border-color:rgba(56,103,66,.30) !important;
  background:rgba(232,244,232,.76) !important;
}
.stock-pill.low{
  color:#9B6A20 !important;
  border-color:rgba(196,139,77,.38) !important;
  background:rgba(255,244,222,.84) !important;
}
.stock-pill.out{
  color:#8E3F4B !important;
  border-color:rgba(142,63,75,.34) !important;
  background:rgba(250,230,234,.84) !important;
}
.products .vial-img{
  width:min(154px,92%) !important;
  max-height:154px !important;
  transition:transform .28s ease, filter .28s ease, opacity .28s ease !important;
  transform-origin:center bottom !important;
}
.products .card:hover .vial-img,
.products .product-link:hover .vial-img{
  transform:translateY(-5px) scale(1.07) !important;
  filter:contrast(1.06) drop-shadow(0 22px 34px rgba(74,49,100,.21)) !important;
}
.products .card:hover .product-link h3{
  color:rgba(74,49,100,.96) !important;
}
@media(max-width:640px){
  .products .vial-img{width:min(136px,90%) !important;max-height:136px !important;}
}

/* Products vial readability boost */
.products .product-grid{
  max-width:1380px !important;
  gap:18px !important;
}
.products .card{
  padding:14px 10px 13px !important;
  border-radius:24px !important;
}
.products .vial-img{
  width:min(205px,100%) !important;
  max-height:205px !important;
  margin:-2px auto 8px !important;
  object-fit:contain !important;
  transition:transform .28s ease, filter .28s ease, opacity .28s ease !important;
  transform-origin:center bottom !important;
}
.products .card:hover .vial-img,
.products .product-link:hover .vial-img{
  transform:translateY(-6px) scale(1.08) !important;
  filter:contrast(1.08) drop-shadow(0 24px 38px rgba(74,49,100,.24)) !important;
}
.products .card h3{
  margin-top:6px !important;
  font-size:17px !important;
}
.products .card p{
  font-size:9px !important;
  line-height:1.35 !important;
  min-height:36px !important;
}
.products .stock-pill{
  margin-top:2px !important;
}
.products .card-actions{
  padding-top:9px !important;
}
@media(max-width:1280px){
  .products .product-grid{max-width:1240px !important;}
  .products .vial-img{width:min(185px,100%) !important;max-height:185px !important;}
}
@media(max-width:1120px){
  .products .product-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;max-width:1040px !important;}
  .products .vial-img{width:min(205px,100%) !important;max-height:205px !important;}
}
@media(max-width:860px){
  .products .product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:780px !important;}
}
@media(max-width:640px){
  .products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;max-width:520px !important;}
  .products .vial-img{width:min(175px,100%) !important;max-height:175px !important;}
}
@media(max-width:430px){
  .products .product-grid{grid-template-columns:1fr !important;max-width:300px !important;}
  .products .vial-img{width:min(210px,100%) !important;max-height:210px !important;}
}

/* Products compact action row */
.products .card{
  padding:10px 10px 11px !important;
  border-radius:22px !important;
}
.products .vial-img{
  width:min(198px,100%) !important;
  max-height:198px !important;
  margin:-4px auto 5px !important;
}
.products .card h3{
  font-size:16px !important;
  margin:4px 0 3px !important;
}
.products .card p{
  font-size:8.5px !important;
  line-height:1.25 !important;
  min-height:28px !important;
  margin-bottom:4px !important;
  letter-spacing:1px !important;
}
.products .price-pill{
  margin-top:2px !important;
  padding:5px 9px !important;
  font-size:10px !important;
}
.products .card-actions{
  display:grid !important;
  grid-template-columns:38px minmax(78px,1fr) auto !important;
  align-items:center !important;
  gap:6px !important;
  padding-top:7px !important;
  margin-top:auto !important;
}
.products .qty-input{
  width:38px !important;
  padding:7px 4px !important;
  font-size:10px !important;
}
.products .quick-add,
.products .card-actions .button{
  padding:8px 9px !important;
  font-size:8.8px !important;
  letter-spacing:.9px !important;
  white-space:nowrap !important;
}
.products .stock-pill{
  margin:0 !important;
  min-width:74px !important;
  padding:6px 7px !important;
  font-size:8.4px !important;
  letter-spacing:.65px !important;
  white-space:nowrap !important;
  align-self:center !important;
}
.products .quick-add:disabled,
.products .card-actions .button:disabled{
  opacity:.48 !important;
  cursor:not-allowed !important;
  transform:none !important;
  box-shadow:none !important;
  filter:saturate(.7) !important;
}
.products .quick-add:disabled:hover,
.products .card-actions .button:disabled:hover{
  transform:none !important;
  box-shadow:none !important;
}
@media(max-width:1280px){
  .products .vial-img{width:min(178px,100%) !important;max-height:178px !important;}
  .products .card-actions{grid-template-columns:36px minmax(74px,1fr) auto !important;gap:5px !important;}
  .products .stock-pill{min-width:68px !important;font-size:8px !important;padding:6px 6px !important;}
}
@media(max-width:1120px){
  .products .vial-img{width:min(198px,100%) !important;max-height:198px !important;}
}
@media(max-width:640px){
  .products .card-actions{grid-template-columns:42px minmax(88px,1fr) auto !important;}
  .products .vial-img{width:min(168px,100%) !important;max-height:168px !important;}
}
@media(max-width:430px){
  .products .vial-img{width:min(210px,100%) !important;max-height:210px !important;}
}

/* Products ultra compact cards */
.products{
  padding:82px 18px 48px !important;
}
.products .product-grid{
  max-width:1420px !important;
  margin-top:20px !important;
  gap:14px !important;
}
.products .card{
  padding:9px 9px 10px !important;
  border-radius:20px !important;
  min-height:0 !important;
}
.products .product-link{
  gap:0 !important;
}
.products .vial-img{
  width:min(202px,100%) !important;
  max-height:202px !important;
  margin:-6px auto 4px !important;
  object-fit:contain !important;
}
.products .card h3{
  font-size:15.5px !important;
  line-height:1.05 !important;
  margin:3px 0 4px !important;
}
.products .card p{
  display:none !important;
}
.products .price-pill{
  margin:0 auto 2px !important;
  padding:4px 9px !important;
  font-size:9.5px !important;
  line-height:1.1 !important;
}
.products .card-actions{
  display:grid !important;
  grid-template-columns:34px minmax(72px,1fr) auto !important;
  align-items:center !important;
  gap:5px !important;
  padding-top:5px !important;
  margin-top:auto !important;
}
.products .qty-input{
  width:34px !important;
  padding:6px 3px !important;
  font-size:9px !important;
}
.products .quick-add,
.products .card-actions .button{
  padding:7px 8px !important;
  font-size:8.2px !important;
  letter-spacing:.75px !important;
  white-space:nowrap !important;
}
.products .stock-pill{
  margin:0 !important;
  min-width:68px !important;
  padding:5px 6px !important;
  font-size:7.8px !important;
  letter-spacing:.55px !important;
  white-space:nowrap !important;
  align-self:center !important;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease !important;
}
.products .stock-pill:hover{
  transform:translateY(-2px) scale(1.035) !important;
  box-shadow:0 10px 22px rgba(74,49,100,.12) !important;
  filter:saturate(1.08) contrast(1.02) !important;
}
.products .stock-pill.in:hover{
  box-shadow:0 10px 22px rgba(56,103,66,.16) !important;
}
.products .stock-pill.low:hover{
  box-shadow:0 10px 22px rgba(196,139,77,.18) !important;
}
.products .stock-pill.out:hover{
  box-shadow:0 10px 22px rgba(142,63,75,.16) !important;
}
.products .quick-add:disabled,
.products .card-actions .button:disabled{
  opacity:.48 !important;
  cursor:not-allowed !important;
  transform:none !important;
  box-shadow:none !important;
  filter:saturate(.7) !important;
}
.products .quick-add:disabled:hover,
.products .card-actions .button:disabled:hover{
  transform:none !important;
  box-shadow:none !important;
}
@media(max-width:1280px){
  .products .product-grid{max-width:1280px !important;gap:13px !important;}
  .products .vial-img{width:min(184px,100%) !important;max-height:184px !important;}
  .products .card-actions{grid-template-columns:32px minmax(68px,1fr) auto !important;gap:4px !important;}
  .products .stock-pill{min-width:64px !important;font-size:7.5px !important;padding:5px 5px !important;}
}
@media(max-width:1120px){
  .products .product-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;max-width:1040px !important;}
  .products .vial-img{width:min(200px,100%) !important;max-height:200px !important;}
}
@media(max-width:860px){
  .products .product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:780px !important;}
}
@media(max-width:640px){
  .products{padding:78px 14px 44px !important;}
  .products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;max-width:520px !important;gap:12px !important;}
  .products .vial-img{width:min(170px,100%) !important;max-height:170px !important;}
  .products .card-actions{grid-template-columns:38px minmax(82px,1fr) auto !important;}
}
@media(max-width:430px){
  .products .product-grid{grid-template-columns:1fr !important;max-width:300px !important;}
  .products .vial-img{width:min(210px,100%) !important;max-height:210px !important;}
}

/* Products price visibility polish */
.products .price-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:72px !important;
  margin:1px auto 4px !important;
  padding:6px 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(196,139,77,.50) !important;
  background:linear-gradient(180deg,rgba(255,252,248,.98),rgba(246,236,221,.94)) !important;
  color:#4A3164 !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.35px !important;
  box-shadow:0 8px 18px rgba(74,49,100,.10), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.products .price-pill::before{
  content:"Price";
  margin-right:6px;
  font-family:Inter,sans-serif;
  font-size:7.2px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:rgba(196,139,77,.96);
}
.products .was-price{
  margin-left:5px !important;
  color:rgba(125,123,132,.72) !important;
  font-size:9px !important;
  font-weight:600 !important;
  text-decoration-thickness:1px !important;
}
.products .card:hover .price-pill{
  transform:translateY(-1px) !important;
  border-color:rgba(196,139,77,.68) !important;
  box-shadow:0 12px 26px rgba(74,49,100,.14), inset 0 1px 0 rgba(255,255,255,.95) !important;
}
@media(max-width:1280px){
  .products .price-pill{
    min-width:68px !important;
    padding:5px 9px !important;
    font-size:11px !important;
  }
  .products .price-pill::before{
    font-size:6.8px !important;
    margin-right:5px !important;
  }
}
@media(max-width:640px){
  .products .price-pill{
    font-size:11.5px !important;
    padding:6px 10px !important;
  }
}

/* Products name closer to vial */
.products .vial-img{
  margin:-6px auto 0 !important;
}
.products .card h3{
  font-size:17.8px !important;
  line-height:1.04 !important;
  margin:-3px 0 5px !important;
  color:#4A3164 !important;
  letter-spacing:.1px !important;
}
.products .card:hover h3{
  color:rgba(74,49,100,.98) !important;
}
@media(max-width:1280px){
  .products .card h3{
    font-size:17px !important;
    margin:-2px 0 5px !important;
  }
}
@media(max-width:640px){
  .products .card h3{
    font-size:17.2px !important;
    margin:-2px 0 5px !important;
  }
}

/* Admin nav visibility */
.admin-link{
  display:none !important;
  white-space:nowrap;
}
body.admin-user .admin-link{
  display:inline-flex !important;
}
.admin-link{
  border:1px solid rgba(196,139,77,.30);
  border-radius:999px;
  padding:9px 14px !important;
  background:rgba(255,252,248,.72);
  box-shadow:0 8px 18px rgba(74,49,100,.055);
}
body.admin-user .admin-link:hover{
  border-color:rgba(196,139,77,.55);
  background:rgba(255,252,248,.92);
  transform:translateY(-1px);
}


/* =======================================================
   AETERNAVITA FOOTER - ALL PAGES IMAGE-STYLE LAYOUT
   ======================================================= */
.site-footer.index-footer{
  margin-top:70px;
  padding:46px 24px 28px;
  border-top:1px solid rgba(196,139,77,.22);
  background:rgba(255,255,255,.42);
  backdrop-filter:blur(10px);
  color:var(--grey);
}
.index-footer .footer-top{
  max-width:1280px;
  margin:0 auto 54px;
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1.2fr;
  gap:58px;
  align-items:start;
}
.index-footer .footer-brand{
  text-align:center;
}
.index-footer .footer-brand-icon{
  width:132px;
  height:132px;
  object-fit:contain;
  margin:0 auto 10px;
  display:block;
  filter:drop-shadow(0 12px 24px rgba(74,49,100,.10));
}
.index-footer .footer-brand-name{
  font-family:'Playfair Display',serif;
  color:var(--violet);
  font-size:24px;
  letter-spacing:4px;
  line-height:1.05;
}
.index-footer .footer-brand-line{
  margin-top:8px;
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(74,49,100,.58);
}
.index-footer .footer-column h4{
  font-family:'Playfair Display',serif;
  color:var(--violet);
  font-size:25px;
  font-weight:600;
  margin:0 0 21px;
}
.index-footer .footer-column a,
.index-footer .footer-column p{
  display:block;
  margin:0 0 9px;
  color:rgba(64,37,95,.82);
  font-size:15px;
  line-height:1.45;
  text-decoration:none;
}
.index-footer .footer-column a:hover{
  color:var(--gold);
}
.index-footer .footer-bottom{
  max-width:1280px;
  margin:0 auto;
  padding-top:24px;
  border-top:1px solid rgba(196,139,77,.20);
  text-align:center;
}
.index-footer .footer-copyright{
  margin:0 0 34px;
  color:rgba(64,37,95,.78);
  font-size:15px;
  line-height:1.6;
}
.index-footer .footer-disclaimer-text{
  max-width:1060px;
  margin:0 auto;
  color:rgba(64,37,95,.68);
  font-size:11px;
  line-height:1.9;
}
@media(max-width:950px){
  .index-footer .footer-top{
    grid-template-columns:1fr 1fr;
    gap:36px 30px;
  }
}
@media(max-width:620px){
  .site-footer.index-footer{
    padding:38px 18px 26px;
  }
  .index-footer .footer-top{
    grid-template-columns:1fr;
    text-align:center;
    margin-bottom:38px;
  }
  .index-footer .footer-brand-icon{
    width:112px;
    height:112px;
  }
}


/* =======================================================
   AETERNAVITA LEGAL PAGES + SHARED FOOTER POLISH
   ======================================================= */
.legal-hero{
  min-height:38vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:145px 22px 46px;
  position:relative;
}
.legal-hero-inner{
  max-width:880px;
}
.legal-kicker{
  font-size:12px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:12px;
}
.legal-hero h1{
  font-family:'Playfair Display',serif;
  color:var(--violet);
  font-size:clamp(42px,6vw,72px);
  font-weight:400;
  line-height:1.05;
  margin:0 0 16px;
}
.legal-hero p{
  color:rgba(64,37,95,.70);
  font-size:15px;
  line-height:1.8;
  margin:0 auto;
  max-width:720px;
}
.legal-page{
  max-width:1040px;
  margin:0 auto 30px;
  padding:0 22px 40px;
}
.legal-card{
  border:1px solid rgba(196,139,77,.22);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
  border-radius:34px;
  box-shadow:0 24px 70px rgba(64,37,95,.07);
  padding:clamp(24px,4vw,52px);
  color:rgba(64,37,95,.78);
  line-height:1.82;
}
.legal-card h2{
  font-family:'Playfair Display',serif;
  color:var(--violet);
  font-size:clamp(25px,3vw,34px);
  font-weight:400;
  margin:34px 0 14px;
}
.legal-card h2:first-child{margin-top:0;}
.legal-card p{margin:0 0 15px;}
.legal-card ul{margin:0 0 18px; padding-left:22px;}
.legal-card li{margin-bottom:9px;}
.legal-card a{color:var(--gold); text-decoration:none;}
.legal-card a:hover{text-decoration:underline;}
.legal-note{
  border:1px solid rgba(196,139,77,.24);
  background:linear-gradient(135deg,rgba(248,244,241,.72),rgba(255,255,255,.56));
  border-radius:24px;
  padding:18px 20px;
  margin:0 0 26px;
  color:rgba(64,37,95,.78);
}
.site-footer.index-footer{
  margin-top:70px;
  padding:46px 24px 28px;
  border-top:1px solid rgba(196,139,77,.22);
  background:rgba(255,255,255,.42);
  backdrop-filter:blur(10px);
  color:var(--grey);
}
.index-footer .footer-top{
  max-width:1280px;
  margin:0 auto 54px;
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1.2fr;
  gap:58px;
  align-items:start;
}
.index-footer .footer-brand{text-align:center;}
.index-footer .footer-brand-icon{width:132px;height:132px;object-fit:contain;margin:0 auto 10px;display:block;filter:drop-shadow(0 12px 24px rgba(74,49,100,.10));}
.index-footer .footer-brand-name{font-family:'Playfair Display',serif;color:var(--violet);font-size:24px;letter-spacing:4px;line-height:1.05;}
.index-footer .footer-brand-line{margin-top:8px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(74,49,100,.58);}
.index-footer .footer-column h4{font-family:'Playfair Display',serif;color:var(--violet);font-size:25px;font-weight:600;margin:0 0 21px;}
.index-footer .footer-column a,.index-footer .footer-column p{display:block;margin:0 0 9px;color:rgba(64,37,95,.82);font-size:15px;line-height:1.45;text-decoration:none;}
.index-footer .footer-column a:hover{color:var(--gold);}
.index-footer .footer-bottom{max-width:1280px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(196,139,77,.20);text-align:center;}
.index-footer .footer-copyright{margin:0 0 34px;color:rgba(64,37,95,.78);font-size:15px;line-height:1.6;}
.index-footer .footer-disclaimer-text{max-width:1060px;margin:0 auto;color:rgba(64,37,95,.68);font-size:11px;line-height:1.9;}
@media(max-width:950px){.index-footer .footer-top{grid-template-columns:1fr 1fr;gap:36px 30px;}.legal-hero{padding-top:125px;}}
@media(max-width:620px){.index-footer .footer-top{grid-template-columns:1fr;text-align:center;margin-bottom:38px;}.index-footer .footer-brand-icon{width:112px;height:112px;}.legal-card{border-radius:24px;}}


/* =======================================================
   AETERNAVITA PRODUCT CATEGORY LANDING + CATEGORY PAGES
   ======================================================= */
.category-landing{
  min-height:70vh;
  padding:145px 22px 80px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.category-landing-inner{
  max-width:1180px;
  width:100%;
  text-align:center;
}
.category-kicker{
  margin:0 0 12px;
  color:var(--gold);
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:12px;
}
.category-landing h1,
.category-page-heading h1{
  font-family:'Playfair Display',serif;
  color:var(--violet);
  font-size:clamp(44px,6vw,76px);
  font-weight:400;
  line-height:1.05;
  margin:0 0 18px;
}
.category-intro,
.category-page-heading p{
  color:rgba(64,37,95,.70);
  font-size:15px;
  line-height:1.8;
  max-width:760px;
  margin:0 auto 34px;
}
.category-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:34px;
}
.category-card{
  min-height:270px;
  border:1px solid rgba(196,139,77,.24);
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(14px);
  border-radius:34px;
  padding:34px 28px;
  text-align:left;
  text-decoration:none;
  color:var(--violet);
  box-shadow:0 24px 70px rgba(64,37,95,.07);
  position:relative;
  overflow:hidden;
  transition:.25s ease;
}
.category-card:before{
  content:"";
  position:absolute;
  inset:auto -40px -60px auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(232,182,201,.30),transparent 70%);
}
.category-card:hover{
  transform:translateY(-4px);
  border-color:rgba(196,139,77,.48);
  box-shadow:0 30px 80px rgba(64,37,95,.10);
}
.category-label{
  display:inline-flex;
  border-radius:999px;
  padding:7px 12px;
  background:rgba(196,139,77,.12);
  color:var(--gold);
  font-size:11px;
  letter-spacing:1.8px;
  text-transform:uppercase;
  margin-bottom:22px;
}
.category-card h2{
  font-family:'Playfair Display',serif;
  font-size:30px;
  font-weight:400;
  margin:0 0 12px;
}
.category-card p{
  margin:0 0 26px;
  color:rgba(64,37,95,.68);
  line-height:1.7;
  font-size:14px;
}
.category-arrow{
  color:var(--gold);
  font-weight:600;
  font-size:13px;
}
.category-products-page{
  padding-top:145px;
}
.category-page-heading{
  max-width:920px;
  margin:0 auto 34px;
  text-align:center;
  padding:0 22px;
}
.mini-back-link{
  display:inline-block;
  color:var(--gold);
  text-decoration:none;
  margin-top:8px;
  font-size:13px;
  letter-spacing:1px;
}
.empty-category-note{
  max-width:760px;
  margin:12px auto 0;
  padding:30px 24px;
  text-align:center;
  border:1px dashed rgba(196,139,77,.34);
  border-radius:28px;
  background:rgba(255,255,255,.52);
  color:rgba(64,37,95,.68);
}
.empty-category-note h3{
  font-family:'Playfair Display',serif;
  color:var(--violet);
  font-size:28px;
  margin:0 0 10px;
  font-weight:400;
}
@media(max-width:900px){
  .category-card-grid{grid-template-columns:1fr;}
  .category-landing{padding-top:128px;}
}


/* =======================================================
   AETERNAVITA NAV PRODUCT DROPDOWN + CART ICON
   ======================================================= */
.nav-dropdown{position:relative;display:inline-flex;align-items:center;height:100%;}
.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:7px;}
.nav-dropdown-trigger::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7;}
.nav-dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);min-width:235px;padding:12px;border-radius:22px;background:rgba(255,255,255,.94);border:1px solid rgba(196,139,77,.24);box-shadow:0 24px 60px rgba(64,37,95,.14);backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:50;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav-dropdown-menu a{display:block;padding:12px 14px;border-radius:15px;color:var(--violet);text-decoration:none;letter-spacing:1.5px;white-space:nowrap;}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus{background:rgba(196,139,77,.12);color:var(--gold);}
.cart-link{display:inline-flex;align-items:center;gap:7px;}
.cart-mini-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;font-size:15px;line-height:1;transform:translateY(-1px);}
.category-products-page{padding-top:145px;}.category-page-heading{max-width:920px;margin:0 auto 34px;text-align:center;padding:0 22px;}.category-kicker{margin:0 0 12px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;}.category-page-heading h1{font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(44px,6vw,76px);font-weight:400;line-height:1.05;margin:0 0 18px;}.category-page-heading p{color:rgba(64,37,95,.70);font-size:15px;line-height:1.8;max-width:760px;margin:0 auto 34px;}.empty-category-note{max-width:760px;margin:12px auto 0;padding:30px 24px;text-align:center;border:1px dashed rgba(196,139,77,.34);border-radius:28px;background:rgba(255,255,255,.52);color:rgba(64,37,95,.68);}.empty-category-note h3{font-family:'Playfair Display',serif;color:var(--violet);font-size:28px;margin:0 0 10px;font-weight:400;}.hidden{display:none!important;}
@media(max-width:760px){.nav-dropdown-menu{left:auto;right:0;transform:translateY(8px);}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{transform:translateY(0);}}


/* =======================================================
   AETERNAVITA DROPDOWN HOVER GAP FIX
   Keeps Products dropdown open while moving cursor downward
   ======================================================= */
.nav-dropdown{
  position:relative;
  padding-bottom:18px;
  margin-bottom:-18px;
}
.nav-dropdown-menu{
  top:100% !important;
  margin-top:0 !important;
  padding-top:12px;
}
.nav-dropdown::after{
  content:"";
  position:absolute;
  left:-18px;
  right:-18px;
  top:100%;
  height:22px;
  display:block;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown-menu:hover{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
@media(max-width:760px){
  .nav-dropdown:hover .nav-dropdown-menu,
  .nav-dropdown:focus-within .nav-dropdown-menu,
  .nav-dropdown-menu:hover{
    transform:translateY(0);
  }
}


/* =======================================================
   AETERNAVITA EDUCATION DROPDOWN + PLACEHOLDER PAGES
   ======================================================= */
.nav-dropdown{position:relative;display:inline-flex;align-items:center;height:100%;padding-bottom:18px;margin-bottom:-18px;}
.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:7px;}
.nav-dropdown-trigger::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7;}
.nav-dropdown-menu{position:absolute;top:100% !important;left:50%;transform:translateX(-50%) translateY(8px);min-width:235px;margin-top:0 !important;padding:12px;border-radius:22px;background:rgba(255,255,255,.94);border:1px solid rgba(196,139,77,.24);box-shadow:0 24px 60px rgba(64,37,95,.14);backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:50;}
.nav-dropdown::after{content:"";position:absolute;left:-18px;right:-18px;top:100%;height:22px;display:block;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown-menu:hover{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav-dropdown-menu a{display:block;padding:12px 14px;border-radius:15px;color:var(--violet);text-decoration:none;letter-spacing:1.5px;white-space:nowrap;}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus{background:rgba(196,139,77,.12);color:var(--gold);}
.education-shell{min-height:70vh;padding:145px 22px 86px;display:flex;align-items:center;justify-content:center;}
.education-card{width:min(980px,100%);padding:58px 42px;border-radius:34px;background:rgba(255,255,255,.72);border:1px solid rgba(196,139,77,.22);box-shadow:0 26px 74px rgba(64,37,95,.07);backdrop-filter:blur(14px);text-align:center;}
.education-kicker{margin:0 0 12px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;}
.education-card h1{font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(46px,6vw,76px);font-weight:400;line-height:1.05;margin:0 0 18px;}
.education-card p{color:rgba(64,37,95,.70);font-size:15px;line-height:1.8;max-width:760px;margin:0 auto 30px;}
.empty-education-note{max-width:720px;margin:22px auto 0;padding:28px 24px;border:1px dashed rgba(196,139,77,.34);border-radius:26px;background:rgba(248,244,241,.56);}
.empty-education-note h2{font-family:'Playfair Display',serif;color:var(--violet);font-size:30px;font-weight:400;margin:0 0 10px;}
.cart-link{display:inline-flex;align-items:center;gap:7px;}
.cart-mini-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;font-size:15px;line-height:1;transform:translateY(-1px);}
@media(max-width:760px){.nav-dropdown-menu{left:auto;right:0;transform:translateY(8px);}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown-menu:hover{transform:translateY(0);}.education-shell{padding-top:128px}.education-card{padding:42px 22px;}}


/* =======================================================
   AETERNAVITA HERO LEFT OFFER ONLY
   Keeps left offer card, removes right text card, preserves centered logo
   ======================================================= */
.hero-logo-row-left-only{
  grid-template-columns:minmax(180px,0.72fr) minmax(310px,560px) minmax(180px,0.72fr);
}
.hero-side-spacer{
  min-height:1px;
  pointer-events:none;
}
.hero-logo-row-left-only .hero-side-card-right{
  display:none !important;
}
@media(max-width:1100px){
  .hero-logo-row-left-only{
    grid-template-columns:1fr;
  }
  .hero-logo-row-left-only .hero-side-spacer{
    display:none;
  }
}


/* =======================================================
   AETERNAVITA RESEARCH CALCULATOR PAGE
   ======================================================= */
.calculator-shell{min-height:72vh;padding:145px 22px 86px;display:flex;align-items:center;justify-content:center;}
.calculator-hero-card{width:min(1120px,100%);padding:58px 42px;border-radius:34px;background:rgba(255,255,255,.74);border:1px solid rgba(196,139,77,.22);box-shadow:0 26px 74px rgba(64,37,95,.07);backdrop-filter:blur(14px);}
.calculator-kicker{margin:0 0 12px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;text-align:center;}
.calculator-hero-card h1{font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(46px,6vw,76px);font-weight:400;line-height:1.05;margin:0 0 18px;text-align:center;}
.calculator-intro{color:rgba(64,37,95,.70);font-size:15px;line-height:1.8;max-width:790px;margin:0 auto 26px;text-align:center;}
.calculator-warning{max-width:860px;margin:0 auto 34px;padding:18px 20px;border-radius:24px;border:1px solid rgba(196,139,77,.28);background:rgba(248,244,241,.68);color:rgba(64,37,95,.72);line-height:1.7;text-align:center;}
.calculator-warning strong{color:var(--violet);}
.calculator-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;}
.calc-panel{border:1px solid rgba(196,139,77,.20);background:rgba(255,255,255,.62);border-radius:28px;padding:28px 24px;box-shadow:0 18px 48px rgba(64,37,95,.045);}
.calc-panel h2,.calculator-formula-card h2{font-family:'Playfair Display',serif;color:var(--violet);font-size:30px;font-weight:400;margin:0 0 10px;}
.calc-panel p,.calculator-formula-card p{color:rgba(64,37,95,.68);font-size:13px;line-height:1.7;margin:0 0 18px;}
.calc-panel label{display:block;color:var(--violet);letter-spacing:1.8px;text-transform:uppercase;font-size:11px;margin:18px 0 0;}
.calc-panel input{width:100%;margin-top:8px;padding:15px 16px;border-radius:18px;border:1px solid rgba(64,37,95,.18);background:rgba(255,255,255,.86);font-family:inherit;color:var(--violet);font-size:15px;box-sizing:border-box;}
.calc-panel input:focus{outline:2px solid rgba(196,139,77,.24);border-color:rgba(196,139,77,.55);}
.calc-results{display:grid;gap:12px;margin-top:22px;}
.calc-results div{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 16px;border-radius:18px;background:rgba(248,244,241,.62);border:1px solid rgba(196,139,77,.14);}
.calc-results span{color:rgba(64,37,95,.62);font-size:12px;letter-spacing:1px;text-transform:uppercase;}
.calc-results strong{color:var(--violet);font-size:16px;text-align:right;}
.calculator-reset{width:100%;margin-top:22px;}
.calculator-formula-card{margin-top:24px;padding:24px 24px;border-radius:26px;border:1px dashed rgba(196,139,77,.32);background:rgba(255,255,255,.48);}
@media(max-width:880px){.calculator-grid{grid-template-columns:1fr;}.calculator-shell{padding-top:128px}.calculator-hero-card{padding:42px 22px;}}
@media(max-width:560px){.calc-results div{display:block}.calc-results strong{display:block;text-align:left;margin-top:6px}.calc-panel h2,.calculator-formula-card h2{font-size:26px;}}


/* =======================================================
   AETERNAVITA VISUAL PEPTIDE CALCULATOR
   ======================================================= */
.visual-calc-shell{padding:140px 28px 88px;min-height:72vh;}
.visual-calc-heading{text-align:center;max-width:940px;margin:0 auto 34px;}
.visual-calc-kicker{margin:0 0 10px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;}
.visual-calc-heading h1{font-family:'Playfair Display',serif;color:var(--violet);font-weight:400;font-size:clamp(42px,6vw,72px);line-height:1.06;margin:0 0 14px;}
.visual-calc-heading p{max-width:820px;margin:0 auto;color:rgba(64,37,95,.68);line-height:1.8;font-size:15px;}
.visual-calc-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(520px,1.15fr);gap:34px;max-width:1380px;margin:0 auto;align-items:start;}
.visual-calc-steps h2{color:#081d2f;font-size:30px;margin:0 0 8px;}
.visual-calc-steps>p{font-size:20px;color:rgba(8,29,47,.68);margin:0 0 16px;}
.step-card{position:relative;display:grid;grid-template-columns:190px 1fr;align-items:center;min-height:142px;margin:0 0 24px;padding:20px 24px;border-radius:14px;border:1px solid rgba(30,78,120,.24);background:rgba(240,248,252,.72);overflow:hidden;}
.step-card span{position:absolute;left:-8px;top:-28px;font-size:178px;font-weight:800;color:rgba(46,80,130,.11);line-height:1;letter-spacing:-10px;}
.step-card div{grid-column:2;position:relative;z-index:1;text-align:right;}
.step-card h3{font-size:30px;line-height:1.1;color:#061222;margin:0 0 10px;}
.step-card p{font-size:20px;line-height:1.35;color:rgba(0,0,0,.56);margin:0;}
.visual-calc-tool{background:linear-gradient(160deg,#325e84,#55a6e3);border-radius:40px;padding:44px 54px;color:#fff;box-shadow:0 30px 80px rgba(21,72,114,.22);}
.tool-section{margin-bottom:30px;}
.tool-label{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:20px;line-height:1.3;}
.tool-label span{font-size:28px;}.tool-label strong{font-weight:700;}.tool-label .add-peptide-btn{margin-left:auto;}
.tool-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(170px,230px);gap:18px;align-items:center;margin:12px 0;}
.tool-row label{font-size:30px;font-weight:700;color:#fff;}
.tool-row input,.tool-row select,.unit-pill{height:58px;border:none;border-radius:26px;background:#24547b;color:#fff;text-align:center;font-size:22px;font-weight:700;padding:0 18px;box-sizing:border-box;}
.tool-row select{appearance:none;background:#24547b;cursor:pointer;}
.unit-pill{display:flex;align-items:center;justify-content:center;}
.peptide-row{grid-template-columns:minmax(145px,1fr) minmax(130px,170px) minmax(90px,130px);}
.water-row{grid-template-columns:minmax(145px,1fr) minmax(130px,170px) minmax(90px,130px);}
.add-peptide-btn{height:46px;border:none;border-radius:8px;background:#f4f7fb;color:#123958;text-transform:uppercase;font-weight:800;letter-spacing:.5px;padding:0 18px;cursor:pointer;}.add-peptide-btn:disabled{opacity:.45;cursor:not-allowed;}
.formula-panel{background:#305d83;border-radius:28px;margin-top:8px;padding:28px 34px;color:#fff;}
.formula-top{display:flex;align-items:center;justify-content:space-between;font-size:24px;font-weight:800;margin-bottom:14px;}
.unit-ruler{height:64px;background:#89a3b7;position:relative;overflow:hidden;border-radius:0;}
#rulerFill{position:absolute;left:0;top:0;bottom:0;background:#16496f;width:0%;transition:width .2s ease;}
#rulerTicks{position:absolute;inset:0;}
.tick{position:absolute;top:0;width:2px;height:16px;background:#fff;opacity:.85;}.tick.major{height:28px;}#rulerTicks em{position:absolute;bottom:8px;transform:translateX(-50%);font-style:normal;color:#fff;font-size:18px;}
.formula-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;}.formula-result-card{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.20);border-radius:18px;padding:14px;color:#fff;}.formula-result-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1.4px;opacity:.8;}.formula-result-card strong{display:block;font-size:22px;margin:5px 0;}.formula-result-card small{display:block;opacity:.82;line-height:1.4;}.formula-result-card.over{border-color:rgba(255,220,130,.75);background:rgba(255,220,130,.14);}
.visual-calc-warning{margin-top:24px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);border-radius:20px;padding:16px 18px;line-height:1.6;}.visual-calc-warning strong{color:#fff;}
@media(max-width:1120px){.visual-calc-layout{grid-template-columns:1fr}.visual-calc-tool{padding:36px 28px}.step-card{grid-template-columns:150px 1fr}.step-card h3{font-size:25px}.step-card p{font-size:17px}}
@media(max-width:680px){.visual-calc-shell{padding:126px 16px 70px}.tool-row,.peptide-row,.water-row{grid-template-columns:1fr;gap:8px}.tool-row label{font-size:25px}.tool-label{align-items:flex-start}.tool-label .add-peptide-btn{margin-left:0}.formula-results{grid-template-columns:1fr}.step-card{grid-template-columns:1fr;padding:22px}.step-card div{text-align:left;grid-column:1}.step-card span{font-size:132px}.visual-calc-tool{border-radius:28px;padding:28px 18px}.formula-panel{padding:22px 18px}.visual-calc-steps h2{font-size:26px}}


/* =======================================================
   AETERNAVITA SINGLE PEPTIDE CALCULATOR
   ======================================================= */
.single-calc-shell{padding:142px 24px 88px;min-height:72vh;display:flex;align-items:center;justify-content:center;}
.single-calc-card{width:min(1180px,100%);border:1px solid rgba(196,139,77,.24);background:rgba(255,255,255,.74);backdrop-filter:blur(14px);border-radius:38px;box-shadow:0 28px 78px rgba(64,37,95,.075);padding:52px clamp(22px,4vw,54px);}
.single-calc-heading{text-align:center;max-width:840px;margin:0 auto 34px;}
.single-calc-kicker{margin:0 0 10px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;}
.single-calc-heading h1{font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(46px,6vw,76px);font-weight:400;line-height:1.05;margin:0 0 16px;}
.single-calc-heading p{margin:0 auto;color:rgba(64,37,95,.68);line-height:1.8;font-size:15px;}
.single-calc-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:34px;align-items:stretch;}
.single-calc-form,.single-calc-output{border:1px solid rgba(196,139,77,.20);background:rgba(255,255,255,.58);border-radius:30px;padding:28px;box-shadow:0 18px 48px rgba(64,37,95,.045);}
.single-calc-section{margin-bottom:22px;}
.single-calc-section:last-child{margin-bottom:0;}
.single-calc-section label{display:block;margin-bottom:10px;color:var(--violet);font-size:13px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;line-height:1.45;}
.single-calc-section select,.single-calc-section input{width:100%;height:56px;border-radius:20px;border:1px solid rgba(64,37,95,.18);background:rgba(255,255,255,.88);color:var(--violet);font-family:inherit;font-size:18px;font-weight:600;padding:0 18px;box-sizing:border-box;}
.input-with-unit{display:grid;grid-template-columns:1fr 92px;gap:10px;align-items:center;}
.input-with-unit span,.input-with-unit select{height:56px;border-radius:20px;border:1px solid rgba(196,139,77,.22);background:rgba(248,244,241,.78);color:var(--violet);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;}
.input-with-unit.split-unit{grid-template-columns:1fr 112px;}
.single-calc-output{background:linear-gradient(145deg,rgba(255,255,255,.70),rgba(248,244,241,.62));}
.output-summary{text-align:center;margin-bottom:26px;}
.output-summary span{display:block;color:var(--gold);font-size:12px;letter-spacing:2.2px;text-transform:uppercase;margin-bottom:8px;}
.output-summary strong{display:block;font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(42px,5vw,64px);font-weight:400;line-height:1;}
.output-summary small{display:block;color:rgba(64,37,95,.70);font-size:16px;margin-top:8px;}
.syringe-visual{display:grid;grid-template-columns:32px 1fr 48px;align-items:center;gap:0;margin:18px 0 26px;min-height:92px;}
.syringe-needle{height:3px;background:linear-gradient(90deg,transparent,#9f86aa);position:relative;}
.syringe-needle:before{content:"";position:absolute;right:-2px;top:-5px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:14px solid #9f86aa;}
.syringe-barrel{height:58px;border:2px solid rgba(64,37,95,.34);border-radius:20px;background:rgba(255,255,255,.82);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);}
.syringe-fill{position:absolute;left:0;top:0;bottom:0;width:0%;background:linear-gradient(90deg,rgba(196,139,77,.35),rgba(232,182,201,.52));transition:width .2s ease;}
.syringe-ticks{position:absolute;inset:0;}
.syringe-tick{position:absolute;top:0;width:1px;height:16px;background:rgba(64,37,95,.50);}
.syringe-tick.major{height:27px;background:rgba(64,37,95,.72);}
.syringe-ticks em{position:absolute;bottom:6px;transform:translateX(-50%);font-style:normal;font-size:11px;color:rgba(64,37,95,.72);}
.syringe-plunger{height:34px;border-radius:0 14px 14px 0;border:2px solid rgba(64,37,95,.34);border-left:none;background:rgba(255,255,255,.76);position:relative;}
.syringe-plunger:after{content:"";position:absolute;right:-17px;top:50%;transform:translateY(-50%);width:16px;height:50px;border-radius:10px;background:rgba(64,37,95,.22);}
.measurement-details{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px;}
.measurement-details div{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border-radius:18px;border:1px solid rgba(196,139,77,.16);background:rgba(255,255,255,.60);}
.measurement-details span{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(64,37,95,.58);}
.measurement-details strong{font-size:15px;color:var(--violet);text-align:right;}
.single-calc-warning{margin-top:20px;padding:16px 18px;border-radius:22px;border:1px solid rgba(196,139,77,.24);background:rgba(248,244,241,.70);color:rgba(64,37,95,.70);line-height:1.65;font-size:13px;}
.single-calc-warning strong{color:var(--violet);}
.single-calc-output.over-volume .output-summary strong{color:#8a3030;}
.single-calc-output.over-volume .single-calc-warning{border-color:rgba(138,48,48,.28);}
@media(max-width:940px){.single-calc-grid{grid-template-columns:1fr}.single-calc-shell{padding-top:126px}.single-calc-card{border-radius:30px}.single-calc-form,.single-calc-output{padding:24px;}}
@media(max-width:560px){.input-with-unit,.input-with-unit.split-unit{grid-template-columns:1fr}.syringe-visual{grid-template-columns:22px 1fr 38px}.measurement-details div{display:block}.measurement-details strong{display:block;text-align:left;margin-top:5px}.single-calc-heading h1{font-size:42px}}


/* =======================================================
   AETERNAVITA EDUCATION DOSAGES PAGE
   ======================================================= */
.dosages-shell{padding:145px 22px 88px;min-height:72vh;display:flex;align-items:flex-start;justify-content:center;}
.dosages-card{width:min(1120px,100%);border:1px solid rgba(196,139,77,.24);background:rgba(255,255,255,.74);backdrop-filter:blur(14px);border-radius:38px;box-shadow:0 28px 78px rgba(64,37,95,.075);padding:52px clamp(22px,4vw,54px);}
.dosages-kicker{margin:0 0 10px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;text-align:center;}
.dosages-card h1{font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(46px,6vw,76px);font-weight:400;line-height:1.05;margin:0 0 16px;text-align:center;}
.dosages-intro{max-width:820px;margin:0 auto 28px;color:rgba(64,37,95,.70);line-height:1.8;text-align:center;font-size:15px;}
.dosages-warning{max-width:920px;margin:0 auto 34px;padding:18px 20px;border-radius:24px;border:1px solid rgba(196,139,77,.28);background:rgba(248,244,241,.72);color:rgba(64,37,95,.74);line-height:1.7;text-align:center;}
.dosages-warning strong{color:var(--violet);}
.compound-profile-card{border:1px solid rgba(196,139,77,.20);background:rgba(255,255,255,.58);border-radius:30px;padding:30px;box-shadow:0 18px 48px rgba(64,37,95,.045);}
.compound-profile-header{text-align:center;max-width:820px;margin:0 auto 26px;}
.compound-profile-header span{display:block;color:var(--gold);font-size:11px;letter-spacing:2.2px;text-transform:uppercase;margin-bottom:8px;}
.compound-profile-header h2{font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(34px,4vw,52px);font-weight:400;line-height:1.1;margin:0 0 10px;}
.compound-profile-header p{color:rgba(64,37,95,.68);line-height:1.75;margin:0;}
.compound-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px;}
.compound-grid div,.dosages-do-not-box,.source-notes{border:1px solid rgba(196,139,77,.16);background:rgba(255,255,255,.62);border-radius:24px;padding:22px;}
.compound-grid h3,.dosages-do-not-box h3,.source-notes h3{font-family:'Playfair Display',serif;color:var(--violet);font-size:25px;font-weight:400;margin:0 0 10px;}
.compound-grid p,.dosages-do-not-box p,.source-notes li{color:rgba(64,37,95,.70);line-height:1.72;font-size:14px;margin:0;}
.dosages-do-not-box{margin-top:20px;background:linear-gradient(135deg,rgba(248,244,241,.78),rgba(255,255,255,.62));}
.source-notes{margin-top:20px;}
.source-notes ul{margin:0;padding-left:20px;}
.source-notes li{margin-bottom:9px;}
.source-notes li:last-child{margin-bottom:0;}
@media(max-width:840px){.compound-grid{grid-template-columns:1fr}.dosages-shell{padding-top:126px}.dosages-card,.compound-profile-card{border-radius:28px;padding:30px 20px;}}


/* =======================================================
   AETERNAVITA SHORT RECONSTITUTION PAGE
   ======================================================= */
.recon-shell{padding:145px 22px 88px;min-height:72vh;display:flex;align-items:flex-start;justify-content:center;}
.recon-card{width:min(1120px,100%);border:1px solid rgba(196,139,77,.24);background:rgba(255,255,255,.74);backdrop-filter:blur(14px);border-radius:38px;box-shadow:0 28px 78px rgba(64,37,95,.075);padding:52px clamp(22px,4vw,54px);}
.recon-kicker{margin:0 0 10px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;text-align:center;}
.recon-card h1{font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(46px,6vw,76px);font-weight:400;line-height:1.05;margin:0 0 16px;text-align:center;}
.recon-intro{max-width:820px;margin:0 auto 28px;color:rgba(64,37,95,.70);line-height:1.8;text-align:center;font-size:15px;}
.recon-warning{max-width:920px;margin:0 auto 34px;padding:18px 20px;border-radius:24px;border:1px solid rgba(196,139,77,.28);background:rgba(248,244,241,.72);color:rgba(64,37,95,.74);line-height:1.7;text-align:center;}
.recon-warning strong{color:var(--violet);}
.recon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:0 0 22px;}
.recon-grid section,.recon-formula-card,.recon-list-card,.recon-note-card{border:1px solid rgba(196,139,77,.18);background:rgba(255,255,255,.62);border-radius:26px;padding:24px;box-shadow:0 16px 42px rgba(64,37,95,.04);}
.recon-grid section{position:relative;overflow:hidden;}
.recon-grid span{position:absolute;right:18px;top:-22px;font-size:86px;font-weight:800;color:rgba(64,37,95,.07);line-height:1;}
.recon-grid h2,.recon-formula-card h2,.recon-list-card h2,.recon-note-card h2{font-family:'Playfair Display',serif;color:var(--violet);font-size:28px;font-weight:400;margin:0 0 12px;position:relative;z-index:1;}
.recon-grid p,.recon-formula-card p,.recon-note-card p,.recon-list-card li{color:rgba(64,37,95,.70);line-height:1.72;font-size:14px;margin:0;position:relative;z-index:1;}
.recon-formula-card{margin-top:20px;background:linear-gradient(135deg,rgba(248,244,241,.76),rgba(255,255,255,.62));text-align:center;}
.recon-formula-card .button{margin-top:16px;}
.recon-list-card,.recon-note-card{margin-top:20px;}
.recon-list-card ul{margin:0;padding-left:20px;}
.recon-list-card li{margin-bottom:9px;}
.recon-list-card li:last-child{margin-bottom:0;}
@media(max-width:820px){.recon-grid{grid-template-columns:1fr}.recon-shell{padding-top:126px}.recon-card{border-radius:28px;padding:34px 20px;}}


/* =======================================================
   AETERNAVITA INDEX FIRST CUSTOMER SINGLE LINK
   ======================================================= */
.hero-offer-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:112px;
  text-decoration:none;
  cursor:pointer;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.hero-offer-link strong{
  margin:0;
  text-align:center;
  color:var(--violet);
  font-family:'Playfair Display',serif;
  font-size:clamp(22px,2.2vw,30px);
  font-weight:400;
  line-height:1.18;
}
.hero-offer-link:hover,
.hero-offer-link:focus{
  transform:translateY(-3px);
  border-color:rgba(196,139,77,.48);
  box-shadow:0 24px 58px rgba(64,37,95,.10);
  background:rgba(255,255,255,.72);
  outline:none;
}
.hero-offer-link:hover strong,
.hero-offer-link:focus strong{
  color:var(--gold);
}
@media(max-width:1100px){
  .hero-offer-link{
    min-height:86px;
  }
}


/* =======================================================
   AETERNAVITA ARTICLES RESOURCE PAGE
   ======================================================= */
.articles-shell{padding:145px 22px 88px;min-height:72vh;display:flex;align-items:flex-start;justify-content:center;}
.articles-card{width:min(1220px,100%);border:1px solid rgba(196,139,77,.24);background:rgba(255,255,255,.74);backdrop-filter:blur(14px);border-radius:38px;box-shadow:0 28px 78px rgba(64,37,95,.075);padding:52px clamp(22px,4vw,54px);}
.articles-kicker{margin:0 0 10px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:12px;text-align:center;}
.articles-card h1{font-family:'Playfair Display',serif;color:var(--violet);font-size:clamp(46px,6vw,76px);font-weight:400;line-height:1.05;margin:0 0 16px;text-align:center;}
.articles-intro{max-width:820px;margin:0 auto 26px;color:rgba(64,37,95,.70);line-height:1.8;text-align:center;font-size:15px;}
.articles-warning{max-width:940px;margin:0 auto 34px;padding:18px 20px;border-radius:24px;border:1px solid rgba(196,139,77,.28);background:rgba(248,244,241,.72);color:rgba(64,37,95,.74);line-height:1.7;text-align:center;}
.articles-warning strong{color:var(--violet);}
.article-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.article-resource-card{display:flex;flex-direction:column;min-height:260px;border:1px solid rgba(196,139,77,.18);background:rgba(255,255,255,.62);border-radius:28px;padding:24px;box-shadow:0 16px 42px rgba(64,37,95,.04);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;}
.article-resource-card:hover{transform:translateY(-3px);border-color:rgba(196,139,77,.42);box-shadow:0 24px 58px rgba(64,37,95,.08);}
.article-resource-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.article-resource-category{color:var(--gold);font-size:10px;letter-spacing:1.8px;text-transform:uppercase;line-height:1.35;}
.article-resource-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border-radius:999px;padding:7px 10px;background:rgba(64,37,95,.08);color:var(--violet);font-size:11px;letter-spacing:1px;text-transform:uppercase;}
.article-resource-card h2{font-family:'Playfair Display',serif;color:var(--violet);font-size:26px;font-weight:400;line-height:1.15;margin:0 0 12px;}
.article-resource-card p{color:rgba(64,37,95,.70);line-height:1.72;font-size:14px;margin:0 0 20px;}
.article-resource-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(196,139,77,.16);padding-top:16px;}
.article-resource-footer small{color:rgba(64,37,95,.55);font-size:12px;}
.article-resource-footer a{color:var(--gold);text-decoration:none;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;white-space:nowrap;}
.article-resource-footer a:hover{color:var(--violet);}
@media(max-width:1060px){.article-resource-grid{grid-template-columns:repeat(2,1fr);}.articles-shell{padding-top:126px;}}
@media(max-width:680px){.article-resource-grid{grid-template-columns:1fr}.articles-card{border-radius:28px;padding:34px 20px}.article-resource-footer{align-items:flex-start;flex-direction:column;gap:8px}}


/* =========================================================
   AeternaVita internal-page compact polish
   Purpose: Keep index/homepage dramatic, but make internal
   pages easier to scan, less zoomed-in, and less scroll-heavy.
   Added by Copilot internal page usability pass.
   ========================================================= */

:root {
  --av-internal-max: 1200px;
}

/* Keep the index hero untouched. These overrides target internal shells only. */
.product-detail,
.account-shell,
.account-dashboard,
.checkout-page,
.recon-shell,
.dosages-shell,
.articles-shell,
.calculator-shell,
.single-calc-shell,
.visual-calc-shell,
.category-products-page {
  padding-top: 104px !important;
  padding-bottom: 64px !important;
}

.legal-hero {
  min-height: auto !important;
  padding-top: 116px !important;
  padding-bottom: 24px !important;
}

/* Internal hero/title scale */
.legal-hero h1,
.category-page-heading h1,
.articles-card h1,
.recon-card h1,
.dosages-card h1,
.calculator-hero-card h1,
.single-calc-heading h1,
.visual-calc-heading h1,
.account-card h1,
.product-copy h1 {
  font-size: clamp(34px, 4.6vw, 58px) !important;
  line-height: 1.04 !important;
  margin-bottom: 14px !important;
}

/* Internal cards: still premium, less bulky */
.legal-card,
.articles-card,
.recon-card,
.dosages-card,
.calculator-hero-card,
.single-calc-card,
.account-card,
.info-panel,
.quick-summary {
  padding: clamp(22px, 3vw, 36px) !important;
  border-radius: 28px !important;
}

.legal-page,
.articles-shell,
.recon-shell,
.dosages-shell,
.calculator-shell,
.single-calc-shell,
.visual-calc-shell {
  width: min(var(--av-internal-max), 92vw) !important;
}

.legal-page {
  max-width: 980px !important;
  padding-bottom: 28px !important;
}

.legal-card {
  line-height: 1.68 !important;
}

.legal-card p,
.legal-card li {
  font-size: 14px !important;
}

.legal-card h2,
.recon-grid h2,
.recon-formula-card h2,
.recon-list-card h2,
.recon-note-card h2,
.compound-grid h3,
.dosages-do-not-box h3,
.source-notes h3,
.articles-card h2,
.calculator-hero-card h2 {
  font-size: clamp(23px, 2.5vw, 31px) !important;
  line-height: 1.16 !important;
}

.legal-note,
.notice,
.research-notice {
  padding: 14px 16px !important;
  border-radius: 18px !important;
}

/* Product detail pages: get product, price and CTA visible sooner */
.product-detail {
  width: min(1240px, 92vw) !important;
  grid-template-columns: minmax(280px, 430px) minmax(320px, 680px) !important;
  gap: 48px !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

.product-visual {
  top: 116px !important;
}

.product-visual .vial-img,
.product-visual img {
  width: min(410px, 90vw) !important;
  max-height: 430px !important;
  object-fit: contain !important;
}

.product-copy h1 {
  margin-top: 0 !important;
}

.product-copy p,
.quick-summary p,
.info-panel p,
.info-panel li {
  font-size: 14px !important;
  line-height: 1.68 !important;
}

.product-meta {
  gap: 10px !important;
}

.product-meta div {
  padding: 14px 16px !important;
  border-radius: 18px !important;
}

.summary-pill,
.stock-pill,
.price-pill {
  padding: 10px 12px !important;
  font-size: 12px !important;
}

/* Product listing / category pages */
.products,
.category-products-page {
  padding-top: 96px !important;
}

.products-title,
.products h2,
.category-page-heading h1 {
  font-size: clamp(30px, 4vw, 52px) !important;
  line-height: 1.06 !important;
}

.product-grid,
.category-grid,
.cards-grid {
  gap: 18px !important;
}

.card,
.product-card,
.category-card {
  border-radius: 26px !important;
}

.card h3,
.product-card h3,
.category-card h3 {
  font-size: clamp(22px, 2.6vw, 30px) !important;
  line-height: 1.12 !important;
}

.card .vial-img,
.product-card .vial-img,
.card img,
.product-card img {
  max-height: 230px !important;
  object-fit: contain !important;
}

.card-actions {
  gap: 8px !important;
}

.qty-input {
  min-height: 40px !important;
}

/* Account/auth pages */
.account-shell,
.account-dashboard {
  padding-top: 104px !important;
  padding-bottom: 56px !important;
}

.account-card {
  max-width: 680px !important;
}

.account-card input,
.account-card select,
.account-card textarea,
.checkout-field input,
.checkout-field select {
  padding: 12px 14px !important;
  border-radius: 14px !important;
}

/* Resource/calculator pages */
.recon-grid,
.compound-grid,
.dosages-grid,
.calculator-grid,
.single-calc-grid,
.visual-calc-grid {
  gap: 16px !important;
}

.recon-grid section,
.recon-formula-card,
.recon-list-card,
.recon-note-card,
.dosages-do-not-box,
.source-notes,
.compound-card,
.calc-card,
.single-calc-card,
.visual-calc-card {
  padding: 20px !important;
  border-radius: 22px !important;
}

/* Cart/checkout page: compact premium without breaking cart.js hooks */
.cart-premium-shell,
.checkout-page {
  padding-top: 104px !important;
}

.cart-hero {
  padding: 38px 46px !important;
  border-radius: 32px !important;
}

.cart-hero h1 {
  font-size: clamp(38px, 5vw, 64px) !important;
}

.checkout-card,
.summary-card,
.notice-card {
  padding: 22px !important;
  border-radius: 28px !important;
}

.checkout-card h2,
.summary-card h2,
.notice-card h2 {
  font-size: clamp(28px, 3.4vw, 42px) !important;
}

.checkout-item {
  padding: 14px !important;
  border-radius: 22px !important;
}

.checkout-item img {
  width: 82px !important;
  height: 82px !important;
}

/* Admin remains wide but gets a slightly shorter top offset */
.admin-shell {
  padding-top: 112px !important;
}

/* Footer can be slightly tighter on all pages */
.site-footer {
  margin-top: 44px !important;
}

.footer-top {
  gap: 28px !important;
}

@media (max-width: 980px) {
  .product-detail {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding-top: 96px !important;
  }

  .product-visual {
    position: relative !important;
    top: auto !important;
  }

  .product-visual .vial-img,
  .product-visual img {
    width: min(340px, 86vw) !important;
  }

  .checkout-item img {
    width: 72px !important;
    height: 72px !important;
  }
}

@media (max-width: 620px) {
  .product-detail,
  .account-shell,
  .account-dashboard,
  .checkout-page,
  .recon-shell,
  .dosages-shell,
  .articles-shell,
  .calculator-shell,
  .single-calc-shell,
  .visual-calc-shell,
  .category-products-page {
    padding-top: 92px !important;
    padding-bottom: 44px !important;
  }

  .legal-hero {
    padding-top: 96px !important;
  }

  .cart-hero {
    padding: 30px 24px !important;
    border-radius: 26px !important;
  }

  .legal-card,
  .articles-card,
  .recon-card,
  .dosages-card,
  .calculator-hero-card,
  .single-calc-card,
  .account-card,
  .checkout-card,
  .summary-card,
  .notice-card {
    padding: 20px !important;
    border-radius: 24px !important;
  }
}





/* =======================================================
   AETERNA VITA PROFESSIONAL EFT CHECKOUT + CONFIRMATION
   Final payment layout: upfront, centered, no bottom duplicate.
   ======================================================= */
.payment-details-box { display: none !important; }
.confirmation-page { max-width: 1040px !important; text-align: center !important; }
.confirmation-page > h1 { margin-bottom: 8px !important; }
.confirmation-card {
  max-width: 760px !important;
  margin: 18px auto 0 !important;
  padding: clamp(26px, 3.5vw, 40px) !important;
  text-align: center !important;
  border-radius: 34px !important;
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(196,139,77,.24) !important;
  box-shadow: 0 30px 90px rgba(64,37,95,.08) !important;
}
.confirmation-ref { margin-bottom: 10px !important; }
.confirmation-created { margin: 10px auto 6px !important; color: rgba(64,37,95,.70) !important; }
.confirmation-status { margin: 0 auto 22px !important; color: rgba(64,37,95,.76) !important; }
.confirmation-payment-card {
  width: min(620px,100%) !important;
  margin: 22px auto 30px !important;
  padding: clamp(24px, 3vw, 34px) !important;
  border-radius: 30px !important;
  border: 1px solid rgba(196,139,77,.42) !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(232,182,201,.22), transparent 34%),
    linear-gradient(180deg, rgba(255,252,248,.98), rgba(248,244,241,.90)) !important;
  box-shadow: 0 22px 58px rgba(64,37,95,.10), inset 0 1px 0 rgba(255,255,255,.95) !important;
  text-align: center !important;
}
.payment-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 12px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  background: rgba(196,139,77,.13) !important;
  color: var(--gold) !important;
  font-size: 10px !important;
  letter-spacing: 1.9px !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}
.confirmation-payment-card h2 {
  margin: 0 0 10px !important;
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(30px, 4vw, 42px) !important;
  line-height: 1.08 !important;
  color: var(--violet) !important;
  font-weight: 400 !important;
}
.payment-lead {
  max-width: 500px !important;
  margin: 0 auto 20px !important;
  color: rgba(64,37,95,.68) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.payment-reference-chip {
  width: min(430px,100%) !important;
  margin: 0 auto 20px !important;
  padding: 16px 18px !important;
  border-radius: 22px !important;
  background: rgba(64,37,95,.08) !important;
  border: 1px solid rgba(64,37,95,.10) !important;
}
.payment-reference-chip span {
  display: block !important;
  margin-bottom: 6px !important;
  color: rgba(64,37,95,.58) !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.7px !important;
  font-weight: 800 !important;
}
.payment-reference-chip strong {
  display: block !important;
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  color: var(--violet) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}
.bank-detail-grid {
  width: min(500px,100%) !important;
  margin: 0 auto 18px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  text-align: left !important;
}
.bank-detail-grid div {
  padding: 14px 15px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(196,139,77,.22) !important;
  background: rgba(255,255,255,.72) !important;
}
.bank-detail-grid span {
  display: block !important;
  margin-bottom: 5px !important;
  color: rgba(64,37,95,.54) !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.35px !important;
  font-weight: 800 !important;
}
.bank-detail-grid strong {
  display: block !important;
  color: var(--violet) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}
.pop-instruction {
  width: min(500px,100%) !important;
  margin: 0 auto 15px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: rgba(196,139,77,.11) !important;
  color: rgba(64,37,95,.76) !important;
  line-height: 1.55 !important;
}
.pop-instruction strong { display: block !important; color: var(--violet) !important; margin-bottom: 4px !important; }
.pop-instruction a { color: var(--gold) !important; font-weight: 800 !important; text-decoration: none !important; }
.payment-deadline {
  width: min(500px,100%) !important;
  margin: 0 auto !important;
  color: rgba(64,37,95,.58) !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}
.confirmation-lines { margin-top: 22px !important; text-align: left !important; }
.confirmation-lines .grand { margin-top: 14px !important; padding-top: 18px !important; }
.confirmation-button { margin-top: 18px !important; }
.checkout-eft-only-notice {
  display: grid !important;
  gap: 6px !important;
  margin: 16px 0 18px !important;
  padding: 16px 18px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(196,139,77,.30) !important;
  background: linear-gradient(135deg, rgba(255,252,248,.90), rgba(248,244,241,.72)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.checkout-eft-only-notice strong { color: var(--violet) !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: 1.7px !important; }
.checkout-eft-only-notice span { color: rgba(64,37,95,.68) !important; line-height: 1.6 !important; font-size: 13px !important; }
@media(max-width:640px){
  .bank-detail-grid { grid-template-columns: 1fr !important; }
  .confirmation-payment-card { padding: 20px 16px !important; }
  .confirmation-card { padding: 20px !important; }
}

/* Admin navigation cart alignment fix */
.nav .cart-link {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
.nav .cart-mini-icon,
.nav .cart-count {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.nav .cart-mini-icon {
  transform: none !important;
}


/* Account sign-out confirmation */
.signed-out-popup{
  position:fixed;left:50%;top:50%;z-index:10000;
  display:flex;align-items:center;gap:14px;
  width:min(390px,calc(100vw - 32px));
  padding:20px 22px;border:1px solid rgba(196,139,77,.36);
  border-radius:24px;background:rgba(255,252,248,.97);
  color:var(--violet);box-shadow:0 28px 80px rgba(64,37,95,.20);
  backdrop-filter:blur(16px);opacity:0;
  transform:translate(-50%,-46%) scale(.96);
  transition:opacity .22s ease,transform .22s ease;
}
.signed-out-popup.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.signed-out-popup__icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:rgba(196,139,77,.14);color:var(--gold);font-size:22px;font-weight:800}
.signed-out-popup strong{display:block;margin-bottom:5px;font-family:'Playfair Display',serif;font-size:21px;font-weight:600}
.signed-out-popup span{display:block;color:rgba(64,37,95,.66);font-size:13px;line-height:1.45}
@media(prefers-reduced-motion:reduce){.signed-out-popup{transition:none}}
