/* ==========================================================================
   DPF CHILE — ANIMATIONS & MICRO-INTERACTIONS
   ========================================================================== */

@keyframes redPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(225, 6, 0, 0.7);
  }
  70% {
    box-shadow: 0 0 0 16px rgba(225, 6, 0, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(225, 6, 0, 0);
  }
}

@keyframes greenPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
  }
  70% {
    box-shadow: 0 0 0 16px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

@keyframes scanline {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(1000%);
  }
}

@keyframes glowFloat {
  0%, 100% {
    transform: translateY(0);
    filter: drop-shadow(0 0 15px rgba(225, 6, 0, 0.4));
  }
  50% {
    transform: translateY(-6px);
    filter: drop-shadow(0 0 28px rgba(225, 6, 0, 0.7));
  }
}

@keyframes laserSweep {
  0% {
    left: -100%;
  }
  100% {
    left: 200%;
  }
}

.pulse-red {
  animation: redPulse 2s infinite;
}

.pulse-green {
  animation: greenPulse 2s infinite;
}

.glow-float {
  animation: glowFloat 4s ease-in-out infinite;
}

.hover-glow {
  transition: all var(--transition-normal);
}

.hover-glow:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--dpf-red);
}

.text-gradient-red {
  background: linear-gradient(135deg, #FFFFFF 0%, #FFFFFF 50%, var(--dpf-red) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-brand {
  background: linear-gradient(135deg, #FF3B30 0%, #E10600 60%, #B50000 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
