/* Tu Destino — carrusel de banners principales del home. Imagen distinta
   para escritorio (recomendado 1920x840) y móvil (recomendado 900x1200)
   vía <picture>. No se fuerza ni recorta a una proporción fija: cada
   banner se muestra a su proporción real (igual que el banner de los
   contenedores del home), y el alto del carrusel lo ajusta hero-carousel.js
   según la imagen del slide activo, para que no salte al cambiar de slide
   si alguna imagen tiene una proporción distinta a la recomendada. */

.hero-carousel { position: relative; overflow: hidden; background: var(--arena); transition: height .3s ease; }
.hero-carousel .hc-track {
  display: flex; align-items: flex-start; transition: transform .6s ease;
}
.hero-carousel .hc-slide {
  position: relative; flex: 0 0 100%; min-width: 0;
}
.hero-carousel .hc-slide a { display: block; width: 100%; }
.hero-carousel .hc-slide picture,
.hero-carousel .hc-slide img {
  width: 100%; height: auto; display: block;
}

.hc-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(11,29,51,.45); color: #fff; border: none;
  width: 38px; height: 38px; border-radius: 50%; cursor: pointer;
  font-size: 1.3rem; line-height: 1; display: flex; align-items: center; justify-content: center;
  z-index: 5;
}
.hc-arrow:hover { background: rgba(11,29,51,.7); }
.hc-arrow-prev { left: 16px; }
.hc-arrow-next { right: 16px; }

.hc-dots {
  position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 8px; z-index: 5;
}
.hc-dot {
  width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.55);
  border: none; cursor: pointer; padding: 0;
}
.hc-dot.active { background: #fff; }

/* Si el buscador de paquetes está activo justo debajo (semi montado, se
   superpone al borde inferior del carrusel), subimos los dots para que no
   queden tapados por la tarjeta del buscador. */
.hero-carousel:has(+ .search-widget-wrap:not(.hidden)) .hc-dots { bottom: 58px; }
@media (max-width: 860px) {
  .hero-carousel:has(+ .search-widget-wrap:not(.hidden)) .hc-dots { bottom: 40px; }
}

@media (max-width: 768px) {
  .hc-arrow { width: 32px; height: 32px; font-size: 1.1rem; }
}
