/*
Theme Name: Vero Labs
Theme URI: https://verolabs.co.nz
Author: Vero Labs
Description: Custom WooCommerce storefront for Vero Labs - research-grade peptides (New Zealand). Video hero, verified reviews wall, featured products, brand-styled shop. For research use only.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
WC requires at least: 6.0
WC tested up to: 10.9
Text Domain: vero-labs
*/

:root{
    --white:#FFFFFF;
    --cream:#F7F1E9;
    --sand:#E8D5C4;
    --sand-2:#EFE3D6;
    --terra:#C86A4D;
    --terra-deep:#A9502F;
    --terra-tint:#F0DACE;
    --ink:#3A3A3A;
    --char:#26231F;
    --char-2:#1B1916;
    --sage:#7A8465;
    --sage-deep:#5E6650;
    --line:#E4D5C6;
    --line-dark:#3A352F;
    --muted:#8B8074;
    --muted-dark:#B7AB9C;
    --ok:#6B7657;
    --radius:5px;
    --maxw:1180px;
    --shadow:0 16px 40px -20px rgba(38,35,31,.35);
    --shadow-sm:0 6px 18px -10px rgba(38,35,31,.3);
    --display:'Anton','Arial Narrow',sans-serif;
    --body:'Manrope',system-ui,-apple-system,sans-serif;
    --mono:'IBM Plex Mono',ui-monospace,monospace;
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;font-family:var(--body);color:var(--ink);background:var(--cream);
    line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
  h1,h2,h3{margin:0;line-height:1;text-wrap:balance;}
  p{margin:0;}
  ul{margin:0;padding:0;list-style:none;}
  :focus-visible{outline:3px solid var(--terra);outline-offset:2px;border-radius:2px;}

  /* ---------- Typography helpers ---------- */
  .display{font-family:var(--display);text-transform:uppercase;font-weight:400;letter-spacing:.01em;line-height:.98;}
  .eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);font-weight:500;}
  .eyebrow.on-dark{color:var(--sand);}
  .lead{font-size:1.15rem;color:var(--muted);font-weight:400;max-width:60ch;}
  .lead.on-dark{color:var(--muted-dark);}

  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,48px);}
  section{scroll-margin-top:90px;}
  .pad{padding:clamp(64px,9vw,120px) 0;}
  .pad-sm{padding:clamp(48px,6vw,80px) 0;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.55em;font-weight:700;font-size:.94rem;
    padding:.85em 1.5em;border-radius:var(--radius);letter-spacing:.01em;
    transition:transform .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease;
    line-height:1;white-space:nowrap;
  }
  .btn svg{width:1.05em;height:1.05em;}
  .btn-primary{background:var(--terra);color:#fff;box-shadow:var(--shadow-sm);}
  .btn-primary:hover{background:var(--terra-deep);transform:translateY(-2px);}
  .btn-dark{background:var(--char);color:#fff;}
  .btn-dark:hover{background:#000;transform:translateY(-2px);}
  .btn-outline{border:1.5px solid currentColor;color:var(--char);}
  .btn-outline:hover{background:var(--char);color:#fff;border-color:var(--char);transform:translateY(-2px);}
  .btn-outline.on-dark{color:#fff;}
  .btn-outline.on-dark:hover{background:#fff;color:var(--char);border-color:#fff;}
  .btn-ghost{color:var(--terra);font-weight:700;padding:.6em 0;}
  .btn-ghost .arw{transition:transform .18s ease;}
  .btn-ghost:hover .arw{transform:translateX(4px);}

  /* ---------- Header ---------- */
  .site-header{
    position:sticky;top:0;z-index:80;background:rgba(247,241,233,.86);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid transparent;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease;
  }
  .site-header.scrolled{box-shadow:0 4px 20px -12px rgba(38,35,31,.35);border-color:var(--line);}
  .header-inner{display:flex;align-items:center;gap:1.5rem;height:72px;}
  .brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0;}
  .brand .mark{width:38px;height:38px;flex-shrink:0;}
  .brand .word{font-family:var(--display);font-size:1.4rem;letter-spacing:.02em;line-height:1;color:var(--char);}
  .brand .word b{color:var(--terra);font-weight:400;}
  .brand .tag{font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;color:var(--muted);display:block;margin-top:2px;}

  .main-nav{display:flex;align-items:center;gap:.35rem;margin-left:auto;}
  .main-nav a{
    font-size:.9rem;font-weight:600;padding:.55em .8em;border-radius:var(--radius);color:var(--ink);
    transition:color .15s ease,background .15s ease;position:relative;
  }
  .main-nav a:hover{color:var(--terra);}
  .main-nav a.active{color:var(--terra);}
  .main-nav a.active::after{
    content:"";position:absolute;left:.8em;right:.8em;bottom:.28em;height:2px;background:var(--terra);border-radius:2px;
  }

  .header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
  .search-box{display:flex;align-items:center;gap:.5rem;background:var(--white);border:1px solid var(--line);
    border-radius:var(--radius);padding:.45em .7em;transition:border-color .15s ease,box-shadow .15s ease;width:180px;}
  .search-box:focus-within{border-color:var(--terra);box-shadow:0 0 0 3px var(--terra-tint);}
  .search-box svg{width:16px;height:16px;color:var(--muted);flex-shrink:0;}
  .search-box input{border:none;outline:none;background:none;font-family:var(--body);font-size:.86rem;width:100%;color:var(--ink);}
  .search-box input::placeholder{color:var(--muted);}

  .icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);
    color:var(--char);transition:background .15s ease,color .15s ease;position:relative;}
  .icon-btn:hover{background:var(--sand-2);color:var(--terra);}
  .icon-btn svg{width:20px;height:20px;}
  .cart-badge{position:absolute;top:2px;right:2px;background:var(--terra);color:#fff;font-family:var(--mono);
    font-size:.6rem;font-weight:600;min-width:16px;height:16px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 3px;}
  .cart-badge:empty,.cart-badge[data-count="0"]{display:none;}

  .menu-toggle{display:none;}

  /* ---------- Views ---------- */
  .view{display:none;animation:fade .4s ease;}
  .view.active{display:block;}
  @keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

  /* ---------- Hero ---------- */
  .hero{position:relative;background:var(--char);color:#fff;overflow:hidden;}
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
  .hero::before{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg, rgba(27,25,22,.95) 0%, rgba(27,25,22,.8) 42%, rgba(27,25,22,.56) 100%);
  }
  .hero::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(to top, rgba(27,25,22,.75) 0%, rgba(27,25,22,0) 34%);
  }
  .hero-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,72px);align-items:center;
    padding:clamp(96px,12vw,150px) 0 clamp(80px,10vw,120px);position:relative;z-index:2;}
  .hero-copy{max-width:640px;}
  .hero h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.9rem,7vw,5.4rem);color:#fff;letter-spacing:.005em;margin-bottom:.35em;}
  .hero h1 .hl{color:var(--terra);}
  .hero .sub{font-size:clamp(1.02rem,1.6vw,1.22rem);color:var(--muted-dark);max-width:52ch;margin-bottom:2rem;line-height:1.6;}
  .hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:2.4rem;}
  .hero-trust{display:flex;flex-wrap:wrap;gap:1.4rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:var(--sand);text-transform:uppercase;}
  .hero-trust span{display:flex;align-items:center;gap:.45rem;}
  .hero-trust svg{width:15px;height:15px;color:var(--terra);}
  .hero-visual{position:relative;}
  .hero-photo{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-dark);box-shadow:0 40px 80px -40px rgba(0,0,0,.7);aspect-ratio:4/5;}
  .hero-photo img{width:100%;height:100%;object-fit:cover;}
  .hero-chip{position:absolute;left:-18px;bottom:26px;background:var(--cream);color:var(--char);padding:.9rem 1.1rem;border-radius:var(--radius);box-shadow:var(--shadow);max-width:220px;}
  .hero-chip .k{font-family:var(--display);font-size:2rem;color:var(--terra);line-height:1;}
  .hero-chip .l{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:2px;}
  .hero-hex{position:absolute;top:-30px;right:-24px;width:130px;height:130px;opacity:.9;filter:drop-shadow(0 10px 24px rgba(0,0,0,.5));}

  /* ---------- Trust strip ---------- */
  .trust-strip{background:var(--char-2);border-top:1px solid var(--line-dark);position:relative;z-index:2;}
  .trust-strip .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem 2rem;padding:1.3rem 0;}
  .trust-strip .item{display:flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
    text-transform:uppercase;color:var(--sand);}
  .trust-strip svg{width:18px;height:18px;color:var(--terra);flex-shrink:0;}

  /* ---------- Section heading ---------- */
  .sec-head{max-width:640px;margin-bottom:clamp(38px,5vw,60px);}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .sec-head h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(2rem,4.4vw,3.3rem);color:var(--char);margin:.5rem 0 .6rem;}
  .sec-head p{color:var(--muted);font-size:1.05rem;}

  /* ---------- Benefits ---------- */
  .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
  .benefit{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2.1rem 1.8rem;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
  .benefit:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--terra-tint);}
  .benefit .ico{width:52px;height:52px;border-radius:var(--radius);background:var(--terra-tint);color:var(--terra-deep);
    display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;}
  .benefit .ico svg{width:26px;height:26px;}
  .benefit h3{font-family:var(--display);text-transform:uppercase;font-size:1.35rem;color:var(--char);margin-bottom:.5rem;letter-spacing:.01em;}
  .benefit p{color:var(--muted);font-size:.95rem;}

  /* ---------- Services grid ---------- */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
  .svc-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);
    display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;}
  .svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
  .svc-card .ph{aspect-ratio:16/10;overflow:hidden;position:relative;background:var(--sand);}
  .svc-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  .svc-card:hover .ph img{transform:scale(1.05);}
  .svc-card .ph .num{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;
    background:rgba(38,35,31,.82);color:var(--sand);padding:.3em .6em;border-radius:3px;}
  .svc-card .body{padding:1.5rem 1.5rem 1.7rem;flex:1;display:flex;flex-direction:column;}
  .svc-card h3{font-family:var(--display);text-transform:uppercase;font-size:1.4rem;color:var(--char);margin-bottom:.5rem;letter-spacing:.01em;}
  .svc-card p{color:var(--muted);font-size:.93rem;flex:1;margin-bottom:1rem;}

  /* ---------- How it works ---------- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:step;}
  .step{position:relative;padding-top:1.4rem;}
  .step .n{font-family:var(--display);font-size:2.6rem;color:var(--terra);line-height:1;margin-bottom:.5rem;}
  .step h3{font-family:var(--body);font-weight:800;font-size:1.08rem;color:var(--char);margin-bottom:.4rem;text-transform:none;}
  .step p{color:var(--muted);font-size:.9rem;}
  .step::before{content:"";position:absolute;top:0;left:0;width:44px;height:3px;background:var(--sand);}

  /* ---------- Testimonials ---------- */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
  .quote{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.9rem 1.7rem;display:flex;flex-direction:column;gap:1rem;}
  .quote .stars{color:var(--terra);letter-spacing:.15em;font-size:.95rem;}
  .quote p{font-size:1rem;color:var(--ink);line-height:1.6;flex:1;}
  .quote .who{display:flex;align-items:center;gap:.75rem;}
  .quote .av{width:42px;height:42px;border-radius:50%;background:var(--char);color:var(--sand);font-family:var(--display);
    display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;}
  .quote .who b{display:block;font-weight:700;font-size:.92rem;color:var(--char);}
  .quote .who span{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;}

  /* ---------- About preview ---------- */
  .about{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px,5vw,64px);align-items:center;}
  .about-img{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:5/4;border:1px solid var(--line);}
  .about-img img{width:100%;height:100%;object-fit:cover;}
  .about-stats{display:flex;gap:2rem;margin-top:1.6rem;flex-wrap:wrap;}
  .about-stats .s .k{font-family:var(--display);font-size:2.4rem;color:var(--terra);line-height:1;}
  .about-stats .s .l{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}

  /* ---------- CTA band ---------- */
  .cta-band{background:var(--terra);color:#fff;position:relative;overflow:hidden;}
  .cta-band::before{content:"";position:absolute;inset:0;opacity:.14;
    background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 0);background-size:26px 26px;}
  .cta-band .inner{position:relative;z-index:1;text-align:center;max-width:720px;margin:0 auto;}
  .cta-band h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(2rem,4.6vw,3.4rem);margin-bottom:.6rem;color:#fff;}
  .cta-band p{color:rgba(255,255,255,.9);font-size:1.1rem;margin-bottom:1.8rem;}
  .cta-band .btn-light{background:#fff;color:var(--terra-deep);}
  .cta-band .btn-light:hover{background:var(--char);color:#fff;transform:translateY(-2px);}

  /* ---------- Page hero (inner pages) ---------- */
  .page-hero{background:var(--char);color:#fff;position:relative;overflow:hidden;padding:clamp(60px,8vw,96px) 0 clamp(48px,6vw,72px);}
  .page-hero::before{content:"";position:absolute;inset:0;opacity:.4;
    background-image:radial-gradient(circle at 1px 1px,rgba(200,106,77,.4) 1px,transparent 0);background-size:32px 32px;
    -webkit-mask-image:linear-gradient(110deg,#000,transparent 70%);mask-image:linear-gradient(110deg,#000,transparent 70%);}
  .page-hero .wrap{position:relative;z-index:1;}
  .page-hero h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.4rem,5.5vw,4.2rem);color:#fff;margin:.6rem 0 .7rem;}
  .page-hero p{color:var(--muted-dark);font-size:1.12rem;max-width:56ch;}
  .breadcrumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);}
  .breadcrumb a{color:var(--sand);}
  .breadcrumb a:hover{color:var(--terra);}

  /* ---------- RUO banner ---------- */
  .ruo-banner{background:var(--sand-2);border:1px solid var(--line);border-radius:var(--radius);
    padding:1rem 1.3rem;display:flex;gap:.9rem;align-items:flex-start;margin-bottom:2.2rem;}
  .ruo-banner svg{width:22px;height:22px;color:var(--terra-deep);flex-shrink:0;margin-top:2px;}
  .ruo-banner p{font-size:.88rem;color:var(--ink);}
  .ruo-banner b{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--char);}

  /* ---------- Shop ---------- */
  .shop-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:2rem;}
  .filters{display:flex;flex-wrap:wrap;gap:.5rem;}
  .chip{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:.5em 1em;
    border:1px solid var(--line);border-radius:100px;background:var(--white);color:var(--ink);transition:all .15s ease;}
  .chip:hover{border-color:var(--terra);color:var(--terra);}
  .chip.active{background:var(--char);color:#fff;border-color:var(--char);}
  .result-count{font-family:var(--mono);font-size:.78rem;color:var(--muted);letter-spacing:.04em;}

  .product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;}
  .product{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden;
    display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
  .product:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--terra-tint);}
  .product .vial-wrap{background:linear-gradient(160deg,var(--sand-2),var(--sand));aspect-ratio:1/1;display:flex;
    align-items:center;justify-content:center;position:relative;padding:1rem;}
  .product .vbadge{position:absolute;top:10px;left:10px;font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;
    text-transform:uppercase;background:var(--char);color:var(--sand);padding:.3em .55em;border-radius:3px;}
  .product .purity{position:absolute;top:10px;right:10px;font-family:var(--mono);font-size:.6rem;letter-spacing:.05em;
    background:var(--sage);color:#fff;padding:.3em .55em;border-radius:3px;}
  .product .p-body{padding:1.1rem 1.1rem 1.3rem;display:flex;flex-direction:column;flex:1;}
  .product .p-cat{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terra);margin-bottom:.35rem;}
  .product h3{font-family:var(--body);font-weight:800;font-size:1.05rem;color:var(--char);margin-bottom:.25rem;text-transform:none;line-height:1.2;}
  .product .sku{font-family:var(--mono);font-size:.68rem;color:var(--muted);margin-bottom:.7rem;letter-spacing:.03em;}
  .product .p-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;}
  .product .price{font-family:var(--display);font-size:1.55rem;color:var(--char);line-height:1;}
  .product .price small{font-family:var(--mono);font-size:.6rem;color:var(--muted);letter-spacing:.05em;display:block;text-transform:uppercase;font-weight:400;}
  .add-btn{background:var(--char);color:#fff;border-radius:var(--radius);width:40px;height:40px;display:flex;align-items:center;
    justify-content:center;transition:background .16s ease,transform .16s ease;flex-shrink:0;}
  .add-btn:hover{background:var(--terra);transform:scale(1.06);}
  .add-btn svg{width:18px;height:18px;}
  .add-btn.added{background:var(--sage);}
  .no-results{grid-column:1/-1;text-align:center;padding:3rem 1rem;color:var(--muted);font-family:var(--mono);}

  .vial-svg{width:88px;height:auto;filter:drop-shadow(0 8px 14px rgba(38,35,31,.25));}

  /* ---------- Partner page ---------- */
  .partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
  .partner-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:2.4rem;display:flex;flex-direction:column;}
  .partner-card.dark{background:var(--char);color:#fff;border-color:var(--char);}
  .partner-card .tagp{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:.8rem;}
  .partner-card h3{font-family:var(--display);text-transform:uppercase;font-size:2rem;margin-bottom:.7rem;color:var(--char);}
  .partner-card.dark h3{color:#fff;}
  .partner-card > p{color:var(--muted);margin-bottom:1.4rem;}
  .partner-card.dark > p{color:var(--muted-dark);}
  .feat-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.8rem;flex:1;}
  .feat-list li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;}
  .feat-list svg{width:19px;height:19px;color:var(--terra);flex-shrink:0;margin-top:3px;}
  .partner-card.dark .feat-list svg{color:var(--sand);}
  .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:clamp(40px,5vw,64px);}
  .metric{text-align:center;padding:1.6rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);}
  .metric .k{font-family:var(--display);font-size:2.8rem;color:var(--terra);line-height:1;}
  .metric .l{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;}

  /* ---------- FAQ ---------- */
  .faq{max-width:820px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:1rem;
    padding:1.4rem 0;font-weight:700;font-size:1.08rem;color:var(--char);}
  .faq-q .ic{width:26px;height:26px;flex-shrink:0;border:1.5px solid var(--terra);border-radius:50%;color:var(--terra);
    display:flex;align-items:center;justify-content:center;transition:transform .25s ease,background .2s ease,color .2s ease;font-size:1.1rem;}
  .faq-item.open .faq-q .ic{background:var(--terra);color:#fff;transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-a p{padding:0 0 1.4rem;color:var(--muted);font-size:.98rem;max-width:70ch;}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start;}
  .contact-info .info-item{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--line);}
  .contact-info .info-item:last-child{border-bottom:none;}
  .contact-info .ic{width:44px;height:44px;border-radius:var(--radius);background:var(--sand-2);color:var(--terra-deep);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .contact-info .ic svg{width:21px;height:21px;}
  .contact-info .lbl{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
  .contact-info .val{font-weight:700;color:var(--char);font-size:1.02rem;}
  .contact-info .val a:hover{color:var(--terra);}
  .socials{display:flex;gap:.7rem;margin-top:1.5rem;}
  .socials a{width:44px;height:44px;border-radius:var(--radius);border:1px solid var(--line);display:flex;align-items:center;
    justify-content:center;color:var(--char);transition:all .16s ease;}
  .socials a:hover{background:var(--char);color:#fff;transform:translateY(-3px);}
  .socials svg{width:20px;height:20px;}

  .form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.8rem,3vw,2.6rem);box-shadow:var(--shadow-sm);}
  .field{margin-bottom:1.2rem;}
  .field label{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--char);margin-bottom:.5rem;font-weight:500;}
  .field input,.field textarea,.field select{width:100%;font-family:var(--body);font-size:.98rem;padding:.85em 1em;
    border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease;}
  .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px var(--terra-tint);background:#fff;}
  .field textarea{resize:vertical;min-height:130px;}
  .form-note{font-size:.8rem;color:var(--muted);margin-top:1rem;}
  .form-success{display:none;background:var(--sage);color:#fff;padding:1rem 1.2rem;border-radius:var(--radius);margin-bottom:1.4rem;font-weight:600;font-size:.95rem;}
  .form-success.show{display:block;}

  /* ---------- Footer ---------- */
  .site-footer{background:var(--char);color:var(--muted-dark);padding-top:clamp(56px,7vw,88px);}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:3rem;}
  .footer-grid .brand .word{color:#fff;}
  .footer-brand p{font-size:.92rem;margin:1.1rem 0;max-width:34ch;color:var(--muted-dark);}
  .footer-col h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);margin:0 0 1.1rem;font-weight:500;}
  .footer-col a,.footer-col p{display:block;color:var(--muted-dark);font-size:.92rem;padding:.32em 0;transition:color .15s ease;}
  .footer-col a:hover{color:var(--terra);}
  .footer-social{display:flex;gap:.6rem;margin-top:.4rem;}
  .footer-social a{width:38px;height:38px;border-radius:var(--radius);border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;padding:0;}
  .footer-social a:hover{background:var(--terra);border-color:var(--terra);color:#fff;}
  .footer-social svg{width:18px;height:18px;}
  .footer-bottom{border-top:1px solid var(--line-dark);padding:1.6rem 0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;}
  .footer-bottom p{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted-dark);}
  .footer-ruo{background:var(--char-2);border-top:1px solid var(--line-dark);}
  .footer-ruo .wrap{padding:1rem 0;font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;color:var(--muted-dark);text-align:center;line-height:1.7;}

  /* ---------- Cart drawer ---------- */
  .overlay-bg{position:fixed;inset:0;background:rgba(27,25,22,.55);backdrop-filter:blur(2px);opacity:0;visibility:hidden;
    transition:opacity .25s ease,visibility .25s ease;z-index:90;}
  .overlay-bg.show{opacity:1;visibility:visible;}
  .cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(400px,90vw);background:var(--cream);z-index:95;
    transform:translateX(100%);visibility:hidden;pointer-events:none;
    transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(0,0,0,.4);}
  .cart-drawer.show{transform:translateX(0);visibility:visible;pointer-events:auto;}
  .cart-head{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 1.5rem;border-bottom:1px solid var(--line);}
  .cart-head h3{font-family:var(--display);text-transform:uppercase;font-size:1.4rem;color:var(--char);}
  .cart-items{flex:1;overflow-y:auto;padding:1rem 1.5rem;}
  .cart-empty{text-align:center;color:var(--muted);font-family:var(--mono);font-size:.85rem;padding:3rem 1rem;}
  .cart-line{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--line);align-items:center;}
  .cart-line .cl-vial{width:44px;height:44px;background:var(--sand);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .cart-line .cl-vial svg{width:26px;}
  .cart-line .cl-info{flex:1;min-width:0;}
  .cart-line .cl-info b{font-size:.9rem;color:var(--char);display:block;font-weight:700;}
  .cart-line .cl-info span{font-family:var(--mono);font-size:.72rem;color:var(--muted);}
  .cart-line .cl-qty{display:flex;align-items:center;gap:.4rem;}
  .cart-line .cl-qty button{width:24px;height:24px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--char);font-weight:700;}
  .cart-line .cl-qty button:hover{border-color:var(--terra);color:var(--terra);}
  .cart-line .cl-qty span{font-family:var(--mono);font-size:.85rem;min-width:18px;text-align:center;}
  .cart-foot{padding:1.3rem 1.5rem;border-top:1px solid var(--line);background:var(--white);}
  .cart-sub{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem;}
  .cart-sub .l{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
  .cart-sub .v{font-family:var(--display);font-size:1.8rem;color:var(--char);}
  .cart-foot .btn{width:100%;justify-content:center;}
  .cart-foot .fine{font-size:.72rem;color:var(--muted);text-align:center;margin-top:.7rem;font-family:var(--mono);letter-spacing:.03em;}

  /* ---------- Search overlay ---------- */
  .search-overlay{position:fixed;inset:0;background:rgba(27,25,22,.6);backdrop-filter:blur(4px);z-index:100;
    opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;padding-top:14vh;}
  .search-overlay.show{opacity:1;visibility:visible;}
  .search-panel{max-width:560px;margin:0 auto;background:var(--cream);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
  .search-panel .top{display:flex;align-items:center;gap:.7rem;padding:1.1rem 1.3rem;border-bottom:1px solid var(--line);}
  .search-panel .top svg{width:22px;height:22px;color:var(--terra);}
  .search-panel input{flex:1;border:none;background:none;outline:none;font-family:var(--body);font-size:1.1rem;color:var(--ink);}
  .search-results{max-height:50vh;overflow-y:auto;}
  .sr-item{display:flex;align-items:center;gap:.9rem;padding:.8rem 1.3rem;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s;}
  .sr-item:hover{background:var(--sand-2);}
  .sr-item .sv{width:36px;height:36px;background:var(--sand);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .sr-item .sv svg{width:22px;}
  .sr-item b{font-size:.92rem;color:var(--char);}
  .sr-item span{font-family:var(--mono);font-size:.72rem;color:var(--muted);display:block;}
  .sr-item .pr{margin-left:auto;font-family:var(--display);color:var(--terra);font-size:1.1rem;}
  .sr-empty{padding:2rem 1.3rem;text-align:center;color:var(--muted);font-family:var(--mono);font-size:.85rem;}

  /* ---------- Mobile menu ---------- */
  .mobile-menu{position:fixed;inset:0;top:72px;background:var(--cream);z-index:70;transform:translateX(100%);
    visibility:hidden;pointer-events:none;transition:transform .28s ease,visibility .28s;padding:1.5rem clamp(20px,5vw,48px);overflow-y:auto;}
  .mobile-menu.show{transform:translateX(0);visibility:visible;pointer-events:auto;}
  .mobile-menu a{display:block;font-family:var(--display);text-transform:uppercase;font-size:1.7rem;color:var(--char);
    padding:.7rem 0;border-bottom:1px solid var(--line);letter-spacing:.01em;}
  .mobile-menu a.active{color:var(--terra);}
  .mobile-menu .m-search{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.7em 1em;margin-bottom:1.5rem;}
  .mobile-menu .m-search input{border:none;outline:none;background:none;flex:1;font-family:var(--body);font-size:1rem;}
  .mobile-menu .m-search svg{width:18px;color:var(--muted);}

  /* ---------- Reveal ---------- */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
  .reveal.in{opacity:1;transform:none;}

  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
    .reveal{opacity:1;transform:none;}
  }

  /* ---------- Featured products ---------- */
  .feat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,48px);}

  /* ---------- Compact hero (Shop / Kits pages) ---------- */
  .hero--compact .hero-grid{grid-template-columns:1fr;padding:clamp(60px,8vw,96px) 0;}
  .hero--compact .hero-copy{max-width:660px;}
  .hero--compact h1{font-size:clamp(2.6rem,6vw,4.4rem);}

  /* ---------- WP pagination (custom product grids) ---------- */
  .vero-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:clamp(32px,4vw,52px);}
  .vero-pagination .page-numbers{border:1.5px solid var(--line);border-radius:var(--radius);padding:.6em 1em;color:var(--char);font-weight:700;background:var(--white);text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease;line-height:1;}
  .vero-pagination a.page-numbers:hover{background:var(--char);color:#fff;border-color:var(--char);}
  .vero-pagination .page-numbers.current{background:var(--char);color:#fff;border-color:var(--char);}
  .vero-pagination .page-numbers.dots{border:none;background:none;}

  /* ---------- Pagination ---------- */
  .pagination{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-top:clamp(30px,4vw,48px);}
  .pagination:empty{display:none;}
  .page-btn{display:inline-flex;align-items:center;gap:.4em;font-weight:700;font-size:.9rem;padding:.72em 1.3em;
    border-radius:var(--radius);border:1.5px solid var(--char);color:var(--char);background:var(--white);transition:background .16s ease,color .16s ease,opacity .16s ease;}
  .page-btn:hover:not(:disabled){background:var(--char);color:#fff;}
  .page-btn:disabled{opacity:.35;cursor:not-allowed;}
  .page-info{font-family:var(--mono);font-size:.8rem;letter-spacing:.05em;color:var(--muted);white-space:nowrap;}

  /* ---------- Reviews marquee ---------- */
  .reviews-sec{overflow:hidden;}
  .reviews-viewport{position:relative;overflow:hidden;padding:10px 0;}
  .reviews-viewport + .reviews-viewport{margin-top:1.3rem;}
  .reviews-viewport::before,.reviews-viewport::after{content:"";position:absolute;top:0;bottom:0;width:11%;max-width:130px;z-index:2;pointer-events:none;}
  .reviews-viewport::before{left:0;background:linear-gradient(90deg,var(--cream),rgba(247,241,233,0));}
  .reviews-viewport::after{right:0;background:linear-gradient(270deg,var(--cream),rgba(247,241,233,0));}
  .reviews-row{display:flex;flex-wrap:nowrap;gap:1.2rem;width:max-content;padding:0 .6rem;animation:marquee 78s linear infinite;}
  .reviews-row.rev-reverse{animation-direction:reverse;animation-duration:92s;}
  .reviews-viewport:hover .reviews-row{animation-play-state:paused;}
  @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .review-card{flex:0 0 330px;width:330px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:1.5rem 1.5rem 1.3rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:var(--shadow-sm);white-space:normal;}
  .review-card .stars{color:var(--terra);letter-spacing:.14em;font-size:.92rem;}
  .review-card .rtext{font-size:.92rem;color:var(--ink);line-height:1.62;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;}
  .review-card .who{display:flex;align-items:center;gap:.7rem;margin-top:auto;padding-top:.3rem;}
  .review-card .av{width:40px;height:40px;border-radius:50%;background:var(--char);color:var(--sand);font-family:var(--display);
    display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
  .review-card .who b{display:block;font-weight:700;font-size:.9rem;color:var(--char);line-height:1.2;}
  .review-card .who span{font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:var(--muted);}
  .review-card .verified{margin-left:auto;align-self:center;font-family:var(--mono);font-size:.6rem;text-transform:uppercase;
    letter-spacing:.06em;color:var(--ok);display:flex;align-items:center;gap:.3rem;white-space:nowrap;}
  @media (prefers-reduced-motion:reduce){
    .reviews-viewport{overflow-x:auto;-webkit-overflow-scrolling:touch;}
    .reviews-row{animation:none;}
  }

  /* ---------- Responsive ---------- */
  @media (max-width:1000px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-visual{max-width:420px;}
    .benefits,.svc-grid,.quotes{grid-template-columns:repeat(2,1fr);}
    .product-grid{grid-template-columns:repeat(3,1fr);}
    .steps{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
    .about{grid-template-columns:1fr;}
  }
  @media (max-width:1080px){
    .main-nav,.search-box{display:none;}
    .menu-toggle{display:flex;}
  }
  @media (max-width:860px){
    .partner-grid,.contact-grid{grid-template-columns:1fr;}
    .metrics{grid-template-columns:1fr;}
  }
  @media (max-width:640px){
    .benefits,.svc-grid,.quotes,.product-grid,.steps{grid-template-columns:1fr;}
    .product-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr;}
    .hero-chip{left:8px;}
    .trust-strip .wrap{justify-content:flex-start;}
    .shop-bar{flex-direction:column;align-items:flex-start;}
  }
  @media (max-width:400px){
    .product-grid{grid-template-columns:1fr;}
  }

/* =========================================================
   WooCommerce integration - map WC markup to the brand cards
   ========================================================= */
.woocommerce .wrap, .woocommerce-page .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,48px);}
.woo-wrap{padding:clamp(40px,6vw,72px) 0;}
.woocommerce .woocommerce-result-count{font-family:var(--mono);font-size:.78rem;color:var(--muted);letter-spacing:.04em;}
.woocommerce .woocommerce-ordering select{font-family:var(--body);border:1px solid var(--line);border-radius:var(--radius);padding:.5em .8em;background:var(--white);}

.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin:1.5rem 0 0!important;padding:0;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;margin:0!important;float:none!important;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden;list-style:none;
  display:flex;flex-direction:column;padding:0;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--terra-tint);}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;}
.woocommerce ul.products li.product img{margin:0 0 0!important;border-radius:0;width:100%;aspect-ratio:1/1;object-fit:cover;background:linear-gradient(160deg,var(--sand-2),var(--sand));}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:1rem 1.1rem .2rem;font-family:var(--body);font-weight:800;font-size:1.02rem;color:var(--char);line-height:1.2;}
.woocommerce ul.products li.product .price{padding:.1rem 1.1rem 0;font-family:var(--display);font-size:1.5rem;color:var(--char);font-weight:400;}
.woocommerce ul.products li.product .price del{color:var(--muted);font-size:.9rem;font-family:var(--body);opacity:.7;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{margin:auto 1.1rem 1.2rem;background:var(--char);color:#fff;border-radius:var(--radius);font-weight:700;font-size:.9rem;padding:.7em 1.1em;text-align:center;transition:background .16s ease;}
.woocommerce ul.products li.product .button:hover{background:var(--terra);}
.woocommerce ul.products li.product .onsale{background:var(--terra);color:#fff;border-radius:100px;font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;min-height:auto;min-width:auto;padding:.35em .7em;top:10px;right:10px;left:auto;margin:0;}

/* pagination in brand style */
.woocommerce nav.woocommerce-pagination{margin-top:clamp(30px,4vw,48px);}
.woocommerce nav.woocommerce-pagination ul{border:none;display:flex;gap:.5rem;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin:0;overflow:visible;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:1.5px solid var(--line);border-radius:var(--radius);padding:.55em 1em;color:var(--char);font-weight:700;background:var(--white);}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--char);color:#fff;border-color:var(--char);}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--char);color:#fff;border-color:var(--char);}

/* generic WC buttons + notices */
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .button{
  background:var(--terra);color:#fff;border-radius:var(--radius);font-weight:700;font-family:var(--body);}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover{background:var(--terra-deep);color:#fff;}
.woocommerce button.button.alt,.woocommerce .single_add_to_cart_button{background:var(--char);}
.woocommerce button.button.alt:hover{background:var(--terra);}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--terra);}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--terra);}
.woocommerce span.onsale{background:var(--terra);}

/* single product page brand type */
.woocommerce div.product .product_title{font-family:var(--display);text-transform:uppercase;color:var(--char);font-size:clamp(2rem,4vw,3rem);}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--terra-deep);font-family:var(--display);font-size:2rem;}
.woocommerce .quantity input.qty{border:1px solid var(--line);border-radius:var(--radius);}

/* page hero used by WC archive header (added via theme) */
.wc-page-hero{background:var(--char);color:#fff;position:relative;overflow:hidden;padding:clamp(56px,8vw,92px) 0 clamp(44px,6vw,68px);}
.wc-page-hero::before{content:"";position:absolute;inset:0;opacity:.4;background-image:radial-gradient(circle at 1px 1px,rgba(200,106,77,.4) 1px,transparent 0);background-size:32px 32px;-webkit-mask-image:linear-gradient(110deg,#000,transparent 70%);mask-image:linear-gradient(110deg,#000,transparent 70%);}
.wc-page-hero .wrap{position:relative;z-index:1;}
.wc-page-hero h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.2rem,5vw,3.8rem);color:#fff;margin:.4rem 0 .5rem;}
.wc-page-hero p{color:var(--muted-dark);max-width:56ch;}

@media (max-width:1000px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);}}
@media (max-width:400px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr;}}

/* =========================================================
   WordPress structural glue (menus, real product images, content)
   ========================================================= */
.main-nav ul{list-style:none;margin:0;padding:0;}
.main-nav > ul{display:flex;align-items:center;gap:.35rem;}
.main-nav li{margin:0;list-style:none;}
.main-nav .current-menu-item > a,.main-nav .current_page_item > a,.main-nav .current-menu-parent > a{color:var(--terra);}
.mobile-menu ul{list-style:none;margin:0;padding:0;}
.mobile-menu ul li a{display:block;font-family:var(--display);text-transform:uppercase;font-size:1.7rem;color:var(--char);padding:.7rem 0;border-bottom:1px solid var(--line);}

/* Featured product cards use the real WooCommerce image */
.product .vial-wrap{position:relative;}
.product .vial-wrap.has-img{padding:0;}
.product .vial-wrap.has-img a{position:absolute;inset:0;display:block;}
.product .vial-wrap.has-img img{width:100%;height:100%;object-fit:cover;display:block;}
.product h3 a{color:inherit;text-decoration:none;}
.product .price ins{text-decoration:none;}
.product .price del{color:var(--muted);font-size:.7em;opacity:.7;margin-right:.3em;}

/* Basic page content typography */
.entry-content{font-size:1.05rem;line-height:1.75;color:var(--ink);}
.entry-content h2,.entry-content h3{font-family:var(--display);text-transform:uppercase;color:var(--char);margin:2rem 0 .8rem;}
.entry-content h2{font-size:1.9rem;}
.entry-content h3{font-size:1.4rem;}
.entry-content p{margin:0 0 1.1rem;}
.entry-content a{color:var(--terra-deep);text-decoration:underline;}
.entry-content ul,.entry-content ol{margin:0 0 1.1rem 1.3rem;}
.entry-content img{border-radius:var(--radius);height:auto;}

/* =========================================================
   Block-editor colour palette (the block pages were built with a
   theme-1..4 palette that my classic theme didn't define, so headings
   fell back to dark charcoal on dark sections = unreadable)
   ========================================================= */
:root{
  --wp--preset--color--theme-1:#F7F1E9; /* light — headings, mostly on dark sections */
  --wp--preset--color--theme-2:#26231F; /* deep charcoal ink */
  --wp--preset--color--theme-3:#C86A4D; /* terracotta accent */
  --wp--preset--color--theme-4:#32373C; /* dark slate (used as section backgrounds) */
}
.has-theme-1-color{color:var(--wp--preset--color--theme-1)!important;}
.has-theme-2-color{color:var(--wp--preset--color--theme-2)!important;}
.has-theme-3-color{color:var(--wp--preset--color--theme-3)!important;}
.has-theme-4-color{color:#B7AB9C!important;} /* theme-4 as TEXT = muted warm grey (readable on dark); as background it stays dark below */
.has-theme-1-background-color{background-color:var(--wp--preset--color--theme-1)!important;}
.has-theme-2-background-color{background-color:var(--wp--preset--color--theme-2)!important;}
.has-theme-3-background-color{background-color:var(--wp--preset--color--theme-3)!important;}
.has-theme-4-background-color{background-color:var(--wp--preset--color--theme-4)!important;}
/* Safety net: any heading/paragraph directly inside a dark-slate section stays light */
.has-theme-4-background-color .wp-block-heading,.has-theme-2-background-color .wp-block-heading{color:var(--wp--preset--color--theme-1)!important;}

/* =========================================================
   Prominent header Cart button
   ========================================================= */
.cart-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.62em 1.05em;border-radius:var(--radius);background:var(--terra);color:#fff;font-weight:700;font-size:.92rem;line-height:1;box-shadow:var(--shadow-sm);transition:background .16s ease,transform .16s ease;white-space:nowrap;}
.cart-btn:hover{background:var(--terra-deep);color:#fff;transform:translateY(-2px);}
.cart-btn svg{width:19px;height:19px;flex-shrink:0;}
.cart-btn .cart-badge{position:static;top:auto;right:auto;background:#fff;color:var(--terra-deep);min-width:20px;height:20px;border-radius:10px;font-family:var(--mono);font-size:.72rem;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 5px;}
.cart-btn .cart-badge[data-count="0"]{display:none;}
@media (max-width:560px){.cart-btn__label{display:none;}.cart-btn{padding:.55em .7em;}}

/* =========================================================
   Single product page — proper 2-column layout + brand styling
   ========================================================= */
.woocommerce div.product{margin-top:clamp(24px,4vw,40px);}
@media (min-width:820px){
  .woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:start;}
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary{width:auto!important;float:none!important;margin:0!important;}
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related,
  .woocommerce div.product .upsells{grid-column:1/-1;}
}
.woocommerce div.product .woocommerce-product-gallery{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--sand-2);}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:0;}
.woocommerce div.product .summary{padding:.25rem 0;}
.woocommerce div.product form.cart{margin:1.6rem 0;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;}
.woocommerce div.product form.cart .quantity input.qty{width:72px;padding:.75em;text-align:center;border:1px solid var(--line);border-radius:var(--radius);}
.woocommerce div.product .single_add_to_cart_button{background:var(--char);color:#fff;padding:.95em 2.2em;font-size:1rem;border-radius:var(--radius);font-weight:700;}
.woocommerce div.product .single_add_to_cart_button:hover{background:var(--terra);}
.woocommerce div.product .product_meta{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.78rem;letter-spacing:.03em;color:var(--muted);}
.woocommerce div.product .product_meta a{color:var(--terra-deep);}
/* tabs */
.woocommerce div.product .woocommerce-tabs{margin-top:clamp(2.5rem,5vw,4rem);}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line);padding:0;margin:0 0 1.8rem;display:flex;gap:.4rem;flex-wrap:wrap;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:none;border-radius:0;margin:0;padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;color:var(--muted);padding:.6em 1em;display:inline-block;border-bottom:2px solid transparent;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--terra);border-bottom-color:var(--terra);}
.woocommerce div.product .woocommerce-Tabs-panel h2{font-family:var(--display);text-transform:uppercase;color:var(--char);font-size:1.5rem;margin:0 0 1rem;}
/* related / upsells */
.woocommerce .related.products,.woocommerce .upsells.products{margin-top:clamp(3rem,6vw,5rem);}
.woocommerce .related.products>h2,.woocommerce .upsells.products>h2{font-family:var(--display);text-transform:uppercase;color:var(--char);font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:1.5rem;}
/* WooCommerce product grids: kill the leftover float clearfix that becomes a
   stray grid cell (was pushing related/loop products into column 2). */
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none!important;display:none!important;}
/* Hide Jetpack "Related" posts on product pages (backup to the PHP filter) */
.single-product .jp-relatedposts,.single-product #jp-relatedposts{display:none!important;}

/* =========================================================
   Block-page layout (Contact, FAQ, etc.) — readable width + full-bleed support
   ========================================================= */
/* Hide the Big Sky (WordPress.com AI) navbar baked into page content — our
   theme provides the real site header, so this is a duplicate second nav bar. */
.wpcom-ai-navbar-outer,.wpcom-ai-navbar-inner,.wpcom-ai-navbar-nav{display:none!important;}

/* WooCommerce "View cart" link (shown after an AJAX add-to-cart) as a clear button */
.product .added_to_cart{display:inline-flex;align-items:center;justify-content:center;background:var(--terra);color:#fff;font-family:var(--body);font-size:.72rem;font-weight:700;padding:.6em .8em;border-radius:var(--radius);text-decoration:none;white-space:nowrap;line-height:1;transition:background .15s ease;}
.product .added_to_cart:hover{background:var(--terra-deep);color:#fff;}
.product .p-foot{flex-wrap:wrap;gap:.4rem;}

/* =========================================================
   Email capture — footer signup band + welcome popup
   ========================================================= */
.vero-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none;}
.email-signup{background:var(--char);color:#fff;padding:clamp(46px,6vw,80px) 0;position:relative;overflow:hidden;}
.email-signup::before{content:"";position:absolute;inset:0;opacity:.4;background-image:radial-gradient(circle at 1px 1px,rgba(200,106,77,.4) 1px,transparent 0);background-size:30px 30px;-webkit-mask-image:linear-gradient(110deg,#000,transparent 65%);mask-image:linear-gradient(110deg,#000,transparent 65%);}
.email-signup__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,4vw,56px);flex-wrap:wrap;}
.email-signup__copy{max-width:500px;}
.email-signup__copy h2{font-size:clamp(1.9rem,4vw,3rem);color:#fff;margin:.4rem 0 .6rem;}
.email-signup__copy p{color:var(--muted-dark);font-size:1rem;}
.vero-subscribe{flex:1;min-width:280px;max-width:460px;}
.vero-subscribe__row{display:flex;gap:.6rem;flex-wrap:wrap;}
.vero-subscribe input[type=email]{flex:1;min-width:180px;border:1px solid var(--line-dark);border-radius:var(--radius);padding:.9em 1.1em;background:rgba(255,255,255,.06);color:#fff;font-family:var(--body);font-size:1rem;}
.vero-subscribe input[type=email]::placeholder{color:var(--muted-dark);}
.vero-subscribe input[type=email]:focus{outline:none;border-color:var(--terra);background:rgba(255,255,255,.1);}
.vero-subscribe .btn{white-space:nowrap;}
.vero-subscribe__msg{font-size:.88rem;margin-top:.7rem;min-height:1.1em;color:var(--sand);}
.vero-subscribe__msg.is-error{color:#F0A48C;}
.vero-subscribe__msg.is-success{color:#AEC98A;}

/* Two-step confirmation code entry */
.vero-verify{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.2rem;}
.vero-verify input[name=code]{flex:1;min-width:140px;border:1px solid var(--line-dark);border-radius:var(--radius);padding:.9em 1.1em;background:rgba(255,255,255,.06);color:#fff;font-family:var(--body);font-size:1.15rem;letter-spacing:.35em;text-align:center;}
.vero-verify input[name=code]::placeholder{color:var(--muted-dark);letter-spacing:normal;}
.vero-verify input[name=code]:focus{outline:none;border-color:var(--terra);background:rgba(255,255,255,.1);}
.vero-popup__box .vero-verify{flex-wrap:nowrap;}
.vero-popup__box .vero-verify input[name=code]{background:var(--white);border:1px solid var(--line);color:var(--ink);}
.vero-popup__box .vero-verify input[name=code]::placeholder{color:var(--muted);}

.vero-popup{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1.2rem;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s ease;}
.vero-popup.show{visibility:visible;opacity:1;}
.vero-popup__backdrop{position:absolute;inset:0;background:rgba(27,25,22,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.vero-popup__box{position:relative;z-index:1;background:var(--cream);border-radius:var(--radius);max-width:420px;width:100%;padding:clamp(1.8rem,5vw,2.6rem);box-shadow:var(--shadow);text-align:center;transform:translateY(14px);transition:transform .25s ease;}
.vero-popup.show .vero-popup__box{transform:none;}
.vero-popup__box h2{font-size:clamp(2rem,7vw,2.8rem);color:var(--char);margin:.5rem 0 .7rem;line-height:1;}
.vero-popup__box p{color:var(--muted);font-size:.96rem;margin-bottom:1.3rem;}
.vero-popup__box .vero-subscribe{max-width:none;margin:0 auto;min-width:0;}
.vero-popup__box input[type=email]{width:100%;border:1px solid var(--line);background:var(--white);color:var(--ink);margin-bottom:.7rem;}
.vero-popup__box input[type=email]::placeholder{color:var(--muted);}
.vero-popup__box .vero-subscribe__msg{color:var(--muted);}
.vero-popup__close{position:absolute;top:10px;right:12px;font-size:1.7rem;line-height:1;color:var(--muted);width:34px;height:34px;background:none;}
.vero-popup__close:hover{color:var(--char);}
.vero-popup__dismiss{margin-top:1rem;font-size:.82rem;color:var(--muted);text-decoration:underline;background:none;}
@media (max-width:760px){.email-signup__inner{flex-direction:column;align-items:flex-start;}}

.page-body{padding:clamp(36px,5vw,72px) 0;overflow-x:clip;}
.page-body > .entry-content{max-width:900px;margin:0 auto;padding:0 clamp(20px,5vw,48px);}
.page-body > .entry-content > *{margin-left:auto;margin-right:auto;}
.entry-content .alignwide{max-width:1220px;width:auto;}
.entry-content .alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.entry-content .alignfull > .wp-block-group__inner-container,
.entry-content .alignfull > .wp-block-cover__inner-container,
.entry-content .alignwide > .wp-block-group__inner-container{max-width:1220px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,5vw,48px);padding-right:clamp(20px,5vw,48px);}

/* =========================================================
   Constrain the WordPress custom logo + kill mobile overflow
   (a full-size site logo was blowing out the page width)
   ========================================================= */
html{overflow-x:clip;}
.brand .custom-logo,.brand img,.custom-logo-link img{height:44px!important;width:auto!important;max-width:180px!important;display:block;}
.brand{max-width:74vw;}

/* =========================================================
   AOV announcement bar + free-gift tag
   ========================================================= */
.vero-announce{
	background:#26231F;color:#E8D5C4;
	font-family:"IBM Plex Mono",ui-monospace,monospace;
	font-size:12.5px;letter-spacing:.02em;
	display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .9rem;
	padding:9px 16px;text-align:center;line-height:1.3;
}
.vero-announce .dot{color:#C86A4D;}
.vero-announce span:not(.dot){white-space:nowrap;}
@media (max-width:560px){
	.vero-announce{font-size:10.5px;padding:6px 10px;gap:.35rem .5rem;line-height:1.25;}
	.vero-announce .hide-mobile{display:none;}   /* keep it to one compact line */
}
.vero-gift-tag{
	display:inline-block;margin-left:.4rem;padding:.1rem .45rem;
	background:#C86A4D;color:#fff;border-radius:3px;
	font-family:"IBM Plex Mono",ui-monospace,monospace;
	font-size:10px;font-weight:600;letter-spacing:.06em;vertical-align:middle;
}

/* =========================================================
   Affiliate program section (Partner page)
   ========================================================= */
.vero-aff{background:#26231F;color:#E8D5C4;padding:70px 20px;}
.vero-aff__inner{max-width:1000px;margin:0 auto;}
.vero-aff .eyebrow{color:#C86A4D;}
.vero-aff h2.display{color:#F7F1E9;font-size:clamp(28px,5vw,46px);margin:.3rem 0 1rem;}
.vero-aff__lede{max-width:640px;font-size:16px;line-height:1.65;color:#CDBFAE;margin-bottom:2.4rem;}
.vero-aff__lede b{color:#F7F1E9;}
.vero-aff__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-bottom:2.8rem;}
.vero-aff__steps>div{border-top:2px solid #C86A4D;padding-top:.9rem;}
.vero-aff__steps span{font-family:"IBM Plex Mono",monospace;color:#C86A4D;font-size:13px;font-weight:600;}
.vero-aff__steps h4{color:#F7F1E9;font-size:17px;margin:.4rem 0 .3rem;}
.vero-aff__steps p{color:#B7AB9C;font-size:14px;line-height:1.5;margin:0;}
.vero-aff__cols{display:grid;grid-template-columns:1.3fr 1fr;gap:1.6rem;}
.vero-aff__cols form{background:#312D28;border:1px solid #45403a;border-radius:12px;padding:1.6rem;}
.vero-aff__cols h3{color:#F7F1E9;font-size:19px;margin:0 0 1rem;}
.vero-aff__cols .vero-aff__note{color:#B7AB9C;font-size:14px;margin:0 0 1rem;}
.vero-aff__cols input,.vero-aff__cols textarea{
	width:100%;box-sizing:border-box;margin-bottom:.7rem;padding:.75rem .9rem;
	background:#26231F;border:1px solid #4a453f;border-radius:7px;color:#F7F1E9;
	font-family:inherit;font-size:15px;
}
.vero-aff__cols input::placeholder,.vero-aff__cols textarea::placeholder{color:#8a8177;}
.vero-aff__cols input:focus,.vero-aff__cols textarea:focus{outline:none;border-color:#C86A4D;}
.vero-aff__cols .btn{width:100%;justify-content:center;margin-top:.3rem;}
.btn-outline{background:transparent;border:1.5px solid #C86A4D;color:#F7F1E9;}
.btn-outline:hover{background:#C86A4D;color:#fff;}
.vero-hp{position:absolute!important;left:-9999px!important;height:0!important;width:0!important;opacity:0!important;}
.vero-affiliate-form__msg,.vero-affiliate-stats__out{margin-top:.6rem;font-size:14px;min-height:1em;}
.is-success{color:#8fd19e;} .is-error{color:#e6a08f;}
.vero-aff__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:.4rem;}
.vero-aff__stats>div{background:#26231F;border-radius:8px;padding:.7rem .8rem;}
.vero-aff__stats span{display:block;color:#9a9187;font-size:11px;text-transform:uppercase;letter-spacing:.04em;}
.vero-aff__stats b{color:#F7F1E9;font-size:17px;}
@media (max-width:760px){
	.vero-aff__steps{grid-template-columns:1fr;gap:1rem;}
	.vero-aff__cols{grid-template-columns:1fr;}
	.vero-aff__stats{grid-template-columns:repeat(2,1fr);}
}

/* =========================================================
   "How did you hear about us?" survey (thank-you page)
   ========================================================= */
.vero-heard{
	background:#26231F;color:#E8D5C4;border-radius:14px;
	padding:1.8rem 1.6rem;margin:2rem 0;text-align:center;
}
.vero-heard .eyebrow{color:#C86A4D;}
.vero-heard h3{color:#F7F1E9;font-family:var(--display);text-transform:uppercase;font-size:clamp(1.2rem,3vw,1.6rem);margin:.4rem 0 .5rem;}
.vero-heard h3 b{color:#C86A4D;}
.vero-heard__sub{color:#B7AB9C;font-size:.95rem;margin:0 0 1.3rem;}
.vero-heard__form{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;}
.vero-heard__opt{
	background:#312D28;border:1px solid #4a453f;color:#F7F1E9;
	border-radius:999px;padding:.7em 1.3em;font-family:var(--body);font-size:.95rem;
	cursor:pointer;transition:background .15s,border-color .15s,transform .1s;
}
.vero-heard__opt:hover:not(:disabled){background:#C86A4D;border-color:#C86A4D;transform:translateY(-1px);}
.vero-heard__opt:disabled{opacity:.45;cursor:default;}
.vero-heard__opt.is-picked{background:#C86A4D;border-color:#C86A4D;opacity:1;}
.vero-heard__thanks{color:#E8D5C4;font-size:1rem;margin:.2rem 0 .8rem;}
.vero-heard__code{
	display:inline-block;border:2px dashed #C86A4D;border-radius:8px;
	padding:.7rem 1.6rem;font-family:var(--display);font-size:1.6rem;
	letter-spacing:3px;color:#F7F1E9;
}
@media (max-width:560px){ .vero-heard{padding:1.4rem 1rem;} .vero-heard__opt{font-size:.88rem;padding:.65em 1.05em;} }

/* =========================================================
   Mobile UX fixes (header search icon, menu scroll, product padding)
   ========================================================= */
.search-toggle{display:none;}                 /* desktop uses the full .search-box */
@media (max-width:1080px){ .search-toggle{display:inline-flex;align-items:center;justify-content:center;} }
.mobile-menu{overflow-y:auto;-webkit-overflow-scrolling:touch;}  /* scrolls if content is tall */

@media (max-width:640px){
	.single-product .wrap{padding-left:22px;padding-right:22px;}
	.single-product .woocommerce div.product{margin-top:1.1rem;}
	.single-product .woocommerce div.product .summary{padding-top:1.4rem;}
	.single-product .woocommerce div.product form.cart{margin:1.35rem 0;}
	.single-product .woocommerce div.product .product_meta{margin-top:1.4rem;}
}

/* ---------------------------------------------------------------------------
   Independent lab results — homepage proof band (two reports side by side)
   The report thumbnail is the anchor: showing the actual document beats any
   amount of copy about testing. Cards sit equal-width so neither result reads
   as the footnote to the other.
--------------------------------------------------------------------------- */
.lab-proof{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.lab-proof .sec-head{margin-bottom:clamp(30px,4.5vw,48px);}
.lab-proof .sec-head h2{color:var(--char);font-size:clamp(1.85rem,4vw,2.9rem);line-height:1.1;margin:.5rem 0 1rem;}
.lab-proof .sec-head p{color:var(--ink);max-width:64ch;margin:0 auto;line-height:1.7;}

.lab-proof__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(20px,3vw,34px);align-items:start;}

.lab-proof__card{display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:0 10px 30px rgba(38,35,31,.08);}

.lab-proof__doc{position:relative;display:block;background:#f4efe8;
  border-bottom:1px solid var(--line);overflow:hidden;max-height:290px;}
.lab-proof__doc img{display:block;width:100%;height:auto;transition:transform .4s ease;}
.lab-proof__doc:hover img{transform:scale(1.02);}
.lab-proof__docnote{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 11px;
  background:linear-gradient(to top,rgba(38,35,31,.92),rgba(38,35,31,0));
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}

.lab-proof__body{padding:clamp(18px,2.4vw,24px);display:flex;flex-direction:column;flex:1;}
.lab-proof__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;}
.lab-proof__head h3{margin:0;font-size:clamp(1.15rem,2.2vw,1.4rem);color:var(--char);font-weight:700;}
.lab-proof__badge{background:var(--terra-tint);color:var(--terra-deep);
  padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;}

.lab-proof__stats{display:flex;flex-wrap:wrap;gap:16px 26px;
  padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.lab-proof__stats b{display:block;font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:800;
  color:var(--terra-deep);line-height:1.1;font-variant-numeric:tabular-nums;}
.lab-proof__stats span{display:block;margin-top:5px;font-size:11.5px;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted);font-weight:600;}
.lab-proof__stats i{font-style:normal;text-transform:none;letter-spacing:0;opacity:.75;}

.lab-proof__note{font-size:13.5px;line-height:1.65;color:var(--ink);margin:16px 0 20px;flex:1;}

.lab-proof__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:auto;}
.lab-proof__verifybtn{display:inline-flex;align-items:center;gap:8px;
  background:var(--terra-tint);color:var(--terra-deep);border:1px solid var(--terra);
  padding:10px 16px;border-radius:7px;font-weight:700;font-size:14px;text-decoration:none;
  transition:background .2s ease, color .2s ease, transform .2s ease;}
.lab-proof__verifybtn:hover{background:var(--terra);color:#fff;transform:translateY(-1px);}
.lab-proof__verifybtn svg{flex:0 0 auto;}
.lab-proof__shoplink{font-size:14px;font-weight:600;color:var(--char);text-decoration:none;
  border-bottom:1px solid var(--line);transition:border-color .2s ease;}
.lab-proof__shoplink:hover{border-color:var(--terra);}

.lab-proof__scope{font-size:12.5px;line-height:1.65;color:var(--muted);
  max-width:70ch;margin:clamp(24px,3.5vw,34px) auto 0;}
.lab-proof__scope.center{text-align:center;}

@media (max-width:780px){
  .lab-proof__pair{grid-template-columns:1fr;}
  .lab-proof__doc{max-height:240px;}
}

/* Welcome-offer terms — stated plainly, not buried. Readable size on purpose:
   a discount qualified by unreadable fine print is a Fair Trading problem. */
.vero-popup__terms{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--muted);text-align:center;}
.signup-terms{display:inline-block;font-size:13px;opacity:.85;}

/* ===========================================================================
   MOBILE OPTIMISATION — 98% of traffic is on a phone, so this is the real site.
   Fixes a broken button, removes a plugin widget covering the buy button, and
   pulls the product grid up from ~4.9 screens to roughly 2.5.
   =========================================================================== */

/* --- 1. BUG: outline buttons were invisible on light backgrounds -----------
   A later blanket rule set .btn-outline to cream (#F7F1E9), which is correct
   over the dark hero but rendered "View all products" as an empty box on the
   cream product section. Restore dark text unless explicitly .on-dark.        */
.btn-outline:not(.on-dark){color:var(--char);border-color:var(--terra);}
.btn-outline:not(.on-dark):hover{background:var(--char);color:#fff;border-color:var(--char);}

/* --- 2. Modern Cart floating widget ---------------------------------------
   Bright blue bubble at z-index 9999, sitting over the Add To Cart button on
   product pages. The header already shows a cart with the same count, so this
   is redundant as well as obstructive.                                        */
#moderncart-floating-cart,
.moderncart-toggle-slide-out{display:none !important;}

@media (max-width:780px){

  /* --- 3. Lab results: the single biggest space cost on mobile -------------
     Two full report images stacked ran to ~1,900px (2.3 screens). Shrink the
     document previews, drop the long explanatory note, and tighten padding —
     the numbers and the verify button are what matter on a phone.            */
  .lab-proof__doc{max-height:132px;}
  .lab-proof__docnote{padding:16px 12px 8px;font-size:11px;}
  .lab-proof__body{padding:16px;}
  .lab-proof__note{display:none;}
  .lab-proof__stats{gap:12px 20px;padding:12px 0;}
  .lab-proof__stats b{font-size:1.15rem;}
  .lab-proof__stats span{font-size:10.5px;margin-top:3px;}
  .lab-proof__head{margin-bottom:12px;}
  .lab-proof__pair{gap:14px;}
  .lab-proof .sec-head{margin-bottom:22px;}
  .lab-proof .sec-head p{font-size:.95rem;}
  .lab-proof__scope{font-size:12px;margin-top:18px;}
  .lab-proof__actions{gap:8px 12px;}

  /* --- 4. Hero: clearer hierarchy, less height ---------------------------- */
  .hero .sub{font-size:1rem;line-height:1.55;margin-bottom:1.5rem;}
  .hero-cta{gap:.7rem;margin-bottom:1.6rem;}
  .hero-cta .btn-primary{width:100%;justify-content:center;}
  .hero-cta .btn-outline{width:100%;justify-content:center;font-size:.95rem;opacity:.9;}
  .hero-trust{gap:.75rem 1.1rem;font-size:.66rem;}

  /* --- 5. Reviews: same content, less scrolling -------------------------- */
  .reviews-sec .sec-head{margin-bottom:1.4rem;}
  .reviews-sec .sec-head p{font-size:.95rem;}
  .review-card{padding:1.1rem;}
  .review-card .rtext{font-size:.92rem;line-height:1.55;}

  /* --- 6. Touch targets: 44px is the Apple/Google minimum ---------------- */
  .btn,.woocommerce a.button,.woocommerce button.button,
  .single_add_to_cart_button,.product-grid a.button{min-height:44px;}
  .qty,input[type="number"]{min-height:44px;}

  /* --- 7. Small-text floor — 11px is hard to read on a phone ------------- */
  .eyebrow{font-size:.7rem;}
  .product-grid .cat,.product-grid .sku{font-size:.72rem;}
}

/* Add-to-cart on product cards: a labelled button instead of a bare "+" icon.
   The icon read as decoration on mobile — people didn't know it was the buy
   action, and the 40px square was under the 44px touch minimum. */
.add-btn{width:auto;min-width:74px;height:auto;min-height:44px;padding:0 18px;
  font-weight:700;font-size:.92rem;letter-spacing:.01em;line-height:1;}
.add-btn.added::after{content:" ✓";}
.add-btn.loading{opacity:.65;}
@media (max-width:640px){
  .add-btn{min-width:66px;padding:0 14px;font-size:.88rem;}
}

/* Per-vial price on kit cards. A kit's headline number reads expensive beside a
   single vial; the unit price is what makes the bulk saving obvious. */
.per-vial{display:block;margin-top:4px;font-size:.86rem;font-weight:700;color:var(--terra-deep);
  font-variant-numeric:tabular-nums;line-height:1.2;}
.per-vial span{font-weight:500;color:var(--muted);font-size:.78rem;letter-spacing:.02em;}
.per-vial .woocommerce-Price-amount{font-size:inherit;color:inherit;}
@media (max-width:640px){ .per-vial{font-size:.8rem;} .per-vial span{font-size:.72rem;} }

/* ---------------------------------------------------------------------------
   Size switcher — sibling strengths as chips on the product page.
   Each strength is its own product (good for search), so this is the browsing
   layer that lets someone compare 10mg and 20mg without going back to the grid.
--------------------------------------------------------------------------- */
.size-switch{margin:0 0 1.5rem;padding:1rem 0 0;border-top:1px solid var(--line);}
.size-switch__label{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.7rem;
  font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--char);}
.size-switch__label span{font-weight:500;letter-spacing:.02em;text-transform:none;
  font-size:.8rem;color:var(--muted);}

.size-switch__opts{display:flex;flex-wrap:wrap;gap:.5rem;}
.size-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-width:78px;min-height:56px;padding:.5rem .8rem;border:1.5px solid var(--line);
  border-radius:9px;background:#fff;text-decoration:none;transition:border-color .18s ease,
  background .18s ease,transform .18s ease;}
.size-chip:hover{border-color:var(--terra);transform:translateY(-1px);}
.size-chip b{font-size:.98rem;font-weight:800;color:var(--char);line-height:1;
  font-variant-numeric:tabular-nums;}
.size-chip i{font-style:normal;font-size:.78rem;color:var(--muted);line-height:1;}
.size-chip i .woocommerce-Price-amount{font-size:inherit;color:inherit;}

.size-chip.is-current{background:var(--terra-tint);border-color:var(--terra);cursor:default;}
.size-chip.is-current b{color:var(--terra-deep);}
.size-chip.is-current i{color:var(--terra-deep);opacity:.8;}

.size-switch__note{margin:.7rem 0 0;font-size:.78rem;color:var(--muted);}

@media (max-width:640px){
  .size-switch__opts{gap:.45rem;}
  .size-chip{min-width:70px;min-height:52px;padding:.45rem .6rem;}
  .size-chip b{font-size:.92rem;}
  .size-chip i{font-size:.73rem;}
}

/* ---------------------------------------------------------------------------
   Family cards — one tile per compound with a price range.
   Collapses 109 kit listings into ~34 choices; sizes are picked on the product
   page where the switcher lives.
--------------------------------------------------------------------------- */
.fam-count{position:absolute;top:10px;right:10px;z-index:2;
  background:var(--char);color:#fff;font-size:.66rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;padding:4px 9px;border-radius:999px;}
.fam-sizes{margin:.35rem 0 .1rem;font-size:.76rem;color:var(--muted);
  letter-spacing:.02em;line-height:1.4;font-variant-numeric:tabular-nums;}
.product--family .price{font-size:1.15rem;line-height:1.2;}
.product--family .price .woocommerce-Price-amount{font-size:inherit;}
.fam-to{margin:0 .25rem;color:var(--muted);font-weight:500;}
@media (max-width:640px){
  .fam-sizes{font-size:.72rem;}
  .product--family .price{font-size:1rem;}
  .fam-count{font-size:.6rem;padding:3px 7px;}
}

/* 18+ / research-use acknowledgement at checkout. Deliberately visible rather
   than buried — a confirmation nobody reads is worth nothing as a record. */
.vero-ack{display:flex;gap:11px;align-items:flex-start;background:var(--cream);
  border:1px solid var(--line);border-left:3px solid var(--terra);border-radius:8px;
  padding:13px 14px;margin:18px 0 16px;}
.vero-ack input[type="checkbox"]{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto;
  accent-color:var(--terra);cursor:pointer;}
.vero-ack label{font-size:13.5px;line-height:1.5;color:#3a352f;cursor:pointer;}
.vero-ack__req{color:var(--terra-deep);font-weight:700;}
.vero-ack-stmt{background:var(--cream);border:1px solid var(--line);border-radius:8px;
  padding:11px 14px;margin:0 0 14px;font-size:12.5px;line-height:1.55;color:#5a544c;}
@media (max-width:640px){
  .vero-ack{padding:12px;gap:10px;}
  .vero-ack label{font-size:13px;}
  .vero-ack-stmt{font-size:12px;}
}
