/* ============================================================
   TOP10GAMINGAR — ANIMATIONS
============================================================ */

/* ── Keyframes ── */
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}
@keyframes slideUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pulse {
  0%,100% { transform:scale(1); }
  50%      { transform:scale(1.03); }
}
@keyframes shimmer {
  0%   { background-position:-400px 0; }
  100% { background-position:400px 0; }
}
@keyframes glowPulse {
  0%,100% { box-shadow:0 0 18px rgba(255,140,66,.3),0 4px 24px rgba(0,0,0,.5); }
  50%      { box-shadow:0 0 36px rgba(255,140,66,.65),0 4px 32px rgba(230,81,0,.4); }
}
@keyframes borderGlow {
  0%,100% { border-color:rgba(255,140,66,.25); }
  50%      { border-color:rgba(255,140,66,.7); }
}
@keyframes float {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-6px); }
}

/* ── Animation utility classes ── */
.anim-fadeIn    { animation:fadeIn   .5s ease forwards; }
.anim-slideUp   { animation:slideUp  .6s ease forwards; }
.anim-pulse     { animation:pulse    2s ease infinite; }
.anim-float     { animation:float    3s ease-in-out infinite; }

/* ── Product logo glow on featured card ── */
.platform-card--featured .platform-logo {
  animation:glowPulse 3s ease-in-out infinite;
  border-radius:8px;
}
.platform-card--featured {
  animation:borderGlow 4s ease-in-out infinite;
}

/* ── Shimmer loading effect ── */
.shimmer {
  background:linear-gradient(90deg,rgba(255,140,66,.05) 25%,rgba(255,140,66,.15) 50%,rgba(255,140,66,.05) 75%);
  background-size:800px 100%;
  animation:shimmer 2s infinite;
}

/* ── Delay utilities ── */
.delay-1 { animation-delay:.1s; }
.delay-2 { animation-delay:.2s; }
.delay-3 { animation-delay:.3s; }
.delay-4 { animation-delay:.4s; }
.delay-5 { animation-delay:.5s; }
