/* ══════════════════════════════════════════════════
   CADIMEP — Animations
   ══════════════════════════════════════════════════ */

/* ─── Scroll reveal base ────────────────────────── */
.reveal,
.reveal-up,
.reveal-left,
.reveal-right {
  opacity: 0;
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.reveal         { transform: none; }
.reveal-up      { transform: translateY(30px); }
.reveal-left    { transform: translateX(-30px); }
.reveal-right   { transform: translateX(30px); }

.reveal.visible,
.reveal-up.visible,
.reveal-left.visible,
.reveal-right.visible {
  opacity: 1;
  transform: none;
}

/* ─── Staggered delays ──────────────────────────── */
.delay-1 { transition-delay: 0.15s; }
.delay-2 { transition-delay: 0.3s; }
.delay-3 { transition-delay: 0.45s; }
.delay-4 { transition-delay: 0.6s; }

/* ─── Keyframes ─────────────────────────────────── */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-18px); }
}

@keyframes pulse-ring {
  0%   { transform: scale(0.95); opacity: 0.5; }
  100% { transform: scale(1.4);  opacity: 0; }
}

@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position:  200% center; }
}

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: none; }
}

/* ─── Nav active link indicator ─────────────────── */
.nav-link.active {
  color: var(--text-primary) !important;
}

/* ─── Gold shimmer text ─────────────────────────── */
.text-shimmer {
  background: linear-gradient(
    90deg,
    var(--gold-dim),
    var(--gold-light),
    var(--gold-dim)
  ) 200% center / 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 4s linear infinite;
}

/* ─── Card stagger ──────────────────────────────── */
.service-card:nth-child(1),
.reg-card:nth-child(1),
.course-card:nth-child(1) { transition-delay: 0.05s; }
.service-card:nth-child(2),
.reg-card:nth-child(2),
.course-card:nth-child(2) { transition-delay: 0.1s; }
.service-card:nth-child(3),
.reg-card:nth-child(3),
.course-card:nth-child(3) { transition-delay: 0.15s; }
.service-card:nth-child(4),
.reg-card:nth-child(4),
.course-card:nth-child(4) { transition-delay: 0.2s; }
.service-card:nth-child(5),
.reg-card:nth-child(5),
.course-card:nth-child(5) { transition-delay: 0.25s; }
.service-card:nth-child(6),
.reg-card:nth-child(6),
.course-card:nth-child(6) { transition-delay: 0.3s; }

/* ─── Hover glow on gold elements ──────────────── */
.btn-primary {
  position: relative;
  overflow: hidden;
}
.btn-primary::after {
  content: '';
  position: absolute;
  inset: -50%;
  background: rgba(255,255,255,0.15);
  transform: translateX(-100%) rotate(30deg);
  transition: transform 0.5s var(--ease);
}
.btn-primary:hover::after {
  transform: translateX(200%) rotate(30deg);
}

/* ─── Page load ─────────────────────────────────── */
body {
  animation: fadeInDown 0.5s var(--ease) both;
}
