/* La capa negativa se queda dentro del fondo del contenido, bajo las tarjetas. */
.alc-seasonal-host {
  isolation: isolate;
}

.alc-seasonal-transparent {
  background-color: transparent !important;
}

#alc-seasonal-layer {
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  user-select: none !important;
  contain: strict;
}

#alc-seasonal-layer,
#alc-seasonal-layer * {
  pointer-events: none !important;
}

#alc-seasonal-layer .alc-seasonal-particle {
  position: absolute;
  top: 0;
  display: block;
  margin: 0;
  padding: 0;
  animation: alc-seasonal-fall var(--alc-duration) linear infinite;
  animation-delay: var(--alc-delay);
  opacity: 0;
}

#alc-seasonal-layer .alc-seasonal-symbol {
  display: block;
  width: 100%;
  height: 100%;
  animation: alc-seasonal-sway var(--alc-sway-time) ease-in-out infinite alternate;
  animation-delay: var(--alc-delay);
}

#alc-seasonal-layer svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible;
}

#alc-seasonal-layer[data-paused="1"] .alc-seasonal-particle,
#alc-seasonal-layer[data-paused="1"] .alc-seasonal-symbol {
  animation-play-state: paused !important;
}

#alc-seasonal-layer[data-visible="0"] {
  visibility: hidden;
}

@keyframes alc-seasonal-fall {
  0% { transform: translate3d(0, -80px, 0) rotate(var(--alc-start-angle)); opacity: 0; }
  8%, 86% { opacity: var(--alc-alpha); }
  100% { transform: translate3d(var(--alc-drift), var(--alc-travel), 0) rotate(var(--alc-end-angle)); opacity: 0; }
}

@keyframes alc-seasonal-sway {
  from { transform: translateX(-10px) rotate(-9deg); }
  to { transform: translateX(10px) rotate(9deg); }
}

@media (prefers-reduced-motion: reduce) {
  #alc-seasonal-layer { display: none !important; }
}
