/*
Theme Name: Firestorm Cannabis
Theme URI: https://firestormcultivation.com
Author: Firestorm Cultivation, LLC
Description: Custom theme for Firestorm Cannabis (Bangor + Orono, Maine). Black, fire-and-smoke imagery with a gold-to-orange gradient, based on the Firestorm website mockup. Includes Dutchie menu embed support.
Version: 2.97.29
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: firestorm
*/

:root{
	--gold:#e8c45d;--orange:#fba820;
	--grad:linear-gradient(90deg,#e8c45d 0%,#fba820 100%);
	--on-grad:#14110f;           /* change to #fff to match the mockup exactly (lower contrast) */
	--red:#cc3820;
	--ink:#0a0908;
	--paper:#fff;
	--line:#14110f;
	--gray:#d9d9d9;
	--maxw:1086px;
	--font-head:Poppins,Helvetica,Arial,sans-serif;
	--font-body:Inter,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.5}
a{color:inherit;text-decoration:none}
a:hover{opacity:.82}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,.perk b,.perk span,.cat span,.card b,.fs-footer .loc b,.fs-footer .hrs b{font-family:var(--font-head)}
.fs-footer .hrs .hrs-time{display:block}
h1,h2,h3{margin:0;line-height:1.1;font-weight:700}
.wrap{max-width:calc(var(--maxw) + 64px);margin:0 auto;padding:0 32px}
.skip-link{position:absolute;left:-999px}
.skip-link:focus{left:8px;top:8px;background:#fff;color:#000;padding:10px;z-index:100}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#000;font-weight:600;padding:12px 22px;min-height:44px;border-radius:6px;border:1px solid #fff;font-size:18px;font-family:inherit;cursor:pointer}
.btn-dark{background:#000;color:#fff;border-color:#000}

/* Top bar */
.fs-order{background:var(--grad);color:var(--on-grad);text-align:center;font-weight:600;font-size:22px;padding:6px 16px;line-height:1.4}
.fs-order a:hover{opacity:1;text-decoration:underline}

/* Header */
.fs-header{background:#000;color:#fff}
.fs-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.fs-logo img{width:230px;height:auto}
.fs-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:34px;flex-wrap:wrap;font-weight:500;font-size:17px}
.fs-nav li{position:relative}
.fs-nav a{display:inline-block;padding:10px 0;min-height:44px}
.fs-nav li.menu-item-has-children>a::after{content:"";display:inline-block;margin-left:9px;border:4px solid transparent;border-top:5px solid currentColor;border-bottom:0;vertical-align:middle}
.fs-nav ul ul{display:none;position:absolute;left:-14px;top:100%;min-width:210px;background:#000;border:1px solid #333;padding:8px 14px;flex-direction:column;gap:0;z-index:50}
.fs-nav a{transition:color .15s ease}
.fs-nav a:hover,.fs-nav a:focus-visible,.fs-nav li:hover>a,.fs-nav li:focus-within>a{color:var(--orange)}
.fs-nav li.current-menu-item>a,.fs-nav li.current_page_item>a,.fs-nav li.current-menu-ancestor>a,.fs-nav li.current-page-ancestor>a,.fs-nav li.current_page_ancestor>a,.fs-nav a[aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
@media (prefers-reduced-motion:reduce){.fs-nav a{transition:none}}
.fs-nav li:hover>ul,.fs-nav li:focus-within>ul{display:flex}
.fs-nav ul ul a{padding:9px 0;width:100%}

.fs-hours{background:var(--gray) url(assets/img/hours-bg.webp) center 48%/max(100%,1500px) auto no-repeat;font-weight:600;text-align:center;font-size:25px;padding:10px 16px;line-height:1.3}

/* Hero */
.hero{background:#000;min-height:440px;display:flex;align-items:center;justify-content:center;padding:32px 24px 112px}
.hero>img{width:min(480px,92vw);height:auto}
/* Logo: the cloud and letters are static. Only the six comets animate: they start big (close to the viewer) and shrink into place. */
.logo-assemble{--u:min(4.8px,.92vw);position:relative;width:min(480px,92vw);aspect-ratio:1/1}
.logo-assemble .lp{position:absolute;display:block;max-width:none}
.logo-assemble .lp-c{will-change:transform,opacity;transform-origin:50% 50%;
	animation:fs-comet var(--du,.9s) cubic-bezier(.22,.8,.25,1) var(--dl,0s) both}
.logo-assemble{animation:fs-lock .9s ease-out 2.1s both}
@keyframes fs-comet{0%{opacity:0;transform:translate(calc(var(--dx)*var(--u)),calc(var(--dy)*var(--u))) scale(3.6)}30%{opacity:1}to{opacity:1;transform:none}}
@keyframes fs-lock{0%{filter:none}35%{filter:drop-shadow(0 0 16px rgba(251,168,32,.8))}100%{filter:none}}
@media (prefers-reduced-motion:reduce){.logo-assemble,.logo-assemble .lp{animation:none}}

.perks{position:relative;margin-top:-108px;z-index:2}
.perks .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.perk{position:relative;background:rgba(14,11,9,.94);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#fff;border-radius:2px;box-shadow:0 8px 20px rgba(0,0,0,.4);min-height:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;transition:background .2s ease,box-shadow .2s ease}
.perk b{font-size:42px;line-height:1.05;font-weight:600}
.perk span{font-size:23px;font-weight:500;color:var(--gold)}
.perk.big b{font-size:41px}
/* Gold corner brackets that grow to frame the tile on hover */
.perk::before,.perk::after{content:"";position:absolute;width:28px;height:28px;border:3px solid var(--orange);pointer-events:none;transition:width .22s ease,height .22s ease}
.perk::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.perk::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
a.perk:hover,a.perk:focus-visible{opacity:1;background:rgba(14,11,9,.98);box-shadow:0 0 26px rgba(251,168,32,.3),0 8px 20px rgba(0,0,0,.4)}
a.perk:hover::before,a.perk:hover::after,a.perk:focus-visible::before,a.perk:focus-visible::after{width:100%;height:100%}
a.perk:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.perk,.perk::before,.perk::after{transition:none}}

/* Sections */
.section{padding:56px 0}
.section-title{font-size:37px;font-weight:600}
.section-collage{background:var(--gray) url(assets/img/hours-bg.webp) center/cover no-repeat}
.section-sub{margin:4px 0 0;font-size:19px;font-weight:600}

/* Shop categories */
.cats{--d:210px;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:38px;text-align:center}
.section-types{display:flow-root;padding:0 0 56px}
.section-types .section-title{margin-top:56px}
.cat{position:relative;display:block}
.cat .disc{width:var(--d);height:var(--d);margin:0 auto 14px;border-radius:50%;overflow:hidden;background:#fff;border:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;box-shadow:0 0 0 7px #fff,7px 11px 0 7px rgba(0,0,0,.18);transition:transform .35s cubic-bezier(.2,.9,.3,1.3),box-shadow .35s ease}
.cat .disc img{width:100%;height:100%;object-fit:cover}
.cat:hover .disc,.cat:focus-visible .disc{transform:translateY(-14px) scale(1.2);box-shadow:0 0 0 7px #fff,0 0 0 12px #fba820,0 30px 50px rgba(0,0,0,.35),0 0 70px rgba(251,168,32,.7)}
.cat span:not(.disc){position:relative;z-index:2;display:inline-block;padding-bottom:6px;transition:color .25s ease,transform .3s ease}
.cat span:not(.disc)::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;background:linear-gradient(90deg,#e8c45d,#fba820,#ff7a1a);transform:translateX(-50%);transition:width .3s ease}
.cat:hover span:not(.disc),.cat:focus-visible span:not(.disc){color:#e0720f;transform:translateY(8px)}
.cat:hover span:not(.disc)::after,.cat:focus-visible span:not(.disc)::after{width:80%}
@media (prefers-reduced-motion:reduce){.cat .disc,.cat span{transition:none}.cat:hover .disc,.cat:focus-visible .disc,.cat:hover span:not(.disc){transform:none}}
.cat span{font-size:21px;font-weight:600}

/* Mission */
.mission{position:relative;color:#fff;text-align:center;padding:60px 24px 54px;
	background:radial-gradient(ellipse 65% 75% at 50% 108%,rgba(251,168,32,.30),transparent 72%),#000}
.mission::before,.mission::after{content:"";position:absolute;left:0;right:0;height:4px;background:var(--grad)}
.mission::before{top:0}.mission::after{bottom:0}
.mission p{max-width:800px;margin:0 auto 22px;font-size:clamp(20px,2.7vw,29px);font-weight:600;line-height:1.35;text-shadow:0 1px 6px #000}
.mission .lead{max-width:760px;margin:0 auto;font-size:clamp(18px,2.2vw,24px);font-weight:500;line-height:1.4;text-shadow:none}
.mission .lead em{font-style:normal;font-weight:700;color:var(--gold)}
.mission .punch{position:relative;max-width:820px;margin:22px auto 0;padding-top:0;font-family:var(--font-head);font-weight:700;font-size:clamp(21px,3.2vw,36px);line-height:1.15;text-transform:uppercase;letter-spacing:.01em;text-shadow:none;
	background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.mission .quote{max-width:1100px;margin:0 auto}
.mission .quote p:last-child{margin-bottom:0}

/* Card grids */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:34px;padding:0 9px}
.card{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;text-align:center}
.card img{width:100%;aspect-ratio:1/0.82;object-fit:contain;padding:14px 18px 0}
.card.cover img{object-fit:contain}
.card b{display:block;font-size:23px;font-weight:600;padding:2px 10px 16px}
.cards.two{grid-template-columns:repeat(2,minmax(0,260px));justify-content:start}

/* Lab */
.lab{display:grid;grid-template-columns:1fr 1fr;background:var(--red);color:#fff;margin-top:8px}
.lab .txt{padding:46px max(32px,calc((100vw - var(--maxw)) / 2)) 46px max(32px,calc((100vw - var(--maxw)) / 2));padding-right:48px}
.lab h2{font-size:37px;font-weight:600;margin-bottom:22px}
.lab p{font-size:21px;font-weight:600;line-height:1.3;margin:0 0 20px;max-width:470px}
.lab .pic{min-height:300px;background:url(assets/img/lab-gummies.webp) center/cover no-repeat}
.lab .pic.fs-mapbox{background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.14),rgba(0,0,0,0) 70%);display:flex;align-items:center;justify-content:center;padding:26px 16px}

/* Featured strain */
.feature-wrap{position:relative;margin-top:0;margin-bottom:60px}
.feature{background:var(--grad);color:var(--on-grad);min-height:257px;display:flex;align-items:center}
.feature .wrap{width:100%;display:grid;grid-template-columns:44% 1fr;gap:24px;align-items:center}
.feature{min-height:300px;padding:44px 0}
.feature .feat-img{display:block;justify-self:center;width:320px;max-width:100%;aspect-ratio:1/1;margin:-36px 0;border-radius:18px;overflow:hidden;background:#0a0908;border:6px solid #fff;box-shadow:8px 12px 0 rgba(0,0,0,.2),0 20px 40px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}
.feature .feat-img:hover{transform:rotate(-2deg) scale(1.04)}
.feature .feat-img img{width:100%;height:100%;object-fit:cover;margin:0}
.feature .feat-img img.strain-ph{object-fit:cover}
.feature .chips{margin-top:12px}
.feature .chips span{background:rgba(10,9,8,.12);border-color:rgba(10,9,8,.25);color:#0a0908}
.feature .feat-btns{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.feature h2{font-size:39px;font-weight:600;margin-bottom:18px}
.feature h3{font-size:26px;font-weight:600}
.feature p{margin:2px 0 0;font-size:22px;font-weight:400}
.feature .btn{margin:0}

/* Trees + Footer */
.trees{height:clamp(70px,10vw,150px);background:url(assets/img/trees.webp) center bottom/auto 100% repeat-x;margin-top:40px;margin-bottom:-1px}

/* Footer: fire, smoke and sparks */
.fs-footer{position:relative;overflow:hidden;color:#fff;
	background:
		radial-gradient(ellipse 85% 60% at 50% 118%,rgba(251,168,32,.45),transparent 72%),
		radial-gradient(ellipse 60% 45% at 85% 20%,rgba(255,122,26,.12),transparent 70%),
		#050403}
.fs-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:2;background:var(--grad);box-shadow:0 0 26px 4px rgba(251,168,32,.55)}
.fs-footer>*{position:relative;z-index:1}
.fs-smoke{position:absolute!important;inset:0;z-index:0!important;pointer-events:none;overflow:hidden}
.fs-smoke i{position:absolute;display:block;width:62vw;min-width:520px;height:230px;border-radius:50%;filter:blur(28px);
	background:radial-gradient(ellipse at center,rgba(222,214,204,.20) 0%,rgba(222,214,204,.08) 45%,transparent 72%);
	transform:rotate(var(--r));animation:fs-drift var(--d) ease-in-out infinite alternate}
.fs-smoke i:nth-child(1){left:-12vw;top:52%;--r:-8deg;--d:34s}
.fs-smoke i:nth-child(2){left:30vw;top:26%;--r:12deg;--d:42s;height:150px;filter:blur(20px)}
.fs-smoke i:nth-child(3){left:52vw;top:58%;--r:-14deg;--d:38s}
.fs-smoke i:nth-child(4){left:2vw;top:2%;--r:6deg;--d:46s;height:170px}
.fs-smoke i:nth-child(5){left:58vw;top:6%;--r:-5deg;--d:52s;height:140px;filter:blur(20px)}
.fs-smoke i:nth-child(6){left:22vw;top:76%;--r:10deg;--d:40s;height:180px}
@keyframes fs-drift{0%{transform:translate3d(0,0,0) rotate(var(--r)) scaleX(1);opacity:.55}50%{opacity:1}100%{transform:translate3d(8vw,-90px,0) rotate(calc(var(--r) + 9deg)) scaleX(1.3);opacity:.6}}
.fs-sparks{position:absolute!important;inset:0;z-index:0!important;pointer-events:none;overflow:hidden}
.fs-sparks::before,.fs-sparks::after,.fs-sparks i{content:"";position:absolute;left:0;top:0;border-radius:50%;opacity:.9;filter:drop-shadow(0 0 4px #fba820) drop-shadow(0 0 9px rgba(255,138,31,.7))}
.fs-sparks::before{width:3px;height:3px;box-shadow:38vw 181px 0 0 #fba820,76vw 638px 0 0 #ffd27a,49vw 1095px 0 0 #fba820,17vw 403px 0 0 #ff7a1a,57vw 38px 0 0 #e8c45d,80vw 941px 0 0 #fba820,14vw 185px 0 0 #fff1c2,54vw 50px 0 0 #ffd27a,46vw 127px 0 0 #e8c45d,5vw 765px 0 0 #ff8a1f,80vw 452px 0 0 #fba820,73vw 765px 0 0 #ff7a1a,85vw 653px 0 0 #ffb53d,61vw 373px 0 0 #fff1c2,76vw 926px 0 0 #ff8a1f,24vw 375px 0 0 #fba820,87vw 1075px 0 0 #e8c45d,75vw 244px 0 0 #ffb53d,13vw 882px 0 0 #fba820,73vw 574px 0 0 #ff7a1a,76vw 687px 0 0 #ffb53d,48vw 600px 0 0 #ff7a1a,59vw 1134px 0 0 #e8c45d,34vw 316px 0 0 #ffb53d,80vw 254px 0 0 #fff1c2,31vw 682px 0 0 #ff8a1f,96vw 215px 0 0 #ffd27a,22vw 930px 0 0 #fba820,8vw 862px 0 0 #ffd27a,3vw 342px 0 0 #e8c45d,88vw 36px 0 0 #e8c45d,95vw 126px 0 0 #fff1c2,96vw 200px 0 0 #fba820,3vw 782px 0 0 #fff1c2,25vw 85px 0 0 #ffb53d,34vw 964px 0 0 #e8c45d,97vw 950px 0 0 #ff7a1a,28vw 197px 0 0 #ffb53d,72vw 1093px 0 0 #ff8a1f,89vw 1123px 0 0 #e8c45d,33vw 214px 0 0 #ffd27a,22vw 34px 0 0 #fff1c2,98vw 712px 0 0 #ffd27a,22vw 855px 0 0 #ffb53d,89vw 498px 0 0 #ff7a1a,55vw 848px 0 0 #ff7a1a,99vw 1150px 0 0 #fba820,37vw 232px 0 0 #fba820,81vw 295px 0 0 #fba820,72vw 891px 0 0 #e8c45d,22vw 170px 0 0 #fba820,72vw 1119px 0 0 #ffb53d,31vw 974px 0 0 #fff1c2,92vw 567px 0 0 #fba820,44vw 782px 0 0 #fba820,19vw 832px 0 0 #e8c45d,88vw 71px 0 0 #ff8a1f,84vw 930px 0 0 #ffd27a,11vw 870px 0 0 #ff7a1a,62vw 1114px 0 0 #ff8a1f,68vw 1100px 0 0 #ff7a1a,34vw 186px 0 0 #e8c45d,8vw 1029px 0 0 #ffd27a,3vw 945px 0 0 #ffd27a,38vw 664px 0 0 #ffd27a,45vw 628px 0 0 #ff7a1a,44vw 338px 0 0 #ffd27a,6vw 869px 0 0 #fff1c2,97vw 1144px 0 0 #ff7a1a,69vw 579px 0 0 #ffb53d,50vw 454px 0 0 #ff7a1a,19vw 1039px 0 0 #fba820,15vw 957px 0 0 #ffb53d,36vw 915px 0 0 #fba820,5vw 540px 0 0 #ffb53d,32vw 971px 0 0 #fba820,53vw 173px 0 0 #ff7a1a,26vw 751px 0 0 #ff8a1f,80vw 195px 0 0 #ff8a1f,95vw 1052px 0 0 #ffd27a,79vw 749px 0 0 #ff7a1a,11vw 357px 0 0 #fba820,16vw 383px 0 0 #fba820,18vw 294px 0 0 #ff7a1a,61vw 614px 0 0 #fba820,6vw 219px 0 0 #fba820,4vw 284px 0 0 #fba820,12vw 337px 0 0 #e8c45d,27vw 883px 0 0 #fba820,97vw 465px 0 0 #ffd27a,85vw 751px 0 0 #e8c45d,96vw 648px 0 0 #fff1c2,85vw 274px 0 0 #fba820,49vw 645px 0 0 #fba820,63vw 819px 0 0 #fba820,93vw 440px 0 0 #ff8a1f,27vw 656px 0 0 #ffd27a,55vw 129px 0 0 #fba820,41vw 885px 0 0 #fff1c2,21vw 858px 0 0 #fba820,32vw 655px 0 0 #fba820,86vw 616px 0 0 #fff1c2,23vw 826px 0 0 #fba820,74vw 1030px 0 0 #fba820,69vw 885px 0 0 #ff8a1f,57vw 399px 0 0 #ffd27a,9vw 944px 0 0 #fba820,51vw 793px 0 0 #ff7a1a,8vw 79px 0 0 #ffd27a,50vw 727px 0 0 #ff7a1a,93vw 355px 0 0 #ff8a1f,78vw 140px 0 0 #fff1c2,70vw 258px 0 0 #ffb53d,55vw 979px 0 0 #ff8a1f,83vw 643px 0 0 #ffb53d,80vw 46px 0 0 #e8c45d,69vw 414px 0 0 #fba820,40vw 560px 0 0 #ff7a1a,56vw 1020px 0 0 #ff7a1a,44vw 55px 0 0 #e8c45d;animation:fs-rise 8s linear infinite}
.fs-sparks::after{width:4px;height:4px;box-shadow:86vw 323px 0 0 #ffb53d,89vw 296px 0 0 #ffb53d,90vw 645px 0 0 #ff7a1a,15vw 172px 0 0 #ffb53d,5vw 986px 0 0 #fba820,66vw 551px 0 0 #ff7a1a,70vw 873px 0 0 #fba820,26vw 155px 0 0 #ff8a1f,23vw 455px 0 0 #fff1c2,8vw 301px 0 0 #ff7a1a,1vw 800px 0 0 #fba820,73vw 872px 0 0 #fba820,82vw 46px 0 0 #ff8a1f,19vw 38px 0 0 #fba820,83vw 1059px 0 0 #ffd27a,2vw 1027px 0 0 #ffb53d,59vw 677px 0 0 #ff7a1a,86vw 80px 0 0 #ff8a1f,27vw 639px 0 0 #ffb53d,19vw 332px 0 0 #ff8a1f,75vw 237px 0 0 #ffd27a,97vw 1048px 0 0 #e8c45d,22vw 1079px 0 0 #e8c45d,9vw 555px 0 0 #ffb53d,75vw 271px 0 0 #ffb53d,66vw 891px 0 0 #fba820,9vw 430px 0 0 #ffd27a,43vw 213px 0 0 #e8c45d,19vw 767px 0 0 #ffd27a,59vw 454px 0 0 #ff8a1f,72vw 1136px 0 0 #e8c45d,43vw 88px 0 0 #ffb53d,17vw 322px 0 0 #ffb53d,72vw 773px 0 0 #fba820,98vw 83px 0 0 #fff1c2,7vw 343px 0 0 #ff7a1a,45vw 432px 0 0 #fff1c2,91vw 701px 0 0 #ff7a1a,12vw 886px 0 0 #fff1c2,14vw 836px 0 0 #ffd27a,49vw 44px 0 0 #ff8a1f,73vw 148px 0 0 #fba820,5vw 682px 0 0 #ff8a1f,14vw 697px 0 0 #ffd27a,82vw 304px 0 0 #ffd27a,39vw 271px 0 0 #ff7a1a,67vw 1122px 0 0 #ffd27a,87vw 374px 0 0 #ff7a1a,52vw 704px 0 0 #ff8a1f,2vw 698px 0 0 #ff7a1a,71vw 176px 0 0 #fff1c2,62vw 728px 0 0 #fba820,53vw 171px 0 0 #ff7a1a,23vw 248px 0 0 #fba820,79vw 475px 0 0 #fba820,55vw 513px 0 0 #ffb53d,81vw 1082px 0 0 #ff7a1a,33vw 421px 0 0 #e8c45d,88vw 362px 0 0 #ff8a1f,63vw 668px 0 0 #ffd27a,44vw 768px 0 0 #e8c45d,76vw 882px 0 0 #fba820,96vw 778px 0 0 #fba820,76vw 248px 0 0 #ffb53d,8vw 270px 0 0 #ffb53d,24vw 247px 0 0 #ffd27a,37vw 267px 0 0 #fba820,22vw 217px 0 0 #fba820,43vw 613px 0 0 #fff1c2,94vw 430px 0 0 #ffd27a,77vw 587px 0 0 #fba820,99vw 343px 0 0 #fba820,59vw 1118px 0 0 #ffd27a,82vw 99px 0 0 #ff8a1f,62vw 37px 0 0 #fba820,82vw 909px 0 0 #e8c45d,70vw 298px 0 0 #e8c45d,91vw 87px 0 0 #ff7a1a,74vw 407px 0 0 #ffb53d,40vw 1005px 0 0 #fba820;animation:fs-rise 12s linear -5s infinite}
.fs-sparks i{width:2px;height:2px;box-shadow:35vw 534px 0 0 #fff1c2,67vw 994px 0 0 #ff8a1f,79vw 900px 0 0 #ffd27a,26vw 247px 0 0 #e8c45d,50vw 13px 0 0 #ffd27a,16vw 565px 0 0 #ff8a1f,35vw 470px 0 0 #e8c45d,31vw 24px 0 0 #ff7a1a,66vw 422px 0 0 #ffd27a,11vw 372px 0 0 #ffd27a,25vw 415px 0 0 #fba820,70vw 444px 0 0 #ffb53d,93vw 51px 0 0 #fba820,24vw 770px 0 0 #fba820,95vw 63px 0 0 #ffd27a,90vw 677px 0 0 #fff1c2,81vw 173px 0 0 #e8c45d,35vw 134px 0 0 #ff8a1f,1vw 202px 0 0 #fba820,25vw 232px 0 0 #ffb53d,32vw 295px 0 0 #ffb53d,89vw 911px 0 0 #ff7a1a,64vw 1009px 0 0 #fba820,6vw 1144px 0 0 #ff8a1f,1vw 666px 0 0 #fff1c2,1vw 833px 0 0 #e8c45d,41vw 77px 0 0 #fba820,97vw 1077px 0 0 #ff8a1f,63vw 758px 0 0 #ffb53d,27vw 596px 0 0 #fba820,82vw 649px 0 0 #ff7a1a,97vw 469px 0 0 #ffd27a,31vw 80px 0 0 #fba820,10vw 680px 0 0 #ffd27a,81vw 779px 0 0 #ffd27a,29vw 200px 0 0 #ff8a1f,29vw 423px 0 0 #ffd27a,89vw 235px 0 0 #ffb53d,58vw 116px 0 0 #fff1c2,35vw 165px 0 0 #ffd27a,13vw 1085px 0 0 #e8c45d,5vw 709px 0 0 #ff8a1f,69vw 796px 0 0 #fba820,91vw 1072px 0 0 #ff7a1a,22vw 428px 0 0 #fba820,20vw 295px 0 0 #ff8a1f,48vw 990px 0 0 #ff8a1f,94vw 810px 0 0 #fba820,6vw 402px 0 0 #ffd27a,30vw 457px 0 0 #fba820,19vw 950px 0 0 #fba820,75vw 1148px 0 0 #fff1c2,25vw 473px 0 0 #fff1c2,98vw 1119px 0 0 #fff1c2,10vw 216px 0 0 #fff1c2,45vw 866px 0 0 #fba820,11vw 478px 0 0 #fba820,21vw 620px 0 0 #fba820,25vw 43px 0 0 #fba820,73vw 948px 0 0 #ff7a1a,80vw 507px 0 0 #e8c45d,12vw 348px 0 0 #fba820,97vw 113px 0 0 #fba820,11vw 468px 0 0 #ffb53d,72vw 200px 0 0 #e8c45d,49vw 1088px 0 0 #ffb53d,44vw 483px 0 0 #fba820,78vw 248px 0 0 #e8c45d,47vw 688px 0 0 #ff8a1f,73vw 515px 0 0 #fff1c2;animation:fs-rise 6s linear -2s infinite}
@keyframes fs-rise{0%{transform:translateY(60px);opacity:0}12%{opacity:1}75%{opacity:.8}100%{transform:translateY(-280px);opacity:0}}
/* hero sparks: same embers as the footer, laid over the hero background, under the logo */
.hero{position:relative}
.hero .hero-sparks{z-index:1!important}
.hero .logo-assemble,.hero>img{position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.fs-sparks::before,.fs-sparks::after,.fs-sparks i{animation:none;opacity:.7}.fs-smoke i{animation:none}}

.fs-footer .flogo{display:block;width:210px;margin:0 auto;padding-top:34px;filter:drop-shadow(0 0 18px rgba(251,168,32,.5))}
.fs-footer .ftag-row{padding-bottom:34px}
.fs-footer .ftag{display:block;width:60%;min-width:min(300px,100%);height:auto;margin:0 auto}
.fs-footer .cols{display:grid;grid-template-columns:1.1fr 1.25fr .8fr;gap:36px;padding-top:44px;padding-bottom:56px}
.fs-footer h2{position:relative;font-size:33px;font-weight:600;margin-bottom:30px;padding-bottom:14px}
.fs-footer h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;border-radius:2px;background:var(--grad);box-shadow:0 0 12px rgba(251,168,32,.7)}
.fs-footer ul{list-style:none;margin:0;padding:0;font-size:26px;line-height:1.4}
.fs-footer ul li{padding-left:22px;position:relative}
.fs-footer ul li::before{content:"";position:absolute;left:0;top:.62em;border:6px solid transparent;border-left:9px solid var(--orange);border-right:0}
.fs-footer ul a{display:inline-block;min-height:36px}
.fs-footer ul a:hover,.fs-footer .loc a:hover{color:var(--orange);opacity:1}
.fs-footer .loc{margin-bottom:24px;font-size:20px;line-height:1.4;padding-left:16px;border-left:3px solid var(--orange)}
.fs-footer .loc b{display:block;font-size:23px;font-weight:600;color:var(--gold)}
.fs-footer .loc a[href^="tel"]{color:var(--orange);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fs-footer .hrs{font-size:21px}
.fs-footer .hrs b{display:inline-block;margin-bottom:6px;padding:4px 14px;border-radius:99px;background:var(--grad);color:var(--on-grad);font-size:20px;font-weight:600}
.fs-footer .legal{color:#c9c2b8;font-size:13px;line-height:1.55;padding-top:22px;padding-bottom:28px;border-top:1px solid rgba(255,255,255,.14)}
.fs-footer .legal a{text-decoration:underline;text-underline-offset:3px}
.fs-footer .legal a:hover{color:var(--orange);opacity:1}
.fs-footer .strip{height:34px;background:var(--grad);box-shadow:0 -8px 34px rgba(251,168,32,.4)}

/* Age gate */
#fs-agegate{position:fixed;inset:0;background:rgba(0,0,0,.96);color:#fff;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;text-align:center}
#fs-agegate.open{display:flex}
#fs-agegate .box{max-width:460px}
#fs-agegate img{width:300px;max-width:72vw;height:auto;margin:0 auto 12px}
#fs-agegate h2{font-size:34px;margin:0 0 12px}
#fs-agegate .btn{margin:6px}

/* Responsive */
@media (max-width:980px){
	.cats{--d:150px;grid-template-columns:repeat(3,1fr);row-gap:30px}
	.cards{grid-template-columns:repeat(2,1fr)}
	.fs-footer .cols{grid-template-columns:1fr 1fr}
	.fs-footer .hrs{grid-column:1/-1}
	.perks .wrap{gap:18px}
	.perk b,.perk.big b{font-size:31px}
	.perk span{font-size:18px}
}
@media (max-width:720px){
	.mission{padding:44px 20px 40px}
	.mission .punch{margin-top:18px}
	.perks .wrap{grid-template-columns:1fr}
	.perks{margin-top:-80px}
	.hero{min-height:380px;padding-bottom:100px}
	.fs-nav ul{gap:6px 22px}
	.lab{grid-template-columns:1fr}
	.lab .txt{padding:36px 32px}
	.feature .wrap{grid-template-columns:1fr}
	.feature{padding:24px 0}
	.feature .feat-img{width:260px;margin:-40px auto 0}
	.feature-wrap{margin-top:0}
	.section-types{padding-bottom:110px}
	.cards{gap:16px;padding:0}
	.cards.two{grid-template-columns:repeat(2,1fr)}
	.fs-footer .cols{grid-template-columns:1fr}
	.fs-footer ul{font-size:23px}
	.fs-footer h2{font-size:30px}
	.fs-hours{font-size:20px}
	.fs-order{font-size:19px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- Internal pages ---------- */
.btn-grad{background:var(--grad);color:var(--on-grad);border-color:transparent}
.btn-line{background:transparent;color:inherit;border-color:currentColor}

.page-hero{position:relative;color:#fff;padding:54px 0 50px;
	background:radial-gradient(ellipse 70% 120% at 50% 50%,rgba(0,0,0,.82) 0%,rgba(0,0,0,.62) 100%),#000 url(assets/img/hero-bg.webp) center 58%/cover no-repeat}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--grad)}
.page-hero .wrap{text-align:center}
.page-hero h1{font-size:clamp(32px,5.5vw,58px);font-weight:700;letter-spacing:-.01em;max-width:18ch;margin:0 auto;text-wrap:balance}
.page-eyebrow{margin:0 0 10px;color:var(--gold);font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.page-lede{margin:16px auto 0;max-width:46ch;font-size:21px;color:#e6e0d8}

.page-body{padding-top:56px;padding-bottom:72px}
.page-body.has-aside{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.entry{max-width:720px;font-size:19px;line-height:1.7;min-width:0}
.page--store .entry{max-width:none}
.page--store .page-body{max-width:calc(var(--maxw) + 64px)}
.entry>*:first-child{margin-top:0}
.entry p{margin:0 0 1.15em}
.entry h2{position:relative;margin:2em 0 .8em;padding-bottom:14px;font-size:clamp(24px,3.1vw,31px);font-weight:700}
.entry h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;border-radius:2px;background:var(--grad)}
.entry h3{margin:1.7em 0 .5em;font-size:22px;font-weight:600}
.entry a{color:#a8440a;text-decoration:underline;text-underline-offset:3px}
.entry a:hover{color:#000;opacity:1}
.entry ul,.entry ol{margin:0 0 1.3em;padding-left:1.3em}
.entry li{margin:.4em 0;padding-left:.2em}
.entry ul li::marker{color:var(--orange)}
.entry li a{font-weight:600}
.entry img{border-radius:12px}
.entry blockquote{margin:1.6em 0;padding:6px 0 6px 22px;border-left:5px solid var(--orange);font-size:22px;font-weight:500}
.entry hr{border:0;height:4px;width:56px;margin:2.4em 0;border-radius:2px;background:var(--grad)}
.entry table{width:100%;border-collapse:collapse;font-size:17px;margin:0 0 1.5em}
.entry th,.entry td{padding:12px 14px;text-align:left;border-bottom:1px solid #e3ddd4}
.entry th{background:#000;color:#fff;font-weight:600}
.entry .wp-block-button__link{display:inline-flex;align-items:center;min-height:44px;padding:12px 24px;border-radius:6px;background:var(--grad);color:var(--on-grad);font-weight:600;text-decoration:none}
.entry .wp-block-button__link:hover{color:var(--on-grad);opacity:.85}

.post-item{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid #e3ddd4}
.post-item h2{margin:0 0 4px;padding:0}.post-item h2::after{display:none}
.post-date{margin:0 0 10px;color:#5a534b;font-size:15px}
.pagination{margin-top:20px}

.store-card{position:sticky;top:24px;border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff;box-shadow:8px 8px 0 var(--orange)}
.store-card h2{font-size:24px;font-weight:700;margin-bottom:14px}
.store-card dl{margin:0 0 20px}
.store-card dt{margin-top:14px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#5a534b}
.store-card dd{margin:2px 0 0;font-size:19px}
.store-card dd a{text-decoration:underline;text-underline-offset:3px}
.store-card small{font-size:15px;color:#5a534b}
.store-card .btn{width:100%;justify-content:center;margin-top:10px}

.order-band{background:var(--grad);color:var(--on-grad)}
.order-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-top:38px;padding-bottom:38px}
.order-band h2{font-size:clamp(24px,3.1vw,33px);font-weight:700}
.order-band p{margin:6px 0 0;font-size:19px}
.order-band .btns{display:flex;gap:14px;flex-wrap:wrap}

@media (max-width:980px){
	.page-body.has-aside{grid-template-columns:1fr;gap:40px}
	.store-card{position:static;max-width:460px}
}
@media (max-width:720px){
	.page-hero{padding:38px 0 36px}
	.page-body{padding-top:36px;padding-bottom:48px}
	.entry{font-size:18px}
	.order-band .btns .btn{flex:1 1 100%;justify-content:center}
}

.fs-dutchie{min-height:320px}
.wrap.wide{max-width:1440px}
.fs-dutchie-carousel{display:block;width:100%;min-height:480px;margin-top:20px;overflow:visible;text-align:left}
.fs-dutchie-carousel>div{width:100%;max-width:none}

/* ===== Buttons: dark glass with gold corner brackets (matches the hero tiles) ===== */
.btn{position:relative;background:rgba(14,11,9,.92);color:#fff;border:1px solid rgba(232,196,93,.45);border-radius:2px;transition:background .2s ease,box-shadow .2s ease,color .2s ease}
.btn::before,.btn::after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--orange);pointer-events:none;transition:width .22s ease,height .22s ease}
.btn::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.btn::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.btn:hover,.btn:focus-visible{opacity:1;background:#000;box-shadow:0 0 18px rgba(251,168,32,.35)}
.btn:hover::before,.btn:hover::after,.btn:focus-visible::before,.btn:focus-visible::after{width:100%;height:100%}
.btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.btn-dark{background:#0a0807;color:#fff;border-color:rgba(232,196,93,.45)}
/* gradient button keeps its fill, with dark brackets */
.btn-grad{background:var(--grad);color:var(--on-grad);border-color:transparent}
.btn-grad::before,.btn-grad::after{border-color:var(--on-grad)}
.btn-grad:hover,.btn-grad:focus-visible{background:var(--grad);box-shadow:0 0 18px rgba(251,168,32,.45)}
/* outline button keeps a transparent fill */
.btn-line{background:transparent;color:inherit;border-color:currentColor}
.btn-line::before,.btn-line::after{border-color:currentColor}
.btn-line:hover,.btn-line:focus-visible{background:rgba(255,255,255,.08)}
/* on the orange order band and red lab section, brackets read better in white */
.order-band .btn::before,.order-band .btn::after,.lab .btn::before,.lab .btn::after{border-color:#fff}
/* age gate buttons use the site button style (see v2.58.1): gradient "Yes", dark "No" */
/* Order Online bar at the top */
.fs-order a{position:relative;display:inline-block;padding:2px 18px;transition:background .2s ease}
.fs-order a::before,.fs-order a::after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--on-grad);pointer-events:none;transition:width .2s ease,height .2s ease}
.fs-order a::before{top:0;left:0;border-right:0;border-bottom:0}
.fs-order a::after{bottom:0;right:0;border-left:0;border-top:0}
.fs-order a:hover,.fs-order a:focus-visible{text-decoration:none;background:rgba(255,255,255,.18)}
.fs-order a:hover::before,.fs-order a:hover::after,.fs-order a:focus-visible::before,.fs-order a:focus-visible::after{width:100%;height:100%}
@media (prefers-reduced-motion:reduce){.btn,.btn::before,.btn::after,.fs-order a,.fs-order a::before,.fs-order a::after{transition:none}}

/* ===== v2.7.0: rotating offers bar + bolder retail-style headings ===== */
.fs-order{position:relative}
.fs-order[hidden]{display:none}
.fs-promos a{display:none}
.fs-promos a.is-on{display:inline-block;animation:fs-promo-in .45s ease both}
@keyframes fs-promo-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fs-order-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--on-grad);font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}
.fs-order-x:hover,.fs-order-x:focus-visible{background:rgba(0,0,0,.14)}
.fs-order-x:focus-visible{outline:2px solid var(--on-grad);outline-offset:2px}
@media (max-width:760px){.fs-order{padding-right:44px;padding-left:44px}}
@media (prefers-reduced-motion:reduce){.fs-promos a.is-on{animation:none}}

/* Section headings: loud, uppercase, with a short fire bar */
.section-title{text-transform:uppercase;font-weight:700;letter-spacing:.015em}
.section-title::after{content:"";display:block;width:72px;height:5px;margin:14px 0 0;border-radius:3px;background:var(--grad)}
.section-sub{margin-top:14px}
.cat span:not(.disc),.card b{text-transform:uppercase;font-weight:700;letter-spacing:.03em}
.feature h2,.lab h2{text-transform:uppercase;letter-spacing:.015em}

/* Daily deal tile: small "Every Monday" label above the headline */
.perk .perk-day{display:block;margin-bottom:6px;font-family:var(--font-head);font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78)}

/* ===== Strains ===== */
.strain-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}
.strain-filter a{display:inline-block;padding:9px 18px;border:2px solid var(--on-grad);border-radius:99px;font-weight:600;font-size:16px;color:var(--on-grad);transition:background .15s ease,color .15s ease}
.strain-filter a:hover,.strain-filter a[aria-current="page"]{background:var(--on-grad);color:#fff;opacity:1}
.strain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.strain-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:transform .18s ease,box-shadow .18s ease}
.strain-card:hover,.strain-card:focus-visible{opacity:1;transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.16)}
.strain-thumb{position:relative;display:block;aspect-ratio:4/3;background:radial-gradient(circle at 50% 40%,#2a2420,#0c0a09);overflow:hidden}
.strain-thumb img{width:100%;height:100%;object-fit:cover}
.strain-thumb img.strain-ph,.strain-photo img.strain-ph{object-fit:cover}
.strain-badge{position:absolute;left:12px;top:12px;padding:4px 10px;border-radius:99px;background:var(--grad);color:var(--on-grad);font-style:normal;font-family:var(--font-head);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.strain-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}
.strain-type{font-family:var(--font-head);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.strain-name{font-family:var(--font-head);font-size:24px;font-weight:700;line-height:1.15;text-transform:uppercase}
.strain-cross{font-size:15px;color:#4a423b;line-height:1.35}
.chips{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.chips li{margin:0}
.chips a,.chips span{display:inline-block;padding:3px 11px;border-radius:99px;background:#f1ece4;border:1px solid #e3ddd4;font-size:14px;font-weight:500;color:#2a2420}
.chips a:hover{background:var(--grad);border-color:transparent;opacity:1}
.strain-single{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:start}
.strain-photo{position:relative;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#2a2420,#0c0a09)}
.strain-photo img{width:100%;height:auto;display:block}
.strain-facts dl{margin:0 0 24px}
.strain-facts dt{margin:18px 0 6px;font-family:var(--font-head);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.strain-facts dd{margin:0;font-size:19px}
.strain-facts .chips{margin-top:0}
.strain-note{margin:28px 0 0;font-size:14px;color:#6b6259}
.strain-cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
@media (max-width:900px){.strain-grid{grid-template-columns:repeat(2,1fr)}.strain-single{grid-template-columns:1fr;gap:28px}}
@media (max-width:560px){.strain-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.strain-card{transition:none}.strain-card:hover,.strain-card:focus-visible{transform:none}}

/* Store picker (home page) */
.section-menu{padding-top:40px}
.fs-pick{text-align:center;padding:34px 16px;background:#14110f;color:#fff;border-radius:16px}
.fs-pick h3{margin:0 0 6px;font-size:26px;text-transform:uppercase;letter-spacing:.02em}
.fs-pick p{margin:0 0 22px;color:#d9d2c8}
.fs-pick-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.fs-pick-btn.btn{display:inline-flex;flex-direction:column;align-items:center;min-width:260px;text-align:center;padding:18px 26px}
.fs-pick-btn b{display:block;font-family:var(--font-head);font-size:22px}
.fs-pick-btn span{display:block;margin-top:2px;font-size:15px;color:#fba820}
.fs-pick-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 14px}
.fs-pick-head b{font-family:var(--font-head);font-size:22px;text-transform:uppercase}
.fs-pick-change{font-size:15px;text-decoration:underline}
.fs-pick-load{text-align:center;padding:40px 0;color:#6b645c}
.fs-pick-holder{min-height:360px}
@media(max-width:560px){.fs-pick-btn.btn{min-width:100%}}

/* Home page strains showcase */
.strain-grid.four{grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}
.strain-more{text-align:center;margin:32px 0 0}
@media (max-width:1000px){.strain-grid.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.strain-grid.four{grid-template-columns:1fr}}

/* Where to find Firestorm: map */
.fs-map{width:auto;height:430px;max-width:100%;overflow:visible}
.fs-map-land{fill:#14110f;stroke:#fba820;stroke-width:2.2;stroke-linejoin:round;filter:drop-shadow(0 8px 14px rgba(0,0,0,.4))}
.fs-pin{cursor:pointer;outline:none}
.fs-pin-hit{fill:transparent}
.fs-pin-dot{fill:#fff;stroke:#fba820;stroke-width:1.6;transition:transform .2s ease}
.fs-pin-own .fs-pin-dot{fill:#fba820;stroke:#fff;stroke-width:2}
.fs-pin-pulse{fill:rgba(251,168,32,.55);transform-origin:center;transform-box:fill-box;animation:fs-pulse 2.2s ease-out infinite}
.fs-pin-name{font:700 9px var(--font-head),sans-serif;fill:#fff;paint-order:stroke;stroke:#14110f;stroke-width:3px;opacity:0;transition:opacity .2s ease;pointer-events:none;text-transform:uppercase;letter-spacing:.04em}
.fs-pin:hover .fs-pin-name,.fs-pin:focus-visible .fs-pin-name{opacity:1}
.fs-pin:hover .fs-pin-dot,.fs-pin:focus-visible .fs-pin-dot{transform:scale(1.5);transform-box:fill-box;transform-origin:center}
@keyframes fs-pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.fs-pin-pulse{animation:none;opacity:.5}}
@media (max-width:980px){.fs-map{height:360px}}

/* Weekly deals */
.section-deals{position:relative;background:#f3efe8;border-top:1px solid #e3ddd4}
.section-deals::before{content:"";position:absolute;inset:0;background:url(assets/img/texture-topo.webp) center/cover no-repeat;opacity:.3;pointer-events:none}
.section-deals>.wrap{position:relative}
.deal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.deal{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 12px 20px;background:#14110f;color:#fff;border-radius:5px;border:2px solid transparent;transition:transform .2s ease,box-shadow .2s ease}
.deal:hover,.deal:focus-visible{opacity:1;transform:translateY(-5px);box-shadow:0 14px 26px rgba(0,0,0,.25)}
.deal small{font-family:var(--font-head);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fba820}
.deal b{font-family:var(--font-head);font-size:clamp(28px,3vw,38px);line-height:1;font-weight:700;color:#fff}
.deal span{font-size:16px;line-height:1.3;font-weight:500;color:#e9e3d9}
.deal em{display:none;position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:3px 12px;border-radius:99px;background:#cc3820;color:#fff;font:700 12px/1.4 var(--font-head);letter-spacing:.12em;text-transform:uppercase}
.deal.is-today{background:var(--grad);border-color:#14110f;box-shadow:0 12px 26px rgba(251,168,32,.45)}
.deal.is-today small,.deal.is-today b,.deal.is-today span{color:#0a0908}
.deal.is-today em{display:block}
.deal.deal-always{background:#cc3820;border-color:#14110f}
.deal.deal-always small{color:#fff}
.deal.deal-always span{color:#fff;font-weight:600}
@media (max-width:640px){.deal-grid{grid-template-columns:repeat(2,1fr);gap:12px}}

/* Where to find Firestorm: fire photo with gold gradient (option B) */
.lab{background:radial-gradient(ellipse 70% 120% at 50% 50%,rgba(0,0,0,.7),rgba(0,0,0,.45)),#000 url(assets/img/hero-bg.webp) center 58%/cover no-repeat;position:relative;overflow:hidden}
.lab>*{position:relative;z-index:1}
.lab h2{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.lab .btn{background:var(--grad);color:#0a0908;font-weight:700}
.lab .btn::before,.lab .btn::after{border-color:#0a0908}
.lab .pic.fs-mapbox{background:none;flex-direction:column;gap:14px}
.lab .fs-map-land{fill:url(#fsg);stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 0 24px rgba(251,168,32,.5))}
.lab .fs-pin-dot{fill:#14110f;stroke:#fff}
.lab .fs-pin-own .fs-pin-dot{fill:#cc3820;stroke:#fff}
.lab .fs-pin-pulse{fill:rgba(204,56,32,.6)}
.fs-legend{list-style:none;margin:0;padding:0;display:flex;gap:18px;justify-content:center;font:600 13px Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#fff}
.fs-legend li{display:flex;align-items:center;gap:8px}
.fs-legend i{width:11px;height:11px;border-radius:50%;background:#14110f;border:2px solid #fff}
.fs-legend i.own{background:#cc3820;width:14px;height:14px}

/* Our Strains: sticker collage background (option B) */
.section-strains{background:#d9d9d9 url(assets/img/hours-bg.webp) center/cover no-repeat}
.section-strains .section-title{text-shadow:3px 3px 0 #fff}
.section-strains .strain-card{border:3px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.08),4px 7px 0 rgba(0,0,0,.2)}
.section-strains .strain-card:hover,.section-strains .strain-card:focus-visible{box-shadow:0 0 0 1px rgba(0,0,0,.08),6px 11px 0 rgba(0,0,0,.22)}

/* Shop by Type: lighter collage background */
.section-types{background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)),var(--gray) url(assets/img/hours-bg.webp) center/cover no-repeat}

/* no gap between Our Strains and the trees */
.home .trees{margin-top:calc(-1 * clamp(70px,10vw,150px));position:relative;z-index:2;mix-blend-mode:multiply}
.section-strains .strain-more{padding-bottom:calc(clamp(70px,10vw,150px) + 20px)}
.section-strains{padding-bottom:0}

/* sections swapped: Where to find now sits under Shop by Type; Featured Strain sits above Weekly Deals */
.lab{margin-top:0}
.feature-wrap{margin-bottom:0}

/* Four bubbles: Grow, Manufacturing, Bangor, Orono */
.section-bubbles{padding:54px 0 60px}
.bubbles{--d:190px;display:flex;flex-wrap:wrap;justify-content:center;gap:30px 70px;text-align:center}
.bubble{width:260px}
.bubble{display:block;color:#0a0908}
.bubble-disc{width:var(--d);height:var(--d);margin:0 auto 18px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px #fff,0 0 0 8px rgba(10,9,8,.08),6px 10px 0 6px rgba(0,0,0,.16);transition:transform .35s cubic-bezier(.2,.9,.3,1.3),box-shadow .35s ease,background .25s ease}
.bubble-disc svg{width:46%;height:46%;transition:transform .35s ease}
.bubble-label{display:inline-block;position:relative;padding-bottom:6px;font-family:var(--font-head);font-size:21px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.bubble-label::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;background:var(--grad);transform:translateX(-50%);transition:width .3s ease}
.bubble:hover .bubble-disc,.bubble:focus-visible .bubble-disc{transform:translateY(-12px) scale(1.1);background:#0a0908;color:#fba820;box-shadow:0 0 0 6px #fff,0 0 0 10px #fba820,0 26px 44px rgba(0,0,0,.3),0 0 60px rgba(251,168,32,.55)}
.bubble:hover .bubble-disc svg,.bubble:focus-visible .bubble-disc svg{transform:scale(1.08)}
.bubble:hover .bubble-label::after,.bubble:focus-visible .bubble-label::after{width:80%}
@media (max-width:800px){.bubbles{--d:140px;gap:30px 12px}.bubble{width:calc(50% - 6px)}.bubble-label{font-size:18px}}
@media (prefers-reduced-motion:reduce){.bubble-disc,.bubble-disc svg{transition:none}.bubble:hover .bubble-disc,.bubble:focus-visible .bubble-disc{transform:none}}

/* Live products from the Dutchie POS API (only shown once a key is saved and a sync has run) */
.section-live{padding:56px 0 20px}
.live-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}
.live-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.live-card:hover,.live-card:focus-visible{opacity:1;transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.16)}
.live-img{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:#f3efe8}
.live-img img{width:100%;height:100%;object-fit:contain}
.live-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 18px}
.live-body small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.live-body b{font-family:var(--font-head);font-size:17px;line-height:1.2}
.live-price{font-weight:700}
@media (max-width:800px){.live-grid{grid-template-columns:repeat(2,1fr);gap:12px}}

/* Store locator page */
.locator-map{background:radial-gradient(ellipse 70% 120% at 50% 50%,rgba(0,0,0,.7),rgba(0,0,0,.45)),#000 url(assets/img/hero-bg.webp) center 58%/cover no-repeat;border-radius:8px;padding:30px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 0 36px}
.locator-map .fs-map{height:520px}
.locator-map .fs-map-land{fill:url(#fsg);stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 0 24px rgba(251,168,32,.5))}
.locator-map .fs-pin-dot{fill:#14110f;stroke:#fff}
.locator-map .fs-pin-own .fs-pin-dot{fill:#cc3820;stroke:#fff}
.locator-map .fs-pin-pulse{fill:rgba(204,56,32,.6)}
.locator h2{margin:34px 0 14px}
.locator-own{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.locator-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 24px;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.locator-card h3{margin:0 0 8px;font-size:23px}
.locator-card .btn{margin:6px 10px 0 0}
.locator-q{width:100%;max-width:460px;padding:13px 16px;font:inherit;border:2px solid #0a0908;border-radius:99px;margin:6px 0 18px;box-shadow:4px 5px 0 #0a0908}
.locator-q:focus{outline:3px solid #fba820;outline-offset:2px}
.locator-list{list-style:none;margin:0;padding:0;columns:2;column-gap:28px}
.locator-list li{break-inside:avoid;padding:12px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.locator-list li[hidden]{display:none}
.locator-list b{font-family:var(--font-head);font-size:17px}
.locator-list span{color:#4a443d;font-size:15px}
.locator-list a{font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#cc3820}
.locator-none{font-weight:600}
@media (max-width:800px){.locator-own{grid-template-columns:1fr}.locator-list{columns:1}.locator-map .fs-map{height:380px}}
.entry:has(.locator){max-width:none}
.page-body:has(.locator){max-width:calc(var(--maxw) + 64px)}
.entry .locator a.btn{text-decoration:none;color:#0a0908}
.entry .locator .locator-card h3 a{text-decoration:none;color:#0a0908}
.entry .locator .locator-card h3 a:hover{color:#cc3820}
.entry .locator .locator-list a{text-decoration:none}

/* v2.47.3 featured strain band shadow */
.feature{position:relative;z-index:2;box-shadow:0 -12px 26px -8px rgba(0,0,0,.35),0 16px 28px -8px rgba(0,0,0,.4)}

/* v2.48.0 Daily Deals page ([fs_deals]) */
.dp{max-width:1000px;margin:0 auto}
.dp-today{display:grid;grid-template-columns:1fr 220px;gap:30px;align-items:center;background:var(--grad);color:#0a0908;border:3px solid #0a0908;border-radius:10px;padding:34px 40px;box-shadow:8px 8px 0 #0a0908;position:relative}
.dp-today small{font:700 14px var(--font-head);letter-spacing:.16em;text-transform:uppercase}
.dp-today h2{font:700 clamp(46px,7vw,84px)/1 var(--font-head);margin:6px 0 4px;text-transform:uppercase}
.dp-today p{font-size:24px;font-weight:600;margin:0 0 20px}
.dp-today .btns{display:flex;gap:12px;flex-wrap:wrap}
.dp-today .btn{margin:0;background:#0a0908;color:#fff}
.dp-today .dp-disc{width:220px;height:220px;border-radius:50%;background:#0a0908;border:6px solid #fff;box-shadow:0 14px 28px rgba(0,0,0,.35);overflow:hidden;display:block}
.dp-today .dp-disc img{width:100%;height:100%;object-fit:cover}
.dp h3.dp-h{font:700 28px var(--font-head);margin:56px 0 6px;text-transform:uppercase;letter-spacing:.02em}
.dp .dp-sub{margin:0 0 20px;color:#5a544b}
.dp-row{display:grid;grid-template-columns:150px 76px 150px 1fr auto;gap:18px;align-items:center;padding:14px 22px;background:#14110f;color:#fff;border-radius:8px;margin-bottom:10px;border:2px solid transparent;position:relative}
.dp-day{font:700 15px var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:#fba820}
.dp-day em{display:none;font-style:normal;width:max-content;margin-top:4px;padding:2px 10px;border-radius:99px;background:#cc3820;color:#fff;font-size:11px}
.dp-row .dp-disc{width:76px;height:76px;border-radius:50%;overflow:hidden;background:#0a0908;border:3px solid #fff;display:block}
.dp-row .dp-disc img{width:100%;height:100%;object-fit:cover}
.dp-off{font:700 34px/1 var(--font-head)}
.dp-cat{font-size:18px;font-weight:500;color:#e9e3d9}
.dp-shop{display:flex;gap:8px}
.dp-shop a{font:700 13px var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:#0a0908;background:var(--grad);padding:10px 14px;border-radius:4px;text-decoration:none;white-space:nowrap}
.dp-row.is-today .dp-day em{display:block}
.dp-row.is-today{background:var(--grad);color:#0a0908;border-color:#0a0908;box-shadow:0 10px 24px rgba(251,168,32,.45)}
.dp-row.is-today .dp-day,.dp-row.is-today .dp-cat{color:#0a0908}
.dp-row.is-today .dp-shop a{background:#0a0908;color:#fff}
.dp-ever{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dp-card{border:2px solid #0a0908;border-radius:10px;padding:26px 28px;background:#fff;box-shadow:6px 6px 0 var(--orange)}
.dp-card b{display:block;font:700 44px/1 var(--font-head);color:#cc3820}
.dp-card h4{margin:8px 0 6px;font:700 20px var(--font-head);text-transform:uppercase}
.dp-card p{margin:0;color:#4a443c;font-size:16px}
.dp-links{margin-top:44px;padding:24px 28px;background:#f3efe8;border-radius:10px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.dp-links p{margin:0;font-size:18px;font-weight:600}
.dp-fine{margin-top:28px;font-size:14px;color:#6a6358}
@media (max-width:900px){.dp-row{grid-template-columns:1fr 64px;gap:10px 14px}.dp-row .dp-disc{grid-row:1/3;grid-column:2;width:64px;height:64px}.dp-off{grid-column:1}.dp-cat{grid-column:1}.dp-shop{grid-column:1/3}}
@media (max-width:700px){.dp-today{grid-template-columns:1fr;padding:26px 22px}.dp-today .dp-disc{display:none}.dp-ever{grid-template-columns:1fr}}
.entry:has(.dp){max-width:none}
.dp-today .btn,.dp-today .btn:hover{color:#fff}
.entry .dp a{text-decoration:none}
.entry .dp h2::after,.entry .dp h2::before{display:none}
.entry .dp h2{margin:6px 0 4px}
.entry .dp p.dp-fine{margin-top:28px}
.entry .dp .dp-today p{margin:0 0 20px}
.entry .dp .dp-links{margin-top:44px}
.entry .dp .dp-links p{margin:0}
.entry .dp .dp-links{margin-top:28px}
.entry .dp .dp-links+.dp-h{margin-top:40px}

/* v2.50.0 Contact page ([fs_contact]) */
.entry:has(.ct){max-width:none}
.ct{max-width:1040px;margin:0 auto}
.ct-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:start}
.ct-form{background:#fff;border:2px solid #0a0908;border-radius:10px;padding:30px 32px 26px;box-shadow:8px 8px 0 var(--orange)}
.entry .ct-form h2{margin:0 0 18px;font:700 28px var(--font-head);text-transform:uppercase}
.entry .ct-form h2::after,.entry .ct h2::after{display:none}
.ct-form p{margin:0 0 16px}
.ct-form label{display:block;margin-bottom:6px;font:700 13px var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:#0a0908}
.ct-form label span{color:#cc3820}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form select,.ct-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:2px solid #0a0908;border-radius:6px;background:#fff;font:400 16px/1.4 inherit;font-family:inherit;color:#0a0908}
.ct-form textarea{resize:vertical;min-height:140px}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;border-color:#fba820;box-shadow:0 0 0 4px rgba(251,168,32,.35)}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-fine{font-size:13px;color:#6a6358}
.ct-note{padding:12px 16px;border-radius:6px;font-weight:600;border:2px solid}
.ct-note.ct-ok{background:#eaf6e6;border-color:#3b7d2a;color:#1f4d14}
.ct-note.ct-err{background:#fdeceb;border-color:#cc3820;color:#8a1f10}
.ct-side{display:grid;gap:16px}
.ct-store{background:#14110f;color:#fff;border-radius:10px;padding:22px 24px}
.ct-store small{display:block;font:700 12px var(--font-head);letter-spacing:.16em;text-transform:uppercase;color:#fba820}
.entry .ct-store h3{margin:4px 0 8px;font:700 22px var(--font-head);color:#fff}
.entry .ct-store h3 a{color:#fff;text-decoration:none}
.ct-store p{margin:0 0 6px;color:#e9e3d9;font-size:16px;line-height:1.45}
.ct-store .ct-hours{color:#fba820;font-weight:600}
.ct-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px!important}
.entry .ct-btns a{font:700 13px var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:#0a0908;background:var(--grad);padding:10px 14px;border-radius:4px;text-decoration:none}
.ct-ws{background:var(--grad);color:#0a0908}
.ct-ws small{color:#0a0908}.entry .ct-ws h3{color:#0a0908}.ct-ws p{color:#0a0908}
.entry .ct-ws .ct-btns a{background:#0a0908;color:#fff}
.entry .ct-h{margin:52px 0 16px;font:700 28px var(--font-head);text-transform:uppercase}
.ct-faq details{border:2px solid #0a0908;border-radius:8px;margin-bottom:10px;background:#fff}
.ct-faq summary{cursor:pointer;padding:16px 20px;font:700 17px var(--font-head);list-style:none;position:relative;padding-right:52px}
.ct-faq summary::-webkit-details-marker{display:none}
.ct-faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font:700 24px var(--font-head);color:#cc3820}
.ct-faq details[open] summary::after{content:"\2212"}
.ct-faq details[open]{box-shadow:5px 5px 0 var(--orange)}
.ct-faq details p{margin:0;padding:0 20px 18px;color:#2a2622}
@media (max-width:860px){.ct-grid{grid-template-columns:1fr}.ct-row{grid-template-columns:1fr}.ct-form{padding:24px 20px}}

/* v2.51.0 strain type colours: indica and indica/hybrid purple, hybrid blue, sativa and sativa/hybrid green */
.type-indica{--tc:#7a3db8}
.type-hybrid{--tc:#1f6fd1}
.type-sativa{--tc:#2e9a47}
.strain-card[class*="type-"]{border-top:6px solid var(--tc)}
.strain-card[class*="type-"] .strain-type{color:var(--tc)}
.strain-card[class*="type-"] .strain-type::before{content:"";display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:var(--tc)}
.strain-filter a[class*="type-"]{border-color:var(--tc);color:var(--tc)}
.strain-filter a[class*="type-"]:hover,.strain-filter a[class*="type-"][aria-current="page"]{background:var(--tc);border-color:var(--tc);color:#fff}
.chips li[class*="type-"] span,.chips li[class*="type-"] a{background:var(--tc);border-color:var(--tc);color:#fff}
.feature .chips li[class*="type-"] span{background:var(--tc);border-color:#0a0908;color:#fff}

/* v2.53.0 Loyalty Program page ([fs_loyalty]), full width, homepage style */
.page-body:has(.lh){max-width:none;padding:0}
.entry:has(.lh){max-width:none;font-size:inherit;line-height:1.5}
.entry .lh{overflow-x:clip}
.entry .lh h2::after,.entry .lh h3::after{display:none}
.entry .lh .lh-title::after{display:block}
.entry .lh a{text-decoration:none}
.entry .lh h2,.entry .lh h3{margin-top:0}
.entry .lh-w{max-width:1100px;margin:0 auto;padding:0 24px}
.entry .lh-sec{padding:56px 0}
.entry .lh-title{margin:0;font:700 37px/1.1 var(--font-head);text-transform:uppercase;letter-spacing:.015em}
.entry .lh-title::after{content:"";display:block;width:72px;height:5px;margin:14px 0 0;border-radius:3px;background:var(--grad)}
.entry .lh-steps{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.entry .lh-steps li{display:flex;gap:16px;align-items:flex-start;margin:0}
.entry .lh-steps b{font:700 72px/.9 var(--font-head);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.entry .lh-steps h3{margin:0 0 4px;font:700 24px var(--font-head);text-transform:uppercase}
.entry .lh-steps p{margin:0;font-size:17px;color:#3a342c}
.entry .lh-collage{background:#d9d9d9 url(assets/img/hours-bg.webp) center/cover no-repeat}
.entry .lh-collage .lh-title{text-shadow:3px 3px 0 #fff}
.entry .lh-note{margin:30px 0 0;background:rgba(255,255,255,.88);display:inline-block;padding:8px 16px;font-weight:600;font-size:16px}
.entry .lh-cta{background:#0a0908;padding:34px 0}
.entry .lh-cta .lh-w{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.entry .lh-cta h3{margin:0;font:700 28px var(--font-head);text-transform:uppercase;color:#e8c45d}
.entry .lh-cta p{margin:2px 0 0;color:#fff;font-weight:500}
.entry .lh-cta .b{display:flex;gap:10px}
.entry .lh-cta .b a{background:var(--grad);color:#0a0908;font:700 14px var(--font-head);letter-spacing:.05em;text-transform:uppercase;padding:13px 20px;text-decoration:none;border-radius:4px}
.entry .lh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px}
.entry .lh-card{background:var(--grad);border:3px solid #0a0908;box-shadow:6px 6px 0 #0a0908;padding:26px 14px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;color:#0a0908;transition:transform .15s,box-shadow .15s}
.entry .lh-card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #0a0908}
.entry .lh-card .d{display:flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;background:#0a0908;color:#fba820;margin-bottom:10px}
.entry .lh-card .d svg{width:48%;height:48%}
.entry .lh-card .ly-glyph{font:700 36px var(--font-head)}
.entry .lh-card b{font:700 42px/1 var(--font-head)}
.entry .lh-card small{font:700 12px var(--font-head);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.entry .lh-card .n{font:700 19px/1.2 var(--font-head);text-transform:uppercase}
@media(max-width:900px){.lh-grid{grid-template-columns:repeat(2,1fr)}
.entry .lh-steps{grid-template-columns:1fr}}
@media(max-width:480px){.lh-card b{font-size:34px}
.entry .lh-card .n{font-size:16px}
.entry .lh-card .d{width:64px;height:64px}
.entry .lh-cta .b{flex-wrap:wrap}}

/* v2.54.0 Age gate: hero smoke background with rising embers */
#fs-agegate{background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.84)),#000 url(assets/img/hero-bg.webp) center 62%/cover no-repeat;overflow:hidden}
#fs-agegate .fs-sparks{z-index:1!important}
#fs-agegate .box{position:relative;z-index:2}

/* v2.55.0 Age gate: tall wispy smoke and the From Maine for Maine tag at the bottom */
#fs-agegate .gate-tag{position:absolute;left:50%;bottom:clamp(18px,4vh,40px);transform:translateX(-50%);z-index:2;width:min(560px,82vw);height:auto;margin:0;pointer-events:none}

/* v2.56.0 Age gate: moving background (slow drift plus a soft ripple through the smoke) */
#fs-agegate{background:#000}
#fs-agegate::before{content:"";position:absolute;inset:-3%;z-index:0;background:url(assets/img/hero-bg.webp) center 62%/cover no-repeat;animation:fs-bgdrift 35s ease-in-out infinite alternate;will-change:transform}
#fs-agegate::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.84))}
@keyframes fs-bgdrift{0%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1.03) translate3d(-.6%,-.8%,0)}}
@media (prefers-reduced-motion:reduce){#fs-agegate::before{animation:none}}

/* v2.57.0 Age gate: logo pulses with a warm glow */
#fs-agegate .box>img{animation:fs-logoglow 4.6s ease-in-out infinite}
@keyframes fs-logoglow{0%,100%{filter:drop-shadow(0 0 12px rgba(251,168,32,.08)) drop-shadow(0 0 30px rgba(255,138,31,.06)) drop-shadow(0 0 56px rgba(255,138,31,.04))}50%{filter:drop-shadow(0 0 14px rgba(251,168,32,.26)) drop-shadow(0 0 36px rgba(255,138,31,.2)) drop-shadow(0 0 68px rgba(255,138,31,.14))}}
@media (prefers-reduced-motion:reduce){#fs-agegate .box>img{animation:none;filter:drop-shadow(0 0 12px rgba(251,168,32,.16)) drop-shadow(0 0 32px rgba(255,138,31,.12)) drop-shadow(0 0 60px rgba(255,138,31,.08))}}

/* v2.59.0 Homepage hero: the background photo ripples and drifts (moved here from the age gate) */
.hero{overflow:hidden}
.hero::before{content:"";position:absolute;inset:-3%;z-index:0;background:url(assets/img/hero-bg.webp) center 62%/cover no-repeat;filter:url(#fs-ripple);animation:fs-bgdrift 35s ease-in-out infinite alternate;will-change:transform}
@media (max-width:700px){.hero::before{filter:none}}
@media (prefers-reduced-motion:reduce){.hero::before{animation:none;filter:none}}

/* v2.60.0 Strains section: dark overlay, heavy at the top and lighter toward the trees */
.section-strains{position:relative}
.section-strains::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(rgba(8,6,5,.88),rgba(8,6,5,.55) 60%,rgba(8,6,5,.25))}
.section-strains>.wrap{position:relative;z-index:1}
.section-strains .section-title,.section-strains .section-sub{color:#fff;text-shadow:none}

/* v2.61.0 Footer: no embers, no orange haze, no glows */
.fs-footer{background:#050403}
.fs-footer::before{box-shadow:none}
.fs-footer .flogo{filter:none}
.fs-footer h2::after{box-shadow:none}
.fs-footer .strip{box-shadow:none}

/* v2.61.1 Shop by Type: gentler hover */
.cat:hover .disc,.cat:focus-visible .disc{transform:translateY(-6px) scale(1.07);box-shadow:0 0 0 7px #fff,0 0 0 9px #fba820,0 12px 22px rgba(0,0,0,.25),0 0 28px rgba(251,168,32,.35)}
.cat:hover span:not(.disc),.cat:focus-visible span:not(.disc){transform:translateY(3px)}

/* v2.62.0 Bar under the header: Instagram link */
.fs-hours a{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:inherit;text-decoration:none}
.fs-hours a:hover span,.fs-hours a:focus-visible span{text-decoration:underline;text-underline-offset:4px}
.fs-hours svg{flex:none;transition:transform .2s ease}
.fs-hours a:hover svg{transform:scale(1.1)}
@media (max-width:600px){.fs-hours svg{width:24px;height:24px}}

/* v2.62.1 Instagram bar: slightly smaller text */
.fs-hours{font-size:21px}
.fs-hours svg{width:24px;height:24px}
@media (max-width:600px){.fs-hours{font-size:17px}.fs-hours svg{width:21px;height:21px}}

/* v2.62.2 Footer menu text matches the Hours text size */
.fs-footer ul{font-size:21px}
.fs-footer ul li::before{border-width:5px 0 5px 8px;border-style:solid;border-color:transparent transparent transparent var(--orange);border-right:0}

/* v2.63.0 Footer Hours column: Instagram and contact links */
.fs-footer .hrs .hrs-links{margin:18px 0 0;font-size:21px}
.fs-footer .hrs .hrs-links li{padding-left:0;margin:0 0 6px}
.fs-footer .hrs .hrs-links li::before{display:none}
.fs-footer .hrs .hrs-links a{display:inline-flex;align-items:center;gap:10px;min-height:36px;color:#fff}
.fs-footer .hrs .hrs-links svg{flex:none;color:var(--orange)}
.fs-footer .hrs .hrs-links a:hover{color:var(--orange);opacity:1}

/* v2.64.0 Footer Hours column: Reviews links */
.fs-footer .hrs .hrs-sub{margin:22px 0 4px;font:700 18px var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}

/* v2.65.0 Homepage: four big buttons (replaces the Allure Cultivation / Lab / Kitchen bubbles) */
.section-bigbtns{padding:54px 0 60px}
.big-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.big-btns .big-btn{justify-content:center;text-align:center;min-height:120px;padding:20px 18px;font-family:var(--font-head);font-size:27px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1.15}
@media (max-width:900px){.big-btns{grid-template-columns:repeat(2,1fr);gap:16px}.big-btns .big-btn{min-height:96px;font-size:21px}}

/* v2.66.0 Big buttons: photo background with a gradient overlay */
.big-btns .big-btn{position:relative;overflow:hidden;min-height:170px;color:#fff;border:1px solid rgba(232,196,93,.6);border-radius:2px;
	background:linear-gradient(135deg,rgba(232,196,93,.30),rgba(251,168,32,.10) 55%,transparent),linear-gradient(to top,rgba(8,6,5,.92),rgba(8,6,5,.35) 70%,rgba(8,6,5,.55)),var(--bb) center/cover no-repeat;
	transition:box-shadow .25s ease,transform .25s ease,background-size .5s ease}
.big-btns .big-btn.btn-grad{color:#fff;background:linear-gradient(135deg,rgba(232,196,93,.30),rgba(251,168,32,.10) 55%,transparent),linear-gradient(to top,rgba(8,6,5,.92),rgba(8,6,5,.35) 70%,rgba(8,6,5,.55)),var(--bb) center/cover no-repeat}
.big-btns .big-btn.bb-allure{background-color:#0a0908;background-size:auto,auto,contain;background-position:center,center,right 6% center}
.big-btns .big-btn.bb-fire{background-position:center,center,center 55%}
.big-btns .big-btn.bb-bangor{background-position:center,center,18% 62%}
.big-btns .big-btn.bb-orono{background-position:center,center,82% 40%}
.big-btns .big-btn span{position:relative;z-index:1;text-shadow:0 2px 14px rgba(0,0,0,.65)}
.big-btns .big-btn:hover,.big-btns .big-btn:focus-visible{background-size:auto,auto,112%;box-shadow:0 0 22px rgba(251,168,32,.35)}
.big-btns .big-btn.bb-allure:hover,.big-btns .big-btn.bb-allure:focus-visible{background-size:auto,auto,contain}
.big-btns .big-btn::before,.big-btns .big-btn::after{border-color:var(--orange);z-index:2}
@media (max-width:900px){.big-btns .big-btn{min-height:130px}}
@media (prefers-reduced-motion:reduce){.big-btns .big-btn{transition:none}}

/* v2.66.1 Big buttons: label sits at the bottom */
.big-btns .big-btn{align-items:flex-end;justify-content:center;padding-bottom:18px}


/* v2.67.0 big buttons: real photos (Allure buds, Orono storefront, Bangor storefront) */
.big-btns .big-btn.bb-allure{background-color:#0a0908;background-size:auto,auto,cover;background-position:center,center,center}
.big-btns .big-btn.bb-allure:hover,.big-btns .big-btn.bb-allure:focus-visible{background-size:auto,auto,112%}
.big-btns .big-btn.bb-orono{background-position:center,center,center 38%}
.big-btns .big-btn.bb-bangor{background-color:#0a0908;background-position:center,center,center 42%}

/* v2.67.2 big buttons: gold tint removed; plain dark gradient 10% (top) to 90% (bottom) */
.big-btns .big-btn,.big-btns .big-btn.btn-grad{background-image:linear-gradient(transparent,transparent),linear-gradient(to top,rgba(8,6,5,.9),rgba(8,6,5,.1)),var(--bb)}

/* v2.67.3 Bangor button: no gradient overlay */
.big-btns .big-btn.bb-bangor,.big-btns .big-btn.bb-bangor.btn-grad{background-image:linear-gradient(transparent,transparent),linear-gradient(transparent,transparent),var(--bb)}

/* v2.67.4 Where to find: map nudged toward center, larger legend text (home + store locator) */
.lab .pic.fs-mapbox{padding-right:110px}
.fs-legend{font-size:17px;gap:26px}
.fs-legend i{width:14px;height:14px}
.fs-legend i.own{width:18px;height:18px}
@media (max-width:900px){.lab .pic.fs-mapbox{padding-right:16px}.fs-legend{font-size:15px;gap:18px}}

/* v2.67.5 homepage legend sits above the Store Locator button */
.lab .txt .fs-legend{justify-content:flex-start;margin:34px 0 34px}

/* v2.67.8 Where to find: Store Locator CTA (white, gold hard shadow, black corners), slightly smaller than 2.67.6 */
.lab .txt .btn{background:#fff;color:#0a0908;font-size:21px;padding:17px 34px;text-transform:uppercase;letter-spacing:.05em;box-shadow:6px 6px 0 #fba820,0 0 26px rgba(255,255,255,.35)}
.lab .txt .btn::before,.lab .txt .btn::after{border-color:#0a0908}
@media (max-width:600px){.lab .txt .btn{font-size:18px;padding:14px 26px}}

/* v2.68.0 big buttons: option A (tall cards, label bottom-left, gold underline) + section title/intro */
.section-bigbtns .section-title{margin:0 0 14px}
.section-bigbtns .bb-intro{max-width:760px;margin:0 0 30px;font-size:19px;line-height:1.5;color:#0a0908}
.big-btns .big-btn{min-height:280px;align-items:flex-end;justify-content:flex-start;text-align:left;padding:22px;font-size:26px;border:0;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.big-btns .big-btn span{border-bottom:4px solid #fba820;padding-bottom:6px}
.big-btns .big-btn::before,.big-btns .big-btn::after{display:none}
@media (max-width:900px){.big-btns .big-btn{min-height:200px;font-size:21px;padding:16px}}

/* v2.68.1 mission quote: big gold quote mark above the text */
.mission .lead::before{content:"\201C";display:block;font-family:var(--font-head);font-size:110px;font-weight:700;line-height:.8;height:54px;margin:0 0 10px;color:var(--gold)}

/* v2.68.2 homepage strain cards: indica/hybrid/sativa colours (same as Strains page), kept inside the white frame */
.section-strains .strain-card[class*="type-"]{border:3px solid #fff;border-top:8px solid var(--tc)}
.section-strains .strain-card[class*="type-"] .strain-type{color:var(--tc)}

/* v2.68.3 View All Strains button matches the Store Locator button (white, gold offset shadow, black corners) */
.section-strains .strain-more .btn{background:#fff;color:#0a0908;font-size:21px;padding:17px 34px;text-transform:uppercase;letter-spacing:.05em;box-shadow:6px 6px 0 #fba820,0 0 26px rgba(255,255,255,.35)}
.section-strains .strain-more .btn::before,.section-strains .strain-more .btn::after{border-color:#0a0908}
@media (max-width:600px){.section-strains .strain-more .btn{font-size:18px;padding:14px 26px}}

/* v2.69.0 homepage strain cards match the Strains page (thin border, coloured top bar, no white frame or hard shadow) */
.section-strains .strain-card,.section-strains .strain-card[class*="type-"]{border:1px solid var(--line);border-radius:14px;box-shadow:none}
.section-strains .strain-card[class*="type-"]{border-top:6px solid var(--tc)}
.section-strains .strain-card:hover,.section-strains .strain-card:focus-visible{box-shadow:none}

/* v2.69.1 footer: light embers (same ember layer as the hero, dimmed) */
.fs-footer .fs-footer-embers{opacity:.5}

/* v2.70.0 About page: Allure Cultivation / Firestorm Lab / Firestorm Kitchen sections */
.page-body:has(.ab-brands){max-width:calc(var(--maxw) + 64px)}
.entry:has(.ab-brands){max-width:none}
.ab-brands{display:grid;gap:56px;margin:48px 0 36px}
.ab-brand{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.ab-brand.ab-flip .ab-photo{order:2}
.ab-photo img{display:block;width:100%;height:auto;aspect-ratio:7/5;object-fit:cover;border-radius:4px;border-top:6px solid #fba820;box-shadow:8px 9px 0 rgba(0,0,0,.18)}
.ab-kicker{display:block;font-family:var(--font-head);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#cc3820;margin:0 0 6px}
.entry .ab-copy h2{margin:0 0 14px;font-size:clamp(28px,3.4vw,38px);text-transform:uppercase}
.entry .ab-copy h2::after{content:"";display:block;width:72px;height:5px;margin:12px 0 0;border-radius:3px;background:var(--grad)}
.ab-copy p{margin:0 0 14px;font-size:18px;line-height:1.55}
.entry .ab-copy a.btn{text-decoration:none;color:#0a0908;margin-top:6px}
@media (max-width:800px){.ab-brand{grid-template-columns:1fr;gap:20px}.ab-brand.ab-flip .ab-photo{order:0}.ab-brands{gap:44px}}

/* v2.72.0 page hero with a photo (Orono menu page: Orono storefront) */
.page-hero--photo{padding:120px 0 104px;background:linear-gradient(rgba(8,6,5,.35),rgba(8,6,5,.72)),#000 var(--ph) center 30%/cover no-repeat}
.page-hero--photo h1{text-shadow:0 3px 22px rgba(0,0,0,.7)}
@media (max-width:700px){.page-hero--photo{padding:80px 0 68px}}

/* v2.73.0 store menu pages: gold strip with address, phone and hours */
.store-strip{display:flex;flex-wrap:wrap;gap:12px 34px;justify-content:center;background:linear-gradient(135deg,#e8c45d,#fba820);color:#0a0908;font-weight:700;font-size:18px;padding:18px 24px;border-radius:4px;margin:0 0 28px}
.store-strip span{display:inline-flex;gap:9px;align-items:center}
.store-strip svg{flex:none}
.entry .store-strip a{color:#0a0908;text-decoration:underline}

/* v2.73.1 store strip sits below the Dutchie menu */
.fs-dutchie + .store-strip,.entry > .store-strip:last-child{margin:32px 0 0}

/* v2.73.4 smaller treeline (about 60% of the old height); the image repeats sideways to fill the width */
.trees{height:clamp(42px,6vw,90px);background-size:auto 100%;background-repeat:repeat-x}
.home .trees{margin-top:calc(-1 * clamp(42px,6vw,90px))}
.section-strains .strain-more{padding-bottom:calc(clamp(42px,6vw,90px) + 20px)}

/* v2.75.0 Shop by Store: Bangor / Orono toggle */
.sbs-tabs{display:flex;justify-content:center;gap:0;margin:26px 0 0}
.sbs-tab{appearance:none;cursor:pointer;font-family:var(--font-head);font-weight:700;font-size:18px;letter-spacing:.05em;text-transform:uppercase;padding:14px 30px;background:#0a0908;color:#fff;border:2px solid #0a0908;transition:background .15s,color .15s}
.sbs-tab:first-child{border-radius:99px 0 0 99px}.sbs-tab:last-child{border-radius:0 99px 99px 0}
.sbs-tab:hover{color:#fba820}
.sbs-tab.is-active{background:var(--grad);color:#0a0908;border-color:#0a0908}
.sbs-tab:focus-visible{outline:3px solid #fba820;outline-offset:2px}
.sbs-panel[hidden]{display:none}
.sbs-panel .live-grid{margin-top:26px}
@media (max-width:600px){.sbs-tab{font-size:15px;padding:12px 16px}}

/* v2.76.0 Store page sections (New Arrivals, Shop by Category, Flower) */
.store-sections{padding-bottom:30px}
.ss-cats{padding:56px 0 20px}
.ss-cats .cats{--d:150px;grid-template-columns:repeat(6,1fr)}
.cat .cat-count{display:block;margin-top:2px;font-size:14px;font-weight:600;color:#6b625a;position:relative;z-index:2}
.ss-flower{padding-top:36px}
@media (max-width:900px){.ss-cats .cats{grid-template-columns:repeat(3,1fr);gap:26px 10px}.ss-cats .cats{--d:150px}}
@media (max-width:520px){.ss-cats .cats{--d:120px}}

/* v2.78.0 Areas served box */
.areas-box{margin:34px 0 8px;padding:28px 30px 30px;background:#0a0908;color:#fff;border-radius:14px;box-shadow:8px 8px 0 #fba820}
.areas-box h2{margin:0 0 8px;font-size:26px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.areas-box p{margin:0 0 16px;color:#e9e3da}
.areas-box ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 18px}
.areas-box li{position:relative;padding-left:22px;font-weight:600}
.areas-box li::before{content:"";position:absolute;left:0;top:.42em;width:10px;height:10px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--grad)}
.areas-box a{color:#fff;text-decoration:none;border-bottom:2px solid #fba820}
.areas-box a:hover{color:#fba820}
@media (max-width:600px){.areas-box ul{grid-template-columns:repeat(2,1fr)}.areas-box{padding:22px 20px 24px;box-shadow:6px 6px 0 #fba820}}

/* v2.79.0 Store toggle above Best Sellers */
.sbs-empty{text-align:center;margin:22px 0 0;font-size:18px}

/* v2.80.0 Daily deal bar (homepage) and two-button hero */
.fs-hours--deal{font-size:20px}
.fs-hours--deal a{gap:8px 14px;flex-wrap:wrap;justify-content:center}
.fs-hours--deal svg{width:26px;height:26px}
.fs-hours--deal .perk-day{display:inline-block;background:#0a0908;color:#fba820;border-radius:99px;padding:5px 14px;font-family:var(--font-head);font-size:13px;font-weight:700;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}
.fs-hours--deal b{font-family:var(--font-head);font-size:1.2em;font-weight:700;line-height:1.1}
.fs-hours--deal b::after{content:"";display:inline-block;width:2px;height:.95em;margin-left:14px;background:currentColor;opacity:.35;vertical-align:-.12em}
.fs-hours--deal span{font-weight:600}
.fs-hours--deal .dd-go{font-style:normal;font-weight:700;font-size:.82em;letter-spacing:.04em;text-decoration:underline;text-underline-offset:4px;text-transform:uppercase}
.fs-hours--deal a:hover .dd-go{color:#fff;text-shadow:0 0 0 #0a0908}
.fs-hours--deal:hover{filter:brightness(1.04)}
@media (max-width:600px){.fs-hours--deal{font-size:16px}.fs-hours--deal a{gap:6px 10px}.fs-hours--deal .perk-day{font-size:11px;padding:4px 10px}.fs-hours--deal b::after{display:none}.fs-hours--deal svg{width:21px;height:21px}}
.perks .wrap{grid-template-columns:repeat(2,minmax(0,1fr));max-width:calc(var(--maxw,1100px) * .82)}
@media (max-width:600px){.perks .wrap{grid-template-columns:1fr}}

/* v2.81.0 Best sellers category toggle */
.sbs-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0 0}
.sbs-cat{appearance:none;cursor:pointer;font-family:var(--font-head);font-weight:700;font-size:16px;letter-spacing:.05em;text-transform:uppercase;padding:11px 22px;border-radius:99px;background:#fff;color:#0a0908;border:2px solid #0a0908;transition:background .15s,color .15s}
.sbs-cat:hover{background:#0a0908;color:#fba820}
.sbs-cat.is-active{background:var(--grad);border-color:#0a0908;color:#0a0908}
.sbs-cat:focus-visible{outline:3px solid #fba820;outline-offset:2px}
.sbs-grid[hidden]{display:none}
.sbs-panel .sbs-grid{margin-top:26px}
@media (max-width:600px){.sbs-cat{font-size:14px;padding:9px 15px}}

}

/* v2.83.0 Where to find Firestorm: more compact */
.lab .fs-map{height:290px}
.lab .pic.fs-mapbox{padding-top:18px;padding-bottom:18px;min-height:0}
.lab .txt{padding-top:30px;padding-bottom:30px}
.lab h2{font-size:33px;margin-bottom:14px}
.lab p{font-size:19px;margin-bottom:12px}
.lab .txt .fs-legend{margin:20px 0 22px}
.lab .txt .btn{font-size:19px;padding:14px 30px}
@media (max-width:980px){.lab .fs-map{height:240px}}
@media (max-width:600px){.lab .txt{padding:26px 24px}.lab .txt .btn{font-size:17px;padding:12px 24px}.lab .fs-map{height:210px}}

/* v2.85.0 Store toggle sits above the Best Sellers heading */
.sbs-tabs{margin:0 0 26px}


/* v2.88.0 Homepage bar: "You are currently shopping: <store>" */
.fs-hours--shop .perk-day{text-transform:uppercase}
.fs-hours--shop b::after{display:none}

/* v2.88.1 Homepage bar: order-online line with a store button */
.fs-hours--shop b{font-size:1.1em}
.fs-hours--shop .dd-go{text-decoration:none;background:#0a0908;color:#fba820;border-radius:99px;padding:7px 18px;font-size:.78em}
.fs-hours--shop a:hover .dd-go{color:#fff}


/* v2.91.0 Product cards: strain and THC chips, NEW / SALE / LOW STOCK badges */
.live-card .live-img{position:relative}
.live-card .badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;z-index:4}
.live-card .badge{font-style:normal;font:700 11px/1 var(--font-head);letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:99px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.badge-new{background:#0a0908;color:#fba820}
.badge-sale{background:#cc3820;color:#fff}
.badge-low{background:#fff;color:#cc3820;border:1.5px solid #cc3820}
.live-card .chips{display:flex;flex-wrap:wrap;gap:5px;margin:3px 0 2px}
.live-card .chip{font-style:normal;font:700 11px/1 var(--font-head);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:99px;background:#efe9de;color:#0a0908}
.live-card .chip-strain{color:#fff;background:#6b6258}
.live-card .chip-strain.is-indica{background:#7a3db8}
.live-card .chip-strain.is-hybrid{background:#1f6fd1}
.live-card .chip-strain.is-sativa{background:#2e9a47}
.live-price s{font-weight:500;opacity:.55;margin-right:2px;font-size:.8em;-webkit-text-fill-color:currentColor}
.live-card.is-sale .live-price{color:#cc3820}

/* v2.92.0 Card style: info on the photo (strain chip bottom left, THC box bottom right, badge top right) */
.live-card{border-radius:14px;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.14);border:1px solid #e3ddd4}
.live-card .live-img .chip-strain{position:absolute;left:10px;bottom:10px;z-index:5;margin:0}
.live-card .thc-box{position:absolute;right:10px;bottom:8px;z-index:5;background:#0a0908;color:#fff;border-radius:10px;padding:6px 10px;text-align:center;font:800 18px/1 var(--font-head)}
.live-card .thc-box small{display:block;font:700 8.5px/1 var(--font-head);letter-spacing:.14em;color:#fba820;margin-bottom:2px}
.live-card .badges{top:10px;left:auto;right:10px;align-items:flex-end}
.live-card .badge{border:1.5px solid currentColor}
.live-card .badge-new{color:#fba820}.live-card .badge-sale{color:#fff}
.live-card .live-body{padding:12px 14px 14px}

/* v2.92.1 Shop by Category on store pages: contour-line background like Weekly Deals */
.ss-cats{position:relative;background:#f3efe8;border-top:1px solid #e3ddd4}
.ss-cats::before{content:"";position:absolute;inset:0;background:url(assets/img/texture-topo.webp) center/cover no-repeat;opacity:.3;pointer-events:none}
.ss-cats>.wrap{position:relative}

/* v2.93.0 Shop by Category matches the footer (black, glow, embers, gold bar below); page heroes get embers; no gold bar between hero and sections */
.page-hero{overflow:hidden}
.page-hero .page-hero-sparks{z-index:1!important}
.page-hero .wrap{position:relative;z-index:2}
.page-hero:has(+ main .store-sections .ss-cats)::after{display:none}
.ss-cats{position:relative;overflow:hidden;color:#fff;border-top:0;border-bottom:6px solid transparent;border-image:var(--grad) 1;
	background:radial-gradient(ellipse 85% 60% at 50% 118%,rgba(251,168,32,.45),transparent 72%),radial-gradient(ellipse 60% 45% at 85% 20%,rgba(255,122,26,.12),transparent 70%),#050403}
.ss-cats::before{display:none}
.ss-cats .ss-embers{opacity:.5}
.ss-cats>.wrap{position:relative;z-index:1}
.ss-cats .section-title{color:#fff;text-shadow:none}
.ss-cats .cat span:not(.disc){color:#fff}
.ss-cats .cat .cat-count{color:#c9c2b8}
.ss-cats .cat:hover span:not(.disc){color:var(--orange)}

/* v2.93.1 Hero photo fades down into the black Shop by Category section (gradient runs from the top of the hero image) */
.page-hero--photo:has(+ main .store-sections .ss-cats){background:linear-gradient(180deg,rgba(5,4,3,.2) 0%,rgba(5,4,3,.5) 40%,rgba(5,4,3,.88) 78%,#050403 100%),#050403 var(--ph) center 30%/cover no-repeat}
.page-hero:not(.page-hero--photo):has(+ main .store-sections .ss-cats){background:linear-gradient(180deg,rgba(5,4,3,.2),#050403)}

/* v2.93.2 Shop by Category: flat black, no glow or haze (embers only) */
.ss-cats{background:#050403}

/* v2.93.3 Photo page hero: larger title, less padding */
.page-hero--photo{padding:64px 0 56px}
.page-hero--photo h1{font-size:clamp(44px,8vw,88px);max-width:none;line-height:1.05}
@media (max-width:700px){.page-hero--photo{padding:44px 0 38px}}

/* v2.93.4 Shop by Category: heading and underline hidden visually (kept for screen readers) */
.ss-cats .section-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ss-cats .section-title::after{display:none}
.ss-cats{padding-top:44px}

/* v2.93.5 Store hero title: stacked with gold rules; tighter space down to the categories */
.page-hero--photo h1{display:inline-block;max-width:100%;font-size:clamp(30px,6.2vw,76px);font-weight:800;text-transform:uppercase;letter-spacing:.1em;line-height:1.1;padding:10px 0;border-top:4px solid #fba820;border-bottom:4px solid #fba820;text-shadow:0 3px 24px rgba(0,0,0,.8)}
.page-hero--photo{padding:56px 0 18px}
.ss-cats{padding-top:14px}
@media (max-width:700px){.page-hero--photo{padding:40px 0 14px}.page-hero--photo h1{letter-spacing:.06em;border-width:3px}}

/* v2.93.6 Store details: compact card above New Arrivals */
.ss-info{padding:34px 0 6px}
.info-card{display:grid;grid-template-columns:1.5fr 1fr 1.3fr auto;gap:18px 34px;align-items:center;background:#0a0908;color:#fff;border-radius:14px;padding:22px 28px;box-shadow:6px 6px 0 var(--orange)}
.info-card .ic-col{display:flex;flex-direction:column;gap:2px;font-size:17px;line-height:1.35}
.info-card .ic-name b{font-family:Poppins,sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff}
.info-card .ic-name span{color:#c9c2b8}
.info-card small{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fba820}
.info-card a:not(.btn){color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.info-card em{font-style:normal;font-size:13px;color:#c9c2b8}
.info-card .ic-btns{display:flex;gap:10px;flex-wrap:wrap}
.info-card .btn{margin:0;white-space:nowrap}
@media (max-width:1000px){.info-card{grid-template-columns:1fr 1fr}.info-card .ic-name,.info-card .ic-btns{grid-column:1/-1}}
@media (max-width:560px){.info-card{grid-template-columns:1fr;padding:20px}}

/* v2.93.7 Store details card: address with small directions button, phone, hours */
.info-card{grid-template-columns:1.6fr 1fr 1fr;align-items:start}
.info-card .ic-addr span{margin-bottom:8px}
.info-card .btn-sm{align-self:flex-start;padding:7px 14px;font-size:14px;min-height:0;margin:0}
@media (max-width:1000px){.info-card{grid-template-columns:1fr 1fr}.info-card .ic-addr{grid-column:1/-1}}
@media (max-width:560px){.info-card{grid-template-columns:1fr}}

/* v2.93.8 Store details card: white (option A), address links to Google Maps directions */
.info-card{background:#fff;color:#0a0908;border:2px solid #0a0908;box-shadow:6px 6px 0 var(--orange)}
.info-card small{color:#a96a00}
.info-card .ic-col{font-size:18px}
.info-card a:not(.btn){color:#0a0908;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.info-card a:not(.btn):hover{color:#a96a00}

/* v2.93.9 Store details card: style D, black "Visit us" tab, white details, black hard shadow */
.info-card{display:flex;align-items:stretch;padding:0;overflow:hidden;gap:0;box-shadow:6px 6px 0 #0a0908}
.info-card .ic-label{flex:none;background:#0a0908;color:var(--gold);font:800 20px Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:0 26px;display:flex;align-items:center}
.info-card .ic-rest{flex:1;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:18px 34px;padding:20px 26px;align-items:start}
@media (max-width:900px){.info-card{flex-direction:column}.info-card .ic-label{padding:12px 20px}.info-card .ic-rest{grid-template-columns:1fr}}

/* v2.94.2 Bangor/Orono page text and Areas we serve box run full width */
.entry:has(.areas-box){max-width:none}
.entry:has(.areas-box) .areas-box{margin-right:8px}
.entry:has(.areas-box) .areas-box ul{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.entry:has(.areas-box) .areas-box ul{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.entry:has(.areas-box) .areas-box ul{grid-template-columns:repeat(2,1fr)}}

/* v2.94.4 Product cards: badge top left, price bottom right */
.live-card .badges{left:10px;right:auto;align-items:flex-start}
.live-card .live-body{display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:end}
.live-card .live-body>small,.live-card .live-body>b{grid-column:1}
.live-card .live-body>small{grid-row:1}
.live-card .live-body>b{grid-row:2}
.live-card .live-price{grid-column:2;grid-row:1/3;align-self:end;display:flex;flex-direction:column;align-items:flex-end;text-align:right;white-space:nowrap}
.live-card .live-price s{margin:0 0 1px}
@media (max-width:520px){.live-card .live-body{grid-template-columns:1fr}.live-card .live-price{grid-column:1;grid-row:3;justify-self:end;margin-top:4px}}
.live-card .thc-box{top:10px;bottom:auto;right:10px}
@media (max-width:520px){.live-card .badges{top:8px;left:8px}.live-card .badge{font-size:9px;padding:4px 7px;letter-spacing:.06em}.live-card .thc-box{top:8px;right:8px;padding:4px 7px;font-size:14px}.live-card .thc-box small{font-size:7px}}

/* v2.95.0 Featured strain band on the Bangor/Orono pages, between New Arrivals and Flower */
.store-sections .ss-feature{margin:72px 0 64px}

/* v2.95.1 Bangor/Orono page: text on the left half, Google map on the right half; Areas we serve below at full width */
.page-body.has-map{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch;padding-bottom:24px}
.page-body.has-map .entry{max-width:none;font-size:18px}
.page-body.has-map .entry p:last-child{margin-bottom:0}
.store-map{min-height:380px;border-radius:14px;overflow:hidden;border:2px solid #0a0908;box-shadow:6px 6px 0 var(--orange);background:#e8e2d6}
.store-map iframe{display:block;width:100%;height:100%;min-height:380px;border:0}
.areas-wrap{padding-bottom:72px}
.areas-wrap .areas-box{margin:24px 8px 0 0}
.areas-wrap .areas-box ul{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.page-body.has-map{grid-template-columns:1fr;gap:28px}.store-map,.store-map iframe{min-height:320px}.areas-wrap .areas-box ul{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.areas-wrap .areas-box ul{grid-template-columns:repeat(2,1fr)}}

/* v2.95.3 Strain/keyword product section: no visible heading, line or count (heading kept for screen readers) */
.ss-keyword .section-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ss-keyword .section-title::after{display:none}
.ss-keyword{padding-top:0}

/* v2.95.4 Dark buttons on a gold/orange background get white corner brackets (orange ones would disappear) */
.feature .btn::before,.feature .btn::after,
.fs-order .btn::before,.fs-order .btn::after,
.ct-ws .btn::before,.ct-ws .btn::after,
.dp-today .btn::before,.dp-today .btn::after,
.deal.is-today .btn::before,.deal.is-today .btn::after,
.dp-row.is-today .btn::before,.dp-row.is-today .btn::after,
.on-gold .btn::before,.on-gold .btn::after{border-color:#fff}


/* v2.96.0 Home page: compact row of featured strain products above Our Strains */
.fs-fp{padding:34px 0 44px}
.fs-fp[hidden]{display:none}
.fs-fp .section-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fs-fp .section-title::after{display:none}
.fs-fp-panel[hidden]{display:none}
.fs-fp .live-grid{margin-top:0}

/* v2.96.2 Featured strain product rows (home page and store pages): side-by-side compact cards, no strain type or THC */
.fs-fp .live-grid,.ss-keyword .live-grid{grid-template-columns:repeat(3,1fr);gap:16px}
.fs-fp .live-card,.ss-keyword .live-card{flex-direction:row;align-items:center;gap:12px;padding:8px;border-radius:12px;overflow:visible}
.fs-fp .live-card .live-img,.ss-keyword .live-card .live-img{flex:none;position:relative;width:96px;aspect-ratio:1/1;border-radius:8px;overflow:visible}
.fs-fp .live-img img,.ss-keyword .live-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px;border-radius:8px}
.fs-fp .live-card .chip-strain,.fs-fp .live-card .thc-box,.ss-keyword .live-card .chip-strain,.ss-keyword .live-card .thc-box{display:none}
.fs-fp .live-card .badges,.ss-keyword .live-card .badges{top:-6px;left:-6px}
.fs-fp .live-card .badge,.ss-keyword .live-card .badge{font-size:8.5px;padding:3px 6px}
.fs-fp .live-card .live-body,.ss-keyword .live-card .live-body{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;padding:0;min-width:0;flex:1}
.fs-fp .live-body small,.ss-keyword .live-body small{font-size:10px}
.fs-fp .live-body b,.ss-keyword .live-body b{font-size:14.5px;line-height:1.2}
.fs-fp .live-card .live-price,.ss-keyword .live-card .live-price{display:block;align-self:flex-start;text-align:left;font-size:16px;margin-top:2px}
@media (max-width:1000px){.fs-fp .live-grid,.ss-keyword .live-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.fs-fp .live-grid,.ss-keyword .live-grid{grid-template-columns:1fr}}

/* v2.96.3 Featured strain products row lives inside the Our Strains section (same dark background) */
.section-strains .fs-fp{padding:0 0 44px;margin:0}
.section-strains .fs-fp .section-title{text-shadow:none}

/* v2.96.4 Best Sellers category buttons: sticker style (white, hard black shadow, presses in when active, gold shadow on hover) */
.sbs-cats{gap:14px}
.sbs-cat{border-radius:8px;box-shadow:4px 4px 0 #0a0908;transition:transform .12s ease,box-shadow .12s ease,background .2s ease,color .2s ease;padding:10px 20px}
.sbs-cat:hover{background:#fff;color:#0a0908;transform:translate(-1px,-1px);box-shadow:6px 6px 0 #fba820}
.sbs-cat.is-active{transform:translate(3px,3px);box-shadow:1px 1px 0 #0a0908}
.sbs-cat.is-active:hover{background:var(--grad);transform:translate(3px,3px);box-shadow:1px 1px 0 #0a0908}
@media (max-width:600px){.sbs-cats{gap:10px}.sbs-cat{padding:8px 14px}}

/* 2.97.3 Loyalty Program intro inside the hero */
.page-hero .ly-hero-line{margin:18px auto 0;max-width:34ch;font:400 clamp(18px,2.4vw,24px)/1.45 Inter,sans-serif;color:#fff}
.page-hero .ly-hero-line em{font-style:normal;color:#e8c45d;font-weight:600}
.page-hero .ly-hero-h{margin:18px 0 0;font:700 clamp(24px,3.6vw,38px)/1.1 var(--font-head);text-transform:uppercase;color:#e8c45d;letter-spacing:.02em}

/* 2.97.4 Cultivation page layout */
.entry:has(.cv){max-width:none;font-size:inherit;line-height:1.5}
.cv .cv-h{margin:56px 0 16px;font:700 clamp(28px,3.6vw,40px)/1.1 var(--font-head);text-transform:uppercase}
.cv .cv-h:first-child{margin-top:0}
.cv .cv-lead{max-width:60ch;margin:0 0 28px;font-size:21px;line-height:1.6}
.cv-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cv-stats li{background:#0a0908;color:#fff;border-radius:8px;padding:24px 18px;text-align:center;border-bottom:4px solid var(--orange)}
.cv-stats b{display:block;font:800 clamp(34px,4.6vw,52px)/1 var(--font-head);color:#e8c45d}
.cv-stats span{display:block;margin-top:8px;font:600 13px/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.cv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cv-steps li{background:#fff;border:2px solid #0a0908;border-radius:8px;padding:22px 22px 20px;box-shadow:5px 5px 0 #0a0908}
.cv-steps b{display:inline-block;background:#fba820;color:#0a0908;font:800 15px var(--font-head);padding:4px 10px;border-radius:99px}
.cv-steps h3{margin:12px 0 6px;font:700 22px/1.2 var(--font-head)}
.cv-steps p{margin:0;font-size:17px;line-height:1.55}
.cv-next{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cv-next a{display:block;background:#0a0908;color:#fff;border-radius:8px;padding:22px;text-decoration:none;border-bottom:4px solid var(--orange)}
.cv-next b{color:#e8c45d;font:800 15px var(--font-head)}
.cv-next span{display:block;margin:6px 0 2px;font:700 22px var(--font-head)}
.cv-next small{display:block;font:600 12px Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#fba820}
.cv-next em{display:block;margin-top:10px;font-style:normal;font-size:16px;color:#e6e0d8}
.cv-next a:hover{background:#1a1511}
@media(max-width:800px){.cv-stats{grid-template-columns:repeat(2,1fr)}.cv-steps,.cv-next{grid-template-columns:1fr}}
.entry .cv-stats,.entry .cv-steps{margin:0;padding:0}
.entry .cv-stats li,.entry .cv-steps li{margin:0}

/* 2.97.5 Featured strain band inside the Cultivation page */
.cv-feat:empty{display:none}
.cv-feat .feature-wrap{margin:72px 0 24px}
.cv-feat .feature{border-radius:0}
.entry .cv-feat .btn,.entry .cv-feat .btn:hover{color:#fff;text-decoration:none}
.entry .cv-feat .chips,.entry .cv-feat .chips li{margin-left:0;padding-left:0}
.entry .cv-feat .chips{margin-top:12px}
.entry .cv-feat .feature h2,.entry .cv-feat .feature h3{margin-top:0}
.cv-feat + .cv .cv-h:first-child{margin-top:48px}

/* 2.97.6 Cultivation featured strain band: full width */
main:has(.cv-feat){overflow-x:clip}
.cv-feat{width:100vw;position:relative;left:50%;margin-left:-50vw}
.cv-feat .feature-wrap{margin:72px 0 0}
.cv-feat + .cv .cv-h:first-child{margin-top:64px}
.cv-next.cv-next--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.cv-next.cv-next--2{grid-template-columns:1fr}}
.cv .cv-sub{margin:26px 0 12px;font:700 13px Inter,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#7a4a12}
.cv .cv-sub + .cv-next{margin-bottom:6px}
.cv .cv-next + .cv-next{margin-top:14px}

/* 2.97.10 Process pages: timeline years, lab test list */
.cv-steps.cv-years b{font-size:16px;padding:5px 14px}
.cv-tests{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cv-tests li{background:#fff;border:2px solid #0a0908;border-radius:8px;padding:18px 20px;font:700 19px var(--font-head);box-shadow:5px 5px 0 var(--orange)}
.entry .cv-tests{margin:0;padding:0}
.entry .cv-tests li{margin:0}
@media(max-width:800px){.cv-tests{grid-template-columns:1fr 1fr}}

/* 2.97.11 Area and landmark pages: directions map */
.loc-map{display:block;width:100%;height:340px;border:2px solid #0a0908;border-radius:8px;margin:20px 0;background:#eee}

/* 2.97.13 Store Locator: map and legend inside the page hero */
.page-hero .locator-map{background:none;border-radius:0;padding:0;margin:22px auto 0;max-width:760px}
.page-hero .locator-map .fs-map{height:480px}
@media (max-width:800px){.page-hero .locator-map .fs-map{height:340px}}

/* 2.97.14 Mobile menu: hamburger button, nav drops down below the logo; sub-menus collapsed behind an arrow */
.fs-burger{display:none;width:48px;height:48px;padding:0;margin:0;background:none;border:1px solid rgba(255,255,255,.35);border-radius:6px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.fs-burger span{display:block;width:24px;height:3px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.fs-sub{display:none}
.fs-burger:hover,.fs-burger:focus-visible{border-color:var(--orange)}
.fs-burger:focus-visible{outline:3px solid #fff;outline-offset:2px}
.fs-header.nav-open .fs-burger span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.fs-header.nav-open .fs-burger span:nth-child(2){opacity:0}
.fs-header.nav-open .fs-burger span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
@media (max-width:800px){
	.fs-burger{display:flex;width:44px;height:44px}
	.fs-logo img{width:150px}
	.fs-header .wrap{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
	.fs-header .fs-nav{display:none;flex:0 0 100%;order:3;border-top:1px solid #333;margin-top:0}
	.fs-header.nav-open .fs-nav{display:block}
	.fs-nav ul{flex-direction:column;flex-wrap:nowrap;gap:0;font-size:18px}
	.fs-nav li{border-bottom:1px solid #222}
	.fs-nav li:last-child{border-bottom:0}
	.fs-nav a{display:block;padding:9px 4px;min-height:44px;box-sizing:border-box}
	.fs-nav li.menu-item-has-children>a::after{display:none}
	.fs-nav li.menu-item-has-children{display:flex;flex-wrap:wrap;align-items:stretch}
	.fs-nav li.menu-item-has-children>a{flex:1 1 auto;width:auto}
	.fs-sub{display:flex;flex:0 0 48px;align-items:center;justify-content:center;background:none;border:0;border-left:1px solid #222;color:#fff;cursor:pointer;padding:0}
	.fs-sub::before{content:"";width:9px;height:9px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s ease}
	.fs-sub:hover,.fs-sub:focus-visible{color:var(--orange)}
	.fs-nav li.sub-open>.fs-sub::before{transform:rotate(-135deg) translateY(-3px)}
	.fs-nav ul ul,.fs-nav li:hover>ul,.fs-nav li:focus-within>ul{display:none;position:static;flex:0 0 100%;min-width:0;background:none;border:0;padding:0 0 4px 16px}
	.fs-nav li.sub-open>ul{display:block}
	.fs-nav ul ul li{border-bottom:0}
	.fs-nav ul ul a{padding:8px 4px;min-height:40px;font-size:16px;font-weight:400;color:#e6e0d8;width:auto}
}

/* 2.97.14 Shop by Type on phones: three icons across, sized to the screen so nothing scrolls sideways */
@media (max-width:600px){
	.cats,.ss-cats .cats{--d:min(104px,calc((100vw - 96px) / 3));grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 10px;margin-top:28px}
	.cat .disc{margin-bottom:12px;box-shadow:0 0 0 4px #fff,4px 6px 0 4px rgba(0,0,0,.18)}
	.cat span{font-size:12px;letter-spacing:0}
	.cat .cat-count{font-size:12px}
}

/* 2.97.15 Homepage hero: 400px tall on desktop, shorter on phones. Smaller Shop Bangor / Shop Orono buttons on phones only. */
.hero{box-sizing:border-box;height:400px;min-height:0;padding:16px 24px 112px}
.hero>img{width:min(272px,70vw)}
.logo-assemble{--u:min(2.72px,.57vw);width:min(272px,70vw)}
@media (max-width:600px){
	.hero{height:250px;padding:12px 16px 56px}
	.hero>img{width:min(170px,48vw)}
	.logo-assemble{--u:min(1.7px,.44vw);width:min(170px,48vw)}
	.perks{margin-top:-40px}
	.perks .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:none}
	.perk{min-height:60px;padding:8px 6px}
	.perk b,.perk.big b{font-size:19px}
	.perk span{font-size:12px}
	.perk::before,.perk::after{width:12px;height:12px}
}
/* 2.97.14 Shop by Type on laptop widths: the six icons shrink to fit instead of running off the right edge */
@media (min-width:981px){
	.cats{--d:min(210px,calc((100vw - 140px) / 6))}
	.ss-cats .cats{--d:min(150px,calc((100vw - 140px) / 6))}
}

/* 2.97.16 Firestorm Locations cards on phones: smaller titles so "Cultivation" is no longer cut off */
@media (max-width:600px){
	.big-btns .big-btn{font-size:14px;letter-spacing:0;padding:12px;overflow-wrap:anywhere}
	.big-btns .big-btn span{border-bottom-width:3px;padding-bottom:5px}
}

/* 2.97.18 Loyalty page: the point cards stack on phones (the old mobile rules were out-ranked by the desktop ones) */
@media (max-width:900px){
	.entry .lh-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
	.entry .lh-grid{grid-template-columns:1fr;gap:18px}
	.entry .lh-card{padding:20px 14px 18px}
}
@media (max-width:480px){
	.entry .lh-card b{font-size:34px}
	.entry .lh-card .n{font-size:16px}
	.entry .lh-card .d{width:64px;height:64px}
}

/* 2.97.19 Phones: the "What we test for" cards stack one per row */
@media (max-width:600px){
	.cv-tests{grid-template-columns:1fr}
}

/* 2.97.20 Daily Deals specials strip on phones: the two buttons share the width and stay inside the box */
@media (max-width:600px){
	.dp-links{padding:18px 16px;gap:12px}
	.dp-links p{font-size:16px}
	.dp-links .dp-shop{display:flex;gap:8px;width:100%}
	.dp-links .dp-shop a{flex:1 1 0;min-width:0;text-align:center;padding:10px 6px;font-size:12px;letter-spacing:.03em}
}

/* 2.97.21 Brands page list */
.fs-brands{margin:28px 0}
.fs-brands-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.fs-brands-list{list-style:none;margin:0;padding:0;columns:3;column-gap:28px}
.fs-brands-list[hidden]{display:none}
.fs-brands-list li{break-inside:avoid;margin:0;padding:7px 0;border-bottom:1px solid rgba(128,128,128,.25)}
.entry .fs-brands-list a{text-decoration:none;font-weight:600;color:inherit}
.entry .fs-brands-list a:hover{text-decoration:underline;color:var(--red)}
@media (max-width:800px){.fs-brands-list{columns:2}}
@media (max-width:600px){.fs-brands-list{columns:1}.fs-brands-tab{flex:1 1 0;justify-content:center;padding:10px 8px;font-size:15px}}
.entry .fs-brands-list{padding-left:0}
.entry .fs-brands-list li{padding-left:0}

/* 2.97.25 Wholesale form */
.ct-single{max-width:720px;margin:28px 0}
@media (max-width:600px){.ct-single .ct-form{padding:22px 18px 18px;box-shadow:5px 5px 0 var(--orange)}.ct-single .ct-row{grid-template-columns:1fr;gap:0}}

/* 2.97.27 About buttons */
.ab-btns{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 0!important}
.entry .ab-copy .ab-btns a.btn-dark{color:#fff}

/* 2.97.29 Default page hero: show the flame (lighter overlay, darker only behind the title, framed on the fire) */
.page-hero:not(.page-hero--photo){background:radial-gradient(ellipse 38% 75% at 50% 50%,rgba(0,0,0,.62) 0%,rgba(0,0,0,.18) 100%),#000 url(assets/img/hero-bg.webp) center 66%/cover no-repeat}
.page-hero:not(.page-hero--photo) h1{text-shadow:0 2px 18px rgba(0,0,0,.85)}
@media (max-width:700px){.page-hero:not(.page-hero--photo){background-size:auto 340%;background-position:58% 64%}}
