/* ── ANIMATIONS — Glow, fade, pulse ── */

/* Fade in */
@keyframes fadeIn {
  from { opacity:0; transform:translateY(8px); }
  to   { opacity:1; transform:translateY(0); }
}
.fade-in { animation: fadeIn .3s ease forwards; }

/* Glow dorado */
@keyframes glowGold {
  0%,100% { filter: drop-shadow(0 0 8px rgba(240,192,48,.5)); }
  50%      { filter: drop-shadow(0 0 20px rgba(240,192,48,1)) drop-shadow(0 0 40px rgba(240,192,48,.6)); }
}
.glow-gold { animation: glowGold 2s ease-in-out infinite; }

/* Glow blanco */
@keyframes glowWhite {
  0%,100% { filter: drop-shadow(0 0 8px rgba(255,255,255,.5)); }
  50%      { filter: drop-shadow(0 0 20px rgba(255,255,255,1)); }
}
.glow-white { animation: glowWhite 2s ease-in-out infinite; }

/* Pulse rojo */
@keyframes pulseRed {
  0%,100% { opacity:1; }
  50%      { opacity:.25; }
}
.pulse-red { animation: pulseRed 1.5s ease-in-out infinite; }

/* Pulse verde */
@keyframes pulseGreen {
  0%,100% { opacity:1; }
  50%      { opacity:.3; }
}
.pulse-green { animation: pulseGreen 1.5s ease-in-out infinite; }

/* Ticker */
@keyframes ticker {
  0%   { transform: translateX(100vw); }
  100% { transform: translateX(-100%); }
}

/* Barra de carga */
@keyframes loadBar {
  from { width: 0%; }
  to   { width: 100%; }
}

/* Neon text flicker */
@keyframes neonFlicker {
  0%,19%,21%,23%,25%,54%,56%,100% { opacity:1; }
  20%,24%,55% { opacity:.4; }
}
