/* --- Carrusel adaptado y proporcional --- */
#galeriaCarrusel img {
  max-width: 90%;
  /* ancho máximo dentro del contenedor */
  height: 500px;
  /* altura automática según proporción */
  object-fit: contain;
  /* ajusta la imagen completa sin cortar */
  border-radius: 10px;
  margin: 0 auto;
  display: block;
}

/* Asegurar que las flechas del carrusel siempre se vean */
#galeriaCarrusel .carousel-control-prev,
#galeriaCarrusel .carousel-control-next {
  z-index: 5;
  /* que queden sobre la imagen */
}

#galeriaCarrusel .carousel-control-prev-icon,
#galeriaCarrusel .carousel-control-next-icon {
  background-color: rgba(0, 0, 0, 0.4);
  /* fondo oscuro semitransparente */
  border-radius: 50%;
  /* redondeado para que se note mejor */
  padding: 15px;
  /* hace que el círculo sea más grande y clickeable */
}

/* --- Imagen del modal --- */
#imagenModal {
  max-height: 85vh;
  /* no pasa del alto de la pantalla */
  width: auto;
  cursor: zoom-in;
  transition: transform 0.3s ease;
}

/* Flechas siempre visibles */
.carousel-control-prev,
.carousel-control-next {
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  transition: opacity 0.3s;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  opacity: 1;
}

/* Estilos para el logo del cliente */

/* --- Estilos carrusel automático de logos --- */
.carousel_logo {
  overflow: hidden;
  width: 100%;
  max-width: 900px;
  margin: 20px auto;
  position: relative;
}

.carousel-track {
  display: flex;
  animation: scroll 20s linear infinite;
  --scroll-width: 50%; /* valor por defecto para que no se rompa */
}

.carousel-track img {
  max-height: 100px;
  margin: 0 20px;
  object-fit: contain;
  border-radius: 50px;
}

/* Animación continua */
@keyframes scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-1 * var(--scroll-width)));
  }
}