/* ==========================================================================
   Wild Robin Casino — Animaties
   ========================================================================== */

@keyframes wrFadeInUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes wrFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes wrScaleIn {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes leafFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  33%      { transform: translateY(-14px) rotate(8deg); }
  66%      { transform: translateY(-6px) rotate(-5deg); }
}

@keyframes wrPulseGlow {
  0%, 100% {
    box-shadow: 0 0 0 rgba(76, 175, 80, 0.0),
                0 8px 20px -6px rgba(76, 175, 80, 0.4);
  }
  50% {
    box-shadow: 0 0 28px rgba(76, 175, 80, 0.5),
                0 12px 30px -6px rgba(76, 175, 80, 0.6);
  }
}

@keyframes goldPulse {
  0%, 100% {
    box-shadow: 0 0 0 rgba(244, 196, 48, 0.0);
  }
  50% {
    box-shadow: 0 0 22px rgba(244, 196, 48, 0.45);
  }
}

@keyframes ringPulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1);   opacity: 0.6; }
  50%       { transform: translate(-50%, -50%) scale(1.06); opacity: 0.3; }
}

@keyframes shimmer {
  0%   { opacity: 0; transform: translateX(-100%); }
  40%  { opacity: 1; }
  100% { opacity: 0; transform: translateX(100%); }
}

@keyframes wrDrawerIn {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}

@keyframes wrStickySlideUp {
  from { transform: translateY(110%); }
  to   { transform: translateY(0); }
}

@keyframes wrArrowBounce {
  0%, 100% { transform: translateX(0); }
  50%       { transform: translateX(4px); }
}

/* ---------- Hero entree ---------- */
.hero__badge {
  opacity: 0;
  animation: wrFadeInUp 700ms var(--ease-out) 100ms both;
}
.hero h1 {
  opacity: 0;
  animation: wrFadeInUp 800ms var(--ease-out) 280ms both;
}
.hero__desc {
  opacity: 0;
  animation: wrFadeInUp 700ms var(--ease-out) 500ms both;
}
.hero__actions {
  opacity: 0;
  animation: wrFadeInUp 700ms var(--ease-out) 680ms both;
}
.hero__stats {
  opacity: 0;
  animation: wrFadeInUp 700ms var(--ease-out) 860ms both;
}

/* Floating brand image */
.brand-media img {
  animation: leafFloat 8s ease-in-out infinite;
}

/* Sticky promo slide up */
.sticky-promo {
  animation: wrStickySlideUp 500ms var(--ease-out) 1s both;
}

/* CTA glow pulse */
.btn--gold {
  animation: goldPulse 2.8s ease-in-out infinite;
}

/* Arrow bounce in ghost button */
.btn--ghost .btn-arrow {
  animation: wrArrowBounce 1.4s ease-in-out infinite;
}
