/* ── Keyframes ────────────────────────────────────────────── */

@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes slide-up {
  from { transform: translateY(24px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

@keyframes slide-in-right {
  from { transform: translateX(16px); opacity: 0; }
  to   { transform: translateX(0);    opacity: 1; }
}

@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes scale-in {
  from { transform: scale(0.96); opacity: 0; }
  to   { transform: scale(1);    opacity: 1; }
}

@keyframes pulse-gold {
  0%, 100% { box-shadow: 0 0 0 0 rgba(212, 168, 71, 0.3); }
  50%       { box-shadow: 0 0 0 8px rgba(212, 168, 71, 0); }
}

@keyframes card-in {
  from { transform: translateY(12px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* ── Animation classes ────────────────────────────────────── */

.anim-slide-up   { animation: slide-up  0.3s var(--ease) both; }
.anim-fade-in    { animation: fade-in   0.25s var(--ease) both; }
.anim-scale-in   { animation: scale-in  0.25s var(--ease) both; }

/* Staggered card animations */
.films-grid .film-card {
  animation: card-in 0.35s var(--ease) both;
}
.films-grid .film-card:nth-child(1)  { animation-delay: 0.00s; }
.films-grid .film-card:nth-child(2)  { animation-delay: 0.04s; }
.films-grid .film-card:nth-child(3)  { animation-delay: 0.08s; }
.films-grid .film-card:nth-child(4)  { animation-delay: 0.12s; }
.films-grid .film-card:nth-child(5)  { animation-delay: 0.16s; }
.films-grid .film-card:nth-child(6)  { animation-delay: 0.20s; }
.films-grid .film-card:nth-child(7)  { animation-delay: 0.24s; }
.films-grid .film-card:nth-child(8)  { animation-delay: 0.28s; }
.films-grid .film-card:nth-child(n+9) { animation-delay: 0.32s; }
