/* Upstate Canna Co. | house library, re-skinned. Tokens first. */
:root{
  --brand:#1b7f36; --brand-dark:#0e3320; --brand-light:#3dbe3a;
  --accent:#b85a17; --accent-soft:#f6e3d2;
  --bg:#f7f8f5; --surface:#ffffff; --surface-alt:#ebe7de; --ink:#151816; --ink-mid:#3a403c; --muted:#5d645f;
  --border:rgba(21,24,22,.14);
  --z1:#2f9e44; --z2:#8fcf8b; --z3:#b9dfb0; --z4:#dcefd3; --county:rgba(21,24,22,.22);
  --font-display:'Zilla Slab',Rockwell,'Roboto Slab',Georgia,serif;
  --font-body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r-card:12px; --r-photo:20px; --r-pill:50px; --r-input:10px;
  --shadow:0 10px 30px -18px rgba(14,51,32,.45);
  --nav-h:64px; --wrap:1180px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --brand:#5fd36a; --brand-dark:#c9f0c6; --brand-light:#3dbe3a; --accent:#f09a55; --accent-soft:#3a2716;
  --bg:#121513; --surface:#1a1e1b; --surface-alt:#20251f; --ink:#eef1ec; --ink-mid:#cdd3cd; --muted:#a3aba4;
  --border:rgba(238,241,236,.14); --z1:#3dbe3a; --z2:#2c7a35; --z3:#23562a; --z4:#1c3b20; --county:rgba(238,241,236,.2);
  color-scheme:dark;}}
:root[data-theme="dark"]{
  --brand:#5fd36a; --brand-dark:#c9f0c6; --brand-light:#3dbe3a; --accent:#f09a55; --accent-soft:#3a2716;
  --bg:#121513; --surface:#1a1e1b; --surface-alt:#20251f; --ink:#eef1ec; --ink-mid:#cdd3cd; --muted:#a3aba4;
  --border:rgba(238,241,236,.14); --z1:#3dbe3a; --z2:#2c7a35; --z3:#23562a; --z4:#1c3b20; --county:rgba(238,241,236,.2);
  color-scheme:dark;}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--font-body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand)}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.08;margin:0 0 .5em;color:var(--ink);font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5.4vw,4.2rem)}
h2{font-size:clamp(1.7rem,3.3vw,2.55rem)}
h3{font-size:1.3rem;font-weight:600}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:var(--r-pill);z-index:200}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.8em 1.35em;border-radius:var(--r-pill);font-weight:600;text-decoration:none;border:2px solid transparent;line-height:1.1;transition:background .15s,color .15s,border-color .15s}
.btn-solid{background:var(--brand);color:#fff}
:root[data-theme="dark"] .btn-solid{color:#0d1a10}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-solid{color:#0d1a10}}
.btn-solid:hover{background:var(--ink);color:var(--bg)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--bg)}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav{max-width:var(--wrap);margin:0 auto;padding:0 22px;height:var(--nav-h);display:flex;align-items:center;gap:22px}
.brand img{height:56px;width:auto}
.brand .logo-light{display:none}
:root[data-theme="dark"] .brand .logo-dark{display:none}:root[data-theme="dark"] .brand .logo-light{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand .logo-dark{display:none}:root:not([data-theme="light"]) .brand .logo-light{display:block}}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav-links>a,.nav-drop-toggle{font:600 .98rem var(--font-body);color:var(--ink);text-decoration:none;padding:.55em .8em;border-radius:var(--r-pill);background:none;border:0;cursor:pointer}
.nav-links>a:hover,.nav-drop-toggle:hover,.nav-drop.open .nav-drop-toggle{background:var(--surface-alt)}
.nav-links>a.btn{margin-left:8px;padding:.7em 1.2em;color:#fff;background:var(--brand)}
.nav-links>a.btn:hover{background:var(--ink);color:var(--bg)}
.nav-drop{position:relative}
.caret{font-size:.7em;margin-left:.2em}
.nav-drop-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:270px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow);padding:12px;display:none}
.nav-drop.open .nav-drop-menu{display:block}
@media (hover:hover) and (min-width:961px){.nav-drop:hover .nav-drop-menu{display:block}}
.nav-drop-label{font-size:.82rem;color:var(--muted);margin:2px 10px 6px}
.nav-drop-menu a{display:block;padding:.5em 10px;border-radius:8px;color:var(--ink);text-decoration:none}
.nav-drop-menu a:hover{background:var(--surface-alt)}
.nav-cta{display:flex;align-items:center;gap:6px}
.theme-toggle{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;font-size:1.05rem}
.nav-tel{font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;font-size:.95rem}
.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--border);background:var(--surface);border-radius:10px;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:4px auto}
@media (max-width:960px){
  .nav-toggle{display:block}.nav-tel{display:none}
  .nav-links{position:fixed;inset:var(--nav-h) 0 0 0;background:var(--bg);flex-direction:column;align-items:stretch;padding:18px 22px 40px;gap:2px;overflow:auto;display:none}
  .nav-links.open{display:flex}
  .nav-links>a,.nav-drop-toggle{font-size:1.15rem;padding:.8em .4em;text-align:left;width:100%;border-radius:8px}
  .nav-drop-menu{position:static;box-shadow:none;border:0;background:var(--surface-alt);min-width:0}
  .nav-links>a.btn{margin:14px 0 0;justify-content:center}
}

/* Hours status pill */
.status{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.95rem;color:var(--ink-mid)}
.status::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--muted)}
.status[data-open="1"]::before{background:var(--brand-light);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-light) 30%,transparent)}
.status[data-open="0"]::before{background:var(--accent)}

/* Hero */
.hero{padding:clamp(28px,5vw,64px) 0 clamp(40px,6vw,80px)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:center}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:.35em;max-width:14ch}
.hero-lede{font-size:1.2rem;color:var(--ink-mid);max-width:34ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px 26px;color:var(--ink-mid);font-size:.97rem;padding:0;margin:0;list-style:none}
.hero-facts strong{color:var(--ink)}
.drop-frame{position:relative;aspect-ratio:.86;max-width:520px;margin-left:auto;width:100%}
.drop-frame img{width:100%;height:100%;object-fit:cover;clip-path:url(#drop);-webkit-clip-path:url(#drop)}
.drop-frame::after{content:"";position:absolute;inset:auto -4% -3% auto;width:34%;aspect-ratio:1;border-radius:50%;background:var(--brand-light);z-index:-1}
.drop-cap{position:absolute;left:0;bottom:8%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:10px 14px;font-size:.9rem;box-shadow:var(--shadow);max-width:230px}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.drop-frame{max-width:380px;margin:0 auto}}

/* Page hero (interior) */
.page-hero{padding:clamp(24px,4vw,48px) 0 clamp(26px,4vw,44px);border-bottom:1px solid var(--border)}
.page-hero .lede{font-size:1.18rem;color:var(--ink-mid);max-width:60ch}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 18px;font-size:.9rem;color:var(--muted)}
.breadcrumb li+li::before{content:"/";margin-right:6px}
.breadcrumb a{color:var(--muted)}
.econ{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.econ li{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:.45em 1em;font-weight:600;font-size:.95rem}
.econ li b{color:var(--brand)}

/* Bands */
.band{padding:clamp(48px,7vw,92px) 0}
.band-alt{background:var(--surface-alt)}
.band-dark{background:var(--brand-dark);color:#eef1ec}
.band-dark h2,.band-dark h3{color:#fff}
.band-dark a{color:#9be39a}
:root[data-theme="dark"] .band-dark{background:#0b2215}
.band-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px 30px;margin-bottom:30px}
.band-head p{color:var(--ink-mid);margin:0}
.band-dark .band-head p{color:#cfe0d2}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:start}
.two.center{align-items:center}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.prose h2{margin-top:1.4em}.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.2em;max-width:66ch}.prose li{margin:.3em 0}
.photo{border-radius:var(--r-photo);overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}
figure{margin:0}
figcaption{font-size:.88rem;color:var(--muted);margin-top:8px}

/* Category shelf: typographic, not image cards */
.shelf{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink)}
.shelf a{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:18px 18px 16px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-decoration:none;color:var(--ink)}
.shelf a:nth-child(4n){border-right:0}
.shelf a span{font:700 1.6rem/1.05 var(--font-display)}
.shelf a small{color:var(--muted);font-size:.93rem}
.shelf a:hover{background:var(--surface)}
.shelf a:hover span{color:var(--brand)}
@media (max-width:760px){.shelf{grid-template-columns:1fr 1fr}.shelf a:nth-child(4n){border-right:1px solid var(--border)}.shelf a:nth-child(2n){border-right:0}}

/* Delivery system */
.dsys{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(24px,4vw,52px);align-items:start}
@media (max-width:900px){.dsys{grid-template-columns:1fr}}
.zipfinder{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:22px;box-shadow:var(--shadow)}
.zipfinder label{font-weight:700;display:block;margin-bottom:8px}
.zip-row{display:flex;gap:10px}
.zip-row input{flex:1;min-width:0;font:600 1.2rem var(--font-body);padding:.6em .8em;border:2px solid var(--border);border-radius:var(--r-input);background:var(--bg);color:var(--ink);letter-spacing:.06em}
.zip-row input:focus{border-color:var(--brand);outline:none}
.zipres{margin-top:16px;min-height:1.5em}
.zipres p{margin:.3em 0}
.zipres .hit-title{font:700 1.35rem var(--font-display);color:var(--brand)}
.zipres .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.dmap-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:10px}
.zmap{width:100%;height:auto;display:block}
.zmap-z{stroke:var(--surface);stroke-width:1.2;transition:opacity .2s}
.zmap-county{fill:none;stroke:var(--county);stroke-width:1;stroke-dasharray:3 4}
.zmap.focus .zmap-z{opacity:.35}.zmap.focus .zmap-z.on{opacity:1}
.zmap-hl{fill:var(--accent);fill-opacity:.8;stroke:var(--ink);stroke-width:1.2}
.zmap-star{fill:var(--accent);stroke:#fff;stroke-width:2.5}
.zmap-halo{fill:var(--accent);opacity:.25}
.zmap-town{font:600 15px var(--font-body);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.zmap-dot{fill:var(--ink)}
.map-legend{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:8px 6px 2px;margin:0;font-size:.88rem;color:var(--ink-mid)}
.map-legend i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:6px}
.zcards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
@media (max-width:980px){.zcards{grid-template-columns:1fr 1fr}}@media (max-width:560px){.zcards{grid-template-columns:1fr}}
.zc2{background:var(--surface);border:1px solid var(--border);border-top:6px solid var(--zc,var(--z1));border-radius:var(--r-card);padding:18px}
.zc2 h3{margin-bottom:.2em}
.zc2 .min{font:700 1.9rem var(--font-display);margin:.1em 0}
.zc2 .min small{font:500 .95rem var(--font-body);color:var(--muted)}
.zc2 p{font-size:.93rem;color:var(--ink-mid);margin:.4em 0 0}
.zc2.z1{--zc:var(--z1)}.zc2.z2{--zc:var(--z2)}.zc2.z3{--zc:var(--z3)}.zc2.z4{--zc:var(--z4)}
.ziptable{width:100%;border-collapse:collapse;font-size:.97rem;margin:10px 0 0}
.ziptable th,.ziptable td{text-align:left;padding:.55em .6em;border-bottom:1px solid var(--border)}
.ziptable th{font-size:.85rem;color:var(--muted);font-weight:600}
.table-scroll{overflow-x:auto}

/* Visit block */
.visit-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:24px}
.hours{width:100%;border-collapse:collapse;margin:8px 0 16px}
.hours td{padding:.45em 0;border-bottom:1px solid var(--border)}
.hours td:last-child{text-align:right;font-weight:600}
.hours tr.today td{color:var(--brand)}
.addr{font-style:normal;font-size:1.1rem;margin-bottom:10px}

/* Loyalty ladder */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid currentColor;border-radius:var(--r-card);overflow:hidden}
.ladder div{padding:18px 16px;border-right:1px solid rgba(255,255,255,.2)}
.ladder div:last-child{border-right:0}
.ladder b{display:block;font:700 2.2rem/1 var(--font-display)}
.ladder span{font-size:.92rem;opacity:.85}
@media (max-width:700px){.ladder{grid-template-columns:1fr 1fr}.ladder div:nth-child(2){border-right:0}.ladder div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}}
.band:not(.band-dark) .ladder div{border-color:var(--border)}

/* FAQ */
.faq-accordion{border-top:1px solid var(--border);max-width:860px}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;font:600 1.12rem var(--font-body)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:6px;top:12px;font:400 1.8rem var(--font-display);color:var(--brand)}
.faq-item[open] summary::after{content:"\2212"}
.faq-item .a{padding:0 0 18px}
.faq-item h3{font:inherit;margin:0;display:inline}

/* Photo strip */
.strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}
.strip .photo{aspect-ratio:4/5}.strip .photo:first-child{aspect-ratio:auto}
@media (max-width:760px){.strip{grid-template-columns:1fr 1fr}.strip .photo:first-child{grid-column:1/-1;aspect-ratio:3/2}}

/* Cards (blog, link lists) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}@media (max-width:600px){.cards{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:20px;text-decoration:none;color:var(--ink);display:block;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.card .cat{font-size:.85rem;color:var(--brand);font-weight:600}
.card h3{margin:.3em 0}
.card p{color:var(--ink-mid);font-size:.96rem;margin:0}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.pills button{font:600 .92rem var(--font-body);padding:.5em 1em;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer}
.pills button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.townlinks{columns:3 220px;padding:0;list-style:none}
.townlinks li{break-inside:avoid;margin:0 0 .5em}

/* Article */
.progress{position:fixed;top:0;left:0;height:3px;background:var(--brand-light);width:0;z-index:150}
.article{max-width:760px}
.key-takeaway,.pro-tip{border-left:5px solid var(--brand);background:var(--surface);padding:16px 20px;border-radius:0 var(--r-card) var(--r-card) 0;margin:1.4em 0}
.pro-tip{border-color:var(--accent)}
.key-takeaway p:last-child,.pro-tip p:last-child{margin:0}
.author-box{display:flex;gap:16px;align-items:center;border:1px solid var(--border);border-radius:var(--r-card);padding:16px;margin-top:36px;background:var(--surface)}
.author-box img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.meta-line{color:var(--muted);font-size:.95rem}

/* Compare table */
.cmp{width:100%;border-collapse:collapse;min-width:560px}
.cmp th,.cmp td{padding:.8em .9em;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.cmp thead th{font:700 1.15rem var(--font-display);border-bottom:2px solid var(--ink)}

/* CTA band */
.cta-band{padding:clamp(40px,6vw,70px) 0;background:var(--brand);color:#fff}
.cta-band .wrap{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between}
.cta-band h2{color:#fff;margin:0;max-width:22ch}
.cta-band .btn-solid{background:#fff;color:var(--brand-dark)}
.cta-band .btn-line{border-color:#fff;color:#fff}
:root[data-theme="dark"] .cta-band{background:#1f5f2d}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cta-band{background:#1f5f2d}}

/* Footer */
.site-footer{background:#101311;color:#c9cfca;padding:60px 0 26px;font-size:.95rem}
.site-footer a{color:#e7ece7;text-decoration:none}
.site-footer a:hover{color:#8fdc8c;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr 1fr;gap:28px}
@media (max-width:980px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-grid h2{font:600 1rem var(--font-body);color:#fff;margin:0 0 12px}
.foot-grid ul{list-style:none;padding:0;margin:0}.foot-grid li{margin:0 0 8px}
.foot-brand img{height:56px;width:auto;margin-bottom:12px}
.foot-block{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:22px}
.foot-block h2{font:600 .95rem var(--font-body);color:#fff;margin:0 0 10px}
.foot-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.foot-chips a{display:inline-block;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-pill);padding:.35em .85em;font-size:.88rem}
.foot-geo{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.foot-geo ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 16px}
@media (max-width:700px){.foot-geo{grid-template-columns:1fr}}
.compliance{font-size:.86rem;line-height:1.55;color:#aab2ab}
.compliance p{max-width:none}
.foot-bottom{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;font-size:.86rem;color:#9aa39b;margin-top:18px}
.foot-bottom a{color:#b8c0b9}
.foot-powered{color:#9aa39b!important}
.ai-cite{background:#0b0d0c;color:#8e978f;font-size:.8rem;line-height:1.5;padding:14px 22px;text-align:center}

/* Age gate */
.agegate{position:fixed;inset:0;z-index:300;background:rgba(10,14,11,.86);display:none;align-items:center;justify-content:center;padding:20px}
.agegate.show{display:flex}
.agegate .box{background:var(--bg);color:var(--ink);border-radius:var(--r-photo);max-width:420px;width:100%;padding:30px;text-align:center}
.agegate .box img{height:80px;width:auto;margin:0 auto 12px}
.agegate .row{display:flex;gap:10px;justify-content:center;margin-top:18px}
.agegate .deny{display:none;margin-top:14px;color:var(--accent);font-weight:600}
.agegate.denied .deny{display:block}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Blaze product rails */
.rail{margin:0 0 clamp(36px,5vw,56px)}
.rail:last-child{margin-bottom:0}
.rail-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px 24px;margin-bottom:16px}
.rail-head h2{margin:0}
.rail-head p{margin:.35em 0 0;color:var(--ink-mid)}
.rail-ctrl{display:flex;align-items:center;gap:8px}
.rail-all{font-weight:600;margin-right:8px}
.rail-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--ink);font:400 1.6rem/1 var(--font-body);cursor:pointer}
.rail-btn:hover{background:var(--ink);color:var(--bg)}
.rail-btn:disabled{opacity:.35;cursor:default;background:var(--surface);color:var(--ink)}
.rail-track{list-style:none;margin:0;padding:4px 2px 14px;display:grid;grid-auto-flow:column;grid-auto-columns:clamp(168px,21%,230px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin}
.rail-track>li{scroll-snap-align:start}
.pcard a,.dcard a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:10px 10px 14px;transition:border-color .15s}
.pcard a:hover,.dcard a:hover{border-color:var(--brand)}
.pcard a:hover .pname,.dcard a:hover .pname{color:var(--brand)}
.pimg{position:relative;display:block;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#fff;margin-bottom:10px}
.pimg img{width:100%;height:100%;object-fit:contain}
.dcard .pimg img{object-fit:cover}
.pflag{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;font:700 .75rem var(--font-body);padding:.25em .6em;border-radius:var(--r-pill);z-index:1}
.pbrand{font-size:.82rem;color:var(--muted);font-weight:600}
.pname{font:600 .98rem/1.3 var(--font-body);margin:.15em 0 .4em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.pmeta{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.ptag{font-size:.74rem;font-weight:600;padding:.15em .55em;border-radius:var(--r-pill);background:var(--surface-alt);color:var(--ink-mid)}
.ptag.t-indica{background:#e6e0f5;color:#4a3a86}.ptag.t-sativa{background:#fbe7d3;color:#8a4410}.ptag.t-hybrid{background:#dcefd8;color:#1f5f2d}
:root[data-theme="dark"] .ptag.t-indica{background:#2f2a45;color:#cfc4f2}:root[data-theme="dark"] .ptag.t-sativa{background:#3d2a18;color:#f5c89c}:root[data-theme="dark"] .ptag.t-hybrid{background:#1f3a24;color:#b4e2b0}
.pprice{margin-top:auto;font-size:1.05rem}
.pprice s{color:var(--muted);font-size:.9rem;margin-right:4px}
.pcard .pprice b{color:var(--ink)}
.pcard:has(.pflag) .pprice b{color:var(--accent)}
.dends{margin-top:auto;font-size:.85rem;color:var(--accent);font-weight:600}
.rail-deals .rail-track{grid-auto-columns:clamp(180px,23%,250px)}
.rail-note{font-size:.85rem;color:var(--muted);margin:6px 0 0}
@media (max-width:640px){.rail-track{grid-auto-columns:62%}.rail-btn{display:none}}

/* Promo banners from Blaze */
.promo{margin-top:clamp(-10px,-1vw,0px);margin-bottom:clamp(8px,2vw,20px)}
.promo-track{list-style:none;margin:0;padding:0;position:relative}
.promo-slide a{display:block;border-radius:var(--r-card);overflow:hidden}
.promo-slide img{width:100%;height:auto;aspect-ratio:1340/180}
@media (max-width:640px){.promo-slide img{aspect-ratio:720/324}}
.promo-ctrl{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px}
.promo-dot{width:10px;height:10px;border-radius:50%;border:0;background:var(--border);cursor:pointer;padding:0}
.promo-dot[aria-current="true"]{background:var(--brand);width:26px;border-radius:6px}
.promo-pause{font:600 .8rem var(--font-body);background:none;border:1px solid var(--border);color:var(--ink-mid);border-radius:var(--r-pill);padding:.25em .8em;margin-left:8px;cursor:pointer}
.dsys>*,.two>*,.hero-grid>*{min-width:0}
