/* Himalayan Harvest Honey — production-ready responsive styles */
:root{
  --forest:#173f2b;--forest-2:#24583d;--ink:#17221b;--muted:#6e756f;
  --cream:#fbf8f0;--paper:#fffdf8;--gold:#d99a16;--line:#e8e4d9;
  --font-display:"Playfair Display",Georgia,serif;--font-interface:"Inter",Arial,sans-serif;--serif:var(--font-display);--sans:var(--font-interface);
  --shadow:0 18px 50px rgba(23,63,43,.10);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}.container{width:min(1180px,calc(100% - 48px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:12px;padding:10px 14px;background:#fff;color:var(--forest);transform:translateY(-150%);z-index:99}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,248,240,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,63,43,.08)}.nav-wrap{min-height:84px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--forest);color:#f5c34b;font-size:25px}.brand strong,.brand small{display:block;line-height:1.05;text-transform:uppercase;letter-spacing:.05em}.brand strong{font-family:var(--serif);font-size:17px}.brand small{font-size:10px;font-weight:700;margin-top:4px}.site-nav{display:flex;justify-content:center;align-items:center;gap:27px;margin-left:auto}.site-nav a{font-size:14px;font-weight:700;color:#656b63;padding:31px 0;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a.active{color:var(--forest);border-bottom-color:var(--gold)}.nav-actions{display:flex;align-items:center;gap:12px}.icon-button,.cart-button,.menu-toggle{border:0;background:transparent;cursor:pointer}.icon-button{font-size:28px;color:var(--forest)}.cart-button{background:var(--forest);color:#fff;border-radius:999px;padding:11px 17px;font-weight:700}.cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;border-radius:50%;background:#f4b43b;color:var(--forest);font-size:12px}.menu-toggle{display:none;margin-left:auto;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--forest);margin:5px}
.hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;background:#294e3a;color:#fff}.hero-image{position:absolute;inset:0;background:url("assets/hero-honey.png") center/cover no-repeat;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,35,24,.92) 0%,rgba(12,35,24,.68) 38%,rgba(12,35,24,.08) 75%),linear-gradient(0deg,rgba(12,35,24,.35),transparent 50%)}.hero-content{position:relative;padding:110px 0 70px}.eyebrow{margin:0 0 17px;color:#eec15b;font-size:12px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.eyebrow.dark{color:#9b6a14}.hero h1,h2{font-family:var(--serif);line-height:1.06;letter-spacing:-.035em}.hero h1{font-size:clamp(46px,6vw,82px);max-width:760px;margin:0 0 25px}.hero-copy{max-width:480px;font-size:18px;color:#f1f3ed;margin:0 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;border:0;border-radius:999px;padding:14px 23px;font-weight:800;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--gold);color:#1d2d20;box-shadow:0 9px 25px rgba(217,154,22,.2)}.button-light{background:#fff;color:var(--forest)}.hero-proof{display:flex;gap:30px;margin-top:85px;padding-top:22px;border-top:1px solid rgba(255,255,255,.3);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero-proof span:before{content:"✓";color:#eec15b;margin-right:9px}
.section{padding:100px 0}.intro{background:var(--paper)}.intro-grid,.section-heading,.review-layout,.newsletter-box{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.intro h2,.section-heading h2,.story h2,.review-layout h2,.newsletter h2{font-size:clamp(36px,4.2vw,58px);margin:0}.intro-copy,.section-heading>p{color:var(--muted);font-size:17px;max-width:480px;margin:0}.shop{background:var(--paper)}.section-heading{margin-bottom:45px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-art{height:240px;display:grid;place-items:center;position:relative;overflow:hidden}.product-art:before{content:"";width:95px;height:132px;border-radius:17px 17px 25px 25px;background:linear-gradient(90deg,#9d5a0a,#ffd65d 55%,#b56b0d);border:5px solid #99580b;box-shadow:0 14px 20px rgba(74,46,12,.24)}.product-art span{position:absolute;text-align:center;z-index:1;color:#fff9e8;font-family:var(--serif);font-weight:800;font-size:13px;line-height:1.05;text-shadow:0 1px 2px #6b3b08}.product-art small{font-family:var(--sans);font-size:8px;letter-spacing:.06em}.art-forest{background:linear-gradient(135deg,#f6e5a5,#dce6be)}.art-karun{background:linear-gradient(135deg,#e5c28d,#bfcda8)}.art-acacia{background:linear-gradient(135deg,#ffefb2,#f8d98d)}.art-herbal{background:linear-gradient(135deg,#d9e2b8,#f3d49d)}.product-info{padding:21px}.product-kicker{color:#a17a36;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin:0 0 8px}.product-info h3{font-family:var(--serif);font-size:22px;line-height:1.15;margin:0 0 9px}.product-desc{font-size:13px;color:var(--muted);min-height:62px;margin:0}.product-bottom{display:flex;justify-content:space-between;align-items:center;margin:17px 0}.product-bottom strong{font-family:var(--serif);font-size:25px}.product-bottom span{font-size:12px;color:var(--muted)}.add-button{width:100%;background:var(--forest);color:#fff;padding:12px 16px;font-size:13px}
.story{background:var(--cream)}.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.story-photo{min-height:560px;border-radius:28px;background:url("assets/hero-honey.png") 68% center/cover no-repeat;box-shadow:var(--shadow)}.story-content>p:not(.eyebrow){color:var(--muted);max-width:490px}.text-link{display:inline-block;color:var(--forest);font-weight:800;margin-top:16px;border-bottom:1px solid var(--gold)}.promise{background:var(--forest);color:#fff}.promise .eyebrow{color:#f0c35d}.promise h2{color:#fff}.centered{text-align:center;display:block}.centered h2{margin-top:0}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.promise-card{padding:30px;border:1px solid rgba(255,255,255,.2);border-radius:20px}.promise-card span{color:#f0c35d;font-weight:800}.promise-card h3{font-family:var(--serif);font-size:25px;margin:30px 0 8px}.promise-card p{color:#d4ded6;margin:0}.newsletter{padding-top:40px;background:var(--paper)}.newsletter-box{background:#f1e8d0;border-radius:28px;padding:55px}.newsletter h2{font-size:42px}.newsletter-form{display:flex;flex-wrap:wrap;gap:10px;align-items:start}.newsletter-form input{flex:1;min-width:180px;border:1px solid #d8cdb5;border-radius:999px;background:#fff;padding:15px 20px;outline-offset:3px}.form-message{flex-basis:100%;font-size:13px;color:var(--forest);margin:4px 0 0}.site-footer{background:#102d20;color:#d5dfd6;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:40px}.footer-brand{color:#fff}.footer-grid h3{color:#f0c35d;font-size:12px;text-transform:uppercase;letter-spacing:.15em}.footer-grid>div>a:not(.brand){display:block;margin:8px 0;color:#d5dfd6;font-size:14px}.footer-grid p{max-width:250px;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.16);margin-top:45px;padding-top:20px;font-size:12px;color:#9fb3a5}
.modal{position:fixed;inset:0;z-index:50;background:rgba(10,24,16,.55);display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal-panel{position:relative;width:min(560px,100%);background:var(--paper);border-radius:24px;padding:35px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal-panel h2{font-size:34px;margin:0 0 22px}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px;cursor:pointer;color:var(--forest)}.search-input{width:100%;padding:15px 18px;border:1px solid var(--line);border-radius:12px}.search-results{padding-top:20px;color:var(--muted)}.cart-items{display:grid;gap:12px}.cart-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}.cart-total{display:flex;justify-content:space-between;margin:22px 0;font-size:18px}.full-width{width:100%}
@media(max-width:1050px){.site-nav{gap:17px}.product-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:650px}.hero-overlay{background:linear-gradient(90deg,rgba(12,35,24,.93),rgba(12,35,24,.48))}}
@media(max-width:760px){.container{width:min(100% - 32px,560px)}.nav-wrap{min-height:72px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:12px 20px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:12px 0}.nav-actions{margin-left:0}.icon-button{font-size:25px}.cart-button{padding:9px 12px;font-size:12px}.brand-mark{width:36px;height:36px}.brand strong{font-size:15px}.hero{min-height:650px}.hero-content{padding:85px 0 45px}.hero h1{font-size:47px}.hero-copy{font-size:16px}.hero-proof{margin-top:55px;gap:15px;flex-wrap:wrap}.section{padding:70px 0}.intro-grid,.section-heading,.review-layout,.newsletter-box,.story-grid{grid-template-columns:1fr;gap:25px}.section-heading{margin-bottom:30px}.section-heading>p{font-size:15px}.product-grid{grid-template-columns:1fr 1fr;gap:12px}.product-art{height:170px}.product-info{padding:15px}.product-info h3{font-size:19px}.product-desc{font-size:12px;min-height:78px}.product-bottom strong{font-size:22px}.add-button{font-size:12px}.story-photo{min-height:360px}.promise-grid{grid-template-columns:1fr;gap:12px}.promise-card{padding:24px}.newsletter-box{padding:30px}.newsletter h2{font-size:35px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.modal-panel{padding:28px 22px}}
@media(max-width:420px){.product-grid{grid-template-columns:1fr}.product-art{height:210px}.hero h1{font-size:42px}.nav-actions{gap:5px}.cart-button{font-size:11px}.brand small{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Premium inline SVG icon system */
.ui-icon{width:19px;height:19px;display:inline-block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;transition:background .2s,color .2s}
.icon-button:hover{background:rgba(23,63,43,.08)}
.cart-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.cart-icon{width:18px;height:18px}
.button-cart-icon{width:16px;height:16px}
.button-plus{font-size:17px;line-height:1;margin-left:2px}
.add-button{gap:8px}

/* Header cart: minimal icon treatment matching the first reference image */
.cart-button-minimal{
  position:relative;
  width:42px;
  height:42px;
  padding:0;
  border-radius:50%;
  background:transparent;
  color:var(--ink);
  box-shadow:none;
}
.cart-button-minimal:hover{background:rgba(23,63,43,.07);transform:none}
.cart-icon-wrap{position:relative;display:grid;place-items:center;width:100%;height:100%}
.cart-button-minimal .cart-icon{width:22px;height:22px;stroke-width:1.55}
.cart-button-minimal .cart-count{
  position:absolute;
  top:-2px;
  right:-4px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  margin:0;
  border-radius:50%;
  background:#ef5a35;
  color:#fff;
  font-size:10px;
  line-height:18px;
  font-weight:800;
  border:2px solid var(--cream);
}

/* Compact benefits strip replacing the large promise cards */
.benefits-strip{
  background:#f5ead3;
  border-top:1px solid #eadcc0;
  border-bottom:1px solid #eadcc0;
  padding:30px 0;
}
.benefits-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  align-items:stretch;
}
.benefit-item{
  text-align:center;
  padding:8px 22px;
  border-right:1px solid #ddcfb3;
}
.benefit-item:last-child{border-right:0}
.benefit-icon{
  width:30px;
  height:30px;
  margin:0 auto 12px;
  fill:none;
  stroke:var(--forest);
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.benefit-item h3{
  margin:0;
  color:var(--forest);
  font-size:14px;
  font-weight:800;
  line-height:1.3;
}
.benefit-item p{
  margin:4px 0 0;
  color:#8c7455;
  font-size:12px;
  line-height:1.4;
}
@media(max-width:900px){
  .benefits-grid{grid-template-columns:repeat(3,1fr);row-gap:24px}
  .benefit-item:nth-child(3){border-right:0}
}
@media(max-width:560px){
  .benefits-strip{padding:22px 0}
  .benefits-grid{grid-template-columns:repeat(2,1fr);row-gap:18px}
  .benefit-item{padding:8px 10px}
  .benefit-item:nth-child(2),.benefit-item:nth-child(4){border-right:0}
  .benefit-item:nth-child(3){border-right:1px solid #ddcfb3}
  .benefit-item h3{font-size:12px}
  .benefit-item p{font-size:11px}
}

/* Final cart badge alignment */
.cart-button-minimal .cart-icon-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cart-button-minimal .cart-count{
  top:50%;
  right:-7px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  min-width:17px;
  height:17px;
  padding:0 4px;
  line-height:1;
  font-size:10px;
  border-width:2px;
}

/* Cart quantity badge: centered above the cart symbol */
.cart-button-minimal .cart-icon-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cart-button-minimal .cart-count{
  top:-6px;
  right:50%;
  transform:translateX(50%);
  min-width:17px;
  height:17px;
  padding:0 4px;
  display:grid;
  place-items:center;
  line-height:1;
  font-size:10px;
  font-weight:800;
  border:2px solid var(--cream);
  border-radius:50%;
  background:#ef5a35;
  color:#fff;
}

/* Cart icon matching the supplied reference */
.cart-button-minimal{
  width:42px;
  height:42px;
  padding:0;
  border:0;
  background:transparent;
  color:#173f2b;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cart-button-minimal .cart-icon-wrap{
  position:relative;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cart-button-minimal .cart-icon{
  width:25px;
  height:25px;
  stroke-width:1.65;
}
.cart-button-minimal .cart-count{
  position:absolute;
  top:-5px;
  right:-7px;
  min-width:16px;
  height:16px;
  padding:0 3px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ef3340;
  color:#fff;
  border:0;
  font-family:var(--font-interface);
  font-size:10px;
  font-weight:700;
  line-height:1;
  transform:none;
}
.cart-button-minimal:hover{
  background:rgba(23,63,43,.06);
}


/* =========================================================
   HIMALAYAN HARVEST HONEY — MOBILE-FIRST PREMIUM POLISH
   Added without changing the desktop visual language.
   Goal: comfortable one-hand use, zero horizontal overflow,
   stable layouts from 320px phones through tablets.
   ========================================================= */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:clip;
}

body{
  overflow-x:clip;
  min-width:0;
}

img,svg{
  max-width:100%;
}

button,
a,
input{
  touch-action:manipulation;
}

.site-header{
  padding-top:env(safe-area-inset-top);
}

.nav-wrap{
  min-width:0;
}

.brand{
  flex:0 1 auto;
  min-width:0;
}

.brand > span:last-child{
  min-width:0;
}

.brand strong,
.brand small{
  white-space:nowrap;
}

.hero-content,
.section,
.newsletter,
.site-footer{
  overflow:clip;
}

/* Tablet: keep the desktop premium proportions while giving cards
   and navigation more breathing room. */
@media (max-width:1050px){
  .container{
    width:min(100% - 40px,1180px);
  }

  .nav-wrap{
    gap:20px;
  }

  .site-nav{
    gap:18px;
  }

  .site-nav a{
    font-size:13px;
  }

  .hero-content{
    padding-top:95px;
  }

  .product-grid{
    gap:16px;
  }
}

/* Phones and small tablets */
@media (max-width:760px){
  :root{
    --mobile-gutter:16px;
  }

  .container{
    width:min(calc(100% - (var(--mobile-gutter) * 2)),560px);
  }

  .site-header{
    position:sticky;
    top:0;
  }

  .nav-wrap{
    min-height:68px;
    height:68px;
    gap:8px;
  }

  .brand{
    gap:8px;
    max-width:calc(100% - 104px);
  }

  .brand-mark{
    width:34px;
    height:34px;
    flex:0 0 34px;
    font-size:20px;
  }

  .brand strong{
    font-size:14px;
    letter-spacing:.045em;
  }

  .brand small{
    font-size:8px;
    margin-top:3px;
    letter-spacing:.08em;
  }

  .menu-toggle{
    order:3;
    margin-left:auto;
    width:42px;
    height:42px;
    padding:7px;
    display:grid;
    place-items:center;
  }

  .menu-toggle span:not(.sr-only){
    width:22px;
    margin:3px;
  }

  .nav-actions{
    order:2;
    margin-left:auto;
    gap:2px;
    flex:0 0 auto;
  }

  .icon-button,
  .cart-button-minimal{
    width:40px;
    height:40px;
  }

  .icon-button .ui-icon{
    width:19px;
    height:19px;
  }

  .cart-button-minimal .cart-icon-wrap{
    width:28px;
    height:28px;
  }

  .cart-button-minimal .cart-icon{
    width:23px;
    height:23px;
  }

  .cart-button-minimal .cart-count{
    top:-5px;
    right:-6px;
    min-width:16px;
    height:16px;
    font-size:9px;
  }

  .site-nav{
    top:68px;
    left:0;
    right:0;
    padding:8px var(--mobile-gutter) calc(16px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(23,63,43,.05);
    box-shadow:0 18px 45px rgba(23,63,43,.10);
    max-height:calc(100svh - 68px);
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }

  .site-nav a{
    min-height:48px;
    display:flex;
    align-items:center;
    padding:10px 4px;
    font-size:14px;
    border-bottom:1px solid rgba(23,63,43,.07);
  }

  .site-nav a:last-child{
    border-bottom:0;
  }

  .hero{
    min-height:calc(100svh - 68px);
    min-height:calc(100dvh - 68px);
    align-items:flex-end;
  }

  .hero-image{
    background-position:58% center;
    transform:none;
  }

  .hero-overlay{
    background:
      linear-gradient(180deg,rgba(12,35,24,.10) 0%,rgba(12,35,24,.30) 34%,rgba(12,35,24,.90) 78%,rgba(12,35,24,.97) 100%),
      linear-gradient(90deg,rgba(12,35,24,.42),rgba(12,35,24,.05));
  }

  .hero-content{
    width:100%;
    padding:clamp(72px,18vh,130px) 0 30px;
  }

  .eyebrow{
    margin-bottom:12px;
    font-size:10px;
    letter-spacing:.16em;
  }

  .hero h1{
    font-size:clamp(39px,11vw,52px);
    line-height:1.02;
    letter-spacing:-.045em;
    margin-bottom:18px;
    max-width:100%;
  }

  .hero-copy{
    max-width:100%;
    font-size:15px;
    line-height:1.6;
    margin-bottom:24px;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }

  .hero-actions .button{
    width:100%;
    min-height:50px;
    padding:13px 18px;
  }

  .hero-proof{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:30px;
    padding-top:15px;
    font-size:9px;
    line-height:1.35;
    letter-spacing:.06em;
  }

  .hero-proof span{
    min-width:0;
  }

  .hero-proof span:before{
    margin-right:5px;
  }

  .section{
    padding:72px 0;
  }

  .section-heading,
  .review-layout,
  .newsletter-box,
  .story-grid{
    gap:26px;
  }

  .section-heading{
    margin-bottom:28px;
  }

  .section-heading h2,
  .story h2,
  .review-layout h2{
    font-size:clamp(34px,9.5vw,46px);
    line-height:1.06;
  }

  .section-heading>p{
    font-size:14px;
    line-height:1.65;
  }

  /* A single-column product stack is deliberately used on phones:
     it gives every product card enough room for readable names,
     descriptions and a comfortable touch target. */
  .product-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .product-card{
    border-radius:20px;
  }

  .product-art{
    height:190px;
  }

  .product-info{
    padding:18px;
  }

  .product-kicker{
    font-size:9px;
    margin-bottom:7px;
  }

  .product-info h3{
    font-size:21px;
    margin-bottom:8px;
  }

  .product-desc{
    font-size:13px;
    min-height:auto;
    line-height:1.55;
  }

  .product-bottom{
    margin:15px 0;
  }

  .product-bottom strong{
    font-size:24px;
  }

  .add-button{
    min-height:48px;
    font-size:13px;
  }

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

  .story-photo{
    min-height:0;
    height:auto;
    aspect-ratio:4 / 3;
    border-radius:22px;
    background-position:68% center;
  }

  .story-content>p:not(.eyebrow){
    font-size:14px;
    line-height:1.75;
  }

  .text-link{
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  .benefits-strip{
    padding:26px 0;
  }

  .benefits-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:18px;
  }

  .benefit-item{
    padding:8px 10px;
  }

  .benefit-item:nth-child(2),
  .benefit-item:nth-child(4){
    border-right:0;
  }

  .benefit-item:nth-child(3){
    border-right:1px solid #ddcfb3;
  }

  .benefit-icon{
    width:27px;
    height:27px;
    margin-bottom:9px;
  }

  .benefit-item h3{
    font-size:12px;
  }

  .benefit-item p{
    font-size:10px;
  }

  

  .newsletter{
    padding-top:28px;
  }

  .newsletter-box{
    padding:28px 20px;
    border-radius:22px;
  }

  .newsletter h2{
    font-size:clamp(32px,9vw,42px);
  }

  .newsletter-form{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .newsletter-form input,
  .newsletter-form .button{
    width:100%;
    min-height:50px;
  }

  .site-footer{
    padding:52px 0 22px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .footer-grid>div:first-child{
    grid-column:auto;
  }

  .footer-grid>div>a:not(.brand){
    min-height:40px;
    display:flex;
    align-items:center;
    margin:2px 0;
  }

  .footer-bottom{
    align-items:flex-start;
    font-size:11px;
    line-height:1.5;
  }

  .modal{
    padding:12px;
    align-items:end;
  }

  .modal-panel{
    width:100%;
    max-height:min(88svh,720px);
    overflow:auto;
    border-radius:22px 22px 14px 14px;
    padding:28px 18px calc(24px + env(safe-area-inset-bottom));
  }

  .modal-panel h2{
    font-size:30px;
  }

  .search-input{
    min-height:50px;
    font-size:16px;
  }

  .modal-close{
    width:44px;
    height:44px;
    right:8px;
    top:8px;
  }

  .cart-row{
    align-items:center;
    min-height:52px;
  }
}

/* Extra-small phones: protect the layout at 320–360px widths. */
@media (max-width:390px){
  :root{
    --mobile-gutter:14px;
  }

  .nav-wrap{
    min-height:64px;
    height:64px;
  }

  .site-nav{
    top:64px;
    max-height:calc(100svh - 64px);
  }

  .brand{
    max-width:calc(100% - 96px);
  }

  .brand-mark{
    width:32px;
    height:32px;
    flex-basis:32px;
    font-size:18px;
  }

  .brand strong{
    font-size:13px;
  }

  .brand small{
    font-size:7.5px;
  }

  .icon-button,
  .cart-button-minimal,
  .menu-toggle{
    width:38px;
    height:38px;
  }

  .hero{
    min-height:calc(100svh - 64px);
    min-height:calc(100dvh - 64px);
  }

  .hero-content{
    padding-top:68px;
    padding-bottom:24px;
  }

  .hero h1{
    font-size:clamp(36px,10.8vw,43px);
  }

  .hero-copy{
    font-size:14px;
  }

  .hero-proof{
    font-size:8px;
    gap:5px;
  }

  .section{
    padding:62px 0;
  }

  .product-art{
    height:180px;
  }

  .product-info{
    padding:16px;
  }

  .product-info h3{
    font-size:20px;
  }

  .benefits-grid{
    column-gap:0;
  }

  .benefit-item{
    padding-left:6px;
    padding-right:6px;
  }

  .newsletter-box{
    padding:25px 16px;
  }
}

/* Landscape phones: avoid a very tall hero and preserve immediate access
   to the first call-to-action. */
@media (max-width:760px) and (orientation:landscape) and (max-height:520px){
  .hero{
    min-height:560px;
    align-items:center;
  }

  .hero-content{
    padding:60px 0 40px;
  }

  .hero h1{
    font-size:38px;
    max-width:600px;
  }

  .hero-copy{
    max-width:520px;
  }

  .hero-actions{
    grid-template-columns:auto auto;
    justify-content:start;
  }

  .hero-actions .button{
    width:auto;
    min-width:180px;
  }

  .hero-proof{
    margin-top:24px;
  }
}

/* Touch devices: replace hover-only lift with a stable visual state. */
@media (hover:none){
  .button:hover,
  .product-card:hover{
    transform:none;
    box-shadow:none;
  }

  .site-nav a:hover{
    color:#656b63;
    border-bottom-color:transparent;
  }

  .site-nav a.active{
    color:var(--forest);
    border-bottom-color:var(--gold);
  }
}


/* ================================================================
   MOBILE EXPERIENCE UPDATE
   - Desktop/tablet layout remains unchanged.
   - Mobile hero uses the full landscape artwork without cover-cropping.
   - Fixed bottom navigation mirrors a premium shopping-app pattern.
   ================================================================ */
.mobile-bottom-nav{display:none}

@media(max-width:760px){
  body{padding-bottom:76px;overflow-x:hidden}

  /* Mobile header: keep brand + search + cart compact. */
  .site-header{z-index:40}
  .nav-wrap{min-height:64px;width:min(100% - 24px,560px);gap:10px}
  .brand{gap:8px}
  .brand-mark{width:36px;height:36px;font-size:21px}
  .brand strong{font-size:14px}
  .brand small{font-size:8px;margin-top:3px}
  .nav-actions{gap:3px;margin-left:auto}
  .icon-button{width:38px;height:38px;font-size:22px}
  .cart-button{padding:9px 10px;background:transparent;color:var(--forest)}
  .cart-button .cart-icon-wrap{display:grid;place-items:center;position:relative}
  .cart-button .cart-count{position:absolute;right:-7px;top:-8px;min-width:17px;height:17px;margin:0;background:#e8552f;color:#fff;font-size:9px;border:2px solid var(--cream)}

  /* The existing desktop hero uses cover, which necessarily crops a landscape image on a tall phone.\n     On mobile we show the complete artwork at its intrinsic ratio, then place copy below it. */
  .hero{display:block;min-height:0;height:auto;background:var(--forest);overflow:hidden}
  .hero-image{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1672 / 941;background-size:100% 100%;background-position:center center;background-repeat:no-repeat;transform:none}
  .hero-overlay{position:absolute;inset:0;height:100%;background:linear-gradient(180deg,rgba(12,35,24,.02) 35%,rgba(12,35,24,.28) 66%,rgba(12,35,24,.72) 100%)}
  .hero-content{padding:34px 0 38px;position:relative;background:var(--forest);width:min(100% - 32px,560px)}
  .hero h1{font-size:clamp(38px,11vw,50px);line-height:1.02;margin-bottom:18px;max-width:100%}
  .hero-copy{font-size:15px;line-height:1.65;margin-bottom:24px;max-width:100%;color:#f1f3ed}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .hero-actions .button{width:100%;padding:13px 12px;font-size:12px;gap:8px}
  .hero-proof{margin-top:27px;padding-top:16px;gap:8px 15px;display:grid;grid-template-columns:1fr 1fr;font-size:9px;letter-spacing:.06em}
  .hero-proof span:before{margin-right:5px}
  .eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:12px}

  /* Fixed app-style navigation */
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:grid;grid-template-columns:repeat(4,1fr);height:72px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:rgba(255,253,248,.98);border-top:1px solid rgba(23,63,43,.10);box-shadow:0 -10px 30px rgba(75,54,16,.10);backdrop-filter:blur(18px)}
  .mobile-bottom-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:#72766f;font-size:10px;font-weight:700;letter-spacing:.01em;text-decoration:none;cursor:pointer;min-width:0}
  .mobile-bottom-item.active{color:var(--forest)}
  .mobile-bottom-item.active .mobile-nav-icon{stroke:var(--gold);transform:translateY(-1px)}
  .mobile-nav-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:color .18s,transform .18s}
  .mobile-cart-wrap{position:relative;display:grid;place-items:center;height:24px}
  .mobile-cart-count{position:absolute;right:-9px;top:-7px;min-width:16px;height:16px;padding:0 4px;margin:0;display:grid;place-items:center;background:#e8552f;color:#fff;border:2px solid var(--paper);font-size:8px;line-height:1;border-radius:999px}

  /* Keep the rest of the existing responsive page, but give touch targets more room. */
  .section{padding:64px 0}
  .product-grid{gap:12px}
  .product-card{border-radius:18px}
}

@media(max-width:420px){
  .hero-content{padding-top:30px}
  .hero-actions{grid-template-columns:1fr}
  .hero-actions .button{min-height:46px}
  .hero-proof{font-size:8px}
  .mobile-bottom-nav{height:70px}
}

@media(prefers-reduced-motion:reduce){
  .mobile-nav-icon{transition:none}
}

/* ================================================================
   MOBILE APP-STYLE MULTI-PAGE EXPERIENCE
   Desktop layout remains untouched above 760px.
   ================================================================ */
.mobile-app{display:none}

@media(max-width:760px){
  body{padding-bottom:82px;background:#f8f5ee}
  body.mobile-app-active{overflow-x:hidden}
  body.mobile-app-active #main,
  body.mobile-app-active .site-footer{display:none}
  body.mobile-app-active .site-header{position:sticky;top:0;background:rgba(255,253,248,.97);backdrop-filter:blur(16px);box-shadow:0 4px 18px rgba(15,36,24,.06)}
  .mobile-app{display:block;min-height:calc(100svh - 64px)}
  .mobile-page-shell{width:100%;min-height:calc(100svh - 64px)}
  .mobile-page-view{min-height:calc(100svh - 64px);padding:0 0 24px}
  .mobile-page-view[hidden]{display:none!important}

  .mobile-app-top{padding:20px 16px 8px}
  .mobile-app-title{font-family:var(--serif);font-size:31px;line-height:1.05;color:#102d20;margin:0}
  .mobile-app-subtitle{margin:8px 0 0;color:#687066;font-size:12px;line-height:1.55}
  .mobile-search-bar{margin:16px 16px 0;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 15px;border:1px solid #ded6c6;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(45,52,42,.06);color:#5f665e}
  .mobile-search-bar svg{width:20px;height:20px;stroke:#102d20;stroke-width:2.35;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
  .mobile-search-bar span{font-size:13px;color:#7b8179}

  .mobile-hero-card{margin:10px 12px 0;overflow:hidden;border-radius:22px;background:#173f2b;box-shadow:0 14px 34px rgba(16,45,32,.16)}
  .mobile-hero-image{width:100%;aspect-ratio:1672/941;background:url("assets/hero-honey.png") center/100% 100% no-repeat}
  .mobile-hero-copy{padding:23px 19px 22px;color:#fff}
  .mobile-hero-copy .eyebrow{color:#f0c35d;margin-bottom:9px}
  .mobile-hero-copy h1{font-family:var(--serif);font-size:38px;line-height:1.04;margin:0 0 11px;color:#fff}
  .mobile-hero-copy p{font-size:13px;line-height:1.65;color:#e8eee9;margin:0}
  .mobile-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}
  .mobile-primary-actions button,.mobile-primary-actions a{min-height:45px;border-radius:12px;font-size:12px;font-weight:800;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px}
  .mobile-primary-actions .dark{background:#f2c65f;color:#173f2b;border:0}
  .mobile-primary-actions .light{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.35)}

  .mobile-section{padding:26px 16px 0}
  .mobile-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:13px}
  .mobile-section-head h2{font-family:var(--serif);font-size:25px;line-height:1.1;color:#102d20;margin:0}
  .mobile-section-head button,.mobile-text-link{border:0;background:transparent;color:#173f2b;font-size:11px;font-weight:800;text-decoration:none;padding:5px 0}
  .mobile-chip-row{display:flex;gap:8px;overflow:auto;padding:2px 0 4px;scrollbar-width:none}
  .mobile-chip-row::-webkit-scrollbar{display:none}
  .mobile-chip{white-space:nowrap;border:1px solid #d8cfbd;background:#fff;border-radius:999px;padding:9px 13px;color:#4c574f;font-size:11px;font-weight:800}
  .mobile-chip.active{background:#173f2b;color:#fff;border-color:#173f2b}

  .mobile-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
  .mobile-product-card{background:#fff;border:1px solid #e7dfd0;border-radius:17px;overflow:hidden;box-shadow:0 7px 22px rgba(42,48,39,.06)}
  .mobile-product-art{position:relative;display:grid;place-items:center;height:155px;background:#f0e7d0;overflow:hidden}
  .mobile-product-art::before{content:"";width:67px;height:106px;border-radius:13px 13px 18px 18px;background:linear-gradient(90deg,#6c410f,#d39b31 35%,#f4ca63 58%,#8e5b16);box-shadow:0 12px 18px rgba(42,30,10,.22)}
  .mobile-product-art::after{content:"HONEY";position:absolute;top:66px;width:48px;padding:5px 2px;background:#fff8df;color:#3d321d;font:800 7px/1 var(--sans);letter-spacing:.08em;text-align:center}
  .mobile-product-card[data-tone="mountain"] .mobile-product-art{background:#e4eadf}
  .mobile-product-card[data-tone="mountain"] .mobile-product-art::before{background:linear-gradient(90deg,#543b16,#b88b39 35%,#e8bd60 58%,#70501d)}
  .mobile-product-card[data-tone="kombu"] .mobile-product-art{background:#e8e1c6}
  .mobile-product-card[data-tone="kombu"] .mobile-product-art::before{background:linear-gradient(90deg,#44350f,#9f7421 35%,#d5a13d 58%,#604713)}
  .mobile-product-card[data-tone="kosu"] .mobile-product-art{background:#f3e6c3}
  .mobile-product-card[data-tone="kosu"] .mobile-product-art::before{background:linear-gradient(90deg,#684a14,#d2a039 35%,#f2d174 58%,#80601e)}
  .mobile-product-info{padding:13px}
  .mobile-product-kicker{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#9b7635;font-weight:800;margin:0 0 5px}
  .mobile-product-info h3{font-family:var(--serif);font-size:18px;line-height:1.12;color:#102d20;margin:0 0 7px}
  .mobile-product-desc{font-size:10px;line-height:1.5;color:#6c746d;min-height:31px;margin:0}
  .mobile-product-price{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:11px 0}
  .mobile-product-price strong{font-family:var(--serif);font-size:19px;color:#102d20}
  .mobile-product-price span{font-size:9px;color:#777d76}
  .mobile-add-button{width:100%;min-height:39px;border:0;border-radius:10px;background:#173f2b;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px}
  .mobile-add-button svg{width:15px;height:15px;stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

  .mobile-benefits{margin:23px 12px 0;padding:17px 8px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#efe5d1;border:1px solid #e3d6be;border-radius:18px}
  .mobile-benefit{padding:10px 7px;text-align:center}
  .mobile-benefit svg{width:25px;height:25px;stroke:#102d20;stroke-width:2.35;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:7px}
  .mobile-benefit strong{display:block;color:#173f2b;font-size:10px}
  .mobile-benefit span{display:block;color:#7b766c;font-size:8px;margin-top:3px}

  .mobile-page-header{padding:20px 16px 8px;display:flex;align-items:center;gap:11px}
  .mobile-back{width:40px;height:40px;border:1px solid #ddd4c3;border-radius:12px;background:#fff;display:grid;place-items:center;flex:none}
  .mobile-back svg{width:20px;height:20px;stroke:#102d20;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .mobile-page-header h1{font-family:var(--serif);font-size:28px;color:#102d20;margin:0}

  .mobile-detail-card{margin:12px 16px 0;background:#fff;border:1px solid #e5ddcf;border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(45,50,42,.07)}
  .mobile-detail-art{height:285px;display:grid;place-items:center;background:#efe6d1}
  .mobile-detail-art::before{content:"";width:104px;height:175px;border-radius:18px 18px 28px 28px;background:linear-gradient(90deg,#68430f,#c28b2d 35%,#f2c65b 58%,#805516);box-shadow:0 18px 28px rgba(40,30,9,.22)}
  .mobile-detail-label{position:absolute;background:#fff7df;color:#3d321d;font:800 10px/1 var(--sans);letter-spacing:.08em;padding:7px 9px}
  .mobile-detail-copy{padding:20px}
  .mobile-rating{font-size:10px;color:#9a6e21;font-weight:800;margin-bottom:6px}
  .mobile-detail-copy h2{font-family:var(--serif);font-size:31px;line-height:1.05;color:#102d20;margin:0 0 9px}
  .mobile-detail-copy p{font-size:12px;line-height:1.65;color:#687168;margin:0}
  .mobile-size-title{margin:20px 0 8px;font-size:11px;font-weight:800;color:#173f2b}
  .mobile-size-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .mobile-size-option{border:1px solid #d9d0bf;background:#fff;border-radius:12px;padding:12px;text-align:left;color:#173f2b}
  .mobile-size-option strong{display:block;font-size:12px}
  .mobile-size-option span{display:block;margin-top:4px;font-family:var(--serif);font-size:18px}
  .mobile-size-option.active{border:2px solid #173f2b;background:#f2f6f1;padding:11px}
  .mobile-sticky-buy{position:sticky;bottom:80px;margin:14px 16px 0;padding:10px;background:rgba(248,245,238,.96);backdrop-filter:blur(12px);display:grid;grid-template-columns:1fr 1.25fr;gap:9px;border:1px solid #e2d9c8;border-radius:16px;z-index:4}
  .mobile-sticky-buy strong{display:flex;align-items:center;padding-left:10px;font-family:var(--serif);font-size:22px;color:#102d20}
  .mobile-sticky-buy button{min-height:48px;border:0;border-radius:12px;background:#173f2b;color:#fff;font-weight:800;font-size:12px}
  .mobile-info-list{margin:14px 16px 0;display:grid;gap:8px}
  .mobile-info-row{display:flex;gap:10px;padding:14px;background:#fff;border:1px solid #e6decf;border-radius:13px}
  .mobile-info-row svg{width:21px;height:21px;flex:none;stroke:#102d20;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .mobile-info-row strong{display:block;color:#173f2b;font-size:11px}
  .mobile-info-row span{display:block;color:#777d76;font-size:10px;line-height:1.45;margin-top:2px}

  .mobile-cart-list{padding:8px 16px 0;display:grid;gap:10px}
  .mobile-cart-item{display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center;padding:11px;background:#fff;border:1px solid #e4dccd;border-radius:15px}
  .mobile-cart-thumb{width:58px;height:64px;border-radius:11px;background:linear-gradient(135deg,#efe4c9,#d9b35e);position:relative}
  .mobile-cart-thumb::after{content:"";position:absolute;width:26px;height:45px;left:16px;top:10px;border-radius:7px 7px 10px 10px;background:linear-gradient(90deg,#69420e,#f0c45d,#7e5618)}
  .mobile-cart-item h3{font-family:var(--serif);font-size:16px;color:#102d20;margin:0}
  .mobile-cart-item p{font-size:9px;color:#777d76;margin:3px 0 7px}
  .mobile-qty{display:flex;align-items:center;gap:7px}
  .mobile-qty button{width:25px;height:25px;border:1px solid #d8cfbe;border-radius:7px;background:#fff;color:#102d20;font-weight:900}
  .mobile-qty span{min-width:13px;text-align:center;font-size:10px;font-weight:800;color:#173f2b}
  .mobile-cart-item>strong{font-family:var(--serif);font-size:17px;color:#102d20}
  .mobile-empty{margin:35px 16px;padding:38px 20px;text-align:center;background:#fff;border:1px dashed #d8cfbe;border-radius:18px;color:#6e756d}
  .mobile-empty svg{width:40px;height:40px;stroke:#102d20;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px}
  .mobile-empty strong{display:block;color:#173f2b;font-family:var(--serif);font-size:23px;margin-bottom:5px}
  .mobile-empty span{font-size:11px;line-height:1.5}
  .mobile-order-box{margin:16px;background:#fff;border:1px solid #e4dccd;border-radius:17px;padding:16px}
  .mobile-order-line{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#6c746d;padding:7px 0}
  .mobile-order-line.total{border-top:1px solid #e3dbca;margin-top:6px;padding-top:13px;color:#173f2b;font-weight:800;font-size:14px}
  .mobile-full-button{width:100%;min-height:50px;border:0;border-radius:12px;background:#173f2b;color:#fff;font-size:12px;font-weight:800;margin-top:11px}

  .mobile-account-card{margin:13px 16px 0;padding:22px 18px;background:#173f2b;color:#fff;border-radius:20px;box-shadow:0 12px 30px rgba(16,45,32,.16)}
  .mobile-account-avatar{width:54px;height:54px;border-radius:50%;background:#f2c65f;color:#173f2b;display:grid;place-items:center;font-family:var(--serif);font-size:25px;font-weight:800}
  .mobile-account-card h2{font-family:var(--serif);font-size:25px;margin:15px 0 5px;color:#fff}
  .mobile-account-card p{font-size:11px;line-height:1.5;color:#dce5df;margin:0}
  .mobile-account-list{margin:13px 16px 0;display:grid;gap:8px}
  .mobile-account-link{width:100%;min-height:54px;padding:0 14px;border:1px solid #e2d9c8;border-radius:14px;background:#fff;color:#173f2b;display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:12px;font-weight:800}
  .mobile-account-link span{display:flex;align-items:center;gap:10px}
  .mobile-account-link svg{width:21px;height:21px;stroke:#102d20;stroke-width:2.25;fill:none;stroke-linecap:round;stroke-linejoin:round}

  /* SVG system: deliberately dark + bold for every mobile icon. */
  .mobile-app svg,.mobile-bottom-nav svg{stroke:#102d20;stroke-width:2.35}
  .mobile-bottom-item{color:#102d20;font-weight:800}
  .mobile-bottom-item.active{color:#102d20;background:#edf2ed;border-radius:14px}
  .mobile-bottom-item.active .mobile-nav-icon{stroke:#102d20;transform:none}
  .mobile-nav-icon{width:24px;height:24px;fill:none;stroke:#102d20;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav{height:76px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));background:rgba(255,253,248,.98);border-top:1px solid #ded6c6;box-shadow:0 -8px 28px rgba(16,45,32,.10);backdrop-filter:blur(18px)}
  .mobile-cart-count{border-color:#fffdf8;background:#e8552f;color:#fff;font-weight:900}

  /* Existing header icons are also made heavier/darker on mobile. */
  .site-header .ui-icon{stroke:#102d20;stroke-width:2.35}
  .site-header .cart-button-minimal .cart-icon{stroke:#102d20;stroke-width:2.25}
  .site-header .brand-mark{color:#102d20}

  .mobile-bottom-nav{z-index:1200}
}

@media(max-width:420px){
  .mobile-product-grid{gap:9px}
  .mobile-product-art{height:142px}
  .mobile-product-art::before{width:59px;height:97px}
  .mobile-product-art::after{top:61px;width:43px}
  .mobile-product-info{padding:11px}
  .mobile-product-info h3{font-size:17px}
  .mobile-hero-copy h1{font-size:35px}
  .mobile-primary-actions{grid-template-columns:1fr}
}

/* ================================================================
   MOBILE PREMIUM COMMERCE POLISH — phone experience only
   Desktop styles above remain unchanged.
   ================================================================ */
@media (max-width:760px){
  :root{
    --mobile-forest:#123624;
    --mobile-forest-deep:#0d291b;
    --mobile-ink:#17221b;
    --mobile-muted:#6d756e;
    --mobile-paper:#fffdfa;
    --mobile-cream:#f7f3e9;
    --mobile-line:#e6dfd2;
    --mobile-gold:#d6a33b;
    --mobile-red:#c94d35;
  }

  html{
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }

  body.mobile-app-active{
    background:var(--mobile-cream);
    color:var(--mobile-ink);
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
    overscroll-behavior-x:none;
  }

  body.mobile-app-active .site-header{
    min-height:64px;
    border-bottom:1px solid rgba(18,54,36,.08);
  }
  body.mobile-app-active .nav-wrap{
    min-height:64px;
    width:calc(100% - 24px);
    gap:8px;
  }
  body.mobile-app-active .brand strong{font-size:14px;letter-spacing:.045em}
  body.mobile-app-active .brand small{font-size:8px;letter-spacing:.08em}
  body.mobile-app-active .brand-mark{width:36px;height:36px;font-size:21px}

  .mobile-app{
    min-height:calc(100svh - 64px);
    background:
      radial-gradient(circle at 88% 0%,rgba(214,163,59,.08),transparent 24%),
      var(--mobile-cream);
  }
  .mobile-page-shell{min-height:calc(100svh - 64px)}
  .mobile-page-view{
    min-height:calc(100svh - 64px);
    padding:0 0 30px;
    animation:mobile-page-in .24s ease-out both;
  }
  @keyframes mobile-page-in{
    from{opacity:.01;transform:translateY(5px)}
    to{opacity:1;transform:none}
  }

  /* Home */
  .mobile-app-top{
    padding:18px 16px 8px;
  }
  .mobile-top-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:20px;
  }
  .mobile-app-top .eyebrow{
    margin:0;
    font-size:9px;
    letter-spacing:.18em;
    font-weight:800;
  }
  .mobile-mini-status{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:#687169;
    font-size:8px;
    font-weight:800;
    letter-spacing:.03em;
    white-space:nowrap;
  }
  .mobile-mini-status svg{width:14px;height:14px}
  .mobile-app-title{
    margin:10px 0 0;
    color:var(--mobile-forest);
    font-size:34px;
    line-height:1.02;
    letter-spacing:-.035em;
    font-weight:700;
  }
  .mobile-app-subtitle{
    max-width:520px;
    margin:9px 0 0;
    color:#6b736c;
    font-size:12px;
    line-height:1.65;
    letter-spacing:.005em;
  }

  .mobile-search-bar,
  .mobile-search-field{
    min-height:50px;
    border:1px solid #ddd5c6;
    border-radius:15px;
    background:rgba(255,255,255,.94);
    box-shadow:0 7px 22px rgba(23,34,27,.055);
  }
  .mobile-search-bar{
    width:calc(100% - 32px);
    margin:14px 16px 0;
    padding:0 13px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#7b827c;
    text-align:left;
  }
  .mobile-search-bar span{
    flex:1;
    color:#7b827c;
    font-size:12px;
    font-weight:600;
  }
  .mobile-search-bar svg:last-child{width:17px;height:17px}
  .mobile-search-bar:hover{border-color:#c9bea9}

  .mobile-hero-card{
    margin:12px 12px 0;
    border-radius:22px;
    background:var(--mobile-forest);
    box-shadow:0 17px 38px rgba(13,41,27,.16);
  }
  .mobile-hero-image{
    aspect-ratio:1672/941;
    background-size:100% 100%;
  }
  .mobile-hero-copy{padding:22px 18px 20px}
  .mobile-hero-copy .eyebrow{
    margin-bottom:8px;
    font-size:9px;
    letter-spacing:.18em;
  }
  .mobile-hero-copy h1{
    font-size:37px;
    line-height:1.02;
    letter-spacing:-.035em;
    margin-bottom:10px;
  }
  .mobile-hero-copy p{
    max-width:450px;
    font-size:12px;
    line-height:1.65;
  }
  .mobile-primary-actions{
    grid-template-columns:1.2fr .8fr;
    gap:8px;
    margin-top:17px;
  }
  .mobile-primary-actions button{
    min-height:46px;
    border-radius:12px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.01em;
  }
  .mobile-primary-actions button svg{width:16px;height:16px}
  .mobile-primary-actions .dark{
    background:#e4b84e;
    color:#102d1f;
    box-shadow:0 7px 17px rgba(0,0,0,.13);
  }
  .mobile-primary-actions .light{
    background:rgba(255,255,255,.08);
    color:#fff;
    border:1px solid rgba(255,255,255,.27);
  }

  .mobile-trust-row{
    margin:11px 16px 0;
    padding:11px 4px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    border-bottom:1px solid #e1d9ca;
  }
  .mobile-trust-row>div{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    color:#5f685f;
    font-size:8px;
    line-height:1.25;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.035em;
  }
  .mobile-trust-row svg{width:18px;height:18px;flex:none}

  .mobile-section{padding:27px 16px 0}
  .mobile-section-head{
    margin-bottom:13px;
    align-items:center;
  }
  .mobile-section-head h2{
    color:var(--mobile-forest);
    font-size:24px;
    letter-spacing:-.025em;
  }
  .mobile-section-head button,
  .mobile-text-link{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:var(--mobile-forest);
    font-size:10px;
    font-weight:800;
  }
  .mobile-section-head button svg{width:14px;height:14px}

  /* Product cards */
  .mobile-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .mobile-product-card{
    border:1px solid #e5ddcf;
    border-radius:17px;
    background:var(--mobile-paper);
    box-shadow:0 7px 22px rgba(23,34,27,.05);
    min-width:0;
  }
  .mobile-product-card:active{transform:scale(.99)}
  .mobile-product-art{
    width:100%;
    height:151px;
    border:0;
    border-bottom:1px solid rgba(23,34,27,.05);
    background:#eee4cd;
    cursor:pointer;
  }
  .mobile-product-art::before{
    width:62px;
    height:101px;
    border-radius:12px 12px 17px 17px;
    box-shadow:0 13px 20px rgba(43,30,9,.2);
  }
  .mobile-product-art::after{
    top:65px;
    width:44px;
    padding:5px 1px;
    font-size:6.5px;
  }
  .mobile-product-art-badge{
    position:absolute;
    top:9px;
    left:9px;
    z-index:2;
    padding:4px 6px;
    border-radius:999px;
    background:rgba(255,253,248,.88);
    color:#765b28;
    font-size:6px;
    font-weight:900;
    letter-spacing:.12em;
  }
  .mobile-product-art-label{
    position:absolute;
    right:9px;
    bottom:8px;
    z-index:2;
    color:rgba(18,54,36,.55);
    font-size:6px;
    font-weight:900;
    letter-spacing:.14em;
  }
  .mobile-product-info{padding:12px}
  .mobile-product-kicker{
    margin-bottom:5px;
    color:#9a7532;
    font-size:7px;
    line-height:1.2;
    letter-spacing:.095em;
    font-weight:900;
  }
  .mobile-product-info h3{
    margin-bottom:6px;
    color:var(--mobile-forest);
    font-size:17px;
    line-height:1.1;
    letter-spacing:-.015em;
  }
  .mobile-product-desc{
    min-height:31px;
    color:#727a73;
    font-size:9px;
    line-height:1.45;
  }
  .mobile-product-price{
    margin:10px 0;
    align-items:baseline;
  }
  .mobile-product-price strong{
    color:#142d20;
    font-size:18px;
    letter-spacing:-.01em;
  }
  .mobile-product-price span{
    color:#7a8079;
    font-size:8px;
    font-weight:700;
  }
  .mobile-add-button{
    min-height:40px;
    border-radius:10px;
    background:var(--mobile-forest);
    color:#fff;
    font-size:9px;
    font-weight:900;
    letter-spacing:.02em;
    box-shadow:0 5px 12px rgba(13,41,27,.13);
    transition:transform .16s,background .16s;
  }
  .mobile-add-button:active{transform:scale(.98)}
  .mobile-add-button.is-added{background:#245b3f}
  .mobile-add-button svg{width:15px;height:15px;stroke-width:2.7}

  .mobile-benefits{
    margin:25px 12px 0;
    padding:13px 6px;
    gap:0;
    background:#f0e8d8;
    border:1px solid #e1d6c1;
    border-radius:18px;
  }
  .mobile-benefit{
    padding:10px 5px;
  }
  .mobile-benefit svg{width:22px;height:22px;margin-bottom:6px;stroke-width:2.6}
  .mobile-benefit strong{font-size:8px;font-weight:900}
  .mobile-benefit span{font-size:7px;line-height:1.35}

  /* Shared inner-page header */
  .mobile-page-header{
    min-height:70px;
    padding:13px 16px 9px;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .mobile-page-header>div:nth-child(2),
  .mobile-page-header>div:first-child:not(.mobile-account-avatar){
    min-width:0;
  }
  .mobile-page-header h1{
    max-width:270px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--mobile-forest);
    font-size:27px;
    line-height:1.04;
    letter-spacing:-.03em;
  }
  .mobile-page-kicker{
    display:block;
    margin-bottom:3px;
    color:#9a7532;
    font-size:7px;
    line-height:1;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .mobile-page-count{
    margin-left:auto;
    min-width:28px;
    height:28px;
    padding:0 8px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#e9efe9;
    color:var(--mobile-forest);
    font-size:9px;
    font-weight:900;
  }
  .mobile-back{
    width:39px;
    height:39px;
    border:1px solid #dcd3c3;
    border-radius:12px;
    background:#fff;
    box-shadow:0 4px 12px rgba(23,34,27,.045);
  }
  .mobile-back svg{width:19px;height:19px;stroke-width:2.7}

  /* Shop search/filter */
  .mobile-search-field{
    width:calc(100% - 32px);
    margin:3px 16px 0;
    padding:0 8px 0 13px;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .mobile-search-field>svg{width:19px;height:19px;flex:none}
  .mobile-search-field input{
    width:100%;
    min-width:0;
    height:48px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--mobile-ink);
    font-size:12px;
    font-weight:700;
  }
  .mobile-search-field input::placeholder{color:#93988f;font-weight:500}
  .mobile-search-field button{
    width:32px;
    height:32px;
    border:0;
    border-radius:9px;
    background:#f0ece3;
    color:#667067;
    font-size:19px;
    line-height:1;
    cursor:pointer;
  }
  .mobile-shop-section{padding-top:15px}
  .mobile-chip-row{
    gap:7px;
    padding:1px 0 3px;
  }
  .mobile-chip{
    padding:8px 12px;
    border:1px solid #d8cfbd;
    background:#fff;
    color:#596159;
    font-size:9px;
    font-weight:900;
    box-shadow:0 2px 7px rgba(23,34,27,.025);
  }
  .mobile-chip.active{
    background:var(--mobile-forest);
    color:#fff;
    border-color:var(--mobile-forest);
  }
  .mobile-no-results{
    margin-top:8px;
    padding:28px 18px;
    text-align:center;
    border:1px dashed #d6cbb9;
    border-radius:17px;
    background:#fff;
  }
  .mobile-no-results svg{width:28px;height:28px;margin-bottom:8px}
  .mobile-no-results strong{display:block;color:var(--mobile-forest);font-family:var(--serif);font-size:20px}
  .mobile-no-results span{display:block;margin:4px 0 13px;color:#7b827b;font-size:10px}
  .mobile-outline-button{
    min-height:40px;
    padding:0 15px;
    border:1px solid #cfc5b3;
    border-radius:10px;
    background:#fff;
    color:var(--mobile-forest);
    font-size:10px;
    font-weight:900;
  }

  /* Product detail */
  .mobile-detail-card{
    margin:7px 16px 0;
    border:1px solid #e4dccd;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(23,34,27,.065);
  }
  .mobile-detail-art{
    height:270px;
    background:#eee4ce;
    position:relative;
  }
  .mobile-detail-art::before{
    width:105px;
    height:174px;
    border-radius:17px 17px 26px 26px;
  }
  .mobile-detail-art[data-tone="mountain"]{background:#e4eadf}
  .mobile-detail-art[data-tone="kombu"]{background:#e8e1c6}
  .mobile-detail-art[data-tone="kosu"]{background:#f2e4c2}
  .mobile-detail-label{
    left:14px;
    top:14px;
    padding:6px 8px;
    border-radius:6px;
    background:rgba(255,253,248,.9);
    color:#685024;
    font-size:7px;
    font-weight:900;
    letter-spacing:.12em;
  }
  .mobile-detail-seal{
    position:absolute;
    right:14px;
    bottom:14px;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid rgba(118,91,40,.35);
    border-radius:50%;
    background:rgba(255,253,248,.82);
    color:#765b28;
    font-size:7px;
    line-height:1.05;
    font-weight:900;
    letter-spacing:.08em;
    text-align:center;
  }
  .mobile-detail-copy{padding:19px}
  .mobile-rating{
    margin-bottom:7px;
    color:#7a6a4b;
    font-size:9px;
    font-weight:800;
  }
  .mobile-rating span{color:#c18b22;letter-spacing:.08em}
  .mobile-detail-copy h2{
    margin-bottom:9px;
    color:var(--mobile-forest);
    font-size:30px;
    line-height:1.02;
  }
  .mobile-detail-copy p{
    color:#6d756e;
    font-size:11px;
    line-height:1.65;
  }
  .mobile-size-title{
    margin:19px 0 8px;
    color:var(--mobile-forest);
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .mobile-size-grid{grid-template-columns:1fr}
  .mobile-size-option{
    min-height:56px;
    padding:11px 13px;
    border:1px solid #d8cfbd;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-align:left;
    background:#fff;
  }
  .mobile-size-option.active{
    border:1.5px solid var(--mobile-forest);
    background:#f2f6f1;
    padding:10px 12px;
  }
  .mobile-size-option strong{font-size:11px}
  .mobile-size-option span{margin:0;font-size:17px}
  .mobile-detail-highlights{
    margin:12px 16px 0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
  }
  .mobile-detail-highlights>div{
    min-height:84px;
    padding:11px 6px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid #e3dacb;
    border-radius:13px;
    background:#fff;
  }
  .mobile-detail-highlights svg{width:20px;height:20px;margin-bottom:5px}
  .mobile-detail-highlights strong{color:var(--mobile-forest);font-size:7.5px;font-weight:900}
  .mobile-detail-highlights span{margin-top:2px;color:#7d847c;font-size:6.5px;line-height:1.25}
  .mobile-sticky-buy{
    position:sticky;
    bottom:calc(76px + env(safe-area-inset-bottom));
    margin:12px 16px 0;
    padding:9px;
    grid-template-columns:1fr 1.35fr;
    border:1px solid #ddd4c4;
    border-radius:15px;
    background:rgba(255,253,248,.96);
    box-shadow:0 9px 28px rgba(23,34,27,.11);
    backdrop-filter:blur(14px);
    z-index:10;
  }
  .mobile-sticky-buy>div{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-left:8px;
  }
  .mobile-sticky-buy>div span{
    color:#8b8f88;
    font-size:7px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .mobile-sticky-buy strong{padding:0;margin-top:2px;font-size:21px}
  .mobile-sticky-buy button{
    min-height:48px;
    border-radius:11px;
    background:var(--mobile-forest);
    font-size:10px;
    font-weight:900;
    box-shadow:0 6px 15px rgba(13,41,27,.14);
  }
  .mobile-sticky-buy button svg{width:15px;height:15px;margin-right:4px;vertical-align:-3px}

  /* Cart */
  .mobile-cart-list{padding:3px 16px 0;gap:9px}
  .mobile-cart-item{
    grid-template-columns:64px minmax(0,1fr);
    gap:11px;
    padding:10px;
    border:1px solid #e3dacb;
    border-radius:15px;
    background:#fff;
    box-shadow:0 4px 15px rgba(23,34,27,.035);
  }
  .mobile-cart-thumb{
    width:64px;
    height:76px;
    border:0;
    border-radius:11px;
    background:linear-gradient(145deg,#eee4ce,#d8b15c);
  }
  .mobile-cart-bottle{
    position:absolute;
    width:28px;
    height:49px;
    left:18px;
    top:14px;
    border-radius:7px 7px 10px 10px;
    background:linear-gradient(90deg,#69420e,#f0c45d 55%,#7e5618);
    box-shadow:0 9px 12px rgba(43,30,9,.2);
  }
  .mobile-cart-main{min-width:0}
  .mobile-cart-title-row{display:flex;align-items:start;gap:5px}
  .mobile-cart-item h3{
    flex:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--mobile-forest);
    font-size:15px;
    line-height:1.15;
  }
  .mobile-remove{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:8px;
    background:#f8f3ea;
    color:#7d7465;
    flex:none;
  }
  .mobile-remove svg{width:14px;height:14px;stroke-width:2.4}
  .mobile-cart-item p{
    margin:4px 0 9px;
    color:#7b827b;
    font-size:8px;
    line-height:1.3;
  }
  .mobile-cart-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
  }
  .mobile-qty{
    gap:0;
    height:31px;
    border:1px solid #ddd4c3;
    border-radius:9px;
    background:#fff;
    overflow:hidden;
  }
  .mobile-qty button{
    width:29px;
    height:29px;
    border:0;
    border-radius:0;
    background:#fff;
  }
  .mobile-qty svg{width:13px;height:13px;stroke-width:2.6}
  .mobile-qty strong{
    min-width:27px;
    text-align:center;
    color:var(--mobile-forest);
    font-size:9px;
  }
  .mobile-cart-price{color:var(--mobile-forest);font-family:var(--serif);font-size:17px}
  .mobile-order-box{
    margin:14px 16px 0;
    padding:16px;
    border:1px solid #dfd6c7;
    border-radius:17px;
    background:#fff;
    box-shadow:0 6px 20px rgba(23,34,27,.045);
  }
  .mobile-order-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:8px;
    margin-bottom:7px;
  }
  .mobile-order-heading h2{
    margin:0;
    color:var(--mobile-forest);
    font-size:20px;
  }
  .mobile-order-heading span{color:#8a8e88;font-size:8px}
  .mobile-order-line{
    padding:7px 0;
    color:#6f776f;
    font-size:10px;
  }
  .mobile-order-line strong{color:#303b33;font-size:10px}
  .mobile-order-line.total{
    margin-top:5px;
    padding-top:12px;
    border-top:1px solid #e7dfd1;
    color:var(--mobile-forest);
    font-size:13px;
  }
  .mobile-order-line.total strong{color:var(--mobile-forest);font-size:18px}
  .mobile-full-button{
    min-height:50px;
    border-radius:11px;
    background:var(--mobile-forest);
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.01em;
    box-shadow:0 7px 16px rgba(13,41,27,.14);
  }
  .mobile-full-button svg{width:15px;height:15px;vertical-align:-3px;margin-left:3px}
  .mobile-continue-link{
    width:100%;
    margin-top:10px;
    padding:5px;
    border:0;
    background:transparent;
    color:var(--mobile-forest);
    font-size:9px;
    font-weight:900;
  }
  .mobile-secure-row{
    margin:13px 16px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    color:#747c74;
    font-size:7px;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
  }
  .mobile-secure-row svg{width:14px;height:14px}
  .mobile-secure-row i{width:3px;height:3px;border-radius:50%;background:#c5bba9}

  .mobile-empty{
    margin:28px 16px;
    padding:40px 20px;
    border:1px dashed #d5c9b7;
    border-radius:19px;
    background:#fff;
    box-shadow:0 7px 20px rgba(23,34,27,.035);
  }
  .mobile-empty>svg{width:39px;height:39px;margin-bottom:10px}
  .mobile-empty strong{
    font-size:22px;
    color:var(--mobile-forest);
    letter-spacing:-.02em;
  }
  .mobile-empty span{
    display:block;
    max-width:260px;
    margin:4px auto 12px;
    color:#7a817a;
    font-size:10px;
    line-height:1.55;
  }

  /* Checkout */
  .mobile-checkout-progress{
    margin:4px 16px 13px;
    display:flex;
    align-items:center;
    gap:6px;
  }
  .mobile-checkout-progress>div{
    display:flex;
    align-items:center;
    gap:4px;
    color:#9a9d97;
    font-size:7px;
    font-weight:900;
    white-space:nowrap;
  }
  .mobile-checkout-progress>div span{
    width:22px;height:22px;
    display:grid;place-items:center;
    border-radius:50%;
    border:1px solid #d4ccbc;
    background:#fff;
    color:#888d86;
    font-size:8px;
  }
  .mobile-checkout-progress>div.done,
  .mobile-checkout-progress>div.active{color:var(--mobile-forest)}
  .mobile-checkout-progress>div.done span{
    background:#e9f0e9;
    border-color:#c8d8ca;
    color:var(--mobile-forest);
  }
  .mobile-checkout-progress>div.active span{
    background:var(--mobile-forest);
    border-color:var(--mobile-forest);
    color:#fff;
  }
  .mobile-checkout-progress>i{
    flex:1;
    height:1px;
    background:#ddd5c7;
  }

  .mobile-checkout-form{
    display:grid;
    gap:10px;
    padding-bottom:10px;
  }
  .mobile-form-card{
    margin:0 16px;
    padding:16px;
    border:1px solid #e0d7c8;
    border-radius:17px;
    background:#fff;
    box-shadow:0 5px 18px rgba(23,34,27,.04);
  }
  .mobile-form-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
  }
  .mobile-form-title>span{
    width:35px;height:35px;
    display:grid;place-items:center;
    border-radius:10px;
    background:#edf2ed;
    color:var(--mobile-forest);
  }
  .mobile-form-title>span svg{width:18px;height:18px}
  .mobile-form-title h2{
    margin:0;
    color:var(--mobile-forest);
    font-size:18px;
    line-height:1.05;
  }
  .mobile-form-title p{
    margin:3px 0 0;
    color:#838981;
    font-size:8px;
    line-height:1.3;
  }
  .mobile-form-card label:not(.mobile-payment-option){
    display:block;
    margin-top:11px;
    color:#4c574f;
    font-size:8px;
    font-weight:900;
    letter-spacing:.04em;
  }
  .mobile-form-card label:first-of-type{margin-top:0}
  .mobile-form-card input:not([type="radio"]),
  .mobile-form-card textarea{
    width:100%;
    margin-top:5px;
    padding:0 11px;
    border:1px solid #dcd3c3;
    border-radius:10px;
    outline:0;
    background:#fffdfa;
    color:var(--mobile-ink);
    font-size:11px;
    font-weight:600;
    transition:border-color .16s,box-shadow .16s;
  }
  .mobile-form-card input:not([type="radio"]){height:44px}
  .mobile-form-card textarea{
    min-height:78px;
    padding-top:11px;
    padding-bottom:11px;
    resize:vertical;
    line-height:1.45;
  }
  .mobile-form-card input:not([type="radio"]):focus,
  .mobile-form-card textarea:focus{
    border-color:#8ea596;
    box-shadow:0 0 0 3px rgba(18,54,36,.08);
  }
  .mobile-form-card input::placeholder,
  .mobile-form-card textarea::placeholder{color:#a1a49f;font-weight:500}
  .mobile-form-two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .mobile-payment-option{
    position:relative;
    min-height:61px;
    margin-top:8px;
    padding:10px 11px;
    display:grid;
    grid-template-columns:18px 1fr;
    align-items:center;
    gap:8px;
    border:1px solid #ddd4c4;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
  }
  .mobile-payment-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
  }
  .mobile-payment-option.active{
    border-color:#799381;
    background:#f3f7f3;
    box-shadow:0 0 0 1px rgba(18,54,36,.08);
  }
  .mobile-radio{
    width:17px;height:17px;
    border:1.7px solid #9ca39d;
    border-radius:50%;
    position:relative;
  }
  .mobile-payment-option.active .mobile-radio{border-color:var(--mobile-forest)}
  .mobile-payment-option.active .mobile-radio::after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    background:var(--mobile-forest);
  }
  .mobile-payment-option strong{display:block;color:var(--mobile-forest);font-size:10px}
  .mobile-payment-option small{display:block;margin-top:2px;color:#858b85;font-size:8px}
  .mobile-checkout-items{
    display:grid;
    gap:8px;
    margin-bottom:6px;
  }
  .mobile-checkout-items>div{
    display:flex;
    justify-content:space-between;
    gap:8px;
    color:#616a62;
    font-size:9px;
  }
  .mobile-checkout-items strong{color:#2f3a32}
  .mobile-checkout-items small{color:#9a9d97;font-size:8px}
  .mobile-checkout-note{
    margin:0 16px;
    padding:10px 12px;
    display:flex;
    align-items:flex-start;
    gap:7px;
    border-radius:11px;
    background:#edf2ed;
    color:#5e6a61;
    font-size:7.5px;
    line-height:1.5;
  }
  .mobile-checkout-note svg{width:15px;height:15px;flex:none}
  .mobile-place-order{
    width:calc(100% - 32px);
    min-height:54px;
    margin:0 16px;
    border:0;
    border-radius:13px;
    background:var(--mobile-forest);
    color:#fff;
    font-size:11px;
    font-weight:900;
    box-shadow:0 10px 22px rgba(13,41,27,.18);
  }
  .mobile-place-order:disabled{opacity:.7}
  .mobile-place-order svg{width:16px;height:16px;vertical-align:-3px}

  .mobile-checkout-form.was-validated input:invalid,
  .mobile-checkout-form.was-validated textarea:invalid{
    border-color:#c96b57;
    box-shadow:0 0 0 3px rgba(201,77,53,.07);
  }

  /* Account + story */
  .mobile-account-card{
    margin:7px 16px 0;
    padding:19px;
    display:flex;
    align-items:center;
    gap:14px;
    border-radius:19px;
    background:linear-gradient(135deg,#173f2b,#0f2f20);
    box-shadow:0 14px 32px rgba(13,41,27,.15);
  }
  .mobile-account-avatar{
    width:52px;height:52px;
    flex:none;
    background:#e3b850;
    color:#123624;
    font-size:24px;
  }
  .mobile-account-card h2{
    margin:3px 0 4px;
    font-size:21px;
    line-height:1.05;
  }
  .mobile-account-overline{
    color:#dfbd6c;
    font-size:7px;
    font-weight:900;
    letter-spacing:.13em;
  }
  .mobile-account-card p{font-size:8px;line-height:1.45}
  .mobile-account-list{margin:12px 16px 0;gap:7px}
  .mobile-account-link{
    min-height:62px;
    padding:0 12px;
    border:1px solid #e0d7c8;
    border-radius:13px;
    background:#fff;
    box-shadow:0 4px 12px rgba(23,34,27,.03);
  }
  .mobile-account-link>span{
    min-width:0;
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    column-gap:9px;
    text-align:left;
  }
  .mobile-account-link>span svg{grid-row:1/3;width:20px;height:20px}
  .mobile-account-link b{
    color:var(--mobile-forest);
    font-size:10px;
    line-height:1.1;
  }
  .mobile-account-link small{
    color:#8a9089;
    font-size:7px;
    margin-top:3px;
    line-height:1.2;
  }
  .mobile-account-link>svg{width:16px;height:16px}
  .mobile-support-note{
    margin:13px 16px 0;
    padding:12px;
    display:flex;
    gap:8px;
    border:1px solid #e1d8c9;
    border-radius:12px;
    background:#f0e9dc;
  }
  .mobile-support-note>svg{width:18px;height:18px;flex:none}
  .mobile-support-note strong{display:block;color:var(--mobile-forest);font-size:8px}
  .mobile-support-note span{display:block;margin-top:2px;color:#737b73;font-size:7px;line-height:1.45}

  .mobile-story-card{
    margin:7px 16px 0;
    overflow:hidden;
    border:1px solid #e1d8c9;
    border-radius:19px;
    background:#fff;
    box-shadow:0 9px 24px rgba(23,34,27,.055);
  }
  .mobile-story-image{
    aspect-ratio:1672/941;
    background:url("assets/honey-mountain-hero.png") center/100% 100% no-repeat;
  }
  .mobile-story-copy{padding:18px}
  .mobile-story-copy .eyebrow{margin-bottom:7px;font-size:8px}
  .mobile-story-copy h2{margin:0 0 9px;color:var(--mobile-forest);font-size:27px;line-height:1.04}
  .mobile-story-copy p{margin:0 0 9px;color:#6e766f;font-size:10px;line-height:1.6}
  .mobile-story-copy p:last-child{margin-bottom:0}
  .mobile-story-points{margin:11px 16px 0;display:grid;gap:7px}
  .mobile-story-points>div{
    padding:12px;
    display:grid;
    grid-template-columns:24px 1fr;
    column-gap:8px;
    border:1px solid #e1d8c9;
    border-radius:12px;
    background:#fff;
  }
  .mobile-story-points svg{grid-row:1/3;width:19px;height:19px}
  .mobile-story-points strong{color:var(--mobile-forest);font-size:9px}
  .mobile-story-points span{color:#7b827b;font-size:7.5px;line-height:1.4;margin-top:2px}

  /* Success state */
  .mobile-success{
    min-height:calc(100svh - 64px - 76px);
    padding:60px 22px 35px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .mobile-success-mark{
    width:68px;height:68px;
    display:grid;place-items:center;
    border-radius:50%;
    background:#e7f0e8;
    color:var(--mobile-forest);
    box-shadow:0 0 0 9px rgba(18,54,36,.045);
  }
  .mobile-success-mark svg{width:31px;height:31px;stroke-width:2.7}
  .mobile-success .eyebrow{margin:23px 0 7px;font-size:8px}
  .mobile-success h1{
    max-width:340px;
    margin:0;
    color:var(--mobile-forest);
    font-size:31px;
    line-height:1.04;
    letter-spacing:-.03em;
  }
  .mobile-success>p:not(.eyebrow){
    max-width:320px;
    margin:10px auto 0;
    color:#727a72;
    font-size:10px;
    line-height:1.6;
  }
  .mobile-success-card{
    width:100%;
    margin:20px 0 12px;
    padding:4px 13px;
    border:1px solid #e1d8c9;
    border-radius:14px;
    background:#fff;
  }
  .mobile-success-card>div{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:8px;
    text-align:left;
    color:#657067;
    font-size:8px;
  }
  .mobile-success-card>div+div{border-top:1px solid #eee8dc}
  .mobile-success-card svg{width:17px;height:17px;flex:none}

  /* Bottom navigation */
  .mobile-bottom-nav{
    height:calc(76px + env(safe-area-inset-bottom));
    padding:5px 8px env(safe-area-inset-bottom);
    background:rgba(255,253,248,.98);
    border-top:1px solid #dcd4c5;
    box-shadow:0 -10px 30px rgba(13,41,27,.10);
    backdrop-filter:blur(20px);
  }
  .mobile-bottom-item{
    min-height:60px;
    gap:3px;
    border-radius:13px;
    color:#69716a;
    font-size:8px;
    font-weight:900;
    letter-spacing:.015em;
  }
  .mobile-bottom-item.active{
    background:#edf2ed;
    color:var(--mobile-forest);
  }
  .mobile-nav-icon{
    width:23px;height:23px;
    stroke:var(--mobile-forest);
    stroke-width:2.65;
  }
  .mobile-bottom-item:not(.active) .mobile-nav-icon{stroke:#4e5b52}
  .mobile-cart-wrap{height:24px}
  .mobile-cart-count{
    right:-9px;top:-7px;
    min-width:17px;height:17px;
    border:2px solid #fffdfa;
    background:var(--mobile-red);
    font-size:8px;
    font-weight:900;
  }

  /* Strong/dark SVG rule requested */
  .mobile-app svg,
  .mobile-bottom-nav svg,
  .site-header .ui-icon{
    stroke:#102d20;
    stroke-width:2.55;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-hero-copy svg,
  .mobile-primary-actions .dark svg,
  .mobile-sticky-buy button svg,
  .mobile-full-button svg,
  .mobile-place-order svg{
    stroke:currentColor;
  }
}

@media (max-width:420px){
  .mobile-app-title{font-size:31px}
  .mobile-hero-copy h1{font-size:34px}
  .mobile-primary-actions{grid-template-columns:1fr}
  .mobile-product-art{height:142px}
  .mobile-product-art::before{width:58px;height:96px}
  .mobile-product-art::after{top:60px;width:42px}
  .mobile-product-info{padding:10px}
  .mobile-product-info h3{font-size:16px}
  .mobile-detail-art{height:245px}
  .mobile-detail-copy h2{font-size:28px}
  .mobile-detail-highlights>div{min-height:78px}
  .mobile-checkout-progress>div strong{display:none}
  .mobile-form-two{grid-template-columns:1fr 1fr}
}

@media (prefers-reduced-motion:reduce){
  .mobile-page-view{animation:none}
}

/* ================================================================
   MOBILE PREMIUM POLISH — ICONS, BUTTONS, CHECKOUT
   Keep SVGs refined and outlined; never allow browser default black fill.
   ================================================================ */
@media (max-width:760px){
  .mobile-app svg,
  .mobile-app svg * ,
  .mobile-bottom-nav svg,
  .mobile-bottom-nav svg * ,
  .site-header .ui-icon,
  .site-header .ui-icon *{
    fill:none !important;
    stroke:currentColor !important;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-app svg{color:#18382a;stroke-width:1.9;}
  .mobile-bottom-nav svg{color:#18382a;stroke-width:2.1;}
  .site-header .ui-icon{color:#18382a;stroke-width:1.9;}

  .mobile-bottom-item:not(.active){color:#69736b;}
  .mobile-bottom-item:not(.active) svg{color:#31473b;}
  .mobile-bottom-item.active{color:#173f2b;background:transparent;}
  .mobile-bottom-item.active::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:4px;
    width:24px;
    height:2px;
    border-radius:99px;
    background:#c8860d;
    transform:translateX(-50%);
  }

  .mobile-full-button,
  .mobile-place-order,
  .mobile-sticky-buy button,
  .mobile-primary-actions button,
  .mobile-primary-actions a{
    min-height:52px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font-family:var(--sans);
    font-size:12px;
    font-weight:800;
    letter-spacing:.005em;
    line-height:1;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
  }

  .mobile-full-button,
  .mobile-place-order,
  .mobile-sticky-buy button{
    background:linear-gradient(135deg,#d99a20 0%,#b9750b 100%);
    color:#fff;
    box-shadow:0 9px 20px rgba(163,105,10,.20);
  }
  .mobile-full-button svg,
  .mobile-place-order svg,
  .mobile-sticky-buy button svg{
    width:17px;height:17px;
    color:currentColor;
    stroke:currentColor !important;
    fill:none !important;
    stroke-width:1.9;
  }
  .mobile-full-button:active,
  .mobile-place-order:active,
  .mobile-sticky-buy button:active,
  .mobile-primary-actions button:active,
  .mobile-primary-actions a:active{transform:scale(.985);}

  .mobile-continue-link{
    min-height:42px;
    border:1px solid #d8cdbb;
    border-radius:12px;
    background:#fffdf8;
    color:#173f2b;
    font-size:11px;
    font-weight:800;
  }

  .mobile-order-box{
    margin:12px 16px 0;
    padding:17px;
    border:1px solid #e2d7c5;
    border-radius:18px;
    background:#fffdf9;
    box-shadow:0 8px 24px rgba(107,75,20,.07);
  }
  .mobile-order-heading h2{font-size:18px;letter-spacing:-.02em;}
  .mobile-order-heading span{font-size:8px;color:#8a8d87;}
  .mobile-order-line{font-size:11px;}
  .mobile-order-line.total{padding-top:13px;margin-top:7px;}
  .mobile-order-line.total strong{font-size:19px;}

  .mobile-form-card{
    border-color:#e5dccd;
    box-shadow:0 7px 22px rgba(107,75,20,.055);
  }
  .mobile-form-title>span{
    background:#f7ecd6;
    color:#173f2b;
    border:1px solid #ead8b8;
  }
  .mobile-form-title>span svg{
    color:#173f2b;
    stroke:currentColor !important;
    fill:none !important;
    stroke-width:1.9;
  }
  .mobile-form-card input:not([type="radio"]),
  .mobile-form-card textarea{
    background:#fffefb;
    border-color:#d9cfbf;
    font-size:12px;
  }
  .mobile-form-card input:not([type="radio"]):focus,
  .mobile-form-card textarea:focus{
    border-color:#bd8a2a;
    box-shadow:0 0 0 3px rgba(200,134,13,.10);
  }

  .mobile-payment-option{
    min-height:66px;
    border-color:#e0d6c6;
    background:#fffdfa;
  }
  .mobile-payment-option.active{
    border-color:#c9932d;
    background:#fff8e9;
    box-shadow:0 0 0 1px rgba(200,134,13,.10);
  }
  .mobile-payment-option strong{font-size:11px;}
  .mobile-payment-option small{font-size:8.5px;color:#7f857e;}
  .mobile-radio{border-color:#9b978d;}
  .mobile-payment-option.active .mobile-radio{border-color:#b9780e;}
  .mobile-payment-option.active .mobile-radio::after{background:#b9780e;}

  .mobile-checkout-progress>div.active span{
    background:#173f2b;
    border-color:#173f2b;
  }
  .mobile-checkout-progress>div.done span{
    background:#f7ecd6;
    border-color:#dfc58f;
    color:#173f2b;
  }

  .mobile-checkout-note{
    background:#f7f1e6;
    border:1px solid #e9dfce;
    color:#687169;
    font-size:8px;
  }
  .mobile-checkout-note svg{
    color:#173f2b;
    stroke:currentColor !important;
    fill:none !important;
    stroke-width:1.9;
  }

  .mobile-account-link svg,
  .mobile-account-link>svg,
  .mobile-support-note svg,
  .mobile-story-points svg,
  .mobile-detail-highlights svg,
  .mobile-empty svg,
  .mobile-success-mark svg,
  .mobile-success-card svg,
  .mobile-remove svg,
  .mobile-qty svg{
    fill:none !important;
    stroke:currentColor !important;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-account-link{
    border-color:#e3d9c9;
    background:#fffdf9;
    box-shadow:0 4px 14px rgba(107,75,20,.035);
  }
  .mobile-account-link:active{background:#faf4e8;transform:scale(.992);}

  .mobile-empty{
    border:1px solid #e3d8c7;
    background:#fffdf9;
    box-shadow:0 9px 26px rgba(107,75,20,.06);
  }
  .mobile-empty>svg{color:#173f2b;stroke-width:1.8;}

  .mobile-success-mark{
    border:1px solid #dfc58f;
    background:#fff8e9;
    color:#173f2b;
  }
  .mobile-success-mark svg{stroke-width:1.8;}
}

/* === MOBILE PRODUCT VARIANTS / PREMIUM ICON RESET === */
.ui-icon, .mobile-nav-icon, .mobile-product-card svg, .mobile-detail-card svg, .mobile-size-option svg, .mobile-sticky-buy svg, .mobile-cart-item svg, .mobile-form-card svg, .mobile-account-link svg, .mobile-full-button svg, .mobile-primary-actions svg, .mobile-benefit svg, .mobile-trust-row svg, .mobile-secure-row svg, .mobile-support-note svg, .mobile-empty svg, .mobile-success svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mobile-product-art-bottle,.mobile-detail-bottle{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff8e7;text-shadow:0 1px 2px rgba(40,20,0,.55);font-family:var(--serif);font-weight:800;line-height:1.05}
.mobile-product-art-bottle{width:78px;height:112px;border-radius:14px 14px 20px 20px;background:linear-gradient(90deg,#9b5709,#f6c34e 55%,#a9630c);border:4px solid #8c4f08;box-shadow:0 16px 24px rgba(74,46,12,.24)}
.mobile-product-art-bottle:before,.mobile-detail-bottle:before{content:"";position:absolute;top:-16px;width:34px;height:18px;border-radius:5px 5px 2px 2px;background:#633b12;border:2px solid #4b2b0d}
.mobile-product-art-bottle span{font-size:13px;letter-spacing:.03em}.mobile-product-art-bottle small{font-family:var(--sans);font-size:6px;letter-spacing:.08em;margin-top:5px}
.mobile-detail-bottle{position:relative;width:142px;height:210px;border-radius:22px 22px 32px 32px;background:linear-gradient(90deg,#8c4c07,#f7c64d 52%,#a45d0a);border:6px solid #814709;box-shadow:0 22px 32px rgba(62,39,8,.28)}
.mobile-detail-bottle:before{top:-24px;width:58px;height:28px;border-width:3px}
.mobile-detail-bottle strong{font-size:23px}.mobile-detail-bottle small{font-family:var(--sans);font-size:8px;letter-spacing:.12em;margin-top:9px}
.mobile-variant-mini{display:flex;align-items:center;justify-content:space-between;margin:14px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.mobile-variant-mini span{font-size:11px;color:var(--muted)}.mobile-variant-mini strong{font-size:12px;color:var(--ink)}
.mobile-size-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.mobile-size-option{min-height:70px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:5px;color:var(--ink);cursor:pointer}
.mobile-size-option strong{font-family:var(--sans);font-size:15px}.mobile-size-option span{font-size:11px;color:var(--muted);line-height:1.25}.mobile-size-option.active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(200,134,13,.13);background:#fffaf0}
.mobile-detail-benefits{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.mobile-detail-benefits h3{margin:0 0 12px;font-size:16px}.mobile-detail-benefits ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.mobile-detail-benefits li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.mobile-detail-benefits li svg{width:16px;height:16px;color:var(--forest);flex:0 0 auto}
.mobile-sticky-buy button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
@media(max-width:420px){.mobile-detail-bottle{width:126px;height:190px}.mobile-detail-bottle strong{font-size:20px}}

/* ================================================================
   FINAL MOBILE QA PATCH
   Fixes stacking, duplicate bottle layers, cart alignment and
   typography/icon weight without changing desktop presentation.
   ================================================================ */
@media (max-width:760px){
  /* Prevent synthetic bottle layers from sitting behind the real bottle artwork. */
  .mobile-product-art::before,
  .mobile-detail-art::before{content:none !important;display:none !important}
  .mobile-detail-art{position:relative}
  .mobile-detail-label{position:absolute;top:14px;right:14px;z-index:2}

  /* Refined icon system: dark, premium outline — never a filled glyph. */
  .mobile-app svg,
  .mobile-app svg * ,
  .mobile-bottom-nav svg,
  .mobile-bottom-nav svg * ,
  .site-header .ui-icon,
  .site-header .ui-icon *{
    fill:none !important;
    stroke:currentColor !important;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-app svg{stroke-width:1.85}
  .mobile-bottom-nav svg{stroke-width:2}
  .site-header .ui-icon{stroke-width:2}

  /* Header / page title alignment */
  .mobile-page-header{width:100%;min-width:0;padding:18px 16px 10px;align-items:center}
  .mobile-page-header>div{min-width:0}
  .mobile-page-header h1{font-size:27px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-page-kicker{display:block;line-height:1.2}
  .mobile-page-count{margin-left:auto;flex:none}

  /* Search field never pushes the clear button outside the viewport. */
  .mobile-search-field{margin:8px 16px 0;width:calc(100% - 32px);display:grid;grid-template-columns:20px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:0 8px 0 13px}
  .mobile-search-field input{min-width:0;width:100%;border:0!important;outline:0;background:transparent;box-shadow:none!important}
  .mobile-search-field button{width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:#6c746d;font-size:20px;line-height:1}

  /* Product cards: equal rhythm, no accidental overflow. */
  .mobile-product-grid{align-items:stretch}
  .mobile-product-card{min-width:0;height:100%;display:flex;flex-direction:column}
  .mobile-product-art{flex:none;position:relative}
  .mobile-product-info{display:flex;flex:1;flex-direction:column;min-width:0}
  .mobile-product-desc{min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .mobile-variant-mini{margin-top:auto}
  .mobile-add-button{flex:none}

  /* Product detail */
  .mobile-detail-card{overflow:hidden}
  .mobile-detail-art{min-height:250px}
  .mobile-detail-copy{min-width:0}
  .mobile-detail-copy h2{overflow-wrap:anywhere}
  .mobile-size-grid{grid-template-columns:1fr 1fr}
  .mobile-size-option{min-width:0}
  .mobile-size-option span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-sticky-buy{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));margin:12px 16px 0;padding:9px;grid-template-columns:minmax(0,1fr) minmax(145px,1.25fr);align-items:stretch}
  .mobile-sticky-buy>div{min-width:0;padding-left:5px}
  .mobile-sticky-buy>div span{display:block;font-size:9px;color:#747b74;line-height:1.2}
  .mobile-sticky-buy strong{padding-left:0;font-size:20px;line-height:1.1;white-space:nowrap}
  .mobile-sticky-buy button{min-width:0;white-space:nowrap}

  /* Cart: the previous 3-column grid had only 2 direct children, creating a blank column. */
  .mobile-cart-list{width:100%;padding:8px 16px 0}
  .mobile-cart-item{grid-template-columns:58px minmax(0,1fr);gap:11px;align-items:start}
  .mobile-cart-thumb{width:58px;height:68px;flex:none}
  .mobile-cart-main{min-width:0;width:100%}
  .mobile-cart-title-row{display:flex;align-items:flex-start;gap:7px;min-width:0}
  .mobile-cart-title-row h3{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-remove{width:28px;height:28px;flex:none;display:grid;place-items:center;border:1px solid #ded5c5;border-radius:8px;background:#fff;color:#526058}
  .mobile-cart-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
  .mobile-cart-price{white-space:nowrap;flex:none}
  .mobile-qty{flex:none}

  /* Order summary and checkout cards share the same left/right rhythm. */
  .mobile-order-box,.mobile-form-card{margin-left:16px;margin-right:16px}
  .mobile-order-line strong{max-width:58%;text-align:right;overflow-wrap:anywhere}
  .mobile-checkout-form{display:grid;gap:12px;padding-bottom:12px}
  .mobile-form-card{width:auto;min-width:0}
  .mobile-form-title{min-width:0}
  .mobile-form-title>div{min-width:0}
  .mobile-form-title h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-form-card label{min-width:0}
  .mobile-form-two{min-width:0}
  .mobile-form-two label{min-width:0}
  .mobile-form-card input:not([type=radio]),.mobile-form-card textarea{width:100%;max-width:100%;box-sizing:border-box}
  .mobile-payment-option{width:100%;min-width:0}
  .mobile-payment-option>div{min-width:0}
  .mobile-payment-option strong,.mobile-payment-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-checkout-items>div{min-width:0}
  .mobile-checkout-items>div span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-place-order{width:calc(100% - 32px);margin-left:16px;margin-right:16px}

  /* Bottom navigation: clean outline icons and even hit areas. */
  .mobile-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));height:76px;padding-left:6px;padding-right:6px}
  .mobile-bottom-item{min-width:0;gap:3px;border-radius:12px;background:transparent!important}
  .mobile-bottom-item span:last-child{font-size:9px;line-height:1.1}
  .mobile-bottom-item.active{color:#173f2b}
  .mobile-bottom-item.active::after{bottom:4px;width:20px;height:2px;background:#c8860d}
  .mobile-cart-wrap{width:24px;height:24px;display:grid;place-items:center}

  /* Home typography and action alignment */
  .mobile-top-line{min-width:0}
  .mobile-mini-status{max-width:45%;overflow:hidden;text-overflow:ellipsis}
  .mobile-app-title,.mobile-app-subtitle,.mobile-hero-copy h1,.mobile-hero-copy p{overflow-wrap:anywhere}
  .mobile-primary-actions>*{min-width:0}

  /* Accessibility / interaction polish */
  .mobile-app button,.mobile-app a,.mobile-bottom-item{touch-action:manipulation}
  .mobile-app button:focus-visible,.mobile-app a:focus-visible,.mobile-bottom-item:focus-visible{outline:2px solid #c8860d;outline-offset:2px}
}

@media (max-width:360px){
  .mobile-product-grid{grid-template-columns:1fr}
  .mobile-product-art{height:170px}
  .mobile-primary-actions{grid-template-columns:1fr}
  .mobile-size-grid{grid-template-columns:1fr}
  .mobile-sticky-buy{grid-template-columns:minmax(0,1fr) 1fr}
  .mobile-sticky-buy button{font-size:11px}
  .mobile-form-two{grid-template-columns:1fr}
}


/* ================================================================
   FINAL PRODUCT / PRICE POLISH
   Clean hierarchy, darker thin body copy, readable prices,
   equal card heights and responsive product actions.
   ================================================================ */
.product-grid{align-items:stretch}
.product-card{height:100%;display:flex;flex-direction:column;min-width:0}
.product-art{flex:0 0 240px}
.product-info{display:flex;flex:1;flex-direction:column;min-width:0}
.product-kicker{font-weight:700;color:#7b642f;letter-spacing:.09em}
.product-info h3{font-weight:600;color:#18251d}
.product-desc{color:#59635c;font-weight:400;line-height:1.65;min-height:62px}
.product-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0 12px}
.product-prices>div{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;padding:10px 11px;border:1px solid #e4dece;border-radius:10px;background:#fcfaf5}
.product-prices span{font-family:var(--sans);font-size:10px;font-weight:600;color:#687168;white-space:nowrap}
.product-prices strong{font-family:var(--sans);font-size:18px;line-height:1;font-weight:700;color:#17221b;white-space:nowrap}
.product-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.product-actions .add-button{width:100%;min-height:42px;padding:10px 9px;border-radius:10px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.product-actions .add-button.secondary{background:#fff;color:var(--forest);border:1px solid #c9cfc7}
.product-actions .add-button.is-added{background:#24583d;color:#fff}
.product-actions .button-cart-icon{width:16px;height:16px;flex:none}
.product-actions .add-button.secondary .button-cart-icon{stroke:currentColor}
.product-actions .add-button span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.product-actions .add-button:focus-visible{outline:2px solid #c8860d;outline-offset:2px}

/* Keep all desktop product text restrained and dark rather than heavy. */
.product-card p,.product-card span{font-weight:400}
.product-card .product-kicker{font-weight:700}
.product-card .product-prices strong{font-weight:700}

@media (max-width:1050px) and (min-width:761px){
  .container{width:min(100% - 36px,960px)}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .product-art{flex-basis:220px}
}
@media (max-width:760px){
  .mobile-product-card{border-color:#e4ddcf;box-shadow:0 5px 18px rgba(42,48,39,.05)}
  .mobile-product-art{height:155px}
  .mobile-product-info{padding:14px}
  .mobile-product-kicker{font-weight:700;color:#7b642f}
  .mobile-product-info h3{font-weight:600;color:#17221b}
  .mobile-product-desc{font-weight:400;color:#5f6861;line-height:1.55}
  .mobile-variant-mini{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin:12px 0 10px;
    padding:0;
    border:0;
    background:transparent;
  }
  .mobile-variant-mini>span{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:5px;
    min-width:0;
    padding:8px 9px;
    border:1px solid #e5dece;
    border-radius:9px;
    background:#fcfaf5;
    color:#687168;
    font-size:9px;
    font-weight:600;
    white-space:nowrap;
  }
  .mobile-variant-mini>span strong{
    font-family:var(--sans);
    color:#17221b;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
  }
  .mobile-add-button{min-height:40px;border-radius:10px;font-weight:700}
  .mobile-detail-copy{padding:18px}
  .mobile-detail-copy h2{font-weight:600;color:#17221b}
  .mobile-detail-copy p{font-weight:400;color:#5f6861}
  .mobile-size-title{font-weight:700;color:#33483b;letter-spacing:.04em}
  .mobile-size-option{background:#fff;color:#243128}
  .mobile-size-option strong{font-family:var(--sans);font-weight:700;color:#17221b}
  .mobile-size-option span{
    font-family:var(--sans);
    font-size:18px;
    font-weight:700;
    color:#17221b;
  }
  .mobile-size-option.active{border-color:#c8860d;background:#fffbf1;box-shadow:0 4px 12px rgba(200,134,13,.10)}
  .mobile-sticky-buy{background:rgba(255,253,248,.98)}
  .mobile-sticky-buy strong{font-family:var(--sans);font-weight:700;color:#17221b}
  .mobile-sticky-buy button{font-weight:700}
}

@media (max-width:420px){
  .product-prices{gap:6px}
  .mobile-variant-mini>span{font-size:8.5px;padding:8px 7px}
  .mobile-variant-mini>span strong{font-size:12px}
  .mobile-size-option span{font-size:17px}
}


/* ================================================================
   FINAL RESPONSIVE QA — PRODUCT DETAIL + CART + DESKTOP CHECKOUT
   ================================================================ */

/* Real commerce price typography: restrained sans-serif, tabular figures. */
.product-prices strong,
.mobile-variant-mini>span strong,
.mobile-size-option span,
.mobile-sticky-buy strong,
.mobile-cart-price,
.mobile-order-line strong,
.desktop-checkout-total-row strong,
.desktop-checkout-item>strong,
[data-cart-total]{
  font-family:var(--sans)!important;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.025em;
  font-weight:700!important;
  color:#18221c!important;
}

/* Mobile product page: sticky bar never hides the last content. */
@media (max-width:760px){
  .mobile-page-view[data-mobile-view="product"]{
    padding-bottom:96px;
    overflow:visible;
  }
  .mobile-detail-card{
    margin-bottom:0;
  }
  .mobile-detail-art{
    position:relative;
    min-height:285px;
  }
  .mobile-detail-art::before{
    content:none!important;
  }
  .mobile-detail-bottle{
    display:grid;
    place-items:center;
    width:104px;
    height:175px;
    border-radius:18px 18px 28px 28px;
    background:linear-gradient(90deg,#68430f,#c28b2d 35%,#f2c65b 58%,#805516);
    box-shadow:0 18px 28px rgba(40,30,9,.22);
    color:#fff7df;
    text-align:center;
  }
  .mobile-detail-bottle strong{
    display:block;
    font-family:var(--serif);
    font-size:16px;
    line-height:1;
  }
  .mobile-detail-bottle small{
    display:block;
    margin-top:4px;
    font-family:var(--sans);
    font-size:5px;
    font-weight:700;
    letter-spacing:.08em;
    line-height:1.25;
  }

  /* Sticky purchase bar stays above the fixed bottom nav and remains part of layout. */
  .mobile-sticky-buy{
    position:sticky!important;
    bottom:76px!important;
    margin:14px 16px 0!important;
    padding:9px!important;
    min-height:66px;
    grid-template-columns:minmax(0,1fr) minmax(145px,1.05fr)!important;
    align-items:center;
    gap:10px!important;
    background:rgba(255,253,248,.985)!important;
    border:1px solid #ddd4c3!important;
    box-shadow:0 10px 28px rgba(28,35,29,.10)!important;
    border-radius:15px!important;
    z-index:50!important;
  }
  .mobile-sticky-price{
    min-width:0;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center;
    gap:2px;
    padding:0 4px 0 8px;
  }
  .mobile-sticky-price>span{
    font-family:var(--sans);
    font-size:9px;
    line-height:1;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#70776f;
  }
  .mobile-sticky-buy strong{
    display:block!important;
    padding:0!important;
    font-size:20px!important;
    line-height:1.05;
  }
  .mobile-sticky-cart-button{
    min-width:0!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:0 14px!important;
    border-radius:11px!important;
    background:#d89408!important;
    color:#fff!important;
    font-family:var(--sans)!important;
    font-size:12px!important;
    font-weight:700!important;
  }
  .mobile-sticky-cart-button .sticky-cart-icon{
    width:19px;
    height:19px;
    display:grid;
    place-items:center;
    flex:none;
  }
  .mobile-sticky-cart-button .sticky-cart-icon svg{
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:#fff!important;
    stroke-width:2!important;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  /* Header cart matches the requested clean outlined cart style. */
  .site-header .cart-button-minimal,
  .site-header .cart-button{
    width:40px!important;
    height:40px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    background:transparent!important;
    border:0!important;
  }
  .site-header .cart-button-minimal .cart-icon,
  .site-header .cart-button .cart-icon,
  .site-header .cart-button-minimal svg{
    width:22px!important;
    height:22px!important;
    fill:none!important;
    stroke:#102d20!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .site-header .cart-button-minimal .cart-count,
  .site-header .cart-button .cart-count{
    top:1px!important;
    right:0!important;
    min-width:15px!important;
    height:15px!important;
    padding:0 4px!important;
    display:grid!important;
    place-items:center!important;
    border:2px solid #fffdf8!important;
    background:#e8552f!important;
    color:#fff!important;
    font-family:var(--sans)!important;
    font-size:8px!important;
    font-weight:800!important;
  }

  /* Bottom cart icon uses the same clean outline treatment. */
  .mobile-cart-wrap .mobile-nav-icon{
    fill:none!important;
    stroke:#102d20!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .mobile-cart-count{
    top:-6px!important;
    right:-7px!important;
    min-width:15px!important;
    height:15px!important;
    font-size:8px!important;
    border:2px solid #fffdf8!important;
  }

  /* Cart page: no empty grid column and no horizontal squeeze. */
  .mobile-cart-item{
    grid-template-columns:58px minmax(0,1fr)!important;
    min-width:0;
  }
  .mobile-cart-main{min-width:0}
  .mobile-cart-title-row{min-width:0;display:flex;align-items:center;gap:7px}
  .mobile-cart-title-row h3{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-remove{flex:none}
  .mobile-cart-bottom{min-width:0}
  .mobile-cart-price{white-space:nowrap;font-size:17px}

  @media(max-width:420px){
    .mobile-detail-art{min-height:245px;height:245px}
    .mobile-detail-bottle{width:92px;height:154px}
    .mobile-sticky-buy{
      grid-template-columns:minmax(0,1fr) minmax(130px,1fr)!important;
      margin-left:12px!important;
      margin-right:12px!important;
    }
    .mobile-sticky-cart-button{font-size:11px!important;padding:0 9px!important}
  }
  @media(max-width:360px){
    .mobile-sticky-buy{grid-template-columns:1fr 1.1fr!important}
    .mobile-sticky-cart-button{gap:5px!important}
  }
}

/* Desktop checkout — same step-by-step information hierarchy as mobile. */
.desktop-checkout-panel{
  width:min(980px,calc(100vw - 48px));
  max-height:min(90vh,900px);
  overflow:auto;
  padding:30px;
}
.desktop-checkout-head{padding-right:42px}
.checkout-kicker{
  display:block;
  margin-bottom:6px;
  font:700 10px/1 var(--sans);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#9a6e21;
}
.desktop-checkout-head h2{
  margin:0;
  font-family:var(--serif);
  font-size:34px;
  font-weight:600;
  color:#17221b;
}
.desktop-checkout-head p{
  margin:7px 0 0;
  color:#626a63;
  font:400 13px/1.5 var(--sans);
}
.desktop-checkout-progress{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto;
  align-items:center;
  gap:10px;
  margin:22px 0;
}
.desktop-checkout-progress div{display:flex;align-items:center;gap:8px;color:#8a918a;font:600 11px/1 var(--sans)}
.desktop-checkout-progress div.active{color:#173f2b}
.desktop-checkout-progress span{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  border:1px solid #d9d0bf;background:#fff;color:#697168;font-weight:700;
}
.desktop-checkout-progress .active span{background:#173f2b;color:#fff;border-color:#173f2b}
.desktop-checkout-progress i{height:1px;background:#ddd5c6}
.desktop-checkout-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}
.desktop-checkout-main{display:grid;gap:14px;min-width:0}
.desktop-checkout-card,.desktop-checkout-summary{
  background:#fff;
  border:1px solid #e2d9c8;
  border-radius:16px;
  padding:18px;
}
.desktop-checkout-card-title{display:flex;gap:11px;align-items:flex-start;margin-bottom:15px}
.checkout-icon{width:21px;height:21px;flex:none}
.checkout-icon svg{width:21px;height:21px;fill:none;stroke:#102d20;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.desktop-checkout-card-title h3,.desktop-checkout-summary h3{margin:0;color:#17221b;font:600 18px/1.15 var(--serif)}
.desktop-checkout-card-title p{margin:3px 0 0;color:#727a73;font:400 10px/1.4 var(--sans)}
.desktop-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.desktop-form-grid label{
  display:grid;gap:6px;color:#3d473f;font:600 10px/1.2 var(--sans);
}
.desktop-form-grid label.full{grid-column:1/-1}
.desktop-form-grid input,.desktop-form-grid textarea{
  width:100%;box-sizing:border-box;border:1px solid #ddd5c7;border-radius:10px;background:#fffdfa;
  padding:11px 12px;color:#17221b;font:400 12px/1.35 var(--sans);outline:none;
}
.desktop-form-grid textarea{resize:vertical;min-height:82px}
.desktop-form-grid input:focus,.desktop-form-grid textarea:focus{border-color:#c8860d;box-shadow:0 0 0 3px rgba(200,134,13,.10)}
.desktop-payment-option{
  display:flex;align-items:center;gap:10px;min-height:58px;padding:11px 12px;margin-top:8px;
  border:1px solid #e0d8c9;border-radius:12px;background:#fff;cursor:pointer;
}
.desktop-payment-option.active{border-color:#c8860d;background:#fffbf2}
.desktop-payment-option input{position:absolute;opacity:0;pointer-events:none}
.desktop-radio{width:16px;height:16px;border:1.5px solid #9da49e;border-radius:50%;position:relative;flex:none}
.desktop-payment-option.active .desktop-radio{border-color:#c8860d}
.desktop-payment-option.active .desktop-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#c8860d}
.desktop-payment-option strong{display:block;color:#263229;font:600 11px/1.2 var(--sans)}
.desktop-payment-option small{display:block;margin-top:3px;color:#777e77;font:400 9px/1.3 var(--sans)}
.desktop-checkout-summary{position:sticky;top:0}
.desktop-checkout-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.desktop-checkout-summary-head span{color:#777e77;font:500 10px/1 var(--sans)}
.desktop-checkout-items{display:grid;gap:8px;margin:14px 0;padding-bottom:9px;border-bottom:1px solid #e5dece}
.desktop-checkout-item{display:flex;justify-content:space-between;gap:12px}
.desktop-checkout-item div{min-width:0}
.desktop-checkout-item strong{display:block;font:600 12px/1.25 var(--sans);color:#263229}
.desktop-checkout-item span{display:block;margin-top:3px;color:#777e77;font:400 9px/1.3 var(--sans)}
.desktop-checkout-total-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;color:#6f776f;font:400 10px/1.3 var(--sans)}
.desktop-checkout-total-row strong{font-size:12px}
.desktop-checkout-total-row.grand{margin-top:4px;padding-top:13px;border-top:1px solid #e2d9c8;color:#173f2b;font-weight:700}
.desktop-checkout-total-row.grand strong{font-size:20px}
.desktop-place-order{
  width:100%;min-height:48px;margin-top:12px;border:0;border-radius:11px;background:#d89408;color:#fff;
  font:700 12px/1 var(--sans);cursor:pointer;
}
.desktop-place-order:disabled{opacity:.65;cursor:wait}
.desktop-checkout-note{margin-top:10px;text-align:center;color:#81877f;font:400 9px/1.45 var(--sans)}
.desktop-checkout-message{margin:10px 0 0}
.desktop-checkout-success{text-align:center;padding:42px 20px}
.desktop-success-mark{
  width:56px;height:56px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;
  background:#173f2b;color:#fff;font:700 24px/1 var(--sans);
}
.desktop-checkout-success h3{margin:0;color:#17221b;font:600 28px/1.15 var(--serif)}
.desktop-checkout-success p{max-width:520px;margin:9px auto 20px;color:#687168;font:400 12px/1.6 var(--sans)}

@media(max-width:760px){
  .desktop-checkout-modal{display:none!important}
}
@media(max-width:820px) and (min-width:761px){
  .desktop-checkout-grid{grid-template-columns:1fr}
  .desktop-checkout-summary{position:static}
}
@media(max-width:560px) and (min-width:761px){
  .desktop-checkout-panel{width:calc(100vw - 24px);padding:20px}
  .desktop-form-grid{grid-template-columns:1fr}
  .desktop-form-grid label.full{grid-column:auto}
}

/* FINAL CHECKOUT FLOW PATCH — keep desktop summary in the same single order flow */
@media (min-width:761px){
  .desktop-checkout-grid{
    display:block!important;
  }
  .desktop-checkout-main{
    display:grid;
    gap:14px;
    min-width:0;
  }
  .desktop-checkout-summary{
    width:100%;
    margin-top:14px;
  }
  .desktop-checkout-panel{
    max-height:min(92vh,900px);
    overflow-y:auto;
  }
}


/* === PRODUCT IMAGERY / WEIGHT INSPECT === */
.product-art-image{
  border:0;
  width:100%;
  padding:0;
  cursor:pointer;
  background:#f4ead7;
}
.product-art-image::before{display:none!important;content:none!important}
.product-art-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}
.product-art-image:focus-visible{
  outline:2px solid var(--gold,#c9963e);
  outline-offset:-3px;
}
.product-actions .desktop-view-product{
  width:100%;
  min-height:42px;
  border-color:#c9b58b;
  color:#244a34;
  background:#fffaf0;
}
.product-actions .desktop-view-product:hover{
  background:#f4ead7;
}
.product-inspect-modal .modal-panel{
  width:min(920px,calc(100vw - 32px));
  max-height:min(92vh,860px);
  overflow:auto;
  padding:24px;
}
.product-inspect-grid{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);
  gap:30px;
  align-items:center;
}
.product-inspect-visual{
  min-height:520px;
  border:1px solid #e8dfcf;
  border-radius:22px;
  background:#fbf7ee;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.product-inspect-visual img{
  width:100%;
  height:520px;
  display:block;
  object-fit:contain;
  object-position:center;
}
.product-inspect-copy h2{
  margin:8px 0 10px;
  color:#173f2b;
}
.product-inspect-description{
  color:#625d52;
  line-height:1.65;
  margin:0 0 22px;
}
.product-inspect-size-title{
  font-size:13px;
  font-weight:700;
  color:#6b604c;
  margin-bottom:9px;
}
.product-inspect-size-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.product-inspect-size{
  appearance:none;
  border:1px solid #d8ccb4;
  background:#fff;
  border-radius:13px;
  padding:13px 14px;
  text-align:left;
  cursor:pointer;
  color:#26382c;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.product-inspect-size strong{font-size:15px}
.product-inspect-size span{font-size:13px;color:#5d574d}
.product-inspect-size.active{
  border-color:#c38b2e;
  background:#fff8e8;
  box-shadow:0 0 0 2px rgba(195,139,46,.12);
}
.product-inspect-price{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:18px 0 14px;
  padding-top:15px;
  border-top:1px solid #ece3d2;
  color:#6a6254;
}
.product-inspect-price strong{
  font-size:24px;
  color:#17241c;
  font-variant-numeric:tabular-nums;
}
.product-inspect-add{width:100%;min-height:48px}
.product-inspect-note{
  font-size:12px;
  color:#777064;
  margin:10px 0 0;
}
.mobile-product-art-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}
.mobile-detail-product-image{
  width:100%;
  height:285px;
  display:block;
  object-fit:contain;
  object-position:center;
}
.mobile-detail-art{
  overflow:hidden;
}
@media (max-width:760px){
  .product-actions .desktop-view-product{display:none}
  .product-inspect-modal{display:none!important}
  .mobile-product-art-image{height:100%}
  .mobile-detail-product-image{height:285px}
}
@media (min-width:761px) and (max-width:1050px){
  .product-inspect-grid{grid-template-columns:minmax(260px,.85fr) minmax(300px,1.15fr);gap:20px}
  .product-inspect-visual{min-height:430px}
  .product-inspect-visual img{height:430px}
}


/* =========================================================
   Premium product configurator V2
   ========================================================= */
.product-card .product-art-image img{
  width:auto;
  height:210px;
  max-width:72%;
  object-fit:contain;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 18px 20px rgba(55,37,10,.16));
  transition:transform .3s ease;
}
.product-card:hover .product-art-image img{transform:translateY(-4px) scale(1.02)}
.product-variant-summary{
  display:flex;
  align-items:center;
  gap:9px;
  margin:16px 0 7px;
  color:var(--forest);
  font-size:11px;
  font-weight:800;
}
.product-variant-summary i{width:3px;height:3px;border-radius:50%;background:#b9a57d}
.product-price-context{
  min-height:34px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.product-card-view{width:100%;margin-top:10px}
.product-card-view svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-inspect-panel{
  width:min(1160px,calc(100vw - 40px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:0;
  border-radius:28px;
}
.product-inspect-body{padding:0}
.product-configurator{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);
  gap:0;
  min-height:690px;
}
.product-configurator-gallery{
  padding:34px;
  background:linear-gradient(145deg,#f4ead1,#fbf8f0 68%);
  border-right:1px solid #e5dccb;
}
.product-gallery-main{
  height:560px;
  border-radius:22px;
  background:rgba(255,255,255,.62);
  display:grid;
  place-items:center;
  overflow:hidden;
  position:relative;
}
.product-gallery-main img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:25px;
  filter:drop-shadow(0 24px 30px rgba(54,38,11,.18));
}
.product-gallery-placeholder{color:#7b7569;font-size:12px}
.product-gallery-thumbs{display:flex;gap:8px;margin-top:12px;overflow:auto}
.product-gallery-thumb{
  width:62px;height:72px;flex:0 0 auto;padding:4px;border:1px solid #ddd2bd;
  border-radius:10px;background:#fff;cursor:pointer;
}
.product-gallery-thumb.active{border:2px solid var(--forest);padding:3px}
.product-gallery-thumb img{width:100%;height:100%;object-fit:contain}
.product-configurator-copy{padding:38px 40px 34px}
.product-configurator-copy h2{font-size:42px;line-height:1.02;color:var(--forest);margin:5px 0 6px}
.product-configurator-kicker{margin:0 0 12px;color:#a17a36;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-inspect-description{color:var(--muted);font-size:14px;line-height:1.65;margin:0 0 22px;max-width:560px}
.product-config-section{padding:18px 0;border-top:1px solid #e9e2d5}
.product-config-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.product-config-heading strong{color:var(--forest);font-size:13px}
.product-config-heading span{color:#8a877e;font-size:10px}
.product-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.product-size-grid{grid-template-columns:repeat(3,1fr)}
.product-choice{
  min-height:58px;
  position:relative;
  text-align:left;
  border:1px solid #dcd3c2;
  border-radius:12px;
  background:#fff;
  color:var(--forest);
  padding:12px 13px;
  cursor:pointer;
  transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;
}
.product-choice:hover{transform:translateY(-1px);border-color:#bca77b}
.product-choice.active{border:2px solid var(--forest);background:#f2f6f1;padding:11px 12px;box-shadow:0 7px 18px rgba(23,63,43,.08)}
.product-choice strong{display:block;font-size:12px}
.product-choice small,.product-size-choice span{display:block;margin-top:4px;color:#77796f;font-size:9px;line-height:1.35}
.product-size-choice{text-align:center;min-height:68px}
.product-size-choice span{font-family:var(--serif);font-size:17px;color:var(--forest)}
.choice-mark{
  position:absolute;right:9px;top:8px;width:17px;height:17px;border-radius:50%;
  display:grid;place-items:center;background:var(--forest);color:#fff;font-size:9px;font-weight:900;
}
.product-state-field{display:block}
.product-state-field>span{display:block;color:#6f746d;font-size:9px;font-weight:800;margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em}
.product-state-field select{
  width:100%;height:48px;border:1px solid #d9d0bf;border-radius:12px;background:#fff;color:var(--forest);
  padding:0 13px;font-size:12px;font-weight:700;outline:none;
}
.product-state-field select:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,63,43,.08)}
.product-payment-grid .product-choice{min-height:64px}
.product-quantity-control{
  width:max-content;display:flex;align-items:center;border:1px solid #d8cfbd;border-radius:12px;overflow:hidden;background:#fff;
}
.product-quantity-control button{
  width:46px;height:42px;border:0;background:#fff;color:var(--forest);font-size:20px;cursor:pointer;
}
.product-quantity-control strong{min-width:48px;text-align:center;color:var(--forest);font-size:13px}
.product-price-summary{
  margin-top:16px;padding:18px;border-radius:17px;background:#f1eadc;border:1px solid #e1d5bd;
}
.product-price-summary.is-pending{background:#f8f5ee}
.product-summary-head,.product-total-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.product-summary-head{font-size:10px;color:#77766e;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.product-summary-list{
  display:grid;grid-template-columns:1fr 1fr;gap:5px 15px;margin:12px 0;color:#515b53;font-size:10px;
}
.product-summary-list span:nth-child(even){text-align:right}
.product-total-row{border-top:1px solid #ddd0b8;padding-top:12px;color:var(--forest);font-size:13px}
.product-total-row strong{font-family:var(--serif);font-size:27px}
.product-price-note{margin:8px 0 0;color:#8b5f1e;font-size:10px}
.product-purchase-actions{display:grid;grid-template-columns:1.4fr .8fr;gap:9px;margin-top:12px}
.product-purchase-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.product-purchase-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-trust-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:14px;color:#687168;font-size:9px;font-weight:700}
.product-trust-row span{display:inline-flex;align-items:center;gap:5px}
.product-trust-row svg{width:15px;height:15px;fill:none;stroke:var(--forest);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-detail-bottom{padding:0 40px 30px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.product-detail-accordion{border-top:1px solid #e5ddce}
.product-detail-accordion button{
  width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 2px;
  border:0;background:none;color:var(--forest);font-size:12px;font-weight:800;cursor:pointer;text-align:left;
}
.product-detail-accordion button span:last-child{font-size:18px;font-weight:400}
.product-detail-accordion button.open span:last-child{transform:rotate(45deg)}
.product-detail-accordion>div{padding:0 2px 15px;color:#6d746c;font-size:11px;line-height:1.6}
.product-detail-accordion p{margin:0 0 8px}
.product-detail-accordion ul{padding:0;margin:0;list-style:none;display:grid;gap:5px}
.product-detail-accordion li{display:flex;align-items:center;gap:5px}
.product-detail-accordion li svg{width:13px;height:13px;fill:none;stroke:var(--forest);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* Mobile product configurator */
@media(max-width:760px){
  .product-card .product-art-image img{height:150px;max-width:76%}
  .product-variant-summary{font-size:9px;gap:6px}
  .product-price-context{font-size:9px}
  .product-inspect-panel{width:calc(100vw - 18px);max-height:calc(100svh - 18px);border-radius:20px}
  .product-configurator{display:block;min-height:0}
  .product-configurator-gallery{padding:14px;border-right:0;border-bottom:1px solid #e5dccb}
  .product-gallery-main{height:330px;border-radius:16px}
  .product-gallery-main img{padding:15px}
  .product-configurator-copy{padding:24px 20px 25px}
  .product-configurator-copy h2{font-size:34px}
  .product-detail-bottom{padding:0 20px 24px;display:block}
  .product-choice-grid{grid-template-columns:1fr 1fr}
  .product-size-grid{grid-template-columns:repeat(3,1fr)}
  .product-size-choice{padding:10px 6px}
  .product-size-choice.active{padding:9px 5px}
  .product-size-choice strong{font-size:10px}
  .product-size-choice span{font-size:14px}
  .product-summary-list{font-size:9px}
  .product-total-row strong{font-size:24px}
}

/* Mobile-only premium product detail */
@media(max-width:760px){
  .mobile-detail-art::before{display:none}
  .mobile-detail-product-image{
    position:relative;z-index:2;width:100%;height:100%;padding:18px;object-fit:contain;
    filter:drop-shadow(0 18px 22px rgba(54,38,11,.18));
  }
  .mobile-detail-art{position:relative;background:linear-gradient(145deg,#f4ead1,#fbf8f0)}
  .mobile-config-section{margin-top:19px;padding-top:17px;border-top:1px solid #e8e0d1}
  .mobile-config-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}
  .mobile-config-heading strong{font-size:11px;color:#173f2b}
  .mobile-config-heading span{font-size:8px;color:#8a877e}
  .mobile-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mobile-choice{
    position:relative;min-height:48px;border:1px solid #d9d0bf;border-radius:11px;background:#fff;color:#173f2b;
    padding:10px;text-align:left;cursor:pointer;
  }
  .mobile-choice.active{border:2px solid #173f2b;background:#f2f6f1;padding:9px}
  .mobile-choice>span{position:absolute;right:7px;top:6px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#173f2b;color:#fff;font-size:8px}
  .mobile-choice strong{display:block;font-size:10px}
  .mobile-choice small{display:block;margin-top:3px;color:#77796f;font-size:8px}
  .mobile-size-grid-3{grid-template-columns:repeat(3,1fr)}
  .mobile-size-grid-3 .mobile-size-option{padding:10px 6px;text-align:center}
  .mobile-size-grid-3 .mobile-size-option.active{padding:9px 5px}
  .mobile-size-grid-3 .mobile-size-option strong{font-size:10px}
  .mobile-size-grid-3 .mobile-size-option span{font-size:14px}
  .mobile-state-field>span{display:block;margin-bottom:5px;color:#70776f;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
  .mobile-state-field select{
    width:100%;height:46px;border:1px solid #d9d0bf;border-radius:11px;background:#fff;color:#173f2b;padding:0 11px;font-size:11px;font-weight:700;
  }
  .mobile-product-quantity{
    width:max-content;display:flex;align-items:center;border:1px solid #d8cfbd;border-radius:10px;overflow:hidden;background:#fff;
  }
  .mobile-product-quantity button{width:42px;height:38px;border:0;background:#fff;color:#173f2b;font-size:18px}
  .mobile-product-quantity strong{min-width:44px;text-align:center;font-size:11px;color:#173f2b}
  .mobile-price-summary{margin-top:17px;padding:14px;border:1px solid #e1d5bd;border-radius:15px;background:#f1eadc}
  .mobile-price-summary.is-pending{background:#f8f5ee}
  .mobile-summary-head,.mobile-total-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
  .mobile-summary-head{font-size:8px;font-weight:800;color:#77766e;text-transform:uppercase;letter-spacing:.08em}
  .mobile-summary-lines{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:10px 0;color:#566158;font-size:9px}
  .mobile-summary-lines span:nth-child(even){text-align:right}
  .mobile-total-row{border-top:1px solid #ddd0b8;padding-top:10px;color:#173f2b;font-size:11px;font-weight:800}
  .mobile-total-row strong{font-family:var(--serif);font-size:23px}
  .mobile-price-summary>p{margin:6px 0 0;color:#8b5f1e;font-size:8px}
  .mobile-product-actions{display:grid;grid-template-columns:1.35fr .75fr;gap:8px;margin-top:10px}
  .mobile-product-actions button:disabled,.mobile-sticky-cart-button:disabled{opacity:.45}
  .mobile-product-actions .mobile-full-button{margin-top:0;display:flex;align-items:center;justify-content:center;gap:6px}
  .mobile-product-actions .mobile-full-button svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .mobile-product-actions .mobile-outline-button{margin-top:0;min-height:50px;border:1px solid #173f2b;border-radius:12px;background:#fff;color:#173f2b;font-size:11px;font-weight:800}
  .mobile-detail-accordions{margin:14px 16px 0;border-top:1px solid #ded5c5}
  .mobile-detail-accordions>button{width:100%;display:flex;justify-content:space-between;padding:14px 0;border:0;border-bottom:1px solid #ded5c5;background:none;color:#173f2b;font-size:11px;font-weight:800;text-align:left}
  .mobile-detail-accordions>button.open strong{transform:rotate(45deg)}
  .mobile-detail-accordions>div{padding:11px 0 14px;color:#6e756d;font-size:10px;line-height:1.6}
  .mobile-detail-accordions p{margin:0 0 8px}
  .mobile-detail-accordions ul{list-style:none;padding:0;margin:0;display:grid;gap:5px}
  .mobile-detail-accordions li{display:flex;gap:5px;align-items:center}
  .mobile-detail-accordions li svg{width:13px;height:13px;fill:none;stroke:#173f2b;stroke-width:2.2}
  .mobile-related-products{padding:25px 16px 0}
  .mobile-related-products .mobile-product-grid{padding-bottom:8px}
  .mobile-cart-thumb{overflow:hidden;display:grid;place-items:center}
  .mobile-cart-thumb img{width:100%;height:100%;object-fit:contain}
  .mobile-cart-meta{font-size:8px!important;color:#8a877e!important;margin-top:-3px!important}
}


/* =========================================================
   HIMALAYAN HARVEST HONEY — PREMIUM UI REFINEMENT
   Typography, product cards, pricing hierarchy, buttons,
   configurator controls and responsive polish.
   ========================================================= */
:root{
  --forest:#163d2b;
  --forest-2:#24553c;
  --ink:#18221c;
  --muted:#69736c;
  --cream:#faf7ef;
  --paper:#fffdf9;
  --gold:#c98b16;
  --gold-soft:#ead9ad;
  --line:#e5dfd2;
  --line-strong:#d7cdbb;
  --serif:var(--font-display);
  --sans:var(--font-interface);
  --shadow-soft:0 12px 34px rgba(22,61,43,.07);
  --shadow-card:0 8px 28px rgba(38,43,35,.06);
}

body{
  font-family:var(--sans);
  color:var(--ink);
  letter-spacing:-.008em;
}

h1,h2,h3,h4,
.hero h1,
.intro h2,.section-heading h2,.story h2,.review-layout h2,.newsletter h2,
.product-info h3,
.product-configurator-copy h2,
.mobile-product-info h3,
.mobile-detail-copy h2{
  font-family:var(--serif);
  font-weight:400;
}

button,input,select{font-family:var(--sans)}

/* Header: quieter, more editorial */
.site-header{background:rgba(250,247,239,.92);border-bottom-color:rgba(22,61,43,.07)}
.site-nav a{font-size:12px;font-weight:700;letter-spacing:.01em;color:#667068}
.brand strong{font-family:var(--serif);font-weight:400;letter-spacing:.025em}
.brand small{font-weight:800;letter-spacing:.09em}

/* Section heading */
.section-heading{margin-bottom:38px}
.section-heading>p{font-size:15px;line-height:1.75}
.eyebrow{font-size:10px;letter-spacing:.18em}

/* Desktop product cards */
.product-grid{gap:16px}
.product-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper);
  box-shadow:0 1px 0 rgba(255,255,255,.8);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.product-card:hover{
  transform:translateY(-3px);
  border-color:#d9ccb3;
  box-shadow:var(--shadow-card);
}
.product-art.product-art-image{
  height:260px;
  background:#f2eadb;
  border-bottom:1px solid #e9dfcf;
}
.product-card .product-art-image img{
  width:auto;
  height:232px;
  max-width:82%;
  filter:drop-shadow(0 18px 22px rgba(55,37,10,.14));
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.product-card:hover .product-art-image img{transform:translateY(-5px) scale(1.015)}
.product-info{padding:20px 19px 19px}
.product-kicker{font-size:9px;line-height:1.2;letter-spacing:.15em;color:#8c6b32;margin-bottom:8px}
.product-info h3{font-size:25px;line-height:1.02;margin-bottom:9px;color:var(--forest)}
.product-desc{font-size:12px;line-height:1.62;min-height:58px;color:#6b736d}
.product-variant-summary{
  gap:8px;margin:15px 0 7px;color:#46564c;font-size:10px;font-weight:700;letter-spacing:.01em
}
.product-variant-summary i{width:3px;height:3px;background:#b6a27d}
.product-price-context{
  min-height:29px;color:#8a8e88;font-size:10px;line-height:1.45
}
.product-card-view{
  min-height:44px;
  margin-top:12px;
  border:1px solid var(--forest)!important;
  border-radius:10px!important;
  background:var(--forest)!important;
  color:#fff!important;
  padding:0 16px!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.01em;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
.product-card-view:hover{
  background:var(--forest-2)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 7px 18px rgba(22,61,43,.13)!important;
}
.product-card-view svg{width:15px;height:15px;order:2;stroke-width:1.8!important}
.product-card-view span{order:1}

/* Product configurator — larger type, less noise */
.product-inspect-panel{border-radius:24px;box-shadow:0 30px 100px rgba(12,30,20,.25)}
.product-configurator{grid-template-columns:minmax(380px,.94fr) minmax(430px,1.06fr)}
.product-configurator-gallery{padding:30px;background:linear-gradient(145deg,#f2e8d4,#fbf8f0 72%)}
.product-gallery-main{height:570px;border-radius:18px;background:rgba(255,255,255,.62);border:1px solid rgba(214,202,180,.5)}
.product-gallery-main img{padding:28px;filter:drop-shadow(0 24px 30px rgba(54,38,11,.15))}
.product-configurator-copy{padding:34px 38px 30px}
.product-configurator-kicker{font-size:9px;letter-spacing:.16em;color:#8c6b32;margin-bottom:9px}
.product-configurator-copy h2{font-size:46px;line-height:.98;letter-spacing:-.025em;margin:4px 0 9px}
.product-inspect-description{font-size:13px;line-height:1.7;margin-bottom:18px;color:#69736c}
.product-config-section{padding:16px 0}
.product-config-heading{margin-bottom:9px}
.product-config-heading strong{font-size:12px;font-weight:800;letter-spacing:.005em}
.product-config-heading span{font-size:9px;color:#8a8e88}
.product-choice{min-height:56px;border-color:var(--line-strong);border-radius:10px;padding:11px 12px;box-shadow:none}
.product-choice:hover{border-color:#bda97f;transform:none}
.product-choice.active{border:1.5px solid var(--forest);background:#f3f6f2;padding:10.5px 11.5px;box-shadow:0 5px 14px rgba(22,61,43,.07)}
.product-choice strong{font-size:11px;font-weight:800}
.product-choice small,.product-size-choice span{font-size:9px}
.product-size-choice{min-height:67px}
.product-size-choice span{font-family:var(--sans);font-size:14px;font-weight:700;color:var(--forest);font-variant-numeric:tabular-nums}
.product-state-field select{height:46px;border-radius:10px;font-size:11px;font-weight:700}
.product-quantity-control{border-radius:10px}
.product-quantity-control button{width:42px;height:40px;font-size:18px}
.product-quantity-control strong{min-width:44px;font-size:12px}
.product-price-summary{margin-top:14px;padding:16px;border-radius:14px;background:#f3ede1;border-color:#e1d5bf}
.product-summary-head{font-size:9px}
.product-summary-list{font-size:10px;line-height:1.45;margin:10px 0}
.product-total-row{padding-top:11px;font-size:12px}
.product-total-row strong{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.product-price-note{font-size:9px}
.product-purchase-actions{gap:8px;margin-top:11px}
.product-purchase-actions .button{min-height:46px;border-radius:10px;padding:0 14px;font-size:11px;box-shadow:none}
.product-purchase-actions .button-primary{background:var(--forest);color:#fff}
.product-purchase-actions .button-primary:hover{background:var(--forest-2);box-shadow:0 8px 18px rgba(22,61,43,.13)}
.product-purchase-actions .button-outline{border:1px solid var(--forest);background:#fff;color:var(--forest)}
.product-purchase-actions .button-outline:hover{background:#f4f7f3}
.product-trust-row{gap:12px;margin-top:12px;font-size:9px}
.product-detail-bottom{padding:0 38px 28px;gap:28px}
.product-detail-accordion button{font-size:11px;padding:14px 0}

/* Mobile shop cards: remove clutter and fix 400g700g1kg run-together issue */
.mobile-product-grid{gap:12px}
.mobile-product-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  box-shadow:0 6px 20px rgba(38,43,35,.055);
  overflow:hidden;
}
.mobile-product-art{
  height:178px;
  background:#f2eadb!important;
  border-bottom:1px solid #e8dfcf;
}
.mobile-product-art::before,.mobile-product-art::after{display:none!important}
.mobile-product-art-image{
  width:auto!important;
  height:166px!important;
  max-width:82%;
  object-fit:contain;
  filter:drop-shadow(0 14px 18px rgba(54,38,11,.13));
}
.mobile-product-info{padding:15px 14px 14px}
.mobile-product-kicker{font-size:8px;letter-spacing:.13em;color:#8c6b32;margin-bottom:6px}
.mobile-product-info h3{font-size:21px;line-height:1.02;margin-bottom:7px;color:var(--forest)}
.mobile-product-desc{font-size:10px;line-height:1.55;min-height:0;color:#69736c;margin-bottom:11px}
.mobile-pack-row{
  display:flex;
  align-items:center;
  gap:0!important;
  color:#46564c;
  font-size:9px;
  font-weight:700;
  line-height:1;
  margin:8px 0 7px;
}
.mobile-pack-row span{display:inline-flex;align-items:center;white-space:nowrap}
.mobile-pack-row span+span::before{content:"";width:3px;height:3px;margin:0 8px;border-radius:50%;background:#b6a27d;display:inline-block}
.mobile-product-price-note{
  margin:0 0 11px;
  color:#8a8e88;
  font-size:9px;
  line-height:1.4;
}
.mobile-add-button{
  min-height:42px;
  border:1px solid var(--forest);
  border-radius:10px;
  background:var(--forest);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.005em;
  box-shadow:none;
}
.mobile-add-button:hover{background:var(--forest-2)}
.mobile-add-button svg{width:14px;height:14px;order:2}
.mobile-add-button span{order:1}

/* Mobile product detail: editorial, not cramped */
.mobile-detail-card{border-radius:18px!important;border-color:var(--line)!important;box-shadow:0 7px 25px rgba(38,43,35,.055)!important;background:var(--paper)!important}
.mobile-detail-art{background:#f2eadb!important;min-height:310px}
.mobile-detail-product-image{height:300px!important;padding:18px!important;filter:drop-shadow(0 18px 22px rgba(54,38,11,.14))!important}
.mobile-detail-copy{padding:22px 18px 20px!important}
.mobile-rating{font-size:9px!important;letter-spacing:.01em;color:#7b817b!important}
.mobile-rating span{letter-spacing:.08em;color:#b47b11!important}
.mobile-detail-copy h2{font-size:34px!important;line-height:.98!important;margin:8px 0 7px!important;color:var(--forest)!important}
.mobile-detail-copy>p:not(.mobile-product-kicker){font-size:11px!important;line-height:1.65!important;color:#69736c!important}
.mobile-config-section{margin-top:17px!important;padding-top:16px!important;border-top-color:#e8e0d1!important}
.mobile-config-heading{margin-bottom:8px!important}
.mobile-config-heading strong{font-size:10px!important;font-weight:800!important}
.mobile-config-heading span{font-size:8px!important}
.mobile-choice{min-height:47px!important;border-radius:10px!important;padding:9px!important}
.mobile-choice.active{border-width:1.5px!important;padding:8.5px!important;box-shadow:0 4px 12px rgba(22,61,43,.06)!important}
.mobile-choice strong{font-size:9px!important;font-weight:800!important}
.mobile-choice small{font-size:7px!important}
.mobile-size-grid-3 .mobile-size-option{border-radius:10px!important}
.mobile-size-grid-3 .mobile-size-option strong{font-size:9px!important}
.mobile-size-grid-3 .mobile-size-option span{font-family:var(--sans)!important;font-size:13px!important;font-weight:700!important;font-variant-numeric:tabular-nums}
.mobile-state-field select{height:45px!important;border-radius:10px!important;font-size:10px!important}
.mobile-product-quantity{border-radius:10px!important}
.mobile-product-quantity button{width:40px!important;height:38px!important}
.mobile-product-quantity strong{min-width:42px!important;font-size:11px!important}
.mobile-price-summary{margin-top:15px!important;padding:14px!important;border-radius:13px!important;background:#f3ede1!important}
.mobile-total-row strong{font-family:var(--serif)!important;font-size:25px!important;font-weight:400!important;font-variant-numeric:tabular-nums}
.mobile-product-actions{gap:7px!important;margin-top:9px!important}
.mobile-product-actions .mobile-full-button,.mobile-product-actions .mobile-outline-button{min-height:46px!important;border-radius:10px!important;font-size:10px!important}
.mobile-related-products{padding-top:28px!important}
.mobile-related-products .mobile-product-grid{gap:10px!important}
.mobile-sticky-buy{
  border-top:1px solid #ddd4c4!important;
  background:rgba(250,247,239,.96)!important;
  box-shadow:0 -8px 24px rgba(22,61,43,.07)!important;
  backdrop-filter:blur(14px);
}
.mobile-sticky-price strong{font-family:var(--serif)!important;font-size:21px!important;font-weight:400!important;font-variant-numeric:tabular-nums}
.mobile-sticky-cart-button{border-radius:10px!important;background:var(--forest)!important;font-size:10px!important}

/* Responsive refinements */
@media(max-width:1050px) and (min-width:761px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .product-art.product-art-image{height:250px}
}
@media(max-width:760px){
  .container{width:min(100% - 28px,560px)}
  .product-grid{gap:10px}
  .product-art.product-art-image{height:168px}
  .product-card .product-art-image img{height:154px;max-width:78%}
  .product-info{padding:14px 13px 13px}
  .product-kicker{font-size:8px}
  .product-info h3{font-size:20px}
  .product-desc{font-size:10px;line-height:1.55;min-height:0;margin-bottom:9px}
  .product-variant-summary{font-size:9px;margin:9px 0 6px;gap:7px}
  .product-price-context{font-size:8px;min-height:27px}
  .product-card-view{min-height:40px;margin-top:9px;font-size:9px!important}
}
@media(max-width:420px){
  .mobile-product-grid{gap:9px}
  .mobile-product-art{height:166px}
  .mobile-product-art-image{height:155px!important}
  .mobile-product-info{padding:13px 12px 12px}
  .mobile-product-info h3{font-size:19px}
  .mobile-product-desc{font-size:9.5px}
  .mobile-pack-row{font-size:8.5px}
  .mobile-pack-row span+span::before{margin:0 6px}
  .mobile-product-price-note{font-size:8px}
  .mobile-add-button{min-height:39px;font-size:9px}
}

/* Remove accidental faux-bottle artwork when real product imagery exists */
.product-card .product-art-image::before,
.product-card .product-art-image::after,
.mobile-product-card .mobile-product-art-image::before,
.mobile-product-card .mobile-product-art-image::after{content:none!important}

/* Numeric UI should stay optically stable */
.product-price-context,.product-size-choice span,.mobile-size-grid-3 .mobile-size-option span,
.product-total-row strong,.mobile-total-row strong,.mobile-sticky-price strong{font-variant-numeric:tabular-nums}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .product-card,.product-card-view,.product-card .product-art-image img,.mobile-add-button{transition:none!important}
}


/* ================================================================
   FINAL BRAND MARK + RESPONSIVE HEADER POLISH
   Uses the supplied transparent Himalayan Harvest Honey emblem.
   ================================================================ */

.site-header .nav-wrap{
  min-height:84px;
  height:84px;
  display:flex;
  align-items:center;
  gap:28px;
}

.site-header .brand{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  min-width:0;
  text-decoration:none;
}

.site-header .brand-logo{
  width:58px;
  height:44px;
  flex:0 0 58px;
  display:block;
  object-fit:contain;
  object-position:center;
}

.site-header .brand-wordmark{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1;
}

.site-header .brand-wordmark strong{
  display:block;
  font-family:var(--serif);
  font-size:17px;
  line-height:1.05;
  letter-spacing:.045em;
  color:var(--forest);
  white-space:nowrap;
}

.site-header .brand-wordmark small{
  display:block;
  margin-top:4px;
  font-family:var(--sans);
  font-size:8px;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#5d665e;
  white-space:nowrap;
}

.site-header .site-nav{
  margin-left:auto;
}

.site-header .nav-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 0 auto;
  margin-left:0;
}

.site-header .icon-button,
.site-header .cart-button-minimal{
  width:42px;
  height:42px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
  border-radius:50%;
}

.site-header .icon-button .ui-icon{
  width:19px;
  height:19px;
}

.site-header .cart-button-minimal .cart-icon-wrap{
  position:relative;
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
}

.site-header .cart-button-minimal .cart-icon{
  width:23px;
  height:23px;
}

.site-header .cart-button-minimal .cart-count{
  position:absolute;
  top:-5px;
  right:-6px;
  min-width:16px;
  width:16px;
  height:16px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  border:2px solid var(--cream);
  border-radius:50%;
  background:#ef3340;
  color:#fff;
  font-family:var(--sans);
  font-size:9px;
  font-weight:800;
  line-height:1;
  transform:none;
}

.site-header .menu-toggle{
  flex:0 0 42px;
  width:42px;
  height:42px;
  padding:7px;
  margin-left:0;
  display:none;
  align-items:center;
  justify-content:center;
}

.site-header .menu-toggle span:not(.sr-only){
  width:22px;
  height:1.7px;
  margin:3px;
  background:var(--forest);
  border-radius:99px;
}

/* Footer uses the same real logo, but at a quieter scale. */
.footer-brand .brand-logo{
  width:50px;
  height:40px;
  flex-basis:50px;
}

/* Tablet */
@media (max-width:1050px){
  .site-header .nav-wrap{
    gap:18px;
  }
  .site-header .site-nav{
    gap:16px;
  }
  .site-header .site-nav a{
    font-size:12.5px;
  }
  .site-header .brand-logo{
    width:52px;
    height:42px;
    flex-basis:52px;
  }
  .site-header .brand-wordmark strong{
    font-size:16px;
  }
}

/* Mobile header: keep logo, search, cart and menu on one precise baseline. */
@media (max-width:760px){
  .site-header .nav-wrap{
    min-height:68px;
    height:68px;
    gap:7px;
    padding-top:0;
    padding-bottom:0;
  }

  .site-header .brand{
    gap:7px;
    flex:1 1 auto;
    min-width:0;
    max-width:none;
    overflow:hidden;
  }

  .site-header .brand-logo{
    width:48px;
    height:40px;
    flex:0 0 48px;
  }

  .site-header .brand-wordmark{
    min-width:0;
    overflow:hidden;
  }

  .site-header .brand-wordmark strong{
    font-size:14px;
    letter-spacing:.035em;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .site-header .brand-wordmark small{
    margin-top:3px;
    font-size:7px;
    letter-spacing:.10em;
  }

  .site-header .site-nav{
    top:68px;
  }

  .site-header .nav-actions{
    margin-left:auto;
    gap:1px;
    flex:0 0 auto;
  }

  .site-header .icon-button,
  .site-header .cart-button-minimal,
  .site-header .menu-toggle{
    width:40px;
    height:40px;
    flex:0 0 40px;
  }

  .site-header .icon-button .ui-icon{
    width:19px;
    height:19px;
  }

  .site-header .cart-button-minimal .cart-icon-wrap{
    width:27px;
    height:27px;
  }

  .site-header .cart-button-minimal .cart-icon{
    width:22px;
    height:22px;
  }

  .site-header .cart-button-minimal .cart-count{
    top:-4px;
    right:-5px;
    width:15px;
    min-width:15px;
    height:15px;
    font-size:8px;
  }

  .site-header .menu-toggle{
    display:inline-flex;
  }

  .site-header .menu-toggle span:not(.sr-only){
    width:21px;
    height:1.7px;
    margin:3px;
  }
}

/* Small phones: protect the exact one-line header composition. */
@media (max-width:390px){
  .site-header .nav-wrap{
    min-height:64px;
    height:64px;
    gap:4px;
  }

  .site-header .brand{
    gap:6px;
  }

  .site-header .brand-logo{
    width:43px;
    height:36px;
    flex-basis:43px;
  }

  .site-header .brand-wordmark strong{
    font-size:12.5px;
  }

  .site-header .brand-wordmark small{
    font-size:6.5px;
  }

  .site-header .icon-button,
  .site-header .cart-button-minimal,
  .site-header .menu-toggle{
    width:37px;
    height:37px;
    flex-basis:37px;
  }

  .site-header .icon-button .ui-icon{
    width:18px;
    height:18px;
  }

  .site-header .cart-button-minimal .cart-icon{
    width:21px;
    height:21px;
  }

  .site-header .site-nav{
    top:64px;
  }
}

/* Very narrow devices: hide the secondary wordmark line only when necessary,
   preserving the actual logo and brand name without squeezing the controls. */
@media (max-width:340px){
  .site-header .brand-wordmark small{
    display:none;
  }
  .site-header .brand-wordmark strong{
    font-size:12px;
  }
}

/* ================================================================
   FINAL HEADER POLISH — LARGER BRAND MARK + TRUE MOBILE ORDER
   Brand: logo + HIMALAYAN / HARVEST HONEY
   Mobile order: logo → search → cart → 3-line hamburger
   ================================================================ */
.site-header .nav-wrap{
  min-height:88px;
  height:88px;
  gap:30px;
}

.site-header .brand{
  gap:12px;
  align-items:center;
}

.site-header .brand-logo{
  width:76px;
  height:56px;
  flex:0 0 76px;
  object-fit:contain;
  object-position:center;
}

.site-header .brand-wordmark strong{
  font-family:var(--serif);
  font-size:19px;
  line-height:1;
  letter-spacing:.055em;
  color:var(--forest);
}

.site-header .brand-wordmark small{
  margin-top:5px;
  font-family:var(--sans);
  font-size:8.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.19em;
  color:#5c675f;
}

.site-header .nav-actions{
  gap:4px;
}

.site-header .icon-button,
.site-header .cart-button-minimal,
.site-header .menu-toggle{
  width:44px;
  height:44px;
  flex:0 0 44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.site-header .icon-button .ui-icon{
  width:20px;
  height:20px;
}

.site-header .cart-button-minimal .cart-icon-wrap{
  width:29px;
  height:29px;
}

.site-header .cart-button-minimal .cart-icon{
  width:23px;
  height:23px;
}

.site-header .cart-button-minimal .cart-count{
  top:-4px;
  right:-5px;
  width:16px;
  min-width:16px;
  height:16px;
  font-size:8.5px;
}

/* Hamburger is exactly three visible lines. */
.site-header .menu-toggle{
  display:none;
  margin:0;
  border:0;
  background:transparent;
  flex-direction:column;
  gap:5px;
}

.site-header .menu-toggle span:not(.sr-only){
  display:block;
  width:24px;
  height:2px;
  margin:0;
  border-radius:999px;
  background:var(--forest);
}

@media (max-width:1050px) and (min-width:761px){
  .site-header .brand-logo{
    width:68px;
    height:52px;
    flex-basis:68px;
  }
  .site-header .brand-wordmark strong{font-size:17px}
  .site-header .brand-wordmark small{font-size:8px}
}

@media (max-width:760px){
  .site-header .nav-wrap{
    min-height:72px;
    height:72px;
    gap:3px;
  }

  /* Explicit mobile order: brand → search → cart → hamburger */
  .site-header .brand{order:1;flex:1 1 auto;min-width:0;gap:8px;overflow:visible}
  .site-header .site-nav{order:2}
  .site-header .nav-actions{order:3;gap:0;margin-left:auto}
  .site-header .menu-toggle{order:4;display:inline-flex}

  .site-header .brand-logo{
    width:60px;
    height:46px;
    flex:0 0 60px;
  }

  .site-header .brand-wordmark{
    overflow:visible;
    min-width:0;
  }

  .site-header .brand-wordmark strong{
    font-size:15px;
    letter-spacing:.04em;
    white-space:nowrap;
    overflow:visible;
  }

  .site-header .brand-wordmark small{
    margin-top:4px;
    font-size:7.5px;
    letter-spacing:.15em;
    white-space:nowrap;
  }

  .site-header .icon-button,
  .site-header .cart-button-minimal,
  .site-header .menu-toggle{
    width:40px;
    height:40px;
    flex:0 0 40px;
  }

  .site-header .icon-button .ui-icon{width:19px;height:19px}
  .site-header .cart-button-minimal .cart-icon-wrap{width:27px;height:27px}
  .site-header .cart-button-minimal .cart-icon{width:22px;height:22px}
  .site-header .cart-button-minimal .cart-count{top:-4px;right:-4px}

  .site-header .menu-toggle{
    padding:0;
    gap:5px;
  }

  .site-header .menu-toggle span:not(.sr-only){
    width:23px;
    height:2px;
    margin:0;
  }

  .site-header .site-nav{top:72px}
}

@media (max-width:390px){
  .site-header .nav-wrap{
    min-height:68px;
    height:68px;
    gap:1px;
  }

  .site-header .brand{gap:6px}
  .site-header .brand-logo{
    width:52px;
    height:42px;
    flex-basis:52px;
  }
  .site-header .brand-wordmark strong{font-size:13px;letter-spacing:.035em}
  .site-header .brand-wordmark small{font-size:6.5px;letter-spacing:.13em}

  .site-header .icon-button,
  .site-header .cart-button-minimal,
  .site-header .menu-toggle{
    width:37px;
    height:37px;
    flex-basis:37px;
  }

  .site-header .icon-button .ui-icon{width:18px;height:18px}
  .site-header .cart-button-minimal .cart-icon{width:21px;height:21px}
  .site-header .menu-toggle span:not(.sr-only){width:21px;height:1.8px}
  .site-header .site-nav{top:68px}
}

@media (max-width:340px){
  .site-header .brand-logo{width:48px;height:39px;flex-basis:48px}
  .site-header .brand-wordmark strong{font-size:12px}
  .site-header .brand-wordmark small{font-size:6px}
  .site-header .icon-button,
  .site-header .cart-button-minimal,
  .site-header .menu-toggle{width:35px;height:35px;flex-basis:35px}
  .site-header .menu-toggle span:not(.sr-only){width:20px}
}


/* ================================================================
   FINAL HEADER / CART POLISH
   - Larger brand logo with clean wordmark
   - Mobile order: brand -> search -> cart -> 3-line hamburger
   - Cart matches the supplied reference: compact outline cart + red badge
   ================================================================ */
.site-header .nav-wrap{
  min-height:88px;
  height:88px;
  gap:28px;
}

.site-header .brand{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  min-width:0;
  text-decoration:none;
}

.site-header .brand-logo{
  width:72px;
  height:52px;
  flex:0 0 72px;
  display:block;
  object-fit:contain;
  object-position:center;
}

.site-header .brand-wordmark{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1;
}

.site-header .brand-wordmark strong{
  display:block;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.02;
  font-weight:700;
  letter-spacing:.055em;
  color:var(--forest);
  white-space:nowrap;
}

.site-header .brand-wordmark small{
  display:block;
  margin-top:5px;
  font-family:var(--sans);
  font-size:8.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#5d665e;
  white-space:nowrap;
}

.site-header .nav-actions{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:0;
  flex:0 0 auto;
}

.site-header .icon-button,
.site-header .cart-button-minimal,
.site-header .menu-toggle{
  width:42px;
  height:42px;
  flex:0 0 42px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--forest);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.site-header .icon-button .ui-icon{
  width:21px;
  height:21px;
  stroke-width:1.75;
}

.site-header .cart-button-minimal .cart-icon-wrap{
  position:relative;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.site-header .cart-button-minimal .cart-icon{
  width:23px;
  height:23px;
  stroke-width:1.75;
}

.site-header .cart-button-minimal .cart-count{
  position:absolute;
  top:-3px;
  right:-4px;
  width:16px;
  min-width:16px;
  height:16px;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e53935;
  color:#fff;
  border:2px solid var(--cream);
  font-family:var(--sans);
  font-size:8px;
  font-weight:800;
  line-height:1;
  box-sizing:border-box;
}

/* Exactly three visible hamburger lines. */
.site-header .menu-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.site-header .menu-toggle span:not(.sr-only){
  display:block;
  width:24px;
  height:2px;
  margin:0;
  border-radius:999px;
  background:var(--forest);
}

@media (max-width:1050px) and (min-width:761px){
  .site-header .nav-wrap{gap:18px}
  .site-header .brand-logo{width:66px;height:50px;flex-basis:66px}
  .site-header .brand-wordmark strong{font-size:17px}
  .site-header .brand-wordmark small{font-size:8px}
}

@media (max-width:760px){
  .site-header .nav-wrap{
    min-height:72px;
    height:72px;
    gap:3px;
    width:calc(100% - 24px);
  }

  /* Keep the exact requested mobile order. */
  .site-header .brand{
    order:1;
    flex:1 1 auto;
    min-width:0;
    gap:8px;
    overflow:visible;
  }

  .site-header .site-nav{order:2}

  .site-header .nav-actions{
    order:3;
    margin-left:auto;
    gap:0;
    flex:0 0 auto;
  }

  .site-header .menu-toggle{
    order:4;
    display:inline-flex;
    margin:0;
  }

  .site-header .brand-logo{
    width:62px;
    height:48px;
    flex:0 0 62px;
  }

  .site-header .brand-wordmark strong{
    font-size:15px;
    letter-spacing:.045em;
    white-space:nowrap;
  }

  .site-header .brand-wordmark small{
    margin-top:4px;
    font-size:7.5px;
    letter-spacing:.15em;
    white-space:nowrap;
  }

  .site-header .icon-button,
  .site-header .cart-button-minimal,
  .site-header .menu-toggle{
    width:40px;
    height:40px;
    flex:0 0 40px;
  }

  .site-header .icon-button .ui-icon{
    width:20px;
    height:20px;
  }

  .site-header .cart-button-minimal .cart-icon-wrap{
    width:28px;
    height:28px;
  }

  .site-header .cart-button-minimal .cart-icon{
    width:22px;
    height:22px;
  }

  .site-header .cart-button-minimal .cart-count{
    top:-3px;
    right:-4px;
    width:16px;
    min-width:16px;
    height:16px;
    font-size:8px;
  }

  .site-header .menu-toggle{
    padding:0;
    gap:5px;
  }

  .site-header .menu-toggle span:not(.sr-only){
    width:24px;
    height:2px;
    margin:0;
  }

  .site-header .site-nav{top:72px}
}

@media (max-width:390px){
  .site-header .nav-wrap{
    min-height:68px;
    height:68px;
    gap:1px;
    width:calc(100% - 16px);
  }

  .site-header .brand{gap:6px}

  .site-header .brand-logo{
    width:56px;
    height:44px;
    flex-basis:56px;
  }

  .site-header .brand-wordmark strong{font-size:13.5px}
  .site-header .brand-wordmark small{font-size:6.5px;letter-spacing:.13em}

  .site-header .icon-button,
  .site-header .cart-button-minimal,
  .site-header .menu-toggle{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .site-header .icon-button .ui-icon{width:19px;height:19px}
  .site-header .cart-button-minimal .cart-icon{width:21px;height:21px}
  .site-header .cart-button-minimal .cart-count{top:-3px;right:-4px}
  .site-header .menu-toggle span:not(.sr-only){width:22px;height:1.9px}
  .site-header .site-nav{top:68px}
}

@media (max-width:340px){
  .site-header .nav-wrap{width:calc(100% - 12px);gap:0}
  .site-header .brand-logo{width:52px;height:41px;flex-basis:52px}
  .site-header .brand-wordmark strong{font-size:12.5px}
  .site-header .brand-wordmark small{font-size:6px}
  .site-header .icon-button,
  .site-header .cart-button-minimal,
  .site-header .menu-toggle{width:36px;height:36px;flex-basis:36px}
  .site-header .menu-toggle span:not(.sr-only){width:21px}
}


/* =========================================================
   Himalayan Harvest Honey — Account / Authentication UI
   Firebase-ready frontend mock layer
   ========================================================= */
.account-nav-button{position:relative}
.hh-account-modal .hh-account-panel{width:min(760px,calc(100vw - 32px));max-height:min(88vh,900px);overflow:auto;padding:0}
.hh-account-content,.hh-auth-wrap{padding:34px}
.hh-auth-wrap{max-width:560px;margin:0 auto}
.hh-auth-wrap h1{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,4vw,48px);margin:8px 0 10px;color:#173f2b}
.hh-kicker,.hh-section-head>div>span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#7b5b2e}
.hh-muted{color:#6f756f;line-height:1.65;margin:0 0 22px}.hh-small{font-size:12px;margin-top:14px}
.hh-auth-wrap label{display:grid;gap:8px;margin:16px 0;font-size:13px;font-weight:800;color:#24332a}
.hh-auth-wrap input,.hh-auth-wrap textarea{width:100%;border:1px solid #d8ddd8;border-radius:12px;background:#fff;padding:14px 15px;font:inherit;font-weight:500;outline:none;box-sizing:border-box}
.hh-auth-wrap input:focus,.hh-auth-wrap textarea:focus{border-color:#173f2b;box-shadow:0 0 0 3px rgba(23,63,43,.08)}
.hh-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;border-radius:12px;background:#173f2b;color:#fff;padding:14px 18px;font-weight:800;cursor:pointer}
.hh-primary svg,.hh-ghost svg,.hh-logout svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hh-text-button{border:0;background:none;color:#173f2b;text-decoration:underline;font-weight:700;cursor:pointer;padding:5px 0}
.hh-demo-otp{font-size:12px;color:#7b5b2e;background:#fbf5e9;padding:10px 12px;border-radius:10px}.hh-error{color:#a3362d;font-size:13px}.hh-form-message{min-height:20px;color:#a3362d;font-size:13px}.hh-pin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#6f756f;background:#f6f7f4;border-radius:10px;padding:10px 12px}.hh-pin-row strong{color:#173f2b}
.hh-profile-card{display:flex;align-items:center;gap:16px;padding:26px 30px;background:linear-gradient(135deg,#173f2b,#28583f);color:#fff}.hh-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#173f2b;font-weight:900;font-size:20px}.hh-profile-card span{font-size:10px;letter-spacing:.15em;font-weight:800;opacity:.7}.hh-profile-card h2{margin:3px 0;font-family:var(--font-display);font-size:30px;font-weight:400}.hh-profile-card p{margin:0;opacity:.82}
.hh-account-section{padding:26px 30px;border-bottom:1px solid #e9ece8}.hh-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.hh-section-head h2{margin:3px 0 0;font-family:var(--font-display);font-weight:400;color:#173f2b}.hh-ghost{display:inline-flex;align-items:center;gap:7px;border:1px solid #d8ddd8;background:#fff;color:#173f2b;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}.hh-ghost:disabled{opacity:.45;cursor:not-allowed}.hh-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hh-info-grid>div{border:1px solid #e5e9e4;border-radius:12px;padding:14px}.hh-info-grid small,.hh-info-grid strong{display:block}.hh-info-grid small{color:#777;font-size:11px;margin-bottom:5px}.hh-info-grid strong{font-size:14px;word-break:break-word}.hh-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hh-address-card{border:1px solid #e1e6e0;border-radius:14px;padding:17px;display:grid;gap:6px}.hh-address-card.is-primary{border-color:#8ca996;box-shadow:0 4px 18px rgba(23,63,43,.06)}.hh-address-card-top{display:flex;justify-content:space-between;align-items:center}.hh-address-badge{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:#173f2b}.hh-verified{font-size:10px;color:#39714e;display:flex;align-items:center;gap:4px}.hh-verified svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.hh-address-card>span,.hh-address-card p{margin:0;color:#687068;font-size:12px}.hh-address-card p{line-height:1.45}.hh-address-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.hh-address-actions button{display:inline-flex;align-items:center;gap:5px;border:0;background:#f4f6f3;color:#173f2b;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}.hh-address-actions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hh-invoice-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;border:1px solid #e5e9e4;border-radius:12px;padding:14px;margin-top:9px}.hh-invoice-row span{display:block;color:#777;font-size:12px;margin-top:3px}.hh-empty-state{display:grid;justify-items:center;text-align:center;gap:7px;padding:26px;color:#687068}.hh-empty-state svg{width:30px;height:30px;fill:none;stroke:#173f2b;stroke-width:1.6}.hh-account-actions{padding:24px 30px}.hh-logout{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid #e0d5d2;background:#fff;color:#8b3329;border-radius:11px;padding:12px;font-weight:800;cursor:pointer}
.hh-readonly{background:#f5f6f3;border-radius:12px;padding:13px;color:#6c746d;font-size:12px}.hh-readonly strong{display:block;color:#173f2b;margin-top:3px}
.hh-checkout-addresses{display:grid;gap:10px}.hh-checkout-address{display:flex;gap:12px;align-items:flex-start;border:1px solid #dfe5df;border-radius:12px;padding:13px;cursor:pointer}.hh-checkout-address.active{border-color:#7c9b88;background:#f6faf7}.hh-checkout-address input{position:absolute;opacity:0;pointer-events:none}.hh-radio{width:18px;height:18px;border:1.7px solid #9ba79e;border-radius:50%;flex:0 0 18px;margin-top:2px;position:relative}.hh-checkout-address.active .hh-radio{border-color:#173f2b}.hh-checkout-address.active .hh-radio:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#173f2b}.hh-checkout-address div{display:grid;gap:3px}.hh-checkout-address strong{font-size:13px;color:#173f2b}.hh-checkout-address em{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.08em;background:#e5efe8;color:#286141;border-radius:5px;padding:3px 5px;margin-left:4px}.hh-checkout-address small{color:#69726c;font-size:11px}.mobile-address-add{margin-top:12px}.hh-selected-delivery{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f4f7f3;padding:12px;border-radius:10px;margin-bottom:12px;font-size:12px}.hh-selected-delivery span{display:flex;align-items:center;gap:6px;color:#687068}.hh-selected-delivery svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.hh-delivery-context{display:grid;gap:4px;border:1px solid #e0e6e0;background:#f7f9f6;border-radius:12px;padding:13px}.hh-delivery-context span{font-size:11px;color:#707770;text-transform:uppercase;letter-spacing:.08em}.hh-delivery-context strong{color:#173f2b}.hh-delivery-context small{font-size:11px;color:#777}
@media(max-width:760px){.hh-account-content{padding:0 0 20px}.hh-account-section{padding:22px 18px}.hh-auth-wrap{padding:22px 18px}.hh-profile-card{padding:22px 18px}.hh-info-grid{grid-template-columns:1fr}.hh-address-grid{grid-template-columns:1fr}.hh-invoice-row{grid-template-columns:1fr auto}.hh-invoice-row .hh-ghost{grid-column:1/-1}.hh-account-modal .hh-account-panel{width:calc(100vw - 20px);max-height:90vh}.hh-account-modal .modal-close{z-index:2}.hh-mobile-auth{padding:8px 0 20px}.hh-mobile-auth .hh-auth-wrap{max-width:none}.hh-checkout-address{padding:12px}.hh-selected-delivery{align-items:flex-start;flex-direction:column}.account-nav-button{display:none}}

/* =========================================================
   AUTH EXPERIENCE V2 — commerce-first / Inter-based UI
   Inspired by the clarity and density of modern Indian
   commerce interfaces; adapted to Himalayan Harvest Honey.
   ========================================================= */
.hh-account-modal .hh-account-panel{
  width:min(900px,calc(100vw - 40px));
  max-height:min(92vh,920px);
  background:#fff;
  border:1px solid #e6e9e6;
  border-radius:12px;
  box-shadow:0 18px 60px rgba(18,34,26,.16);
}
.hh-account-modal .modal-close{
  width:38px;height:38px;border-radius:50%;
  background:#fff;border:1px solid #e1e5e1;
  color:#4a554f;top:14px;right:14px;font-size:22px;
}
.hh-auth-screen{
  --auth-green:#173f2b;
  --auth-ink:#17201b;
  --auth-muted:#6b756f;
  --auth-border:#d9dedb;
  font-family:var(--font-interface);
  color:var(--auth-ink);
  max-width:610px;
  margin:0 auto;
  padding:34px 44px 38px;
}
.hh-auth-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;min-height:34px}
.hh-auth-brand-mini{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:#25352d}
.hh-auth-brand-mini img{width:42px;height:32px;object-fit:contain}
.hh-auth-secure{font-size:11px;font-weight:600;color:#7b5b2e;background:#faf6ec;border:1px solid #eee4cf;padding:7px 10px;border-radius:4px}
.hh-auth-step{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#7b5b2e}
.hh-auth-top .hh-auth-back{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:transparent;color:#173f2b;cursor:pointer;padding:0}
.hh-auth-top .hh-auth-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.hh-auth-screen .hh-kicker{display:block;font-family:var(--font-interface);font-size:11px;letter-spacing:.12em;color:#7b5b2e;font-weight:700;margin-bottom:10px}
.hh-auth-screen h1{font-family:var(--font-interface);font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.025em;color:#17201b;margin:0 0 10px}
.hh-auth-copy{font-size:14px;line-height:1.55;color:var(--auth-muted);margin:0 0 26px;max-width:560px}
.hh-auth-copy strong{color:#28342d;font-weight:700}
.hh-auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e6e9e6;margin:0 0 30px}
.hh-auth-tabs button{height:44px;background:transparent;border:0;border-bottom:2px solid transparent;color:#68716c;font:600 14px var(--font-interface);cursor:pointer}
.hh-auth-tabs button.active{color:#173f2b;border-bottom-color:#173f2b}
.hh-auth-screen form{margin:0}
.hh-auth-screen form>label,.hh-form-grid label{display:grid;gap:8px;margin:0 0 18px;font-size:13px;line-height:1.3;font-weight:600;color:#2c3932}
.hh-auth-screen input,.hh-auth-screen textarea,.hh-auth-screen select{
  font:400 14px/1.3 var(--font-interface);color:#1c2520;
  background:#fff;border:1px solid var(--auth-border);border-radius:6px;outline:0;box-sizing:border-box;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.hh-auth-screen input,.hh-auth-screen select{height:52px;padding:0 14px}
.hh-auth-screen textarea{min-height:92px;padding:13px 14px;resize:vertical}
.hh-auth-screen input::placeholder,.hh-auth-screen textarea::placeholder{color:#9aa29d}
.hh-auth-screen input:focus,.hh-auth-screen textarea:focus,.hh-auth-screen select:focus{border-color:#173f2b;box-shadow:0 0 0 3px rgba(23,63,43,.08)}
.hh-phone-control{display:grid;grid-template-columns:150px 1fr;gap:8px;margin:0 0 8px}
.hh-phone-control select{width:100%;cursor:pointer;padding-right:10px}
.hh-phone-control input{width:100%}
.hh-phone-hint{font-size:12px;color:#8a938e;margin:0 0 20px;line-height:1.5}
.hh-primary.hh-auth-submit{height:48px;border-radius:6px;background:#173f2b;font:600 14px var(--font-interface);letter-spacing:0;box-shadow:none}
.hh-primary.hh-auth-submit:hover{background:#123422}
.hh-auth-switch{text-align:center;font-size:12px;color:#727b76;line-height:1.5;margin:18px 0 0}
.hh-auth-switch button,.hh-text-button{border:0;background:transparent;padding:0;color:#173f2b;font:600 inherit;text-decoration:none;cursor:pointer}
.hh-auth-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:28px;padding-top:18px;border-top:1px solid #edf0ed;color:#78817c;font-size:11px}
.hh-auth-trust span{display:inline-flex;align-items:center;gap:5px}
.hh-auth-trust svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hh-verified-phone{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border:1px solid #e3e8e4;background:#f8faf8;border-radius:6px;padding:12px 14px;margin:0 0 18px}
.hh-verified-phone span{font-size:11px;color:#77817b;grid-column:1/-1}
.hh-verified-phone strong{font-size:14px;color:#26362d}
.hh-verified-phone em{font-style:normal;font-size:11px;font-weight:700;color:#23663f;background:#e9f5ed;padding:5px 8px;border-radius:4px}
.hh-pin-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:20px;margin:-8px 0 18px;font-size:11px;color:#7b857f}
.hh-pin-row strong{color:#173f2b}
.hh-legal-copy{font-size:11px;line-height:1.5;color:#8a938e;text-align:center;margin:16px 0 0}
.hh-otp-label-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}
.hh-otp-label-row label{font-size:13px;font-weight:600;color:#2c3932}
.hh-otp-label-row span{font:600 12px var(--font-interface);color:#7b857f}
.hh-otp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:0 0 22px}
.hh-otp-grid input{height:58px;text-align:center;padding:0;font-size:24px;font-weight:600;border-radius:6px}
.hh-otp-grid input:focus{border-color:#173f2b;box-shadow:0 0 0 3px rgba(23,63,43,.08)}
.hh-demo-otp{font-size:11px;line-height:1.5;color:#8a714b;background:#faf6ec;border:1px solid #eee4cf;border-radius:5px;padding:9px 10px;margin:12px 0 0}
.hh-otp-actions{display:flex;justify-content:space-between;gap:16px;margin-top:15px}
.hh-otp-actions button:disabled{color:#b0b6b2;cursor:not-allowed;text-decoration:none}
.hh-form-message{min-height:18px;font-size:12px;color:#a3362d;margin:12px 0 0}

@media(max-width:760px){
  .hh-account-modal .hh-account-panel{width:calc(100vw - 16px);max-height:94vh;border-radius:10px}
  .hh-auth-screen{padding:24px 20px 28px;max-width:none}
  .hh-auth-top{margin-bottom:22px}
  .hh-auth-secure{display:none}
  .hh-auth-brand-mini span{font-size:11px}
  .hh-auth-brand-mini img{width:38px;height:29px}
  .hh-auth-tabs{margin-bottom:26px}
  .hh-auth-screen h1{font-size:28px}
  .hh-auth-copy{font-size:13px;margin-bottom:23px}
  .hh-phone-control{grid-template-columns:132px 1fr;gap:7px}
  .hh-phone-control select,.hh-phone-control input{height:50px;font-size:13px}
  .hh-form-grid{grid-template-columns:1fr;gap:0}
  .hh-otp-grid{gap:6px}
  .hh-otp-grid input{height:54px;font-size:22px}
  .hh-auth-trust{gap:10px 14px}
  .hh-verified-phone{grid-template-columns:1fr auto}
  .hh-verified-phone span{grid-column:1/-1}
}
@media(max-width:380px){
  .hh-auth-screen{padding-left:15px;padding-right:15px}
  .hh-phone-control{grid-template-columns:118px 1fr}
  .hh-auth-screen h1{font-size:26px}
  .hh-otp-grid{gap:4px}
  .hh-otp-grid input{height:50px;font-size:20px}
}


/* =========================================================
   AUTH + FOOTER V3 — cleaner commerce UI
   ========================================================= */
.hh-account-modal .hh-account-panel{
  width:min(560px,calc(100vw - 32px));
  max-height:min(94vh,860px);
  background:#fff;
  border:1px solid #e7ebe8;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(16,45,32,.18);
  overflow:auto;
}
.hh-auth-screen{
  --auth-green:#123f2d;
  --auth-ink:#17211c;
  --auth-muted:#6f7973;
  --auth-border:#dfe4e1;
  font-family:var(--font-interface);
  color:var(--auth-ink);
  max-width:none;
  margin:0 auto;
  padding:34px 40px 38px;
  background:#fff;
}
.hh-auth-top{margin-bottom:22px;min-height:32px}
.hh-auth-brand-mini{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:#24362d}
.hh-auth-brand-mini img{width:42px;height:32px;object-fit:contain}
.hh-auth-step{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#789084}
.hh-auth-top .hh-auth-back{width:32px;height:32px;border:1px solid #e4e8e5;border-radius:50%;background:#fff;color:#214c3a}
.hh-auth-top .hh-auth-back:hover{background:#f6f8f6}
.hh-auth-screen .hh-kicker{display:block;font-family:var(--font-interface);font-size:10px;letter-spacing:.14em;color:#7c6040;font-weight:700;margin-bottom:9px}
.hh-auth-screen h1{font-family:var(--font-interface);font-size:32px;line-height:1.15;font-weight:700;letter-spacing:-.035em;color:#17211c;margin:0 0 11px}
.hh-auth-copy{font-size:14px;line-height:1.6;color:var(--auth-muted);margin:0 0 25px;max-width:540px}
.hh-auth-copy strong{color:#26352e;font-weight:650}
.hh-auth-screen form{margin:0}
.hh-auth-screen form>label,.hh-form-grid label{display:grid;gap:8px;margin:0 0 17px;font-size:12px;line-height:1.3;font-weight:650;color:#2d3a33}
.hh-auth-screen input,.hh-auth-screen textarea,.hh-auth-screen select{
  font:400 14px/1.3 "Inter",Arial,sans-serif;color:#1d2822;background:#fff;border:1px solid #d8dfdb;border-radius:8px;outline:0;box-sizing:border-box;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.hh-auth-screen input,.hh-auth-screen select{height:52px;padding:0 14px}
.hh-auth-screen textarea{min-height:96px;padding:13px 14px;resize:vertical}
.hh-auth-screen input::placeholder,.hh-auth-screen textarea::placeholder{color:#9ba39e}
.hh-auth-screen input:focus,.hh-auth-screen textarea:focus,.hh-auth-screen select:focus{border-color:#2b5a47;box-shadow:0 0 0 3px rgba(43,90,71,.09)}
.hh-phone-control{display:grid;grid-template-columns:148px 1fr;gap:8px;margin:0 0 7px}
.hh-phone-control select{width:100%;cursor:pointer;padding-right:8px}
.hh-phone-control input{width:100%}
.hh-phone-hint{font-size:11px;color:#8a938e;margin:0 0 20px;line-height:1.45}
.hh-primary.hh-auth-submit{width:100%;height:50px;border-radius:8px;background:#123f2d;font:650 14px "Inter",Arial,sans-serif;box-shadow:none;border:0}
.hh-primary.hh-auth-submit:hover{background:#0f3526}
.hh-auth-switch{text-align:center;font-size:12px;color:#747d78;line-height:1.5;margin:17px 0 0}
.hh-auth-switch button,.hh-text-button{border:0;background:transparent;padding:0;color:#123f2d;font:650 inherit;cursor:pointer}
.hh-auth-note{margin:18px 0 0;color:#8a938e;font-size:11px;line-height:1.5;text-align:center}
.hh-form-message{min-height:18px;font-size:12px;color:#ab352d;margin:10px 0 0;line-height:1.45}
.hh-verified-phone{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;border:1px solid #dfe8e2;background:#f8faf8;border-radius:8px;padding:11px 13px;margin:0 0 18px}
.hh-verified-phone span{grid-column:1/-1;font-size:10px;color:#7d8781;text-transform:uppercase;letter-spacing:.06em}
.hh-verified-phone strong{font-size:14px;color:#26372e}
.hh-verified-phone em{display:inline-flex;align-items:center;gap:5px;font-style:normal;font-size:10px;font-weight:700;color:#226040;background:#eaf5ee;padding:5px 8px;border-radius:999px}
.hh-verified-phone em svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}
.hh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hh-address-grid-compact{margin-top:0}
.hh-pin-feedback{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;margin:-1px 0 16px;padding:9px 11px;border-radius:7px;background:#f7f9f7;color:#758078;font-size:11px;line-height:1.35}
.hh-pin-feedback strong{color:#204f3b;font-weight:650;text-align:right}
.hh-address-screen .hh-auth-copy{margin-bottom:22px}
.hh-signup-details-screen .hh-auth-copy{margin-bottom:22px}
.hh-otp-label-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
.hh-otp-label-row label{font-size:12px;font-weight:650;color:#2d3a33}
.hh-otp-label-row span{font:650 11px "Inter",Arial,sans-serif;color:#7a847e}
.hh-otp-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 28px;padding:6px 2px 0}
.hh-otp-dashes .hh-otp-slot{height:48px;padding:0 1px;background:transparent;border:0;border-bottom:2px solid #c7cfca;border-radius:0;text-align:center;font-size:25px;font-weight:600;color:#1a2a21;box-shadow:none}
.hh-otp-dashes .hh-otp-slot:focus{border-bottom-color:#123f2d;box-shadow:none;background:linear-gradient(to bottom,transparent 0%,transparent 84%,rgba(18,63,45,.03) 100%)}
.hh-otp-dashes .hh-otp-slot:not(:placeholder-shown),.hh-otp-dashes .hh-otp-slot[data-filled="true"]{border-bottom-color:#123f2d}
.hh-otp-actions{display:flex;justify-content:space-between;gap:16px;margin-top:15px}
.hh-demo-otp{font-size:10px;line-height:1.45;color:#8a714b;background:#fbf8f0;border:1px solid #eee5d3;border-radius:6px;padding:8px 10px;margin:15px 0 0}
.hh-demo-otp strong{font-weight:750}

.site-footer{background:#0d2d20;color:#dce5df;padding:72px 0 24px}
.footer-main{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:44px}
.footer-brand-block{min-width:0}
.footer-brand{color:#fff}
.footer-brand .brand-logo{width:64px;height:48px}
.footer-brand-block>p{margin:15px 0 0;max-width:300px;font-size:14px;line-height:1.65;color:#edf2ee}
.footer-brand-block .footer-brand-note{margin-top:7px;color:#a9bdb1;font-size:12px;line-height:1.65;max-width:310px}
.footer-link-group{display:flex;flex-direction:column;align-items:flex-start}
.footer-link-group h3{margin:1px 0 15px;color:#f0c35d;font:700 11px/1.2 "Inter",Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em}
.footer-link-group a,.footer-link-group button{display:block;margin:0 0 11px;color:#dce5df;background:none;border:0;padding:0;font:400 13px/1.4 "Inter",Arial,sans-serif;text-decoration:none;cursor:pointer;text-align:left}
.footer-link-group a:hover,.footer-link-group button:hover{color:#fff}
.footer-contact-meta{display:block;max-width:220px;color:#91aa9d;font-size:11px;line-height:1.55;margin-top:2px}
.footer-service-strip{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:42px;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);color:#a9bdb1;font:500 10px/1.4 "Inter",Arial,sans-serif;letter-spacing:.03em;text-transform:uppercase}
.footer-service-strip i{width:3px;height:3px;border-radius:50%;background:#6f887b;display:block;flex:0 0 3px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:19px;margin-top:18px;color:#8fa79b;font:400 11px/1.5 "Inter",Arial,sans-serif}
.footer-bottom nav{display:flex;gap:18px;align-items:center}
.footer-bottom a{color:#a9bdb1;text-decoration:none}
.footer-bottom a:hover{color:#fff}

@media(max-width:1000px){
  .footer-main{grid-template-columns:1.4fr 1fr 1fr;gap:36px}
  .footer-contact-group{grid-column:2/-1}
}
@media(max-width:760px){
  .hh-account-modal .hh-account-panel{width:calc(100vw - 16px);max-height:94vh;border-radius:12px}
  .hh-auth-screen{padding:25px 20px 30px}
  .hh-auth-screen h1{font-size:28px}
  .hh-auth-copy{font-size:13px;margin-bottom:22px}
  .hh-phone-control{grid-template-columns:132px 1fr;gap:7px}
  .hh-phone-control select,.hh-phone-control input{height:50px;font-size:13px}
  .hh-form-grid{grid-template-columns:1fr;gap:0}
  .hh-otp-grid{gap:8px;margin-bottom:25px}
  .hh-otp-dashes .hh-otp-slot{height:49px;font-size:23px}
  .hh-pin-feedback{align-items:flex-start;flex-direction:column;gap:3px}
  .hh-pin-feedback strong{text-align:left}
  .footer-main{grid-template-columns:1fr 1fr;gap:28px 24px}
  .footer-brand-block{grid-column:1/-1}
  .footer-contact-group{grid-column:auto}
  .footer-service-strip{justify-content:flex-start;flex-wrap:wrap;gap:8px 12px;line-height:1.6}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}
  .footer-bottom nav{gap:14px;flex-wrap:wrap}
}
@media(max-width:420px){
  .footer-main{grid-template-columns:1fr}
  .footer-brand-block,.footer-contact-group{grid-column:auto}
  .hh-auth-screen{padding-left:16px;padding-right:16px}
  .hh-phone-control{grid-template-columns:116px 1fr}
  .hh-otp-grid{gap:6px}
}


/* =============================================================
   QUALITY & LABORATORY REPORTS
   ============================================================= */
.quality{background:var(--paper,#fbfaf6);position:relative}
.quality-heading{align-items:end}
.quality-heading>p{max-width:520px}
.quality-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:38px}
.quality-report-card{display:grid;grid-template-columns:minmax(180px,210px) 1fr;gap:22px;padding:16px;background:#fff;border:1px solid #e5e0d6;border-radius:22px;box-shadow:0 14px 32px rgba(18,45,32,.06)}
.quality-report-preview{position:relative;display:block;overflow:hidden;padding:0;border:0;border-radius:15px;background:#f1eee7;cursor:pointer;aspect-ratio:0.74}
.quality-report-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .24s ease}
.quality-report-preview:hover img{transform:scale(1.018)}
.quality-view-chip{position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(13,45,32,.92);color:#fff;font:600 10px/1 "Inter",Arial,sans-serif;letter-spacing:.01em}
.quality-report-body{padding:8px 8px 6px 0;display:flex;flex-direction:column;min-width:0}
.quality-report-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#7f8b83;font:600 10px/1.3 "Inter",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.quality-report-body h3{margin:13px 0 7px;color:var(--forest,#123f2d);font:700 24px/1.14 var(--font-display);letter-spacing:-.015em}
.quality-report-body>p{margin:0;color:#68746d;font:400 12px/1.55 "Inter",Arial,sans-serif}
.quality-test-list{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 17px}
.quality-test-list span{padding:6px 8px;border:1px solid #e3e7e3;border-radius:999px;background:#fbfcfa;color:#415148;font:500 10px/1 "Inter",Arial,sans-serif}
.quality-report-link{align-self:flex-start;padding:0;border:0;background:none;color:#123f2d;font:700 12px/1.5 "Inter",Arial,sans-serif;cursor:pointer}
.quality-report-link span{display:inline-block;margin-left:5px;transition:transform .18s ease}
.quality-report-link:hover span{transform:translateX(3px)}
.quality-report-note{margin-top:12px;color:#87928b;font:400 10px/1.5 "Inter",Arial,sans-serif}
.quality-disclaimer{max-width:860px;margin:20px 0 0;color:#87928b;font:400 11px/1.6 "Inter",Arial,sans-serif}

.quality-report-modal{z-index:1200}
.quality-report-panel{width:min(1120px,calc(100vw - 42px));max-height:94vh;overflow:hidden;padding:0;background:#f4f2ec;border:1px solid rgba(13,45,32,.14);border-radius:20px}
.quality-report-panel>.modal-close{z-index:3;background:rgba(255,255,255,.94)}
.quality-viewer{height:94vh;max-height:94vh;overflow:auto;padding:24px 26px 28px}
.quality-viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 44px 18px 0}
.quality-modal-kicker{display:block;margin-bottom:5px;color:#8a6742;font:700 10px/1.2 "Inter",Arial,sans-serif;letter-spacing:.14em}
.quality-viewer-head h2{margin:0;color:#123f2d;font:700 28px/1.15 var(--font-display)}
.quality-viewer-head p{margin:7px 0 0;color:#6f7c74;font:400 11px/1.45 "Inter",Arial,sans-serif}
.quality-page-count{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e2e0d8;color:#526159;white-space:nowrap;font:700 10px/1 "Inter",Arial,sans-serif}
.quality-document-stage{display:flex;justify-content:center;align-items:flex-start;min-height:320px;padding:18px;border:1px solid #dedbd3;background:#e7e4dc;border-radius:14px}
.quality-document-stage img{display:block;width:auto;max-width:100%;height:auto;max-height:65vh;object-fit:contain;box-shadow:0 16px 38px rgba(0,0,0,.14);background:#fff}
.quality-viewer-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:15px;color:#65726a;font:600 10px/1.4 "Inter",Arial,sans-serif;text-align:center}
.quality-viewer-controls .quality-viewer-button:first-child{text-align:left}
.quality-viewer-controls .quality-viewer-button:last-child{text-align:right}
.quality-viewer-button{padding:8px 0;border:0;background:transparent;color:#123f2d;font:700 11px/1.2 "Inter",Arial,sans-serif;cursor:pointer}
.quality-viewer-button:disabled{opacity:.35;cursor:not-allowed}
.quality-test-summary{margin-top:19px;padding:14px 0 0;border-top:1px solid #dcdad2}
.quality-test-summary>span{display:block;margin-bottom:9px;color:#7b877f;font:700 10px/1.2 "Inter",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.quality-test-summary>div{display:flex;flex-wrap:wrap;gap:7px}
.quality-test-summary em{font-style:normal;padding:6px 8px;border-radius:999px;background:#fff;border:1px solid #dedfd8;color:#58665d;font:500 10px/1 "Inter",Arial,sans-serif}
.quality-viewer-note{margin:15px 0 0;color:#7f8983;font:400 10px/1.55 "Inter",Arial,sans-serif}

.footer-main-quality{grid-template-columns:1.35fr 1fr 1fr 1fr 1fr}
.footer-quality-group{min-width:0}

.mobile-quality-section{margin:22px 0 0;padding:18px 0 4px}
.mobile-quality-inline-link{border:0;background:none;padding:0;color:var(--forest,#123f2d);font:700 11px/1.2 "Inter",Arial,sans-serif;cursor:pointer}
.mobile-quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.mobile-quality-card{overflow:hidden;border:1px solid #e5e1d7;border-radius:15px;background:#fff}
.mobile-quality-preview{display:block;width:100%;height:205px;overflow:hidden;padding:0;border:0;background:#f0ede5;cursor:pointer}
.mobile-quality-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.mobile-quality-card>div{padding:10px 11px 12px}
.mobile-quality-card span{display:block;color:#8b938d;font:600 9px/1.2 "Inter",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.mobile-quality-card strong{display:block;margin-top:6px;color:#234838;font:700 14px/1.2 "Inter",Arial,sans-serif}
.mobile-quality-card small{display:block;margin-top:5px;color:#818a84;font:400 9px/1.3 "Inter",Arial,sans-serif}
.mobile-quality-note{margin:11px 0 0;color:#858f88;font:400 10px/1.5 "Inter",Arial,sans-serif}

@media(max-width:1080px){
  .footer-main-quality{grid-template-columns:1.5fr 1fr 1fr;gap:36px}
  .footer-quality-group{grid-column:auto}
}
@media(max-width:760px){
  .quality{padding:58px 0 12px}
  .quality-report-grid{grid-template-columns:1fr;gap:14px;margin-top:24px}
  .quality-report-card{grid-template-columns:112px 1fr;gap:14px;padding:12px;border-radius:17px}
  .quality-report-body{padding:3px 2px 3px 0}
  .quality-report-meta{font-size:8px}
  .quality-report-meta span:last-child{display:none}
  .quality-report-body h3{font-size:19px;margin:8px 0 5px}
  .quality-report-body>p{font-size:10px;line-height:1.45}
  .quality-test-list{gap:5px;margin:10px 0 10px}
  .quality-test-list span{font-size:8px;padding:5px 6px}
  .quality-report-link{font-size:10px}
  .quality-report-note{font-size:9px;margin-top:8px}
  .quality-disclaimer{font-size:9px;margin-top:12px}
  .quality-report-panel{width:calc(100vw - 14px);max-height:96vh;border-radius:16px}
  .quality-viewer{height:96vh;padding:16px 12px 20px}
  .quality-viewer-head{padding-right:34px;padding-bottom:12px}
  .quality-viewer-head h2{font-size:21px}
  .quality-viewer-head p{font-size:9px}
  .quality-document-stage{padding:8px;min-height:260px}
  .quality-document-stage img{max-height:61vh}
  .quality-viewer-controls{font-size:9px;grid-template-columns:1fr auto 1fr}
  .quality-test-summary{margin-top:13px;padding-top:12px}
  .quality-test-summary>span{font-size:8px}
  .quality-test-summary em{font-size:8px;padding:5px 6px}
  .quality-viewer-note{font-size:9px}
  .mobile-quality-grid{gap:8px}
  .mobile-quality-preview{height:168px}
  .footer-main-quality{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .quality-report-card{grid-template-columns:96px 1fr}
  .quality-report-body h3{font-size:17px}
  .quality-report-body>p{font-size:9px}
  .mobile-quality-preview{height:150px}
}

/* Quality report cards: preserve full document proportions and align previews consistently */
.quality-report-grid{align-items:stretch}
.quality-report-card{grid-template-columns:minmax(210px,240px) minmax(0,1fr);align-items:stretch;min-height:100%}
.quality-report-preview{width:100%;height:100%;min-height:330px;aspect-ratio:auto;background:#fff;border:1px solid #ece8df;display:flex;align-items:center;justify-content:center}
.quality-report-preview img{width:100%;height:100%;object-fit:contain;object-position:center center;transform:none!important}
.quality-report-preview:hover img{transform:none!important}
.quality-report-body{align-self:stretch}
.mobile-quality-grid{align-items:stretch}
.mobile-quality-card{display:flex;flex-direction:column;min-width:0;height:100%}
.mobile-quality-preview{height:auto;aspect-ratio:0.72;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid #ece8df}
.mobile-quality-preview img{width:100%;height:100%;object-fit:contain;object-position:center center}
@media(max-width:1080px){
  .quality-report-card{grid-template-columns:minmax(170px,205px) minmax(0,1fr)}
  .quality-report-preview{min-height:300px}
}
@media(max-width:760px){
  .quality-report-card{grid-template-columns:112px minmax(0,1fr);align-items:stretch}
  .quality-report-preview{min-height:0;height:auto;aspect-ratio:0.72}
  .mobile-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mobile-quality-preview{height:auto;aspect-ratio:0.72}
  .mobile-quality-card>div{flex:1}
}
@media(max-width:420px){
  .quality-report-card{grid-template-columns:96px minmax(0,1fr)}
  .mobile-quality-grid{gap:8px}
}


/* Payment checkout UI/UX refinement — Himalayan Harvest Honey */
.payment-method-card { position: relative; }
.payment-method-list { display: grid; gap: 12px; margin-top: 18px; }
.mobile-payment-option {
  display: flex; align-items: center; gap: 12px; position: relative;
  border: 1px solid #e4e2d8; border-radius: 16px; padding: 15px 14px;
  background: #fffdf8; cursor: pointer; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.mobile-payment-option:hover { border-color: #b9a16c; }
.mobile-payment-option.active {
  border-color: #28583e; background: #f5f8f2;
  box-shadow: 0 0 0 1px rgba(40,88,62,.08);
}
.mobile-payment-option input { position: absolute; opacity: 0; pointer-events: none; }
.mobile-payment-option .mobile-radio {
  flex: 0 0 18px; width: 18px; height: 18px; border: 1.5px solid #a7aaa0;
  border-radius: 50%; display: inline-grid; place-items: center;
}
.mobile-payment-option.active .mobile-radio { border-color: #24583d; }
.mobile-payment-option.active .mobile-radio::after {
  content: ""; width: 8px; height: 8px; border-radius: 50%; background: #24583d;
}
.payment-method-symbol {
  display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px;
  border-radius: 12px; color: #24583d; background: #e9efe5;
}
.payment-method-symbol .ui-icon, .payment-method-symbol svg { width: 21px; height: 21px; }
.payment-online-symbol { color: #875f17; background: #f7efd9; }
.payment-method-copy { display: flex; flex: 1; flex-direction: column; gap: 3px; min-width: 0; }
.payment-method-copy strong { color: #1c2a20; font-size: 14px; line-height: 1.25; }
.payment-method-copy small { color: #72776f; font-size: 11px; line-height: 1.45; }
.payment-method-tag {
  align-self: center; white-space: nowrap; border-radius: 999px; padding: 5px 8px;
  color: #45634c; background: #eaf0e6; font-size: 9px; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase;
}
.payment-method-tag.online-tag { color: #78571b; background: #f8efd9; }
.payment-security-note {
  display: flex; align-items: flex-start; gap: 7px; margin: 13px 2px 0;
  color: #73776f; font-size: 11px; line-height: 1.5;
}
.payment-security-note svg { width: 14px; height: 14px; flex: 0 0 14px; margin-top: 1px; }
.checkout-price-note { margin: 8px 0 0; color: #777b72; font-size: 11px; line-height: 1.5; }
.mobile-payment-option:focus-within { outline: 2px solid #b18b3b; outline-offset: 3px; }
@media (max-width: 420px) {
  .mobile-payment-option { gap: 9px; padding: 13px 10px; }
  .payment-method-symbol { flex-basis: 34px; width: 34px; height: 34px; border-radius: 10px; }
  .payment-method-tag { padding: 4px 6px; font-size: 8px; }
  .payment-method-copy strong { font-size: 13px; }
  .payment-method-copy small { font-size: 10px; }
}



/* =========================================================
   HIMALAYAN HARVEST HONEY — TYPOGRAPHY SYSTEM
   Canonical tokens and component-level normalization
   ========================================================= */
:root {
  --type-xs: .75rem;
  --type-sm: .875rem;
  --type-base: 1rem;
  --type-lg: 1.125rem;
  --type-xl: 1.25rem;
  --type-2xl: 1.5rem;
  --type-3xl: 2rem;
  --type-4xl: 2.5rem;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  --leading-tight: 1.12;
  --leading-heading: 1.22;
  --leading-ui: 1.4;
  --leading-body: 1.6;

  --tracking-tight: -.02em;
  --tracking-normal: 0;
  --tracking-label: .08em;
}

/* Global defaults */
html { font-size: 100%; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-interface);
  font-size: var(--type-base);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
}
button, input, select, textarea { font-family: var(--font-interface); }
input, select, textarea { font-size: 1rem; }
h1, h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-tight);
}
button, .button, .add-button, .mobile-add-button,
.mobile-sticky-cart-button, .cart-button {
  font-family: var(--font-interface);
  font-weight: var(--weight-semibold);
}
.eyebrow, .section__eyebrow {
  font-family: var(--font-interface);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
}
.site-nav a { font-weight: var(--weight-medium); }
.brand strong, .brand-wordmark strong {
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
}
.brand small, .brand-wordmark small { font-family: var(--font-interface); }

/* Desktop product cards: functional typography, editorial display reserved for headings */
.product-info h3,
.product-card .product-info h3 {
  font-family: var(--font-interface);
  font-size: 1rem;
  font-weight: var(--weight-medium);
  line-height: 1.4;
}
.product-desc {
  font-family: var(--font-interface);
  font-size: .875rem;
  font-weight: var(--weight-regular);
  line-height: 1.55;
  min-height: 0;
}
.product-variant-summary,
.product-price-context,
.product-pack-row,
.product-bottom span {
  font-family: var(--font-interface);
}
.product-bottom strong,
.product-prices strong,
.product-total-row strong,
.desktop-checkout-item > strong,
[data-cart-total] {
  font-family: var(--font-interface);
  font-weight: var(--weight-semibold);
  font-variant-numeric: tabular-nums;
}
.product-prices strong { font-size: 1.125rem; line-height: 1.35; }
.product-bottom strong { font-size: 1.375rem; }
.product-card .add-button, .add-button { font-size: .9375rem; }

/* Product detail and editorial content */
.hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 5vw, 4rem);
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  text-wrap: balance;
}
.intro h2, .section-heading h2, .story h2,
.review-layout h2, .newsletter h2,
.desktop-checkout-head h2, .hh-auth-wrap h1,
.hh-profile-card h2, .hh-section-head h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
  line-height: var(--leading-heading);
}
.hero-copy, .intro-copy, .section-heading > p {
  font-family: var(--font-interface);
  line-height: var(--leading-body);
}
.product-size-choice span,
.product-size-choice strong,
.product-choice, .product-size-choice,
.product-variant-summary,
.product-price-context {
  font-family: var(--font-interface);
}
.product-size-choice span { font-weight: var(--weight-medium); }
.product-total-row strong { font-weight: var(--weight-semibold); }
.desktop-checkout-card, .desktop-checkout-card * {
  font-family: var(--font-interface);
}
.desktop-checkout-head h2 { font-family: var(--font-display); }

/* Mobile product cards and mobile app views */
.mobile-app-title, .mobile-hero-copy h1,
.mobile-section-head h2, .mobile-page-header h1,
.mobile-detail-copy h2, .mobile-account-card h2,
.mobile-empty strong, .mobile-no-results strong {
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
  line-height: var(--leading-heading);
}
.mobile-product-info h3,
.mobile-cart-item h3 {
  font-family: var(--font-interface);
  font-size: 1rem;
  font-weight: var(--weight-medium);
  line-height: 1.35;
}
.mobile-product-desc {
  font-family: var(--font-interface);
  font-size: .875rem;
  line-height: 1.55;
  font-weight: var(--weight-regular);
  min-height: 0;
}
.mobile-pack-row, .mobile-product-price-note,
.mobile-variant-mini, .mobile-size-option strong,
.mobile-size-option span, .mobile-size-option,
.mobile-cart-item > strong, .mobile-cart-price,
.mobile-sticky-price strong, .mobile-sticky-price > span,
.mobile-order-line, .mobile-total-row strong {
  font-family: var(--font-interface);
}
.mobile-product-price strong, .mobile-sticky-price strong,
.mobile-cart-item > strong, .mobile-cart-price,
.mobile-total-row strong {
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-semibold);
}
.mobile-add-button, .mobile-sticky-cart-button {
  font-size: .875rem;
  font-weight: var(--weight-semibold);
}
.mobile-page-header h1 { font-size: 1.75rem; }
.mobile-detail-copy h2 { font-size: clamp(1.75rem, 7vw, 2rem); }
.mobile-product-info h3 { font-size: 1rem; }
.mobile-product-desc { font-size: .875rem; }
.mobile-pack-row { font-size: .75rem; line-height: 1.4; }
.mobile-product-price-note { font-size: .75rem; line-height: 1.4; }
.mobile-add-button { min-height: 42px; font-size: .875rem; }
.mobile-sticky-price > span { font-size: .75rem; line-height: 1.3; }
.mobile-sticky-price strong { font-size: 1.25rem; line-height: 1.25; }
.mobile-size-option span { font-size: .875rem; font-weight: var(--weight-medium); }

/* Account, checkout and payment interfaces */
.hh-auth-screen, .hh-auth-screen *,
.hh-account-content, .hh-account-content *,
.hh-auth-wrap, .hh-auth-wrap *,
.payment-method-copy, .payment-method-tag,
.payment-security-note, .checkout-price-note {
  font-family: var(--font-interface);
}
.hh-auth-screen h1, .hh-auth-wrap h1,
.hh-profile-card h2, .hh-section-head h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-regular);
}
.hh-auth-screen h1 { font-size: clamp(1.75rem, 4vw, 2.25rem); line-height: 1.2; }
.hh-auth-copy { font-size: .9375rem; line-height: 1.6; }
.hh-kicker, .hh-section-head > div > span { font-size: .75rem; }
.hh-phone-control select, .hh-phone-control input,
.hh-form-grid input, .hh-form-grid select,
.hh-form-grid textarea { font-size: 1rem; }
.payment-method-copy strong { font-size: .875rem; line-height: 1.4; }
.payment-method-copy small { font-size: .8125rem; line-height: 1.45; }
.payment-method-tag { font-size: .6875rem; font-weight: var(--weight-semibold); }
.payment-security-note, .checkout-price-note { font-size: .8125rem; line-height: 1.5; }

/* Splash screen: same two-family system */
.hh-splash__brand-main { font-family: var(--font-display); font-weight: var(--weight-regular); }
.hh-splash__brand-sub, .hh-splash__status { font-family: var(--font-interface); }

/* Responsive typography refinements */
@media (max-width: 760px) {
  .hero h1 { font-size: clamp(2.25rem, 8vw, 2.5rem); }
  .hero-copy { font-size: 1rem; line-height: 1.55; }
  .intro h2, .section-heading h2, .story h2,
  .review-layout h2, .newsletter h2 {
    font-size: clamp(1.75rem, 6vw, 2.125rem);
  }
  .product-desc { font-size: .875rem; }
  .product-info h3 { font-size: 1rem; }
  .product-bottom strong { font-size: 1.125rem; }
  .add-button { min-height: 44px; font-size: .875rem; }
}
@media (max-width: 420px) {
  .mobile-product-desc { font-size: .875rem; }
  .mobile-product-info h3 { font-size: .9375rem; }
  .mobile-pack-row, .mobile-product-price-note { font-size: .75rem; }
  .mobile-add-button { font-size: .875rem; }
  .payment-method-tag { font-size: .6875rem; }
  .payment-method-copy strong { font-size: .875rem; }
  .payment-method-copy small { font-size: .8125rem; }
}


/* =========================================================
   AUTHENTICATION UI — PREMIUM MINIMAL REFINEMENT
   Scoped to existing phone-OTP account screens. The current
   project has no live authentication provider; do not imply
   that SMS or server-side authentication is connected.
   ========================================================= */
.hh-account-modal .hh-account-panel:has(.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen)) {
  width: min(472px, calc(100vw - 32px));
  max-height: min(90vh, 820px);
  background: #fff;
  border: 1px solid #e8dfd2;
  border-radius: 12px;
  box-shadow: 0 18px 56px rgba(58, 22, 8, .13);
}
.hh-account-modal:has(.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen)) .modal-close {
  width: 36px;
  height: 36px;
  top: 12px;
  right: 12px;
  color: #6f5b4b;
  border: 1px solid #e8dfd2;
  background: #fff;
  font-size: 20px;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) {
  --auth-green: #3a1608;
  --auth-ink: #3a1608;
  --auth-muted: #6f5b4b;
  --auth-border: #e8dfd2;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  padding: 34px 30px 30px;
  color: #3a1608;
  font-family: var(--font-interface);
  background: #fff;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-top {
  min-height: 36px;
  margin-bottom: 30px;
  padding-right: 26px;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-brand-mini {
  gap: 8px;
  color: #3a1608;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 500;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-brand-mini img {
  width: 34px;
  height: 30px;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-step {
  color: #8b5c2e;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .07em;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-kicker {
  margin-bottom: 8px;
  color: #8b5c2e;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: .06em;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) h1 {
  margin: 0 0 9px;
  color: #3a1608;
  font-family: var(--font-interface);
  font-size: 26px;
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: -.025em;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-copy {
  max-width: 360px;
  margin: 0 0 24px;
  color: #6f5b4b;
  font-size: 13.5px;
  line-height: 1.55;
  font-weight: 400;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-copy strong {
  color: #3a1608;
  font-weight: 500;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) form > label,
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-form-grid label {
  display: grid;
  gap: 7px;
  margin: 0 0 9px;
  color: #3a1608;
  font-size: 13.5px;
  line-height: 1.4;
  font-weight: 500;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-phone-control {
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 8px;
  margin: 0 0 8px;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) input,
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) select {
  min-width: 0;
  width: 100%;
  height: 46px;
  padding: 0 12px;
  border: 1px solid #e8dfd2;
  border-radius: 6px;
  background: #fff;
  color: #3a1608;
  font-family: var(--font-interface);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  box-shadow: none;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) input::placeholder {
  color: #8c7d70;
  opacity: 1;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) input:focus,
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) select:focus {
  border-color: #a66a2c;
  outline: 2px solid rgba(166, 106, 44, .22);
  outline-offset: 1px;
  box-shadow: none;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-phone-hint {
  margin: 8px 0 18px;
  color: #6f5b4b;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-primary.hh-auth-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  height: 46px;
  margin-top: 2px;
  border: 1px solid #3a1608;
  border-radius: 6px;
  background: #3a1608;
  color: #fff;
  font-family: var(--font-interface);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0;
  box-shadow: none;
  transition: background-color .16s ease, border-color .16s ease;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-primary.hh-auth-submit:hover {
  border-color: #552611;
  background: #552611;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-primary.hh-auth-submit:focus-visible,
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-switch button:focus-visible,
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-text-button:focus-visible,
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-back:focus-visible {
  outline: 2px solid #a66a2c;
  outline-offset: 3px;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-switch {
  margin: 18px 0 0;
  color: #6f5b4b;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 400;
  text-align: center;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-switch button,
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-text-button {
  color: #7b4b20;
  font-family: var(--font-interface);
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-switch button:hover,
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-text-button:hover {
  text-decoration-color: currentColor;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-form-message {
  min-height: 0;
  margin: 10px 0 0;
  color: #9a3027;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-otp-label-row {
  margin-bottom: 10px;
  color: #3a1608;
  font-size: 13px;
  font-weight: 500;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-otp-grid {
  gap: 7px;
  margin-bottom: 20px;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-otp-slot {
  min-width: 0;
  height: 46px;
  padding: 0;
  border-radius: 6px;
  font-size: 17px;
  font-weight: 500;
  text-align: center;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-otp-actions {
  margin-top: 14px;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-demo-otp {
  margin: 14px 0 0;
  padding: 10px 11px;
  border: 1px solid #e8dfd2;
  border-radius: 6px;
  background: #faf7f0;
  color: #6f5b4b;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-demo-otp strong {
  color: #3a1608;
  font-weight: 500;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-demo-otp span {
  display: inline;
  color: #6f5b4b;
  font-weight: 400;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-back {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  color: #3a1608;
}
.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-note {
  margin-top: 14px;
  color: #6f5b4b;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
@media (max-width: 760px) {
  .hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) {
    max-width: none;
    padding: 28px 22px 26px;
  }
  .hh-account-modal .hh-account-panel:has(.hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen)) {
    width: calc(100vw - 24px);
    max-height: 92vh;
    border-radius: 10px;
  }
}
@media (max-width: 380px) {
  .hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) {
    padding: 24px 18px 22px;
  }
  .hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-phone-control {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 6px;
  }
  .hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) input,
  .hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) select {
    padding-left: 9px;
    padding-right: 9px;
    font-size: 13.5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* =========================================================
   FINAL POLISH — account flows, compact forms and delivery
   ========================================================= */
.hh-auth-screen{
  max-width:480px;
  padding:28px 30px 30px;
  --auth-ink:#3A1608;
  --auth-muted:#6F5B4B;
  --auth-border:#E8DFD2;
}
.hh-auth-screen h1{
  font-family:var(--font-interface);
  font-size:26px;
  line-height:1.25;
  font-weight:500;
  letter-spacing:-.025em;
  color:#3A1608;
  margin:0 0 8px;
}
.hh-auth-top{margin-bottom:22px}
.hh-auth-brand-mini{font-size:12px;font-weight:500;color:#3A1608}
.hh-auth-step,.hh-auth-screen .hh-kicker{
  font-weight:500;
  letter-spacing:.09em;
}
.hh-auth-copy{font-size:13.5px;line-height:1.55;color:#6F5B4B;margin-bottom:22px}
.hh-auth-screen form>label,.hh-form-grid label{
  gap:6px;
  margin-bottom:14px;
  font-size:13px;
  font-weight:500;
  color:#3A1608;
}
.hh-auth-screen input:not([type=checkbox]):not([type=radio]),
.hh-auth-screen textarea,
.hh-auth-screen select{
  min-height:46px;
  padding:11px 13px;
  border:1px solid #E8DFD2;
  border-radius:8px;
  background:#fff;
  color:#3A1608;
  font:400 14px/1.4 var(--font-interface);
  box-shadow:none;
}
.hh-auth-screen textarea{min-height:66px;resize:vertical}
.hh-auth-screen input::placeholder,
.hh-auth-screen textarea::placeholder{font-size:13px;font-weight:400;color:#92877c;opacity:1}
.hh-auth-screen input:focus-visible,
.hh-auth-screen textarea:focus-visible,
.hh-auth-screen select:focus-visible{
  outline:2px solid rgba(166,106,44,.35);
  outline-offset:2px;
  border-color:#A66A2C;
}
.hh-primary.hh-auth-submit{
  min-height:46px;
  border-radius:8px;
  font:500 14px/1.2 var(--font-interface);
  letter-spacing:0;
}
.hh-primary.hh-auth-submit:disabled{opacity:.68;cursor:wait}
.hh-auth-screen .hh-auth-switch{font-size:13px;color:#6F5B4B;margin:16px 0 0}
.hh-auth-screen .hh-auth-switch button,
.hh-auth-screen .hh-text-button,
.hh-auth-support a,
.hh-legal-copy a{
  font:500 13px/1.45 var(--font-interface);
  color:#7A431F;
  text-decoration:underline;
  text-underline-offset:3px;
}
.hh-auth-screen .hh-legal-copy{font-size:11px;line-height:1.55;color:#796c60;margin:14px 0 0}
.hh-auth-support{margin:16px 0 0;text-align:center;font-size:12px;color:#796c60}
.hh-auth-support a{font-size:12px}
.hh-otp-grid{gap:9px;margin-bottom:20px}
.hh-otp-dashes .hh-otp-slot{height:46px;font-size:20px;font-weight:500}
.hh-demo-otp{font-size:11px;font-weight:400;color:#6F5B4B}
.hh-demo-otp strong{font-weight:500}
.hh-verified-phone{margin-bottom:16px}
.hh-pin-feedback{font-size:11px;line-height:1.45}
.hh-delivery-context-action{
  width:100%;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease;
}
.hh-delivery-context-action:hover,
.hh-delivery-context-action:focus-visible{
  border-color:#A66A2C;
  background:#fbf7ef;
}
.hh-delivery-context-action:focus-visible{
  outline:2px solid rgba(166,106,44,.35);
  outline-offset:2px;
}
.hh-toast{
  position:fixed;
  z-index:100500;
  left:50%;
  bottom:24px;
  transform:translate(-50%,12px);
  width:max-content;
  max-width:calc(100vw - 32px);
  padding:12px 16px;
  border:1px solid #d8e6da;
  border-radius:9px;
  background:#173f2b;
  color:#fff;
  font:500 13px/1.4 var(--font-interface);
  box-shadow:0 10px 32px rgba(18,34,26,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.hh-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mobile-product-info{padding:12px}
.mobile-product-kicker{font-size:9px;font-weight:500;letter-spacing:.07em}
.mobile-product-info h3{font-size:17px;font-weight:500}
.mobile-product-desc{font-size:11px;min-height:0;line-height:1.45}
.mobile-pack-row{margin:9px 0 10px;font-size:10px;font-weight:500}
.mobile-add-button{font-size:12px;font-weight:500;min-height:42px}
.mobile-summary-head{font-size:9px;font-weight:500;letter-spacing:.06em}
.mobile-summary-lines{font-size:11px;line-height:1.5}
.mobile-total-row{font-size:12px;font-weight:500}
.mobile-total-row strong{font-family:var(--font-interface);font-size:19px;font-weight:500;letter-spacing:-.02em}
.mobile-price-summary>p{font-size:10px;line-height:1.45}
@media(max-width:760px){
  .hh-auth-screen{max-width:none;padding:20px 22px 24px}
  .hh-auth-screen h1{font-size:25px}
  .hh-auth-copy{margin-bottom:18px}
  .hh-auth-screen form>label,.hh-form-grid label{margin-bottom:12px}
  .hh-otp-grid{gap:7px;padding-inline:0}
  .hh-otp-dashes .hh-otp-slot{height:44px;font-size:19px}
  .hh-toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){
  .hh-auth-screen{padding-inline:17px}
  .hh-otp-grid{gap:5px}
}
@media(prefers-reduced-motion:reduce){
  .hh-toast,.hh-delivery-context-action{transition:none}
}

.product-price-summary{padding:14px 15px;border-radius:12px}
.product-summary-head{font-size:10px;font-weight:500;letter-spacing:.06em}
.product-summary-list{font-size:11px;line-height:1.5;gap:6px 12px;margin:10px 0}
.product-total-row{font-size:12px;font-weight:500;padding-top:10px}
.product-total-row strong{font-family:var(--font-interface);font-size:20px;line-height:1.2;font-weight:500;letter-spacing:-.02em}
.product-price-note{font-size:11px;line-height:1.45}
@media(max-width:760px){
  .product-price-summary{padding:13px}
  .product-total-row strong{font-size:19px}
}

/* =========================================================
   WELCOME AUTH EXPERIENCE — reference-led premium redesign
   Scoped to welcome/login/signup/OTP flows only.
   ========================================================= */
.hh-account-modal .hh-account-panel:has(.hh-auth-welcome) {
  width: min(540px, calc(100vw - 32px));
  max-height: min(94svh, 920px);
  padding: 0;
  overflow: auto;
  overflow-x: hidden;
  border: 1px solid rgba(110, 66, 34, .16);
  border-radius: 22px;
  background: #fffaf1;
  box-shadow: 0 24px 80px rgba(47, 28, 15, .22);
}
.hh-account-modal:has(.hh-auth-welcome) .modal-close {
  z-index: 3;
  width: 34px;
  height: 34px;
  top: 12px;
  right: 12px;
  border: 1px solid rgba(90, 43, 11, .14);
  border-radius: 50%;
  background: rgba(255, 252, 246, .84);
  color: #5a2b0b;
  font-size: 21px;
  font-weight: 400;
}
.hh-auth-welcome {
  --welcome-ink: #211913;
  --welcome-brown: #5a2b0b;
  --welcome-muted: #82776c;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-height: min(820px, 90svh);
  box-sizing: border-box;
  padding: 46px 34px 36px;
  overflow: hidden;
  color: var(--welcome-ink);
  text-align: center;
  background:
    radial-gradient(ellipse at 52% 28%, rgba(255,255,255,.97) 0%, rgba(255,253,248,.9) 38%, transparent 71%),
    linear-gradient(145deg, #f9f1e4 0%, #fffdf8 40%, #fbf2e4 100%);
  font-family: var(--font-interface, Inter, Arial, sans-serif);
}
.hh-auth-welcome::before,
.hh-auth-welcome::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 440px;
  height: 310px;
  border: 1px solid rgba(214, 156, 76, .22);
  border-radius: 48% 52% 58% 42% / 52% 45% 55% 48%;
}
.hh-auth-welcome::before {
  top: -218px;
  left: -230px;
  transform: rotate(-24deg);
  box-shadow: 0 0 0 16px rgba(255,255,255,.22), 0 0 0 32px rgba(214,156,76,.035);
}
.hh-auth-welcome::after {
  right: -270px;
  bottom: -218px;
  transform: rotate(-24deg);
  box-shadow: 0 0 0 17px rgba(255,255,255,.25), 0 0 0 35px rgba(214,156,76,.045);
}
.hh-welcome-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: clamp(24px, 5svh, 54px);
}
.hh-welcome-mountain {
  display: block;
  width: 82px;
  height: 31px;
  margin-bottom: 4px;
  fill: none;
  stroke: #783f21;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hh-welcome-wordmark {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #171411;
  font-family: var(--font-interface, Inter, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.18;
  letter-spacing: .20em;
  font-weight: 400;
}
.hh-welcome-wordmark strong {
  margin-top: 1px;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: .14em;
}
.hh-welcome-wordmark small {
  margin-top: 5px;
  font-size: 9px;
  letter-spacing: .38em;
  line-height: 1;
  font-weight: 500;
  padding-left: .38em;
}
.hh-welcome-divider {
  flex: none;
  width: 74px;
  height: 1px;
  margin-top: clamp(24px, 4svh, 42px);
  background: #d7a45e;
}
.hh-welcome-copy {
  width: 100%;
  margin-top: clamp(30px, 5.5svh, 56px);
}
.hh-welcome-copy h1 {
  margin: 0;
  color: #171411;
  font-family: var(--font-interface, Inter, Arial, sans-serif);
  font-size: clamp(28px, 5.6vw, 42px);
  line-height: 1.15;
  letter-spacing: -.045em;
  font-weight: 500;
}
.hh-welcome-copy p {
  margin: 14px 0 0;
  color: #83786d;
  font-size: clamp(14px, 2.2vw, 17px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .005em;
}
.hh-welcome-actions {
  display: grid;
  gap: 13px;
  width: 100%;
  margin-top: clamp(34px, 7svh, 66px);
}
.hh-welcome-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 57px;
  box-sizing: border-box;
  padding: 13px 56px;
  border: 1px solid var(--welcome-brown);
  border-radius: 999px;
  font-family: var(--font-interface, Inter, Arial, sans-serif);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.015em;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.hh-welcome-button svg {
  position: absolute;
  right: 23px;
  top: 50%;
  width: 23px;
  height: 23px;
  transform: translateY(-50%);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hh-welcome-button.is-primary {
  background: var(--welcome-brown);
  color: #fffaf4;
  box-shadow: 0 6px 18px rgba(90,43,11,.10);
}
.hh-welcome-button.is-secondary {
  color: #211913;
  background: rgba(255,253,248,.58);
  border-color: rgba(90,43,11,.88);
}
.hh-welcome-button:hover { transform: translateY(-1px); }
.hh-welcome-button.is-primary:hover { background: #472207; box-shadow: 0 9px 22px rgba(90,43,11,.15); }
.hh-welcome-button.is-secondary:hover { background: rgba(255,255,255,.85); }
.hh-welcome-button:focus-visible { outline: 3px solid rgba(195,136,59,.48); outline-offset: 3px; }
.hh-welcome-trust {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: clamp(42px, 7svh, 72px);
  color: var(--welcome-muted);
}
.hh-welcome-trust svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: #8b8074;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hh-welcome-trust p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.4;
  font-weight: 400;
}
.hh-auth-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 460px;
  padding: 46px 30px 34px;
  text-align: center;
  background: #fffaf1;
}
.hh-auth-success-mark { width: 84px; height: 84px; margin: 0 auto 24px; }
.hh-auth-success-mark svg { display: block; width: 100%; height: 100%; fill: none; stroke: #1d8a43; stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; }
.hh-auth-success-mark circle { fill: rgba(56, 170, 83, .09); stroke: rgba(56,170,83,.17); stroke-width: 9; }
.hh-auth-screen.hh-auth-success:not(.hh-signup-details-screen):not(.hh-address-screen) h1 { max-width: 360px; margin: 0 0 10px; color: #211913; font: 500 25px/1.25 var(--font-interface, Inter, Arial, sans-serif); letter-spacing: -.03em; }
.hh-auth-screen.hh-auth-success:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-copy { margin: 0 auto 28px; color: #82776c; font-size: 13.5px; line-height: 1.55; }
.hh-auth-screen.hh-auth-success:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-submit { display: flex; align-items: center; gap: 12px; max-width: 360px; margin-top: auto; }
.hh-auth-screen.hh-auth-success:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-submit span { font-size: 19px; line-height: 1; }
.hh-auth-no-account { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding: 11px 12px; border: 1px solid #e8dfd2; border-radius: 8px; background: #fffaf1; color: #6f5b4b; font-size: 12px; line-height: 1.4; }
.hh-auth-no-account[hidden] { display: none !important; }
.hh-auth-no-account button { flex: none; border: 0; padding: 4px 0; background: transparent; color: #7b4b20; font: 500 12px/1.4 var(--font-interface, Inter, Arial, sans-serif); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.hh-auth-success .hh-auth-submit:focus-visible,
.hh-auth-no-account button:focus-visible { outline: 2px solid #a66a2c; outline-offset: 3px; }
@media (max-width: 760px) {
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-screen) .site-header,
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-welcome) .site-header,
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-screen) .mobile-bottom-nav,
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-welcome) .mobile-bottom-nav { display: none !important; }
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-screen),
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-welcome) { padding-bottom: 0; background: #fffaf1; }
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-screen) .mobile-app,
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-welcome) .mobile-app,
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-screen) .mobile-page-shell,
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-welcome) .mobile-page-shell,
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-screen) .mobile-page-view[data-mobile-view="account"],
  body.mobile-app-active:has(.mobile-page-view[data-mobile-view="account"]:not([hidden]) .hh-auth-welcome) .mobile-page-view[data-mobile-view="account"] { min-height: 100svh; }
  .mobile-page-view[data-mobile-view="account"]:has(.hh-auth-welcome),
  .mobile-page-view[data-mobile-view="account"]:has(.hh-auth-screen) { padding: 0; }
  .hh-auth-welcome {
    min-height: 100svh;
    padding: max(30px, env(safe-area-inset-top)) 25px max(28px, env(safe-area-inset-bottom));
  }
  .hh-welcome-brand { margin-top: clamp(30px, 10svh, 96px); }
  .hh-welcome-mountain { width: 80px; height: 30px; }
  .hh-welcome-wordmark { font-size: 14px; }
  .hh-welcome-wordmark strong { font-size: 21px; }
  .hh-welcome-divider { margin-top: clamp(24px, 4.5svh, 42px); }
  .hh-welcome-copy { margin-top: clamp(32px, 6svh, 60px); }
  .hh-welcome-copy h1 { font-size: clamp(29px, 7.8vw, 39px); }
  .hh-welcome-copy p { margin-top: 12px; font-size: 15px; }
  .hh-welcome-actions { margin-top: clamp(38px, 7.5svh, 72px); gap: 13px; }
  .hh-welcome-button { min-height: 56px; padding-inline: 47px; font-size: 16px; }
  .hh-welcome-button svg { right: 21px; width: 22px; height: 22px; }
  .hh-welcome-trust { padding-top: clamp(40px, 7svh, 68px); }
  .hh-welcome-trust p { font-size: 13px; }
  .hh-account-modal .hh-account-panel:has(.hh-auth-welcome) { width: 100vw; max-height: 100svh; border: 0; border-radius: 0; }
  .hh-auth-screen.hh-auth-success:not(.hh-signup-details-screen):not(.hh-address-screen) { min-height: 100svh; padding: 36px 26px max(28px, env(safe-area-inset-bottom)); }
  .hh-auth-screen.hh-auth-success:not(.hh-signup-details-screen):not(.hh-address-screen) .hh-auth-submit { width: 100%; max-width: none; margin-top: auto; }
  .hh-auth-screen:not(.hh-signup-details-screen):not(.hh-address-screen) { min-height: 100svh; box-sizing: border-box; padding-top: max(24px, env(safe-area-inset-top)); }
}
@media (max-height: 720px) and (max-width: 760px) {
  .hh-auth-welcome { padding-top: 24px; }
  .hh-welcome-brand { margin-top: 10px; }
  .hh-welcome-divider { margin-top: 22px; }
  .hh-welcome-copy { margin-top: 24px; }
  .hh-welcome-copy h1 { font-size: clamp(27px, 7vw, 33px); }
  .hh-welcome-actions { margin-top: 30px; }
  .hh-welcome-trust { padding-top: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .hh-welcome-button { transition: none; }
  .hh-welcome-button:hover { transform: none; }
}

/* Shared centered mountain wordmark for each authentication step. */
.hh-auth-brand-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 100%;
  margin: 0 auto 34px;
  color: #211913;
  text-align: center;
}
.hh-auth-brand-lockup > svg {
  display: block;
  width: 70px;
  height: 26px;
  fill: none;
  stroke: #783f21;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hh-auth-brand-lockup > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  font: 400 12px/1.18 var(--font-interface, Inter, Arial, sans-serif);
  letter-spacing: .2em;
}
.hh-auth-brand-lockup strong {
  margin-top: 1px;
  font-size: 17px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: .14em;
}
.hh-auth-brand-lockup small {
  margin-top: 4px;
  font-size: 8px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .38em;
  padding-left: .38em;
}
.hh-auth-screen .hh-auth-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px !important;
  padding-right: 0 !important;
}
.hh-auth-screen .hh-auth-top .hh-auth-step { margin-left: auto; }
.hh-auth-screen .hh-auth-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(90,43,11,.17);
  border-radius: 9px;
  background: rgba(255,255,255,.55);
}
.hh-auth-screen .hh-auth-back svg { width: 18px; height: 18px; }
@media (max-width: 760px) {
  .hh-auth-brand-lockup { margin-bottom: 32px; }
  .hh-auth-brand-lockup > svg { width: 68px; height: 25px; }
  .hh-auth-brand-lockup > span { font-size: 12px; }
  .hh-auth-brand-lockup strong { font-size: 17px; }
  .hh-auth-screen .hh-auth-top { margin-bottom: 16px !important; }
}


/* Admin-managed moving offers ticker */
.promo-ticker{--ticker-bg:#a66a2c;position:relative;z-index:10;display:flex;align-items:center;gap:18px;min-height:38px;padding:0 max(20px,calc((100vw - 1180px)/2));background:var(--ticker-bg);color:#fffdf8;overflow:hidden;font-family:var(--font-interface);border-bottom:1px solid rgba(255,255,255,.12)}
.promo-ticker[hidden]{display:none!important}
.promo-ticker[data-theme="forest"]{--ticker-bg:#173f2b}
.promo-ticker[data-theme="coffee"]{--ticker-bg:#3a1608}
.promo-ticker[data-theme="classic-red"]{--ticker-bg:#d83220}
.promo-ticker__label{position:relative;z-index:2;flex:none;padding:5px 9px;border:1px solid rgba(255,255,255,.42);border-radius:3px;font-size:9px;line-height:1.2;font-weight:700;letter-spacing:1.4px;white-space:nowrap}
.promo-ticker__viewport{min-width:0;flex:1;overflow:hidden}
.promo-ticker__track{display:flex;align-items:center;width:max-content;white-space:nowrap;will-change:transform;animation:hh-promo-scroll 25s linear infinite}
.promo-ticker[data-speed="slow"] .promo-ticker__track{animation-duration:36s}
.promo-ticker[data-speed="fast"] .promo-ticker__track{animation-duration:15s}
.promo-ticker__message{display:inline-block;font-size:11px;line-height:1.3;font-weight:500;letter-spacing:.015em;padding:0 3px}
.promo-ticker__separator{font-size:14px;line-height:1;padding:0 25px;color:rgba(255,255,255,.72)}
.promo-ticker__close{flex:none;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:transparent;color:inherit;font-size:19px;line-height:1;cursor:pointer}
.promo-ticker__close[hidden]{display:none!important}
.promo-ticker__close:hover{background:rgba(255,255,255,.13)}
.promo-ticker__close:focus-visible{outline:2px solid #fff;outline-offset:2px}
@keyframes hh-promo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:760px){
 .promo-ticker{min-height:36px;gap:9px;padding:0 10px}
 .promo-ticker__label{font-size:8px;letter-spacing:1px;padding:5px 6px}
 .promo-ticker__message{font-size:10px}
 .promo-ticker__separator{padding:0 15px}
 .promo-ticker__close{width:25px;height:25px;font-size:17px}
}
@media(prefers-reduced-motion:reduce){
 .promo-ticker__track{animation:none;transform:none;will-change:auto}
 .promo-ticker__viewport{overflow-x:auto;scrollbar-width:thin}
}


/* ================================================================
   CHECKOUT REFINEMENT — premium payment cards, savings feedback,
   responsive typography and consistent price alignment.
   ================================================================ */
.desktop-checkout-card[data-desktop-address-card] { min-width: 0; }
.desktop-checkout-card-title { align-items: center; gap: 12px; margin-bottom: 17px; }
.desktop-checkout-card-title h3,
.desktop-checkout-summary h3 { font-family: var(--font-interface, Inter, Arial, sans-serif) !important; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.desktop-checkout-card-title p { font-size: 12px; line-height: 1.45; }
.desktop-payment-option {
  position: relative; display: grid; grid-template-columns: 18px 42px minmax(0, 1fr) auto;
  align-items: center; gap: 12px; min-height: 78px; margin-top: 10px; padding: 14px 15px;
  border: 1px solid #e6ded1; border-radius: 13px; background: #fff; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.desktop-payment-option:hover { border-color: #c7b69a; }
.desktop-payment-option:focus-within { outline: 3px solid rgba(166,106,44,.18); outline-offset: 2px; }
.desktop-payment-option.active { border-color: #1d4935; background: #f4f8f4; box-shadow: inset 0 0 0 1px rgba(29,73,53,.07); }
.desktop-radio { grid-column: 1; grid-row: 1; width: 17px; height: 17px; }
.desktop-payment-symbol { grid-column: 2; grid-row: 1; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: #194832; background: #edf4ee; }
.desktop-payment-symbol.online { color: #866024; background: #fbf3e4; }
.desktop-payment-symbol svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.desktop-payment-copy { grid-column: 3; grid-row: 1; min-width: 0; display: grid; gap: 5px; }
.desktop-payment-option strong { font: 600 14px/1.3 var(--font-interface, Inter, Arial, sans-serif); letter-spacing: -.01em; color: #202b23; }
.desktop-payment-option small { margin: 0; font: 400 12px/1.45 var(--font-interface, Inter, Arial, sans-serif); color: #737b73; }
.desktop-payment-tag { grid-column: 4; grid-row: 1; justify-self: end; padding: 6px 8px; border-radius: 6px; color: #276441; background: #e8f2e9; font: 600 10px/1 var(--font-interface, Inter, Arial, sans-serif); white-space: nowrap; }
.desktop-payment-tag.coming-soon { color: #80601c; background: #faf1df; }
.payment-readiness-note { display: flex; gap: 8px; margin-top: 12px; padding: 11px 12px; border-radius: 9px; border: 1px solid #ead8ac; background: #fff8e9; color: #76551b; font: 400 12px/1.5 var(--font-interface, Inter, Arial, sans-serif); }
.payment-readiness-note[hidden] { display: none !important; }
.desktop-checkout-item { align-items: flex-start; gap: 12px; padding: 2px 0; }
.desktop-checkout-item > div:first-child { flex: 1; min-width: 0; }
.desktop-checkout-item strong { font: 500 13px/1.4 var(--font-interface, Inter, Arial, sans-serif); overflow-wrap: anywhere; }
.desktop-checkout-item span { font-size: 11px; line-height: 1.45; }
.desktop-checkout-item-price { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex: none; text-align: right; white-space: nowrap; }
.desktop-checkout-item-price strong { font-variant-numeric: tabular-nums; font-size: 13px; }
.desktop-checkout-item-price del { color: #90978f; font: 400 11px/1.3 var(--font-interface, Inter, Arial, sans-serif); }
.desktop-checkout-total-row { align-items: center; font: 400 12px/1.45 var(--font-interface, Inter, Arial, sans-serif); }
.desktop-checkout-total-row strong { font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.desktop-checkout-total-row.discount-row { color: #237548; }
.desktop-checkout-total-row.discount-row strong { color: #237548; }
.desktop-checkout-total-row[hidden] { display: none !important; }
.desktop-checkout-summary-head span { font-size: 11px; }
.desktop-place-order { min-height: 50px; border-radius: 10px; font: 600 14px/1.2 var(--font-interface, Inter, Arial, sans-serif); box-shadow: 0 6px 14px rgba(172,111,14,.12); transition: transform .15s ease, filter .15s ease; }
.desktop-place-order:hover { filter: brightness(.97); transform: translateY(-1px); }
.desktop-place-order:focus-visible { outline: 3px solid rgba(200,134,13,.3); outline-offset: 3px; }
.desktop-checkout-note { font-size: 11px; line-height: 1.5; }
.checkout-savings-slot { min-width: 0; }
.hh-checkout-savings { position: relative; display: flex; align-items: center; gap: 10px; min-width: 0; margin: 8px 0 12px; padding: 12px 12px; border: 1px solid #cfe3d2; border-radius: 11px; background: linear-gradient(110deg,#f0f8f1 0%,#f9fbf7 70%,#fffaf0 100%); overflow: hidden; animation: hhSavingsEnter .38s cubic-bezier(.2,.75,.25,1) both; }
.hh-checkout-savings-icon { width: 28px; height: 28px; flex: none; display: grid; place-items: center; border-radius: 50%; background: #1e6841; color: #fff; font-size: 15px; font-weight: 600; box-shadow: 0 0 0 4px rgba(45,132,77,.1); }
.hh-checkout-savings-copy { display: grid; min-width: 0; gap: 3px; flex: 1; }
.hh-checkout-savings-copy strong { color: #205837; font: 600 13px/1.25 var(--font-interface, Inter, Arial, sans-serif); letter-spacing: -.015em; }
.hh-checkout-savings-copy small { color: #617766; font: 400 11px/1.35 var(--font-interface, Inter, Arial, sans-serif); overflow-wrap: anywhere; }
.hh-checkout-savings-chip { flex: none; padding: 5px 7px; border: 1px solid #cce0ce; border-radius: 6px; color: #286742; background: rgba(255,255,255,.72); font: 600 9px/1 var(--font-interface, Inter, Arial, sans-serif); letter-spacing: .045em; }
.hh-checkout-spark { position: absolute; pointer-events: none; color: #c28a26; opacity: 0; animation: hhSavingsSpark .8s ease-out both; }
.hh-checkout-spark.spark-one { right: 18px; top: 3px; font-size: 14px; }
.hh-checkout-spark.spark-two { right: 34px; top: 13px; font-size: 11px; animation-delay: .08s; }
.hh-checkout-spark.spark-three { right: 9px; top: 22px; font-size: 18px; animation-delay: .14s; }
@keyframes hhSavingsEnter { from { opacity: 0; transform: translateY(5px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes hhSavingsSpark { 0% { opacity: 0; transform: translate(0,5px) scale(.6); } 35% { opacity: .95; } 100% { opacity: .05; transform: translate(0,-8px) scale(1.05); } }
.desktop-checkout-message:empty { display: none; }
.mobile-checkout-heading { align-items: center; }
.mobile-checkout-heading .mobile-page-header > div { min-width: 0; }
.mobile-checkout-heading h1 { margin: 2px 0 0; }
.mobile-checkout-heading p { margin: 4px 0 0; color: #737b73; font: 400 12px/1.4 var(--font-interface, Inter, Arial, sans-serif); }
.mobile-checkout-progress { gap: 8px; margin: 8px 16px 14px; }
.mobile-checkout-progress > div { gap: 6px; font: 500 10px/1.2 var(--font-interface, Inter, Arial, sans-serif); }
.mobile-checkout-progress > div span { width: 24px; height: 24px; font-size: 10px; }
.mobile-form-card { border-radius: 14px; padding: 16px; }
.mobile-form-title { gap: 11px; margin-bottom: 16px; }
.mobile-form-title > span { flex: none; }
.mobile-form-title h2 { white-space: normal; overflow: visible; font: 600 15px/1.3 var(--font-interface, Inter, Arial, sans-serif); letter-spacing: -.015em; }
.mobile-form-title p { font: 400 11px/1.45 var(--font-interface, Inter, Arial, sans-serif); color: #747d74; }
.payment-method-list { display: grid; gap: 10px; margin-top: 10px; }
.mobile-payment-option { display: grid; grid-template-columns: 17px 38px minmax(0,1fr); align-items: center; column-gap: 10px; min-height: 76px; margin: 0; padding: 13px 12px; border-radius: 12px; }
.mobile-payment-option.active { border-color: #1d4935; background: #f3f8f3; box-shadow: inset 0 0 0 1px rgba(29,73,53,.06); }
.mobile-payment-option:focus-within { outline: 3px solid rgba(166,106,44,.16); outline-offset: 2px; }
.mobile-payment-option .mobile-radio { grid-column: 1; grid-row: 1; width: 17px; height: 17px; }
.payment-method-symbol { grid-column: 2; grid-row: 1; flex: none; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: #1b4e34; background: #eaf2eb; }
.payment-method-symbol .ui-icon, .payment-method-symbol svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.payment-method-symbol.payment-online-symbol { color: #8a6522; background: #fbf1dd; }
.payment-method-copy { grid-column: 3; grid-row: 1; min-width: 0; padding-right: 0; display: flex; flex-direction: column; gap: 5px; flex: unset; }
.payment-method-copy strong { font: 600 13px/1.3 var(--font-interface, Inter, Arial, sans-serif); color: #202b23; overflow-wrap: anywhere; }
.payment-method-copy small { font: 400 11px/1.4 var(--font-interface, Inter, Arial, sans-serif); color: #737b73; white-space: normal; overflow-wrap: anywhere; }
.payment-method-tag { position: absolute; top: 8px; right: 9px; padding: 5px 6px; font: 600 9px/1 var(--font-interface, Inter, Arial, sans-serif); }
.mobile-payment-copy { padding-right: 44px; }
.payment-security-note { display: flex; align-items: flex-start; gap: 8px; padding: 10px 11px; margin-top: 12px; border-radius: 9px; background: #fff7e7; color: #76551b; font: 400 11px/1.45 var(--font-interface, Inter, Arial, sans-serif); }
.payment-security-note[hidden] { display: none !important; }
.payment-security-note svg { flex: none; width: 16px; height: 16px; }
.mobile-checkout-items { gap: 10px; margin: 5px 0 10px; padding-bottom: 12px; border-bottom: 1px solid #e8e0d3; }
.mobile-checkout-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-width: 0; }
.mobile-checkout-item-copy { flex: 1; min-width: 0; display: grid; gap: 3px; }
.mobile-checkout-item-copy strong { font: 500 12px/1.4 var(--font-interface, Inter, Arial, sans-serif); color: #243027; overflow-wrap: anywhere; }
.mobile-checkout-item-copy small { font: 400 10.5px/1.4 var(--font-interface, Inter, Arial, sans-serif); color: #747d74; white-space: normal; }
.mobile-checkout-item-price { flex: none; min-width: 52px; text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; font-variant-numeric: tabular-nums; }
.mobile-checkout-item-price strong { font: 600 12px/1.35 var(--font-interface, Inter, Arial, sans-serif); color: #243027; white-space: nowrap; }
.mobile-checkout-item-price del { color: #969e95; font: 400 10px/1.3 var(--font-interface, Inter, Arial, sans-serif); }
.mobile-order-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 0; font: 400 12px/1.4 var(--font-interface, Inter, Arial, sans-serif); color: #687168; }
.mobile-order-line strong { max-width: none; color: #263229; font: 500 12px/1.4 var(--font-interface, Inter, Arial, sans-serif); font-variant-numeric: tabular-nums; }
.mobile-order-line.hh-mobile-discount, .mobile-order-line.hh-mobile-discount strong { color: #237548; }
.mobile-order-line.total { margin-top: 5px; padding-top: 14px; border-top: 1px solid #e5dece; color: #173f2b; font-weight: 600; }
.mobile-order-line.total strong { color: #173f2b; font: 600 20px/1.25 var(--font-interface, Inter, Arial, sans-serif); }
.checkout-price-note { margin: 10px 0 0; font-size: 10.5px; }
.mobile-place-order { min-height: 50px; border-radius: 10px; font: 600 14px/1.2 var(--font-interface, Inter, Arial, sans-serif); }
.mobile-checkout-message { margin: 0 16px; color: #9c3d2c; font: 500 12px/1.5 var(--font-interface, Inter, Arial, sans-serif); }
.mobile-checkout-legal { margin: 0 16px 8px; text-align: center; color: #8a9189; font: 400 10px/1.45 var(--font-interface, Inter, Arial, sans-serif); }

@media (min-width: 761px) {
  .desktop-checkout-panel { width: min(980px, calc(100vw - 48px)); padding: clamp(22px, 2.2vw, 30px); }
  .desktop-checkout-grid { display: block !important; }
  .desktop-checkout-main { display: grid; gap: 14px; min-width: 0; }
  .desktop-checkout-summary { position: static; width: 100%; margin-top: 14px; }
}
@media (max-width: 760px) {
  .mobile-page-view[data-mobile-view="checkout"] { padding-bottom: 96px; }
  .mobile-checkout-heading { margin: 0 16px; padding: 16px 0 4px; }
  .mobile-checkout-heading .mobile-page-header { margin: 0; }
  .mobile-form-card { margin-left: 16px; margin-right: 16px; width: auto; }
  .mobile-checkout-form { gap: 12px; padding-bottom: 14px; }
  .mobile-payment-option { grid-template-columns: 17px 34px minmax(0,1fr); grid-template-rows:auto auto; gap: 8px; padding: 13px 10px; }
  .payment-method-symbol { width: 34px; height: 34px; }
  .payment-method-tag { position: static; grid-column: 3; grid-row: 2; justify-self: start; margin-top: 1px; font-size: 8px; max-width: 100%; white-space: normal; }
  .payment-method-copy { grid-column: 3; grid-row: 1; padding-right: 0; }
  .payment-method-copy strong { padding-right: 0; }
  .hh-checkout-savings { gap: 8px; padding: 10px; }
  .hh-checkout-savings-copy strong { font-size: 12px; }
  .hh-checkout-savings-copy small { font-size: 10px; }
  .hh-checkout-savings-chip { font-size: 8px; padding: 5px; }
}
@media (max-width: 380px) {
  .mobile-payment-option { grid-template-columns: 16px 30px minmax(0,1fr); grid-template-rows:auto auto; gap: 7px; padding: 12px 8px; }
  .payment-method-symbol { width: 30px; height: 30px; }
  .payment-method-copy strong { font-size: 12px; }
  .payment-method-copy small { font-size: 10px; }
  .payment-method-tag { max-width: 100%; font-size: 8px; }
  .hh-checkout-savings-chip { max-width: 66px; white-space: normal; text-align: center; line-height: 1.15; }
}
@media (prefers-reduced-motion: reduce) {
  .hh-checkout-savings, .hh-checkout-spark, .desktop-place-order { animation: none !important; transition: none !important; }
}

/* Checkout line-item text must wrap naturally, despite earlier compact-cart rules. */
.mobile-checkout-items > .mobile-checkout-item { gap: 12px; align-items: flex-start; }
.mobile-checkout-items > .mobile-checkout-item > .mobile-checkout-item-copy {
  overflow: visible; text-overflow: clip; white-space: normal; min-width: 0;
}
.mobile-checkout-items > .mobile-checkout-item .mobile-checkout-item-copy strong,
.mobile-checkout-items > .mobile-checkout-item .mobile-checkout-item-copy small {
  overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere;
}
.mobile-checkout-items > .mobile-checkout-item > .mobile-checkout-item-price {
  overflow: visible; text-overflow: clip; white-space: normal; flex: none;
}
.mobile-checkout-items > .mobile-checkout-item .mobile-checkout-item-price strong,
.mobile-checkout-items > .mobile-checkout-item .mobile-checkout-item-price del {
  overflow: visible; text-overflow: clip; white-space: nowrap;
}

/* Final cart pricing polish: never place the payable price and struck-through
   original price on the same text baseline; keep offer messaging single-source. */
.cart-row-rich {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 14px 0;
}
.cart-row-rich .cart-row-copy { min-width: 0; display: grid; gap: 4px; }
.cart-row-rich .cart-row-copy > strong { display: block; color: #202b23; font: 600 14px/1.35 var(--font-interface, Inter, Arial, sans-serif); overflow-wrap: anywhere; }
.cart-row-rich .cart-row-copy > span { display: block; color: #626d64; font: 400 12px/1.45 var(--font-interface, Inter, Arial, sans-serif); }
.cart-row-rich .cart-row-copy > small { display: block; color: #858c84; font: 400 10px/1.45 var(--font-interface, Inter, Arial, sans-serif); overflow-wrap: anywhere; }
.cart-row-price { min-width: 76px; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 3px; white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.cart-row-current-price { display: block; color: #1c2e22; font: 600 14px/1.3 var(--font-interface, Inter, Arial, sans-serif); }
.cart-row-original-price { display: block; color: #929990; font: 400 11px/1.3 var(--font-interface, Inter, Arial, sans-serif); text-decoration: line-through; text-decoration-thickness: 1px; }
.cart-row-remove { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border: 1px solid #e0d8cb; border-radius: 8px; background: #fff; color: #5a665d; font: 500 19px/1 var(--font-interface, Inter, Arial, sans-serif); cursor: pointer; }
.cart-row-remove:hover { background: #fff5f1; border-color: #e3b7aa; color: #9f382d; }
.hh-promo-price-summary { display: grid; gap: 8px; margin: 8px 0 14px; padding: 13px 0 14px; border-top: 1px solid var(--line, #e8e4d9); border-bottom: 1px solid var(--line, #e8e4d9); }
.hh-promo-summary-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; color: #657067; font: 400 13px/1.4 var(--font-interface, Inter, Arial, sans-serif); }
.hh-promo-summary-row strong { flex: none; color: #253128; font: 500 13px/1.35 var(--font-interface, Inter, Arial, sans-serif); font-variant-numeric: tabular-nums; white-space: nowrap; }
.hh-promo-summary-row.hh-promo-discount-row { color: #276440; }
.hh-promo-summary-row.hh-promo-discount-row strong { color: #276440; }
.cart-total { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 16px 0 19px; padding-top: 2px; }
.cart-total > span { color: #536156; font: 500 14px/1.4 var(--font-interface, Inter, Arial, sans-serif); }
.cart-total > strong { flex: none; color: #183b29; font: 600 19px/1.25 var(--font-interface, Inter, Arial, sans-serif); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mobile-cart-price-stack { display: flex; min-width: 66px; flex-direction: column; align-items: flex-end; justify-content: center; gap: 3px; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mobile-cart-original-price { color: #91988f; font: 400 10px/1.3 var(--font-interface, Inter, Arial, sans-serif); text-decoration: line-through; }
@media (max-width: 760px) {
  .cart-row-rich { grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; align-items: start; }
  .cart-row-rich .cart-row-copy > strong { font-size: 13px; }
  .cart-row-rich .cart-row-copy > span { font-size: 11px; }
  .cart-row-rich .cart-row-copy > small { font-size: 9px; }
  .cart-row-price { min-width: 65px; padding-top: 2px; }
  .cart-row-current-price { font-size: 13px; }
  .cart-row-original-price { font-size: 10px; }
  .cart-row-remove { width: 29px; height: 29px; }
  .hh-promo-price-summary { margin-top: 5px; padding: 11px 0; }
  .hh-promo-summary-row { font-size: 12px; }
  .cart-total > strong { font-size: 18px; }
}
@media (max-width: 360px) {
  .cart-row-rich { grid-template-columns: minmax(0, 1fr) auto; }
  .cart-row-rich .cart-row-copy { grid-column: 1; }
  .cart-row-price { grid-column: 2; grid-row: 1; }
  .cart-row-remove, .cart-promo-included { grid-column: 1 / -1; justify-self: end; }
}


/* WhatsApp order hand-off state */
.desktop-success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.desktop-success-actions .button{min-height:44px;padding:0 18px;font:500 13px/1.2 var(--sans);border-radius:10px}
.whatsapp-handoff-note{max-width:500px;margin:12px auto 0!important;padding:11px 13px;border:1px solid #dce8dc;border-radius:9px;background:#f4f8f3;color:#365f43!important}
.mobile-success .whatsapp-send-button{margin-top:20px;background:#176b43;color:#fff;border-color:#176b43}
.mobile-success .mobile-order-account-button{margin-top:9px;background:#fff;color:var(--mobile-forest);border:1px solid #dcd6c8}
.mobile-success .whatsapp-send-button svg,.mobile-success .mobile-order-account-button svg{width:18px;height:18px;flex:none}
@media(max-width:760px){.desktop-success-actions{display:grid;grid-template-columns:1fr}.desktop-success-actions .button{width:100%}}


/* =========================================================
   Firebase Phone Auth — visible reCAPTCHA under phone input
   ========================================================= */
.hh-recaptcha-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  width: 100%;
  box-sizing: border-box;
  margin: 9px 0 12px;
  padding: 10px 10px 7px;
  border: 1px solid #eee4d8;
  border-radius: 8px;
  background: #fffdf9;
  overflow: visible;
}
.hh-recaptcha-label {
  display: block;
  color: #6f5b4b;
  font: 600 11px/1.35 var(--font-interface, Arial, sans-serif);
  letter-spacing: .045em;
  text-transform: uppercase;
}
.hh-recaptcha-container {
  display: block;
  width: 304px;
  max-width: 100%;
  min-height: 78px;
  overflow: visible;
  background: transparent;
}
.hh-recaptcha-unavailable {
  max-width: 284px;
  margin: 8px 0;
  color: #8b332b;
  font: 500 12px/1.45 var(--font-interface, Arial, sans-serif);
}
.hh-phone-hint-before { margin: 0 0 12px; }
.hh-recaptcha-container iframe { max-width: 100%; }
.hh-recaptcha-hint {
  margin: 0;
  color: #807366;
  font: 400 11px/1.4 var(--font-interface, Arial, sans-serif);
}
@media (max-width: 380px) {
  .hh-recaptcha-block { padding: 9px 8px 6px; }
  .hh-recaptcha-container { transform: scale(.94); transform-origin: left top; margin-bottom: -5px; }
}


/* Customer account Google sign-in (separate from the admin project's Google login). */
.hh-google-auth-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;margin:22px 0 0;padding:12px 18px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#202124;font:600 14px Inter,Arial,sans-serif;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.hh-google-auth-button svg{width:20px;height:20px;flex:0 0 20px}
.hh-google-auth-button:hover{background:#f8faff;border-color:#c5d0e0;box-shadow:0 1px 3px rgba(32,33,36,.12)}
.hh-google-auth-button:focus-visible{outline:3px solid rgba(66,133,244,.28);outline-offset:2px}
.hh-google-auth-button:disabled{opacity:.65;cursor:wait}
.hh-google-auth-note{margin:12px 0 0;color:#69716c;font-size:12px;line-height:1.6;text-align:center}

/* Account deletion control */
.hh-delete-account{color:#9b2c20;border-color:#d9b2aa}.hh-account-delete-note{flex-basis:100%;font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 0}


/* Requested footer contact quick links and reduced unused whitespace */
.site-footer{padding:44px 0 18px}
.footer-main-quality{gap:30px}
.footer-bottom{margin-top:12px;padding-top:14px}
.footer-contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;width:100%;max-width:310px}
.footer-contact-group{min-width:0}
.footer-contact-action{display:flex!important;align-items:center;gap:9px;margin:0!important;min-width:0;padding:10px 11px!important;border:1px solid rgba(220,229,223,.18)!important;border-radius:10px;background:rgba(255,255,255,.035)!important;color:#edf2ee!important;text-decoration:none!important;font:600 11px/1.3 "Inter",Arial,sans-serif!important;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.footer-contact-action:hover,.footer-contact-action:focus-visible{background:rgba(255,255,255,.09)!important;border-color:rgba(240,195,93,.55)!important;transform:translateY(-1px);outline:none}
.footer-contact-action[aria-disabled="true"]{opacity:.66}
.footer-contact-action>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.footer-contact-action strong{font-weight:650}
.footer-contact-action small{font-size:9px;font-weight:400;color:#9fb5a8}
.footer-contact-action>svg{width:14px;height:14px;flex:0 0 14px;margin-left:auto}
.footer-contact-status{display:block;max-width:320px;margin:9px 0 0;color:#f0c35d;font:400 10px/1.5 "Inter",Arial,sans-serif}
.footer-link-group a[aria-disabled="true"]{opacity:.75}
.mobile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 20px 24px}
.mobile-info-grid article{padding:17px 15px;border:1px solid #e5e0d6;border-radius:15px;background:#fff}
.mobile-info-grid strong{display:block;color:#173f2b;font:650 14px/1.35 "Inter",Arial,sans-serif}
.mobile-info-grid p{margin:8px 0 0;color:#68746d;font:400 12px/1.55 "Inter",Arial,sans-serif}
.mobile-page-view[data-mobile-view="promise"]>.mobile-full-button{margin:0 20px 25px;width:calc(100% - 40px)}
.mobile-page-view[data-mobile-view="contact"] .mobile-page-header{align-items:flex-start}
.mobile-page-view[data-mobile-view="contact"] .mobile-page-header p{margin:8px 0 0;color:#68746d;font-size:12px;line-height:1.5}
.mobile-contact-quick-links{display:grid;grid-template-columns:1fr;gap:10px;padding:12px 20px 8px}
.mobile-contact-quick-links .footer-contact-action{padding:15px 14px!important;min-height:66px;border-color:#e2e4dc!important;background:#fff!important;color:#173f2b!important;border-radius:14px;font-size:13px!important;box-shadow:0 7px 18px rgba(23,63,43,.04)}
.mobile-contact-quick-links .footer-contact-action small{color:#728077}
.mobile-page-view[data-mobile-view="contact"] .footer-contact-status,.mobile-contact-note{margin:8px 20px 20px}
.mobile-contact-note{color:#839087;font:400 10px/1.5 "Inter",Arial,sans-serif}
.mobile-page-view[data-mobile-view="quality"] .mobile-quality-grid{padding:0 20px}
.mobile-page-view[data-mobile-view="quality"] .mobile-quality-note{padding:0 20px 20px}
.mobile-page-view[data-mobile-view="quality"] .mobile-quality-card .mobile-quality-inline-link{margin-top:9px}
@media(max-width:1080px){.footer-main-quality{gap:26px}}
@media(max-width:760px){
  .site-footer{padding:34px 0 18px}
  .footer-main-quality{grid-template-columns:1fr 1fr;gap:26px 18px}
  .footer-brand-block{grid-column:1/-1}
  .footer-contact-links{max-width:none;gap:8px}
  .footer-contact-action{font-size:10px!important;padding:9px 8px!important;gap:7px}
  .footer-bottom{margin-top:14px;padding-top:14px}
  .mobile-info-grid{gap:8px;padding:8px 16px 20px}
  .mobile-info-grid article{padding:14px 12px}
  .mobile-info-grid strong{font-size:12px}
  .mobile-info-grid p{font-size:10px}
  .mobile-contact-quick-links{padding-left:16px;padding-right:16px}
  .mobile-page-view[data-mobile-view="contact"] .footer-contact-status,.mobile-contact-note{margin-left:16px;margin-right:16px}
}
@media(max-width:420px){
  .footer-main-quality{grid-template-columns:1fr 1fr;gap:22px 14px}
  .footer-contact-links{grid-template-columns:1fr 1fr}
  .footer-contact-action{font-size:9px!important}
  .mobile-info-grid{grid-template-columns:1fr}
}
/* Keep the quality section close to the footer after removing the old footer strip. */
.quality.section{padding-bottom:28px}
@media(max-width:760px){.quality.section{padding-bottom:18px}}

/* Footer compliance details and compact checkout quantity controls */
.footer-compliance{display:grid;gap:5px;margin-top:13px;color:#b7c9be;font:500 10px/1.5 "Inter",Arial,sans-serif;overflow-wrap:anywhere}
.footer-compliance span{display:block}
.footer-compliance strong{color:#f0c35d;font-weight:750;margin-right:5px}
.footer-contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:0;width:100%;max-width:320px}
.footer-contact-action{display:flex!important;align-items:center;justify-content:flex-start;gap:8px;min-height:42px;margin:0!important;padding:9px 11px!important;border:1px solid rgba(220,229,223,.2)!important;border-radius:10px;background:rgba(255,255,255,.035)!important;color:#f3f6f3!important;font:600 11px/1.3 "Inter",Arial,sans-serif!important;box-sizing:border-box}
.footer-contact-action:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(240,195,93,.55)!important}
.footer-contact-action svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-action svg .svg-fill{fill:currentColor;stroke:none}
.footer-wholesale{grid-column:1/-1;justify-content:center;color:#f0c35d!important;border-color:rgba(240,195,93,.42)!important}
.hh-checkout-qty{display:inline-flex;align-items:center;gap:9px;margin-top:8px;vertical-align:middle}
.hh-checkout-qty button{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid #d9e1da;border-radius:7px;background:#fff;color:#123f2d;font:600 16px/1 "Inter",Arial,sans-serif;cursor:pointer}
.hh-checkout-qty button:hover{background:#edf4ee;border-color:#9eb7a6}
.hh-checkout-qty strong{min-width:12px;text-align:center;font-size:12px}
.desktop-checkout-item{align-items:center}
.mobile-checkout-item-copy .hh-checkout-qty{display:flex;width:max-content}
@media(max-width:760px){.footer-contact-links{max-width:none;gap:8px}.footer-contact-action{min-height:42px;padding:9px!important;font-size:10px!important}.footer-compliance{font-size:10px}.mobile-checkout-item{gap:10px}.mobile-checkout-item-copy{min-width:0}.mobile-checkout-item-price{white-space:nowrap}}
