/* ============================================================
   OMNICLICKDRFT.CLICK — ANIMATIONS.CSS
   Box-Slot Social Casino — Animation System
   ============================================================ */

/* ─── KEYFRAMES ─────────────────────────────────────────────── */

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

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

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

@keyframes cardFloat {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50%       { transform: translateY(-10px) rotate(0.5deg); }
}

@keyframes previewGlowPulse {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50%       { opacity: 1; transform: scale(1.06); }
}

@keyframes ambientPulse {
  0%, 100% { opacity: 0.4; transform: scale(0.96); }
  50%       { opacity: 0.8; transform: scale(1.04); }
}

@keyframes statusPulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(91, 191, 142, 0.4); }
  50%       { opacity: 0.7; box-shadow: 0 0 0 5px rgba(91, 191, 142, 0); }
}

@keyframes scrollBounce {
  0%, 100% { transform: translateY(0); opacity: 1; }
  50%       { transform: translateY(8px); opacity: 0.4; }
}

@keyframes particleFade {
  0%   { opacity: 0; transform: translateY(0) scale(0.5); }
  20%  { opacity: 0.6; }
  80%  { opacity: 0.3; }
  100% { opacity: 0; transform: translateY(-80px) scale(1.2); }
}

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

/* ─── SCROLL-TRIGGERED FADE-IN ──────────────────────────────── */

.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Delays */
.fade-delay-1 { transition-delay: 0.1s; }
.fade-delay-2 { transition-delay: 0.22s; }
.fade-delay-3 { transition-delay: 0.34s; }
.fade-delay-4 { transition-delay: 0.46s; }

/* Stagger variants */
.stagger-1 { transition-delay: 0.05s; }
.stagger-2 { transition-delay: 0.15s; }
.stagger-3 { transition-delay: 0.25s; }
.stagger-4 { transition-delay: 0.35s; }

/* ─── HERO ENTRANCE ─────────────────────────────────────────── */

.hero-section .hero-left,
.hero-section .hero-right {
  animation: fadeInUp 0.85s ease forwards;
}

.hero-section .hero-right {
  animation-delay: 0.2s;
}

/* ─── PARTICLES ─────────────────────────────────────────────── */

.particle {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

/* ─── INTERACTIVE STATES ─────────────────────────────────────── */

.feature-card,
.fairplay-card,
.value-card,
.rg-card,
.stat-card {
  will-change: transform;
}

/* ─── GAME FRAME GLOW ────────────────────────────────────────── */

.game-frame-container {
  will-change: transform;
}

/* Smooth page transitions (applied via JS class) */
.page-transition-out {
  animation: fadeIn 0.3s ease reverse forwards;
}
/* ENDFILE */