/* ═══════════════════════════════════════════════
   SitiosGamingAR — animations.css
   Animaciones sutiles para plataformas y secciones
═══════════════════════════════════════════════ */

/* ── Keyframes ──────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

@keyframes shimmer {
  0% { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

@keyframes borderGlow {
  0%, 100% { box-shadow: 0 0 0 rgba(21,101,192,0); }
  50% { box-shadow: 0 0 18px rgba(21,101,192,0.25); }
}

@keyframes goldBorderPulse {
  0%, 100% { box-shadow: 0 0 0 rgba(255,143,0,0); }
  50% { box-shadow: 0 0 20px rgba(255,143,0,0.3), 0 0 40px rgba(255,143,0,0.1); }
}

@keyframes logoFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes ribbon-slide {
  from { right: -60px; opacity: 0; }
  to   { right: -8px; opacity: 1; }
}

@keyframes statCount {
  from { opacity: 0; transform: scale(0.7); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Aplicaciones ────────────────────────────────── */

/* Hero content entrance */
.hero__content { animation: fadeInLeft 0.8s ease both; }
.hero__stats .stat-box { animation: statCount 0.6s ease both; }
.hero__stats .stat-box:nth-child(1) { animation-delay: 0.3s; }
.hero__stats .stat-box:nth-child(2) { animation-delay: 0.45s; }
.hero__stats .stat-box:nth-child(3) { animation-delay: 0.6s; }

/* Platform card logo float */
.platform-card:hover .platform-logo { animation: logoFloat 2s ease-in-out infinite; }

/* Platform card ribbon */
.platform-card__ribbon { animation: ribbon-slide 0.5s ease 0.8s both; }

/* Featured card permanent gold glow */
.platform-card--featured {
  animation: goldBorderPulse 3s ease-in-out infinite;
}

/* Regular card blue glow */
.platform-card:not(.platform-card--featured) {
  animation: borderGlow 4s ease-in-out infinite;
}

/* Shimmer loader effect on cards before hover */
.platform-card__logo-wrap::before {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent);
  transition: left 0.6s ease;
  pointer-events: none;
}
.platform-card:hover .platform-card__logo-wrap::before { left: 200%; }

/* Regulator items entrance stagger (up to 14 items) */
.reg-item { animation: fadeInUp 0.5s ease both; }
.reg-item:nth-child(1)  { animation-delay: 0.04s; }
.reg-item:nth-child(2)  { animation-delay: 0.08s; }
.reg-item:nth-child(3)  { animation-delay: 0.12s; }
.reg-item:nth-child(4)  { animation-delay: 0.16s; }
.reg-item:nth-child(5)  { animation-delay: 0.20s; }
.reg-item:nth-child(6)  { animation-delay: 0.24s; }
.reg-item:nth-child(7)  { animation-delay: 0.28s; }
.reg-item:nth-child(8)  { animation-delay: 0.32s; }
.reg-item:nth-child(9)  { animation-delay: 0.36s; }
.reg-item:nth-child(10) { animation-delay: 0.40s; }
.reg-item:nth-child(11) { animation-delay: 0.44s; }
.reg-item:nth-child(12) { animation-delay: 0.48s; }
.reg-item:nth-child(13) { animation-delay: 0.52s; }
.reg-item:nth-child(14) { animation-delay: 0.56s; }

/* About card hover lift */
.about-card { transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.about-card:hover { transform: translateY(-4px); }

/* Safety card hover */
.safety-card { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.safety-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.3); }

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
