/* Temporadas: aviso arriba de la portada y capa de figuras que suben o caen (decorativa, sin clics). */
.temporada-aviso { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 1rem; padding: 0.55rem 0.6rem 0.55rem 0.9rem; max-width: 40rem;
  background: rgb(255 255 255 / 0.96); color: var(--tinta, #1e1533); border-radius: 999px; font-size: 0.95rem; line-height: 1.3;
  box-shadow: 0 4px 0 rgb(0 0 0 / 0.18); animation: aviso-entra 0.6s cubic-bezier(.2,.8,.2,1) both; }
.temporada-aviso b { font-weight: 700; }
.temporada-aviso__icono { font-size: 1.35rem; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
.temporada-aviso__cerrar { margin-left: auto; flex: none; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: transparent; font-size: 1.4rem; cursor: pointer; color: inherit; }
.temporada-aviso__cerrar:hover { background: rgb(0 0 0 / 0.06); }
@keyframes aviso-entra { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

.detalles { position: fixed; inset: 0; pointer-events: none; z-index: 15; overflow: hidden; }
.detalle { position: absolute; width: var(--tam); opacity: var(--op); will-change: transform; }
.detalle svg { display: block; width: 100%; height: auto; fill: currentColor; }
.detalles[data-modo="cae"] .detalle { top: -10%; animation: det-cae var(--dur) linear var(--ret) infinite; }
@keyframes det-cae { from { transform: translate(0, -10vh) rotate(0); } to { transform: translate(var(--deriva), 115vh) rotate(var(--giro)); } }
.detalles[data-modo="sube"] .detalle { bottom: -15%; animation: det-sube var(--dur) ease-in-out var(--ret) infinite; }
@keyframes det-sube { 0% { transform: translate(0, 10vh); } 50% { transform: translate(var(--deriva), -55vh) rotate(6deg); } 100% { transform: translate(0, -120vh) rotate(-6deg); } }
@media (prefers-reduced-motion: reduce) { .detalles { display: none; } .temporada-aviso { animation: none; } }
