/* ===== Halloween add-on theme. Remove the <link> to css/halloween.css (and the .hw-hero block in index.html) to revert. ===== */
:root{--hw-night:#0d0a14;--hw-night2:#171124;--hw-card:#1e1730;--hw-line:#3a2d52;--hw-orange:#ff7a1a;--hw-orange2:#ffa24d;--hw-purple:#8e5cd9;--hw-text:#ece6f5;--hw-mut:#b3a8c7;
 --g9:#f3ecff;--g7:#ff7a1a;--g5:#b48cf0;--g3:#ffa24d;--cream:var(--hw-night);--ink:var(--hw-text);--mut:var(--hw-mut);--line:var(--hw-line);--gold:var(--hw-orange);--sh:0 10px 34px rgba(142,92,217,.28)}
body{background:radial-gradient(900px 600px at 100% 0,#2a1840 0,transparent 60%),var(--hw-night);color:var(--hw-text)}
h1,h2{font-family:"Creepster","Fraunces",Georgia,serif;font-weight:400;letter-spacing:.04em;color:#fff}
h1{text-shadow:0 0 22px rgba(255,122,26,.35)}h2{color:var(--hw-orange2)}
a{color:var(--hw-orange2)}
/* spiderweb corners (all pages) */
body::before,body::after{content:"";position:fixed;top:0;width:150px;height:150px;pointer-events:none;z-index:45;opacity:.35;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23d9cfee' stroke-width='.6'%3E%3Cpath d='M0 0L100 30M0 0L80 80M0 0L30 100M0 0L100 0M0 0L0 100'/%3E%3Cpath d='M0 20Q12 12 20 0M0 42Q28 30 42 0M0 66Q44 48 66 0M0 90Q62 66 90 0'/%3E%3C/svg%3E") no-repeat}
body::before{left:0}body::after{right:0;transform:scaleX(-1)}
/* header / nav */
.hdr{background:rgba(13,10,20,.88);border-bottom:1px solid var(--hw-line)}
.nav a,.mnav a{color:var(--hw-text)}.nav a[aria-current=page],.nav a:hover{background:rgba(255,122,26,.14);color:var(--hw-orange2)}
.icon-btn{background:var(--hw-card);border-color:var(--hw-line);color:var(--hw-text)}.badge{background:var(--hw-orange)}
.logo img{background:#fff;border-radius:8px;padding:2px 6px}
/* buttons */
.btn{background:linear-gradient(135deg,var(--hw-orange),#e0560b);color:#140b04;box-shadow:0 6px 20px rgba(255,122,26,.25)}
.btn:hover{background:linear-gradient(135deg,var(--hw-orange2),var(--hw-orange));box-shadow:0 8px 26px rgba(255,122,26,.45)}
.btn.alt{background:transparent;color:var(--hw-text);box-shadow:inset 0 0 0 2px var(--hw-purple)}.btn.alt:hover{background:rgba(142,92,217,.18)}
.btn.gold{background:linear-gradient(135deg,var(--hw-orange),#e0560b);color:#140b04}
.add{background:var(--hw-purple);color:#fff}
/* original hero, cards, panels */
.hero{background:radial-gradient(1000px 500px at 85% -10%,#3b2060 0,transparent 60%),linear-gradient(160deg,#120d1c,#1b1030)}
.hero p{color:var(--hw-mut)}.hero .eyebrow,.eyebrow{color:var(--hw-orange2)}.pill{border-color:rgba(142,92,217,.5);background:rgba(142,92,217,.14)}
.cat,.card,.way,.filters,.chip,.drawer,.modal,.box,.field,.filters select,.filters input{background:var(--hw-card)!important;border-color:var(--hw-line)!important;color:var(--hw-text)}
.cat,.card,.way{border-top:2px solid rgba(255,122,26,.55)!important}
.cat:hover,.card:hover,.way:hover{box-shadow:0 0 0 1px var(--hw-purple),0 12px 34px rgba(142,92,217,.35)}
.cat img,.card img{background:#2a2140}
.tag{background:#2d2244;color:#d8c8f5}.tag.deal{background:var(--hw-orange);color:#140b04}
.chip[aria-pressed=true]{background:var(--hw-orange);border-color:var(--hw-orange);color:#140b04}
.band{background:linear-gradient(160deg,#1a1029,#0f0b18);color:var(--hw-mut)}.band h2{color:var(--hw-orange2)}
.demo-note{background:#241a10;border-color:var(--hw-orange);color:var(--hw-text)}
footer,.ftr{background:#08060d!important;color:var(--hw-mut)}
/* age gate */
.age{background:radial-gradient(circle at 50% 30%,rgba(60,30,95,.85),rgba(6,4,10,.96))!important}
.age .box{border:1px solid var(--hw-purple)!important;box-shadow:0 0 60px rgba(255,122,26,.25);position:relative}
.age .box::before{content:"";position:absolute;top:-34px;right:-26px;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6dd,#ffd38a 60%,#e8a548);box-shadow:0 0 40px rgba(255,211,138,.6)}
.age h2{color:var(--hw-orange2)}
/* seasonal banner */
.hw-hero{position:relative;overflow:hidden;text-align:center;padding:clamp(56px,9vw,110px) 0;background:radial-gradient(700px 300px at 50% 120%,rgba(255,122,26,.28),transparent 70%),linear-gradient(180deg,#07050c,#1a1030);border-bottom:1px solid var(--hw-line)}
.hw-hero .wrap{position:relative;z-index:2}.hw-hero h2{font-size:clamp(2.4rem,7vw,4.6rem);color:var(--hw-orange);text-shadow:0 0 28px rgba(255,122,26,.45)}
.hw-hero p{max-width:60ch;margin:0 auto 22px;color:var(--hw-mut);font-size:1.1rem}.hw-cta{font-size:1.1rem;padding:1em 1.8em}.hw-fine{font-size:.8rem!important;margin-top:16px!important;opacity:.75}
.hw-moon{position:absolute;top:28px;right:9%;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 38% 38%,#fffbe8,#f6dc9c 55%,#d9a75a);box-shadow:0 0 60px 10px rgba(246,220,156,.35);opacity:.9}
.hw-bats i{position:absolute;width:44px;height:18px;background:#000;opacity:.8;
 clip-path:polygon(0 30%,15% 0,25% 40%,40% 25%,50% 45%,60% 25%,75% 40%,85% 0,100% 30%,85% 70%,70% 55%,58% 80%,50% 65%,42% 80%,30% 55%,15% 70%);animation:hw-fly 9s ease-in-out infinite}
.hw-bats i:nth-child(1){top:40px;left:12%}.hw-bats i:nth-child(2){top:90px;left:22%;transform:scale(.7);animation-delay:-3s}.hw-bats i:nth-child(3){top:60px;right:22%;transform:scale(.55);animation-delay:-6s}
.hw-float span{position:absolute;font-size:2rem;opacity:.45;filter:saturate(.7);animation:hw-bob 6s ease-in-out infinite}
.hw-float span:nth-child(1){bottom:24px;left:7%}.hw-float span:nth-child(2){top:45%;left:4%;animation-delay:-2s;opacity:.3}.hw-float span:nth-child(3){bottom:30px;right:8%;animation-delay:-4s}
@keyframes hw-fly{0%,100%{translate:0 0}50%{translate:30px -14px}}
@keyframes hw-bob{0%,100%{translate:0 0}50%{translate:0 -12px}}
@media(max-width:640px){.hw-moon{width:64px;height:64px;top:16px;right:6%}.hw-float span:nth-child(2){display:none}body::before,body::after{width:90px;height:90px}}
@media(prefers-reduced-motion:reduce){.hw-bats i,.hw-float span{animation:none}.btn,.cat,.card{transition:none}}
/* fixes */
section[style*="#eef3ea"]{background:linear-gradient(180deg,#140e20,#1b1229)!important}
h1{font-family:"Fraunces",Georgia,serif;font-weight:800;letter-spacing:0}
.page-hero{background:radial-gradient(800px 300px at 85% -20%,#3b2060 0,transparent 60%),linear-gradient(160deg,#120d1c,#1b1030);color:var(--hw-mut);border-bottom:1px solid var(--hw-line)}
.page-hero .eyebrow{color:var(--hw-orange2)}.page-hero h1{color:#fff}
