/* ==========================================================================
   SHIV IMPEX GLOBAL - ANIMATIONS & TRANSITIONS (V2)
   Keyframes, Reveal Triggers, Guaranteed Visibility Fallbacks
   ========================================================================== */

/* Keyframe Animations */
@keyframes pulseDot {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(238, 113, 36, 0.7);
  }
  70% {
    transform: scale(1.1);
    box-shadow: 0 0 0 8px rgba(238, 113, 36, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(238, 113, 36, 0);
  }
}

@keyframes floatSlow {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(1deg); }
}

/* Scroll Reveal Classes (Default to Visible so content is NEVER blank) */
.reveal-fade-up,
.reveal-fade-left,
.reveal-fade-right,
.reveal-zoom-in {
  opacity: 1;
  transform: translate(0, 0) scale(1);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Enhanced progressive enhancement when JS is active */
.js-loaded .reveal-fade-up {
  opacity: 0;
  transform: translateY(24px);
}

.js-loaded .reveal-fade-left {
  opacity: 0;
  transform: translateX(-24px);
}

.js-loaded .reveal-fade-right {
  opacity: 0;
  transform: translateX(24px);
}

.js-loaded .reveal-zoom-in {
  opacity: 0;
  transform: scale(0.95);
}

.js-loaded .reveal-active {
  opacity: 1 !important;
  transform: translate(0, 0) scale(1) !important;
}

/* Animation Delays */
.delay-100 { transition-delay: 80ms; }
.delay-200 { transition-delay: 160ms; }
.delay-300 { transition-delay: 240ms; }
.delay-400 { transition-delay: 320ms; }
.delay-500 { transition-delay: 400ms; }

/* Floating Badges & Cards */
.animate-float {
  animation: floatSlow 5s ease-in-out infinite;
}
