/* Halloween 2026 skin, shared by the blog article and the Prism store page.
   Everything is scoped to .hw-* or html.hw-on so removing the <link> (or the
   HW_END date passing in includes/halloween.php) puts both pages back as they were. */

html.hw-on{--hw-orange:#ff8a1f;--hw-amber:#ffb454;--hw-night:#070d1c;--hw-blue:#2a7dd8}

/* ── The ticket: the one thing the visitor must see ───────────────────── */
.hw-ticket{position:relative;max-width:760px;margin:38px auto;padding:30px 28px 26px;border-radius:26px;text-align:center;
  background:radial-gradient(120% 140% at 50% 0%,rgba(255,138,31,.16),transparent 55%),linear-gradient(160deg,#0f1b36,#070d1c);
  border:1px solid rgba(255,138,31,.45);box-shadow:0 0 0 6px rgba(255,138,31,.07),0 24px 70px rgba(0,0,0,.55),0 0 60px rgba(255,138,31,.18);overflow:hidden;isolation:isolate}
.hw-ticket::before,.hw-ticket::after{content:"";position:absolute;top:50%;width:34px;height:34px;border-radius:50%;background:var(--bg,#0a0a0f);
  border:1px solid rgba(255,138,31,.45);transform:translateY(-50%);z-index:1}
.hw-ticket::before{left:-18px}.hw-ticket::after{right:-18px}
.hw-kicker{font:700 12px/1 'Orbitron',sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--hw-amber,#ffb454);margin:0 0 10px}
.hw-off{margin:0;font:900 clamp(44px,9vw,84px)/1 'Orbitron',sans-serif;color:#fff;letter-spacing:.02em;
  text-shadow:0 0 28px rgba(255,138,31,.55),0 4px 0 rgba(0,0,0,.35)}
.hw-off small{display:block;margin-top:8px;font:600 clamp(13px,2.4vw,17px)/1.4 'Exo 2',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.75);text-shadow:none}
.hw-codebox{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:22px auto 6px;padding:16px 18px;max-width:520px;
  border-radius:18px;border:2px dashed rgba(255,180,84,.7);background:rgba(255,255,255,.04)}
.hw-code{font:900 clamp(34px,8vw,58px)/1 'Orbitron',sans-serif;letter-spacing:.14em;color:var(--hw-amber,#ffb454);
  text-shadow:0 0 22px rgba(255,138,31,.7);direction:ltr;user-select:all}
.hw-copy{cursor:pointer;border:0;border-radius:999px;padding:13px 26px;font:800 14px/1 'Exo 2',sans-serif;letter-spacing:.06em;color:#1a0d00;
  background:linear-gradient(135deg,#ffb454,#ff8a1f);box-shadow:0 8px 24px rgba(255,138,31,.4);transition:transform .2s,box-shadow .2s}
.hw-copy:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,138,31,.55)}
.hw-copy.is-done{background:linear-gradient(135deg,#6ee7a8,#2fbf71);color:#04210f}
.hw-note{margin:14px 0 0;font:400 13px/1.6 'Exo 2',sans-serif;color:rgba(255,255,255,.6)}
.hw-go{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:14px 32px;border-radius:999px;font:800 15px/1 'Exo 2',sans-serif;
  color:#fff!important;text-decoration:none!important;background:linear-gradient(135deg,#2a7dd8,#4a9eff);box-shadow:0 10px 28px rgba(42,125,216,.45)}
.hw-go:hover{filter:brightness(1.1)}
.hw-ticket-glow{position:absolute;inset:-40%;z-index:-1;background:conic-gradient(from 0deg,transparent,rgba(255,138,31,.12),transparent 40%);animation:hwSpin 14s linear infinite}
@keyframes hwSpin{to{transform:rotate(360deg)}}

/* ── Store page strip above the product ───────────────────────────────── */
.hw-strip{position:relative;margin:0 auto 22px;max-width:1180px;padding:0 16px}
.hw-strip .hw-ticket{margin:0 auto;max-width:none;display:grid;grid-template-columns:1fr auto;gap:8px 28px;align-items:center;text-align:left;padding:22px 30px}
.hw-strip .hw-ticket::before,.hw-strip .hw-ticket::after{display:none}
.hw-strip .hw-off{font-size:clamp(34px,5vw,56px)}
.hw-strip .hw-off small{margin-top:4px}
.hw-strip .hw-codebox{margin:0;padding:12px 16px}
.hw-strip .hw-code{font-size:clamp(28px,4vw,42px)}
.hw-strip .hw-note{grid-column:1/-1;margin:0}
html[dir=rtl] .hw-strip .hw-ticket{text-align:right}
@media(max-width:760px){.hw-strip .hw-ticket{grid-template-columns:1fr;text-align:center}html[dir=rtl] .hw-strip .hw-ticket{text-align:center}}

/* ── Night mood, only while the skin is on ────────────────────────────── */
html.hw-on .ba-hero-overlay{background:linear-gradient(180deg,rgba(7,13,28,.15) 0%,rgba(7,13,28,.62) 55%,rgba(7,13,28,.95) 88%,var(--bg) 100%)}
html.hw-on .ba-hero-title{text-shadow:0 0 34px rgba(255,138,31,.35)}
html.hw-on .ba-content h2{border-image:linear-gradient(90deg,var(--hw-orange),transparent) 1}
html.hw-on .ba-content a{color:var(--hw-amber)}
html.hw-on .ba-content li::marker{color:var(--hw-orange)}
html.hw-on .ba-content blockquote{border-left-color:var(--hw-orange);border-right-color:var(--hw-orange)}
html.hw-on .ba-content strong{color:#fff}
html.hw-on .ba-hero-cta-btn{background:linear-gradient(135deg,#ffb454,#ff8a1f)!important;color:#1a0d00!important}

.hw-embers{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.hw-embers i{position:absolute;bottom:-12px;width:4px;height:4px;border-radius:50%;background:#ffb454;box-shadow:0 0 10px 2px rgba(255,138,31,.8);opacity:0;animation:hwRise linear infinite}
@keyframes hwRise{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}100%{transform:translate(var(--dx,20px),-105vh);opacity:0}}
@media(prefers-reduced-motion:reduce){.hw-embers,.hw-ticket-glow{display:none}}

html.light-theme .hw-ticket{color:#fff}
