/**
 * KeepBetter E-Commerce & Lifestyle Platform
 * Animations & Micro-Interactions: Keyframes, Transitions, Glows & Drawer Slides
 * Architecture: Senior Hardware-Accelerated Animation Suite
 */

@keyframes pulse-glow {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

@keyframes pulse-glow-cyan {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(6, 182, 212, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(6, 182, 212, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(6, 182, 212, 0);
  }
}

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

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

@keyframes heart-pop {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.35);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes badge-pop {
  0% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.anim-pulse {
  animation: pulse-glow 2s infinite ease-in-out;
}

.anim-pulse-cyan {
  animation: pulse-glow-cyan 2s infinite ease-in-out;
}

.anim-float {
  animation: float-slow 4s infinite ease-in-out;
}

.anim-heart-pop {
  animation: heart-pop 0.3s ease-in-out;
}

.anim-fade-in-up {
  animation: fade-in-up 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Bio-Pulse Radar Ring for Logo & Medical Badges */
@keyframes bio-radar {
  0% {
    transform: scale(0.9);
    opacity: 0.9;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6);
  }
  70% {
    transform: scale(1.05);
    opacity: 1;
    box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
  }
  100% {
    transform: scale(0.9);
    opacity: 0.9;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

.anim-bio-radar {
  animation: bio-radar 2.4s infinite ease-in-out;
}

/* Free Shipping Shimmer Progress Bar */
@keyframes bar-shimmer {
  0% {
    background-position: -150% 0;
  }
  100% {
    background-position: 150% 0;
  }
}

.anim-shimmer-bar {
  background-size: 200% 100%;
  animation: bar-shimmer 2.5s infinite linear;
}

/* Drawer Entry & Item Fade Slide */
@keyframes drawer-slide-in {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes item-slide-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.anim-item-in {
  animation: item-slide-in 0.25s ease-out forwards;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
