/**
 * CTAs: WhatsApp flotante + estilo “promo” (Ver Funcionalidades / Cotizar por WhatsApp).
 */

@keyframes navi-wa-float {
  0%,
  100% {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), 0 0 0 0 rgba(37, 211, 102, 0.45);
    transform: translateY(0) scale(1);
  }
  50% {
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.38), 0 0 0 12px rgba(37, 211, 102, 0);
    transform: translateY(-2px) scale(1.02);
  }
}

@keyframes features-cta-glow {
  0%,
  100% {
    box-shadow:
      0 4px 22px rgba(0, 0, 0, 0.28),
      0 0 0 1px rgba(52, 211, 153, 0.45),
      0 0 18px rgba(34, 197, 94, 0.28);
  }
  50% {
    box-shadow:
      0 6px 28px rgba(0, 0, 0, 0.32),
      0 0 0 1px rgba(110, 231, 183, 0.75),
      0 0 32px rgba(34, 197, 94, 0.42),
      0 0 40px rgba(34, 211, 238, 0.2);
  }
}

.wa-float {
  animation: navi-wa-float 2.8s ease-in-out infinite;
  will-change: transform, box-shadow;
}

.wa-float:hover,
.wa-float:focus-visible {
  animation: none;
}

/* Mismo look que “Ver Funcionalidades” en home: verde / cian, brillo pulsante */
.btn.btn-ghost.btn-cta-promo,
a.btn.btn-primary.btn-cta-promo {
  position: relative;
  padding: 13px 24px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #ffffff !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-color: rgba(52, 211, 153, 0.9) !important;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.28), rgba(34, 211, 238, 0.14)) !important;
  box-shadow:
    0 4px 22px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(52, 211, 153, 0.45),
    0 0 18px rgba(34, 197, 94, 0.28);
  animation: features-cta-glow 2.5s ease-in-out infinite;
  transition: filter 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.btn.btn-ghost.btn-cta-promo:hover,
.btn.btn-ghost.btn-cta-promo:focus-visible,
a.btn.btn-primary.btn-cta-promo:hover,
a.btn.btn-primary.btn-cta-promo:focus-visible {
  border-color: #a7f3d0 !important;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.4), rgba(34, 211, 238, 0.22)) !important;
  filter: brightness(1.08);
  transform: translateY(-2px);
  animation: none;
}

@media (max-width: 960px) {
  .hero .btn.btn-ghost.btn-cta-promo,
  .hero a.btn.btn-primary.btn-cta-promo,
  .cta-band a.btn.btn-primary.btn-cta-promo {
    padding: 12px 22px;
    font-size: 14px;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wa-float,
  .btn.btn-ghost.btn-cta-promo,
  a.btn.btn-primary.btn-cta-promo {
    animation: none !important;
    will-change: auto;
  }
}
