/* Dr. Bizarro's Halloween: constant candlelight and gentle ground mist.
 * Positions use the existing map core, so all responsive variants stay aligned.
 * No flicker, blinking, opacity cycling, extra images, or pointer interception.
 */
.mmw-map-halloween {
  position: absolute;
  z-index: 5;
  inset: 0;
  pointer-events: none;
}

.mmw-map-halloween > div {
  position: absolute;
  pointer-events: none;
}

.mmw-map-pumpkin-glow {
  left: 22%;
  top: 74%;
  width: 26%;
  height: 16%;
  background:
    radial-gradient(ellipse at 26% 66%, rgba(255, 147, 49, .22), transparent 31%),
    radial-gradient(ellipse at 61% 63%, rgba(255, 169, 65, .18), transparent 28%),
    radial-gradient(ellipse at 81% 21%, rgba(255, 146, 42, .19), transparent 25%);
  mix-blend-mode: screen;
}

.mmw-map-halloween-mist {
  left: 23%;
  top: 82%;
  width: 25%;
  height: 7%;
  opacity: .34;
  background:
    radial-gradient(ellipse at 25% 57%, rgba(191, 194, 212, .58), transparent 48%),
    radial-gradient(ellipse at 66% 43%, rgba(169, 180, 201, .46), transparent 44%);
  transform: translate3d(-3%, 0, 0);
  animation: mmw-halloween-ground-drift 22s ease-in-out infinite alternate;
}

.mmw-map-halloween-mist-two {
  left: 27%;
  top: 85%;
  width: 19%;
  height: 5%;
  opacity: .25;
  animation-duration: 29s;
  animation-delay: -11s;
  animation-direction: alternate-reverse;
}

@keyframes mmw-halloween-ground-drift {
  from { transform: translate3d(-3%, 0, 0); }
  to { transform: translate3d(3%, -4%, 0); }
}

.mmw-map-app.motion-paused .mmw-map-halloween-mist,
.mmw-map-app.is-navigating .mmw-map-halloween-mist {
  animation-play-state: paused !important;
}

/* Keep low-power devices and visitors requesting less motion completely still. */
.mmw-lite-effects .mmw-map-halloween-mist {
  animation: none !important;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .mmw-map-halloween-mist {
    animation: none !important;
    transform: none;
  }
}
