/* Aplica a imágenes y videos dentro del carousel */
.carousel-item img,
.carousel-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Altura del carousel para ajustarse al viewport */
.carousel-item {
  position: relative;
  overflow: hidden;
  height: 80vh;
}

/* Contenedor de los ítems del carrusel */
.carousel-inner {
  overflow: hidden;
}

/* Centrar captions */
.carousel-caption.centered {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

/* Contenido dentro del caption */
.carousel-caption.centered .caption-content {
  padding: 1rem 2rem;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  pointer-events: auto;
  max-width: 90%;
  background-color: rgba(0, 0, 0, 0.5); /* opcional */
  color: #fff;
}

/* Título dentro del caption */
.carousel-caption.centered .caption-content h2 {
  font-size: clamp(1.5rem, 5vw, 3rem);
  margin: 0;
  text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* Evita que videos más anchos se corten mal en landscape */
@media screen and (orientation: landscape) {
  .carousel-item img,
  .carousel-item video {
    height: 100vh;
    object-fit: cover;
  }
  main { min-height: 80dvh;  }
}

/* --------- Responsivo (ajustes si necesitas) ---------- */

/* Smartphones */
@media (max-width: 767px) {
  .carousel-caption.centered .caption-content {
    padding: 0.5rem 1rem;
  }

  .carousel-caption.centered .caption-content h2 {
    font-size: 1.5rem;
  }

  main { min-height: 80dvh;  }
}

/* Tablets */
@media (min-width: 768px) and (max-width: 1023px) {
  .carousel-caption.centered .caption-content h2 {
    font-size: 2rem;
  }
  main { min-height: 80dvh;  }
}

/* Laptops */
@media (min-width: 1024px) and (max-width: 1439px) {
  /* ajustes opcionales */
  main { min-height: 80dvh;  }
}

/* Pantallas grandes */
@media (min-width: 1440px) {
  /* ajustes opcionales */
  main { min-height: 80dvh;  }
}







