/* ============================================================================
   GiftsPaylo — Halloween skin over the festival engine (loads after festival.css)
   the sister edition is violet/orange with a castle; GiftsPaylo is lime/orange in a graveyard:
   toxic-green glow, candle-light, bone-white serif display, DM Sans body.
   ========================================================================== */
:root{--hw-bg:#070906;--hw-bg2:#0E120D;--hw-orange:#FF8C1A;--hw-orange2:#FFB347;--hw-violet:#8CFF3C;--hw-violet2:#4CB31F;--hw-bone:#F4F1E6;--hw-fog:#C3CABB;--hw-green:#8CFF3C;--hw-lime:#D9FF63;--hw-line:rgba(217,255,99,.22);--hw-display:'Metal Mania','Creepster',cursive;--hw-body:'DM Sans',system-ui,sans-serif}

/* ---------- strip: HALLOWEEN SPECIAL | up to 30% OFF selected gift cards | Shop now ---------- */
.fest-strip{background:radial-gradient(900px 120px at 15% 120%,rgba(255,140,26,.35),transparent 60%),radial-gradient(700px 140px at 85% -20%,rgba(140,255,60,.28),transparent 60%),linear-gradient(90deg,#0A0E09 0%,#101710 50%,#0A0E09 100%);border-bottom:1px solid rgba(217,255,99,.28);gap:18px}
.fest-strip .fs-aurora{background:linear-gradient(90deg,transparent 0%,rgba(140,255,60,.16) 30%,rgba(255,140,26,.14) 55%,rgba(140,255,60,.12) 80%,transparent 100%)}
.fest-strip .fs-name{font:400 1.7rem/1 var(--hw-display);letter-spacing:.06em;color:var(--hw-orange);text-transform:uppercase;text-shadow:0 1px 0 #7a3a00,0 2px 0 #5a2a00,0 3px 0 #3f1d00,0 6px 14px rgba(0,0,0,.6),0 0 22px rgba(255,140,26,.5)}
.fest-strip .fs-sep{width:1px;height:30px;background:rgba(244,241,230,.25)}
.fest-strip .fs-text{font-family:var(--hw-body);font-size:.92rem;color:var(--hw-fog);display:inline-flex;align-items:center;gap:10px}
.fest-strip .fs-text b{font:400 1.75rem/1 var(--hw-display);color:var(--hw-lime);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 0 16px rgba(217,255,99,.55),0 2px 0 #3d5a00}
.fest-strip .fs-sel{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--hw-bone)}
.fest-strip .fs-cta{background:linear-gradient(180deg,#FFA43A,#FF861C);color:#1a0d00;box-shadow:0 8px 24px rgba(255,134,28,.4),inset 0 1px 0 rgba(255,255,255,.45)}
.fest-strip .fs-timer{border-color:rgba(217,255,99,.25)}
.fest-strip .fs-timer .hw-timer-d b{background:#172011;color:var(--hw-lime);border-color:rgba(217,255,99,.3)}
.fest-strip .fs-pump3d .fs-pump-glow{background:radial-gradient(closest-side,rgba(255,140,26,.55),transparent)}
@media(max-width:760px){.fest-strip .fs-sep,.fest-strip .fs-sel{display:none}.fest-strip .fs-name{font-size:1.3rem}.fest-strip .fs-text b{font-size:1.3rem}}

/* ---------- cinematic hero ---------- */
.hw-cine.paylo{background:#070906;color:var(--hw-bone);border-radius:0 0 28px 28px}
.hw-cine.paylo .hw-shade{background:linear-gradient(90deg,rgba(7,9,6,.96) 0%,rgba(7,9,6,.9) 30%,rgba(7,9,6,.72) 44%,rgba(7,9,6,.25) 58%,rgba(7,9,6,0) 70%),linear-gradient(180deg,rgba(7,9,6,.3) 0%,rgba(7,9,6,0) 22%,rgba(7,9,6,0) 78%,rgba(7,9,6,.6) 100%)}
.hw-cine.paylo .hw-copy-in{max-width:620px;font-family:var(--hw-body)}
.hw-cine.paylo .hw-kicker{background:rgba(7,9,6,.6);border-color:rgba(217,255,99,.35);color:var(--hw-bone);font-family:var(--hw-body)}
.hw-cine.paylo .hw-kicker i{background:var(--hw-lime);box-shadow:0 0 0 4px rgba(217,255,99,.2)}
.hw-cine.paylo .hw-brand{font:800 .95rem/1 var(--hw-body);letter-spacing:.08em;text-transform:uppercase;color:var(--hw-fog)}
.hw-cine.paylo .hw-brand em{font-style:normal;color:var(--hw-lime)}
.hw-cine.paylo .hw-title{margin:6px 0 10px;line-height:.9;font-size:clamp(3rem,6.6vw,5.6rem);letter-spacing:.01em}
.hw-cine.paylo .hw-title .hw-t1{display:block;color:#F6F1E3;background:linear-gradient(180deg,#FFFFFF 0%,#F1ECDD 45%,#CFC6AC 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 #2b2a1f) drop-shadow(0 0 22px rgba(255,255,255,.14))}
.hw-cine.paylo .hw-title .hw-t2{display:block;font-size:.78em;color:var(--hw-lime);background:linear-gradient(180deg,#EDFFB0 0%,#D9FF63 45%,#8CDC2A 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 #2f4a00) drop-shadow(0 0 26px rgba(217,255,99,.45))}
.hw-cine.paylo .hw-sticker{display:inline-flex;align-items:center;gap:10px;margin:4px 0 16px;padding:8px 20px 8px 18px;background:linear-gradient(180deg,#FFA43A,#FF7A0D);color:#1a0d00;border-radius:6px;transform:rotate(-2deg);box-shadow:0 10px 30px rgba(255,134,28,.4),inset 0 1px 0 rgba(255,255,255,.45);font:400 clamp(1.8rem,3.4vw,2.9rem)/1 var(--hw-display);letter-spacing:.05em;text-transform:uppercase;position:relative}
.hw-cine.paylo .hw-sticker::before{content:'';position:absolute;inset:-5px;border:2px dashed rgba(255,164,58,.55);border-radius:9px;transform:rotate(1.5deg);pointer-events:none}
.hw-cine.paylo .hw-sticker svg{width:1.15em;height:1.15em;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));animation:hw-pump-wobble 3s ease-in-out infinite}
@keyframes hw-pump-wobble{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(8deg)}}
.hw-cine.paylo .hw-sub{font:700 clamp(1.15rem,2vw,1.5rem)/1.3 var(--hw-body);color:#fff;max-width:30ch;letter-spacing:-.01em;margin:0 0 8px}
.hw-cine.paylo .hw-sub b{color:var(--hw-lime);text-shadow:0 0 18px rgba(217,255,99,.35)}
.hw-cine.paylo .hw-lede{font-family:var(--hw-body);color:var(--hw-fog);font-size:1.02rem;max-width:52ch}
.hw-cine.paylo .hw-ctas{gap:14px;align-items:center}
.hw-cine.paylo .hw-btn{background:var(--hw-lime);color:#151916;box-shadow:0 1px 0 rgba(21,25,22,.25),0 10px 26px -8px rgba(217,255,99,.7);font-family:var(--hw-body);font-weight:800;border-radius:14px}
.hw-cine.paylo .hw-btn:hover{background:#E6FF8A;transform:translateY(-1px)}
.hw-cine.paylo .hw-btn.ghost{background:rgba(7,9,6,.6);color:#fff;border:1px solid rgba(244,241,230,.28);box-shadow:none;backdrop-filter:blur(6px)}
.hw-cine.paylo .hw-btn.ghost svg{width:18px;height:18px}
.hw-cine.paylo .hw-link{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--hw-lime)}
.hw-cine.paylo .hw-stats li{background:rgba(7,9,6,.55);border:1px solid rgba(217,255,99,.18);backdrop-filter:blur(6px);font-family:var(--hw-body)}
.hw-cine.paylo .hw-stats li i{background:rgba(217,255,99,.12);border-color:rgba(217,255,99,.3)}
.hw-cine.paylo .hw-stats b{color:var(--hw-lime)}
.hw-cine.paylo .hw-timer{background:rgba(7,9,6,.65);border-color:rgba(255,140,26,.35);backdrop-filter:blur(6px)}
.hw-cine.paylo .hw-timer-d b{background:#141a10;color:var(--hw-lime);border-color:rgba(217,255,99,.25)}
.hw-cine.paylo .hw-timer-d u{color:var(--hw-fog)}
.hw-cine.paylo .hw-pause{background:rgba(7,9,6,.7);border-color:rgba(244,241,230,.2)}
@media(max-width:760px){.hw-cine.paylo .hw-title{font-size:clamp(2.6rem,12vw,3.4rem)}.hw-cine.paylo .hw-sticker{font-size:1.7rem;padding:7px 14px}.hw-cine.paylo .hw-shade{background:linear-gradient(180deg,rgba(7,9,6,.3) 0%,rgba(7,9,6,.86) 42%,rgba(7,9,6,.96) 100%)}}

/* ---------- page body, toolbar, sidebar, rails, tiles ---------- */
.hw-page{background:var(--hw-bg);font-family:var(--hw-body)}
.hw-toolbar{background:rgba(10,14,9,.92);border-color:rgba(217,255,99,.18)}
.hw-search:focus-within{border-color:var(--hw-lime);box-shadow:0 0 0 3px rgba(217,255,99,.18)}
.hw-vals button[aria-pressed=true],.hw-seg button[aria-pressed=true]{background:var(--hw-lime);color:#151916;border-color:var(--hw-lime)}
.hw-side{background:#0E120D;border-color:rgba(217,255,99,.16)}
.hw-cat[aria-pressed=true]{background:rgba(217,255,99,.12);border-color:rgba(217,255,99,.45)}
.hw-cat small{color:var(--hw-lime)}
.hw-sec-h h2{font-family:var(--hw-display);letter-spacing:.03em;color:var(--hw-bone)}
.hw-sec-r .rate{background:rgba(255,140,26,.14);color:var(--hw-orange2);border-color:rgba(255,140,26,.35)}
.hw-all{color:var(--hw-lime)}
.hw-arr{background:#141a10;border-color:rgba(217,255,99,.25);color:var(--hw-lime)}
.gp-sd.fest{background:linear-gradient(180deg,#141a11,#0C100B);border-color:rgba(217,255,99,.18)}
.gp-sd.fest:hover{border-color:rgba(217,255,99,.5);box-shadow:0 14px 34px rgba(0,0,0,.5),0 0 0 1px rgba(217,255,99,.25)}
.gp-sd.fest .face::after{background:linear-gradient(180deg,transparent 55%,rgba(7,9,6,.78))}
.gp-sd.fest .nm b{color:#fff}
.gp-sd .vals button{background:#141a10;border-color:rgba(244,241,230,.14);color:var(--hw-fog)}
.gp-sd .vals button[aria-pressed=true]{background:var(--hw-lime);color:#151916;border-color:var(--hw-lime)}
.gp-sd.fest .pr b{color:var(--hw-lime)}
.gp-sd.fest .sv{color:var(--hw-orange2)}
.gp-sd.fest .gp-btn,.gp-sd.fest .btn{background:var(--hw-lime);color:#151916;box-shadow:none;font-weight:800}
.gp-sd.fest .gp-btn:hover,.gp-sd.fest .btn:hover{background:#E6FF8A}
.hw-how div,.hw-faq details,.hw-sell{background:#0E120D;border-color:rgba(217,255,99,.16)}
.hw-how b,.hw-faq summary{color:var(--hw-bone)}
.hw-sell h2{font-family:var(--hw-display);color:var(--hw-lime)}
.hw-sell .hw-btn{background:var(--hw-lime);color:#151916}

/* homepage rail + card page sale badge */
.fest-rail{background:linear-gradient(180deg,#0E120D,#0A0D09)!important;border-color:rgba(217,255,99,.2)!important}
.fest-rail::before{background:radial-gradient(600px 200px at 10% 0%,rgba(140,255,60,.18),transparent 60%),radial-gradient(500px 200px at 90% 100%,rgba(255,140,26,.18),transparent 60%)}
.fest-rail .gp-sdflash{background:rgba(255,140,26,.16);color:var(--hw-orange2);border-color:rgba(255,140,26,.4)}
.fest-rail .fest-h2{font-family:var(--hw-display);letter-spacing:.03em}
.fest-rail .fest-h2 .off{color:var(--hw-lime)}
.gp-sdhead.fest .gp-sdtimer.fest b{color:var(--hw-lime)}
.gp-pdp-sale.fest{background:linear-gradient(180deg,#FFA43A,#FF7A0D)!important;color:#1a0d00!important}
.gp-drawer-promo.fest{border-color:rgba(255,140,26,.4)}
.gp-nav a.hot{color:var(--hw-orange2)!important}

/* homepage hero while the festival is live — the reference layout: copy left, graveyard + cards right */
.gp-hero-in.hw-home{background:linear-gradient(90deg,rgba(7,9,6,.96) 0%,rgba(7,9,6,.88) 36%,rgba(7,9,6,.35) 56%,rgba(7,9,6,.05) 72%),url(../img/halloween-hero.jpg) right center/cover no-repeat,#070906!important;border-color:rgba(217,255,99,.2);color:var(--hw-bone);position:relative}
.gp-hero-in.hw-home::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,9,6,0) 70%,rgba(7,9,6,.6) 100%)}
.gp-hero-in.hw-home>*{position:relative;z-index:1}
.gp-hero-in.hw-home .gp-stage{opacity:0;pointer-events:none}
.gp-hero-in.hw-home .gp-hero-h{font-family:var(--hw-display);font-weight:400;letter-spacing:.01em;line-height:.9;font-size:clamp(3rem,6.4vw,5.4rem)}
.gp-hero-in.hw-home .gp-hero-h .hw-t1{color:#F6F1E3;background:linear-gradient(180deg,#FFFFFF 0%,#F1ECDD 45%,#CFC6AC 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 #2b2a1f)}
.gp-hero-in.hw-home .gp-hero-h .hw-t2{font-size:.78em;color:var(--hw-lime);background:linear-gradient(180deg,#EDFFB0 0%,#D9FF63 45%,#8CDC2A 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 #2f4a00) drop-shadow(0 0 26px rgba(217,255,99,.4))}
.gp-hero-in.hw-home .hw-sticker{display:inline-flex;align-items:center;gap:10px;margin:14px 0 4px;padding:8px 20px 8px 18px;background:linear-gradient(180deg,#FFA43A,#FF7A0D);color:#1a0d00;border-radius:6px;transform:rotate(-2deg);box-shadow:0 10px 30px rgba(255,134,28,.4),inset 0 1px 0 rgba(255,255,255,.45);font:400 clamp(1.8rem,3.4vw,2.9rem)/1 var(--hw-display);letter-spacing:.05em;text-transform:uppercase;position:relative}
.gp-hero-in.hw-home .hw-sticker::before{content:'';position:absolute;inset:-5px;border:2px dashed rgba(255,164,58,.55);border-radius:9px;transform:rotate(1.5deg)}
.gp-hero-in.hw-home .hw-sticker svg{width:1.15em;height:1.15em;animation:hw-pump-wobble 3s ease-in-out infinite}
.gp-hero-in.hw-home .gp-hero-sub{color:#fff}
.gp-hero-in.hw-home .gp-hero-p{color:var(--hw-fog)}
.gp-hero-in.hw-home .gp-hero-rating{background:rgba(7,9,6,.55);border-color:rgba(244,241,230,.2);color:var(--hw-bone)}
.gp-hero-in.hw-home .gp-btn-ghost{background:rgba(7,9,6,.55);color:#fff;border-color:rgba(244,241,230,.28)}
.gp-hero-in.hw-home .gp-link{color:#fff;text-decoration-color:var(--hw-lime)}
.gp-hero-in.hw-home .hw-home-bats{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.gp-hero-in.hw-home .hw-home-bats .hw-bat{position:absolute;width:58px;opacity:.9;offset-path:path('M -80 120 C 300 20, 700 200, 1500 60');animation:hw-home-bat 18s linear infinite}
.gp-hero-in.hw-home .hw-home-bats .hw-bat.b2{width:40px;animation-duration:24s;animation-delay:-9s;offset-path:path('M -80 260 C 400 120, 900 320, 1500 140')}
.gp-hero-in.hw-home .hw-home-bats .hw-bat.b3{width:32px;animation-duration:30s;animation-delay:-16s;offset-path:path('M 1500 90 C 1000 10, 600 180, -80 40')}
@keyframes hw-home-bat{from{offset-distance:0%}to{offset-distance:100%}}
.gp-trust.hw-trust{border-color:rgba(217,255,99,.2);background:#0A0D09}
@media(max-width:900px){.gp-hero-in.hw-home{background:linear-gradient(180deg,rgba(7,9,6,.35) 0%,rgba(7,9,6,.9) 45%,rgba(7,9,6,.97) 100%),url(../img/halloween-hero-m.jpg) center top/cover no-repeat,#070906!important;min-height:0}.gp-hero-in.hw-home .gp-stage{display:none}.gp-hero-in.hw-home .gp-hero-copy{padding-top:150px}}
@media(prefers-reduced-motion:reduce){.hw-home-bats .hw-bat,.hw-sticker svg{animation:none!important}}
.hw-sticker .pk{font-style:normal;font-size:.9em;line-height:1;display:inline-block;animation:hw-pump-wobble 3s ease-in-out infinite;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.hw-cine.paylo .hw-copy{max-width:var(--gp-max,1320px);padding-left:calc(var(--gp-gut,24px) + 32px);padding-right:var(--gp-gut,24px)}
.hw-cine.paylo .hw-plate{object-position:72% center}
@media(min-width:1700px){.hw-cine.paylo .hw-plate{object-position:center}}
.hw-sec-r .rate b,.hw-sec-r .rate strong{color:var(--hw-lime)}
@media(max-width:760px){
  .hw-cine.paylo .hw-copy{padding-top:250px;padding-left:20px;padding-right:20px;min-height:0}
  .hw-cine.paylo .hw-plate{object-position:center top}
  .hw-cine.paylo .hw-shade{background:linear-gradient(180deg,rgba(7,9,6,.15) 0%,rgba(7,9,6,.25) 22%,rgba(7,9,6,.9) 34%,rgba(7,9,6,.97) 100%)}
}
@media(max-width:900px){.gp-hero-in.hw-home .gp-hero-copy{padding-top:250px}.gp-hero-in.hw-home{background:linear-gradient(180deg,rgba(7,9,6,.1) 0%,rgba(7,9,6,.2) 24%,rgba(7,9,6,.92) 36%,rgba(7,9,6,.98) 100%),url(../img/halloween-hero-m.jpg) center top/100% auto no-repeat,#070906!important}}
.fest-strip,.fest-strip *{text-decoration:none!important}
.gp-sdtimer.fest{background:#0E120D;border-color:rgba(217,255,99,.22)}
.gp-sdtimer.fest b i,.gp-sdtimer.fest .hw-timer-d i,.gp-sdtimer.fest b span{background:#172011!important;border-color:rgba(217,255,99,.28)!important;color:var(--hw-lime)!important}
.gp-sdtimer.fest b u,.gp-sdtimer.fest .hw-timer-d u{color:var(--hw-fog)!important}

/* ---------- homepage Halloween ad band (below the normal hero) ---------- */
.hw-adband{position:relative;display:flex;align-items:center;gap:18px;flex-wrap:wrap;max-width:var(--gp-max,1320px);margin:18px auto 0;padding:18px 28px;min-height:96px;border-radius:20px;overflow:hidden;isolation:isolate;text-decoration:none!important;color:var(--hw-bone);border:1.5px solid rgba(217,255,99,.35);background:#0A0D09;box-shadow:0 0 0 1px rgba(255,140,26,.15),0 18px 40px rgba(0,0,0,.45)}
.hw-adband-art{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,13,9,.94) 0%,rgba(10,13,9,.8) 45%,rgba(10,13,9,.55) 75%,rgba(10,13,9,.85) 100%),url(../img/halloween-hero.jpg) 70% 62%/cover no-repeat}
.hw-adband::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(500px 120px at 8% 100%,rgba(255,140,26,.35),transparent 60%),radial-gradient(500px 140px at 70% 0%,rgba(140,255,60,.18),transparent 60%)}
.hw-adband-pk{font-size:2.6rem;line-height:1;filter:drop-shadow(0 0 14px rgba(255,140,26,.7));animation:hw-pump-wobble 3s ease-in-out infinite}
.hw-adband-t1{font:400 clamp(1.6rem,3vw,2.4rem)/1 var(--hw-display);text-transform:uppercase;letter-spacing:.05em;color:var(--hw-orange);text-shadow:0 1px 0 #7a3a00,0 2px 0 #5a2a00,0 3px 0 #3f1d00,0 0 22px rgba(255,140,26,.5)}
.hw-adband-sep{width:2px;height:46px;background:rgba(244,241,230,.25)}
.hw-adband-t2{font:400 clamp(1.8rem,3.4vw,2.8rem)/1 var(--hw-display);text-transform:uppercase;letter-spacing:.04em;color:var(--hw-lime);text-shadow:0 0 18px rgba(217,255,99,.5),0 2px 0 #3d5a00}
.hw-adband-t3{display:flex;flex-direction:column;gap:4px;font:800 .82rem/1.2 var(--hw-body);letter-spacing:.14em;text-transform:uppercase;color:var(--hw-bone)}
.hw-adband-t3 small{font-weight:600;letter-spacing:0;text-transform:none;color:var(--hw-fog);font-size:.82rem}
.hw-adband-cta{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:12px 22px;border-radius:12px;background:linear-gradient(180deg,#FFA43A,#FF861C);color:#1a0d00;font:800 .95rem var(--hw-body);text-transform:uppercase;letter-spacing:.04em;box-shadow:0 8px 24px rgba(255,134,28,.45),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .15s}
.hw-adband:hover .hw-adband-cta{transform:translateY(-1px) scale(1.03)}
@media(max-width:900px){.hw-adband{margin:14px 12px 0;padding:16px 18px;gap:10px 14px}.hw-adband-sep{display:none}.hw-adband-cta{margin-left:0;width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.hw-adband-pk{animation:none}}
.hw-adband{width:calc(100% - 2 * var(--gp-gut,24px));max-width:calc(var(--gp-max,1320px) - 2 * var(--gp-gut,24px))}
@media(max-width:900px){.hw-adband{width:auto;max-width:none}}
@media(max-width:600px){.hw-adband-art{opacity:.28}.hw-adband-t3 small{text-shadow:0 1px 3px #000}}
