/* NYC storefront v7. One stylesheet, mobile first. */
:root{
  --ink:#111;--ink2:#444;--muted:#6b6f73;--line:#e6e7e8;--soft:#f5f6f5;--bg:#fff;
  --green:#2e9e4f;--green-d:#24803f;--green-l:#eaf6ee;--blue-name:#2a4a7f;
  --sale:#e03131;--grade:#4f86c6;--indica:#7b2cbf;--hybrid:#6cc04a;--sativa:#e08a00;
  --new:#f5c518;--soldout:#9aa0a6;--low:#f08c00;--restock:#2f9e44;--tg:#229ed9;--gold:#e0b43a;
  --radius:10px;--shadow:0 10px 30px rgba(0,0,0,.12);
  --font:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{line-height:1.2;margin:0}
p{margin:0}
.wrap{max-width:1320px;margin:0 auto;padding:0 14px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vh-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:-9999px}
.muted{color:var(--muted)}
.ic{width:22px;height:22px;flex:none}
.ic-sm{width:17px;height:17px;vertical-align:-3px}

/* ---------------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:6px;border:0;
  font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  transition:background .15s,transform .05s,box-shadow .15s;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-d)}
.btn-green[disabled],.btn-green.is-disabled{background:#b9c9be;cursor:not-allowed;transform:none}
.btn-ghost{background:#f1f2f3;color:var(--ink)}
.btn-ghost:hover{background:#e7e9ea}
.btn-outline{background:#fff;color:var(--ink);border:2px solid var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-outline-light{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-outline-light:hover{background:#fff;color:#000}
.btn-tg{background:var(--tg);color:#fff}
.btn-tg:hover{background:#1b8ac0}
.btn-tg svg{width:20px;height:20px}
.btn-block{display:flex;width:100%}
.btn-lg{min-height:50px;font-size:14px;padding:0 22px}
.link-btn{background:none;border:0;padding:6px 0;color:var(--blue-name);font-weight:600;text-decoration:underline;cursor:pointer;min-height:44px}

/* ---------------- 19+ gate (checkbox pattern works with JS off) */
#gate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(255,255,255,.97)}
@supports (backdrop-filter:blur(8px)){#gate{background:rgba(255,255,255,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}
#agecheck:checked ~ #gate,.age-ok #gate{display:none}
#agecheck:not(:checked) ~ .page{max-height:100vh;overflow:hidden}
.age-ok #agecheck ~ .page{max-height:none;overflow:visible}
.gate-box{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.18);padding:34px 26px 28px;max-width:400px;width:100%;text-align:center;border:1px solid var(--line)}
.gate-logo{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:28px;letter-spacing:.18em;margin-bottom:12px}
.gate-logo .leaf{width:34px;height:34px;color:var(--green)}
.gate-title{font-size:22px;font-weight:800;margin:4px 0 6px}
.gate-sub{color:var(--muted);margin-bottom:22px}
.gate-btns{display:flex;gap:10px;justify-content:center}
.gate-btns .btn{flex:1;min-height:50px;font-size:14px}

/* ---------------- announcement + header */
.announce{background:#000;color:#fff;text-align:center;font-weight:700;font-size:11px;letter-spacing:.06em;padding:7px 10px;line-height:1.5}
.announce span{display:block}
@media(min-width:760px){.announce{font-size:12px;padding:9px 12px}.announce span{display:inline}.announce span+span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin:0 14px;vertical-align:2px}}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hdr{position:relative;display:flex;align-items:center;gap:6px;height:60px;max-width:1320px;margin:0 auto;padding:0 8px}
.hdr-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;cursor:pointer;color:var(--ink);background:none;border:0;position:relative;text-decoration:none}
.hdr-btn:hover{background:var(--soft)}
.logo{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink)}
.logo .leaf{width:26px;height:26px;color:var(--green)}
.logo-word{font-weight:800;font-size:24px;letter-spacing:.2em;margin-right:-.2em}
.hdr .logo{position:absolute;left:50%;transform:translateX(-50%)}
.hdr-tools{margin-left:auto;display:flex;align-items:center;gap:2px}
.cartbtn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-height:44px;padding:0 6px;border-radius:8px}
.cartbtn:hover{background:var(--soft)}
.cart-label{display:none;font-weight:700;font-size:13px;letter-spacing:.04em}
.cart-ic{position:relative;display:inline-flex}
.count{position:absolute;top:-6px;right:-8px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--sale);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.hdr-fav .count{top:4px;right:2px;background:var(--ink)}
.count.pulse{animation:pulse .6s ease}
@keyframes pulse{0%{transform:scale(1)}35%{transform:scale(1.6)}100%{transform:scale(1)}}
.mainnav{display:none}
.searchbar{display:none;gap:8px;padding:8px 12px 12px;max-width:760px;margin:0 auto}
#searchtoggle:checked ~ .page .searchbar{display:flex}
.searchbar input{flex:1;min-height:46px;border:1.5px solid #cfd3d6;border-radius:8px;padding:0 14px;font-size:16px;outline:none}
.searchbar input:focus{border-color:var(--green)}
@media(min-width:1100px){
  .hdr{height:84px;padding:0 20px;gap:16px}
  .hdr .logo{position:static;transform:none}
  .logo .leaf{width:32px;height:32px}
  .logo-word{font-size:30px}
  .hdr-menu{display:none}
  .mainnav{display:flex;align-items:center;gap:4px;margin:0 auto}
  .mainnav a{display:inline-flex;align-items:center;gap:6px;padding:0 9px;min-height:44px;font-weight:700;font-size:12.5px;letter-spacing:.03em;text-decoration:none;border-radius:6px;white-space:nowrap}
  .mainnav a:hover,.mainnav a[aria-current]{background:var(--soft)}
  .hdr-tools{margin-left:0}
  .cart-label{display:inline}
  .cart-ic .count{position:static;margin-left:0}
  .cartbtn .cart-ic svg{display:none}
  .cartbtn .cart-ic .count{min-width:28px;height:28px;border-radius:4px;border:2px solid var(--ink);background:#fff;color:var(--ink);font-size:12px}
}
@media(min-width:1280px){.mainnav a{padding:0 11px;font-size:13px}}
.nav-ic{width:18px;height:18px}
.nav-deals .nav-ic{color:#e8590c}.nav-new .nav-ic{color:#12a39a}.nav-weed .nav-ic{color:var(--green)}.nav-thc-vapes .nav-ic{color:#1c7ed6}
.nav-edibles .nav-ic{color:#f59f00}.nav-shrooms .nav-ic{color:#e03131}.nav-concentrates .nav-ic{color:#b7791f}.nav-nic-vapes .nav-ic{color:#5c7cfa}
.nav-nic-pouches .nav-ic{color:#495057}.nav-more .nav-ic{color:#d6336c}.nav-all .nav-ic,.nav-fav .nav-ic{color:var(--ink)}

/* mobile drawer nav (checkbox, works without JS) */
.navdrawer{position:fixed;top:0;left:0;bottom:0;width:min(310px,86vw);background:#fff;z-index:96;transform:translateX(-102%);transition:transform .25s ease;overflow-y:auto;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:95;display:none}
#navtoggle:checked ~ .page .navdrawer{transform:none}
#navtoggle:checked ~ .page .nav-overlay{display:block}
.navdrawer-top{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 18px;border-bottom:1px solid var(--line)}
.navdrawer > a{display:flex;align-items:center;gap:12px;padding:0 18px;min-height:50px;font-weight:700;font-size:13.5px;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid #f1f2f3}
.navdrawer > a[aria-current]{background:var(--green-l)}
.navdrawer .nav-ic{width:20px;height:20px}
.navdrawer-foot{padding:16px 18px;margin-top:auto}
.navdrawer-foot .btn{width:100%}
.navdrawer-foot svg{width:20px;height:20px}

/* ---------------- open / closed strip */
.status{display:flex;align-items:center;justify-content:center;gap:8px;background:#0f1a13;color:#d7f5df;font-weight:600;font-size:12.5px;min-height:34px;padding:4px 12px;text-align:center}
.status .dot{width:8px;height:8px;border-radius:50%;background:#8a8f94;flex:none}
.status.is-open .dot{background:#40c057;box-shadow:0 0 0 0 rgba(64,192,87,.6);animation:ping 2s infinite}
.status.is-closed{background:#2a1414;color:#ffd8d8}
.status.is-closed .dot{background:#fa5252}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(64,192,87,.55)}70%{box-shadow:0 0 0 8px rgba(64,192,87,0)}100%{box-shadow:0 0 0 0 rgba(64,192,87,0)}}

/* ---------------- home hero */
.hero{display:grid;gap:12px;margin-top:14px}
.hero-main{position:relative;overflow:hidden;border-radius:14px;background:#050805;color:#fff;padding:24px 20px 22px;
  background-image:radial-gradient(circle at 85% 20%,rgba(46,158,79,.38),transparent 55%),radial-gradient(circle at 0% 100%,rgba(245,197,24,.14),transparent 50%)}
.hero-copy{position:relative;z-index:1}
.hero-kicker{display:inline-flex;align-items:center;gap:6px;background:var(--new);color:#000;font-weight:800;font-size:11px;letter-spacing:.1em;padding:4px 10px;border-radius:4px}
.hero-title{font-weight:800;font-size:46px;line-height:.95;letter-spacing:-.01em;margin:14px 0 6px}
.hero-price{font-weight:600;font-size:15px;color:#cfd8d2}
.hero-price span{font-weight:800;font-size:40px;color:#51cf66;margin-right:4px;vertical-align:-4px}
.hero-sub{color:#c9cfcb;font-size:13px;max-width:560px;margin:10px 0 18px}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap}
.hero-btns .btn{flex:1 1 130px;padding:0 10px;font-size:12.5px;min-height:48px}
.hero-art{position:absolute;right:-6px;top:10px;width:130px;opacity:.95}
.hero-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{display:flex;flex-direction:column;justify-content:center;border-radius:14px;padding:16px 14px;text-decoration:none;min-height:118px}
.tile-big{font-weight:800;font-size:22px;line-height:1.05;letter-spacing:-.01em}
.tile-sm{font-weight:600;font-size:12px;margin-top:4px;display:flex;align-items:center;gap:5px}
.tile-crypto{background:#0e2f1c;color:#fff;background-image:radial-gradient(circle at 100% 0%,rgba(81,207,102,.45),transparent 60%)}
.tile-crypto .tile-big{color:#69db7c;font-size:30px}
.tile-gift{background:linear-gradient(135deg,#ffd43b,#f59f00);color:#1a1300}
.tile-gift .tile-sm:first-child{margin:0 0 4px}
@media(min-width:760px){
  .hero{grid-template-columns:2fr 1fr;margin-top:18px}
  .hero-btns .btn{padding:0 22px;font-size:14px;min-height:50px}
  .hero-main{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;padding:40px 44px;min-height:380px}
  .hero-title{font-size:74px}
  .hero-price span{font-size:56px}
  .hero-sub{font-size:14px}
  .hero-btns .btn{flex:0 0 auto}
  .hero-art{position:static;width:100%;max-width:300px;justify-self:center}
  .hero-side{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
  .tile{padding:24px 26px}
  .tile-big{font-size:30px}
  .tile-crypto .tile-big{font-size:48px}
  .tile-sm{font-size:14px}
}

/* ---------------- trust strip */
.trust{background:#000;color:#fff;margin-top:18px;padding:22px 0}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}
.trust-item{display:flex;align-items:flex-start;gap:10px}
.trust-ic{width:30px;height:30px;color:var(--gold);flex:none}
.trust-h{font-weight:800;font-size:12.5px;letter-spacing:.08em}
.trust-p{color:#c6c6c6;font-size:11.5px;line-height:1.4;margin-top:2px}
@media(min-width:900px){.trust{padding:34px 0}.trust-grid{grid-template-columns:repeat(4,1fr);gap:24px}.trust-item{flex-direction:column;align-items:center;text-align:center}.trust-ic{width:40px;height:40px}.trust-h{font-size:17px;margin-top:6px}.trust-p{font-size:13px}}

/* ---------------- sections */
.intro{padding:26px 14px 6px;text-align:center}
.intro h1,.list-head h1{font-size:22px;font-weight:800;letter-spacing:-.01em}
.intro p{color:var(--ink2);max-width:760px;margin:8px auto 0;font-size:13.5px}
.sec-h{font-size:20px;font-weight:800;letter-spacing:-.01em}
.row{margin-top:26px}
.row-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.row-link{display:inline-flex;align-items:center;gap:2px;font-weight:700;font-size:13px;color:var(--blue-name);text-decoration:none;min-height:44px}
@media(min-width:760px){.intro h1,.list-head h1{font-size:30px}.sec-h{font-size:26px}.intro p{font-size:15px}}

/* ---------------- product grid + cards */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}
@media(min-width:760px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px}}
@media(min-width:1080px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}}
.card{display:flex;flex-direction:column;min-width:0;text-align:center}
.card-media{position:relative}
.card-media > a{display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:1/1;background:var(--soft);text-decoration:none}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .card-media img{transform:scale(1.03)}
.ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:linear-gradient(145deg,#f7f8f7 0%,#eceeed 100%);color:#c3c9c5;position:relative;overflow:hidden}
.ph::after{content:"";position:absolute;inset:auto -20% -40% auto;width:80%;height:80%;border-radius:50%;background:rgba(255,255,255,.55)}
.ph-ic{width:40%;height:40%;stroke-width:1.4;position:relative;z-index:1}
.ph-init{font-weight:800;font-size:clamp(15px,4.2vw,22px);letter-spacing:.14em;color:#8e9591;position:relative;z-index:1;margin-right:-.14em}
.ph-weed .ph-ic{color:#9fd3ae}.ph-thc-vapes .ph-ic{color:#a5c8ee}.ph-edibles .ph-ic{color:#f6d38b}.ph-shrooms .ph-ic{color:#f2aaaa}
.ph-concentrates .ph-ic{color:#e2c48f}.ph-nic-vapes .ph-ic{color:#b7c3f7}.ph-nic-pouches .ph-ic{color:#b8bec4}.ph-more .ph-ic{color:#eeb0c8}
.pdp-img .ph-init{font-size:34px}
.fav{position:absolute;top:6px;right:6px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#9aa0a6;box-shadow:0 1px 4px rgba(0,0,0,.08);transition:transform .1s}
.fav svg{width:21px;height:21px}
.fav:hover{color:var(--sale)}
.fav[aria-pressed="true"]{color:var(--sale)}
.fav[aria-pressed="true"] svg{fill:currentColor}
.fav.pop{animation:pulse .45s ease}
html:not(.js) .fav{display:none}
.badges{display:flex;flex-direction:column;gap:4px;margin:8px 2px 0}
.b{display:block;color:#fff;font-weight:700;font-size:11.5px;line-height:21px;border-radius:3px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
.b-sale{background:var(--sale)}.b-grade{background:var(--grade)}.b-indica{background:var(--indica)}.b-hybrid{background:var(--hybrid)}
.b-sativa{background:var(--sativa)}.b-new{background:var(--new);color:#1a1300}.b-soldout{background:var(--soldout)}.b-low{background:var(--low)}.b-restock{background:var(--restock)}
.card-body{display:flex;flex-direction:column;flex:1;padding:8px 2px 0}
.card-cat{font-size:10.5px;font-weight:600;letter-spacing:.1em;color:var(--muted)}
.card-cat a{text-decoration:none}
.card-name{font-size:14px;font-weight:700;color:var(--blue-name);margin:2px 0 2px;line-height:1.3}
.card-name a{text-decoration:none}
.card-name a:hover{text-decoration:underline}
.card-price{font-weight:700;font-size:14.5px;margin-bottom:6px}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:2px 0 10px}
.specs > div{border:1px solid #e3e5e6;border-radius:3px;padding:3px 2px;min-width:0}
.specs dt{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.specs dd{margin:0;font-size:11.5px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-action{margin-top:auto}
.card-action .btn{font-size:12px;padding:0 8px;letter-spacing:.04em}
.card-soldout{min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:700;letter-spacing:.08em;font-size:12px;text-transform:uppercase;border:1px dashed #d4d7d9;border-radius:6px}
.card.is-sold .card-media > a{filter:grayscale(1);opacity:.55}
.card.is-sold .card-name{color:#5c6670}
@media(min-width:760px){.card-name{font-size:15px}.b{font-size:12.5px;line-height:22px}.specs dt{font-size:10px}.specs dd{font-size:12.5px}.card-action .btn{font-size:12.5px}}

/* ---------------- category tiles + how to order + delivery */
.cats{margin-top:30px}
.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.cat-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--soft);border-radius:12px;min-height:84px;padding:10px 4px;text-decoration:none;font-weight:700;font-size:11px;text-align:center;line-height:1.2;border:1px solid transparent;transition:border-color .15s,background .15s}
.cat-tile:hover{border-color:var(--green);background:#fff}
.cat-ic{width:30px;height:30px}
.cat-weed .cat-ic{color:var(--green)}.cat-thc-vapes .cat-ic{color:#1c7ed6}.cat-edibles .cat-ic{color:#f59f00}.cat-shrooms .cat-ic{color:#e03131}
.cat-concentrates .cat-ic{color:#b7791f}.cat-nic-vapes .cat-ic{color:#5c7cfa}.cat-nic-pouches .cat-ic{color:#495057}.cat-more .cat-ic{color:#d6336c}
@media(min-width:900px){.cat-grid{grid-template-columns:repeat(8,1fr);gap:12px}.cat-tile{min-height:120px;font-size:13px}.cat-ic{width:40px;height:40px}}
.how{background:var(--soft);margin-top:34px;padding:30px 0}
.steps{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.step{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:12px;padding:14px;border:1px solid var(--line)}
.step-n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.step-h{font-weight:700;font-size:15px}
.step-p{color:var(--ink2);font-size:13px;margin-top:2px}
.how-cta{margin-top:18px;text-align:center}
@media(min-width:900px){.how{padding:44px 0}.steps{grid-template-columns:repeat(4,1fr);gap:16px}.step{flex-direction:column;padding:20px}}
.delivery-areas{padding:30px 0 10px}
.delivery-areas p{color:var(--ink2);margin-top:8px;max-width:900px}
.zones{list-style:none;padding:0;margin:14px 0 4px;display:grid;gap:6px;max-width:900px}
.zones li{background:var(--soft);border-radius:8px;padding:9px 12px;font-size:13.5px}
.coming{margin-top:26px;background:#fff9db;border:1px solid #ffe066;border-radius:12px;padding:14px 16px}
.coming-h{font-weight:800;letter-spacing:.06em;font-size:12px;text-transform:uppercase;margin-bottom:2px}

/* ---------------- listing pages */
.crumbs{font-size:12.5px;color:var(--muted);padding:12px 0 0;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.crumbs a{text-decoration:none;color:var(--ink2);font-weight:600;padding:8px 0}
.crumbs .sep{color:#c0c4c7}
.listing{padding-top:10px}
.list-head{text-align:center;padding:6px 0 4px}
.list-intro{color:var(--ink2);max-width:760px;margin:8px auto 0;font-size:13.5px}
.toolbar{margin:18px 0 16px;display:none}
.js .toolbar{display:block}
.tb-row{display:grid;gap:8px}
.tb-search{position:relative}
.tb-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);width:19px;height:19px;pointer-events:none}
.tb-search input{width:100%;min-height:46px;border:1.5px solid #cfd3d6;border-radius:8px;padding:0 12px 0 40px;font-size:16px;outline:none;background:#fff}
.tb-search input:focus,.tb-selects select:focus{border-color:var(--green)}
.tb-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tb-selects select{min-height:46px;border:1.5px solid #cfd3d6;border-radius:8px;padding:0 30px 0 10px;font-size:14px;background:#fff;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:16px;min-width:0}
.chips{display:flex;gap:8px;overflow-x:auto;padding:12px 0 2px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:40px;padding:0 16px;border-radius:999px;border:1.5px solid #d4d7d9;background:#fff;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip[data-chip="indica"].is-on{background:var(--indica);border-color:var(--indica)}
.chip[data-chip="sativa"].is-on{background:var(--sativa);border-color:var(--sativa)}
.chip[data-chip="hybrid"].is-on{background:#4c9a2a;border-color:#4c9a2a}
.chip[data-chip="fav"].is-on{background:var(--sale);border-color:var(--sale)}
.tb-count{font-size:12.5px;color:var(--muted);margin-top:8px}
.empty-state{text-align:center;color:var(--muted);padding:40px 10px}
@media(min-width:760px){.tb-row{grid-template-columns:1fr auto}.tb-selects{grid-template-columns:220px 220px}}

/* ---------------- product page */
.pdp{display:grid;gap:18px;padding-top:12px}
.pdp-media{position:relative;align-self:start}
.pdp-img{border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--soft)}
@media(min-width:900px){.pdp-img{aspect-ratio:1/1}}
.pdp-img img{width:100%;height:100%;object-fit:cover}
.fav-lg{top:12px;right:12px;width:48px;height:48px}
.pdp-name{font-size:26px;font-weight:800;color:var(--blue-name);margin:2px 0 8px;letter-spacing:-.01em}
.pdp-badges{display:flex;flex-wrap:wrap;gap:6px}
.pdp-badges .b{display:inline-block;padding:0 10px}
.pdp-price{font-size:24px;font-weight:800;margin:10px 0 8px}
.specs-lg{grid-template-columns:repeat(2,1fr);gap:6px;margin:6px 0 14px}
.specs-lg > div{padding:7px 10px;text-align:left}
.specs-lg dd{font-size:14px;white-space:normal}
.pdp-sold{background:var(--soft);border-radius:12px;padding:14px;display:grid;gap:10px}
.pdp-perks{list-style:none;padding:12px 0 0;margin:16px 0 0;border-top:1px solid var(--line);display:grid;gap:6px;font-size:13px;color:var(--ink2)}
.pdp-perks li{display:flex;align-items:center;gap:8px}
.pdp-perks .ic{color:var(--green)}
.pdp-h{font-size:16px;font-weight:800;margin:20px 0 6px}
.pdp-desc p{color:var(--ink2);margin-top:6px}
.flavor-list{list-style:none;padding:0;margin:0;columns:2;column-gap:16px;font-size:13px}
.flavor-list li{break-inside:avoid;padding:4px 0;border-bottom:1px dashed #eceeef}
@media(min-width:900px){.pdp{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding-top:18px}.pdp-media{position:sticky;top:110px}.pdp-name{font-size:36px}.pdp-price{font-size:28px}.specs-lg{grid-template-columns:repeat(4,1fr)}}

/* ---------------- options picker (modal + product page) */
.picker{margin-top:4px}
.opt-group{margin-top:12px}
.opt-label{font-weight:700;font-size:13px;margin-bottom:8px;letter-spacing:.02em}
.opt-chosen{font-weight:500;color:var(--muted)}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.opts-size{grid-template-columns:repeat(3,minmax(0,1fr))}
.opt{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;text-align:left;min-height:52px;padding:7px 10px 7px 11px;border:1.5px solid #d9dcde;border-radius:9px;background:#fff;cursor:pointer;line-height:1.25;transition:border-color .12s,background .12s}
.opt:hover{border-color:#9aa3a8}
.opt[aria-pressed="true"]{border-color:var(--green);background:var(--green-l);box-shadow:inset 0 0 0 1px var(--green)}
.opt-name{font-weight:600;font-size:13px;padding-right:34px}
.opt-sub{font-size:11px;color:var(--muted)}
.opt-price{position:absolute;right:9px;top:8px;font-size:12px;font-weight:700;color:var(--ink2)}
.opt-size{align-items:center;text-align:center}
.opt-size .opt-name{padding:0;font-size:15px;font-weight:700}
.opt-size .opt-price{position:static;font-size:13px;color:var(--green-d)}
.opt.is-so,.opt[disabled]{cursor:not-allowed;background:#f6f7f7;border-style:dashed;opacity:.65}
.opt.is-so .opt-name{text-decoration:line-through;color:var(--muted)}
.tag{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.05em;border-radius:3px;padding:1px 5px;margin-top:2px;margin-right:3px;line-height:1.5;color:#fff}
.tag-new{background:var(--new);color:#1a1300}.tag-low{background:var(--low)}.tag-restock{background:var(--restock)}.tag-sale{background:var(--sale)}.tag-so{background:var(--soldout)}
.opt-single{margin-top:10px;font-size:14px}
.buyrow{display:flex;gap:10px;margin-top:16px;align-items:stretch}
.qty{display:flex;align-items:center;border:1.5px solid #d4d7d9;border-radius:8px;overflow:hidden;flex:none}
.qty button{width:44px;height:48px;border:0;background:#fff;font-size:20px;font-weight:600;cursor:pointer}
.qty button:hover{background:var(--soft)}
.qty input{width:40px;height:48px;border:0;text-align:center;font-weight:700;font-size:16px;-moz-appearance:textfield;outline:none}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.add-btn{flex:1;min-height:50px;font-size:13.5px}
.pick-hint{color:var(--sale);font-size:12.5px;margin-top:6px;font-weight:600}
.noscript{background:#fff4e6;border:1px solid #ffc078;color:#7a4100;border-radius:10px;padding:10px 12px;margin:10px 0;font-size:13px}

/* ---------------- modal (bottom sheet on phones) */
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.5);animation:fade .2s}
.modal-box{position:relative;background:#fff;width:100%;max-height:90vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));animation:up .22s ease;overscroll-behavior:contain}
@keyframes up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.m-head{display:flex;gap:12px;align-items:center;padding-right:44px;position:relative}
.m-thumb{width:64px;height:64px;border-radius:10px;overflow:hidden;flex:none;background:var(--soft)}
.m-thumb img{width:100%;height:100%;object-fit:cover}
.m-thumb .ph-init{font-size:13px}
.m-name{font-weight:800;font-size:17px;color:var(--blue-name);line-height:1.25}
.m-price{font-weight:700;font-size:15px;margin-top:2px}
.m-close{position:absolute;top:-4px;right:-6px}
.m-more{display:block;text-align:center;margin-top:12px;font-size:13px;font-weight:600;color:var(--blue-name);min-height:44px;line-height:44px}
.m-grab{width:40px;height:4px;border-radius:4px;background:#d6d9db;margin:-6px auto 10px}
.modal-box .buyrow{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));background:#fff;margin:14px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 16px -10px rgba(0,0,0,.18);z-index:2}
.modal-box .pick-hint{margin-top:0}
@media(min-width:760px){.modal{align-items:center;padding:20px}.modal-box{max-width:600px;border-radius:16px;padding:22px 24px 20px}.m-grab{display:none}.modal-box .buyrow{bottom:-20px;margin:14px -24px 0;padding:12px 24px}.opts{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------------- cart drawer */
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:150;animation:fade .2s}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:160;transform:translateX(102%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.cart-drawer.open{transform:none}
.cd-head{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 18px;border-bottom:1px solid var(--line)}
.cd-title{font-weight:800;font-size:17px}
.cd-lines{flex:1;overflow-y:auto;padding:4px 18px}
.cd-empty{color:var(--muted);text-align:center;margin:40px 0}
.cd-line{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #f0f1f2}
.cd-thumb{width:52px;height:52px;border-radius:8px;overflow:hidden;background:var(--soft)}
.cd-thumb img{width:100%;height:100%;object-fit:cover}
.cd-thumb .ph-init{font-size:10px}
.cd-thumb .ph-ic{width:46%;height:46%}
.cd-name{font-weight:700;font-size:13.5px;line-height:1.3}
.cd-var{font-size:12px;color:var(--muted)}
.cd-each{font-size:12px;color:var(--muted)}
.cd-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.cd-lp{font-weight:700}
.stepper{display:flex;align-items:center;border:1.5px solid #d4d7d9;border-radius:8px;overflow:hidden}
.stepper button{width:36px;height:36px;border:0;background:#fff;font-size:17px;cursor:pointer}
.stepper span{min-width:24px;text-align:center;font-weight:700;font-size:14px}
.cd-remove{background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer;padding:4px 0;min-height:32px}
.cd-foot{border-top:1px solid var(--line);padding:14px 18px calc(14px + env(safe-area-inset-bottom));display:grid;gap:8px}
.cd-row{display:flex;justify-content:space-between;font-size:16px}
.cd-note{font-size:12px;color:var(--muted)}
.cd-gift{font-size:12.5px;background:#fff9db;border:1px dashed #fcc419;border-radius:8px;padding:8px 10px;color:#5c4400}

/* ---------------- toast + floating Telegram */
.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);z-index:300;background:#111;color:#fff;border-radius:10px;padding:11px 16px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;max-width:92vw;animation:up .2s ease}
.toast .ic{color:#69db7c}
.toast a{color:#69db7c;font-weight:700;margin-left:4px}
/* The chat button sits in the page flow so it can never cover a control or text.
   It only floats on screens wide enough to keep it outside the content column. */
.tg-float{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--tg);color:#fff;text-decoration:none;
  font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;min-height:56px;
  padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
.tg-float:hover{background:#1b8ac0}
.tg-float svg{width:24px;height:24px;flex:none}
@media(min-width:1420px){
  .tg-float{position:fixed;right:10px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:90;width:56px;height:56px;min-height:0;
    padding:0;gap:0;border-radius:50%;box-shadow:0 8px 22px rgba(34,158,217,.45);transition:transform .15s}
  .tg-float:hover{background:var(--tg);transform:scale(1.06)}
  .tg-float svg{width:29px;height:29px;margin-left:-3px}
  .tg-float-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
}

/* ---------------- checkout */
.checkout{padding:10px 14px 40px}
.checkout h1{font-size:26px;font-weight:800;margin:6px 0 14px}
.co-empty{text-align:center;padding:40px 0;display:grid;gap:14px;justify-items:center}
.co-grid{display:grid;gap:16px}
html:not(.js) [data-co-main]{display:none}
.co-sec{border:1px solid var(--line);border-radius:12px;padding:14px 14px 16px;margin:0 0 12px;min-width:0}
.co-h{font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px;padding:0;margin-bottom:10px}
legend.co-h{float:left;width:100%}
legend.co-h + *{clear:both}
.co-n{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.field{display:block;margin-top:10px;position:relative}
.field-l{display:block;font-weight:600;font-size:12.5px;margin-bottom:5px;color:var(--ink2)}
.field input,.field select,.field textarea{width:100%;min-height:48px;border:1.5px solid #cfd3d6;border-radius:8px;padding:10px 12px;font-size:16px;background:#fff;outline:none}
.field textarea{min-height:84px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;padding-right:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23444' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(46,158,79,.15)}
.field.has-err input,.field.has-err select{border-color:var(--sale)}
.field-hint{font-size:12px;color:var(--muted);margin-top:6px}
.err{color:var(--sale);font-size:12.5px;font-weight:600;margin-top:6px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:1.5px solid #d4d7d9;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;text-align:center;padding:0 6px}
.seg input:checked + span{border-color:var(--green);background:var(--green-l);box-shadow:inset 0 0 0 1px var(--green)}
.seg input:focus-visible + span{outline:2px solid var(--green);outline-offset:2px}
.seg-sm{margin-top:12px}
.seg-sm span{min-height:44px;font-size:13px}
.ac-list{list-style:none;margin:4px 0 0;padding:4px;position:absolute;left:0;right:0;top:100%;z-index:20;background:#fff;border:1.5px solid #cfd3d6;border-radius:10px;box-shadow:var(--shadow);max-height:300px;overflow-y:auto}
.ac-list li{padding:10px 10px;border-radius:7px;cursor:pointer;font-size:14px;line-height:1.3;min-height:44px}
.ac-list li small{display:block;color:var(--muted);font-size:12px}
.ac-list li[aria-selected="true"],.ac-list li:hover{background:var(--green-l)}
.ac-list .ac-status{color:var(--muted);cursor:default;background:none!important}
.zone-box,.info-box,.pay-detail{margin-top:12px;background:var(--soft);border-radius:10px;padding:10px 12px;font-size:13.5px}
.zone-box b{font-weight:700}
.zone-box.is-warn{background:#fff4e6;color:#7a4100}
.copy-row{display:flex;align-items:center;gap:8px;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 6px 6px 10px}
.copy-row code{flex:1;font-size:13px;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.copy-row .btn{min-height:40px;padding:0 12px;font-size:12px}
.radio-cards{display:grid;gap:8px}
.radio-card{position:relative;display:block;cursor:pointer}
.radio-card input{position:absolute;opacity:0;pointer-events:none}
.rc-box{display:flex;flex-direction:column;border:1.5px solid #d4d7d9;border-radius:10px;padding:10px 14px 10px 44px;min-height:54px;justify-content:center;position:relative}
.rc-box::before{content:"";position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;border:2px solid #aeb4b8;background:#fff}
.radio-card input:checked + .rc-box{border-color:var(--green);background:var(--green-l);box-shadow:inset 0 0 0 1px var(--green)}
.radio-card input:checked + .rc-box::before{border-color:var(--green);box-shadow:inset 0 0 0 4px #fff;background:var(--green)}
.radio-card input:focus-visible + .rc-box{outline:2px solid var(--green);outline-offset:2px}
.rc-title{font-weight:700;font-size:14px}
.rc-sub{font-size:12px;color:var(--muted)}
.radio-rows{display:grid;gap:6px;margin-top:8px}
.radio-row{display:flex;align-items:center;gap:10px;min-height:44px;border:1.5px solid #e1e4e6;border-radius:9px;padding:6px 12px;cursor:pointer;font-size:13.5px}
.radio-row input{width:18px;height:18px;accent-color:var(--green)}
.sum-box{border:1.5px solid var(--ink);border-radius:14px;padding:16px}
.sum-lines{display:grid;gap:6px;margin:4px 0 2px;font-size:13.5px}
.sum-line{display:flex;justify-content:space-between;gap:10px}
.sum-line span:first-child{min-width:0}
.sum-line b{white-space:nowrap}
.sum-totals{margin:8px 0 12px;border-top:1px solid var(--line);padding-top:8px;display:grid;gap:4px}
.sum-totals div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.sum-totals dt{min-width:0}
.sum-totals dd{margin:0;font-weight:700;text-align:right}
.sum-total{border-top:1px solid var(--line);margin-top:4px;padding-top:8px;font-size:17px!important}
.sum-total dd{font-size:19px}
.sum-total dd small{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.min-block{background:#fff0f0;color:#9b1c1c;border-radius:8px;padding:10px 12px;font-weight:600;font-size:13.5px;margin-bottom:10px}
.btn-tg[disabled],.btn-tg.is-disabled{background:#a9c9d9;cursor:not-allowed}
.btn.is-disabled{pointer-events:none}
.sms-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:6px;font-weight:600;color:var(--blue-name);font-size:14px}
.sent-box{margin-top:10px;background:#f4f6f7;border:1px solid #cfd3d6;border-radius:10px;padding:10px 12px;font-size:13px;display:grid;gap:6px}
.sent-box.is-sent{background:var(--green-l);border-color:#b2dfc0}
.sent-box p{margin:0}
.order-text{width:100%;min-height:150px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;
  border:1px solid #cfd3d6;border-radius:8px;padding:8px;background:#fff;color:var(--ink)}
.sent-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--blue-name);font-size:13.5px}
.sent-box .btn{min-height:44px}
.store-note{margin-top:8px;background:#fff8e6;border:1px solid #f0d89a;border-radius:8px;padding:8px 10px;font-size:12px;color:#6b5312;line-height:1.4}
.sum-note{font-size:11.5px;margin-top:8px;text-align:center}
@media(min-width:960px){.checkout{padding:10px 20px 60px}.checkout h1{font-size:32px}.co-grid{grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}.co-summary{position:sticky;top:110px}.co-sec{padding:18px 20px 20px}.radio-cards{grid-template-columns:repeat(3,1fr)}}
.co-bar{position:fixed;left:0;right:0;bottom:0;z-index:85;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(0,0,0,.08);display:flex;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
.co-bar-total{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.co-bar-total .muted{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.co-bar-total b{font-size:18px;white-space:nowrap}
.co-bar-total small{display:block;font-size:11px;font-weight:600;color:var(--muted)}
.co-bar .btn{flex:1;min-height:48px}
/* the sticky send bar gets its own lane at the end of the page, so it never sits on top of content */
@media(max-width:959px){body.page-checkout{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}
@media(min-width:960px){.co-bar{display:none!important}}

/* ---------------- footer + 404 */
.site-footer{background:#0b0b0b;color:#b9bdc0;margin-top:40px;padding:34px 0 90px;font-size:13px}
.foot-grid{display:grid;gap:22px;grid-template-columns:1fr 1fr}
.foot-brand{grid-column:1/-1}
.foot-brand p{margin-top:8px;max-width:420px}
.logo-light{color:#fff}
.foot-h{color:#fff;font-weight:700;letter-spacing:.08em;font-size:12px;text-transform:uppercase;margin-bottom:6px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none;color:#e6e8ea}
.site-footer li a:hover{color:#fff;text-decoration:underline}
.foot-legal{border-top:1px solid #222;margin-top:24px;padding-top:16px;font-size:12px;color:#8a8f94}
@media(min-width:900px){.foot-grid{grid-template-columns:2fr 1fr 1fr 1fr}.foot-brand{grid-column:auto}.site-footer{padding-bottom:40px}}
.notfound{text-align:center;padding:60px 14px;display:grid;gap:14px}
.notfound h1{font-size:30px;font-weight:800}

/* ---------------- narrow phones (320px): no sideways scroll, header never overlaps */
@media(max-width:389px){
  /* centre the wordmark in the space that is actually free, instead of under the search icon */
  .hdr .logo{position:static;transform:none;margin:0 auto}
}
@media(max-width:359px){
  .wrap{padding:0 12px}
  .qty button{width:40px}
  .qty input{width:34px}
  .buyrow{gap:8px}
  .buyrow .add-btn{flex:1 1 0;min-width:0;padding:0 10px;letter-spacing:.03em}
  .btn-lg{padding:0 12px}
  .sent-box .btn,.copy-row .btn{padding:0 10px}
}

/* ---------------- small states */
.count.is-zero{display:none}
@media(min-width:1100px){.cartbtn .count.is-zero{display:flex}}
.toast-link{background:none;border:0;color:#69db7c;font-weight:700;cursor:pointer;min-height:36px;padding:0 0 0 6px;font-size:13.5px;text-decoration:underline;font-family:inherit}
.cd-empty a{color:var(--blue-name);font-weight:700}
[data-checkout-btn].is-disabled{opacity:.5;pointer-events:none}

/* privacy policy page */
.policy{max-width:760px;padding-top:28px;padding-bottom:48px}
.policy h1{margin:0 0 4px}
.policy h2{font-size:1.1rem;margin:28px 0 8px}
.policy p{line-height:1.6;margin:0 0 10px}
