/* Halloween preview theme — loaded after styles.css */
:root{
  --red:#5B2A86;        /* deep purple (links, headings accents) */
  --red-dark:#2E1245;   /* darker purple */
  --red-bright:#7A3FB0;
  --cream:#FFF6E6;      /* warm cream */
  --cream-dark:#FBE9CC;
  --charcoal:#1B1324;   /* near-black (purple tint) */
  --charcoal-soft:#3A2E44;
  --gold:#F07A1A;       /* pumpkin orange */
  --gold-soft:#FFB25B;
  --muted:#5E5068;
  --border:#EAD3B0;
  --pumpkin:#F07A1A;
}
.site-header{background:rgba(255,246,230,.96);border-bottom:3px solid var(--pumpkin)}
.btn-primary{background:var(--pumpkin);color:#1B1324;box-shadow:0 4px 14px rgba(240,122,26,.4)}
.btn-primary:hover{background:#FF9A3D;color:#1B1324}
.btn-secondary{background:#fff;color:var(--red);border-color:var(--red)}
.hero{background:
  radial-gradient(circle at 85% 18%, rgba(255,214,140,.30) 0 70px, rgba(255,214,140,.08) 71px 120px, transparent 121px),
  radial-gradient(ellipse at 15% 90%, rgba(240,122,26,.28), transparent 55%),
  linear-gradient(160deg,#2E1245 0%,#4A1F6E 50%,#1B1324 100%)}
.page-hero{position:relative;overflow:hidden;background:
  radial-gradient(ellipse at 10% 100%, rgba(240,122,26,.3), transparent 55%),
  linear-gradient(135deg,#2E1245,#4A1F6E 60%,#1B1324)}
.page-hero .container{position:relative;z-index:1}
.cta-band{position:relative;overflow:hidden;background:linear-gradient(135deg,#4A1F6E,#1B1324)}
.cta-band .container{position:relative;z-index:1}
.site-footer{background:#1B1324;color:#D9CCE3;border-top:4px solid var(--pumpkin)}
.hero-badge{background:rgba(240,122,26,.18);border-color:rgba(255,178,91,.55)}
.hh-line{display:inline-block;margin:0 0 .9rem;font-weight:700;color:#FFB25B;font-size:.95rem;letter-spacing:.02em}
/* Candy-corn divider on top of alternate sections */
.section-alt{position:relative}
.section-alt::before{content:"";position:absolute;left:0;right:0;top:-9px;height:18px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='18' viewBox='0 0 44 18'%3E%3Cpath d='M16 1 L28 1 L22 17 Z' fill='%23FFF6E6'/%3E%3Cpath d='M16 1 L28 1 L26.3 6 L17.7 6 Z' fill='%23F7C948'/%3E%3Cpath d='M17.7 6 L26.3 6 L24.2 12 L19.8 12 Z' fill='%23F07A1A'/%3E%3Ccircle cx='5' cy='9' r='1.6' fill='%235B2A86'/%3E%3Ccircle cx='39' cy='9' r='1.6' fill='%235B2A86'/%3E%3C/svg%3E") center/44px 18px repeat-x}
/* Decorations */
.hw-deco{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.hw-deco svg{position:absolute;display:block}
.hw-bat{width:46px;height:auto;animation:hwFlap 1.8s ease-in-out infinite}
.hw-bat.b1{top:14%;right:22%}
.hw-bat.b2{top:30%;right:8%;width:34px;animation-delay:.5s}
.hw-bat.b3{top:8%;right:38%;width:28px;animation-delay:1s}
.hw-jack{width:110px;right:5%;bottom:6%}
.hw-pizzajack{width:96px;right:calc(5% + 118px);bottom:5%}
.hw-ghost{width:70px;right:6%;top:50%;transform:translateY(-50%);opacity:.95;animation:hwFloat 4s ease-in-out infinite}
.hw-hat{width:56px;right:4%;bottom:8%}
.hw-bat.p1{top:18%;right:12%}
.hw-bat.p2{top:50%;right:24%;width:30px;animation-delay:.7s}
@keyframes hwFlap{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-6px) scaleY(.82)}}
@keyframes hwFloat{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 8px))}}
@media (max-width:760px){
  .hw-bat.b1{top:4%;right:6%;width:34px}.hw-bat.b2{top:12%;right:22%;width:24px}.hw-bat.b3{display:none}
  .hw-jack{width:64px;right:3%;bottom:2%;opacity:.9}.hw-pizzajack{display:none}
  .hw-ghost{width:46px;right:3%;top:auto;bottom:10px;transform:none;animation:none;opacity:.5}
  .hw-hat{width:40px;opacity:.6}.hw-bat.p2{display:none}
}
@media (prefers-reduced-motion:reduce){.hw-bat,.hw-ghost{animation:none!important}}
/* fixes */
.hero::before{background:
  linear-gradient(105deg, rgba(27,19,36,.93) 0%, rgba(46,18,69,.78) 45%, rgba(91,42,134,.5) 100%),
  url("images/hero-web.jpg") center/cover no-repeat}
.hh-line{display:block}
@media (max-width:760px){
  .hw-deco .hw-pizzajack,.hw-deco .hw-bat.b3,.hw-deco .hw-bat.p2{display:none}
  .hw-deco .hw-jack{width:54px;right:3%;bottom:2%}
  .hw-deco .hw-ghost{width:42px}
}
/* v2: haunted-house hero */
.hero::before{background:
  linear-gradient(100deg, rgba(14,8,26,.92) 0%, rgba(20,10,38,.80) 40%, rgba(20,10,38,.25) 75%, rgba(20,10,38,.1) 100%),
  url("images/hero-haunted.webp") right center/cover no-repeat}
.hero h1,.hero-sub,.hero .hero-story,.hero-meta{text-shadow:0 2px 10px rgba(0,0,0,.6)}
.hw-deco .hw-bat.b1,.hw-deco .hw-bat.b2,.hw-deco .hw-bat.b3{display:none}
.hw-deco .hw-jack{display:none}
@media (max-width:760px){
  .hero::before{background:
    linear-gradient(180deg, rgba(14,8,26,.55) 0%, rgba(14,8,26,.82) 35%, rgba(14,8,26,.88) 100%),
    url("images/hero-haunted.webp") 72% top/cover no-repeat}
}
/* fly-bys */
#hw-sky{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:90}
.hw-fly{position:absolute;left:0;top:0;will-change:transform;opacity:.55}
.hw-fly svg{display:block}
.hw-fly .wing{transform-origin:50% 50%;animation:hwWing .35s ease-in-out infinite alternate}
@keyframes hwWing{to{transform:scaleY(.45)}}
@media (prefers-reduced-motion:reduce){#hw-sky{display:none}}
