/* ===== Hero: servicio rotativo, botón magnético, fade entre imágenes ===== */

/* --- Fade entre imágenes del hero + overlay fijo --- */
.hero{ position:relative; overflow:hidden; }
.hero .capa-imagen{
  position:absolute; inset:0; opacity:0;
  background-size:cover; background-position:center;
  transition:opacity 1.2s ease;
}
.hero .capa-imagen.activa{ opacity:1; }
.hero .overlay-oscuro{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(5,19,26,.88) 0%, rgba(5,19,26,.55) 55%, rgba(5,19,26,.25) 100%);
}
.hero .contenido-hero{ position:relative; z-index:2; }

/* --- Servicio rotativo en el título --- */
.rotativo-etiqueta, .rotativo-titulo{
  transition:opacity .4s ease;
}

/* --- Botón magnético --- */
.btn-magnetico{
  transition:transform .15s ease, background .2s ease;
}

@media (prefers-reduced-motion: reduce){
  .hero .capa-imagen{ transition:none; }
  .rotativo-etiqueta, .rotativo-titulo{ transition:none; }
  .btn-magnetico{ transition:none; }
}

/* --- Barra de controles del slider centrada --- */
.slider-controles-centrados {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}


/* --- Animación Latido Infinito para Botones Flotantes --- */
@keyframes infinite-heartbeat {
  0% { transform: scale(1); }
  14% { transform: scale(1.12); }
  28% { transform: scale(1); }
  42% { transform: scale(1.12); }
  70% { transform: scale(1); }
  100% { transform: scale(1); }
}

.animate-infinite-heartbeat {
  animation: infinite-heartbeat 2s ease-in-out infinite !important;
  transform-origin: center center;
  will-change: transform;
}
