/**
 * PhytoScience Wellness - High-End Luxury Micro-Interactions & Scroll Animations
 * Crimson & Ruby Red brand keyframes
 */

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

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

@keyframes psScaleIn {
  from {
    opacity: 0;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes psPulseGlow {
  0% {
    box-shadow: 0 0 0 0 rgba(216, 0, 29, 0.5);
  }
  70% {
    box-shadow: 0 0 0 16px rgba(216, 0, 29, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(216, 0, 29, 0);
  }
}

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

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

.reveal-init {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

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

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

.animate-pulse-glow {
  animation: psPulseGlow 2.4s infinite;
}

.animate-float {
  animation: psFloat 4s ease-in-out infinite;
}

.shimmer-badge {
  background: linear-gradient(90deg, rgba(216, 0, 29, 0.15) 0%, rgba(216, 0, 29, 0.45) 50%, rgba(216, 0, 29, 0.15) 100%);
  background-size: 200% 100%;
  animation: psShimmer 3s infinite linear;
}
