/* ========================================
   EFECTOS HOVER UNIFICADOS (SOBRIOS/PROFESIONALES)
   - Sin cambios de color agresivos
   - Overlay sutil y ligera elevación
   - Respeta preferencias de accesibilidad
   ======================================== */

:root {
  --hover-overlay: rgba(255,255,255,0.06);
  --hover-overlay-strong: rgba(255,255,255,0.08);
  --hover-elevacion-sombra: 0 10px 28px rgba(0,0,0,0.28);
  --hover-translate: -2px;
}

/* Base: cualquier elemento interactivo con clase utilitaria */
.hover-sobrio,
.btn,
.nav-links a,
.mobile-links a,
.footer-links a,
.social-link,
.card,
.servicio-card,
.benefit-item,
.newsletter-btn,
.tarjeta-newsletter,
.plan-card {
  position: relative;
  overflow: hidden;
}

.hover-sobrio::after,
.btn::after,
.nav-links a::after,
.mobile-links a::after,
.footer-links a::after,
.social-link::after,
.card::after,
.servicio-card::after,
.benefit-item::after,
.newsletter-btn::after,
.tarjeta-newsletter::after,
.plan-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--hover-overlay);
  opacity: 0;
  transition: opacity var(--t1, .35s ease);
  z-index: 1;
  pointer-events: none;
}

.hover-sobrio:hover::after,
.btn:hover::after,
.nav-links a:hover::after,
.mobile-links a:hover::after,
.footer-links a:hover::after,
.social-link:hover::after,
.card:hover::after,
.servicio-card:hover::after,
.benefit-item:hover::after,
.newsletter-btn:hover::after,
.tarjeta-newsletter:hover::after,
.plan-card:hover::after {
  opacity: 1;
  transition: opacity 0s linear; /* encendido instantáneo al entrar */
}

/* Elevación ligera y consistente para elementos clave */
.hover-sobrio:hover,
.btn:hover,
.servicio-card:hover,
.plan-card:hover,
.newsletter-btn:hover,
.tarjeta-newsletter:hover {
  transform: translateY(var(--hover-translate));
  box-shadow: var(--hover-elevacion-sombra);
}

/* Navegación y enlaces: solo overlay, sin cambiar colores de texto */
.nav-links a:hover,
.mobile-links a:hover,
.footer-links a:hover,
.social-link:hover {
  box-shadow: none;
  transform: translateY(calc(var(--hover-translate) / 2));
}

/* Botones: respetan estilos actuales, solo elevación controlada */
.btn:hover {
  transform: translateY(calc(var(--hover-translate) / 2));
}

/* Preferencias de usuario: reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .hover-sobrio:hover,
  .btn:hover,
  .servicio-card:hover,
  .plan-card:hover,
  .newsletter-btn:hover,
  .tarjeta-newsletter:hover,
  .nav-links a:hover,
  .mobile-links a:hover,
  .footer-links a:hover,
  .social-link:hover {
    transform: none;
    box-shadow: none;
  }
}


