/* ==========================================================================
   MEVI NETWORK - ANIMATIONS & SCROLL INTERACTIONS (60 FPS)
   GPU-Accelerated Keyframes, Micro-Interactions, and Scroll Reveals
   ========================================================================== */

/* Fade In Up Reveal */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 32px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Fade In Scale */
@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale3d(0.92, 0.92, 1);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

/* Infinite Marquee Scroll */
@keyframes marqueeScroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

/* Floating Action Button Ripple Pulse */
@keyframes pulseRipple {
  0% {
    transform: scale(0.95);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.35);
    opacity: 0;
  }
  100% {
    transform: scale(0.95);
    opacity: 0;
  }
}

/* Shimmer Light Sweep on Gold Badges */
@keyframes shimmerGlow {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* Float Animation for Floating Cards */
@keyframes gentleFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* Counter Pulse when triggering */
@keyframes counterPulse {
  0% {
    transform: scale(0.85);
    opacity: 0.5;
  }
  70% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Scroll Reveal Utility Classes */
.reveal-on-scroll {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  transition: opacity 0.75s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.75s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Staggered Delay Helpers */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }
.delay-500 { transition-delay: 0.5s; }

/* Gentle Float element */
.animate-float {
  animation: gentleFloat 4s ease-in-out infinite;
}

/* Shimmer utility */
.shimmer-badge {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
  background-size: 200% 100%;
  animation: shimmerGlow 3s infinite;
}

/* Smooth Tab Fade Transition */
.tab-pane-fade {
  animation: fadeInScale 0.35s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}
