#hypoxi-halloween-witch {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 400px !important;
  max-width: 80vw !important;
  height: auto !important;
  z-index: 2147483647 !important;
  display: block !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate3d(-200vw,-200vh,0) !important;
  will-change: transform;
}
#hypoxi-halloween-witch.hx-active { visibility: visible !important; opacity: 1 !important; }
#hypoxi-halloween-witch img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}
/* Motion preference is checked in JS; admin preview or the explicit site-wide setting can override it. */
/* Halloween catch mini-game */
#hypoxi-halloween-witch { background: transparent !important; border: 0 !important; border-radius: 0 !important; cursor: pointer !important; padding: 0 !important; overflow: visible !important; }
#hypoxi-halloween-witch.hx-active { pointer-events: auto !important; }
#hypoxi-halloween-witch:focus-visible { outline: 2px solid #ed8c28 !important; outline-offset: 4px; }
#hx-pumpkin[hidden], #hx-promo-modal[hidden] { display: none !important; }
#hx-pumpkin { position: fixed !important; z-index: 2147483647 !important; width: 100px; height: 115px; border: 0; background: transparent; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: scale(.2); opacity: 0; transition: transform .65s cubic-bezier(.18,1.5,.35,1), opacity .25s; }
#hx-pumpkin span { font-size: 90px; line-height: 1; filter: drop-shadow(0 8px 9px rgba(0,0,0,.3)); }
#hx-pumpkin small { white-space: nowrap; font-size: 13px; font-weight: 700; color: #fff; background: #6a2d1c; border-radius: 15px; padding: 3px 9px; }
#hx-pumpkin.hx-pumpkin-grow { transform: scale(1.25); opacity: 1; }
body.hx-modal-open { overflow: hidden !important; }
#hx-promo-modal { position: fixed !important; inset: 0 !important; z-index: 2147483647 !important; display: flex !important; justify-content: center; align-items: center; padding: 20px; box-sizing: border-box; }
#hx-promo-modal .hx-modal-backdrop { position: absolute; inset: 0; background: rgba(15,10,20,.82); }
#hx-promo-modal .hx-modal-dialog { position: relative; z-index: 1; width: min(92vw, 1140px); max-height: 92vh; overflow: auto; background: transparent; border-radius: 0; box-shadow: 0 20px 80px rgba(0,0,0,.4); }
#hx-promo-modal .hx-modal-close { position: sticky; top: 8px; float: right; z-index: 5; display: flex; justify-content: center; align-items: center; width: 42px; height: 42px; margin: 8px 8px -50px 0; color: #fff; font: 32px/1 Arial,sans-serif; background: rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; cursor: pointer; }
#hx-promo-modal .hx-modal-close:hover { transform: rotate(90deg); transition: transform .25s; }
#hx-promo-content { clear: both; text-align: center; }
#hx-promo-content img { max-width: 100%; height: auto; }
#hx-promo-content .hx-promo-loading { color: white; font-size: 18px; padding: 60px 12px; }
@media (max-width: 767px) { #hx-promo-modal { padding: 10px; } #hx-promo-modal .hx-modal-dialog { width: 100%; max-height: 90vh; } #hx-pumpkin.hx-pumpkin-grow { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { #hx-pumpkin, #hx-promo-modal .hx-modal-close { transition: none !important; } }

/* v1.0.4 centered pumpkin and outward falling leaves */
#hx-pumpkin { left: 50% !important; top: 50% !important; width: min(560px, 90vw) !important; height: auto !important; padding: 0 !important; transform: translate(-50%, -50%) scale(.12) !important; transform-origin: center center !important; transition: transform .8s cubic-bezier(.18,1.3,.3,1), opacity .5s ease !important; }
#hx-pumpkin.hx-pumpkin-grow { transform: translate(-50%, -50%) scale(1) !important; }
#hx-pumpkin img { display:block !important; width:100% !important; height:auto !important; max-width:100% !important; object-fit:contain !important; filter:drop-shadow(0 15px 30px rgba(0,0,0,.35)); }
#hx-leaf-layer { position:fixed; inset:0; z-index:2147483646; pointer-events:none; overflow:hidden; }
.hx-flying-leaf { position:absolute; top:50%; left:50%; display:block; opacity:0; line-height:1; animation:hx-leaf-burst 1.9s ease-out var(--hx-delay) forwards; }
@keyframes hx-leaf-burst { 0% { opacity:0; transform:translate(-50%,-50%) scale(.3) rotate(0); } 12% {opacity:1;} 65% {opacity:.9;} 100% {opacity:0; transform:translate(calc(-50% + var(--hx-dx)),calc(-50% + var(--hx-dy))) scale(.75) rotate(var(--hx-rot));} }
@media(max-width:767px) { #hx-pumpkin { width:min(390px,94vw) !important; } }
@media(prefers-reduced-motion:reduce) { .hx-flying-leaf { animation-duration:.8s; } }

/* 1.0.5: render the actual promotion artwork, not an unstyled Elementor layout. */
#hx-promo-content .hx-promo-image { display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; opacity: 1 !important; visibility: visible !important; }
#hx-promo-content > a { display: block; }

/* v1.0.9: longer, softer leaf transition; borderless pumpkin on phones. */
.hx-flying-leaf {
  animation-duration: 4.8s !important;
  animation-timing-function: cubic-bezier(.18,.52,.35,1) !important;
}
@keyframes hx-leaf-burst {
  0%   { opacity: 0; transform: translate(-50%,-50%) scale(.3) rotate(0deg); }
  10%  { opacity: 1; }
  65%  { opacity: .95; }
  85%  { opacity: .65; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--hx-dx)),calc(-50% + var(--hx-dy))) scale(.75) rotate(var(--hx-rot)); }
}
@media (max-width: 767px) {
  #hx-pumpkin, #hx-pumpkin img {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }
  #hx-pumpkin { border-radius: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .hx-flying-leaf { animation-duration: .8s !important; }
}

/* v1.0.10 — lingering magical POOF leaves and continuous pumpkin breathing */
.hx-flying-leaf {
  animation-duration: 8.2s !important;
  animation-timing-function: cubic-bezier(.16,.45,.32,1) !important;
  will-change: transform, opacity;
  filter: drop-shadow(0 0 7px rgba(255,157,44,.38));
}
@keyframes hx-leaf-burst {
  0%   { opacity: 0; transform: translate(-50%,-50%) scale(.15) rotate(0deg); filter: blur(7px); }
  8%   { opacity: 1; filter: blur(0); }
  28%  { opacity: 1; }
  58%  { opacity: .98; }
  72%  { opacity: .85; }
  88%  { opacity: .35; filter: blur(1.5px); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--hx-dx)),calc(-50% + var(--hx-dy))) scale(1.05) rotate(var(--hx-rot)); filter: blur(7px); }
}
/* Pulse only the picture, preserving the centered button and its entrance. */
#hx-pumpkin.hx-pumpkin-grow img {
  animation: hx-pumpkin-breathe 2.6s ease-in-out .8s infinite !important;
  transform-origin: center center;
  will-change: transform;
}
@keyframes hx-pumpkin-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.065); }
}
@media (max-width:767px) {
  #hx-pumpkin, #hx-pumpkin img { border: none !important; outline: none !important; box-shadow: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  #hx-pumpkin.hx-pumpkin-grow img { animation: none !important; }
  .hx-flying-leaf { animation-duration: .8s !important; }
}

/* v1.0.11 — unbroken pumpkin pulse and truly shadowless mobile button. */
#hx-pumpkin.hx-pumpkin-grow img {
  animation: hx-pumpkin-breathe 2.6s ease-in-out .8s infinite !important;
  animation-play-state: running !important;
}
@media (max-width: 767px) {
  #hx-pumpkin, #hx-pumpkin img,
  #hx-pumpkin:hover, #hx-pumpkin:focus, #hx-pumpkin:active {
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    text-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
  }
  #hx-pumpkin:focus { outline: none !important; }
  #hx-pumpkin:focus-visible { outline: none !important; }
}
/* Keep the user-enabled animation active even if OS reduced-motion is set. */
@media (prefers-reduced-motion: reduce) {
  #hx-pumpkin.hx-pumpkin-grow img {
    animation: hx-pumpkin-breathe 2.6s ease-in-out .8s infinite !important;
  }
}

/* v1.0.12: remove mobile tap/focus orange ring and native button appearance. */
@media (max-width: 767px) {
  #hx-pumpkin, #hx-pumpkin:hover, #hx-pumpkin:focus, #hx-pumpkin:focus-visible, #hx-pumpkin:active {
    outline: 0 !important; outline-offset: 0 !important; border: 0 !important; box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important; -webkit-appearance: none !important; appearance: none !important;
  }
  #hx-pumpkin img { outline: 0 !important; border: 0 !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent !important; }
}

/* v1.0.13 — independent enchanted caption, attached to the flying witch */
#hypoxi-halloween-witch .hx-witch-caption {
  position: absolute !important;
  display: block !important;
  width: 53.6% !important;
  height: auto !important;
  left: 58% !important;
  top: -32% !important;
  pointer-events: none !important;
  transform-origin: 40% 70%;
  animation: hx-caption-float 3.5s ease-in-out infinite !important;
  filter: drop-shadow(0 0 6px rgba(255,176,41,.35));
}
#hypoxi-halloween-witch .hx-witch-caption > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
@keyframes hx-caption-float {
  0%,100% { transform: translate3d(0,0,0) rotate(-4deg) scale(.98); filter: brightness(1); }
  35% { transform: translate3d(3px,-12px,0) rotate(3deg) scale(1.045); filter: brightness(1.16); }
  70% { transform: translate3d(-5px,3px,0) rotate(-2deg) scale(1); filter: brightness(1.03); }
}
#hypoxi-halloween-witch .hx-caption-leaf {
  position: absolute !important;
  font-size: clamp(12px, 2.5vw, 23px) !important;
  font-style: normal !important;
  line-height: 1 !important;
  pointer-events: none !important;
  opacity: 0;
  animation: hx-caption-poof 5.8s ease-out infinite !important;
}
#hypoxi-halloween-witch .hx-caption-leaf-a { left: 8%; top: 70%; --leaf-x: -34px; --leaf-y: -25px; --leaf-r: -100deg; animation-delay: 0s !important; }
#hypoxi-halloween-witch .hx-caption-leaf-b { right: 7%; top: 20%; --leaf-x: 32px; --leaf-y: -38px; --leaf-r: 140deg; animation-delay: 1.9s !important; }
#hypoxi-halloween-witch .hx-caption-leaf-c { left: 50%; bottom: 5%; --leaf-x: 8px; --leaf-y: 38px; --leaf-r: 220deg; animation-delay: 3.6s !important; }
@keyframes hx-caption-poof {
  0%,8% { opacity: 0; transform: translate3d(0,0,0) scale(.25) rotate(0); filter: blur(0); }
  15% { opacity: 1; transform: translate3d(0,0,0) scale(1.1) rotate(10deg); filter: blur(0); }
  42% { opacity: .95; filter: blur(0); }
  80% { opacity: .25; }
  100% { opacity: 0; transform: translate3d(var(--leaf-x),var(--leaf-y),0) scale(.55) rotate(var(--leaf-r)); filter: blur(3px); }
}
@media(max-width:767px) {
  #hypoxi-halloween-witch .hx-witch-caption { width: 57.6% !important; left: 45% !important; top: -38% !important; }
  #hypoxi-halloween-witch .hx-caption-leaf { font-size: 16px !important; }
}
@media(prefers-reduced-motion:reduce) {
  #hypoxi-halloween-witch .hx-witch-caption, #hypoxi-halloween-witch .hx-caption-leaf { animation: none !important; }
  #hypoxi-halloween-witch .hx-caption-leaf { display:none !important; }
}

/* v1.0.16: directional caption and completely hidden pause */
#hypoxi-halloween-witch.hx-going-left .hx-witch-caption {
  left: 102% !important;
  right: auto !important;
  top: -32% !important;
}
#hypoxi-halloween-witch.hx-going-right .hx-witch-caption {
  left: auto !important;
  right: 102% !important;
  top: -32% !important;
}
#hypoxi-halloween-witch:not(.hx-active),
#hypoxi-halloween-witch:not(.hx-active) .hx-witch-caption,
#hypoxi-halloween-witch:not(.hx-active) .hx-caption-leaf {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
@media(max-width:767px) {
  #hypoxi-halloween-witch.hx-going-left .hx-witch-caption { left: 102% !important; right: auto !important; top: -38% !important; }
  #hypoxi-halloween-witch.hx-going-right .hx-witch-caption { right: 102% !important; left: auto !important; top: -38% !important; }
}

/* v1.0.17: keep the enchanted caption closer behind the witch. */
#hypoxi-halloween-witch.hx-going-left .hx-witch-caption { left: 85% !important; right: auto !important; }
#hypoxi-halloween-witch.hx-going-right .hx-witch-caption { right: 85% !important; left: auto !important; }
@media (max-width:767px) {
  #hypoxi-halloween-witch.hx-going-left .hx-witch-caption { left: 85% !important; right: auto !important; }
  #hypoxi-halloween-witch.hx-going-right .hx-witch-caption { right: 85% !important; left: auto !important; }
}
