/* Solo transform y opacidad: movimiento sin recalcular el diseño ni bloquear clics. */
.adornos-temporada { pointer-events: none; user-select: none; position: fixed; inset: 0; z-index: 1020; overflow: hidden; --adorno-color: #e79a42; }
.adorno-esquina { position: absolute; top: 0; width: clamp(135px, 16vw, 230px); height: auto; opacity: 1; pointer-events: none; transform-origin: top left; animation: adorno-balanceo 7s ease-in-out infinite alternate; }
.adorno-izquierdo { left: 0; }
.adorno-derecho { right: 0; transform-origin: top right; animation-name: adorno-balanceo-derecho; animation-delay: -3s; }
.adorno-particula { position: absolute; font-family: Georgia, serif; color: var(--adorno-color); font-size: 25px; line-height: 1; text-shadow: 0 1px 3px #ffffffb3; opacity: 0; animation: adorno-caida 15s linear infinite; }
.particula-1 { left: 3%; top: -35px; animation-delay: -2s; }
.particula-2 { right: 5%; top: -35px; animation-delay: -9s; font-size: 20px; }
.particula-3 { left: 7%; top: -35px; animation-delay: -12s; font-size: 18px; }
.particula-4 { right: 2%; top: -35px; animation-delay: -5s; }
.navidad { --adorno-color: #bd9a40; }
.invierno { --adorno-color: #77b5ce; }
.verano { --adorno-color: #ecb135; }
.primavera { --adorno-color: #d96795; }
.otono { --adorno-color: #be6f2e; }
@keyframes adorno-balanceo { from { transform: rotate(-1deg) translateY(-2px); } to { transform: rotate(2deg) translateY(4px); } }
@keyframes adorno-balanceo-derecho { from { transform: scaleX(-1) rotate(-2deg) translateY(3px); } to { transform: scaleX(-1) rotate(1deg) translateY(-2px); } }
@keyframes adorno-caida { 0% { transform: translate3d(0, -20px, 0) rotate(0); opacity: 0; } 8% { opacity: .85; } 85% { opacity: .65; } 100% { transform: translate3d(14px, 105vh, 0) rotate(100deg); opacity: 0; } }
@media (max-width: 575.98px) { .adorno-esquina { width: 100px; } .adorno-particula { font-size: 18px; } .particula-3, .particula-4 { display: none; } }
@media (prefers-reduced-motion: reduce) { .adorno-esquina, .adorno-particula { animation: none; } .adorno-derecho { transform: scaleX(-1); } .adorno-particula { display: none; } }
@media print { .adornos-temporada { display: none !important; } }

/* Todos los descendientes dejan pasar los clics, incluso durante sus recorridos. */
.adornos-temporada * { pointer-events: none !important; }
.halloween-actor { position: absolute; left: 0; top: 0; object-fit: contain; pointer-events: none !important; opacity: 0; }
@media (prefers-reduced-motion: reduce) { .halloween-actor { display: none !important; } }

/* Calabazas apoyadas en los bordes: movimiento mínimo, sin saltos ni desplazamiento por el catálogo. */
.halloween-borde { position: absolute; height: auto; pointer-events: none; }
.calabazas-izquierda, .calabazas-derecha { width: clamp(100px, 12vw, 168px); bottom: 12px; transform-origin: 50% 95%; animation: calabaza-brisa 9s ease-in-out infinite; }
.calabazas-izquierda { left: -12px; }
.calabazas-derecha { right: -16px; bottom: 85px; animation-duration: 11.7s; animation-delay: -4.3s; }
.telarana-izquierda, .telarana-derecha { width: clamp(95px, 11vw, 158px); opacity: .8; transform-origin: 0 0; animation: seda-brisa 12s ease-in-out infinite; }
.telarana-izquierda { top: 36%; left: -12px; }
.telarana-derecha { top: 47%; right: -12px; transform-origin: 100% 0; animation-name: seda-brisa-derecha; animation-duration: 15.3s; animation-delay: -6.2s; }
@keyframes calabaza-brisa { 0%,100% { transform: rotate(-.7deg); } 38% { transform: rotate(.8deg); } 72% { transform: rotate(-.2deg); } }
@keyframes seda-brisa { 0%,100% { transform: rotate(-1deg) skewY(0); } 40% { transform: rotate(2deg) skewY(1deg); } 73% { transform: rotate(.3deg) skewY(-.4deg); } }
@keyframes seda-brisa-derecha { 0%,100% { transform: scaleX(-1) rotate(-1deg) skewY(0); } 40% { transform: scaleX(-1) rotate(1.6deg) skewY(.8deg); } 73% { transform: scaleX(-1) rotate(.3deg) skewY(-.3deg); } }
@media (max-width: 575.98px) {
  .calabazas-izquierda { width: 88px; bottom: 6px; left: -15px; }
  .calabazas-derecha, .telarana-derecha { display: none; }
  .telarana-izquierda { width: 78px; left: -18px; top: 42%; opacity: .65; }
}
@media (prefers-reduced-motion: reduce) { .halloween-borde { animation: none; } .telarana-derecha { transform: scaleX(-1); } }

/* Navidad: adornos en los márgenes y un vuelo ocasional, sin capturar eventos. */
.navidad-detalle { position: absolute; height: auto; pointer-events: none; }
.navidad-luces-izquierda, .navidad-luces-derecha { top: 0; width: clamp(150px, 24vw, 340px); }
.navidad-luces-izquierda { left: 0; }
.navidad-luces-derecha { right: 0; transform: scaleX(-1); }
.navidad-arbol { width: clamp(95px, 12vw, 158px); bottom: 8px; left: -10px; }
.navidad-esferas { width: clamp(65px, 8vw, 105px); right: -7px; top: 32%; transform-origin: top center; animation: esfera-brisa 10s ease-in-out infinite alternate; }
.navidad-trineo { width: 180px; top: 16%; left: 0; opacity: 0; animation: trineo-vuelo 65s linear -4s infinite; }
.navidad-copo { position: absolute; top: -30px; left: var(--x); color: #a8c5d0; font: var(--tam, 17px)/1 Georgia, serif; opacity: 0; animation: nieve-navidad var(--dur, 22s) linear var(--espera, 0s) infinite; }
.copo-1 { --x: 3%; --dur: 21s; --espera: -5s; }
.copo-2 { --x: 14%; --dur: 27s; --espera: -18s; --tam: 12px; }
.copo-3 { --x: 27%; --dur: 24s; --espera: -9s; --tam: 14px; }
.copo-4 { --x: 40%; --dur: 29s; --espera: -21s; --tam: 11px; }
.copo-5 { --x: 60%; --dur: 26s; --espera: -14s; --tam: 13px; }
.copo-6 { --x: 74%; --dur: 23s; --espera: -2s; --tam: 15px; }
.copo-7 { --x: 87%; --dur: 30s; --espera: -17s; --tam: 12px; }
.copo-8 { --x: 96%; --dur: 25s; --espera: -10s; }
@keyframes esfera-brisa { from { transform: rotate(-2deg); } to { transform: rotate(2deg); } }
@keyframes nieve-navidad { 0% { transform: translate3d(0, -25px, 0) rotate(0); opacity: 0; } 12% { opacity: .55; } 80% { opacity: .4; } 100% { transform: translate3d(12px, 105vh, 0) rotate(110deg); opacity: 0; } }
@keyframes trineo-vuelo { 0% { transform: translate3d(-200px, 4px, 0) rotate(-2deg); opacity: 0; } 3% { opacity: .82; } 14% { transform: translate3d(50vw, -8px, 0) rotate(1deg); opacity: .82; } 27% { opacity: .82; } 30%,100% { transform: translate3d(calc(100vw + 200px), 6px, 0) rotate(-2deg); opacity: 0; } }
@media (max-width: 575.98px) {
  .navidad-arbol { width: 82px; left: -14px; bottom: 5px; }
  .navidad-esferas { display: none; }
  .navidad-trineo { width: 130px; top: 18%; }
  .navidad-copo:nth-of-type(even) { display: none; }
}
@media (prefers-reduced-motion: reduce) { .navidad-detalle, .navidad-copo { animation: none; } .navidad-trineo, .navidad-copo { display: none; } }
