/* Halloween look. Loaded only while "Site look" is set to Halloween in the
   CMS. Decorative only: nothing here changes page content or layout flow. */
.theme-halloween{--hw-orange:#cc5500;--hw-night:#1c1226;--hw-glow:#ffb347}

/* Greeting strip at the very top */
.hw-strip{position:relative;z-index:1000;background:linear-gradient(90deg,#1c1226,#3f1f52 50%,#1c1226);color:#ffd9a8;
  font:600 14px/1.2 Inter,Arial,sans-serif;letter-spacing:.04em;text-align:center;padding:9px 44px}
.hw-strip span{display:inline-block}
.hw-strip .hw-p{display:inline-block;width:18px;height:18px;vertical-align:-4px;margin:0 8px}

/* Night sky header */
.hw-night{background-color:var(--hw-night)!important;
  background-image:radial-gradient(circle at 93% 50%,#fff3d1 0 13px,rgba(255,236,190,.35) 15px,rgba(255,220,150,.08) 30px,transparent 42px),
  radial-gradient(1px 1px at 12% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 27% 70%,#fff 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 44% 22%,#ffe 50%,transparent 51%),radial-gradient(1px 1px at 61% 64%,#fff 50%,transparent 51%),
  radial-gradient(1px 1px at 76% 18%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 84% 76%,#ffe 50%,transparent 51%)!important}
@media (max-width:1024px){.hw-night{background-image:radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 50% 70%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 25%,#fff 50%,transparent 51%)!important}}

/* Cobwebs and a spider in the corners (never block clicks) */
.hw-web{position:absolute;top:0;width:110px;height:110px;pointer-events:none;z-index:20;opacity:.75}
.hw-web.l{left:0}.hw-web.r{right:0;transform:scaleX(-1)}
.hw-spider{position:absolute;top:0;right:34px;width:22px;pointer-events:none;z-index:21;transform-origin:top center;animation:hw-drop 6s ease-in-out infinite}
.hw-spider i{display:block;width:1px;height:60px;margin:0 auto;background:rgba(255,255,255,.6)}
@keyframes hw-drop{0%,100%{transform:translateY(-14px)}50%{transform:translateY(20px)}}
@media (max-width:767px){.hw-strip{font-size:12px;padding:8px 12px 8px 56px;letter-spacing:.02em}.hw-strip .hw-p{display:none}.hw-web{width:64px;height:64px;opacity:.55}.hw-web.r,.hw-spider{display:none}}

/* Bats flying across the screen now and then */
.hw-bats{position:fixed;inset:0;pointer-events:none;z-index:9990;overflow:hidden}
.hw-bat{position:absolute;left:-60px;width:42px;animation:hw-fly linear forwards}
.hw-bat svg{display:block;width:100%;animation:hw-flap .22s ease-in-out infinite alternate;transform-origin:center}
@keyframes hw-fly{to{transform:translate(calc(100vw + 120px),var(--dy,-80px))}}
@keyframes hw-flap{from{transform:scaleY(1)}to{transform:scaleY(.45)}}

/* Pumpkins along the top of the footer */
.hw-pumpkins{height:46px;background:var(--hw-night) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='46' viewBox='0 0 120 46'%3E%3Cg transform='translate(46 8)'%3E%3Cpath d='M14 5c0-3 2-5 4-5' stroke='%23395a1e' stroke-width='3' fill='none'/%3E%3Cellipse cx='9' cy='20' rx='9' ry='14' fill='%23d9600f'/%3E%3Cellipse cx='19' cy='20' rx='9' ry='14' fill='%23e8741a'/%3E%3Cellipse cx='14' cy='20' rx='7' ry='15' fill='%23f08a24'/%3E%3Cpath d='M8 17l3-4 2 4zM16 17l3-4 2 4zM8 25q6 5 12 0l-2 1-2-2-2 2-2-2-2 2z' fill='%23ffd46b'/%3E%3C/g%3E%3C/svg%3E") repeat-x center bottom}

/* Accent buttons get a soft pumpkin glow */
.theme-halloween .elementor-button{box-shadow:0 0 0 0 rgba(255,140,40,0);transition:box-shadow .3s}
.theme-halloween .elementor-button:hover{box-shadow:0 0 14px 2px rgba(255,140,40,.55)}

@media (prefers-reduced-motion:reduce){.hw-bats{display:none}.hw-spider{animation:none}}
