@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=DM+Sans:wght@300;400;500&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
:root{--g:#1B3A2D;--g2:#142d22;--g3:#0e2019;--gold:#C9A84C;--gold2:#a8893c;--cream:#F5F2EC;--cream2:#ede9e1;--text:#1a1a18;--muted:#5a5a52;--light:#8a8a80;}
html{-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}

/* ── NAV ── */
nav{background:var(--g);padding:0 4rem;display:flex;align-items:center;justify-content:space-between;height:70px;position:sticky;top:0;z-index:999;border-bottom:1px solid rgba(201,168,76,0.2)}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;color:var(--gold);letter-spacing:0.12em;text-decoration:none;line-height:1;flex-shrink:0}
.logo small{display:block;font-family:'DM Sans',sans-serif;font-size:0.63rem;font-weight:300;color:rgba(255,255,255,0.38);letter-spacing:0.25em;margin-top:2px}
.nav-links{display:flex;gap:1.8rem;align-items:center}
.nav-links a{color:rgba(255,255,255,0.72);font-size:0.84rem;letter-spacing:0.05em;transition:color 0.2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-cta{background:var(--gold)!important;color:var(--g3)!important;padding:0.5rem 1.1rem;border-radius:2px;font-weight:500;transition:background 0.2s!important;position:relative;white-space:nowrap}
.nav-cta:hover{background:var(--gold2)!important}
.cart-badge{position:absolute;top:-8px;right:-8px;background:#C9A84C;color:var(--g3);border-radius:50%;width:18px;height:18px;font-size:0.62rem;font-weight:700;display:none;align-items:center;justify-content:center;line-height:1}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border:none;background:none;flex-shrink:0}
.hamburger span{display:block;width:24px;height:2px;background:rgba(255,255,255,0.8);border-radius:2px;transition:all 0.3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile nav drawer */
.mobile-nav{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:var(--g3);z-index:998;padding:2rem 1.5rem;overflow-y:auto;flex-direction:column;gap:0}
.mobile-nav.open{display:flex}
.mobile-nav a{color:rgba(255,255,255,0.78);font-size:1.05rem;font-family:'Cormorant Garamond',serif;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,0.07);letter-spacing:0.04em;display:block}
.mobile-nav .m-sub{font-size:.85rem;color:rgba(255,255,255,.5);padding:.6rem 0 .6rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.04);font-family:'DM Sans',sans-serif;letter-spacing:.03em}
.mobile-nav .m-sub:hover{color:var(--gold)}
.mobile-nav .m-section-label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.25);padding:.8rem 0 .3rem;border-bottom:none;font-family:'DM Sans',sans-serif}
.mobile-nav a:last-child{border-bottom:none}
.mobile-nav a:hover{color:var(--gold)}
.mobile-nav .m-cta{background:var(--gold);color:var(--g3)!important;padding:1rem;text-align:center;border-radius:2px;margin-top:1.2rem;font-weight:500;font-family:'DM Sans',sans-serif;font-size:0.92rem;letter-spacing:0.06em;border-bottom:none}
.mobile-nav .m-cart-badge{background:rgba(201,168,76,0.2);color:var(--gold);border-radius:10px;padding:0.1rem 0.5rem;font-size:0.72rem;font-family:'DM Sans',sans-serif;margin-left:0.4rem}

/* ── PAGE HERO ── */
.page-hero{background:var(--g);padding:4rem 4rem 3.5rem;border-bottom:1px solid rgba(201,168,76,0.15)}
.breadcrumb{display:flex;align-items:center;gap:0.5rem;font-size:0.72rem;color:rgba(255,255,255,0.3);margin-bottom:1.2rem;flex-wrap:wrap}
.breadcrumb a{color:rgba(255,255,255,0.42);transition:color 0.2s}.breadcrumb a:hover{color:var(--gold)}
.page-label{font-size:0.68rem;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:0.8rem;display:flex;align-items:center;gap:0.6rem}
.page-label::before{content:'';width:18px;height:1px;background:var(--gold);flex-shrink:0}
.page-hero h1{font-size:2.8rem;font-weight:300;color:#fff;line-height:1.15;margin-bottom:0.8rem}
.page-hero p{color:rgba(255,255,255,0.52);font-size:0.93rem;line-height:1.78;max-width:580px;font-weight:300}

/* ── SECTIONS ── */
section{padding:4.5rem 4rem}
.section-label{font-size:0.68rem;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:0.8rem;display:flex;align-items:center;gap:0.6rem}
.section-label::before{content:'';width:18px;height:1px;background:var(--gold);flex-shrink:0}
.section-title{font-size:2.3rem;font-weight:300;color:var(--g);margin-bottom:0.8rem;line-height:1.2}
.section-sub{color:var(--muted);font-size:0.92rem;line-height:1.78;font-weight:300;max-width:560px}

/* ── BUTTONS ── */
.btn{display:inline-block;padding:0.85rem 2rem;border-radius:2px;font-size:0.87rem;font-weight:500;letter-spacing:0.05em;transition:all 0.2s;cursor:pointer;font-family:'DM Sans',sans-serif;border:none;text-align:center}
.btn-gold{background:var(--gold);color:var(--g3)}.btn-gold:hover{background:var(--gold2)}
.btn-outline-dark{background:transparent;border:1px solid var(--g);color:var(--g)}.btn-outline-dark:hover{background:var(--g);color:#fff}
.btn-outline-gold{background:transparent;border:1px solid var(--gold);color:var(--gold)}.btn-outline-gold:hover{background:var(--gold);color:var(--g3)}
.btn-outline-white{background:transparent;border:1px solid rgba(255,255,255,0.32);color:rgba(255,255,255,0.82)}.btn-outline-white:hover{border-color:var(--gold);color:var(--gold)}

/* ── TRUST BAR ── */
.trust-bar{background:var(--g2);padding:0.9rem 4rem;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;border-bottom:1px solid rgba(201,168,76,0.08)}
.trust-item{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:rgba(255,255,255,0.48);letter-spacing:0.03em;white-space:nowrap}
.trust-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}

/* ── DISCLAIMER ── */
.disclaimer-box{background:rgba(201,168,76,0.055);border:1px solid rgba(201,168,76,0.18);border-radius:4px;padding:1.2rem 1.5rem;font-size:0.78rem;color:var(--muted);line-height:1.72}
.disclaimer-box strong{color:var(--g)}

/* ── FORMS ── */
.form-group{margin-bottom:1.4rem}
.form-label{display:block;font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem}
.form-control{width:100%;padding:0.85rem 1rem;background:#fff;border:1px solid var(--cream2);border-radius:2px;font-size:1rem;font-family:'DM Sans',sans-serif;color:var(--text);outline:none;transition:border-color 0.2s;-webkit-appearance:none}
.form-control:focus{border-color:var(--gold)}
textarea.form-control{resize:vertical;min-height:130px;line-height:1.65}
select.form-control{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a5a52' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:2.5rem;cursor:pointer}

/* ── FOOTER ── */
footer{background:var(--g2);padding:4rem 4rem 2rem;border-top:1px solid rgba(201,168,76,0.1)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;color:var(--gold);letter-spacing:0.12em}
.footer-tagline{font-size:0.79rem;color:rgba(255,255,255,0.38);line-height:1.72;margin-top:0.8rem;max-width:230px;font-weight:300}
.footer-contact-list{margin-top:1.2rem}
.footer-contact-list a{display:flex;align-items:center;gap:0.5rem;font-size:0.79rem;color:rgba(255,255,255,0.42);margin-bottom:0.55rem;transition:color 0.2s}
.footer-contact-list a:hover{color:var(--gold)}
.footer-col h4{font-size:0.67rem;letter-spacing:0.22em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem}
.footer-col a{display:block;font-size:0.79rem;color:rgba(255,255,255,0.38);margin-bottom:0.58rem;transition:color 0.2s;font-weight:300}
.footer-col a:hover{color:rgba(255,255,255,0.78)}
.footer-bottom{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem}
.footer-bottom p,.footer-legal a{font-size:0.72rem;color:rgba(255,255,255,0.24)}
.footer-legal{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-legal a:hover{color:rgba(255,255,255,0.5)}

/* ── BADGES ── */
.badge{display:inline-block;font-size:0.64rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.22rem 0.65rem;border-radius:2px;font-weight:500}
.badge-skin{background:rgba(201,168,76,0.1);color:var(--gold);border:1px solid rgba(201,168,76,0.22)}
.badge-weight{background:rgba(40,120,80,0.1);color:#3a9e6a;border:1px solid rgba(40,120,80,0.2)}
.badge-aging{background:rgba(100,70,180,0.1);color:#9370d8;border:1px solid rgba(100,70,180,0.2)}
.badge-perf{background:rgba(200,70,50,0.1);color:#d97060;border:1px solid rgba(200,70,50,0.2)}
.badge-hormone{background:rgba(30,100,180,0.1);color:#4a90d9;border:1px solid rgba(30,100,180,0.2)}
.badge-neuro{background:rgba(180,100,30,0.1);color:#c47a30;border:1px solid rgba(180,100,30,0.2)}

/* ── NEWSLETTER ── */
.newsletter-strip{background:var(--g3);padding:3.5rem 4rem;text-align:center}
.newsletter-strip h2{font-size:2rem;font-weight:300;color:#fff;margin-bottom:0.5rem}
.newsletter-strip p{color:rgba(255,255,255,0.42);font-size:0.9rem;margin-bottom:1.8rem;font-weight:300}
.nl-form{display:flex;max-width:420px;margin:0 auto}
.nl-form input{flex:1;min-width:0;padding:0.85rem 1rem;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);border-right:none;border-radius:2px 0 0 2px;color:#fff;font-size:0.87rem;font-family:'DM Sans',sans-serif;outline:none}
.nl-form input::placeholder{color:rgba(255,255,255,0.28)}
.nl-form button{background:var(--gold);color:var(--g3);border:none;padding:0 1.2rem;border-radius:0 2px 2px 0;font-weight:500;font-size:0.85rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background 0.2s;white-space:nowrap;flex-shrink:0}
.nl-form button:hover{background:var(--gold2)}

/* ════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ════════════════════════════════ */

/* Tablet */
@media(max-width:1024px){
  nav,footer,.newsletter-strip{padding-left:2rem;padding-right:2rem}
  section{padding-left:2rem;padding-right:2rem}
  .page-hero{padding-left:2rem;padding-right:2rem}
  .trust-bar{padding-left:2rem;padding-right:2rem}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
}

/* Mobile */
@media(max-width:768px){
  /* Nav — show hamburger, hide desktop links */
  nav{padding:0 1.2rem;height:60px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .logo{font-size:1.4rem}

  /* Page hero */
  .page-hero{padding:2.5rem 1.2rem 2rem}
  .page-hero h1{font-size:2rem}

  /* Sections */
  section{padding:2.5rem 1.2rem}

  /* Trust bar — show only first 3 items on small screens */
  .trust-bar{padding:0.8rem 1.2rem;gap:1rem}
  .trust-item:nth-child(n+4){display:none}

  /* Footer */
  footer{padding:2.5rem 1.2rem 1.5rem}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center;gap:0.8rem}
  .footer-legal{justify-content:center}
  .footer-tagline{max-width:100%}

  /* Newsletter */
  .newsletter-strip{padding:2.5rem 1.2rem}
  .newsletter-strip h2{font-size:1.6rem}
  .nl-form{flex-direction:column;gap:0.6rem}
  .nl-form input{border-right:1px solid rgba(255,255,255,0.14);border-radius:2px;width:100%}
  .nl-form button{border-radius:2px;padding:0.85rem;width:100%}

  /* Sections typography */
  .section-title{font-size:1.8rem}
  .section-sub{max-width:100%}

  /* Buttons — full width on mobile when stacked */
  .btn-stack-mobile{display:flex;flex-direction:column;gap:0.7rem}
  .btn-stack-mobile .btn{width:100%;text-align:center}
}

/* Small mobile */
@media(max-width:400px){
  .page-hero h1{font-size:1.75rem}
  .section-title{font-size:1.6rem}
  .trust-item:nth-child(n+3){display:none}
}

/* ════════════════════════════════
   MOBILE CART.JS BADGE SYNC
   ════════════════════════════════ */
@keyframes slideIn{from{transform:translateX(120px);opacity:0}to{transform:translateX(0);opacity:1}}

/* ── Dropdown nav ──────────────────────────────────────────── */
.nav-dropdown{position:relative}
.nav-dropdown>a{display:flex;align-items:center;gap:4px;cursor:pointer}
.nav-dropdown>a::after{content:'▾';font-size:.65rem;opacity:.6;transition:transform .2s}
.nav-dropdown:hover>a::after{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);background:var(--g2);border:1px solid rgba(255,255,255,.08);border-radius:4px;min-width:190px;padding:.4rem 0;z-index:999;opacity:0;visibility:hidden;transition:all .2s;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible}
.dropdown-menu a{display:block;padding:.6rem 1.2rem;font-size:.8rem;color:rgba(255,255,255,.65);letter-spacing:.04em;transition:all .15s;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.05)}
.dropdown-menu a:last-child{border-bottom:none}
.dropdown-menu a:hover{color:var(--gold);background:rgba(255,255,255,.04);padding-left:1.5rem}
.dropdown-menu .drop-icon{margin-right:.4rem;font-size:.85rem}

/* ── Search ──────────────────────────────────────────────────── */
.search-overlay{position:fixed;inset:0;background:rgba(10,25,18,.92);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:8rem;opacity:0;visibility:hidden;transition:all .25s;backdrop-filter:blur(4px)}
.search-overlay.open{opacity:1;visibility:visible}
.search-box{width:100%;max-width:680px;padding:0 1.5rem}
.search-input-wrap{position:relative;margin-bottom:1.2rem}
.search-input{width:100%;padding:1.1rem 3.5rem 1.1rem 1.4rem;background:rgba(255,255,255,.08);border:1.5px solid rgba(201,168,76,.4);border-radius:4px;font-size:1.1rem;color:#fff;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s}
.search-input::placeholder{color:rgba(255,255,255,.3)}
.search-input:focus{border-color:var(--gold);background:rgba(255,255,255,.11)}
.search-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.5);font-size:1.5rem;cursor:pointer;line-height:1;transition:color .2s;padding:0}
.search-close:hover{color:#fff}
.search-results{max-height:420px;overflow-y:auto;border-radius:4px}
.search-result-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:4px;margin-bottom:.5rem;text-decoration:none;transition:all .15s;cursor:pointer}
.search-result-item:hover{background:rgba(201,168,76,.12);border-color:rgba(201,168,76,.3)}
.search-result-icon{font-size:1.4rem;width:36px;text-align:center;flex-shrink:0}
.search-result-info{flex:1;min-width:0}
.search-result-name{font-size:.9rem;font-weight:500;color:#fff;margin-bottom:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-result-meta{font-size:.75rem;color:rgba(255,255,255,.4)}
.search-result-price{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--gold);flex-shrink:0}
.search-empty{text-align:center;padding:2.5rem 1rem;color:rgba(255,255,255,.35);font-size:.88rem}
.search-hint{font-size:.75rem;color:rgba(255,255,255,.25);text-align:center;margin-top:.8rem}
.search-btn-nav{background:none;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:1.2rem;padding:.3rem .5rem;transition:color .2s;line-height:1;display:flex;align-items:center}
.search-btn-nav:hover{color:var(--gold)}
@media(max-width:768px){
  .search-overlay{
    padding:0;
    align-items:flex-end;
    background:rgba(10,25,18,.97)
  }
  .search-box{
    padding:1rem 1rem 2rem;
    max-width:100%;
    width:100%;
    background:var(--g2);
    border-radius:12px 12px 0 0;
    box-shadow:0 -4px 24px rgba(0,0,0,.4)
  }
  .search-input-wrap{margin-bottom:.8rem}
  .search-input{
    font-size:1rem;
    padding:.9rem 3rem .9rem 1rem;
    border-radius:6px
  }
  .search-results{max-height:55vh;overflow-y:auto}
  .search-result-item{
    padding:.85rem .9rem;
    gap:.7rem;
    border-radius:6px;
    margin-bottom:.4rem
  }
  .search-result-icon{font-size:1.3rem;width:32px}
  .search-result-name{font-size:.88rem;white-space:normal;line-height:1.3}
  .search-result-meta{font-size:.72rem}
  .search-result-price{font-size:1rem}
  .search-hint{
    font-size:.7rem;
    margin-top:.6rem;
    color:rgba(255,255,255,.2)
  }
  .search-close{font-size:1.3rem;right:.8rem}
}

/* ── Product Images ──────────────────────────────────────────── */
.product-img{height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--cream2)}
.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.product-card:hover .product-img img{transform:scale(1.05)}

/* ── Mobile search icon in hamburger area ─────────── */
.mobile-search-wrap{display:none}
@media(max-width:900px){
  .mobile-search-wrap{display:flex;align-items:center}
}

@media(max-width:900px){.nav-links .search-btn-nav{display:none}}

/* ── Mobile search icon (before hamburger) ──────────── */
.mobile-search-icon{
  display:none;
  background:none;
  border:none;
  color:rgba(255,255,255,.75);
  cursor:pointer;
  padding:.4rem .3rem;
  line-height:1;
  align-items:center;
  justify-content:center;
  transition:color .2s
}
.mobile-search-icon:hover{color:var(--gold)}
@media(max-width:900px){
  .mobile-search-icon{display:flex}
}


@media(max-width:768px){
  .sarah-bio-grid{grid-template-columns:1fr!important}
  .sarah-values-grid{grid-template-columns:1fr!important}
}
/* ── Mobile Layout Fixes (Bio, How It Works, Values) ────────── */

/* Sarah Bio — 280px 1fr → single column on mobile */
.sarah-bio-grid{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:start}
@media(max-width:768px){
  .sarah-bio-grid{grid-template-columns:1fr!important;gap:2rem}
  .sarah-bio-grid > div:first-child{text-align:center}
}

/* Sarah Values — 3 columns → 1 on mobile */
.sarah-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:768px){
  .sarah-values-grid{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .sarah-values-grid{grid-template-columns:1fr!important}
}

/* About 2-col → single on mobile */
.about-two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
@media(max-width:768px){
  .about-two-col{grid-template-columns:1fr!important;gap:2rem}
}

/* How It Works — 5 cols → 2 on tablet, 1 on phone */
.hiw-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;align-items:start}
@media(max-width:900px){
  .hiw-grid{grid-template-columns:repeat(2,1fr)!important;gap:1.5rem}
}
@media(max-width:480px){
  .hiw-grid{grid-template-columns:1fr!important}
}

/* How It Works page — step cards (flex → column on mobile) */
@media(max-width:600px){
  .hiw-step-card{flex-direction:column!important;align-items:flex-start!important}
  .hiw-step-icon{width:44px!important;height:44px!important;font-size:1.1rem!important;flex-shrink:0}
}

/* Sitemap page — grid-template-columns:1fr auto → wraps on mobile */
@media(max-width:480px){
  .sitemap-link{grid-template-columns:1fr!important}
  .sitemap-link span:last-child{display:none}
}

/* Sarah bio credentials on mobile — 2 col grid */
@media(max-width:480px){
  .sarah-creds{flex-direction:column!important}
}

/* Homepage How It Works CTA flex — wrap on mobile */
@media(max-width:480px){
  .hiw-cta-flex{flex-direction:column!important;align-items:stretch!important}
  .hiw-cta-flex a{text-align:center!important}
}

/* General section padding reduction on mobile */
@media(max-width:600px){
  section[style*="padding:3.5rem"]{padding:2rem 1rem!important}
  section[style*="padding:3rem"]{padding:2rem 1rem!important}
  section[style*="padding:4rem"]{padding:2rem 1rem!important}
}
