:root{
  --ink:#11100f;--muted:#6d6860;--gold:#aa8750;--paper:#f7f4ef;--white:#fff;--line:#ddd6cc;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}
a{color:inherit}
.site-shell{min-height:100vh}
.top-strip{background:#050505;color:#cbae74;text-align:center;padding:10px 16px;font-size:11px;letter-spacing:.24em;font-weight:600}
.site-header{height:120px;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;background:#faf9f7;border-bottom:1px solid #eee9e2;position:sticky;top:0;z-index:20}
.logo{text-decoration:none;display:flex;flex-direction:column;font-size:46px;line-height:.8;letter-spacing:.32em;font-weight:400}
.logo span{font-size:14px;letter-spacing:.52em;margin-top:15px;text-align:center}
.site-header nav{display:flex;gap:38px;align-items:center}
.site-header nav a{text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.18em;font-weight:600}
.menu-btn{display:none;background:none;border:0;font-size:28px}
.trust-bar{max-width:1130px;margin:18px auto 0;padding:22px 28px;background:#efede9;border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr)}
.trust-bar>div{display:flex;gap:18px;align-items:center;padding:0 24px;border-right:1px solid #d6d0c8}
.trust-bar>div:last-child{border-right:0}
.trust-bar b{font-size:32px;color:var(--gold)}
.trust-bar span{display:flex;flex-direction:column;gap:5px}
.trust-bar strong{font-size:12px;letter-spacing:.12em}
.trust-bar small{font-size:12px;color:#47433d}
.hero{min-height:600px;padding:70px 7vw 65px;display:grid;grid-template-columns:.8fr 1.8fr;gap:45px;align-items:center;background:linear-gradient(180deg,#faf9f7 0%,#f1efeb 100%);border-bottom:1px solid #b99762}
.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:700;color:#6e675c;text-transform:uppercase}
.hero h1,.section h2,.modal h2{font-family:"Playfair Display",Georgia,serif;font-weight:500}
.hero h1{font-size:64px;line-height:1.02;margin:14px 0 24px}
.accent-line{width:min(220px,62vw);height:2px;background:var(--gold);margin-bottom:24px}
.hero-sub{max-width:360px;line-height:1.6;text-transform:uppercase;letter-spacing:.11em;font-size:14px;color:#625d55}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border:1px solid var(--gold);text-decoration:none;letter-spacing:.12em;font-size:12px;font-weight:700;cursor:pointer}
.btn-primary{background:#090909;color:white}
.btn-primary:disabled{opacity:.35;cursor:not-allowed}
.btn-secondary{background:white;color:#111}
.vial-stage{display:flex;justify-content:center;align-items:end;gap:22px;min-width:0}
.vial{width:145px;height:390px;border:2px solid #c7c3bd;border-radius:26px 26px 38px 38px;background:linear-gradient(90deg,#e7e5e1,#fff 34%,#f9f9f8 64%,#dedbd6);box-shadow:0 14px 24px rgba(0,0,0,.08);position:relative;padding-top:73px}
.cap{position:absolute;top:-15px;left:5px;right:5px;height:55px;border-radius:10px;background:linear-gradient(#111,#050505);box-shadow:0 5px 0 #d0ccc7}
.label{height:220px;background:rgba(246,244,240,.96);border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:27px 10px;text-align:center;display:flex;flex-direction:column}
.label span{font-size:25px;letter-spacing:.18em}
.label small{font-size:8px;letter-spacing:.4em;margin:4px 0 24px}
.label b{font-size:16px;letter-spacing:.14em}
.label em{font-size:12px;font-style:normal;margin-top:5px}
.label i{font-style:normal;font-size:7px;margin-top:auto}
.proof-row{display:grid;grid-template-columns:repeat(5,1fr);max-width:1180px;margin:auto;padding:28px 10px;background:#f7f4ef}
.proof-row div{display:flex;align-items:center;justify-content:center;gap:16px;border-right:1px solid #ccc3b6;font-size:11px;letter-spacing:.12em}
.proof-row div:last-child{border-right:0}
.proof-row strong{color:var(--gold);font-size:28px}
.proof-row small{letter-spacing:0;color:#5f5a53}
.section{padding:95px 7vw}
.section-head{max-width:700px;margin-bottom:42px}
.section h2{font-size:44px;line-height:1.15;margin:8px 0 16px}
.section-head p:last-child{color:var(--muted);line-height:1.7}
.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product-card{background:#fff;border:1px solid #e0dbd4;border-radius:14px;padding:22px;position:relative;min-height:330px}
.pill{position:absolute;top:17px;right:17px;border:1px solid #c9baa1;border-radius:99px;padding:5px 9px;font-size:10px;letter-spacing:.1em}
.mini-vial{width:80px;height:150px;margin:14px auto 24px;border:2px solid #cbc7c1;border-radius:14px;background:linear-gradient(90deg,#e7e5e1,#fff 40%,#dfdcd7);display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.11em;font-weight:700}
.product-card h3{margin:0 0 8px;font-size:18px;letter-spacing:.08em}
.product-card p{color:var(--muted);font-size:13px;min-height:40px}
.text-btn{border:0;background:none;padding:0;font-weight:700;font-size:12px;cursor:pointer}
.dark{background:#10100f;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px}
.dark .eyebrow,.dark .fine{color:#b5aa99}
.dark p{line-height:1.8}
.coa{background:#ebe7e0}
.coa-box{display:grid;grid-template-columns:1fr auto;gap:15px;max-width:820px}
.coa-box label{display:block;font-size:11px;letter-spacing:.12em;margin-bottom:8px}
.coa-box input{width:100%;height:48px;border:1px solid #cfc6ba;padding:0 14px;font:inherit}
.coa-result{margin-top:18px;font-size:13px}
.extended-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:1100px;margin:0 0 18px;background:#cbbda9;border:1px solid #cbbda9}
.extended-panel>div{min-height:132px;padding:24px 20px;background:#f8f6f2;display:flex;flex-direction:column;justify-content:center}
.extended-panel strong{font-family:"Playfair Display",Georgia,serif;font-size:20px;font-weight:500;margin-bottom:9px}
.extended-panel span{color:var(--muted);font-size:12px;line-height:1.55}
.coa-panel-note{max-width:760px;margin:0 0 28px;color:var(--muted);font-size:13px;line-height:1.65}
.coa-document-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1100px;margin-bottom:34px}
.coa-document{min-height:142px;padding:21px;border:1px solid #cfc3b2;background:#111;color:#fff;text-decoration:none;display:flex;flex-direction:column;transition:transform .18s ease,background .18s ease}
.coa-document:hover{transform:translateY(-2px);background:#26221d}
.coa-document span{color:#c8a66d;font-size:10px;letter-spacing:.12em}
.coa-document strong{margin:auto 0 12px;font-size:13px;letter-spacing:.13em}
.coa-document small{color:#c8c3bb;font-size:10px}
.coa-search-link{font-weight:700;text-decoration-color:var(--gold);text-underline-offset:4px}
.modal-coa-link{display:block;margin:18px 0 0;padding:14px 16px;background:#111;color:#fff;text-decoration:none;text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;border:1px solid var(--gold)}
.modal-coa-link[hidden]{display:none}
.faq-list{max-width:850px}
details{border-top:1px solid #d5cec4;padding:21px 0}
details:last-child{border-bottom:1px solid #d5cec4}
summary{cursor:pointer;font-weight:700}
details p{color:var(--muted);line-height:1.7}
.contact{display:flex;justify-content:space-between;align-items:center;gap:40px}
footer{background:#080808;color:#eee;padding:55px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:end}
.footer-logo{font-size:31px}
footer p{font-size:10px;letter-spacing:.15em;color:#c8ad82}
footer div{display:flex;gap:18px;justify-content:flex-end}
footer div a{font-size:11px}
footer small{color:#8d8b87}
.gate{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.gate.hidden{display:none}
.gate-card{max-width:670px;background:#f7f4ef;border:1px solid #b28f59;padding:42px;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.gate-brand{font-size:42px;letter-spacing:.29em;margin-left:.29em}
.gate-brand span{display:block;font-size:12px;letter-spacing:.5em;margin-top:10px}
.gate-rule{height:1px;background:#b89763;margin:25px auto;width:90px}
.gate-card h1{font-family:"Playfair Display",Georgia,serif;font-size:40px;margin:10px 0}
.gate-copy{line-height:1.7;color:#4b4741;font-size:14px}
.gate-check{display:flex;gap:12px;text-align:left;margin:26px 0;padding:16px;border:1px solid #cfc6b9;background:white;font-size:13px;line-height:1.5}
.gate-check input{width:20px;height:20px;flex:0 0 auto}
.gate-enter{width:100%}
.gate-note{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#736d64;margin-top:18px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-card{max-width:560px;width:100%;background:white;padding:38px;position:relative}
.modal-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:34px;cursor:pointer}
.research-warning{margin-top:24px;padding:14px;border:1px solid #c9baa1;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1050px){
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
  .vial:nth-child(5){display:none}
  .vial{width:130px}
}
@media(max-width:800px){
  .site-header{height:88px;padding:0 20px}
  .logo{font-size:31px}
  .logo span{font-size:9px;margin-top:10px}
  .menu-btn{display:block}
  .site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;flex-direction:column;padding:25px;border-bottom:1px solid #ddd}
  .site-header nav.open{display:flex}
  .trust-bar{margin:0;border-radius:0;grid-template-columns:1fr}
  .trust-bar>div{border-right:0;border-bottom:1px solid #d6d0c8;padding:12px 0}
  .trust-bar>div:last-child{border-bottom:0}
  .hero{grid-template-columns:1fr;padding:55px 20px}
  .hero h1{font-size:52px}
  .vial-stage{overflow:hidden;justify-content:flex-start;padding:15px 2px}
  .vial{min-width:120px;height:335px}
  .label{height:190px;padding-top:22px}
  .proof-row{grid-template-columns:1fr 1fr}
  .proof-row div{padding:14px;border-bottom:1px solid #ccc3b6}
  .catalog-grid{grid-template-columns:1fr}
  .dark{grid-template-columns:1fr}
  .coa-box{grid-template-columns:1fr}
  .extended-panel{grid-template-columns:1fr 1fr}
  .extended-panel>div{min-height:112px;padding:18px 15px}
  .extended-panel strong{font-size:17px}
  .coa-document-grid{grid-template-columns:1fr 1fr}
  .contact{align-items:flex-start;flex-direction:column}
  footer{grid-template-columns:1fr}
  footer div{justify-content:flex-start;flex-wrap:wrap}
  .gate-card{padding:28px 20px}
  .gate-brand{font-size:31px}
}

/* =========================
   ALTA V2 — refined vials + mobile
   ========================= */
html,body{max-width:100%;overflow-x:hidden}
.hero{overflow:hidden}
.vial-stage{position:relative;min-height:405px;align-items:flex-end;gap:18px}
.vial{
  width:136px;height:330px;padding-top:64px;flex:0 0 136px;
  border:1px solid rgba(120,115,105,.55);
  border-radius:18px 18px 30px 30px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.55) 0%,rgba(221,225,224,.65) 12%,rgba(255,255,255,.93) 34%,rgba(255,255,255,.98) 60%,rgba(214,218,216,.62) 88%,rgba(255,255,255,.55) 100%);
  box-shadow:0 18px 28px rgba(45,40,32,.13),inset 0 0 0 5px rgba(255,255,255,.2);
  overflow:visible;
}
.vial::before{
  content:"";position:absolute;top:39px;left:17px;right:17px;height:28px;
  border-radius:0 0 9px 9px;background:linear-gradient(90deg,#d7d4cf,#f9f8f6 38%,#d4d1cc);
  border:1px solid #c9c5bf;
}
.vial::after{
  content:"";position:absolute;left:14px;right:14px;bottom:9px;height:16px;
  border-radius:50%;background:rgba(190,188,183,.25);filter:blur(1px)
}
.cap{
  top:-9px;left:4px;right:4px;height:51px;border-radius:12px 12px 7px 7px;
  background:linear-gradient(90deg,#050505,#242424 38%,#090909 72%,#1d1d1d);
  box-shadow:inset 0 -6px 0 rgba(255,255,255,.04),0 4px 5px rgba(0,0,0,.16)
}
.label{
  position:relative;z-index:2;height:202px;margin:5px 0 0;background:rgba(248,247,244,.96);
  border-top:1px solid #dbd4c9;border-bottom:1px solid #dbd4c9;
  padding:23px 9px 17px;text-align:center;display:flex;flex-direction:column;align-items:center;
}
.label span{font-size:22px;letter-spacing:.23em;margin-left:.23em;font-weight:500;line-height:1}
.label small{font-size:7px;letter-spacing:.42em;margin:8px 0 17px;margin-left:.42em;font-weight:700}
.label::after{content:"";width:46px;height:1px;background:#b99762;position:absolute;top:62px}
.label b{font-size:15px;letter-spacing:.13em;margin-top:14px;line-height:1.08}
.label em{font-size:11px;font-style:normal;margin-top:6px;font-weight:600}
.label i{font-style:normal;font-size:6px;letter-spacing:.02em;margin-top:auto;white-space:nowrap}

/* catalog vial cards also carry the ALTA brand */
.mini-vial{
  width:84px;height:145px;border-radius:12px 12px 19px 19px;position:relative;padding-top:61px;
  background:linear-gradient(90deg,#e5e3df,#fff 36%,#f9f8f6 64%,#ddd9d3);
  border:1px solid #c9c5bf;box-shadow:0 8px 14px rgba(0,0,0,.07);
}
.mini-vial::before{
  content:"ALTA\A PEPTIDES";white-space:pre;position:absolute;left:8px;right:8px;top:31px;
  font-size:8px;line-height:1.5;letter-spacing:.2em;text-align:center;font-weight:600;color:#111;
  border-bottom:1px solid #b99762;padding-bottom:7px;
}
.mini-vial::after{
  content:"";position:absolute;left:4px;right:4px;top:-9px;height:29px;background:#090909;border-radius:7px 7px 4px 4px;
  box-shadow:0 3px 0 #d5d1cb;
}
.swipe-note{display:none}

@media(max-width:1100px){
  .hero{grid-template-columns:minmax(265px,.7fr) minmax(0,1.4fr);gap:24px}
  .vial{width:122px;flex-basis:122px;height:315px}
  .vial-stage{gap:12px}
}

@media(max-width:900px){
  .top-strip{font-size:9px;letter-spacing:.15em;padding:9px 12px}
  .site-header{height:82px;padding:0 18px;position:sticky;top:0}
  .site-header .logo{font-size:29px;line-height:.82;letter-spacing:.25em}
  .site-header .logo span{font-size:8px;letter-spacing:.42em;margin-top:9px}
  .menu-btn{display:block!important;font-size:25px;line-height:1;padding:10px;position:relative;z-index:5}
  .site-header nav{display:none!important;position:absolute;top:82px;left:0;right:0;background:#faf9f7;flex-direction:column;align-items:flex-start;gap:0;padding:10px 20px 18px;border-top:1px solid #e8e3dc;border-bottom:1px solid #d8d1c8;box-shadow:0 15px 24px rgba(0,0,0,.07)}
  .site-header nav.open{display:flex!important}
  .site-header nav a{width:100%;padding:14px 0;border-bottom:1px solid #ece7df;font-size:11px}
  .site-header nav a:last-child{border-bottom:0}

  .trust-bar{margin:0;max-width:none;border-radius:0;padding:8px 18px;grid-template-columns:1fr 1fr 1fr;gap:0}
  .trust-bar>div{padding:10px 8px;border-bottom:0;border-right:1px solid #d6d0c8;gap:8px;justify-content:center}
  .trust-bar>div:last-child{border-right:0}
  .trust-bar b{font-size:20px}
  .trust-bar strong{font-size:8px;letter-spacing:.08em}
  .trust-bar small{display:none}

  .hero{display:block;min-height:0;padding:48px 0 34px;background:linear-gradient(180deg,#faf9f7 0%,#f1efeb 100%)}
  .hero-copy{padding:0 22px}
  .hero h1{font-size:50px;line-height:.98;margin:12px 0 20px;max-width:345px}
  .hero-sub{font-size:12px;line-height:1.65;max-width:340px;margin-bottom:22px}
  .hero .btn{width:100%;max-width:340px}
  .vial-stage{
    margin-top:42px;min-height:325px;width:100%;display:flex;justify-content:flex-start;gap:14px;
    overflow-x:auto!important;overflow-y:hidden;padding:12px 22px 28px;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .vial-stage::-webkit-scrollbar{display:none}
  .vial{display:block!important;width:122px;flex:0 0 122px;height:294px;scroll-snap-align:start;border-radius:16px 16px 27px 27px}
  .vial .label{height:180px;padding-top:20px}
  .vial .label span{font-size:18px}
  .vial .label::after{top:56px;width:40px}
  .vial .label small{margin-bottom:12px}
  .vial .label b{font-size:13px;margin-top:12px}
  .swipe-note{display:block;padding:0 22px 2px;color:#81786b;font-size:9px;letter-spacing:.13em;text-transform:uppercase}

  .proof-row{grid-template-columns:repeat(2,1fr);padding:12px 16px}
  .proof-row div{min-height:64px;padding:11px 7px;justify-content:flex-start;border-bottom:1px solid #d4ccc0;font-size:9px}
  .proof-row div:nth-child(even){border-right:0}
  .proof-row div:last-child{grid-column:1/-1;border-right:0}
  .proof-row strong{font-size:21px}

  .section{padding:64px 20px}
  .section h2{font-size:38px}
  .section-head{margin-bottom:30px}
  .section-head p:last-child{font-size:16px;line-height:1.6}
  .catalog-grid{grid-template-columns:1fr 1fr;gap:12px}
  .product-card{min-height:315px;padding:16px 13px}
  .product-card h3{font-size:16px}
  .product-card p{font-size:11px;line-height:1.45;min-height:48px}
  .mini-vial{width:74px;height:130px;margin-top:20px;margin-bottom:18px;padding-top:56px;font-size:9px}
  .pill{top:12px;right:12px;font-size:8px}
  .text-btn{font-size:10px}
  .dark{grid-template-columns:1fr;gap:18px}
  .coa-box{grid-template-columns:1fr}
  .contact{flex-direction:column;align-items:flex-start}
  footer{grid-template-columns:1fr;padding:48px 20px}
  footer div{justify-content:flex-start;flex-wrap:wrap}

  .gate{padding:14px;align-items:center}
  .gate-card{width:min(100%,560px);max-height:calc(100vh - 28px);overflow:auto;padding:30px 20px}
  .gate-brand{font-size:32px}
  .gate-card h1{font-size:36px}
  .gate-copy{font-size:13px;line-height:1.55}
  .gate-check{margin:20px 0;padding:14px;font-size:12px}
}

@media(max-width:430px){
  .hero h1{font-size:45px}
  .catalog-grid{grid-template-columns:1fr 1fr}
  .product-card{padding:14px 11px}
  .section h2{font-size:35px}
  .trust-bar strong{font-size:7px}
}


/* =========================================
   ALTA V5 — approved vial proportions + V1 proof-row alignment
   ========================================= */

/* Hero: preserve Version-1 placement, but use the approved realistic vial artwork */
.hero{
  grid-template-columns:minmax(330px,.82fr) minmax(560px,1.55fr);
  gap:28px;
  min-height:535px;
  padding-top:54px;
  padding-bottom:48px;
}
.hero-vials-v5{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-width:0;
  width:100%;
  align-self:end;
}
.hero-vials-v5 img{
  display:block;
  width:min(114%,900px);
  height:auto;
  object-fit:contain;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 12px 14px rgba(55,45,32,.08));
}

/* V78 — seven-vial desktop hero, six-vial mobile hero */
.hero-vials-v5 picture{
  display:block;
  width:100%;
}
.hero-vials-v5 picture img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
  display:block !important;
  width:min(135%,1100px) !important;
  max-width:none !important;
  height:auto !important;
  margin:0 auto !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
@media(max-width:760px){
  .hero-vials-v5 picture img{
    content:url("alta-vials-v95-seven-mobile.png") !important;
    width:min(112%,740px) !important;
  }
}

/* Lower trust row: same horizontal location/alignment as Version 1 */
.proof-row-v5{
  max-width:1220px;
  grid-template-columns:.95fr .95fr 1fr .95fr 1.55fr;
  padding:24px 8px;
}
.proof-row-v5 div{
  gap:12px;
  min-height:72px;
  padding:0 17px;
  justify-content:flex-start;
}
.proof-row-v5 img{
  width:56px;
  height:56px;
  object-fit:contain;
  flex:0 0 auto;
  mix-blend-mode:multiply;
}
.proof-row-v5 span{
  font-size:10px;
  line-height:1.7;
  letter-spacing:.12em;
}
.proof-row-v5 small{
  display:block;
  font-size:10px;
  line-height:1.35;
  letter-spacing:0;
  color:#5f5a53;
  margin-top:3px;
}

/* Research catalog vials: compact but slightly larger than V4,
   matching the approved short 3 mL proportions */
.mini-vial{
  width:74px;
  height:104px;
  margin:18px auto 20px;
  padding-top:51px;
  border-radius:9px 9px 14px 14px;
  background:
    linear-gradient(90deg,rgba(213,210,204,.85),#fff 30%,#faf9f7 65%,rgba(210,206,199,.85));
  border:1px solid #bdb9b2;
  box-shadow:
    inset 7px 0 9px rgba(255,255,255,.5),
    inset -7px 0 9px rgba(130,126,119,.10),
    0 8px 14px rgba(0,0,0,.07);
  font-size:9px;
}
.mini-vial::after{
  top:-7px;
  left:3px;
  right:3px;
  height:24px;
  border-radius:7px 7px 4px 4px;
  background:linear-gradient(90deg,#0a0a0a,#222 40%,#080808 75%,#1b1b1b);
  box-shadow:0 4px 0 #d0cbc4;
}
.mini-vial::before{
  top:29px;
  left:7px;
  right:7px;
  padding-bottom:5px;
  font-size:6.5px;
  line-height:1.35;
  letter-spacing:.18em;
}
.product-card{
  min-height:292px;
}

/* Keep cards tidy like the approved reference */
.catalog-grid{gap:15px}
.product-card h3{margin-top:2px}

@media(max-width:1100px){
  .hero{
    grid-template-columns:minmax(290px,.75fr) minmax(480px,1.35fr);
  }
  .hero-vials-v5 img{width:min(114%,820px)}
  .proof-row-v5 img{width:48px;height:48px}
  .proof-row-v5 div{padding:0 10px}
}

@media(max-width:900px){
  .hero{
    display:block;
    padding:42px 0 30px;
  }
  .hero-copy{padding:0 22px}
  .hero-vials-v5{
    margin-top:30px;
    width:100%;
    padding:0 8px;
    overflow:hidden;
  }
  .hero-vials-v5 img{
    width:112%;
    max-width:760px;
    margin:0 auto;
  }

  /* Preserve the V1 icon positions conceptually on mobile:
     two columns plus a full-width COA row */
  .proof-row-v5{
    grid-template-columns:1fr 1fr;
    padding:8px 14px;
  }
  .proof-row-v5 div{
    min-height:78px;
    padding:10px 9px;
    justify-content:flex-start;
    border-bottom:1px solid #d4ccc0;
  }
  .proof-row-v5 div:nth-child(even){border-right:0}
  .proof-row-v5 .proof-coa-v5{
    grid-column:1/-1;
    border-right:0;
  }
  .proof-row-v5 img{width:44px;height:44px}
  .proof-row-v5 span{font-size:8px}

  .mini-vial{
    width:70px;
    height:98px;
    margin:20px auto 17px;
    padding-top:49px;
  }
  .product-card{min-height:282px}
}

@media(max-width:430px){
  .hero-vials-v5{
    padding:0;
    margin-top:28px;
  }
  .hero-vials-v5 img{
    width:120%;
    max-width:none;
    margin-left:-10%;
  }
  .proof-row-v5{
    padding-left:10px;
    padding-right:10px;
  }
  .proof-row-v5 img{width:41px;height:41px}
  .proof-row-v5 span{font-size:7.5px}
  .mini-vial{
    width:66px;
    height:94px;
  }
}


/* =========================================
   ALTA V6 — polished top trust banner
   Keeps the same placement as the original trust bar.
   ========================================= */
.trust-banner-v6{
  max-width:1130px;
  margin:18px auto 0;
  border-radius:10px;
  overflow:hidden;
  background:#f2eee7;
  box-shadow:0 1px 0 rgba(170,135,80,.15);
}
.trust-banner-v6 img{
  display:block;
  width:100%;
  height:auto;
}

@media(max-width:800px){
  .trust-banner-v6{
    width:100%;
    margin:0;
    border-radius:0;
  }
  .trust-banner-v6 img{
    width:100%;
    height:auto;
  }
}


/* =========================================
   ALTA V7 — realistic compact catalog vials
   ========================================= */
.catalog-vial-v7{
  display:block;
  width:92px;
  height:auto;
  margin:8px auto 18px;
  object-fit:contain;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 9px 10px rgba(48,40,30,.10));
}

.product-card{
  min-height:300px;
}

@media(max-width:900px){
  .catalog-vial-v7{
    width:88px;
    margin:8px auto 16px;
  }
  .product-card{
    min-height:290px;
  }
}

@media(max-width:600px){
  .catalog-vial-v7{
    width:84px;
    margin:8px auto 14px;
  }
  .product-card{
    min-height:286px;
  }
}

@media(max-width:430px){
  .catalog-vial-v7{
    width:80px;
  }
}


/* =========================================
   ALTA V8 — high-resolution catalog vial artwork
   ========================================= */
.catalog-vial-v7{
  width:104px;
  image-rendering:auto;
  filter:drop-shadow(0 10px 12px rgba(48,40,30,.11));
}

@media(max-width:900px){
  .catalog-vial-v7{width:100px}
}
@media(max-width:600px){
  .catalog-vial-v7{width:96px}
}
@media(max-width:430px){
  .catalog-vial-v7{width:92px}
}


/* =========================================
   ALTA V9 — clickable research product details
   ========================================= */

.product-detail-modal{
  max-width:650px;
  border-radius:16px;
  padding:42px;
  background:#fbfaf7;
  border:1px solid #d8cdbd;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}

.product-detail-header{
  padding-right:42px;
  border-bottom:1px solid #ddd4c8;
  padding-bottom:22px;
  margin-bottom:24px;
}

.product-detail-header h2{
  margin:5px 0 8px;
  font-size:42px;
  line-height:1.05;
}

.product-scientific{
  margin:0;
  color:#6c645a;
  font-size:14px;
  text-transform:lowercase;
  letter-spacing:.03em;
  line-height:1.55;
}

.product-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.detail-item{
  background:#fff;
  border:1px solid #e2dbd1;
  border-radius:10px;
  padding:17px 18px;
}

.detail-item span,
.product-extra-wrap > span{
  display:block;
  margin-bottom:7px;
  color:#857968;
  font-size:10px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:700;
}

.detail-item strong{
  font-size:15px;
  line-height:1.35;
  letter-spacing:.02em;
}

#modalFormula sub{
  font-size:.68em;
  line-height:0;
  vertical-align:sub;
  letter-spacing:0;
}

.product-extra-wrap{
  margin-top:12px;
  padding:17px 18px;
  background:#fff;
  border:1px solid #e2dbd1;
  border-radius:10px;
}

.product-extra-wrap p{
  margin:0;
  font-size:15px;
  font-weight:600;
}

.product-detail-modal .research-warning{
  margin-top:20px;
  background:#111;
  color:#fff;
  border-color:#111;
  text-align:center;
  border-radius:8px;
  padding:14px 16px;
}

.product-detail-note{
  margin:16px 0 0;
  color:#777067;
  font-size:11px;
  line-height:1.6;
}

body.modal-open{
  overflow:hidden;
}

@media(max-width:600px){
  .product-detail-modal{
    width:calc(100% - 24px);
    max-height:88vh;
    overflow-y:auto;
    padding:30px 20px 24px;
    border-radius:14px;
  }

  .product-detail-header{
    padding-right:34px;
    padding-bottom:18px;
    margin-bottom:18px;
  }

  .product-detail-header h2{
    font-size:34px;
  }

  .product-detail-grid{
    grid-template-columns:1fr 1fr;
    gap:9px;
  }

  .detail-item{
    padding:14px 13px;
  }

  .detail-item strong{
    font-size:13px;
  }

  .product-scientific{
    font-size:13px;
  }
}


/* =========================================
   ALTA V10 — TESA added to top hero vial lineup
   ========================================= */
.hero-vials-v5 img{
  width:min(100%,860px);
}

@media(max-width:900px){
  .hero-vials-v5 img{
    width:112%;
    max-width:none;
    margin-left:-6%;
  }
}

@media(max-width:430px){
  .hero-vials-v5 img{
    width:118%;
    margin-left:-9%;
  }
}


/* =========================================
   ALTA V11 — logo, navigation, contact updates
   ========================================= */

.brand-v11{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.brand-v11 img{
  display:block;
  width:220px;
  height:auto;
  object-fit:contain;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:36px;
}

.contact-v11{
  padding-top:72px;
  padding-bottom:72px;
}
.contact-v11 .section-inner{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.contact-email-v11{
  margin-top:10px;
  color:#111;
  text-decoration:none;
  font-size:18px;
  letter-spacing:.01em;
}
.contact-email-v11:hover{
  text-decoration:underline;
}

.footer-brand-v11 img{
  display:block;
  width:170px;
  height:auto;
  filter:invert(1);
  mix-blend-mode:screen;
}

@media(max-width:900px){
  .brand-v11 img{
    width:155px;
  }
  .main-nav{
    gap:18px;
  }
}

@media(max-width:700px){
  .brand-v11 img{
    width:130px;
  }
  .contact-v11{
    padding-top:48px;
    padding-bottom:48px;
  }
  .contact-email-v11{
    font-size:16px;
  }
}


/* =========================================
   ALTA V11.1 — actual logo asset fix
   ========================================= */
.logo-image-v11,
.footer-logo-image-v11{
  text-decoration:none;
  display:flex;
  align-items:center;
}

.logo-image-v11 img{
  display:block;
  width:210px;
  max-height:82px;
  object-fit:contain;
}

.footer-logo-image-v11 img{
  display:block;
  width:180px;
  height:auto;
  object-fit:contain;
  filter:invert(1);
  mix-blend-mode:screen;
}

.gate-logo-v11{
  display:flex;
  justify-content:center;
}
.gate-logo-v11 img{
  display:block;
  width:220px;
  height:auto;
  object-fit:contain;
}

@media(max-width:800px){
  .logo-image-v11 img{width:145px;max-height:58px}
  .footer-logo-image-v11 img{width:145px}
  .gate-logo-v11 img{width:180px}
}


/* =========================================
   ALTA V12 — transparent vial/logo backgrounds
   + refined footer alignment
   ========================================= */

/* The V12 PNGs have transparent outer backgrounds, so the cream page/card
   surface now shows directly around the vials without the second white box. */
.hero-vials-v5{
  background:transparent !important;
}
.hero-vials-v5 img{
  display:block;
  background:transparent !important;
}

.catalog-vial-v7{
  background:transparent !important;
  mix-blend-mode:normal !important;
}

/* Transparent ALTA logo: no white image rectangle in header/gate/footer. */
.logo-image-v11 img,
.gate-logo-v11 img,
.footer-logo-image-v11 img{
  background:transparent !important;
}

/* Footer logo closer to the laboratory-use statement while preserving
   the original black-footer appearance. */
footer{
  grid-template-columns:auto minmax(360px,1fr);
  column-gap:58px;
  justify-content:center;
  padding-left:max(7vw,70px);
  padding-right:max(7vw,70px);
}

footer .footer-logo-image-v11{
  justify-self:end;
  align-self:center;
}

footer > p{
  justify-self:start;
  align-self:center;
  margin:0;
}

footer > div{
  grid-column:1 / -1;
  justify-content:center;
}

footer > small{
  grid-column:1 / -1;
  justify-self:center;
}

/* Keep top trust row exactly as approved: icon + heading only. */
.trust-banner-v6 img{
  display:block;
}

@media(max-width:800px){
  footer{
    grid-template-columns:1fr;
    justify-content:start;
    row-gap:20px;
    padding-left:20px;
    padding-right:20px;
  }
  footer .footer-logo-image-v11,
  footer > p,
  footer > small{
    justify-self:start;
  }
  footer > div,
  footer > small{
    grid-column:1;
  }
  footer > div{
    justify-content:flex-start;
  }
}


/* =========================================
   ALTA V13 — center bottom laboratory-use notice
   ========================================= */

footer > p{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  text-align:center !important;
  width:100% !important;
  margin:0 auto !important;
}

/* Keep footer logo/policies/copyright layout otherwise unchanged. */
@media(max-width:800px){
  footer > p{
    grid-column:1 !important;
    justify-self:center !important;
    text-align:center !important;
  }
}


/* =========================================
   ALTA V14 — pricing + add-to-cart + centered footer logo
   ========================================= */

.site-header{
  gap:26px;
}
.main-nav{
  margin-left:auto;
}
.header-cart{
  position:relative;
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  padding:7px;
  cursor:pointer;
  flex:0 0 auto;
}
.header-cart svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:#111;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cart-count{
  position:absolute;
  right:0;
  top:0;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#b88619;
  color:#fff;
  font-size:10px;
  font-weight:700;
}

/* Product card buying area */
.product-card-v14{
  min-height:500px;
  display:flex;
  flex-direction:column;
}
.product-card-v14 .catalog-vial-v7{
  flex:0 0 auto;
}
.product-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.product-card-v14 p{
  min-height:40px;
}
.product-price{
  margin:5px 0 12px;
  font-size:24px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.02em;
}
.product-buy-row{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:15px;
}
.qty-control{
  display:grid;
  grid-template-columns:34px 48px 34px;
  width:max-content;
  border:1px solid #ddd4c8;
  border-radius:5px;
  overflow:hidden;
  background:#fff;
}
.qty-btn,
.qty-input{
  height:36px;
  border:0;
  background:#fff;
  text-align:center;
  font:inherit;
  color:#111;
}
.qty-btn{
  cursor:pointer;
  font-size:20px;
}
.qty-btn:hover{
  background:#f4efe7;
}
.qty-input{
  width:48px;
  border-left:1px solid #e4ddd3;
  border-right:1px solid #e4ddd3;
  outline:none;
  font-size:13px;
  font-weight:600;
}
.add-cart-btn{
  width:100%;
  min-height:39px;
  border:1px solid #b88619;
  border-radius:5px;
  background:linear-gradient(180deg,#c99620,#b57c08);
  color:#fff;
  font:inherit;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.add-cart-btn:hover{
  filter:brightness(.96);
}
.add-cart-btn.added{
  background:#111;
  border-color:#111;
}
.cart-glyph{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 22px;
}
.cart-glyph svg{
  width:100%;
  height:100%;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.product-card-v14 .text-btn{
  margin-top:auto;
  text-align:left;
}

/* Cart drawer */
.cart-drawer{
  position:fixed;
  inset:0;
  z-index:500;
  pointer-events:none;
  visibility:hidden;
}
.cart-drawer.open{
  pointer-events:auto;
  visibility:visible;
}
.cart-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
  opacity:0;
  transition:opacity .2s ease;
}
.cart-drawer.open .cart-backdrop{
  opacity:1;
}
.cart-panel{
  position:absolute;
  top:0;
  right:0;
  width:min(440px,92vw);
  height:100%;
  background:#f8f5ef;
  border-left:1px solid #d9cbb7;
  box-shadow:-20px 0 55px rgba(0,0,0,.18);
  transform:translateX(100%);
  transition:transform .25s ease;
  display:flex;
  flex-direction:column;
  padding:28px 24px 24px;
}
.cart-drawer.open .cart-panel{
  transform:translateX(0);
}
.cart-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding-bottom:20px;
  border-bottom:1px solid #ddd4c8;
}
.cart-header h2{
  margin:4px 0 0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:34px;
  font-weight:500;
}
.cart-close{
  border:0;
  background:none;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
.cart-items{
  overflow:auto;
  flex:1;
}
.cart-item{
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:13px;
  padding:18px 0;
  border-bottom:1px solid #e1d9ce;
}
.cart-item img{
  width:64px;
  height:86px;
  object-fit:contain;
}
.cart-item h4{
  margin:3px 0 5px;
  font-size:14px;
}
.cart-item-price{
  font-size:13px;
  font-weight:700;
  margin-bottom:9px;
}
.cart-item-controls{
  display:flex;
  align-items:center;
  gap:8px;
}
.cart-item-controls button{
  width:27px;
  height:27px;
  border:1px solid #d8cec1;
  background:#fff;
  cursor:pointer;
}
.cart-item-controls span{
  min-width:20px;
  text-align:center;
  font-size:12px;
  font-weight:700;
}
.cart-remove{
  align-self:start;
  border:0!important;
  background:none!important;
  width:auto!important;
  height:auto!important;
  font-size:11px;
  text-decoration:underline;
  color:#6d6860;
}
.cart-empty{
  padding:34px 0;
  color:#777067;
  font-size:14px;
}
.cart-summary{
  border-top:1px solid #d5cbbb;
  padding-top:18px;
}
.cart-summary>div{
  display:flex;
  justify-content:space-between;
  font-size:18px;
}
.cart-summary p{
  margin:12px 0 16px;
  font-size:11px;
  line-height:1.55;
  color:#746d63;
}
.cart-clear-btn{
  width:100%;
  border:1px solid #111;
  background:#111;
  color:#fff;
  padding:12px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  cursor:pointer;
}

/* Footer — centered logo with disclaimer centered at the very bottom */
.footer-v14{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px!important;
  padding:34px 7vw 26px!important;
  text-align:center;
}
.footer-logo-centered{
  justify-self:auto!important;
  align-self:center!important;
}
.footer-logo-centered img{
  width:165px!important;
  margin:0 auto;
}
.footer-meta-v14{
  width:100%;
  display:flex!important;
  align-items:center;
  justify-content:center!important;
  gap:38px!important;
  flex-wrap:wrap;
}
.footer-links-v14{
  display:flex;
  gap:24px;
  justify-content:center;
  flex-wrap:wrap;
}
.footer-links-v14 a{
  font-size:11px;
}
.footer-meta-v14 small{
  color:#aaa6a0;
  font-size:11px;
}
.footer-disclaimer-v14{
  width:100%!important;
  text-align:center!important;
  margin:0!important;
  color:#d0a53b!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
}

@media(max-width:800px){
  .site-header{
    gap:10px;
  }
  .header-cart{
    width:38px;
    height:38px;
    margin-left:0;
  }
  .product-card-v14{
    min-height:440px;
  }
  .product-price{
    font-size:20px;
  }
  .qty-control{
    grid-template-columns:30px 38px 30px;
  }
  .qty-input{
    width:38px;
  }
  .qty-btn,
  .qty-input{
    height:32px;
  }
  .add-cart-btn{
    font-size:9px;
    letter-spacing:.04em;
    padding:8px 5px;
  }
  .footer-meta-v14{
    flex-direction:column;
    gap:14px!important;
  }
  .footer-logo-centered img{
    width:145px!important;
  }
}

@media(max-width:430px){
  .product-card-v14{
    min-height:430px;
  }
  .product-buy-row{
    gap:8px;
  }
  .add-cart-btn{
    min-height:36px;
  }
}


/* =========================================
   ALTA V15 — transparent lower proof icons
   ========================================= */
.proof-row-v5 img{
  width:56px;
  height:56px;
  object-fit:contain;
  flex:0 0 auto;
  mix-blend-mode:normal !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* =========================================
   ALTA V16 — refined age confirmation panel
   ========================================= */
.gate-check{
  display:flex;
  align-items:center;
  gap:18px;
  margin:28px 0 22px;
  padding:20px 22px;
  min-height:72px;
  border:1px solid #d6ccbd;
  border-radius:8px;
  background:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.45;
  text-align:left;
}
.gate-check input{
  appearance:none;
  -webkit-appearance:none;
  width:26px;
  height:26px;
  margin:0;
  flex:0 0 26px;
  border:2px solid #8f8b85;
  border-radius:7px;
  background:#fff;
  display:grid;
  place-content:center;
  cursor:pointer;
}
.gate-check input::before{
  content:"";
  width:12px;
  height:7px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) scale(0);
  transition:transform .12s ease-in-out;
}
.gate-check input:checked{
  background:#a88450;
  border-color:#a88450;
}
.gate-check input:checked::before{transform:rotate(-45deg) scale(1)}
.gate-enter{
  min-height:58px;
  border-radius:8px;
  letter-spacing:.18em;
}
.gate-enter:disabled{
  background:#aaa6a1;
  border-color:#aaa6a1;
  color:#fff;
  opacity:.72;
  cursor:not-allowed;
}
@media(max-width:600px){
  .gate-check{gap:14px;padding:17px 16px;font-size:13px}
  .gate-check input{width:24px;height:24px;flex-basis:24px}
}


/* =========================================
   ALTA V17 — richer flat gold + vial caps
   ========================================= */

:root{
  --gold:#bd8208;
}

/* Flat richer gold — no raster glare */
.trust-banner-v17{
  max-width:1130px;
  margin:18px auto 0;
  border-radius:10px;
  overflow:hidden;
  background:#f3efe8;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(189,130,8,.12);
}
.trust-item-v17{
  min-height:145px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  padding:28px 34px;
  position:relative;
}
.trust-item-v17:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:22%;
  width:1px;
  height:56%;
  background:rgba(189,130,8,.48);
}
.trust-item-v17 svg{
  width:76px;
  height:76px;
  fill:none;
  stroke:#bd8208;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.trust-item-v17 span{
  color:#11100f;
  font-size:14px;
  font-weight:700;
  letter-spacing:.08em;
  white-space:nowrap;
}

/* New accessory card */
.accessory-card-v17 .accessory-image-v17{
  width:190px;
  height:145px;
  object-fit:cover;
  display:block;
  margin:12px auto 18px;
  border-radius:10px;
}
.variant-label-v17{
  display:block;
  margin:2px 0 6px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#857968;
}
.variant-select-v17{
  width:100%;
  height:36px;
  border:1px solid #ddd4c8;
  border-radius:5px;
  background:#fff;
  color:#111;
  padding:0 10px;
  margin-bottom:12px;
  font:inherit;
  font-size:12px;
}

@media(max-width:800px){
  .trust-banner-v17{
    width:100%;
    margin:0;
    border-radius:0;
  }
  .trust-item-v17{
    min-height:86px;
    gap:12px;
    padding:16px 10px;
  }
  .trust-item-v17 svg{
    width:43px;
    height:43px;
  }
  .trust-item-v17 span{
    font-size:8px;
    letter-spacing:.05em;
  }
  .accessory-card-v17 .accessory-image-v17{
    width:150px;
    height:115px;
  }
}

@media(max-width:500px){
  .trust-item-v17{
    gap:7px;
    padding:14px 5px;
  }
  .trust-item-v17 svg{
    width:35px;
    height:35px;
  }
  .trust-item-v17 span{
    font-size:6.8px;
  }
}


/* =========================================
   ALTA V18 — floating vial caps + accessory details
   ========================================= */

.accessory-card-v17 .accessory-image-v17{
  width:210px;
  height:175px;
  object-fit:contain;
  background:transparent !important;
  border-radius:0;
}

.modal-accessory-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 0 20px;
}
.modal-accessory-image-wrap[hidden],
.product-detail-grid[hidden],
.product-scientific[hidden]{
  display:none !important;
}
.modal-accessory-image-wrap img{
  display:block;
  width:min(100%,420px);
  max-height:330px;
  object-fit:contain;
  background:transparent;
}
.product-extra-wrap{
  margin-top:16px;
}
.product-detail-modal:has(.modal-accessory-image-wrap:not([hidden])) .product-extra-wrap{
  margin-top:0;
}
.product-detail-modal:has(.modal-accessory-image-wrap:not([hidden])) .product-detail-header{
  margin-bottom:10px;
}

@media(max-width:800px){
  .accessory-card-v17 .accessory-image-v17{
    width:175px;
    height:145px;
  }
  .modal-accessory-image-wrap img{
    width:min(100%,310px);
    max-height:240px;
  }
}


/* ===== ALTA V19: responsive mobile catalog + aligned actions ===== */

/* Keep every card's purchasing area on the same baseline within a row. */
.catalog-grid { align-items: stretch; }
.product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.product-card .product-card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.product-card .product-card-body > p { min-height: 42px; }
.product-card .product-price { margin-top: auto; }
.product-card .product-buy-row { margin-top: 8px; }
.product-card .text-btn { margin-top: 12px; }

/* New subtle-glitter floating vial caps. */
.accessory-card-v17 .accessory-image-v17 {
  object-fit: contain;
  background: transparent !important;
  border-radius: 0;
}

/* Tablet */
@media (max-width: 900px) {
  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px;
  }
  .trust-banner-v17 { grid-template-columns: 1fr; }
  .trust-item-v17 {
    min-height: 78px;
    justify-content: flex-start;
    padding: 17px 28px;
  }
  .trust-item-v17:not(:last-child)::after {
    top: auto; bottom: 0; left: 28px; right: 28px;
    width: auto; height: 1px;
  }
}

/* iPhone / mobile */
@media (max-width: 640px) {
  html, body { max-width: 100%; overflow-x: hidden; }

  .site-header .inner, header .inner {
    min-height: auto;
    padding: 14px 16px;
    gap: 12px;
  }
  nav, .nav-links {
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
  }
  nav a, .nav-links a {
    font-size: 11px;
    letter-spacing: .07em;
  }

  .hero, .hero .inner { min-height: auto; }
  .hero h1 {
    font-size: clamp(44px, 14vw, 68px);
    line-height: .94;
  }

  .trust-banner-v17 {
    width: 100%;
    margin-top: 0;
    border-left: 0;
    border-right: 0;
  }
  .trust-item-v17 {
    min-height: 66px;
    padding: 12px 18px;
    gap: 14px;
  }
  .trust-item-v17 svg { width: 39px; height: 39px; }
  .trust-item-v17 span { font-size: 10px; letter-spacing: .08em; }

  /* One large product card per row. */
  .catalog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
    padding-left: 14px;
    padding-right: 14px;
  }
  .product-card {
    width: 100%;
    min-height: 0;
    padding: 18px;
  }
  .product-card img,
  .product-card .accessory-image-v17 {
    display: block;
    width: min(68vw, 260px);
    height: 220px;
    object-fit: contain;
    margin: 6px auto 18px;
  }
  .product-card h3 { font-size: 21px; line-height: 1.2; }
  .product-card .product-card-body > p {
    min-height: 0;
    font-size: 14px;
    line-height: 1.5;
  }
  .product-price {
    font-size: 27px;
    margin-top: 22px !important;
  }
  .variant-select-v17 {
    height: 44px;
    font-size: 14px;
  }
  .product-buy-row {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px;
  }
  .qty-control, .qty-btn, .qty-input { min-height: 44px; }
  .add-cart-btn {
    width: 100%;
    min-height: 46px;
    font-size: 12px;
    letter-spacing: .08em;
  }
  .text-btn { padding-top: 4px; font-size: 13px; }

  /* Product details + cart fit smaller screens cleanly. */
  .product-detail-modal, .modal-panel, .product-detail-panel {
    max-width: calc(100vw - 24px) !important;
  }
  .modal-overlay, .product-modal { padding: 12px !important; }
  .product-detail-grid { grid-template-columns: 1fr !important; }
  .modal-accessory-image-wrap img {
    width: min(78vw, 310px);
    max-height: 230px;
  }
  .cart-panel, .cart-drawer {
    width: min(94vw, 420px) !important;
    max-width: 94vw !important;
  }

  footer .inner, .site-footer .inner {
    text-align: center;
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* Narrow phones: stack quantity above the full-width cart button. */
@media (max-width: 390px) {
  .product-buy-row { grid-template-columns: 1fr; }
  .qty-control { width: max-content; }
  nav a, .nav-links a { font-size: 10px; }
}


/* ===== ALTA V20 MOBILE POLISH ===== */
@media (max-width:640px){
  /* Keep the mobile hamburger beside the cart instead of floating in the center. */
  .site-header .inner,
  header .inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    align-items:center !important;
    column-gap:16px !important;
  }
  .mobile-menu-toggle,
  .menu-toggle,
  .hamburger{
    justify-self:end !important;
    margin-left:auto !important;
    margin-right:0 !important;
  }
  .cart-button,
  .cart-toggle,
  .cart-icon{
    justify-self:end !important;
  }

  /* Hero vial lineup: keep all vials visible and evenly contained on phones. */
  .hero-vials,
  .vial-row,
  .hero-products{
    width:100% !important;
    max-width:100vw !important;
    overflow:hidden !important;
    display:flex !important;
    justify-content:space-evenly !important;
    align-items:flex-end !important;
    gap:4px !important;
    padding:0 8px !important;
    box-sizing:border-box !important;
  }
  .hero-vials img,
  .vial-row img,
  .hero-products img{
    flex:0 1 auto !important;
    width:auto !important;
    max-width:15.5% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  /* BAC Water modal is a product-information modal, not a peptide modal. */
  .product-detail-item[hidden],
  #modalEyebrow[hidden],
  #modalDesignation[hidden],
  #modalDetailNote[hidden]{
    display:none !important;
  }
}


/* ALTA V20.1 — product details bug fix */
.detail-item[hidden],
#modalEyebrow[hidden],
#modalDesignation[hidden],
#modalDetailNote[hidden],
#modalExtraWrap[hidden],
#modalAccessoryImageWrap[hidden]{
  display:none !important;
}


/* ==========================================================
   ALTA V21 — ONE UNIFIED TRUST ROW + TYPOGRAPHY POLISH
   ========================================================== */

.trust-unified-v21{
  max-width:1320px;
  margin:22px auto 26px;
  padding:0 20px;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  background:#f5f1e9;
  border:1px solid rgba(189,130,8,.18);
  border-radius:10px;
  overflow:hidden;
}

.trust-unified-item{
  min-height:112px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:18px 10px;
  position:relative;
  text-align:center;
}

.trust-unified-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18%;
  right:0;
  width:1px;
  height:64%;
  background:rgba(189,130,8,.30);
}

.trust-unified-item svg{
  width:48px;
  height:48px;
  fill:none;
  stroke:#bd8208;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}

.trust-unified-item:nth-child(5) svg rect:first-child{
  fill:#fff;
  stroke:#bd8208;
}
.trust-unified-item:nth-child(5) svg rect:last-child{
  fill:#3c3b6e;
  stroke:#3c3b6e;
}
.trust-unified-item:nth-child(5) svg path{
  stroke:#b22234;
  stroke-width:2;
}

.trust-unified-item span{
  color:#11100f;
  font-size:10px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.08em;
}

/* Tablet: 4 + 3 while still visually one unified panel */
@media(max-width:1000px){
  .trust-unified-v21{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .trust-unified-item{
    min-height:100px;
  }
  .trust-unified-item:nth-child(4)::after{
    display:none;
  }
}

/* Mobile: keep all icons in one horizontal line, swipeable if needed. */
@media(max-width:640px){
  .trust-unified-v21{
    display:flex;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    gap:0;
    margin:14px 0 22px;
    padding:0;
    border-left:0;
    border-right:0;
    border-radius:0;
    scrollbar-width:none;
  }
  .trust-unified-v21::-webkit-scrollbar{ display:none; }

  .trust-unified-item{
    flex:0 0 124px;
    min-height:96px;
    padding:14px 9px;
    scroll-snap-align:start;
  }

  .trust-unified-item:not(:last-child)::after{
    display:block;
    top:20%;
    height:60%;
  }

  .trust-unified-item svg{
    width:39px;
    height:39px;
  }

  .trust-unified-item span{
    font-size:8px;
    line-height:1.3;
    letter-spacing:.06em;
  }
}


/* =========================================================
   ALTA V22 — FINAL HERO / TRUST / MOBILE HEADER POLISH
   ========================================================= */

/* The unified quality strip belongs directly below the hero/vial presentation. */
.trust-unified-v21{
  margin-top:0 !important;
  margin-bottom:34px !important;
}

/* Clean vector icons: crisp at every display density. */
.trust-unified-item svg{
  shape-rendering:geometricPrecision;
  text-rendering:geometricPrecision;
  vector-effect:non-scaling-stroke;
}

/* Remove any decorative gray pedestal / rectangle below hero vials. */
.hero-vials::before,
.hero-vials::after,
.vial-row::before,
.vial-row::after,
.hero-products::before,
.hero-products::after,
.hero-vials img::before,
.hero-vials img::after{
  content:none !important;
  display:none !important;
  background:none !important;
  box-shadow:none !important;
}

.hero-vials .vial-shadow,
.vial-row .vial-shadow,
.hero-products .vial-shadow,
.hero-vials .pedestal,
.vial-row .pedestal,
.hero-products .pedestal{
  display:none !important;
}

/* Mobile header: black hamburger directly beside cart. */
@media(max-width:640px){
  .site-header .inner,
  header .inner{
    display:flex !important;
    align-items:center !important;
    padding:12px 18px !important;
  }

  .site-logo,
  .logo,
  .brand{
    margin-right:auto !important;
  }

  .mobile-menu-toggle,
  .menu-toggle,
  .hamburger{
    order:3 !important;
    margin:0 0 0 16px !important;
    padding:6px !important;
    color:#111 !important;
    background:transparent !important;
    border:0 !important;
  }

  .mobile-menu-toggle *,
  .menu-toggle *,
  .hamburger *{
    color:#111 !important;
    stroke:#111 !important;
    background-color:#111;
  }

  .cart-button,
  .cart-toggle,
  .cart-icon{
    order:2 !important;
    margin-left:auto !important;
  }

  /* If the hamburger is rendered as text/icon glyph, force black. */
  [aria-label*="menu" i],
  [aria-label*="navigation" i]{
    color:#111 !important;
  }

  /* Trust icons are ONLY below hero vials. Keep all seven in one clean row. */
  .trust-unified-v21{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    width:100% !important;
    overflow:visible !important;
    padding:12px 8px !important;
    margin:0 0 28px !important;
    border-radius:0 !important;
  }

  .trust-unified-item{
    min-width:0 !important;
    min-height:94px !important;
    padding:10px 3px !important;
    gap:8px !important;
  }

  .trust-unified-item svg{
    width:34px !important;
    height:34px !important;
  }

  .trust-unified-item span{
    font-size:7px !important;
    line-height:1.3 !important;
    letter-spacing:.02em !important;
    overflow-wrap:anywhere;
  }

  .trust-unified-item:not(:last-child)::after{
    display:block !important;
    top:14% !important;
    height:72% !important;
  }

  /* No gray bars underneath the mobile vial lineup. */
  .hero-vials,
  .vial-row,
  .hero-products{
    background-image:none !important;
  }

  .hero-vials > *,
  .vial-row > *,
  .hero-products > *{
    box-shadow:none;
  }
}


/* ==========================================================
   ALTA V23 — SINGLE SIX-ICON ROW + CLEAN HERO VIALS
   ========================================================== */

/* Remove legacy trust/proof layouts if any stale markup survives caching. */
.trust-banner-v17,
.proof-strip,
.proof-strip-v5,
.trust-unified-v21{
  display:none !important;
}

/* One and only one six-item row below the hero vials. */
.trust-row-v23{
  width:min(1380px, calc(100% - 40px));
  margin:0 auto 36px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid rgba(189,130,8,.25);
  border-bottom:1px solid rgba(189,130,8,.25);
  background:#f7f3eb;
}

.trust-v23-item{
  min-width:0;
  min-height:142px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:14px;
  padding:22px 10px;
  text-align:center;
  position:relative;
}

.trust-v23-item:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:20%;
  height:60%;
  width:1px;
  background:rgba(189,130,8,.25);
}

.trust-v23-item svg{
  width:50px;
  height:50px;
  fill:none;
  stroke:#bd8208;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  shape-rendering:geometricPrecision;
}

.trust-v23-item span{
  color:#111;
  font-size:10px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.055em;
}

/* U.S. flag treatment */
.trust-v23-item.us-item svg rect:first-child{
  fill:#fff;
  stroke:#b22234;
}
.trust-v23-item.us-item svg rect:last-child{
  fill:#3c3b6e;
  stroke:#3c3b6e;
}
.trust-v23-item.us-item svg path{
  stroke:#b22234;
  stroke-width:2;
}

/* Remove the rectangular gray bases beneath hero vials. */
.hero-vials .vial-shadow,
.vial-row .vial-shadow,
.hero-products .vial-shadow,
.hero-vials .pedestal,
.vial-row .pedestal,
.hero-products .pedestal,
.hero-vials [class*="shadow"],
.vial-row [class*="shadow"],
.hero-products [class*="shadow"]{
  display:none !important;
}

.hero-vials img,
.vial-row img,
.hero-products img{
  filter:none !important;
  box-shadow:none !important;
}

/* Mobile: still ONE row; horizontal swipe prevents crowding. */
@media(max-width:640px){
  .trust-row-v23{
    width:100%;
    margin:0 0 28px;
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    border-left:0;
    border-right:0;
  }
  .trust-row-v23::-webkit-scrollbar{display:none;}

  .trust-v23-item{
    flex:0 0 132px;
    min-height:108px;
    padding:14px 8px;
    gap:9px;
    scroll-snap-align:start;
  }

  .trust-v23-item svg{
    width:39px;
    height:39px;
  }

  .trust-v23-item span{
    font-size:8px;
    line-height:1.35;
    letter-spacing:.035em;
  }

  /* Menu stays black and immediately beside cart. */
  .mobile-menu-toggle,
  .menu-toggle,
  .hamburger{
    color:#111 !important;
    margin-left:12px !important;
  }
  .mobile-menu-toggle svg,
  .menu-toggle svg,
  .hamburger svg{
    stroke:#111 !important;
  }
}


/* ==========================================================
   ALTA V24 — CLEAN SINGLE TRUST ROW + HERO VIAL BASE FIX
   ========================================================== */

/* Kill all legacy trust sections in case old markup survives browser cache. */
.proof-strip,
.proof-strip-v5,
.trust-banner-v17,
.trust-unified-v21,
.proof-row-v5,
[class*="trust-panel"],
[class*="top-trust-banner"]{
  display:none !important;
}

/* Exactly one six-item row beneath the hero. */
.trust-row-v24{
  width:min(1380px,calc(100% - 40px));
  margin:0 auto 34px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  background:#f7f3eb;
  border-top:1px solid rgba(189,130,8,.24);
  border-bottom:1px solid rgba(189,130,8,.24);
}

.trust-v24-item{
  min-width:0;
  min-height:138px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:20px 10px;
  text-align:center;
  position:relative;
}

.trust-v24-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:20%;
  right:0;
  width:1px;
  height:60%;
  background:rgba(189,130,8,.26);
}

.trust-v24-item svg{
  width:50px;
  height:50px;
  fill:none;
  stroke:#bd8208;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  shape-rendering:geometricPrecision;
}

.trust-v24-item span{
  color:#111;
  font-size:10px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.055em;
}

.trust-v24-item.us-item svg rect:first-child{
  fill:#fff;
  stroke:#b22234;
}
.trust-v24-item.us-item svg rect:last-child{
  fill:#3c3b6e;
  stroke:#3c3b6e;
}
.trust-v24-item.us-item svg path{
  stroke:#b22234;
  stroke-width:2;
}

/* HERO VIALS: remove every rectangle/shadow/pedestal beneath bottles. */
.hero-vials,
.hero-vials *,
.vial-row,
.vial-row *,
.hero-products,
.hero-products *{
  background-image:none !important;
}

.hero-vials::before,
.hero-vials::after,
.vial-row::before,
.vial-row::after,
.hero-products::before,
.hero-products::after,
.hero-vials *::before,
.hero-vials *::after,
.vial-row *::before,
.vial-row *::after,
.hero-products *::before,
.hero-products *::after{
  box-shadow:none !important;
}

.hero-vials .vial-shadow,
.hero-vials .shadow,
.hero-vials .pedestal,
.hero-vials .base,
.vial-row .vial-shadow,
.vial-row .shadow,
.vial-row .pedestal,
.vial-row .base,
.hero-products .vial-shadow,
.hero-products .shadow,
.hero-products .pedestal,
.hero-products .base,
.hero-vials [class*="shadow"],
.hero-vials [class*="pedestal"],
.hero-vials [class*="base"],
.vial-row [class*="shadow"],
.vial-row [class*="pedestal"],
.vial-row [class*="base"],
.hero-products [class*="shadow"],
.hero-products [class*="pedestal"],
.hero-products [class*="base"]{
  display:none !important;
  background:none !important;
  box-shadow:none !important;
}

.hero-vials img,
.vial-row img,
.hero-products img{
  box-shadow:none !important;
  filter:none !important;
  background:transparent !important;
}

/* Mobile */
@media(max-width:640px){
  .trust-row-v24{
    width:100%;
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    margin:0 0 28px;
    scrollbar-width:none;
    border-left:0;
    border-right:0;
  }
  .trust-row-v24::-webkit-scrollbar{display:none;}

  .trust-v24-item{
    flex:0 0 132px;
    min-height:108px;
    padding:14px 8px;
    gap:9px;
  }
  .trust-v24-item svg{
    width:39px;
    height:39px;
  }
  .trust-v24-item span{
    font-size:8px;
    line-height:1.35;
  }

  /* Menu stays black and immediately beside cart. */
  .mobile-menu-toggle,
  .menu-toggle,
  .hamburger{
    color:#111 !important;
    margin-left:12px !important;
  }
  .mobile-menu-toggle svg,
  .menu-toggle svg,
  .hamburger svg{
    stroke:#111 !important;
  }
}


/* ==========================================================
   ALTA V25 — SOURCE-LEVEL DUPLICATE + VIAL BASE FIX
   ========================================================== */

/* Hide every legacy trust/proof implementation permanently. */
.trust-row-v21,
.trust-row-v22,
.trust-row-v23,
.trust-row-v24,
.trust-unified-v21,
.trust-banner-v17,
.proof-row,
.proof-row-v5,
.proof-strip,
.proof-strip-v5,
[class*="trust-panel"],
[class*="top-trust-banner"]{
  display:none !important;
}

/* The ONLY trust section used in V25. */
.trust-row-v25{
  width:min(1380px,calc(100% - 40px));
  margin:0 auto 34px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  background:#f7f3eb;
  border-top:1px solid rgba(189,130,8,.24);
  border-bottom:1px solid rgba(189,130,8,.24);
}

.trust-v25-item{
  min-width:0;
  min-height:138px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:20px 10px;
  text-align:center;
  position:relative;
}

.trust-v25-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:20%;
  right:0;
  width:1px;
  height:60%;
  background:rgba(189,130,8,.26);
}

.trust-v25-item svg{
  width:50px;
  height:50px;
  fill:none;
  stroke:#bd8208;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  shape-rendering:geometricPrecision;
}

.trust-v25-item span{
  color:#111;
  font-size:10px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.055em;
}

.trust-v25-item.us-item svg rect:first-child{
  fill:#fff;
  stroke:#b22234;
}
.trust-v25-item.us-item svg rect:last-child{
  fill:#3c3b6e;
  stroke:#3c3b6e;
}
.trust-v25-item.us-item svg path{
  stroke:#b22234;
  stroke-width:2;
}

/* V25 image already has the gray/black bases physically removed. */
.hero-vials-v5 img{
  display:block;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

/* Mobile header hamburger: black and beside cart. */
@media(max-width:640px){
  .mobile-menu-toggle,
  .menu-toggle,
  .hamburger{
    color:#111 !important;
    margin-left:12px !important;
  }

  .mobile-menu-toggle svg,
  .menu-toggle svg,
  .hamburger svg{
    stroke:#111 !important;
  }

  .trust-row-v25{
    width:100%;
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    margin:0 0 28px;
    scrollbar-width:none;
    border-left:0;
    border-right:0;
  }

  .trust-row-v25::-webkit-scrollbar{
    display:none;
  }

  .trust-v25-item{
    flex:0 0 132px;
    min-height:108px;
    padding:14px 8px;
    gap:9px;
  }

  .trust-v25-item svg{
    width:39px;
    height:39px;
  }

  .trust-v25-item span{
    font-size:8px;
    line-height:1.35;
  }
}


/* ==========================================================
   ALTA V26 — HEADER / HERO / FLAG / OUTLINE POLISH
   ========================================================== */

/* Remove any page-level blue outline/border. */
html,
body,
#site,
.site-shell,
main{
  outline:none !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

html:focus,
body:focus,
#site:focus,
.site-shell:focus{
  outline:none !important;
}

/* Header order: LOGO ........ MENU CART */
.site-header{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
}

.site-header .logo{
  order:1 !important;
  margin-right:auto !important;
}

.site-header .menu-btn{
  order:2 !important;
  display:block !important;
  margin:0 2px 0 0 !important;
  padding:7px 9px !important;
  border:0 !important;
  background:transparent !important;
  color:#111 !important;
  font-size:29px !important;
  line-height:1 !important;
  cursor:pointer !important;
  flex:0 0 auto !important;
}

.site-header .header-cart{
  order:3 !important;
  margin:0 !important;
  flex:0 0 auto !important;
}

/* Navigation becomes the hamburger dropdown on desktop and mobile. */
.site-header .main-nav{
  order:4 !important;
  display:none !important;
  position:absolute !important;
  top:100% !important;
  right:6vw !important;
  left:auto !important;
  width:250px !important;
  padding:10px 18px 16px !important;
  background:#faf9f7 !important;
  border:1px solid #e5e0d8 !important;
  box-shadow:0 14px 30px rgba(0,0,0,.08) !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
  z-index:50 !important;
}

.site-header .main-nav.open{
  display:flex !important;
}

.site-header .main-nav a{
  width:100% !important;
  padding:12px 0 !important;
  border-bottom:1px solid #ece7df !important;
}

.site-header .main-nav a:last-child{
  border-bottom:0 !important;
}

/* Hero vial image: exact same baseline, no bars/shadows. */
.hero-vials-v5{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
}

.hero-vials-v5 img{
  display:block !important;
  width:min(100%,780px) !important;
  height:auto !important;
  margin:0 auto !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

/* Accurate U.S. flag. */
.trust-v25-item.us-item .us-flag-v26{
  width:56px !important;
  height:auto !important;
  display:block !important;
  shape-rendering:geometricPrecision !important;
}

/* Prevent old flag styling from distorting the new flag. */
.trust-v25-item.us-item .us-flag-v26 rect,
.trust-v25-item.us-item .us-flag-v26 circle{
  stroke:none !important;
}

@media(max-width:900px){
  .site-header{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .site-header .main-nav{
    right:12px !important;
    width:min(270px,calc(100vw - 24px)) !important;
  }

  .site-header .menu-btn{
    color:#111 !important;
    font-size:26px !important;
    margin-left:0 !important;
    margin-right:2px !important;
  }

  .hero-vials-v5 img{
    width:100% !important;
    max-width:680px !important;
    margin:0 auto !important;
  }
}

@media(max-width:430px){
  .site-header .menu-btn{
    font-size:25px !important;
    padding:6px 7px !important;
  }

  .site-header .header-cart{
    width:39px !important;
    height:39px !important;
  }

  .hero-vials-v5 img{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
  }

  .trust-v25-item.us-item .us-flag-v26{
    width:43px !important;
  }
}


/* ==========================================================
   ALTA V27 — FULL-BLEED TRUST / ICON BACKGROUND
   ========================================================== */

/* Extend the cream icon strip all the way to both viewport edges. */
.trust-row-v25{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-bottom:34px !important;
  padding-left:max(20px, calc((100vw - 1380px) / 2)) !important;
  padding-right:max(20px, calc((100vw - 1380px) / 2)) !important;
  box-sizing:border-box !important;
  background:#f7f3eb !important;
}

/* Keep all six items evenly distributed in one row on desktop. */
@media(min-width:641px){
  .trust-row-v25{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  }
}

/* Mobile: same full-width cream background while preserving horizontal row. */
@media(max-width:640px){
  .trust-row-v25{
    width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:0 !important;
    padding-right:0 !important;
    background:#f7f3eb !important;
  }
}

/* ALTA V28 — final requested fixes */
html,body,#site,.site-shell,main{
  outline:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}
html,body{margin:0 !important;padding:0 !important;border:0 !important;}
*:focus,*:focus-visible{outline-color:transparent !important;}
.trust-row-v25{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#f7f3eb !important;
}
.us-flag-v26{
  width:58px !important;
  height:auto !important;
  display:block !important;
}


/* ==========================================================
   ALTA V29 — FINAL NAV / OUTLINE / HERO POLISH
   ========================================================== */

/* Remove any accidental browser-blue site framing from the page shell. */
html, body, #site, .site-shell, .page-shell, .app, #app, main {
  outline: none !important;
  box-shadow: none !important;
  border-left: 0 !important;
  border-right: 0 !important;
  caret-color: auto;
}

html, body {
  margin: 0 !important;
  padding: 0 !important;
  background: #faf9f7 !important;
}

/* Remove blue focus/selection-style ring from page-level containers only. */
html:focus,
body:focus,
#site:focus,
.site-shell:focus,
.page-shell:focus,
.app:focus,
#app:focus,
main:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Desktop: show menu titles like the earlier approved version. */
@media (min-width: 641px) {
  .site-header {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
  }

  .site-header .logo {
    margin-right: auto !important;
  }

  .site-header .menu-btn {
    display: none !important;
  }

  .site-header .main-nav {
    display: flex !important;
    position: static !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 34px !important;
  }

  .site-header .main-nav a {
    width: auto !important;
    padding: 8px 0 !important;
    border: 0 !important;
    color: #111 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .site-header .header-cart {
    margin-left: 10px !important;
  }
}

/* Mobile: retain compact hamburger navigation beside cart. */
@media (max-width: 640px) {
  .site-header .main-nav {
    display: none !important;
  }

  .site-header .main-nav.open {
    display: flex !important;
  }

  .site-header .menu-btn {
    display: block !important;
    color: #111 !important;
    margin-left: auto !important;
    margin-right: 2px !important;
  }
}

/* Hero asset itself is now transparent. */
.hero-vials-v5,
.hero-vials-v5 img {
  background: transparent !important;
}

/* Trust feature strip remains full bleed edge-to-edge. */
.trust-row-v25 {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: #f7f3eb !important;
}


/* ==========================================================
   ALTA V30 — HIGH RESOLUTION VIAL RENDERING
   ========================================================== */

/* Use the new 3x source artwork without browser blur. */
.hero-vials-v5 img,
.product-card img[src*="v30-hd"],
.catalog img[src*="v30-hd"]{
  image-rendering:auto !important;
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* Preserve proportions and prevent low-quality stretching. */
.product-card img[src*="v30-hd"]{
  object-fit:contain !important;
  height:auto;
}


/* ==========================================================
   ALTA V32 — POST-V31 HERO / NAV / FLAG REFINEMENTS
   ========================================================== */

/* Cleaner hero source: no aggressive sharpening and no black halo artifacts. */
.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png");
  image-rendering:auto !important;
  filter:none !important;
  mix-blend-mode:multiply !important;
  transform:none !important;
  backface-visibility:visible !important;
}

/* Narrower / tighter hero section on desktop. */
@media (min-width: 901px){
  .hero{
    min-height:430px !important;
    padding-top:34px !important;
    padding-bottom:34px !important;
    grid-template-columns:minmax(285px,.72fr) minmax(600px,1.72fr) !important;
    gap:24px !important;
  }
  .hero-copy{
    align-self:center !important;
  }
  .hero-vials-v5{
    align-self:center !important;
  }
  .hero-vials-v5 img{
    width:min(100%,760px) !important;
  }

  /* Cart is the final item, immediately after About, at the far right. */
  .site-header .main-nav{
    margin-left:auto !important;
  }
  .site-header .header-cart{
    order:3 !important;
    margin-left:18px !important;
    margin-right:0 !important;
  }
}

/* Accurate U.S. flag stays crisp at every screen density. */
.trust-v25-item.us-item img{
  content:url("alta-icon-usa-v32.svg");
  object-fit:contain !important;
  image-rendering:auto !important;
}


/* =========================================================
   ALTA V33 — FORCE FINAL HEADER / FLAG / HERO FIXES
   ========================================================= */

/* Desktop/tablet header: logo | links | cart.
   Explicit order prevents older rules from placing cart first. */
@media (min-width: 641px){
  .site-header{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
  }
  .site-header .logo{
    order:1 !important;
    margin-right:auto !important;
  }
  .site-header .main-nav{
    order:2 !important;
    display:flex !important;
    margin-left:auto !important;
    margin-right:0 !important;
  }
  .site-header .header-cart{
    order:3 !important;
    margin-left:28px !important;
    margin-right:0 !important;
    flex:0 0 auto !important;
  }
}

/* Mobile keeps hamburger + cart compact. */
@media (max-width:640px){
  .site-header .logo{order:1 !important;}
  .site-header .menu-btn{order:2 !important;}
  .site-header .header-cart{order:3 !important;}
}

/* Guaranteed accurate U.S. flag asset: 50 stars / 13 stripes. */
.us-flag-v33{
  width:58px !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  image-rendering:auto !important;
}

/* Hero vials: render the clean source naturally, with no sharpening,
   filters, outlines, shadows, or browser image effects. */
.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
  display:block !important;
  height:auto !important;
  object-fit:contain !important;
  image-rendering:auto !important;
  filter:none !important;
  outline:none !important;
  box-shadow:none !important;
  border:none !important;
  mix-blend-mode:multiply !important;
}

/* Keep the hero compact/narrow like the approved V33 layout. */
@media (min-width:901px){
  .hero{
    min-height:390px !important;
    padding-top:28px !important;
    padding-bottom:28px !important;
    grid-template-columns:minmax(270px,.7fr) minmax(580px,1.65fr) !important;
    gap:20px !important;
  }
  .hero-vials-v5 img{
    width:min(100%,740px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
\n\n/* v35 legal pages */\n.legal-page{background:#f8f5ee;color:#171717;min-height:100vh}.legal-wrap{max-width:900px;margin:0 auto;padding:56px 24px 80px}.legal-brand{display:flex;align-items:center;width:150px;margin:0 auto 28px}.legal-brand img{width:150px;height:auto}.legal-kicker{font-size:12px;letter-spacing:.18em;font-weight:700;color:#9a782f;text-transform:uppercase;margin:0 0 10px}.legal-wrap h1{font-family:"Playfair Display",serif;font-size:clamp(36px,6vw,58px);margin:0 0 12px}.legal-updated{color:#68645c;margin:0 0 32px}.legal-card{background:#fff;border:1px solid #e8e0d2;border-left:4px solid #b8923c;border-radius:18px;padding:30px;margin:0 0 18px;box-shadow:0 10px 35px rgba(0,0,0,.035)}.legal-card h2{font-size:21px;margin:0 0 12px}.legal-card h3{font-size:16px;margin:22px 0 8px}.legal-card p,.legal-card li{line-height:1.72;color:#383631}.legal-card strong{color:#111}.legal-card a{color:#7f621f}.legal-list{padding-left:20px}.legal-alert{border-left:4px solid #b8923c}.legal-nav{display:flex;gap:18px;flex-wrap:wrap;padding-top:16px}.legal-nav a{color:#111;text-decoration:none;font-weight:600}.legal-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;box-sizing:border-box;width:85%;min-height:170px;margin:34px auto 0;padding:28px 24px;border-top:1px solid #ded6c8;font-size:13px;line-height:1.45;color:#eee}.legal-footer strong,.legal-footer span{display:block}.legal-footer strong{color:#c8ad82}.legal-footer a{color:#c8ad82}@media(max-width:600px){.legal-wrap{padding:36px 18px 60px}.legal-card{padding:22px}.legal-footer{width:94%;min-height:150px;padding:24px 18px}}\n
/* =========================================================
   ALTA V39 — final six-vial hero image + slightly larger sizing
   ========================================================= */
.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
  display:block !important;
  width:min(116%, 900px) !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
  box-shadow:none !important;
  border:none !important;
  mix-blend-mode:multiply !important;
}

@media (min-width:901px){
  .hero{
    min-height:410px !important;
    grid-template-columns:minmax(260px,.62fr) minmax(620px,1.88fr) !important;
    gap:16px !important;
  }
  .hero-vials-v5 img{
    width:min(120%, 860px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:900px){
  .hero-vials-v5 img{
    width:114% !important;
    max-width:760px !important;
    margin-left:-7% !important;
    margin-right:0 !important;
  }
}

@media (max-width:430px){
  .hero-vials-v5 img{
    width:124% !important;
    max-width:none !important;
    margin-left:-12% !important;
    margin-right:0 !important;
  }
}

/* =========================================================
   ALTA V40 — larger, centered, clean six-vial hero image
   ========================================================= */
.hero-vials-v5{
  justify-content:center !important;
  align-items:center !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
  display:block !important;
  width:min(130%, 980px) !important;
  max-width:none !important;
  height:auto !important;
  object-fit:contain !important;
  margin-left:auto !important;
  margin-right:auto !important;
  filter:none !important;
  outline:none !important;
  box-shadow:none !important;
  border:none !important;
  mix-blend-mode:multiply !important;
}

@media (min-width:901px){
  .hero{
    min-height:430px !important;
    grid-template-columns:minmax(250px,.58fr) minmax(650px,1.95fr) !important;
    gap:14px !important;
    padding-top:24px !important;
    padding-bottom:24px !important;
  }
  .hero-copy{
    align-self:center !important;
  }
  .hero-vials-v5{
    align-self:center !important;
  }
  .hero-vials-v5 img{
    width:min(134%, 1020px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:900px){
  .hero-vials-v5{
    margin-top:22px !important;
    padding:0 !important;
    justify-content:center !important;
  }
  .hero-vials-v5 img{
    width:122% !important;
    max-width:820px !important;
    margin-left:-11% !important;
    margin-right:0 !important;
  }
}

@media (max-width:430px){
  .hero-vials-v5{
    margin-top:18px !important;
  }
  .hero-vials-v5 img{
    width:132% !important;
    max-width:none !important;
    margin-left:-16% !important;
    margin-right:0 !important;
  }
}

/* =========================================================
   ALTA V41 — tighter six-vial hero + larger mobile display
   ========================================================= */
.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
  width:min(132%, 1000px) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (min-width:901px){
  .hero-vials-v5 img{
    width:min(132%, 1000px) !important;
  }
}

@media (max-width:900px){
  .hero-vials-v5{
    justify-content:center !important;
    padding:0 !important;
    margin-top:18px !important;
  }
  .hero-vials-v5 img{
    width:128% !important;
    max-width:860px !important;
    margin-left:-14% !important;
    margin-right:0 !important;
  }
}

@media (max-width:430px){
  .hero-vials-v5 img{
    width:138% !important;
    max-width:none !important;
    margin-left:-19% !important;
    margin-right:0 !important;
  }
}

/* =========================================================
   ALTA V42 — larger desktop hero + cleaner edges / no black halo
   ========================================================= */
.hero-vials-v5,
.hero-vials-v5 img{
  background: transparent !important;
}

.hero-vials-v5{
  justify-content:center !important;
  align-items:center !important;
  overflow:visible !important;
}

.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
  display:block !important;
  width:min(138%, 1060px) !important;
  max-width:none !important;
  height:auto !important;
  object-fit:contain !important;
  margin-left:auto !important;
  margin-right:auto !important;
  image-rendering:auto !important;
  filter:none !important;
  outline:none !important;
  box-shadow:none !important;
  border:none !important;
  mix-blend-mode:normal !important;
  isolation:isolate !important;
}

@media (min-width:901px){
  .hero{
    min-height:440px !important;
    grid-template-columns:minmax(245px,.56fr) minmax(680px,2.02fr) !important;
    gap:12px !important;
    padding-top:22px !important;
    padding-bottom:22px !important;
  }
  .hero-copy{
    align-self:center !important;
  }
  .hero-vials-v5 img{
    width:min(142%, 1100px) !important;
  }
}

@media (max-width:900px){
  .hero-vials-v5{
    margin-top:16px !important;
    padding:0 !important;
  }
  .hero-vials-v5 img{
    width:130% !important;
    max-width:900px !important;
    margin-left:-15% !important;
    margin-right:0 !important;
  }
}

@media (max-width:430px){
  .hero-vials-v5 img{
    width:140% !important;
    max-width:none !important;
    margin-left:-20% !important;
    margin-right:0 !important;
  }
}

/* =========================================================
   ALTA V43 — remove large shop banner + center hero vials on mobile
   ========================================================= */
.hero-vials-v5{
  justify-content:center !important;
  align-items:center !important;
  overflow:hidden !important;
}

.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
  display:block !important;
  width:min(136%, 1080px) !important;
  max-width:none !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  image-rendering:auto !important;
  filter:none !important;
  outline:none !important;
  box-shadow:none !important;
  border:none !important;
  mix-blend-mode:normal !important;
}

@media (min-width:901px){
  .hero{
    min-height:395px !important;
    grid-template-columns:minmax(245px,.56fr) minmax(680px,2.02fr) !important;
    gap:14px !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
  .hero-vials-v5 img{
    width:min(138%, 1100px) !important;
  }
}

@media (max-width:900px){
  .hero{
    padding-bottom:18px !important;
  }
  .hero-vials-v5{
    margin-top:12px !important;
    padding:0 !important;
    justify-content:center !important;
    overflow:hidden !important;
  }
  .hero-vials-v5 img{
    width:124% !important;
    max-width:860px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:430px){
  .hero-vials-v5{
    margin-top:10px !important;
  }
  .hero-vials-v5 img{
    width:132% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* =========================================================
   ALTA V44 — white background behind hero vials
   ========================================================= */
.hero{
  background:#ffffff !important;
}

.hero-vials-v5,
.hero-vials-v5 img{
  background:transparent !important;
}

/* =========================================================
   ALTA V45 — hero image background baked to pure white
   ========================================================= */
.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
}

/* =========================================================
   ALTA V46 — remove stray top line above hero vials
   ========================================================= */
.hero-vials-v5,
.hero-vials-v5 img{
  border-top:none !important;
  box-shadow:none !important;
}
.hero-vials-v5 img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
}


/* ==========================================================
   ALTA V54 — normalize displayed size of all 3ml catalog vials
   ========================================================== */
:root{ --alta-catalog-vial-base:104px; }
@media(max-width:900px){ :root{ --alta-catalog-vial-base:100px; } }
@media(max-width:600px){ :root{ --alta-catalog-vial-base:96px; } }
@media(max-width:430px){ :root{ --alta-catalog-vial-base:92px; } }

.product-card .catalog-vial-v7{ width:var(--alta-catalog-vial-base) !important; }
.product-card[data-card-product="GHK-CU"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 0.98) !important; }
.product-card[data-card-product="RETA"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 0.99) !important; }
.product-card[data-card-product="MOTS-C"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 0.99) !important; }
.product-card[data-card-product="PT-141"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 1.00) !important; }
.product-card[data-card-product="TESA"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 1.00) !important; }
.product-card[data-card-product="DSIP"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 1.02) !important; }
.product-card[data-card-product="BPC-157"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 1.12) !important; }


/* ==========================================================
   ALTA V55 — DSIP and BPC-157 matched to TESA vial size
   ========================================================== */
.product-card[data-card-product="DSIP"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 1.00) !important; }
.product-card[data-card-product="BPC-157"] .catalog-vial-v7{ width:calc(var(--alta-catalog-vial-base) * 1.00) !important; }


/* ==========================================================
   ALTA V56 — make all 3ml small vials as large as BPC-157 looked
   ========================================================== */
.product-card[data-card-product="GHK-CU"] .catalog-vial-v7,
.product-card[data-card-product="RETA"] .catalog-vial-v7,
.product-card[data-card-product="MOTS-C"] .catalog-vial-v7,
.product-card[data-card-product="PT-141"] .catalog-vial-v7,
.product-card[data-card-product="TESA"] .catalog-vial-v7,
.product-card[data-card-product="DSIP"] .catalog-vial-v7,
.product-card[data-card-product="BPC-157"] .catalog-vial-v7{
  width:calc(var(--alta-catalog-vial-base) * 1.12) !important;
}


/* ==========================================================
   ALTA V57 — all 3ml vials unified, both 10ml vials unified
   ========================================================== */
.product-card[data-card-product="GHK-CU"] .catalog-vial-v7,
.product-card[data-card-product="RETA"] .catalog-vial-v7,
.product-card[data-card-product="MOTS-C"] .catalog-vial-v7,
.product-card[data-card-product="PT-141"] .catalog-vial-v7,
.product-card[data-card-product="TESA"] .catalog-vial-v7,
.product-card[data-card-product="DSIP"] .catalog-vial-v7,
.product-card[data-card-product="BPC-157"] .catalog-vial-v7{
  width:calc(var(--alta-catalog-vial-base) * 1.12) !important;
}
.product-card[data-card-product="NAD+"] .catalog-vial-v7,
.product-card[data-card-product="BAC Water"] .catalog-vial-v7{
  width:calc(var(--alta-catalog-vial-base) * 1.12) !important;
}


/* ==========================================================
   ALTA V65 — generated hero-matched catalog vials
   Same warm label color, centered label typography, uniform display size
   ========================================================== */
:root{ --alta-v65-vial-width:136px; }
@media(max-width:900px){ :root{ --alta-v65-vial-width:132px; } }
@media(max-width:600px){ :root{ --alta-v65-vial-width:126px; } }
@media(max-width:430px){ :root{ --alta-v65-vial-width:122px; } }
.product-card[data-card-product="GHK-CU"] .catalog-vial-v7,
.product-card[data-card-product="RETA"] .catalog-vial-v7,
.product-card[data-card-product="MOTS-C"] .catalog-vial-v7,
.product-card[data-card-product="PT-141"] .catalog-vial-v7,
.product-card[data-card-product="TESA"] .catalog-vial-v7,
.product-card[data-card-product="DSIP"] .catalog-vial-v7,
.product-card[data-card-product="BPC-157"] .catalog-vial-v7,
.product-card[data-card-product="NAD+"] .catalog-vial-v7,
.product-card[data-card-product="BAC Water"] .catalog-vial-v7{
  width:var(--alta-v65-vial-width) !important;
  height:auto !important;
  object-fit:contain !important;
}


/* ==========================================================
   ALTA V68 — RETA-reference exact catalog vial normalization
   All catalog vial PNGs have matching visible artwork bounds.
   One identical display rule for every vial on every breakpoint.
   ========================================================== */
:root{ --alta-v68-vial-width:136px; }
@media(max-width:900px){ :root{ --alta-v68-vial-width:132px; } }
@media(max-width:600px){ :root{ --alta-v68-vial-width:126px; } }
@media(max-width:430px){ :root{ --alta-v68-vial-width:122px; } }
.catalog-grid .product-card .catalog-vial-v7{
  width:var(--alta-v68-vial-width) !important;
  height:auto !important;
  transform:none !important;
  object-fit:contain !important;
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
  mix-blend-mode:normal !important;
}

/* ==========================================================
   ALTA V78 — final responsive hero artwork
   BPC-157 appears on desktop only; mobile remains six vials.
   ========================================================== */
.hero-vials-v5 picture{
  display:block !important;
  width:100% !important;
}
.hero-vials-v5 picture img{
  content:url("alta-vials-v80-seven-desktop.png") !important;
  display:block !important;
  width:min(135%,1100px) !important;
  max-width:none !important;
  height:auto !important;
  margin:0 auto !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
@media(max-width:760px){
  .hero-vials-v5 picture img{
    content:url("alta-vials-v95-seven-mobile.png") !important;
    width:min(112%,740px) !important;
  }
}


/* ==========================================================
   ALTA V90 — mobile hero containment + 10ml cap price update
   Keep all six mobile hero vials fully inside the viewport.
   ========================================================== */
@media(max-width:760px){
  .hero-vials-v5 picture{
    width:100% !important;
    overflow:hidden !important;
  }
  .hero-vials-v5 picture img{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* ==========================================================
   ALTA V91 — stronger mobile hero vial containment fix
   Ensures all six hero vials stay fully inside the mobile viewport.
   ========================================================== */
html, body{
  max-width:100%;
}

@media(max-width:760px){
  html, body{
    overflow-x:hidden !important;
  }

  .hero{
    display:block !important;
    grid-template-columns:1fr !important;
    min-width:0 !important;
    width:100% !important;
    overflow:hidden !important;
  }

  .hero-copy{
    padding-left:20px !important;
    padding-right:20px !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .hero-vials-v5{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    padding:10px 16px 0 !important;
    box-sizing:border-box !important;
    justify-content:center !important;
  }

  .hero-vials-v5 picture{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .hero-vials-v5 picture img,
  .hero-vials-v5 > img{
    content:url("alta-vials-v95-seven-mobile.png") !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain !important;
    transform:none !important;
  }
}

@media(max-width:430px){
  .hero-vials-v5{
    padding:8px 12px 0 !important;
  }

  .hero-vials-v5 picture img,
  .hero-vials-v5 > img{
    width:96% !important;
    max-width:96% !important;
  }
}

/* ==========================================================
   ALTA V92 — cache-busted iPhone hero containment
   Fresh stylesheet filename ensures mobile browsers load this rule.
   ========================================================== */
@media (max-width:760px){
  .hero-vials-v5{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:8px 18px 0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  .hero-vials-v5 picture{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .hero-vials-v5 picture img{
    content:url("alta-vials-v95-seven-mobile.png") !important;
    width:94% !important;
    max-width:94% !important;
    height:auto !important;
    display:block !important;
    margin:0 auto !important;
  }
}
@media (max-width:430px){
  .hero-vials-v5{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .hero-vials-v5 picture img{
    width:92% !important;
    max-width:92% !important;
  }
}


/* ==========================================================
   ALTA V93 — mobile hero adds BPC-157 + centered mobile footer logo
   ========================================================== */
@media(max-width:760px){
  .hero-vials-v5 picture source{
    srcset:url("alta-vials-v95-seven-mobile.png");
  }

  .hero-vials-v5 picture img,
  .hero-vials-v5 > img{
    content:url("alta-vials-v95-seven-mobile.png") !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 auto !important;
  }

  .hero-vials-v5{
    padding:8px 10px 0 !important;
  }

  .footer-v14 .footer-logo-centered{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  .footer-v14 .footer-logo-centered img{
    display:block !important;
    margin:0 auto !important;
  }
}

@media(max-width:430px){
  .hero-vials-v5{
    padding:8px 8px 0 !important;
  }

  .hero-vials-v5 picture img,
  .hero-vials-v5 > img{
    width:98% !important;
    max-width:98% !important;
  }

  .footer-v14{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .footer-v14 .footer-logo-centered img{
    width:165px !important;
  }
}


/* ==========================================================
   ALTA V94 — mobile trust icons all visible without scrolling
   Show all six icons below the hero vials on mobile at once.
   ========================================================== */
@media(max-width:640px){
  .trust-row-v25{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    margin-bottom:28px !important;
    padding:0 !important;
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    scrollbar-width:auto !important;
    border-top:1px solid rgba(189,130,8,.24) !important;
    border-bottom:1px solid rgba(189,130,8,.24) !important;
    background:#f7f3eb !important;
  }

  .trust-row-v25::-webkit-scrollbar{
    display:none !important;
  }

  .trust-v25-item{
    flex:initial !important;
    min-width:0 !important;
    width:auto !important;
    min-height:98px !important;
    padding:14px 6px !important;
    gap:8px !important;
    border-right:1px solid rgba(189,130,8,.18) !important;
    border-bottom:1px solid rgba(189,130,8,.18) !important;
  }

  .trust-v25-item:nth-child(3n){
    border-right:0 !important;
  }

  .trust-v25-item:nth-last-child(-n+3){
    border-bottom:0 !important;
  }

  .trust-v25-item:not(:last-child)::after{
    display:none !important;
  }

  .trust-v25-item svg,
  .trust-v25-item .us-flag-v26,
  .trust-v25-item img{
    width:34px !important;
    height:34px !important;
  }

  .trust-v25-item.us-item .us-flag-v26{
    width:34px !important;
    height:auto !important;
  }

  .trust-v25-item span{
    font-size:8px !important;
    line-height:1.3 !important;
    letter-spacing:.04em !important;
  }
}

@media(max-width:430px){
  .trust-row-v25{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .trust-v25-item{
    min-height:92px !important;
    padding:12px 4px !important;
  }

  .trust-v25-item svg,
  .trust-v25-item .us-flag-v26,
  .trust-v25-item img{
    width:30px !important;
    height:30px !important;
  }

  .trust-v25-item.us-item .us-flag-v26{
    width:30px !important;
  }

  .trust-v25-item span{
    font-size:7.5px !important;
  }
}


/* ==========================================================
   ALTA V95 — larger mobile hero vials, smaller icons below
   Make the hero vial lineup visually larger than the trust icons.
   ========================================================== */
@media(max-width:760px){
  .hero-vials-v5{
    padding:6px 8px 2px !important;
  }

  .hero-vials-v5 picture img,
  .hero-vials-v5 > img{
    content:url("alta-vials-v95-seven-mobile.png") !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 auto !important;
  }
}

@media(max-width:640px){
  .trust-v25-item{
    min-height:84px !important;
    padding:10px 4px !important;
    gap:6px !important;
  }

  .trust-v25-item svg,
  .trust-v25-item img,
  .trust-v25-item .us-flag-v26{
    width:26px !important;
    height:26px !important;
  }

  .trust-v25-item.us-item .us-flag-v26{
    width:26px !important;
    height:auto !important;
  }

  .trust-v25-item span{
    font-size:7px !important;
    line-height:1.2 !important;
    letter-spacing:.035em !important;
  }
}

@media(max-width:430px){
  .hero-vials-v5{
    padding:4px 6px 0 !important;
  }

  .hero-vials-v5 picture img,
  .hero-vials-v5 > img{
    width:100% !important;
    max-width:100% !important;
  }

  .trust-v25-item{
    min-height:80px !important;
    padding:9px 3px !important;
  }

  .trust-v25-item svg,
  .trust-v25-item img,
  .trust-v25-item .us-flag-v26{
    width:24px !important;
    height:24px !important;
  }

  .trust-v25-item.us-item .us-flag-v26{
    width:24px !important;
  }

  .trust-v25-item span{
    font-size:6.8px !important;
  }
}


/* v96: inline product strength aligned with product name */
.product-title-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  width:100%;
  margin:0 0 8px;
}
.product-title-row h3{
  margin:0 !important;
}
.product-strength-inline{
  margin-left:auto;
  color:#000;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.04em;
  white-space:nowrap;
  text-transform:uppercase;
}
@media(max-width:600px){
  .product-title-row{gap:12px;}
  .product-strength-inline{font-size:16px;}
}
@media(min-width:901px){
  .product-strength-inline{font-size:21px;}
}


/* ==========================================================
   ALTA V97 — keep full desktop hero vial row visible in Safari/Chrome
   ========================================================== */
@media (min-width:901px){
  .hero{
    padding-left:4vw !important;
    padding-right:4vw !important;
    grid-template-columns:minmax(240px,.60fr) minmax(0,1.82fr) !important;
    gap:10px !important;
    overflow:visible !important;
  }
  .hero-vials-v5{
    overflow:visible !important;
    justify-content:center !important;
  }
  .hero-vials-v5 img{
    width:min(126%, 980px) !important;
    max-width:100% !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (min-width:901px) and (max-width:1280px){
  .hero{
    padding-left:3vw !important;
    padding-right:3vw !important;
    grid-template-columns:minmax(220px,.58fr) minmax(0,1.86fr) !important;
  }
  .hero-vials-v5 img{
    width:min(122%, 940px) !important;
  }
}


/* ==========================================================
   ALTA V98 — order review flow
   ========================================================== */
.cart-review-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  margin:16px 0 10px;
  padding:14px 18px;
  background:#c68a08;
  border:1px solid #b77d00;
  color:#fff !important;
  text-decoration:none !important;
  font-size:12px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:transform .16s ease, filter .16s ease;
}
.cart-review-btn:hover{filter:brightness(.96);transform:translateY(-1px)}

.order-page{
  min-height:100vh;
  background:#f8f6f1;
  color:#111;
}
.order-shell{
  width:min(1120px, calc(100% - 40px));
  margin:0 auto;
  padding:54px 0 80px;
}
.order-heading{
  text-align:center;
  max-width:720px;
  margin:0 auto 38px;
}
.order-heading .eyebrow{
  color:#a56e00;
  margin-bottom:10px;
}
.order-heading h1{
  font-family:"Playfair Display",Georgia,serif;
  font-size:46px;
  line-height:1.08;
  font-weight:500;
  margin:0 0 14px;
}
.order-heading p{
  color:#686159;
  line-height:1.65;
  margin:0;
}
.order-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:28px;
  align-items:start;
}
.order-card{
  background:#fff;
  border:1px solid #e5ded3;
  box-shadow:0 12px 38px rgba(40,31,17,.055);
}
.order-card-head{
  padding:24px 26px 18px;
  border-bottom:1px solid #ece6dc;
}
.order-card-head h2{
  margin:0;
  font-size:20px;
  letter-spacing:.02em;
}
.order-items{padding:0 26px}
.order-item{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid #eee8df;
}
.order-item:last-child{border-bottom:0}
.order-item img{
  width:78px;
  height:96px;
  object-fit:contain;
}
.order-item h3{
  margin:0 0 5px;
  font-size:16px;
  letter-spacing:.02em;
}
.order-item .order-strength{
  color:#777067;
  font-size:13px;
  margin-bottom:9px;
}
.order-item .order-qty{
  font-size:13px;
  color:#4f4a44;
}
.order-item-price{
  text-align:right;
  min-width:92px;
}
.order-item-price strong{
  display:block;
  font-size:17px;
}
.order-item-price span{
  display:block;
  color:#81786f;
  font-size:12px;
  margin-top:4px;
}
.order-summary-card{
  position:sticky;
  top:108px;
}
.order-summary-body{padding:25px 26px}
.order-summary-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:10px 0;
  font-size:14px;
}
.order-summary-row.total{
  margin-top:8px;
  padding-top:18px;
  border-top:1px solid #ddd5c9;
  font-size:19px;
  font-weight:700;
}
.order-note{
  margin-top:24px;
  padding:22px;
  background:#fbf7ee;
  border:1px solid #e8d4aa;
}
.order-note h3{
  margin:0 0 10px;
  font-size:15px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.order-note p{
  margin:0;
  color:#5f574e;
  font-size:14px;
  line-height:1.65;
}
.order-email{
  font-weight:700;
  color:#111;
}
.order-actions{
  display:grid;
  gap:10px;
  margin-top:18px;
}
.order-primary,
.order-secondary{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 16px;
  text-decoration:none !important;
  text-align:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.order-primary{
  background:#c68a08;
  border:1px solid #b77d00;
  color:#fff !important;
}
.order-secondary{
  background:#fff;
  border:1px solid #cfc6b8;
  color:#111 !important;
}
.order-help{
  margin-top:12px;
  color:#81796f;
  font-size:11px;
  line-height:1.5;
  text-align:center;
}
.order-empty-state{
  padding:52px 26px;
  text-align:center;
  color:#6d665e;
}
.order-number{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7a7167;
  margin-top:8px;
}
.order-topbar{
  background:#050505;
  color:#cfae67;
  text-align:center;
  padding:11px 18px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.order-header{
  height:105px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 7vw;
  background:#faf9f7;
  border-bottom:1px solid #ebe5dc;
}
.order-header img{
  width:210px;
  max-height:74px;
  object-fit:contain;
}
.order-header a.back-shop{
  color:#111;
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em;
  text-decoration:none;
  text-transform:uppercase;
}
.order-footer{
  padding:25px 20px 34px;
  border-top:1px solid #dfd8cf;
  color:#756e66;
  text-align:center;
  font-size:11px;
  line-height:1.65;
  background:#f8f6f1;
}

@media(max-width:800px){
  .order-header{height:88px;padding:0 20px}
  .order-header img{width:155px}
  .order-shell{width:min(100% - 28px,700px);padding:36px 0 56px}
  .order-heading{margin-bottom:26px}
  .order-heading h1{font-size:36px}
  .order-layout{grid-template-columns:1fr}
  .order-summary-card{position:static}
  .order-item{
    grid-template-columns:70px minmax(0,1fr) auto;
    gap:12px;
  }
  .order-item img{width:62px;height:82px}
}

@media(max-width:480px){
  .order-topbar{font-size:8px;letter-spacing:.17em}
  .order-header .back-shop{font-size:10px}
  .order-heading h1{font-size:31px}
  .order-card-head,.order-items,.order-summary-body{padding-left:18px;padding-right:18px}
  .order-item{
    grid-template-columns:56px minmax(0,1fr);
  }
  .order-item-price{
    grid-column:2;
    text-align:left;
    display:flex;
    align-items:baseline;
    gap:8px;
  }
  .order-item img{width:52px;height:72px}
}


/* ==========================================================
   ALTA V99 — shipping, tax, and stronger email-order actions
   ========================================================== */
.order-summary-row small{font-size:12px;color:#837b72;font-weight:500}
.order-actions button.order-primary,
.order-actions button.order-secondary{cursor:pointer;font-family:inherit}
.order-copy-btn{width:100%}
.order-helper-strong{margin-top:6px;color:#5f574e;font-size:12px}
.order-feedback{margin-top:10px;padding:10px 12px;border:1px solid #e6dccd;background:#fffaf1;color:#5a5249;font-size:12px;line-height:1.5;text-align:center}


/* ==========================================================
   ALTA V100 — free shipping promotion
   ========================================================== */
.hero-free-ship{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:4px 0 22px;
  padding:10px 14px;
  border:1px solid #d6be86;
  background:#fbf7ee;
  color:#9a6a00;
  font-size:11px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cart-summary p strong{color:#5e4300}
.order-promo{
  margin:14px auto 0;
  max-width:760px;
  padding:12px 16px;
  border:1px solid #e4d2ab;
  background:#fbf7ee;
  color:#8e6200;
  font-size:12px;
  line-height:1.6;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.order-shipping-note{
  margin-top:8px;
  color:#8b6207;
  font-size:12px;
  line-height:1.5;
}
@media(max-width:480px){
  .hero-free-ship{font-size:10px;letter-spacing:.11em;padding:9px 12px;margin-bottom:18px}
  .order-promo{font-size:11px;padding:11px 12px}
}


/* ==========================================================
   ALTA V101 — top free-shipping banner below research-use strip
   ========================================================== */
.shipping-banner{
  background:#fbf7ee;
  color:#9a6a00;
  text-align:center;
  padding:10px 16px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  border-bottom:1px solid #e5d4af;
}
@media(max-width:900px){
  .shipping-banner{
    font-size:10px;
    letter-spacing:.14em;
    padding:9px 12px;
  }
}
@media(max-width:480px){
  .shipping-banner{
    font-size:9px;
    letter-spacing:.11em;
    line-height:1.45;
  }
}


/* ==========================================================
   ALTA V104 - downloadable order PDF
   ========================================================== */
.order-pdf-btn{
  width:100%;
  cursor:pointer;
  font-family:inherit;
}
.order-pdf-btn:disabled{
  cursor:not-allowed;
  opacity:.45;
}


/* ALTA V105 - condensed PDF confirmation */
.order-feedback{padding:10px 12px !important;line-height:1.4 !important;}


/* ==========================================================
   ALTA V107 — stock badges + live order quantity controls
   ========================================================== */
.order-item-main{min-width:0;}
.order-item-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:2px;
}
.order-stock-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.order-stock-badge.in-stock{
  color:#1b6b37;
  background:#ebf7ef;
  border:1px solid #b8dfc3;
}
.order-stock-badge.out-of-stock{
  color:#b42318;
  background:#fff0f0;
  border:1px solid #f0b6b6;
}
.order-qty-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.order-qty-controls{
  display:inline-flex;
  align-items:center;
  border:1px solid #ddd5c9;
  background:#fff;
}
.qty-btn{
  width:34px;
  height:34px;
  border:0;
  background:#fff;
  color:#111;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.qty-btn:hover{background:#f7f4ef;}
.qty-btn:disabled{cursor:not-allowed;opacity:.45;}
.qty-value{
  min-width:40px;
  text-align:center;
  font-size:14px;
  font-weight:700;
  padding:0 8px;
}
.order-qty-meta{
  font-size:13px;
  color:#4f4a44;
}
@media(max-width:800px){
  .order-item-title-row{gap:8px;}
  .qty-btn{width:32px;height:32px;}
  .qty-value{min-width:36px;}
}
@media(max-width:480px){
  .order-qty-row{align-items:flex-start;gap:10px;}
  .order-stock-badge{font-size:9px;padding:4px 7px;}
}


/* ==========================================================
   ALTA V108 — auto-open cart drawer + main-page stock badges
   ========================================================== */
.catalog-stock-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 12px;
  padding:5px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  width:max-content;
}
.catalog-stock-badge.in-stock{
  color:#1b6b37;
  background:#ebf7ef;
  border:1px solid #b8dfc3;
}
.catalog-stock-badge.out-of-stock{
  color:#b42318;
  background:#fff0f0;
  border:1px solid #f0b6b6;
}
@media(max-width:640px){
  .catalog-stock-badge{font-size:9px;padding:4px 8px;margin-bottom:10px;}
}


/* ==========================================================
   ALTA V109 — cart drawer stock badges
   ========================================================== */
.cart-stock-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:6px 0 8px;
  padding:4px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.cart-stock-badge.in-stock{
  color:#1b6b37;
  background:#ebf7ef;
  border:1px solid #b8dfc3;
}
.cart-stock-badge.out-of-stock{
  color:#b42318;
  background:#fff0f0;
  border:1px solid #f0b6b6;
}

/* ALTA V110/V112 SEO product pages */
.seo-product-page{background:#f8f6f1;color:#111;}
.seo-product-header{min-height:105px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:0 7vw;background:#faf9f7;border-bottom:1px solid #ebe5dc;}
.seo-product-header img{width:210px;max-height:74px;object-fit:contain;}
.seo-product-header nav{display:flex;gap:30px;align-items:center;justify-content:center;}
.seo-product-header nav a,.seo-cart-link{color:#111;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.14em;}
.seo-cart-link{justify-self:end;}
.seo-product-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:34px 0 76px;}
.seo-breadcrumb{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#777067;font-size:12px;margin-bottom:26px;}
.seo-breadcrumb a{color:#5f574e;text-decoration:none;}
.seo-product-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:56px;align-items:start;background:#fff;border:1px solid #e5ded3;padding:44px;box-shadow:0 12px 38px rgba(40,31,17,.045);}
.seo-product-image-wrap{position:relative;min-height:540px;display:flex;align-items:center;justify-content:center;background:#fdfcf9;}
.seo-product-image-wrap img{width:min(60%,330px);max-height:500px;object-fit:contain;}
.seo-strength-pill{position:absolute;top:20px;right:20px;border:1px solid #d9c9ac;border-radius:999px;padding:7px 14px;font-size:12px;letter-spacing:.08em;background:#fff;}
.seo-product-info{padding:16px 0;}
.seo-product-info h1{font-family:"Playfair Display",Georgia,serif;font-size:48px;font-weight:500;margin:10px 0;line-height:1.05;}
.seo-product-info h1 span{font-family:"DM Sans",Arial,sans-serif;font-size:22px;font-weight:700;margin-left:12px;white-space:nowrap;}
.seo-stock{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.11em;margin:0 0 16px;}
.seo-stock.in-stock{color:#1b6b37;background:#ebf7ef;border:1px solid #b8dfc3;}
.seo-scientific{font-size:16px;line-height:1.65;color:#665e55;text-transform:none;margin:0 0 20px;}
.seo-price{font-size:34px;font-weight:700;margin:12px 0 24px;}
.seo-product-details{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e7e1d8;border-left:1px solid #e7e1d8;margin-bottom:26px;}
.seo-detail{padding:16px;border-right:1px solid #e7e1d8;border-bottom:1px solid #e7e1d8;}
.seo-detail span{display:block;color:#827970;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.seo-detail strong{font-size:13px;line-height:1.4;word-break:break-word;}
.seo-buy-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;}
.seo-buy-row .qty-control,.seo-buy-row .add-cart-btn{height:52px;}
.seo-add-feedback{min-height:22px;margin-top:10px;color:#1b6b37;font-size:12px;font-weight:600;}
.seo-secondary-btn{display:flex;align-items:center;justify-content:center;margin-top:8px;min-height:48px;border:1px solid #cfc6b8;color:#111;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.seo-copy-section{max-width:1040px;margin:34px auto 0;padding:34px;background:#fff;border:1px solid #e5ded3;}
.seo-copy-section h2{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:500;margin:0 0 16px;}
.seo-copy-section p{color:#655d55;line-height:1.75;margin:0 0 14px;}
.seo-product-page .order-footer a{color:inherit;}
.catalog-directory-link{display:inline-block;margin-left:6px;color:#8f6200;font-weight:700;text-decoration:none;}
.seo-content-block{margin-bottom:30px;}
.seo-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:28px 0;}
.seo-content-grid .seo-content-block{margin:0;padding:26px;border:1px solid #e6dfd5;background:#fdfcf9;}
.seo-content-rich h2{font-size:28px;line-height:1.2;margin-bottom:13px;}
.seo-content-rich p{font-size:15px;line-height:1.8;}
.seo-content-rich a{color:#8f6200;font-weight:700;text-underline-offset:3px;}
.seo-research-use-block{padding:28px;border-left:3px solid #c68a08;background:#fbf7ee;}
.seo-related-section{margin-top:42px;padding-top:34px;border-top:1px solid #e4ddd3;}
.seo-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px;}
.seo-related-card{display:grid;grid-template-rows:150px auto auto auto;gap:7px;padding:18px;border:1px solid #e5ded3;background:#fff;color:#111!important;text-decoration:none!important;}
.seo-related-card img{width:100%;height:150px;object-fit:contain;}
.seo-related-card .seo-related-kicker{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8c8379;}
.seo-related-card strong{font-size:16px;}
.seo-related-card>span:last-child{font-size:12px;color:#8f6200;}
.seo-hub-intro{max-width:840px;margin:18px auto 38px;text-align:center;}
.seo-hub-intro h1{font-family:"Playfair Display",Georgia,serif;font-size:52px;font-weight:500;line-height:1.05;margin:10px 0 18px;}
.seo-hub-intro>p:last-child{font-size:16px;line-height:1.75;color:#665e55;}
.seo-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.seo-hub-card{background:#fff;border:1px solid #e5ded3;padding:22px;}
.seo-hub-image{display:flex;height:230px;align-items:center;justify-content:center;margin-bottom:18px;}
.seo-hub-image img{width:62%;height:220px;object-fit:contain;}
.seo-hub-card h2{margin:5px 0 8px;font-size:22px;}
.seo-hub-card h2 a{color:#111;text-decoration:none;}
.seo-hub-card h2 span{font-size:14px;font-family:"DM Sans",Arial,sans-serif;}
.seo-hub-card p{min-height:44px;color:#6e665d;font-size:13px;line-height:1.55;}
.seo-hub-link{display:inline-block;margin-top:12px;color:#8f6200;font-size:12px;font-weight:700;text-decoration:none;}
.seo-hub-info{max-width:900px;margin:38px auto 0;padding:30px;background:#fff;border:1px solid #e5ded3;}
.seo-hub-info h2{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:500;margin:0 0 12px;}
.seo-hub-info p{color:#655d55;line-height:1.75;}
.seo-hub-info a{color:#8f6200;font-weight:700;}
@media(max-width:850px){.seo-product-header{grid-template-columns:1fr auto;padding:0 20px;min-height:88px}.seo-product-header img{width:155px}.seo-product-header nav{display:none}.seo-product-layout{grid-template-columns:1fr;gap:24px;padding:24px}.seo-product-image-wrap{min-height:390px}.seo-product-image-wrap img{width:min(58%,260px)}.seo-product-info h1{font-size:40px}}
@media(max-width:900px){.seo-content-grid,.seo-related-grid,.seo-hub-grid{grid-template-columns:1fr 1fr}.seo-hub-intro h1{font-size:44px}}
@media(max-width:620px){.seo-content-grid,.seo-related-grid,.seo-hub-grid{grid-template-columns:1fr}.seo-content-grid .seo-content-block{padding:20px}.seo-research-use-block{padding:22px}.seo-hub-intro h1{font-size:36px}}
@media(max-width:520px){.seo-product-shell{width:min(100% - 24px,680px);padding-top:22px}.seo-product-layout{padding:16px}.seo-product-image-wrap{min-height:330px}.seo-product-image-wrap img{width:min(65%,230px)}.seo-product-info h1{font-size:34px}.seo-product-info h1 span{font-size:18px;display:block;margin:8px 0 0}.seo-product-details{grid-template-columns:1fr}.seo-buy-row{grid-template-columns:1fr}.seo-copy-section{padding:22px}}


/* ALTA V113 — inventory quantity display */
.catalog-stock-badge,.cart-stock-badge,.order-stock-badge,.seo-stock{white-space:nowrap;}


/* ALTA V114 — inventory stays internal; no customer-facing stock labels */
.catalog-stock-badge,
.cart-stock-badge,
.order-stock-badge,
.seo-stock{display:none !important;}


/* ALTA V115 — customer-facing generic In Stock labels; inventory count remains internal */
.catalog-stock-badge,
.cart-stock-badge,
.order-stock-badge,
.seo-stock{display:inline-flex !important;}
.catalog-stock-badge.in-stock,
.cart-stock-badge.in-stock,
.order-stock-badge.in-stock,
.seo-stock.in-stock{
  color:#1b6b37;
  background:#ebf7ef;
  border:1px solid #b8dfc3;
}
.catalog-stock-badge,
.cart-stock-badge,
.order-stock-badge,
.seo-stock{
  align-items:center;justify-content:center;
  width:max-content;
  padding:4px 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}
.catalog-stock-badge{margin:0 0 10px;}
.cart-stock-badge{margin:5px 0 7px;}
.order-stock-badge{margin-left:8px;}
.seo-stock{margin:0 0 16px;}


/* ==========================================================
   ALTA V116 — research directory bottom-section cleanup
   ========================================================== */
.seo-hub-info{
  max-width:860px !important;
  margin:42px auto 54px !important;
  padding:34px 38px !important;
  border:1px solid #e5ded3 !important;
  background:#fff !important;
  box-shadow:0 8px 28px rgba(40,31,17,.035);
}
.seo-hub-info h2{
  margin:0 0 14px !important;
  font-size:29px !important;
  line-height:1.15 !important;
}
.seo-hub-info p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.75 !important;
}

footer.order-footer.research-footer{
  display:block !important;
  grid-template-columns:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#f4f0e9 !important;
  border-top:1px solid #dfd7ca !important;
  color:#625b53 !important;
  text-align:center !important;
}

.research-footer-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  width:min(920px,calc(100% - 40px)) !important;
  margin:0 auto !important;
  padding:30px 20px 32px !important;
}

.research-footer-brand{
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.22em !important;
  color:#111 !important;
}

.research-footer-note{
  font-size:11px !important;
  line-height:1.5 !important;
  color:#756e66 !important;
}

.research-footer-links{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  margin-top:4px !important;
}

.research-footer-links a{
  color:#6e5a32 !important;
  font-size:11px !important;
  font-weight:600 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.research-footer-links a:hover{
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

.research-footer-links span{
  color:#b6aa98 !important;
  font-size:9px !important;
}

@media(max-width:620px){
  .seo-hub-info{
    margin:30px auto 36px !important;
    padding:25px 22px !important;
  }
  .seo-hub-info h2{font-size:25px !important;}
  .research-footer-inner{
    width:min(100% - 24px,920px) !important;
    padding:26px 12px 28px !important;
  }
  .research-footer-links{
    gap:7px !important;
  }
}


/* ==========================================================
   ALTA V117 — molecular formula subscripts on product pages
   ========================================================== */
.seo-detail strong sub,
#modalFormula sub{
  font-size:.68em !important;
  line-height:0 !important;
  vertical-align:-0.28em !important;
  position:relative;
}
.seo-detail strong sup,
#modalFormula sup{
  font-size:.68em !important;
  line-height:0 !important;
  vertical-align:.5em !important;
}


/* ==========================================================
   ALTA V118 — clickable vial photos + product names
   ========================================================== */
.product-image-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  text-decoration:none !important;
  color:inherit !important;
}
.product-image-link .catalog-vial-v7{
  cursor:pointer;
}
.product-name-link{
  color:inherit !important;
  text-decoration:none !important;
}
.product-name-link:hover{
  text-decoration:underline !important;
  text-underline-offset:4px;
}


/* ==========================================================
   ALTA V119 — individual product page footer cleanup
   ========================================================== */
.seo-product-page .seo-copy-section{
  margin-bottom:54px !important;
}
.seo-product-page footer.order-footer.research-footer{
  margin-top:0 !important;
}
@media(max-width:620px){
  .seo-product-page .seo-copy-section{
    margin-bottom:36px !important;
  }
}


/* ==========================================================
   ALTA V120 — uniform detail-box backgrounds + 4 related cards
   ========================================================== */
.seo-content-grid .seo-content-block{
  background:#fbf7ee !important;
  border-color:#e8ddca !important;
}
.seo-related-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}
.seo-related-card{
  padding:16px !important;
}
.seo-related-card img{
  height:142px !important;
}
@media(max-width:1000px){
  .seo-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:620px){
  .seo-related-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===== ALTA V121 — product page alignment/header nav refinements ===== */
.seo-product-header{grid-template-columns:minmax(220px,260px) 1fr minmax(110px,220px);column-gap:22px;padding:0 28px;}
.seo-product-header>a:first-child{display:flex;align-items:center;}
.seo-product-header nav{justify-self:center;justify-content:center;gap:28px;flex-wrap:wrap;}
.seo-product-header nav a,.seo-cart-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;}
.seo-cart-link{justify-self:end;text-align:right;}
.seo-copy-section{max-width:none;width:100%;margin:34px 0 0;padding:34px;box-sizing:border-box;}
@media(max-width:1024px){.seo-product-header{grid-template-columns:minmax(180px,220px) 1fr minmax(88px,180px);column-gap:16px;padding:0 22px}.seo-product-header nav{gap:22px}}
@media(max-width:850px){.seo-copy-section{padding:24px}.seo-product-header{padding:0 20px}}


/* ===== ALTA V122 — remove duplicate SHOP in product-page header ===== */
.seo-product-header{grid-template-columns:minmax(220px,260px) 1fr;column-gap:24px;}
.seo-product-header nav{justify-self:end;justify-content:flex-end;gap:28px;}
.seo-cart-link{display:none !important;}
@media(max-width:1024px){.seo-product-header{grid-template-columns:minmax(180px,220px) 1fr;column-gap:18px}.seo-product-header nav{gap:22px}}
@media(max-width:850px){.seo-product-header{grid-template-columns:1fr}.seo-product-header>a:first-child{justify-content:center}.seo-product-header nav{justify-self:center;justify-content:center}}


/* ==========================================================
   ALTA V123 — mobile hero CTA centering + larger single-row vial lineup
   Keep featured mobile vials in one row, make them larger, and center
   the Shop Research Peptides button on the homepage.
   ========================================================== */
@media (max-width:760px){
  .hero-copy{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .hero .btn,
  .hero .btn.btn-primary{
    width:100% !important;
    max-width:340px !important;
    margin:0 auto !important;
    align-self:center !important;
    display:flex !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .hero-vials-v5{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:10px 8px 4px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .hero-vials-v5 picture{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .hero-vials-v5 picture img,
  .hero-vials-v5 > img{
    content:url("alta-vials-v95-seven-mobile.png") !important;
    display:block !important;
    width:112% !important;
    max-width:112% !important;
    height:auto !important;
    margin:0 auto !important;
    transform:translateX(-1%) !important;
    object-fit:contain !important;
  }
}

@media (max-width:430px){
  .hero-copy{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .hero .btn,
  .hero .btn.btn-primary{
    max-width:calc(100% - 40px) !important;
    width:calc(100% - 40px) !important;
  }

  .hero-vials-v5{
    padding:8px 6px 4px !important;
  }

  .hero-vials-v5 picture img,
  .hero-vials-v5 > img{
    width:116% !important;
    max-width:116% !important;
    transform:translateX(-2%) !important;
  }
}
/* Product image magnifier */
.product-zoom-frame{position:relative;overflow:hidden;touch-action:none}
.product-zoom-image{transition:transform .22s ease;transform-origin:center;cursor:zoom-in;will-change:transform;user-select:none;-webkit-user-drag:none}
.product-zoom-image.is-zoomed{cursor:grab}
.product-zoom-image.is-dragging{cursor:grabbing;transition:none}
.product-zoom-controls{position:absolute;z-index:8;right:16px;bottom:16px;display:flex;align-items:center;border:1px solid rgba(29,26,22,.2);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(25,20,15,.14);overflow:hidden;touch-action:manipulation}
.product-zoom-controls button{width:44px;height:42px;border:0;border-right:1px solid rgba(29,26,22,.13);background:transparent;color:#171512;font:700 21px/1 "DM Sans",sans-serif;cursor:pointer}
.product-zoom-controls button:last-child{border-right:0}
.product-zoom-controls button:hover{background:#f4ead6}
.product-zoom-controls button:disabled{opacity:.35;cursor:not-allowed}
.product-zoom-controls .product-zoom-reset{font-size:25px;line-height:1}
@media(max-width:700px){.product-zoom-controls{right:10px;bottom:10px}.product-zoom-controls button{width:40px;height:40px}}
