body
{
    font-family :'Open Sans', Helvetica, Arial, Lucida, sans-serif;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 66px; /* Ajusta este valor a la altura de tu navbar */
}

#navbar {
    transition: background-color 0.3s ease; 
  }
  
  /* Estilo cuando la navbar cambia de color */
  #navbar.scrolled {
    background-color: #dff7db !important;  /* El color de fondo cuando se hace scroll */
  }

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); /* Ajusta la opacidad aquí */
    pointer-events: none; /* Asegura que no bloqueé la interacción con otros elementos */
}
.padinicial
{
    padding-left: 116px;
}

@media (max-width:767px)
{
    .imagenlogo
    {
        width: 40vw; 
        height: 40vw;
    }
}
@media (max-width:991px) 
{
    .padinicial
    {
        padding-left: 0px;
    }
    
.secciones
{
  height: 30vh !important;
}
    
}
@media (max-width: 1199px) and (min-width: 768px)
{
    .imagenlogo
    {
        width: 30vw; 
        height: 30vw;
    }
    .text-muted {
        font-size: 0.9rem;
      }
}
@media (min-width:1200px)
{
    .imagenlogo
    {
        width: 20vw; 
        height: 20vw;
    }
}

.logo-holder {
    transition: transform 0.5s ease; /* Transición suave */
    border-radius: 50%; /* Asegura que la imagen sea redonda */
}
.logo-holder:hover
{
    transform: scale(1.1);
}



.navbar-nav .nav-item {
    position: relative;
    margin: 0 15px;
}

.navbar-nav .nav-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px; /* Ajusta el grosor de la barra */
    background-color: #007bff; /* Ajusta el color de la barra */
    transition: width 0.3s ease;
}

.navbar-nav .nav-item:hover::after {
    width: 100%; /* La barra se expandirá al 100% del ancho del nav-item */
}

.navbar-nav .nav-item a {
    transition: color 0.3s ease;
}

.navbar-nav .nav-item:hover a {
    transform: scale(1.07); /* Aumenta el tamaño del texto un 10% */
    transition: transform 0.3s ease; /* Añade una transición suave */
}


.icon-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: rgb(243, 243, 212); /* Fondo claro */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, transform 0.2s ease;
    text-decoration: none;
}

.icon-btn svg {
    transition: transform 0.2s ease, fill 0.2s ease;
    fill: #343a40; /* Color oscuro inicial */
}

.icon-btn:hover {
    background-color: #007bff; /* Azul al pasar el mouse */
}

.icon-btn:hover svg {
    fill: #ffffff; /* Ícono blanco al pasar el mouse */
}



.about-us-section {
    background: #f9f9f9;
    padding: 50px 0;
  }
  
  .services-section {
    background-color: #f0f0f0;
  }
  
  .section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #333;
  }
  
  .service-card {
    background-color: #fff;
    border-radius: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  
  .service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 30px rgba(4, 54, 216, 0.76) !important;
  }
  
  .service-title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #333;
    text-align: center !important;
  }
  
  .service-icon {
    color: #333;
  }
  
  .text-muted {
    color: #6c757d;
    text-align: center !important;
  }
  
  @media (max-width: 768px) {
    .service-card {
      padding: 20px;
    }
    .service-title {
      font-size: 1.25rem;
    }
  }
  


  .carousel-inner img {
    height: 75vh;
    object-fit: cover; /* Recorta la imagen para que se ajuste */
}

.btn-group .btn {
  border-radius: 20px;
  padding: 6px 15px;
  font-size: 14px;
  transition: all 0.3s ease-in-out;
}

.btn-group .btn.active {
  background-color: #007bff;
  color: white;
  border-color: #007bff;
}

.modal-body {
  height: 75vh;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

#pdfContainer {
  width: 100%;
  max-height: 100%;
  overflow-y: scroll; /* Asegura que el scroll sea estable */
  text-align: center;
  will-change: transform; /* ⚡ Mejora rendimiento al scrollear */
}

#pdfContainerSensillo {
  width: 100%;
  max-height: 100%;
  overflow-y: scroll; /* Asegura que el scroll sea estable */
  text-align: center;
  will-change: transform; /* ⚡ Mejora rendimiento al scrollear */
}



/* .secciones
{
  height: 37vh;
} */

.seccion {
  position: relative;
  height: 37vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* Evita desbordamientos al agrandar */
}

/* Texto encima de la imagen */
.seccion h3 {
  position: absolute;
  color: white;
  font-size: 1.8rem;
  font-weight: bold;
  z-index: 2; /* Asegura que el texto esté por encima */
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.8); /* Mejora la legibilidad */
}

/* Imagen de fondo */
.seccion::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.3s ease-in-out;
  z-index: 1;
}

/* Capa de oscurecimiento */
.seccion::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  z-index: 2;
}

/* Efecto hover: agranda la imagen */
.seccion:hover::before {
  transform: scale(1.1);
}

/* Asegura que el texto esté sobre la imagen */
.seccion h3 {
  position: relative;
  z-index: 3;
  padding: 5px 10px;
  border-radius: 5px;
}

/* Específicas imágenes de cada sección */
.bg-jardin::before { background-image: url('https://res.cloudinary.com/dmkdf6q30/image/upload/f_auto,q_auto/v1742404335/JARDIN-BG_lrzl5j.jpg'); }
.bg-cocina::before { background-image: url('https://res.cloudinary.com/dmkdf6q30/image/upload/f_auto,q_auto/v1742404333/COCINA-BG_z89jqp.jpg'); }
.bg-banos::before { background-image: url('https://res.cloudinary.com/dmkdf6q30/image/upload/f_auto,q_auto/v1742404340/BANO-BG_xz7dfk.jpg'); }
.bg-casino::before { background-image: url('https://res.cloudinary.com/dmkdf6q30/image/upload/f_auto,q_auto/v1742404329/CASINO-BG_rradyo.jpg'); }
.bg-estacionamiento::before { background-image: url('https://res.cloudinary.com/dmkdf6q30/image/upload/f_auto,q_auto/v1742404331/ESTACIONAMIENTO-BG_fnsooe.jpg'); }
.bg-palapas::before { background-image: url('https://res.cloudinary.com/dmkdf6q30/image/upload/f_auto,q_auto/v1742404338/PALAPAS-BG_rk1skx.jpg'); }



.loader-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.loader {
  border: 5px solid #f3f3f3;
  border-top: 5px solid #3498db;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}



/* Estilos para las miniaturas */
.miniatura {
  width: 70px;
  height: 70px;
  object-fit: cover;
  cursor: pointer;
  border-radius: 8px;
  transition: transform 0.2s, border 0.2s;
  margin: 0 5px;
  flex-shrink: 0;
}

.miniatura:hover {
  transform: scale(1.1);
}

.miniatura.seleccionada {
  transform: scale(1.1); 
  border: 3px solid #007bff;
}

/* Contenedor de miniaturas */
.miniaturas-container {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Para Firefox */
  -ms-overflow-style: none; /* Para IE y Edge */
  max-width: calc(100% - 100px); /* Ajusta según el espacio de las flechas */
  padding: 5px;
}

.miniaturas-container::-webkit-scrollbar {
  display: none; /* Para Chrome, Safari y Opera */
}

/* Flechas de navegación */
.flecha {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  z-index: 1;
}

.flecha:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: scale(1.1);
}

/* Estilos responsivos */
@media (max-width: 768px) {
  .miniatura {
    width: 50px;
    height: 50px;
  }
  
  .flecha {
    width: 30px;
    height: 30px;
    font-size: 16px;
  }
  
  #imagenPrincipal {
    max-height: 50vh !important;
  }
}

.modalsize {
  height: auto;
  width: auto;
}

/* Estilo para miniatura seleccionada */
.miniatura.seleccionada {
  border: 3px solid #007bff;
  transform: scale(1.1);
  box-shadow: 0 0 10px rgba(0, 123, 255, 0.5);
}

/* Asegurar que las flechas sean visibles */
.flecha {
  display: flex !important; /* Sobreescribe cualquier display: none */
  z-index: 10;
  position: static; /* Cambia esto si necesitas posición absoluta */
  transform: none; /* Elimina transformaciones que puedan afectar */
  margin: 0 5px; /* Espaciado entre flechas y miniaturas */
}

/* Contenedor de miniaturas */
.miniaturas-container {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

.miniaturas-container::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Opera */
}