@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

body, html {
  overflow-x: hidden;
}
body {
  font-family: 'Raleway', sans-serif;
  color: #333;
  letter-spacing: 1.2px;
  font-weight: lighter;
}
hr {
  border: 1.5px solid #000;
  margin: 30px auto;
  width: 80px !important;
  margin-bottom: 50px;
  opacity: 1;
}
li {
  letter-spacing: 1.2px;
	margin-bottom: 10px;
}

.txt-verde{
	color: #74bb25;
	
}
.logo-modal{
	margin-right: 20px;
	padding: 10px;
	height: auto;
	width: 200px;
}
.accordion-button {
  font-size: 1rem;
  color: #2450a9;
  text-align: left;
  font-weight: 500;
}
/* Estilo base del menú */
.transicion-nav {
  transition: background-color 0.4s ease, padding 0.4s ease;
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: transparent; /* Por defecto transparente en escritorio */
}
/* Links y Brand siempre blancos por defecto, para cuando la nav es transparente */
/* Esto se aplica a TODAS las pantallas por defecto, si no hay media query que lo anule */
#mainNav .nav-link, #mainNav .navbar-brand {
  color: #fff !important;
  text-transform: uppercase;
}
/* 1. Ajuste para el logo en móvil */
#mainNav .navbar-brand img {
  height: 70px; /* Tamaño más apropiado para móvil */
  width: auto; /* Mantiene la proporción */
  object-fit: contain;
}
/* Efecto hover */
#mainNav .nav-link:hover {
  color: rgba(255, 255, 255, 0.8) !important;
}
/* Icono del toggler (hamburguesa) siempre blanco */
.navbar-toggler {
  border-color: rgba(255, 255, 255, 0.5) !important;
}
.navbar-toggler-icon {
  filter: invert(1); /* Hace el icono blanco (normalmente el icono es oscuro) */
}
/* CLASE QUE SE AGREGA AL BAJAR EL SCROLL (Escritorio y Móvil) */
.navbar-scrolled {
  background-color: #74bb25 !important; /* Fondo verde al hacer scroll */
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
/* --- REGLAS PARA COMPORTAMIENTO ESPECÍFICO EN MOBILE --- */
@media (max-width: 991.98px) { /* Aplica a pantallas más pequeñas que 'lg' (tablets y móviles) */
  .logo-modal{
	margin-right: 10px;
	padding: 5px;
	height: auto;
	width: 80px;
}
	
	.transicion-nav {
    background-color: #16253d; /* Fondo color oscuro por defecto en mobile (sin scroll) */
  }
  /* El menú desplegado debe tomar el mismo color de fondo */
  #navbarSupportedContent.show {
    background-color: #16253d !important;
    /* Asegura que el menú desplegado ocupe todo el ancho y se posicione correctamente */
    width: 100%; /* El menú colapsado debe ocupar el 100% del ancho */
    position: absolute; /* Esto permite que el menú se "desacople" del flujo normal */
    top: 100%; /* Se posiciona justo debajo de la navbar */
    left: 0; /* Se alinea a la izquierda */
    z-index: 1020; /* Un z-index alto para que esté encima de todo */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra para destacarlo */
  }
  /* 1. Ajuste para el logo en móvil */
  #mainNav .navbar-brand img {
    height: 50px; /* Tamaño más apropiado para móvil */
    max-width: 120px; /* Limita el ancho del logo */
    width: auto; /* Mantiene la proporción */
    object-fit: contain;
  }
  /* 2. Ajuste para el contenedor dentro de la navbar en móvil */
  #mainNav > .container {
    /* Eliminamos 'flex-wrap: nowrap;' aquí, ya que era el culpable principal */
    /* Aseguramos que el contenido no se desborde con padding estándar */
    padding-right: 15px;
    padding-left: 15px;
    /* Para que el logo y el toggler se mantengan bien distribuidos en una fila */
    display: flex; /* Asegura que el container se comporte como flexbox */
    justify-content: space-between; /* Distribuye espacio entre logo y toggler */
    align-items: center; /* Alinea verticalmente */
    width: 100%; /* Asegura que el contenedor no sea más pequeño que la pantalla */
  }
  /* Reajuste del botón hamburguesa */
  #mainNav .navbar-toggler {
    padding: 0.25rem 0.75rem;
    width: auto;
    height: auto;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #mainNav .navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
  }
  /* Asegúrate de que los enlaces sigan siendo blancos en mobile */
  #mainNav .navbar-nav .nav-link {
    color: #fff !important;
    padding-left: 1rem !important; /* Añade un poco de padding a la izquierda para los elementos del menú desplegado */
  }
  /* Los elementos de la lista en el menú desplegado ocuparán todo el ancho */
  #mainNav .navbar-nav {
    width: 100%;
    margin-top: 0.5rem; /* Pequeño margen superior para separar de la barra */
  }
  /* Quitar margen inferior que agregaba Bootstrap por defecto en mobile */
  #mainNav .navbar-nav.mb-2 {
    margin-bottom: 0 !important;
  }
}



.hero-section2 {
    position: relative;
    min-height: 40vh; /* Ajusta este valor según el alto que desees (60% de la pantalla) */
    width: 100%;
    overflow: hidden;
    background: url('../images/hero-bg/aviso.jpg') no-repeat center bottom;
  background-size: cover;
  /* --- ESTO ACTIVA EL PARALLAX --- */
  background-attachment: fixed; /* ------------------------------ */
}

/* Asegúrate de que el overlay y el container no se encimen incorrectamente */
.hero-section2 .overlay2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5); /* Ajusta la opacidad de la capa oscura */
    z-index: 1;
}

.hero-section2 .container {
    position: relative;
    z-index: 2; /* Para que el texto quede por encima de la capa oscura */
}

.hero-section2 h1 {
    color: #ffffff;
    margin: 0;
}

/* 1. Definimos la altura y el fondo del contenedor padre */
.hero-section {
  position: relative;
  width: 100%;
  height: 80vh;
  min-height: 500px; /* Aseguramos la altura mínima para el parallax */
  /* TU IMAGEN DE FONDO */
  background: url('../images/hero-bg/landing.jpg') no-repeat center center;
  background-size: cover;
  /* --- ESTO ACTIVA EL PARALLAX --- */
  background-attachment: fixed; /* ------------------------------ */
}
/* 2. La capa oscura superpuesta */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(14, 31, 66, 0.5); /* Oscuridad al 50% */
  z-index: 1;
}
/* 3. Ajustes del Carrusel */
#heroCarousel {
  position: relative;
  z-index: 2; /* Para que esté encima de la capa oscura */
}
/* IMPORTANTE: Esto evita que los textos desaparezcan */
.carousel-inner, .carousel-item {
  height: 100%;
}
/* Opcional: Hace la transición de fade más lenta y suave */
.carousel-fade .carousel-item {
  transition: opacity 1.5s ease-in-out; /* 1.5 segundos de fundido */
}
.carousel-item h1 {
  font-family: "Outfit", sans-serif;
  font-size: 43px;
  font-weight: 800 !important;
/*  letter-spacing: 8px;*/
  text-transform: uppercase;
	text-shadow: 2px 2px 4px black;
}

h1.display-3 span.color-redefine {
    color: #74bb25 !important;
}


.div-line {
  width: 50px;
  background-color: #fff;
  height: 3px;
  margin: 20px auto;
}
p.hero {
  font-family: 'Crimson Text', serif;
  font-style: italic;
  color: #fff;
  font-size: 25px;
  line-height: 32px;
  display: block;
  margin-top: 20px;
  font-weight: 100;
  letter-spacing: 1px;
}
.btn {
  font-size: 13px;
  letter-spacing: 1px;
  padding: 14px 25px;
  border-radius: 1px;
  text-transform: uppercase;
  -webkit-transition: all .25s ease-in-out;
  -moz-transition: all .25s ease-in-out;
  -ms-transition: all .25s ease-in-out;
  -o-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}
.btn-clean {
  border-color: #F5F5F5;
  color: #F5F5F5;
  text-transform: uppercase;
  letter-spacing: 0;
}
.btn-primary {
  text-transform: uppercase;
  background-color: #2450a9;
  border-color: #2450a9;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #000;
  border-color: #000;
}
.big-title-sec .big-subtitle {
  font-family: "Outfit", sans-serif;
  letter-spacing: 1.3px;
  margin-top: 0;
  margin-bottom: 28px;
  font-size: 42px;
  font-weight: 600;
  line-height: 1;
  text-transform: none;
  color: #000;
}
.big-title-sec hr {
  border: 1.5px solid #000;
  margin: 30px auto;
  width: 80px !important;
  margin-bottom: 50px;
  opacity: 1;
}
.big-title-sec p {
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 1.7px;
  font-weight: 300;
}
/* ... tu CSS existente ... */
/* Parallax para la sección de crédito */
#credito {
  background: url('../images/temp/stats-bg.jpg') no-repeat center center; /* RUTA DE TU IMAGEN */
  background-size: cover;
  background-attachment: fixed; /* ¡Esta es la clave del parallax! */
  position: relative; /* Necesario para que el overlay funcione */
  padding: 80px 0; /* Ajusta el padding para dar espacio al contenido */
  color: #fff; /* Cambia el color del texto para que contraste con el fondo */
  min-height: 500px; /* Asegura una altura mínima para ver el efecto */
  display: flex; /* Para centrar el contenido verticalmente */
  align-items: center; /* Centra el contenido verticalmente */
}
/* Capa oscura superpuesta para mejorar la legibilidad del texto */
#credito::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(14, 31, 66, 0.8); /* Color oscuro con 50% de opacidad */
  z-index: 1; /* Asegura que esté sobre la imagen pero debajo del contenido */
}
/* Asegura que el contenido del crédito esté encima del overlay */
#credito .container {
  position: relative;
  z-index: 2;
}
/* Ajusta los colores de los títulos y textos dentro de #credito */
#credito h2, #credito p, #credito li {
  color: #fff; /* Asegura que el texto sea blanco */
}
#credito .section_header h2 { /* Si tienes un h2 específico */
  color: #fff;
}
#credito .features-app-list li {
  color: #fff;
}
#credito .features-app-list li img {
  filter: invert(1); /* Si los iconos son oscuros, los hace blancos */
}
/* Cambia el color de la línea divisoria si la tienes */
#credito hr {
  border-color: #fff;
}
/* ... resto de tu CSS ... */
#video-section {
  background: url('../images/temp/tweet-bg.jpg') center bottom;
  position: relative;
  padding: 100px 0;
}
#video-section::before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: #0e1f42;
  opacity: .8;
  width: 100%;
  height: 100%;
  z-index: 2;
}
#video-section .container {
  position: relative;
  z-index: 3;
}
.pad-sec {
  padding: 100px 0 !important;
}
.video-head {
	margin-top: 0;
  margin-bottom: 28px;
  line-height: 1.45;
  text-transform: none;
  color: #FFF;
	font-family: "Outfit", sans-serif;
  font-size: 42px;
  font-weight: 600 !important;
/*  letter-spacing: 8px;*/
  text-transform: none;
	
}
.video-sub-heading {
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 1.7px;
  color: #FFF;
  max-width: 900px;
  margin: auto
}
.video-section-content hr {
  border: 1.5px solid #fff;
  margin: 30px auto;
  width: 80px !important;
  margin-bottom: 50px;
  opacity: 1;
}
.tit-modelo {
  font-size: 4em;
  color: #2450a9;
}
.plantas {
  color: #2450a9;
  font-size: 1.5em;
  font-weight: 600;
  margin-bottom: 20px;
}
.iconos-planta img {
  width: auto;
  height: 25px;
  display: inline;
  max-width: 30px;
  margin-bottom: 10px;
}
ul.features-app-list {
  list-style-type: none;
  text-transform: uppercase;
  line-height: 2.5em;
}
.gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  padding: 5px;
  transition: 0.3s;
}
@media (min-width: 768px) {
  .gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .gallery {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1440px) {
  .gallery {
    grid-template-columns: repeat(6, 1fr);
  }
}
.gallery:hover .gallery__image {
  filter: grayscale(1);
}
.gallery__link {
  overflow: hidden;
  height: 400px;
  max-height: 400px;
}
.gallery__link:hover .gallery__image {
  filter: grayscale(0);
}
.gallery__link:hover .gallery__caption {
  opacity: 1;
}
.gallery__thumb {
  position: relative;
  height: 100%;
}
.gallery__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.3s;
}
.gallery__image:hover {
  transform: scale(1.1);
}
.gallery__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 25px 15px 15px;
  width: 100%;
  font-family: "Helvetica", sans-serif;
  font-size: 14px;
  color: white;
  opacity: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
  transition: 0.3s;
}
.iconbox {
  float: left;
  width: 10px;
  height: 10px;
  text-align: center;
}
.features-box-content {
  margin-left: 70px;
}
/* ------------------------------------------- */
/* CSS para la Galería con Miniaturas */
/* ------------------------------------------- */
.gallery-wrapper {
  max-width: 800px; /* Ancho máximo de la galería */
  margin: 50px auto;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
/* Estilo para las imágenes del carrusel principal */
.carousel-item img {
  width: 100%;
  /* height: 450px; Altura fija para las imágenes principales */
  object-fit: cover; /* Cubrir el área sin distorsionar, recortando si es necesario */
  border-radius: 0px;
}
/* Contenedor de las miniaturas */
.thumbnail-container {
  padding: 0 5px; /* Espaciado entre las miniaturas */
}
/* Estilo para cada miniatura */
.thumbnail-item img {
  width: 100%;
  height: 80px; /* Altura fija para las miniaturas */
  object-fit: cover;
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 5px;
  transition: border-color 0.3s ease, transform 0.2s ease;
  opacity: 0.7; /* Ligeramente opacas por defecto */
}
/* Estilo para la miniatura activa o al pasar el ratón */
.thumbnail-item img.active, .thumbnail-item img:hover {
  border-color: #007bff; /* Color de resaltado de Bootstrap */
  opacity: 1; /* Completamente visible */
  transform: scale(1.05); /* Ligeramente más grande */
}
/*	estilos para zoom*/
/* Estilo para la miniatura (cursor de mano) */
.clearfix img {
  cursor: zoom-in;
}
.thumbnail-trigger {
  cursor: pointer;
  transition: opacity 0.3s;
  border-radius: 8px;
  overflow: hidden;
}
.thumbnail-trigger:hover {
  opacity: 0.8;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
/* --- ESTILOS DEL ZOOM EN EL MODAL --- */
.zoom-window {
  width: 100%;
  height: 500px; /* Altura fija para el modal (ajustable) */
  overflow: hidden; /* Esconde lo que se sale del cuadro */
  cursor: crosshair; /* Cursor de mira para precisión */
  position: relative;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.zoom-target {
  width: 100%;
  height: 100%;
  object-fit: contain; /* Asegura que la imagen se vea completa inicialmente */
  transition: transform 0.1s ease-out; /* Transición muy rápida para que siga al mouse fluido */
  pointer-events: none; /* Evita parpadeos con el mouse */
}
/* Cuando el mouse entra en la ventana (manejado por JS) */
.zoom-active {
  object-fit: cover; /* Cambia a cover para llenar espacio al hacer zoom */
  transform: scale(2.5); /* NIVEL DE ZOOM (2.5x) */
}
.lupa {
  position: absolute;
  top: 1em;
  left: 1em;
  background: rgba(0, 0, 0, .50);
  padding: 8px 15px 8px 15px;
  cursor: zoom-in;
  color: white;
  z-index: 1;
}

/* Contenedor principal de la planta */
.planta-container {
    position: relative;
    width: 160px; 
    float: left;
    margin: 15px;
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
    transition: all 0.3s ease;
}

/* Imagen base */
.planta-container img {
    width: 100%;
    display: block;
    transition: transform 0.5s ease;
}

/* Capa que oscurece (Overlay) */
.planta-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0); /* Invisible al inicio */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

/* Contenido dentro del overlay (icono y texto) */
.overlay-content {
    color: white;
    text-align: center;
    opacity: 0; /* Invisible al inicio */
    transform: translateY(20px); /* Efecto de subida */
    transition: all 0.3s ease;
}

.overlay-content i {
    font-size: 2rem;
    display: block;
}

.overlay-content span {
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: bold;
    display: block;
}

/* --- EFECTOS HOVER --- */

.planta-container:hover .planta-overlay {
    background: rgba(0, 0, 0, 0.4); 
}

.planta-container:hover .overlay-content {
    opacity: 1;
    transform: translateY(0);
}

.planta-container:hover img {
    transform: scale(1.1); /* Ligero zoom a la imagen al pasar el mouse */
}

#amenidadesCarousel .carousel-item img {
    max-height: 80vh;
    object-fit: contain;
}

/* Estilos generales para el botón flotante (Aplicables por defecto a desktop) */
.whatsapp-float {
    position: fixed;
    bottom: 40px;
    left: 0px; /* Posicionado a la izquierda para desktop */
    background-color: #2450a9;
    color: #FFF;
    border-radius: 0px 30px 30px 0px;
    box-shadow: 2px 2px 3px #999;
    z-index: 1000;
    display: flex; /* Habilitar flexbox */
    flex-direction: column; /* Apilar elementos verticalmente: texto arriba, icono abajo */
    align-items: center; /* Centrar horizontalmente los elementos apilados */
    justify-content: center; /* Centrar verticalmente los elementos apilados */
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 10px;
    width: auto;
   
    height: auto;
    text-align: center; /* Asegura que el texto dentro del span también se centre */
}

.whatsapp-float:hover {
    background-color: #128c7e;
    color: #FFF;
    transform: scale(1.1);
}

/* Estilos específicos para el texto "Escríbenos" en desktop */
.whatsapp-float span.small {
    margin-bottom: 5px; /* Pequeño espacio entre el texto y el icono */
    line-height: 1; /* Asegura que no haya espacio extra por la altura de línea */
	margin-top: 1em;
}

/* Media query para dispositivos móviles (hasta 767.98px de ancho) */
@media (max-width: 767.98px) {
    .whatsapp-float {
        left: auto; /* Desactiva la posición left */
        right: 20px; /* Mueve el botón a la derecha en móvil */
        bottom: 20px; /* Ajusta la posición inferior para móvil */
        
        border-radius: 50%; /* Hazlo circular en móvil */
        padding: .6em .7em .6em 1em; /* Asegura que no haya padding interno que afecte la circularidad */
        /* Las propiedades flex ya están heredadas y centradas */
		width: auto;
    }

    /* Ocultar el texto en móvil de forma definitiva */
    .whatsapp-float span {
        display: none !important; 
    }

    /* Estilo del icono en móvil */
    .whatsapp-float .bi-whatsapp {
        font-size: 3rem !important; /* Icono más grande en móvil. Ajusta si sigue sin centrarse perfecto */
        line-height: 1; /* Ayuda a centrar verticalmente el icono */
        margin: 0; /* Elimina cualquier margen residual en el icono */
        padding: 0; /* Elimina cualquier padding residual en el icono */
    }
}


.form-group {
  margin-bottom: 20px;
}
.footer {
  background: #152F4F;
  color: white;
  padding: 20px;
  font-size: .9em;
}
.footer .links ul {
  list-style-type: none;
}
.footer .links li a {
  color: #fff;
  text-decoration: none;
}
.footer .links li :hover {
  color: limegreen;
  text-decoration: none;
}
.footer a {
  color: #fff;
  text-decoration: none;
}
.footer a:hover {
  color: limegreen;
  text-decoration: none;
}