@keyframes pulse-glow {
  0%, 60%, 100% {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  }
  70% {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25), 0 0 0 10px rgba(37, 211, 102, 0.35);
  }
}

#whatsapp-float.is-pulsing {
  animation: pulse-glow 1.6s ease-out;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}

.shake-once {
  animation: shake 400ms ease-in-out;
}

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

.fade-in-up {
  animation: fade-in-up 500ms ease-out both;
}

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