/* Beyond Hello Theme v2.0 — Complete Stylesheet */
.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}
:root {
  --color-primary: #233D4B; --color-primary-dark: #1a2e38; --color-primary-light: #2e5060;
  --color-primary-bg: #eef2f4; --color-secondary: #f6c766; --color-secondary-dark: #d4a83e;
  --color-secondary-light: #f6c766; --color-accent: #d4573b;
  --color-white: #fff; --color-gray-50: #fafafa; --color-gray-100: #f5f5f4;
  --color-gray-200: #e7e5e4; --color-gray-300: #d6d3d1; --color-gray-400: #a8a29e;
  --color-gray-500: #78716c; --color-gray-600: #57534e; --color-gray-700: #44403c;
  --color-gray-800: #292524; --color-gray-900: #1c1917;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-display: 'Josefin Sans', system-ui, sans-serif;
  --text-xs: clamp(.7rem,.66rem + .2vw,.75rem); --text-sm: clamp(.8rem,.74rem + .3vw,.875rem);
  --text-base: clamp(.9rem,.84rem + .3vw,1rem); --text-lg: clamp(1rem,.92rem + .4vw,1.125rem);
  --text-xl: clamp(1.15rem,1rem + .6vw,1.25rem); --text-2xl: clamp(1.3rem,1.1rem + 1vw,1.5rem);
  --text-3xl: clamp(1.6rem,1.2rem + 1.6vw,1.875rem); --text-4xl: clamp(2rem,1.4rem + 2.5vw,2.5rem);
  --text-5xl: clamp(2.4rem,1.6rem + 3.2vw,3.25rem);
  --space-xs:.25rem; --space-sm:.5rem; --space-md:1rem; --space-lg:1.5rem; --space-xl:2rem;
  --space-2xl:3rem; --space-3xl:4rem; --space-4xl:6rem;
  --space-section: clamp(3rem,2rem + 4vw,6rem);
  --container-max:1420px; --container-pad: clamp(1rem,.5rem + 2vw,2rem);
  --radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-full:9999px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.06); --shadow-md:0 4px 12px rgba(0,0,0,.08);
  --shadow-lg:0 8px 30px rgba(0,0,0,.12); --shadow-xl:0 20px 60px rgba(0,0,0,.15);
  --ease-out:cubic-bezier(.16,1,.3,1); --duration:200ms; --duration-slow:400ms;
}

@keyframes bh-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-gray-800);background:var(--color-white);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--color-primary);text-decoration:none;transition:color var(--duration)}
a:hover{color:var(--color-primary-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}
hr{border:none;border-top:1px solid #eee;margin:1em 0}

/* === UTILITY === */
.container{max-width:var(--container-max);margin:0 auto;padding-inline:var(--container-pad)}
.visually-hidden{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;top:-100%;left:var(--space-md);z-index:10000;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--color-white);font-weight:600;border-radius:0 0 var(--radius-md) var(--radius-md);transition:top var(--duration)}
.skip-link:focus{top:0;color:var(--color-white)}
.section-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-sm)}
.section-subtitle{font-size:var(--text-lg);color:var(--color-gray-500);margin-bottom:var(--space-2xl)}
.prose{max-width:none}.prose p{margin-bottom:var(--space-md)}
.prose h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:var(--space-2xl) 0 var(--space-md)}
.prose h3{font-size:var(--text-xl);margin:var(--space-xl) 0 var(--space-sm)}
.prose ul,.prose ol{margin:var(--space-md) 0;padding-left:var(--space-xl)}.prose li{margin-bottom:var(--space-xs)}
/* Gutenberg block styles */
.wp-block-columns{display:flex;gap:var(--space-lg);margin:var(--space-lg) 0}
.wp-block-column{flex:1;min-width:0}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-md) 0}
.wp-block-button__link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.65em 1.4em;border:2px solid transparent;border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:all var(--duration) var(--ease-out);background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}
.wp-block-button__link:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-white);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--color-primary);color:var(--color-white)}
.wp-block-details{margin:var(--space-sm) 0;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}
.wp-block-details summary{padding:var(--space-md) var(--space-lg);font-weight:600;cursor:pointer;background:var(--color-gray-50);transition:background var(--duration)}
.wp-block-details summary:hover{background:var(--color-gray-100)}
.wp-block-details[open] summary{border-bottom:1px solid var(--color-gray-200)}
.wp-block-details p,.wp-block-details ul,.wp-block-details ol{padding:var(--space-md) var(--space-lg)}
.wp-block-details p:last-child{margin-bottom:0}
.wp-block-separator{border:none;border-top:2px solid;color:#eee;margin:var(--space-xl) 0}
/* Gutenberg table block */
.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--space-lg) 0}
.wp-block-table table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.wp-block-table th,.wp-block-table td{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-gray-200);text-align:left;vertical-align:top}
.wp-block-table thead th{background:var(--color-gray-50);font-weight:600;white-space:nowrap}
@media(max-width:768px){
  .wp-block-table table{min-width:540px}
}
/* Gutenberg image block */
.wp-block-image{margin:var(--space-md) 0;max-width:100%}
.wp-block-image img{max-width:100%;height:auto;border-radius:var(--radius-md)}
.wp-block-image figcaption{font-size:var(--text-sm);color:var(--color-gray-500);margin-top:var(--space-xs);text-align:center}
/* Standalone (non-column) photos — constrained for desktop readability */
.prose>.wp-block-image{max-width:720px}
.prose>.wp-block-image img{max-height:360px;object-fit:cover;border-radius:var(--radius-lg)}
/* Images inside columns — fill width, clipped to consistent ratio */
.wp-block-column .wp-block-image{margin:0 0 var(--space-sm)}
.wp-block-column .wp-block-image img{width:100%;object-fit:cover;aspect-ratio:16/10;border-radius:var(--radius-md)}
/* Icon-style images (class or src-match) — small, centered, natural shape */
.wp-block-image.is-style-icon,.wp-block-image.is-style-icon img,
.wp-block-column .wp-block-image.is-style-icon img{width:auto;max-width:72px;max-height:72px;aspect-ratio:auto;margin:0 auto var(--space-xs);display:block;object-fit:contain;border-radius:0}
/* Columns with icons — center the text too */
.wp-block-column:has(.is-style-icon){text-align:center}
/* Logo / badge images by src */
.wp-block-image img[src*="natures-remedy"],
.wp-block-image img[src*="NuLeaf"]{width:auto;max-width:180px;max-height:60px;aspect-ratio:auto;object-fit:contain;border-radius:0}
@media(max-width:768px){
  .wp-block-columns{flex-direction:column;gap:var(--space-md)}
  .prose>.wp-block-image{max-width:100%}
  .prose>.wp-block-image img{max-height:240px}
}

/* === STATE LANDING PAGE === */
.state-landing__stores{padding:var(--space-xl) 0 var(--space-section)}
.state-landing__content,.state-info__content,.about-page__content,.resources-page__content{padding:0 0 var(--space-section)}
/* Breadcrumb flush against hero (no gap) */
.breadcrumb--flush{border-bottom:none;margin-bottom:0}
/* Hero */
.sl-hero{background:var(--color-primary);color:#fff;padding:var(--space-3xl) 0;
  position:relative;overflow:hidden;z-index:0;text-align:center}
/* Background image from featured image / ACF */
.state-landing[style*="--sl-hero-bg"] .sl-hero::before,.state-info[style*="--sl-hero-bg"] .sl-hero::before,.about-page[style*="--sl-hero-bg"] .sl-hero::before,.resources-page[style*="--sl-hero-bg"] .sl-hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:var(--sl-hero-bg) center/cover no-repeat}
.state-landing[style*="--sl-hero-bg"] .sl-hero::after,.state-info[style*="--sl-hero-bg"] .sl-hero::after,.about-page[style*="--sl-hero-bg"] .sl-hero::after,.resources-page[style*="--sl-hero-bg"] .sl-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(35,61,75,.72) 0%,rgba(35,61,75,.82) 100%)}
.sl-hero .container{position:relative}
.sl-hero__title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;
  line-height:1.1;margin-bottom:var(--space-md)}
.sl-hero__badges{display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-md)}
.badge--hero{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3);
  padding:.35em .9em;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600}
.badge--hero.badge--rec{background:rgba(246,199,102,.2);color:var(--color-secondary);
  border-color:rgba(246,199,102,.4)}
.sl-hero__intro{font-size:var(--text-lg);line-height:1.7;color:rgba(255,255,255,.8);
  max-width:680px;margin:0 auto}
@media(max-width:600px){
  .sl-hero{padding:var(--space-lg) 0 var(--space-xl)}
  .sl-hero__title{font-size:var(--text-3xl)}
}

/* === HELLO CLUB PAGE === */
.hc-page{--hc-dark:#233D4B;--hc-gold:#f6c766;--hc-gold-dark:#e4b44e}
/* Full-width section base */
.hc-section{padding:var(--space-section) 0;text-align:center}
.hc-section .container{max-width:900px;margin:0 auto;padding-inline:var(--container-pad)}
/* Dark section */
.hc-section--dark{background:var(--hc-dark);color:#fff}
.hc-section--dark h2,.hc-section--dark h3{color:#fff}
.hc-section--dark p{color:rgba(255,255,255,.85)}
.hc-section--dark a:not(.hc-state-btn):not(.hc-btn){color:var(--hc-gold)}
.hc-section--dark a:not(.hc-state-btn):not(.hc-btn):hover{color:var(--hc-gold-dark)}
/* Light section */
.hc-section--light{background:var(--color-gray-50);color:var(--color-gray-800)}
/* Hero */
.hc-hero{padding:var(--space-3xl) 0 var(--space-section);background:var(--hc-dark);text-align:center;color:#fff;
  position:relative;overflow:hidden;z-index:0}
/* Background image from featured image / ACF hero_image */
.hc-page[style*="--hc-hero-bg"] .hc-hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:var(--hc-hero-bg) center/cover no-repeat}
.hc-page[style*="--hc-hero-bg"] .hc-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(35,61,75,.75) 0%,rgba(35,61,75,.82) 100%)}
.hc-hero .container{max-width:900px;margin:0 auto;padding-inline:var(--container-pad);position:relative}
.hc-hero__badge{display:inline-block;background:var(--hc-gold);color:var(--hc-dark);font-family:var(--font-display);
  font-weight:700;font-size:var(--text-sm);padding:.4em 1.2em;border-radius:var(--radius-full);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md)}
.hc-hero__title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;
  margin-bottom:var(--space-sm);line-height:1.1}
.hc-hero__tagline{font-size:var(--text-xl);color:var(--hc-gold);font-weight:600;margin-bottom:var(--space-xs)}
.hc-hero__sub{font-size:var(--text-lg);color:rgba(255,255,255,.7);margin-bottom:var(--space-xl)}
.hc-hero__img{max-width:320px;margin:0 auto;border-radius:var(--radius-lg);overflow:hidden}
.hc-hero__img img{width:100%;height:auto;display:block}
/* Section headings */
.hc-section h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;margin-bottom:var(--space-sm)}
.hc-section h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-xs)}
.hc-section p{line-height:1.7;margin-bottom:var(--space-md)}
/* Steps grid */
.hc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-top:var(--space-xl);text-align:center}
.hc-step__icon{width:72px;height:72px;margin:0 auto var(--space-sm);display:block;object-fit:contain}
.hc-step h3{margin-bottom:var(--space-xs)}
.hc-step p{font-size:var(--text-sm);color:var(--color-gray-600);margin-bottom:0}
.hc-section--dark .hc-step p{color:rgba(255,255,255,.75)}
/* App download */
.hc-download{display:flex;align-items:center;gap:var(--space-2xl);text-align:left;margin-top:var(--space-lg)}
.hc-download__qr{flex-shrink:0;width:160px}
.hc-download__qr img{width:100%;border-radius:var(--radius-md);background:#fff;padding:var(--space-sm)}
.hc-download__info{flex:1}
.hc-download__badges{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}
.hc-download__badges img{height:44px;width:auto}
/* State enrollment grid */
.hc-states{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-top:var(--space-lg)}
.hc-state-btn{display:block;padding:.65em 1em;background:var(--hc-gold);color:var(--hc-dark);
  font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);
  border-radius:var(--radius-full);text-decoration:none;text-align:center;
  transition:all var(--duration) var(--ease-out)}
.hc-state-btn:hover{background:var(--hc-gold-dark);color:var(--hc-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}
/* Benefits */
.hc-benefits{text-align:left;max-width:640px;margin:var(--space-lg) auto 0}
.hc-benefits li{padding:var(--space-sm) 0;border-bottom:1px solid rgba(255,255,255,.1);
  font-size:var(--text-base);list-style:none;padding-left:var(--space-lg);position:relative}
.hc-benefits li::before{content:"\2713";position:absolute;left:0;color:var(--hc-gold);font-weight:700}
.hc-section--light .hc-benefits li{border-bottom-color:var(--color-gray-200)}
/* Bottom CTA */
.hc-cta{display:flex;align-items:center;gap:var(--space-2xl);text-align:left}
.hc-cta__img{flex-shrink:0;width:280px;border-radius:var(--radius-lg);overflow:hidden}
.hc-cta__img img{width:100%;height:auto;display:block}
.hc-cta__body{flex:1}
.hc-cta__body h2{text-align:left}
.hc-cta__body p{text-align:left}
/* CTA buttons in HC page */
.hc-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.7em 1.8em;
  background:var(--hc-gold);color:var(--hc-dark);font-family:var(--font-display);font-weight:700;
  font-size:var(--text-base);border-radius:var(--radius-full);text-decoration:none;
  transition:all var(--duration) var(--ease-out)}
.hc-btn:hover{background:var(--hc-gold-dark);color:var(--hc-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.hc-btn--outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}
.hc-btn--outline:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
/* Responsive */
@media(max-width:768px){
  .hc-steps{grid-template-columns:1fr;gap:var(--space-lg)}
  .hc-download{flex-direction:column;text-align:center}
  .hc-download__qr{width:140px}
  .hc-download__info{text-align:center}
  .hc-download__badges{justify-content:center}
  .hc-states{grid-template-columns:repeat(2,1fr)}
  .hc-cta{flex-direction:column;text-align:center}
  .hc-cta__img{width:200px}
  .hc-cta__body h2,.hc-cta__body p{text-align:center}
}

/* === BUTTONS === */
.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.65em 1.4em;border:2px solid transparent;border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:all var(--duration) var(--ease-out)}
.btn--primary{background:#f6c766;color:#233D4B;border-color:#f6c766}.btn--primary:hover{background:#e4b44e;border-color:#e4b44e;color:#233D4B}
.btn--secondary{background:var(--color-secondary);color:#233D4B;border-color:var(--color-secondary)}.btn--secondary:hover{background:var(--color-secondary-dark);border-color:var(--color-secondary-dark);color:#233D4B}
.btn--outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--outline:hover{background:var(--color-primary);color:var(--color-white)}
.btn--outline-light{background:transparent;color:var(--color-white);border-color:rgba(255,255,255,.6)}.btn--outline-light:hover{background:var(--color-white);color:var(--color-primary);border-color:var(--color-white)}
.btn--text{background:none;border:none;padding:0;color:var(--color-primary);font-weight:600}.btn--text:hover{color:var(--color-primary-dark)}
.btn--lg{padding:.8em 2em;font-size:var(--text-base)}.btn--sm{padding:.45em 1em;font-size:var(--text-xs)}
.btn--icon{padding:.5em;border-radius:var(--radius-md);background:var(--color-gray-100);border:1px solid var(--color-gray-200)}
.link-arrow{color:var(--color-primary);font-weight:600;font-size:var(--text-sm)}
.link-arrow::after{content:' \2192';display:inline-block;transition:transform var(--duration)}
.link-arrow:hover::after{transform:translateX(4px)}

/* === BADGES === */
.badge{display:inline-block;padding:.2em .7em;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary)}
.badge--rec{background:#fef3c7;color:#92400e}.badge--delivery{background:#ede9fe;color:#5b21b6}.badge--curbside{background:#e0f2fe;color:#0369a1}
.badge--small{font-size:.65rem;padding:.15em .5em}.badge--today{background:var(--color-primary);color:var(--color-white)}
.badge--coming-soon{background:var(--color-accent);color:var(--color-white)}

/* === HEADER — Amazon-style single dark bar === */
.site-header{position:sticky;top:0;z-index:100;background:var(--color-primary)}
.site-header__main{padding:var(--space-sm) 0}
.site-header__main-inner{display:flex;align-items:center;gap:var(--space-md)}
/* Logo — white via CSS filter */
.site-header__logo{display:flex;align-items:center;flex-shrink:0}
.site-header__logo .custom-logo-link{display:flex;align-items:center}
.site-header__logo img,.site-header__logo .custom-logo,.site-header__logo .custom-logo-link img{height:56px!important;width:auto!important;max-width:225px!important;object-fit:contain;filter:brightness(0) invert(1)}
.site-header__brand{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-white);letter-spacing:-.01em}
.site-header__brand-sep{color:var(--color-secondary);margin:0 .1em}
/* Store Selector — ordered last to sit on the right */
.store-selector-trigger{display:flex;align-items:center;gap:var(--space-xs);background:none;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full);padding:.4em .9em;color:#fff;cursor:pointer;font-size:var(--text-xs);font-family:var(--font-body);transition:border-color var(--duration);min-height:40px;flex-shrink:0;white-space:nowrap;order:10}
.store-selector-trigger:hover{border-color:rgba(255,255,255,.7)}
.store-selector-trigger .icon--chevron{transition:transform var(--duration)}
.store-selector-trigger[aria-expanded="true"] .icon--chevron{transform:rotate(180deg)}
.store-selector-trigger__prefix{display:inline}
/* Search Bar */
.site-header__search{display:flex;flex:1;min-width:0;max-width:480px}
.site-header__search input{flex:1;border:none;border-radius:var(--radius-md) 0 0 var(--radius-md);padding:.55em var(--space-md);font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-gray-900);min-width:0}
.site-header__search input:focus{outline:none;box-shadow:0 0 0 2px var(--color-secondary)}
.site-header__search input::placeholder{color:var(--color-gray-400)}
.site-header__search-btn{background:var(--color-secondary);color:var(--color-primary);border:none;border-radius:0 var(--radius-md) var(--radius-md) 0;padding:.55em var(--space-md);font-weight:600;font-size:var(--text-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:background var(--duration)}
.site-header__search-btn:hover{background:var(--color-secondary-dark)}
/* Shrink search when state nav is active (more nav items need room) */
.site-header__main-inner--state-nav .site-header__search{max-width:380px}
/* Nav wrap — flex:1 to center nav links between logo/search and store selector */
.site-header__nav-wrap{flex:1;display:flex;justify-content:center;min-width:0}
/* Nav links — white on dark */
.site-header__menu{display:flex;list-style:none;gap:var(--space-lg)}
.site-header__menu a{color:rgba(255,255,255,.9);font-weight:500;font-size:var(--text-sm);padding:var(--space-xs) 0;position:relative;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.site-header__menu a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-secondary);transform:scaleX(0);transition:transform var(--duration) var(--ease-out)}
.site-header__menu a:hover::after,.site-header__menu .current-menu-item a::after{transform:scaleX(1)}
.site-header__menu a:hover{color:var(--color-white)}
/* ── Keyboard focus styles ── */
:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:var(--radius-sm)}
.site-header__logo :focus-visible,.site-header__logo a:focus-visible{outline-color:var(--color-secondary);outline-offset:4px;border-radius:var(--radius-sm)}
.store-selector-trigger:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}
.site-header__menu a:focus-visible{color:var(--color-white);outline:2px solid var(--color-secondary);outline-offset:4px;border-radius:var(--radius-sm)}
.site-header__menu a:focus-visible::after{transform:scaleX(1)}
.site-header__menu-toggle:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:var(--radius-sm)}
.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.site-header .btn:focus-visible,.store-selector-panel .btn:focus-visible{outline-color:var(--color-secondary)}
/* Top links (Hello Club, Contact) — desktop */
.site-header__top-links{display:flex;gap:var(--space-md);flex-shrink:0}
.site-header__top-links a{color:rgba(255,255,255,.85);font-weight:500;font-size:var(--text-xs);white-space:nowrap}
.site-header__top-links a:hover{color:#fff}
/* Slideout links — hidden on desktop, shown inside mobile slideout */
.site-header__slideout-links{display:none}
/* Hamburger — white bars */
.site-header__menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-sm)}
.hamburger{display:flex;flex-direction:column;gap:5px;width:24px}
.hamburger span{display:block;height:2px;background:var(--color-white);transition:all var(--duration);border-radius:1px}
/* Mobile Search Row */
.site-header__mobile-search{display:none;background:var(--color-primary-dark);padding:var(--space-sm) 0}
.site-header__search--mobile{max-width:none}
/* ── Header collapse ≤1300px — nav into hamburger, search into mobile row ── */
@media(max-width:1300px){
  .site-header__menu-toggle{display:block;order:-1;position:relative;z-index:202}
  .site-header__search:not(.site-header__search--mobile){display:none}
  .site-header__top-links{display:none}
  .site-header__mobile-search{display:block}
  .site-header__search--mobile{display:flex}
  .store-selector-trigger__prefix{display:none}
  .store-selector-trigger .store-selector-trigger__label{max-width:160px;overflow:hidden;text-overflow:ellipsis}
  /* ── Full-screen dark overlay ── */
  .site-header__nav-wrap{position:fixed;inset:0;width:100%;height:100%;background:linear-gradient(160deg,var(--color-primary-light) 0%,var(--color-primary) 40%,var(--color-primary-dark) 100%);z-index:201;padding:0 var(--space-xl);opacity:0;visibility:hidden;transition:opacity .5s var(--ease-out),visibility 0s .5s;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg)}
  .site-header__nav-wrap.is-open{opacity:1;visibility:visible;transition:opacity .5s var(--ease-out),visibility 0s}
  /* ── Big Josefin Sans links ── */
  .site-header__menu{flex-direction:column;gap:var(--space-sm);align-items:center}
  .site-header__menu li{list-style:none;opacity:0;transform:translateY(24px)}
  .site-header__nav-wrap.is-open .site-header__menu li{animation:navSlideIn .6s var(--ease-out) both}
  .site-header__nav-wrap.is-open .site-header__menu li:nth-child(1){animation-delay:80ms}
  .site-header__nav-wrap.is-open .site-header__menu li:nth-child(2){animation-delay:140ms}
  .site-header__nav-wrap.is-open .site-header__menu li:nth-child(3){animation-delay:200ms}
  .site-header__nav-wrap.is-open .site-header__menu li:nth-child(4){animation-delay:260ms}
  .site-header__nav-wrap.is-open .site-header__menu li:nth-child(5){animation-delay:320ms}
  .site-header__nav-wrap.is-open .site-header__menu li:nth-child(6){animation-delay:380ms}
  .site-header__menu a{font-family:var(--font-display);font-size:clamp(2rem,1.5rem + 3vw,3.375rem);font-weight:600;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:var(--space-xs) 0;display:block;position:relative;-webkit-tap-highlight-color:rgba(246,199,102,.15);transition:color var(--duration),transform var(--duration)}
  .site-header__menu a::after{content:'';position:absolute;bottom:-.05em;left:50%;right:50%;height:3px;background:var(--color-secondary);border-radius:2px;transition:left .3s var(--ease-out),right .3s var(--ease-out)}
  .site-header__menu a:hover,.site-header__menu .current-menu-item a{color:#fff}
  .site-header__menu a:hover::after,.site-header__menu .current-menu-item a::after{left:20%;right:20%}
  /* ── Slideout links (smaller, same vibe) ── */
  .site-header__slideout-links{display:flex;flex-direction:column;gap:var(--space-xs);padding-top:var(--space-xl);margin-top:var(--space-sm);border-top:2px solid rgba(255,255,255,.12);align-items:center;opacity:0;transform:translateY(16px)}
  .site-header__nav-wrap.is-open .site-header__slideout-links{animation:navSlideIn .6s var(--ease-out) .4s both}
  .site-header__slideout-links a{color:rgba(255,255,255,.55);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;text-align:center;padding:var(--space-xs) 0;text-transform:uppercase;letter-spacing:.05em;transition:color var(--duration)}
  .site-header__slideout-links a:hover{color:var(--color-secondary)}
  /* ── Hamburger → X animation ── */
  .site-header__menu-toggle[aria-expanded="true"] .hamburger span{background:var(--color-white)}
  .site-header__menu-toggle[aria-expanded="true"] .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .site-header__menu-toggle[aria-expanded="true"] .hamburger span:nth-child(2){opacity:0;transform:scaleX(0)}
  .site-header__menu-toggle[aria-expanded="true"] .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@keyframes navSlideIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
/* ── Small mobile ≤768px — compact logo & store selector ── */
@media(max-width:768px){
  .site-header__logo img,.site-header__logo .custom-logo,.site-header__logo .custom-logo-link img{height:44px!important;max-width:180px!important}
  .store-selector-trigger{padding:.4em .6em;min-height:36px}
  .store-selector-trigger .store-selector-trigger__label{max-width:120px}
}

/* Store Selector Panel */
.store-selector-panel{position:fixed;top:auto;left:0;right:0;z-index:200;background:var(--color-white);border-bottom:none;box-shadow:var(--shadow-lg);max-height:0;overflow:hidden;transition:max-height var(--duration-slow) var(--ease-out)}
.store-selector-panel.is-open{max-height:60vh;overflow-y:auto}
.store-selector-panel__inner{padding:var(--space-xl) 0}
.store-selector-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}
.store-selector-panel__title{font-family:var(--font-display);font-size:var(--text-xl)}
.store-selector-panel__close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-gray-500);padding:var(--space-sm)}
.store-selector-panel__search{margin-bottom:var(--space-lg)}
.store-selector-panel__search input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm)}
.store-selector-panel__search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}
.store-selector-panel__list{display:flex;flex-direction:column;gap:var(--space-lg)}
.store-selector-panel__group-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-primary);padding-bottom:var(--space-xs);border-bottom:2px solid var(--color-primary-bg);margin-bottom:var(--space-sm)}
.store-selector-panel__group-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-sm)}
.store-selector-panel__item{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration);background:none;font-family:var(--font-body);text-align:left;width:100%}
.store-selector-panel__item:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}
.store-selector-panel__item-name{font-weight:600;font-size:var(--text-sm);color:var(--color-gray-800);display:block}
.store-selector-panel__item-addr{font-size:var(--text-xs);color:var(--color-gray-500);margin-top:2px;display:block}
/* Current store card inside panel */
.store-selector-panel__current{margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-primary-bg);border-radius:var(--radius-lg);border:2px solid var(--color-primary)}
.store-selector-panel__current-card{display:flex;align-items:center;gap:var(--space-md)}
.store-selector-panel__current-info{flex:1;min-width:0}
.store-selector-panel__current-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin:0 0 var(--space-xs)}
.store-selector-panel__current-name a{color:var(--color-gray-900);text-decoration:none}.store-selector-panel__current-name a:hover{color:var(--color-primary)}
.store-selector-panel__current-addr{font-size:var(--text-sm);color:var(--color-gray-600);margin:0 0 var(--space-xs)}
.store-selector-panel__current-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-sm)}
@media(max-width:480px){.store-selector-panel__current-actions{flex-wrap:wrap}}
/* Mobile: full-screen modal aligned to top so keyboard doesn't cover content */
@media(max-width:768px){
  .store-selector-panel{top:0;bottom:0;max-height:none;height:0;transition:height var(--duration-slow) var(--ease-out)}
  .store-selector-panel.is-open{height:100vh;height:100dvh;max-height:none;overflow:hidden;display:flex;flex-direction:column}
  .store-selector-panel.is-open>.container{flex:1;display:flex;flex-direction:column;overflow:hidden}
  .store-selector-panel__inner{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:var(--space-lg) 0}
  .store-selector-panel__list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}
  .store-selector-panel__header{flex-shrink:0}
  .store-selector-panel__search{flex-shrink:0;margin-bottom:var(--space-md)}
  .store-selector-panel__current{flex-shrink:0}
}

/* === HERO === */
.hero{position:relative;padding:var(--space-4xl) 0 var(--space-xl);background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 50%,var(--color-primary-light) 100%);color:var(--color-white);overflow:hidden;min-height:420px;display:flex;flex-direction:column;justify-content:center}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,46,56,.7) 0%,rgba(35,61,75,.6) 50%,rgba(46,80,96,.55) 100%)}
.hero__content{position:relative;text-align:center;max-width:900px;margin:0 auto}
.hero__title{font-family:var(--font-display);font-size:clamp(2.5rem,2rem + 4vw,4.5rem);font-weight:700;margin-bottom:var(--space-sm);letter-spacing:-.02em}
.hero__subtitle{font-size:var(--text-xl);font-weight:600;color:var(--color-secondary-light);margin-bottom:var(--space-xs)}
.hero__tagline{font-size:var(--text-lg);opacity:.85;margin-bottom:var(--space-xl)}
.hero__actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}
/* Hero Search */
.hero__search{margin-top:var(--space-lg);max-width:540px;margin-left:auto;margin-right:auto}
.hero__search-wrap{display:flex;align-items:center;background:rgba(255,255,255,.95);border-radius:var(--radius-full);padding:4px 4px 4px var(--space-md);box-shadow:0 4px 20px rgba(0,0,0,.15)}
.hero__search-icon{color:var(--color-gray-400);flex-shrink:0}
.hero__search-input{flex:1;border:none;background:transparent;padding:var(--space-sm) var(--space-sm);font-size:var(--text-base);color:var(--color-gray-900);outline:none;min-width:0;font-family:var(--font-body)}
.hero__search-input::placeholder{color:var(--color-gray-400)}
.hero__search-btn{border-radius:var(--radius-full);padding:.6em 1.5em;font-size:var(--text-sm);flex-shrink:0}
@media(max-width:480px){.hero__search-btn{padding:.5em 1em;font-size:var(--text-xs)}}
/* Hero Personalized Store */
.hero__personalized{margin-top:var(--space-xl);text-align:center}
.hero__personalized-card{display:flex;flex-direction:row;align-items:center;gap:var(--space-lg);background:#fff;border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:0 8px 30px rgba(0,0,0,.15);max-width:480px;margin:0 auto;text-align:left;position:relative}
.hero__personalized-card .home-personalized__your-store{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--color-primary);color:var(--color-white);font-size:var(--text-xs);font-weight:700;padding:.25em .8em;border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;margin:0;white-space:nowrap}
.hero__personalized-card .home-personalized__photo{width:100px;min-width:100px;height:100px;max-width:100px;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0;display:block}
.hero__personalized-card .home-personalized__info{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:0}
.hero__personalized-card .home-personalized__name{font-weight:600;font-size:1.1rem;color:var(--color-gray-900);text-decoration:none;display:block;margin:0}
.hero__personalized-card .home-personalized__name:hover{color:var(--color-primary)}
.hero__personalized-card .home-personalized__address{color:var(--color-gray-600);font-size:var(--text-sm);margin:0}
.home-personalized__status{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);font-weight:600;padding:.2em .6em;border-radius:var(--radius-full);margin-top:2px;width:fit-content}
.home-personalized__status--open{background:#ecfdf5;color:#065f46}
.home-personalized__status--closed{background:var(--color-gray-100);color:var(--color-gray-600)}
.home-personalized__status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.home-personalized__status--open .home-personalized__status-dot{background:#10b981;animation:bh-pulse 2s infinite}
.home-personalized__status--closed .home-personalized__status-dot{background:var(--color-gray-400)}
.home-personalized__overnight{font-size:var(--text-xs);color:#059669;margin:var(--space-xs) 0 0;font-weight:600}
.hero__personalized-card .home-personalized__overnight{color:#34d399}
.hero__personalized-card .home-personalized__shop-btn{display:block;text-align:center;margin-top:var(--space-xs);padding:.6em 1.5em;font-size:var(--text-sm)}
.hero__personalized-card .home-personalized__shop-btns{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-xs)}
.hero__personalized-card .home-personalized__shop-btns .btn{padding:.6em 1.5em;font-size:var(--text-sm);flex:1;text-align:center}
.hero__personalized-change{display:inline-block;margin-top:var(--space-sm);color:rgba(255,255,255,.7);font-size:var(--text-sm);font-weight:500;transition:color var(--duration)}
.hero__personalized-change:hover{color:var(--color-white)}
.hero__personalized-change::after{content:' \2192';display:inline-block;transition:transform var(--duration)}
.hero__personalized-change:hover::after{transform:translateX(4px)}
@media(max-width:480px){.hero__personalized-card{flex-direction:column;text-align:center}.hero__personalized-card .home-personalized__photo{width:100%;min-width:auto;max-width:100%;height:160px;border-radius:var(--radius-lg)}.hero__personalized-card .home-personalized__shop-btns{justify-content:center}}
.home-category-strip{background:var(--color-primary-dark);padding:0}
.category-strip{width:100%;display:block;position:relative}
.category-strip__list{display:flex;flex-wrap:nowrap;justify-content:center;gap:0;list-style:none;padding:var(--space-sm) 0;margin:0}
.category-strip__list li{flex:0 0 auto}
.category-strip__item{display:flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);background:transparent;color:var(--color-white);font-weight:600;transition:background var(--duration),transform var(--duration);text-align:center;text-decoration:none}
.category-strip__item:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);color:var(--color-white)}
.category-strip__label{white-space:nowrap;font-size:var(--text-base)}
.dispensary-detail .category-strip__item{background:transparent;color:var(--color-gray-800)}
.dispensary-detail .category-strip__item:hover{background:var(--color-gray-200);color:var(--color-gray-900)}
@media(max-width:768px){.home-category-strip .container{padding-inline:0}.category-strip{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.category-strip::-webkit-scrollbar{display:none}.category-strip__list{display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:var(--space-sm) 0;gap:0}.category-strip__list li{flex:0 0 auto;min-width:0}.category-strip__item{padding:var(--space-xs) var(--space-md)}}

/* === HOME BANNER WRAP (white, below category strip) === */
.home-banner-wrap{background:var(--color-white);padding:var(--space-md) 0}
.home-banner-wrap .bh-banner-slot{max-width:none;padding:0;margin:0}

/* === HOME CATEGORY ICONS (gold, scrollable) === */
.home-category-icons{background:var(--color-white);padding:var(--space-lg) 0 var(--space-sm)}
.category-icons__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.category-icons__scroll::-webkit-scrollbar{display:none}
.category-icons__list{display:flex;gap:var(--space-lg);list-style:none;margin:0;padding:0;justify-content:space-between}
.category-icons__list li{flex:0 0 auto}
.category-icons__item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-decoration:none;padding:var(--space-sm);border-radius:var(--radius-lg);transition:background var(--duration),transform var(--duration)}
.category-icons__item:hover{background:var(--color-gray-50);transform:translateY(-3px)}
.category-icons__icon{width:88px;height:88px;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;transition:transform var(--duration),box-shadow var(--duration)}
.category-icons__icon img{width:100%;height:100%;object-fit:cover}
.category-icons__icon--shopall{background:var(--color-gray-50);color:var(--color-primary);padding:18px}
.category-icons__icon--shopall svg{width:100%;height:100%}
.category-icons__item:hover .category-icons__icon{transform:scale(1.08);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.category-icons__label{font-size:var(--text-sm);font-weight:600;color:var(--color-gray-700);white-space:nowrap;text-align:center}
.category-icons__item:hover .category-icons__label{color:var(--color-primary)}
@media(max-width:768px){
  .home-category-icons{padding:var(--space-md) 0}
  .home-category-icons .container{padding-inline:0}
  .category-icons__list{justify-content:flex-start;padding:0 var(--container-pad);gap:var(--space-xs)}
  .category-icons__item{min-width:76px;padding:var(--space-xs)}
  .category-icons__icon{width:76px;height:76px}
  .category-icons__label{font-size:var(--text-xs)}
}

/* === HOME SECTIONS === */
.home-features{padding:var(--space-md) 0 var(--space-section);background:var(--color-white)}
.home-features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl)}
.feature-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--duration),transform var(--duration)}
.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.feature-card__media{aspect-ratio:16/10;background:var(--color-gray-100);overflow:hidden}
.feature-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration)}
.feature-card:hover .feature-card__media img{transform:scale(1.03)}
.feature-card__body{padding:var(--space-lg)}
.feature-card__title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-sm)}
.feature-card__body p{color:var(--color-gray-600);font-size:var(--text-sm);margin-bottom:var(--space-md)}
.feature-card__store-link{color:var(--color-gray-900);text-decoration:none;transition:color var(--duration)}
.feature-card__store-link:hover{color:var(--color-primary)}
.feature-card__store-addr{color:var(--color-gray-500);font-size:var(--text-sm);margin:0 0 var(--space-xs)}
.feature-card__shop-btn{display:inline-block;margin-top:var(--space-sm)}
.feature-card__body .home-personalized__status{margin:var(--space-xs) 0 var(--space-sm)}
.store-selector-panel__current .home-personalized__status{margin:var(--space-xs) 0 var(--space-sm)}
.home-states{padding:var(--space-section) 0;background:var(--color-gray-50)}
.home-states__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}
@media(max-width:1023px){.home-states__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:599px){.home-states__grid{grid-template-columns:1fr}}
.state-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--color-white);border:1px solid var(--color-gray-200);text-align:center;transition:all var(--duration) var(--ease-out);text-decoration:none;overflow:hidden}
.state-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.state-card__media{aspect-ratio:3/2;overflow:hidden;background:var(--color-gray-100)}
.state-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration)}
.state-card:hover .state-card__media img{transform:scale(1.05)}
.state-card__body{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm) var(--space-lg)}
.state-card__abbr{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-primary);line-height:1}
.state-card__name{font-size:var(--text-sm);color:var(--color-gray-600);font-weight:500}
.state-card__badges{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:center;margin-top:var(--space-xs)}
.home-personalized{padding:var(--space-2xl) 0;background:var(--color-primary-bg);border-bottom:1px solid var(--color-gray-200)}
.home-personalized__inner{text-align:center}
.home-personalized__card{display:flex;align-items:center;gap:var(--space-lg);background:#fff;border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:0 1px 3px rgba(0,0,0,.08);max-width:480px;margin:var(--space-lg) auto;text-align:left}
.home-personalized__photo{width:100px;height:100px;object-fit:cover;border-radius:var(--radius-lg);flex-shrink:0}
.home-personalized__info{display:flex;flex-direction:column;gap:var(--space-xs)}
.home-personalized__name{font-weight:600;font-size:1.1rem;margin:0;color:var(--color-gray-900);text-decoration:none;display:block}
.home-personalized__name:hover{color:var(--color-primary)}
.home-personalized__address{color:var(--color-gray-600);font-size:var(--text-sm);margin:0}
.home-personalized__shop-btns{display:flex;gap:var(--space-xs);flex-wrap:wrap}
@media(max-width:480px){.home-personalized__card{flex-direction:column;text-align:center}.home-personalized__photo{width:100%;height:160px;border-radius:var(--radius-lg)}.home-personalized__shop-btns{justify-content:center}}
.home-state-cta{padding:var(--space-xl) 0}
.state-cta-card{padding:var(--space-2xl);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--color-primary-bg) 0%,#e4ecf0 100%);border:1px solid rgba(35,61,75,.1);text-align:center}
.state-cta-card h2{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-sm)}
.state-cta-card p{color:var(--color-gray-600);margin-bottom:var(--space-lg);max-width:50ch;margin-inline:auto}

/* (old breadcrumb/dispensary CSS removed — replaced by full layout below) */

/* === STORE FEATURES === */
.store-features{margin-bottom:var(--space-xl);padding:var(--space-lg) 0;border-top:1px solid var(--color-gray-100);border-bottom:1px solid var(--color-gray-100)}
.store-features__list{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-xl);list-style:none;justify-content:center}
.store-features__item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-gray-700);font-weight:500}
.store-features__icon{color:var(--color-primary);flex-shrink:0}
@media(max-width:768px){.store-features__list{gap:var(--space-sm) var(--space-md)}.store-features__item{font-size:var(--text-xs)}.store-features__icon{width:22px;height:22px}}

/* === STORE HOURS === */
.store-hours{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.store-hours__row{border-bottom:1px solid var(--color-gray-100)}
.store-hours__row--today{background:var(--color-primary-bg);font-weight:600}
.store-hours__day{padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);color:var(--color-gray-700);white-space:nowrap}
.store-hours__time{padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-sm);text-align:right;color:var(--color-gray-600);white-space:nowrap;font-size:var(--text-xs)}
.store-hours__closed{color:var(--color-gray-600)}

/* === STORE LOCATOR === */
.store-locator{padding:var(--space-section) 0}
.store-locator__header{text-align:center;margin-bottom:var(--space-2xl)}
.store-locator__title{font-family:var(--font-display);font-size:var(--text-4xl)}
.store-locator__subtitle{color:var(--color-gray-500);font-size:var(--text-lg);margin-top:var(--space-sm)}
.store-locator__controls{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;margin-bottom:var(--space-xl)}
.store-locator__search{flex:1;min-width:250px;display:flex;gap:var(--space-sm)}
.store-locator__input{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm)}
.store-locator__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}
.store-locator__filters{display:flex;gap:var(--space-xs);flex-wrap:wrap}
.store-locator__state-select{display:none}
.store-locator__select{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;background:var(--color-white);color:var(--color-gray-800);cursor:pointer;min-width:160px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:var(--space-2xl)}
.store-locator__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}
@media(max-width:768px){
  .store-locator__filters{display:none}
  .store-locator__state-select{display:block;width:100%}
  .store-locator__select{width:100%}
  .store-locator__controls{flex-direction:column;gap:var(--space-sm)}
  .store-locator__search{min-width:0;width:100%}
  .store-locator__view-toggle{align-self:flex-end}
}
.filter-chip{padding:.35em .9em;border:1px solid var(--color-gray-300);border-radius:var(--radius-full);background:var(--color-white);font-size:var(--text-xs);font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all var(--duration)}
.filter-chip:hover{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-gray-900)}
.filter-chip--active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}
.filter-chip--active:hover{background:var(--color-primary);color:var(--color-white)!important;border-color:var(--color-primary)}
.view-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.4em .8em;border:1px solid var(--color-gray-300);background:var(--color-white);font-size:var(--text-xs);font-family:var(--font-body);cursor:pointer;transition:all var(--duration)}
.view-btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}
.view-btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:0}
.view-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-gray-900)}
.view-btn--active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}
.view-btn--active:hover{background:var(--color-primary-dark);color:var(--color-white);border-color:var(--color-primary-dark)}
.store-locator__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-md)}
.store-locator__map-container{width:100%;height:500px;border-radius:var(--radius-lg);background:var(--color-gray-100);overflow:hidden;z-index:0}

/* === STORE CARD === */
.store-card{display:flex;flex-direction:column;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-white);transition:box-shadow var(--duration),transform var(--duration)}
.store-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.store-card__body{padding:var(--space-md);flex:1;display:flex;flex-direction:column}
.store-card__title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-xs)}
.store-card__title a{color:var(--color-gray-900)}.store-card__title a:hover{color:var(--color-primary)}
.store-card__subname{display:block;font-size:var(--text-sm);color:var(--color-gray-500);font-weight:400}
.store-card__address,.store-card__phone{font-size:var(--text-sm);color:var(--color-gray-500);margin-bottom:var(--space-xs)}
.store-card__badges{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin:var(--space-sm) 0}
.store-card__actions{display:flex;gap:var(--space-sm);margin-top:auto;padding-top:var(--space-sm);flex-wrap:wrap}
.store-card__distance{font-size:var(--text-xs);color:var(--color-gray-400);margin-top:var(--space-xs)}
.store-card__status{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);font-weight:600;padding:.2em .6em;border-radius:var(--radius-full);margin-bottom:var(--space-xs);width:fit-content}
.store-card__status--open{background:#ecfdf5;color:#065f46}
.store-card__status--closed{background:var(--color-gray-100);color:var(--color-gray-600)}
.store-card__status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.store-card__status--open .store-card__status-dot{background:#10b981;animation:bh-pulse 2s infinite}
.store-card__status--closed .store-card__status-dot{background:var(--color-gray-400)}
.store-card__overnight{font-size:var(--text-xs);color:#059669;font-weight:600;margin:var(--space-xs) 0 0}
.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-md)}

/* === PAGE CONTENT === */
.page-content{padding:var(--space-section) 0}
.page-content__header{margin-bottom:var(--space-2xl)}
.page-content__title{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--color-gray-900)}
.state-landing{padding:0}
.state-landing__intro{font-size:var(--text-lg);line-height:1.7;color:var(--color-gray-600);margin-bottom:var(--space-xl);max-width:80ch}
.state-landing__stores{margin-top:var(--space-lg)}
.state-landing__stores-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}
.state-landing__stores-header .section-title{margin-bottom:0}
.state-landing__store-count{font-size:var(--text-sm);color:var(--color-gray-500);font-weight:500}

/* === BREADCRUMBS === */
.breadcrumb{background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);padding:var(--space-sm) 0;font-size:var(--text-sm);color:var(--color-gray-500)}
.breadcrumb__list{list-style:none;display:flex;align-items:center;gap:var(--space-xs);flex-wrap:nowrap;white-space:nowrap;margin:0;padding:0}
.breadcrumb__list li{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}
.breadcrumb__list li:not(:last-child)::after{content:"›";color:var(--color-gray-400);font-size:1.1em}
.breadcrumb__list a{color:var(--color-gray-500);text-decoration:none}
.breadcrumb__list a:hover{color:var(--color-primary);text-decoration:underline}
.breadcrumb__list [aria-current="page"]{color:var(--color-gray-700);font-weight:500}
@media(max-width:768px){
  .breadcrumb{overflow:hidden;position:relative}
  .breadcrumb .container{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 var(--container-pad);text-align:left}
  .breadcrumb .container::-webkit-scrollbar{display:none}
  .breadcrumb__list{display:inline-flex;justify-content:flex-start}
  .breadcrumb::after{content:"";position:absolute;right:0;top:0;bottom:0;width:2.5rem;background:linear-gradient(to left,var(--color-gray-50) 30%,transparent);z-index:1;pointer-events:none;opacity:0;transition:opacity .2s}
  .breadcrumb--faded::after{opacity:1}
}

/* === BANNER SYSTEM === */
.bh-banner-slot{min-height:0;max-width:var(--container-max);margin:0 auto;padding:var(--space-xl) var(--container-pad) 0}.bh-banner-slot:empty{display:none;padding:0}
.bh-banner{margin:var(--space-md) 0}
.bh-banner--image{text-align:left;line-height:0}
.bh-banner--image img{width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:var(--radius-lg)}
.bh-banner--has-overlay{position:relative;overflow:hidden}
.bh-banner__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:var(--space-2xl) var(--space-3xl);background:linear-gradient(to right,rgba(0,0,0,.65) 0%,rgba(0,0,0,.35) 45%,transparent 75%);z-index:1;pointer-events:none}
.bh-banner__overlay-headline{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;color:#fff;line-height:1.2;margin:0 0 var(--space-md);max-width:50%;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.bh-banner__overlay-cta{pointer-events:auto;font-size:var(--text-base);margin-top:var(--space-sm)}
@media(max-width:768px){
  .bh-banner__overlay{padding:var(--space-md) var(--space-lg)}
  .bh-banner__overlay-headline{font-size:clamp(1.1rem,4vw,1.5rem);max-width:70%;margin-bottom:var(--space-xs)}
  .bh-banner__overlay-cta{font-size:var(--text-sm);margin-top:0}
}
.bh-banner--text{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-xl);text-align:center;flex-wrap:wrap;margin-bottom:var(--space-md)}
.bh-banner-carousel{position:relative;overflow:hidden;border-radius:var(--radius-lg)}
.bh-banner-carousel__track{display:flex;flex-wrap:nowrap;transition:transform .5s var(--ease-out);width:100%}
.bh-banner-carousel,.bh-banner-carousel *{touch-action:pan-y;-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}
.bh-banner-carousel__slide{width:100%;min-width:100%;max-width:100%;flex:0 0 100%}
.bh-banner-carousel__slide .bh-banner{margin:0}
.bh-banner-carousel__slide .bh-banner--image img{border-radius:0;max-height:400px}
.bh-banner-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.85);border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md);color:var(--color-gray-800);transition:background var(--duration),transform var(--duration)}
.bh-banner-carousel__nav:hover{background:var(--color-white);transform:translateY(-50%) scale(1.1)}
.bh-banner-carousel__nav--prev{left:var(--space-sm)}
.bh-banner-carousel__nav--next{right:var(--space-sm)}
.bh-banner-carousel__nav svg{width:20px;height:20px;pointer-events:none}
.bh-banner-carousel__dots{display:flex;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) 0;position:absolute;bottom:var(--space-sm);left:0;right:0;z-index:2}
.bh-banner-carousel__dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);border:none;cursor:pointer;transition:background var(--duration);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.bh-banner-carousel__dot--active{background:var(--color-white)}
@media(max-width:768px){
  .bh-banner-slot{padding:0 var(--container-pad)}
  .bh-banner{margin:0}
  .bh-banner.bh-banner--text{margin-bottom:var(--space-md)}
  .bh-banner--image img{border-radius:var(--radius-lg);max-height:250px}
  .bh-banner-carousel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;padding-bottom:var(--space-xl)}
  .bh-banner-carousel__slide .bh-banner--image img{border-radius:0 0 var(--radius-lg) var(--radius-lg);max-height:250px}
  .bh-banner-carousel__slide .bh-banner--has-overlay{border-radius:0 0 var(--radius-lg) var(--radius-lg)}
  .bh-banner-carousel__nav{display:none}
  .bh-banner-carousel__dots{position:absolute;bottom:0;left:0;right:0;padding:var(--space-xs) 0;background:transparent}
  .bh-banner-carousel__dot{background:var(--color-gray-300);box-shadow:none}
  .bh-banner-carousel__dot--active{background:var(--color-primary)}
}
/* Banner slot inside existing container — no double padding */
.container .bh-banner-slot{max-width:none;padding:var(--space-md) 0 0}
.menu-page>.bh-banner-slot{padding-top:var(--space-sm);padding-bottom:var(--space-xl)}
.menu-page>.bh-banner-slot--deals{padding-top:var(--space-xs);padding-bottom:var(--space-xl)}
/* Deal grid */
.bh-deal-grid{display:grid;grid-template-columns:repeat(var(--deal-cols,3),1fr);gap:var(--space-md)}
.bh-deal-grid .bh-banner{margin:0}
/* Deal card banner — left-aligned text, image fades in on right */
.bh-banner--deal{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--space-sm);padding:var(--space-xl) var(--space-lg);background:var(--deal-bg);color:#fff;border:1px solid #eee;border-radius:var(--radius-lg);text-decoration:none;position:relative;overflow:hidden;z-index:0;transition:transform var(--duration),box-shadow var(--duration)}
.bh-banner--deal:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}
.bh-banner--deal-img{background:none}
.bh-banner--deal-img::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--deal-bg-img) var(--deal-img-pos,100%) center/var(--deal-img-size,70%) auto no-repeat}
.bh-banner--deal-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,var(--deal-bg) 0%,var(--deal-bg) 40%,transparent 70%)}
.bh-deal__badge{display:inline-flex;align-items:center;justify-content:center;background:var(--deal-accent);color:#fff;font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);padding:.35em .75em;border-radius:var(--radius-md);white-space:normal;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.2)}
.bh-deal__body{display:flex;flex-direction:column;align-items:flex-start;gap:.15em;min-width:0}
.bh-deal__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;line-height:1.3}
.bh-deal__desc{font-size:var(--text-sm);opacity:.85;line-height:1.4}
.bh-banner--deal-dark{color:#1a1a1a}
.bh-banner--deal-dark:hover{color:#1a1a1a}
.bh-banner--deal-dark .bh-deal__badge{text-shadow:none}
@media(max-width:768px){
  .bh-deal-grid{grid-template-columns:1fr !important;gap:var(--space-sm)}
  .bh-banner--deal{padding:var(--space-md) var(--space-lg)}
  .bh-banner--deal-img::after{background:linear-gradient(to right,var(--deal-bg) 0%,var(--deal-bg) 35%,rgba(35,61,75,.5) 65%,transparent 85%)}
}

/* === AGE GATE === */
.age-gate{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center}
.age-gate__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px)}
.age-gate__card{position:relative;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-3xl);text-align:center;max-width:440px;width:90%;box-shadow:var(--shadow-xl)}
.age-gate__logo img,.age-gate__logo .custom-logo{max-height:50px;width:auto;max-width:200px;object-fit:contain;margin:0 auto}
.age-gate__brand{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-primary)}
.age-gate__title{font-family:var(--font-display);font-size:var(--text-3xl);margin:var(--space-lg) 0 var(--space-sm)}
.age-gate__text{color:var(--color-gray-600);margin-bottom:var(--space-xl)}
.age-gate__actions{display:flex;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-lg)}
.age-gate__legal{font-size:var(--text-xs);color:var(--color-gray-400)}.age-gate__legal a{color:var(--color-gray-500);text-decoration:underline}

/* === DISPENSARY DETAIL PAGE === */
.dispensary-detail{padding:var(--space-xl) 0 var(--space-section)}

/* Header */
.dispensary-detail__header{display:grid;grid-template-columns:1fr 55%;gap:var(--space-2xl);align-items:start;margin-bottom:var(--space-2xl)}
@media(max-width:900px){.dispensary-detail__header{grid-template-columns:1fr;gap:var(--space-lg)}}
.dispensary-detail__header-text{display:flex;flex-direction:column;gap:var(--space-sm)}
.dispensary-detail__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-gray-900);line-height:1.2}
.dispensary-detail__location{color:var(--color-primary)}
.dispensary-detail__subname{display:block;font-size:var(--text-lg);font-weight:400;color:var(--color-gray-500);margin-top:var(--space-xs)}
.dispensary-detail__badges{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-xs)}
.dispensary-detail__meta{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}
.dispensary-detail__address,.dispensary-detail__phone{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-gray-600);font-style:normal}
.dispensary-detail__phone a{color:var(--color-primary);font-weight:500}
/* Hero "Open Now" indicator */
.dispensary-detail__hero-hours{margin-top:var(--space-xs)}
.dispensary-detail__hero-hours .store-hours-status__indicator{display:inline-flex;align-items:center;gap:.4em;font-size:var(--text-sm);font-weight:600;padding:.25em .7em;border-radius:var(--radius-full)}
.dispensary-detail__hero-hours .store-hours-status__indicator--open{color:#15803d;background:#f0fdf4}
.dispensary-detail__hero-hours .store-hours-status__indicator--closed{color:var(--color-gray-600);background:var(--color-gray-100)}
.dispensary-detail__hero-hours .store-hours-status__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dispensary-detail__hero-hours .store-hours-status__indicator--open .store-hours-status__dot{background:#16a34a;animation:bh-pulse 2s ease-in-out infinite}
.dispensary-detail__hero-hours .store-hours-status__indicator--closed .store-hours-status__dot{background:var(--color-gray-400)}
@keyframes bh-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.dispensary-detail__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}
/* Hero description (pulled up from main content) */
.dispensary-detail__hero-desc{margin-top:var(--space-md);font-size:var(--text-sm);line-height:1.7;color:var(--color-gray-600)}
.dispensary-detail__hero-desc p{margin-bottom:var(--space-sm)}
.dispensary-detail__hero-desc p:last-child{margin-bottom:0}
/* Collapsible description */
.dispensary-detail__hero-desc--clamped{max-height:4.2lh;overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.dispensary-detail__hero-desc--expanded{max-height:none;-webkit-mask-image:none;mask-image:none}
.dispensary-detail__desc-toggle{display:inline-block;margin-top:var(--space-xs);font-size:var(--text-sm);
  font-weight:600;color:var(--color-primary);cursor:pointer;background:none;border:none;padding:0;
  font-family:var(--font-body)}
.dispensary-detail__desc-toggle:hover{color:var(--color-primary-dark);text-decoration:underline}
.dispensary-detail__header-image{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;justify-self:end}
.dispensary-detail__header-image img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.dispensary-detail__header-image{aspect-ratio:16/9;border-radius:var(--radius-lg);justify-self:stretch;width:auto;max-width:100%;max-height:none;order:-1}}

/* Services Ribbon */
.store-services{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-2xl)}
.store-services__list{display:flex;flex-wrap:wrap;gap:var(--space-lg) var(--space-xl);list-style:none;justify-content:center}
.store-services__item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-gray-700);white-space:nowrap}
.store-services__item svg{color:var(--color-primary);flex-shrink:0}
.store-services__item--note svg{color:var(--color-accent)}
@media(max-width:600px){
  .store-services{padding:var(--space-md)}
  .store-services__list{gap:var(--space-md);justify-content:flex-start}
  .store-services__item{font-size:var(--text-xs)}
}

/* Main Content Grid — 2 columns */
.dispensary-detail__main{display:grid;grid-template-columns:1fr 360px;gap:var(--space-2xl);align-items:start}
@media(max-width:900px){
  .dispensary-detail__main{grid-template-columns:1fr;gap:var(--space-xl)}
  .dispensary-detail__sidebar{order:-1}
}

/* Primary Column (left) */
.dispensary-detail__primary{display:flex;flex-direction:column;gap:var(--space-2xl)}
.dispensary-detail__section{padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-gray-200)}
.dispensary-detail__section:last-child{border-bottom:none;padding-bottom:0}
.dispensary-detail__section-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-md)}
.dispensary-detail__prose{font-size:var(--text-base);line-height:1.7;color:var(--color-gray-700)}
.dispensary-detail__prose p{margin-bottom:var(--space-md)}

/* Details list — checkmark style */
.dispensary-detail__details-list ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-lg)}
@media(max-width:600px){.dispensary-detail__details-list ul{grid-template-columns:1fr}}
.dispensary-detail__details-list li{position:relative;padding-left:1.6em;font-size:var(--text-sm);color:var(--color-gray-700);line-height:1.6}
.dispensary-detail__details-list li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--color-primary);font-weight:700}

/* Areas served — pill tags */
.dispensary-detail__areas ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.dispensary-detail__areas li{background:var(--color-primary-bg);color:var(--color-primary);padding:.3em .8em;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}

/* Attractions — structured HTML content */
.dispensary-detail__attractions{font-size:var(--text-sm);line-height:1.7;color:var(--color-gray-600)}
.dispensary-detail__attractions b,.dispensary-detail__attractions strong{display:block;font-size:var(--text-base);color:var(--color-gray-900);margin:var(--space-lg) 0 var(--space-sm);font-weight:600}
.dispensary-detail__attractions b:first-child,.dispensary-detail__attractions strong:first-child{margin-top:0}
.dispensary-detail__attractions ul{list-style:none;margin:0 0 var(--space-md);padding:0}
.dispensary-detail__attractions li{position:relative;padding:var(--space-sm) 0;padding-left:1.2em;border-bottom:1px solid var(--color-gray-100)}
.dispensary-detail__attractions li:last-child{border-bottom:none}
.dispensary-detail__attractions li::before{content:'\2022';position:absolute;left:0;color:var(--color-secondary)}

/* Sidebar (right column) */
.dispensary-detail__sidebar{display:flex;flex-direction:column;gap:var(--space-lg);position:sticky;top:calc(var(--space-xl) + 60px)}
@media(max-width:900px){.dispensary-detail__sidebar{position:static}}
.dispensary-detail__sidebar-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}
.dispensary-detail__sidebar-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}

/* Map */
.dispensary-detail__map{height:220px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-md);background:var(--color-gray-100);z-index:0}
.dispensary-detail__header-image:has(.dispensary-detail__map--header){position:relative;justify-self:stretch}
.dispensary-detail__map.dispensary-detail__map--header{position:absolute;inset:0;height:auto;min-height:0;margin-bottom:0}
.dispensary-detail__sidebar-address{font-size:var(--text-sm);color:var(--color-gray-600);margin-bottom:var(--space-sm)}
.dispensary-detail__directions-btn{width:100%;justify-content:center}

/* Parking */
.dispensary-detail__parking{font-size:var(--text-sm);color:var(--color-gray-600);line-height:1.6}
.dispensary-detail__parking strong{color:var(--color-gray-800)}

/* Contact card */
.dispensary-detail__sidebar-card--contact{text-align:center}
.dispensary-detail__contact-phone{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:var(--text-lg);font-weight:600;color:var(--color-primary);margin-bottom:var(--space-md)}
.dispensary-detail__consult-btn{width:100%;justify-content:center}

/* === 404 === */
.error-404{padding:var(--space-4xl) 0;text-align:center}
.error-404 h1{font-family:var(--font-display);font-size:var(--text-5xl);margin-bottom:var(--space-md)}
.error-404 p{color:var(--color-gray-500);font-size:var(--text-lg);margin-bottom:var(--space-xl)}
.error-404__actions{display:flex;gap:var(--space-md);justify-content:center}

/* === FOOTER === */
.site-footer{background:var(--color-primary-dark);color:var(--color-gray-300);padding:var(--space-3xl) 0 var(--space-xl);margin-top:auto}
.site-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-2xl);margin-bottom:var(--space-2xl)}
@media(max-width:768px){.site-footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-xl)}}
@media(max-width:480px){.site-footer__grid{grid-template-columns:1fr}}
.site-footer__logo-img{max-width:200px;height:auto;display:block}
.site-footer__brand{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-white);font-weight:700}
.site-footer__brand-sep{color:var(--color-secondary)}
.site-footer__about{font-size:var(--text-sm);margin-top:var(--space-md);line-height:1.7;color:var(--color-gray-400)}
.site-footer__hello-club{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-lg)}
.site-footer__hello-club-img{width:80px;height:auto;flex-shrink:0}
.site-footer__hello-club-text{font-size:var(--text-sm);color:var(--color-gray-300);font-weight:500;margin:0}
.site-footer__app-links{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.site-footer__app-badge img{height:40px;width:auto}
.site-footer__heading{font-size:var(--text-sm);font-weight:600;color:var(--color-white);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md)}
.site-footer__links{list-style:none}.site-footer__links li{margin-bottom:var(--space-sm)}
.site-footer__links a{color:var(--color-gray-200);font-size:var(--text-sm);transition:color var(--duration)}.site-footer__links a:hover{color:var(--color-white)}
.site-footer__social{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}
.site-footer__social a{color:var(--color-gray-400);transition:color var(--duration)}.site-footer__social a:hover{color:var(--color-white)}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,.1)}
.site-footer__copyright{font-size:var(--text-xs);color:var(--color-gray-200)}
.site-footer__legal{display:flex;gap:var(--space-md)}.site-footer__legal a{font-size:var(--text-xs);color:var(--color-gray-200)}.site-footer__legal a:hover{color:var(--color-gray-300)}
/* === REVIEW PAGES === */
.bh-review-hero{background:#F6C766;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;position:relative;overflow:hidden;padding:var(--space-3xl) 0 var(--space-2xl)}
.bh-review-hero .container{display:flex;flex-direction:column;align-items:center;width:100%}
.bh-review-hero__title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;color:var(--color-primary-dark);text-align:center;margin:0 0 var(--space-lg);position:relative;z-index:1}
.bh-review-hero__widget{width:100%;max-width:1100px;position:relative;z-index:1}
/* Trustindex widget overrides for review pages */
.bh-review-hero .ti-review-content{-webkit-box-orient:vertical;line-height:125% !important;height:300px !important;font-size:40px !important;padding:0 40px !important;display:flex !important;align-items:center;justify-content:center}
.bh-review-hero .ti-widget-container .ti-name{font-weight:600 !important;font-size:40px !important}
.bh-review-hero .ti-widget-container .ti-date{font-size:20px !important}
.bh-review-hero .ti-review-item>.ti-inner{padding:40px !important;font-family:'Josefin Sans' !important}
.bh-review-hero .ti-verified-review{width:40px !important;height:40px !important}
.bh-review-hero .ti-footer{display:none !important}
.bh-review-hero .ti-widget-container{font-family:'Josefin Sans' !important}
.bh-review-hero .ti-widget[data-layout-id='37'][data-set-id='ligth-border'] .ti-stars .ti-star{width:40px !important;height:40px !important}
.bh-review-hero .ti-review-item .ti-stars{height:40px !important;line-height:40px !important}
.bh-review-hero .ti-stars .ti-star{width:40px !important;height:40px !important}
/* Hide header/footer/accessibility widget on review pages (in-store screen mode) */
.single-bh_review .site-header{display:none}
.single-bh_review .site-footer{display:none}
.single-bh_review .acsb-trigger{display:none}
.single-bh_review iframe{display:none !important}

/* Ohio footer — 3-column layout */
.site-footer__grid--ohio{grid-template-columns:2fr 1fr 1fr}
@media(max-width:768px){.site-footer__grid--ohio{grid-template-columns:1fr}}
.site-footer__dcc{margin-top:var(--space-lg)}
.site-footer__dcc-img{max-width:120px;height:auto;opacity:.8}

/* === POST CARD (archive) === */
.post-card{padding:var(--space-xl) 0;border-bottom:1px solid var(--color-gray-200)}
.post-card h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-sm)}
.post-card p{color:var(--color-gray-600);font-size:var(--text-sm)}

/* === STORE HOURS STATUS (open/closed indicator) === */
.store-hours-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);font-size:var(--text-sm)}
.store-hours-status__indicator{display:inline-flex;align-items:center;gap:var(--space-xs);font-weight:600;padding:.3em .8em;border-radius:var(--radius-full)}
.store-hours-status__indicator--open{background:#ecfdf5;color:#065f46}
.store-hours-status__indicator--closed{background:var(--color-gray-100);color:var(--color-gray-600)}
.store-hours-status__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.store-hours-status__indicator--open .store-hours-status__dot{background:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.3);animation:bh-pulse 2s infinite}
.store-hours-status__indicator--closed .store-hours-status__dot{background:var(--color-gray-400)}
@keyframes bh-pulse{0%,100%{box-shadow:0 0 0 2px rgba(16,185,129,.3)}50%{box-shadow:0 0 0 5px rgba(16,185,129,.15)}}
.store-hours-status__note{font-size:var(--text-xs);color:var(--color-gray-500);font-style:italic}
.store-hours-status__overnight{font-size:var(--text-sm);color:#059669;font-weight:600;margin:var(--space-xs) 0 0}

/* Override row styling */
.store-hours__row--override{background:#fffbeb}
.store-hours__override-note{display:block;font-size:var(--text-xs);color:var(--color-secondary-dark);font-style:italic;margin-top:2px}

/* === LEAFLET MAP CUSTOMIZATION === */
.bh-map-marker{background:none!important;border:none!important}
.leaflet-popup-content-wrapper{border-radius:var(--radius-md)!important;font-family:var(--font-body);font-size:var(--text-sm)}
.leaflet-popup-content{margin:12px 16px!important;line-height:1.5}
.leaflet-popup-content a{color:var(--color-primary);font-weight:600}
.leaflet-popup-content strong{color:var(--color-gray-900)}

/* === STORE CARD IMAGE === */
.store-card__image{aspect-ratio:3/2;overflow:hidden}
.store-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow)}
.store-card:hover .store-card__image img{transform:scale(1.03)}

/* === STORE MENU PAGE === */
.menu-page{padding:var(--space-md) 0 var(--space-lg)}
.menu-page__header{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-sm)}
.menu-page__title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-gray-900);margin:0}
@media(min-width:768px){.menu-page__title{font-size:var(--text-3xl)}}
.menu-page__description{margin-bottom:var(--space-md);max-width:72ch}
.menu-page__embed{margin-bottom:var(--space-lg);min-height:600px;width:100%}
.menu-page__embed .app,#app.app{min-height:600px;width:100%}
.menu-page__iframe{width:100%;min-height:700px;border:none;background:var(--color-gray-50)}
@media(min-width:768px){.menu-page__iframe{min-height:900px}}
.menu-page__embed-html{min-height:400px}
.menu-page__no-menu{text-align:center;padding:var(--space-3xl) var(--space-xl);background:var(--color-gray-50);border-radius:var(--radius-lg);border:1px dashed var(--color-gray-300)}
.menu-page__no-menu p{color:var(--color-gray-500);margin-bottom:var(--space-md);font-size:var(--text-lg)}
.menu-page__other-menus{border-top:1px solid var(--color-gray-200);padding-top:var(--space-xl)}
.menu-page__other-title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-md)}
.menu-page__other-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.menu-page__other-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);color:var(--color-gray-700);transition:all var(--duration)}
.menu-page__other-link:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}

/* === MENU PAGE — Responsive SEO Title === */
.menu-page__title-location::after{content:' '/* thin space keeps spans on one line with natural word gap */}
.menu-page__title-subtitle{/* inherits from .menu-page__title on desktop */}
@media(max-width:768px){
  .menu-page__title{display:flex;flex-direction:column;gap:.1em}
  .menu-page__title-location{display:block;font-size:var(--text-2xl)}
  .menu-page__title-location::after{content:none}
  .menu-page__title-subtitle{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-gray-500);font-family:var(--font-body);letter-spacing:0}
}

/* === MENU PAGE — Info Icon Button === */
.menu-page__info-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-gray-300);border-radius:50%;background:var(--color-white);color:var(--color-primary);cursor:pointer;transition:all var(--duration);flex-shrink:0;padding:0}
.menu-page__info-btn:hover{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary-dark)}
.menu-page__info-btn svg{pointer-events:none}

/* Pickup / Delivery toggle */
.menu-page__fulfillment-toggle,.menu-page__menu-type-toggle{display:inline-flex;background:var(--color-gray-100,#f1f5f9);border-radius:var(--radius-md);padding:3px;gap:2px;margin-bottom:var(--space-md)}
.menu-page__toggles{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}
.fulfillment-tab{display:inline-flex;align-items:center;gap:6px;padding:.5em 1.2em;border-radius:calc(var(--radius-md) - 2px);font-weight:600;font-size:var(--text-sm);text-decoration:none;color:var(--color-gray-500);transition:all var(--duration)}
.fulfillment-tab:hover{color:var(--color-gray-700);background:rgba(255,255,255,.5)}
.fulfillment-tab--active{background:var(--color-white);color:var(--color-primary);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.fulfillment-tab--active:hover{color:var(--color-primary)}
.fulfillment-tab svg{flex-shrink:0}

/* === STORE INFO MODAL === */
.store-info-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}
.store-info-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.store-info-modal__card{position:relative;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalSlideUp .3s var(--ease-out)}
@keyframes modalSlideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.store-info-modal__close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;font-size:1.5rem;color:var(--color-gray-400);cursor:pointer;padding:var(--space-xs);line-height:1;transition:color var(--duration)}
.store-info-modal__close:hover{color:var(--color-gray-800)}
.store-info-modal__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-gray-900);margin:0 0 var(--space-md);padding-right:var(--space-2xl)}
.store-info-modal__address,.store-info-modal__phone{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-gray-600);margin-bottom:var(--space-sm)}
.store-info-modal__address svg,.store-info-modal__phone svg{flex-shrink:0;margin-top:2px}
.store-info-modal__phone a{color:var(--color-primary);font-weight:500}
.store-info-modal__hours{margin:var(--space-lg) 0;padding-top:var(--space-md);border-top:1px solid var(--color-gray-200)}
.store-info-modal__hours-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-sm)}
.store-info-modal__view-more{display:block;width:100%;text-align:center;margin-top:var(--space-lg)}
/* Modal — mobile bottom sheet */
@media(max-width:480px){
  .store-info-modal{align-items:flex-end;padding:0}
  .store-info-modal__card{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:85vh;max-width:none;padding:var(--space-xl) var(--space-lg)}
}

/* === DEALS MODAL === */
.deals-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}
.deals-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.deals-modal__card{position:relative;background:var(--color-white);border-radius:var(--radius-xl);max-width:960px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl);animation:modalSlideUp .3s var(--ease-out)}
.deals-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl) var(--space-sm);flex-shrink:0;background:var(--color-white);z-index:1;border-radius:var(--radius-xl) var(--radius-xl) 0 0}
.deals-modal__header h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-gray-900);margin:0}
.deals-modal__close{background:none;border:none;font-size:1.75rem;color:var(--color-gray-400);cursor:pointer;padding:var(--space-xs);line-height:1;transition:color var(--duration)}
.deals-modal__close:hover{color:var(--color-gray-800)}
.deals-modal__carousel{padding:0 var(--space-xl);flex-shrink:0;margin-bottom:var(--space-lg)}
.deals-modal__carousel .bh-banner-carousel{border-radius:var(--radius-lg);overflow:hidden}
.deals-modal__filters{padding:var(--space-sm) var(--space-xl);flex-shrink:0}
.deals-modal__filters:empty{display:none}
.deals-modal__scroll{flex:1;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}
.deals-modal__deals{padding:0 var(--space-xl) var(--space-xl)}
.deals-modal__deals:empty{display:none}
.deals-modal__deals .bh-deal-grid{grid-template-columns:repeat(2,1fr)}
.deals-modal__jane-specials:empty{display:none}
.deals-modal__jane-specials{padding-bottom:var(--space-lg)}
.deals-modal__jane-specials .bh-jane-specials__grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr) !important}
/* Deals button in menu header */
.menu-page__deals-btn{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);padding:.45em 1em}
.menu-page__deals-btn svg{flex-shrink:0}
/* Category filter pills (shared between inline & modal) */
.bh-deal-filters{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 0;margin-bottom:var(--space-xl);justify-content:center}
.bh-deal-filters__pill{border-radius:999px;padding:6px 16px;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font-body);transition:background var(--duration),color var(--duration)}
.bh-deal-filters__pill:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}
.bh-deal-filters__pill--active{background:var(--color-primary);color:#fff}
.bh-deal-filters__pill--active:hover{background:var(--color-primary);color:#fff}
/* Deals modal — mobile bottom sheet */
@media(max-width:600px){
  .deals-modal{align-items:flex-end;padding:10px 0 0}
  .deals-modal__card{border-radius:var(--radius-xl) var(--radius-xl) 0 0;height:calc(100vh - 10px);max-height:calc(100vh - 10px);max-width:none}
  .deals-modal__header{padding:var(--space-md) var(--space-lg) var(--space-xs);border-radius:var(--radius-xl) var(--radius-xl) 0 0}
  .deals-modal__carousel{padding:0 var(--space-lg)}
  .deals-modal__filters{padding:var(--space-xs) var(--space-lg);overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .deals-modal__filters::-webkit-scrollbar{display:none}
  .deals-modal__deals{padding:0 var(--space-lg) var(--space-lg)}
  .deals-modal__deals .bh-deal-grid{grid-template-columns:1fr}
  .deals-modal__jane-specials .bh-jane-specials__grid{grid-template-columns:1fr !important}
  .bh-deal-filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:12px 0 0;justify-content:flex-start}
  .bh-deal-filters::-webkit-scrollbar{display:none}
  .bh-deal-filters__pill{white-space:nowrap;flex-shrink:0}
  .bh-deal-filters__pill:first-of-type{margin-left:var(--container-pad)}
  .bh-deal-filters__pill:last-of-type{margin-right:var(--container-pad)}
}

/* ═══ MENU PRO MODAL ═══ */
.menupro-modal{display:none;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center;padding:var(--space-lg)}
.menupro-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.menupro-modal__card{position:relative;display:flex;flex-direction:column;width:100%;max-width:800px;height:90vh;background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;z-index:1}
.menupro-modal__close{position:absolute;top:12px;right:12px;z-index:2;background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#fff;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 4px rgba(0,0,0,.5);filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.menupro-modal__close:hover{color:#fff;transform:scale(1.15)}
.menupro-modal__body{flex:1;min-height:0}
.menupro-modal__iframe{width:100%;height:100%;border:none}
@media(max-width:600px){
  .menupro-modal{padding:0}
  .menupro-modal__card{max-width:none;height:100vh;border-radius:0}
}

/* === MOBILE INPUT ZOOM PREVENTION === */
@media(max-width:768px){
  input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="number"],input[type="url"],input[type="password"],textarea,select{font-size:16px!important}
  .store-selector-panel__search input{font-size:16px!important}
  .store-locator__input{font-size:16px!important}
}

/* === AGE GATE MOBILE FIX === */
.age-gate__actions{flex-wrap:nowrap}
.age-gate__actions .btn{white-space:nowrap;flex:1;justify-content:center;min-width:0}
@media(max-width:480px){
  .age-gate__actions{gap:var(--space-sm)}
  .age-gate__actions .btn{padding:.7em 1.2em}
}

/* === IN-STORE SCREEN SLIDER === */
body.bh-screen{margin:0;padding:0;overflow:hidden;background:#000;cursor:none}
body.bh-screen .site-header,body.bh-screen .site-footer,body.bh-screen .breadcrumb,
body.bh-screen .age-gate,body.bh-screen #wpadminbar{display:none!important}
.bh-screen-slider{position:fixed;inset:0;width:100vw;height:100vh;z-index:99999}
.bh-screen-slider__slide{position:absolute;inset:0;background:#000;
  opacity:0;transition:opacity 1s ease-in-out;display:flex;align-items:center;justify-content:center}
.bh-screen-slider__slide--active{opacity:1}
.bh-screen-slider__img{width:100%;height:100%;object-fit:contain}
.bh-screen-slider__empty{position:absolute;inset:0;background:#000}

/* === REWARDS TIERS (Hello Club) === */
.rewards-tiers{text-align:center;max-width:600px;margin:0 auto}
.rewards-tiers__earn{font-size:var(--text-lg);color:rgba(255,255,255,.7);margin-bottom:var(--space-lg)}
.hc-section--light .rewards-tiers__earn{color:var(--color-gray-500)}
.rewards-tiers__select-wrap{max-width:360px;margin:0 auto var(--space-xl)}
.rewards-tiers__select{width:100%;padding:.7em 2.5em .7em 1.2em;font-size:var(--text-lg);font-family:var(--font-body);font-weight:500;border:2px solid var(--color-primary);border-radius:var(--radius-full);background:#fff;color:var(--color-primary);appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23233D4B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center}
.rewards-tiers__select:focus{outline:2px solid var(--color-secondary);outline-offset:2px}
.rewards-tiers__note{font-size:var(--text-base);font-style:italic;margin-bottom:var(--space-md);color:rgba(255,255,255,.8);background:none}
.hc-section--light .rewards-tiers__note{color:var(--color-gray-600)}
.rewards-tiers__table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.06);border-radius:var(--radius-lg);overflow:hidden;margin:0 auto}
.rewards-tiers__table thead th{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);padding:var(--space-md) var(--space-lg);background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.1);text-align:center}
.hc-section--light .rewards-tiers__table thead th{color:var(--color-gray-500);background:var(--color-gray-100);border-bottom-color:var(--color-gray-200)}
.rewards-tiers__table td{padding:var(--space-md) var(--space-lg);font-size:var(--text-xl);font-weight:500;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.06);text-align:center}
.hc-section--light .rewards-tiers__table td{color:var(--color-gray-600);border-bottom-color:rgba(0,0,0,.05)}
.rewards-tiers__table tbody tr:last-child td{border-bottom:none}
.rewards-tiers__expiry{font-size:var(--text-sm);color:rgba(255,255,255,.45);margin-top:var(--space-lg)}
.hc-section--light .rewards-tiers__expiry{color:var(--color-gray-400)}

/* === DELIVERY VIEW (Store Locator) === */
.delivery-view__map-container{height:450px;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-xl);border:1px solid var(--color-gray-200);z-index:0}
.delivery-view__zip-check{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-xl);text-align:center}
.delivery-view__zip-label{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;display:block;margin-bottom:var(--space-sm)}
.delivery-view__zip-field{display:flex;gap:var(--space-sm);justify-content:center;max-width:320px;margin:0 auto}
.delivery-view__zip-input{flex:1;padding:.5em .75em;border:2px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--text-base);text-align:center;letter-spacing:.1em}
.delivery-view__zip-input:focus{border-color:var(--color-primary);outline:none}
.delivery-view__zip-result{margin-top:var(--space-sm);font-size:var(--text-sm)}
/* Delivery zone cards */
.delivery-view__zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-lg)}
.delivery-zone-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--duration),transform var(--duration)}
.delivery-zone-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.delivery-zone-card__body{padding:var(--space-lg)}
.delivery-zone-card__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);flex-wrap:wrap}
.delivery-zone-card__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}
.delivery-zone-card__title a{color:var(--color-gray-900);text-decoration:none}
.delivery-zone-card__title a:hover{color:var(--color-primary)}
.delivery-zone-card__subname{font-size:var(--text-sm);color:var(--color-gray-500)}
.delivery-zone-card__address{font-size:var(--text-sm);color:var(--color-gray-600);margin:var(--space-xs) 0}
.delivery-zone-card__coverage{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-gray-500);margin:var(--space-xs) 0 var(--space-sm)}
.delivery-zone-card__zip-check{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}
.delivery-zone-card__zip-input{width:120px;padding:.35em .5em;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:center}
.delivery-zone-card__zip-input:focus{border-color:var(--color-primary);outline:none}
.delivery-zone-card__zip-result{font-size:var(--text-sm)}
.delivery-zone-card__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}
/* Zip result states */
.zip-result--yes{color:#15803d;font-weight:600}
.zip-result--no{color:#b91c1c}
.zip-result--error{color:var(--color-gray-500);font-style:italic}
.zip-result__zones{list-style:none;margin:var(--space-sm) 0 0;padding:0}
.zip-result__zones li{margin-bottom:var(--space-xs)}
.zip-result__zones a{font-weight:600;color:var(--color-primary)}
/* Badge variants */
.badge--delivery-zone{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;display:inline-flex;align-items:center;gap:4px}
.badge--delivery-match{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}
/* Delivery callout */
.delivery-callout{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:1px solid #bae6fd;border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg)}
.delivery-callout__text{display:flex;align-items:center;gap:var(--space-sm);font-weight:600;color:#0c4a6e;margin:0}
.delivery-callout__text svg{flex-shrink:0;color:#0369a1}
/* Dispensary detail: delivery-only tweaks */
.dispensary-detail__zip-checker{margin-top:var(--space-md);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-md)}
.dispensary-detail__zip-label{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-xs);display:block}
.dispensary-detail__zip-field{display:flex;gap:var(--space-sm)}
.dispensary-detail__zip-input{flex:1;padding:.4em .6em;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--text-sm)}
.dispensary-detail__zip-input:focus{border-color:var(--color-primary);outline:none}
.dispensary-detail__zip-result{margin-top:var(--space-xs);font-size:var(--text-sm)}
.dispensary-detail__delivery-info{font-size:var(--text-base);line-height:1.7;color:var(--color-gray-700)}
/* ─── Zip Result Styles ──────────────────────────────────────── */
.zip-result--yes{color:var(--color-success,#15803d);font-size:var(--text-sm)}
.zip-result--no{color:var(--color-accent,#d4573b);font-size:var(--text-sm)}
.zip-result--error{color:var(--color-accent,#d4573b);font-size:var(--text-sm)}
.zip-result__zones{display:flex;flex-direction:column;gap:var(--space-sm,.5rem);margin-top:var(--space-sm,.5rem)}
.zip-result__zone-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm,.5rem);padding:var(--space-sm,.5rem) var(--space-md,.75rem);background:var(--color-white,#fff);border:1px solid var(--color-gray-200,#e5e7eb);border-radius:var(--radius-md,8px)}
.zip-result__zone-name{font-weight:600;font-size:var(--text-sm);color:var(--color-primary)}
.zip-result__zone-actions{display:flex;gap:var(--space-xs,.25rem);flex-shrink:0}
@media(max-width:768px){
  .delivery-view__zones{grid-template-columns:1fr}
  .delivery-view__map-container{height:300px}
  .delivery-callout{flex-direction:column;text-align:center}
  .delivery-callout__text{justify-content:center}
  .delivery-view__zip-field{max-width:none}
  .delivery-view__zip-input{font-size:var(--text-lg);padding:.6em .75em}
  .delivery-zone-card__zip-check{flex-wrap:wrap}
  .delivery-zone-card__zip-input{width:100%;font-size:var(--text-base);padding:.5em .6em}
  .delivery-zone-card__zip-result{width:100%}
  .dispensary-detail__zip-field{flex-direction:column}
  .dispensary-detail__zip-input{font-size:var(--text-base);padding:.5em .6em}
  .zip-result__zone-item{flex-direction:column;align-items:stretch;text-align:center}
  .zip-result__zone-actions{justify-content:center}
}

/* === PRODUCT SATISFACTION PROMISE === */

/* ── Selector Section ── */
.psp__selector{padding:var(--space-xl) 0 var(--space-lg);background:var(--color-white)}
.psp__selector-card{max-width:900px;margin:0 auto;
  background:var(--color-gray-50);border:1px solid var(--color-gray-200);
  border-radius:var(--radius-xl);padding:var(--space-lg) var(--space-xl);
  display:flex;align-items:center;gap:var(--space-lg);
  box-shadow:0 1px 3px rgba(0,0,0,.04)}
.psp__selector-label{font-family:var(--font-display);font-size:var(--text-base);
  font-weight:600;color:var(--color-gray-900);flex-shrink:0}
.psp__selector-field{flex:1;min-width:0}
.psp__dropdown{width:100%;padding:.7em var(--space-2xl) .7em var(--space-lg);
  font-family:var(--font-body);font-size:var(--text-base);font-weight:500;
  color:var(--color-gray-800);background:var(--color-white);
  border:2px solid var(--color-gray-300);border-radius:var(--radius-full);
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23233D4B' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right var(--space-md) center;
  transition:border-color var(--duration),box-shadow var(--duration),background-color var(--duration)}
.psp__dropdown:hover{border-color:var(--color-primary);background-color:#fafcfd}
.psp__dropdown:focus{outline:none;border-color:var(--color-primary);
  box-shadow:0 0 0 4px var(--color-primary-bg)}

/* ── State Banner ── */
.psp__banner{background:var(--color-primary);color:#fff;border-radius:var(--radius-xl);
  padding:var(--space-xl) var(--space-2xl);margin-bottom:var(--space-2xl);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:var(--space-md)}
.psp__banner-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}
.psp__banner-sub{font-size:var(--text-sm);color:rgba(255,255,255,.65);margin-top:2px}
.psp__banner-badges{display:flex;gap:var(--space-sm);flex-wrap:wrap;flex-shrink:0}
.psp__badge{display:inline-flex;align-items:center;gap:var(--space-xs);
  padding:.35em .9em;border-radius:var(--radius-full);font-size:var(--text-xs);
  font-weight:600;letter-spacing:.02em;background:rgba(255,255,255,.15);color:#fff;
  border:1px solid rgba(255,255,255,.2);white-space:nowrap}
.psp__badge--time{background:rgba(246,199,102,.2);color:var(--color-secondary);
  border-color:rgba(246,199,102,.35)}
.psp__badge--rec{background:rgba(246,199,102,.2);color:var(--color-secondary);
  border-color:rgba(246,199,102,.35)}

/* ── Policy Section ── */
.psp__policy{padding:var(--space-lg) 0 var(--space-section);background:var(--color-white)}
.psp__policy .container{max-width:900px}

/* ── Card Grid ── */
.psp__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}

/* ── Policy Cards ── */
.psp__card{background:var(--color-white);border:1px solid var(--color-gray-200);
  border-radius:var(--radius-lg);overflow:hidden;
  transition:box-shadow var(--duration),transform var(--duration)}
.psp__card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.psp__card--full{grid-column:1 / -1}
.psp__card--muted{background:var(--color-gray-50);border-color:var(--color-gray-200)}
.psp__card--warn{background:#fffbeb;border-color:#fde68a}
.psp__card--highlight{background:#ecfdf5;border-color:#a7f3d0}

/* Card Header */
.psp__card-header{display:flex;align-items:center;gap:var(--space-sm);
  padding:var(--space-lg) var(--space-xl) 0}
.psp__card-icon{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center}
.psp__card-icon--primary{background:var(--color-primary-bg);color:var(--color-primary)}
.psp__card-icon--green{background:#d1fae5;color:#059669}
.psp__card-icon--red{background:#fee2e2;color:#dc2626}
.psp__card-icon--amber{background:#fef3c7;color:#d97706}
.psp__card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;
  color:var(--color-gray-900)}

/* Card Body */
.psp__card-body{padding:var(--space-md) var(--space-xl) var(--space-xl)}
.psp__card-body p{font-size:var(--text-sm);line-height:1.7;color:var(--color-gray-700);
  margin-bottom:var(--space-sm)}
.psp__card-body p:last-child{margin-bottom:0}
.psp__card-aside{font-size:var(--text-xs)!important;color:var(--color-gray-500)!important;
  font-style:italic;margin-top:var(--space-xs)!important}

/* Card Lists */
.psp__list{margin:0;padding-left:var(--space-lg);font-size:var(--text-sm);
  color:var(--color-gray-700);line-height:1.8}
.psp__list li{margin-bottom:var(--space-xs);position:relative}
.psp__list li:last-child{margin-bottom:0}
.psp__list li::marker{color:var(--color-primary)}
.psp__list--numbered{list-style:decimal}
.psp__list--numbered li::marker{color:var(--color-gray-500);font-weight:600}

/* ── CTA ── */
.psp__cta{padding:var(--space-xl) 0 var(--space-section)}
.psp__cta-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}

/* ── Responsive ── */
@media(max-width:768px){
  .psp__grid{grid-template-columns:1fr}
  .psp__card--full{grid-column:auto}
  .psp__banner{flex-direction:column;align-items:flex-start;
    padding:var(--space-lg) var(--space-xl)}
  .psp__banner-badges{margin-top:var(--space-xs)}
  .psp__selector-card{flex-direction:column;text-align:center;padding:var(--space-lg)}
  .psp__cta-actions{flex-direction:column;align-items:center}
  .psp__card-header{padding:var(--space-md) var(--space-lg) 0}
  .psp__card-body{padding:var(--space-sm) var(--space-lg) var(--space-lg)}
}

/* ═══════════════════════════════════════════════════════════════
   JANE SPECIALS SHORTCODE — [bh_jane_specials]
   ═══════════════════════════════════════════════════════════════ */
.bh-jane-specials{max-width:none;margin:0 auto;padding:var(--space-lg) 0}
.bh-jane-specials__header{text-align:center;padding:var(--space-lg) 0 var(--space-sm);border-top:1px solid var(--color-gray-200);margin-top:var(--space-md)}
.bh-jane-specials__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-dark);margin:0}
.bh-jane-specials__loading{text-align:center;padding:var(--space-xl) 0;color:var(--color-gray-500)}
.bh-jane-specials__msg{text-align:center;padding:var(--space-lg) 0;color:var(--color-gray-500);font-size:var(--text-base)}
.bh-jane-specials__grid{display:grid;grid-template-columns:repeat(var(--js-cols,3),1fr);gap:var(--space-lg)}
.bh-jane-special{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;transition:transform var(--duration),box-shadow var(--duration)}
.bh-jane-special:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:inherit}
.bh-jane-special__img-wrap{position:relative;width:100%;padding-top:50%;background:var(--color-gray-100);overflow:hidden}
.bh-jane-special__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.bh-jane-special:hover .bh-jane-special__img{transform:scale(1.03)}
.bh-jane-special__body{padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);flex:1}
.bh-jane-special__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.3;margin:0;color:var(--color-dark)}
.bh-jane-special__desc{display:none}
.bh-jane-specials__footer{text-align:center;padding:var(--space-xl) 0 0}
@media(max-width:768px){
  .bh-jane-specials__grid{grid-template-columns:1fr !important;gap:var(--space-md)}
  .bh-jane-special__body{padding:var(--space-sm) var(--space-md)}
}
