/* ==========================================================================
   PATELMECH ENGINEERING LTD — ANIMATIONS & MICRO-INTERACTIONS
   ========================================================================== */

/* Toast Slide-In Animation */
@keyframes toastSlideIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Ambient Pulse for Map Pin */
@keyframes pinPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(239, 68, 68, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
  }
}

.map-pin-pulse {
  animation: pinPulse 2s infinite;
}

/* Subtle Shimmer on Badge Pills */
@keyframes shimmerGlow {
  0%, 100% {
    opacity: 0.8;
  }
  50% {
    opacity: 1;
    box-shadow: 0 0 12px rgba(0, 168, 89, 0.4);
  }
}

.badge-dot {
  animation: shimmerGlow 2.5s infinite ease-in-out;
}

/* Smooth Focus Rings */
:focus-visible {
  outline: 2px solid var(--color-primary-blue-light);
  outline-offset: 2px;
}

/* Spinner Animation for Form Submission */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.btn-spinner {
  display: inline-block;
  vertical-align: middle;
}

button:disabled,
.btn:disabled {
  opacity: 0.75;
  cursor: not-allowed;
  pointer-events: none;
}

/* Reduced Motion Override for Accessibility */
@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;
  }
}

