/* ============================================================
   AMB CONTRACTING — Animations
   Supplementary animations (AOS handles scroll triggers)
============================================================ */

/* ── WhatsApp Pulse ──────────────────────────────────────── */
@keyframes pulse {
  0%, 100% {
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
  }
  50% {
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.7);
  }
}

/* ── Stat Counter Glow ───────────────────────────────────── */
@keyframes countGlow {
  0% { opacity: 0.5; transform: scale(0.95); }
  100% { opacity: 1; transform: scale(1); }
}

/* ── Hover transforms ────────────────────────────────────── */
.hover-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
}

.hover-scale {
  transition: transform 0.3s ease;
}

.hover-scale:hover {
  transform: scale(1.05);
}

/* ── Gradient shift animation ────────────────────────────── */
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.gradient-animated {
  background-size: 200% 200%;
  animation: gradientShift 6s ease infinite;
}

/* ── Smooth entrance for elements already visible ────────── */
.fade-in-ready {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-ready.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Icon spin on hover ──────────────────────────────────── */
.icon-spin-hover:hover i {
  animation: iconSpin 0.6s ease;
}

@keyframes iconSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ── Underline slide ─────────────────────────────────────── */
.underline-slide {
  position: relative;
}

.underline-slide::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--primary);
  transition: width 0.3s ease;
}

.underline-slide:hover::after {
  width: 100%;
}
