/*HOJA DE ESTILOS*/
:root {
  --color-principal: #A7876A;/*Color principal del sitio*/
  --color-negro: black;
  --color-secundario: #F6E7E4;
  --margen-fuera-secciones: 100px;/*Margen fuera de las secciones*/
  --margen-dentro-secciones: 200px;/*Margen dentro de las secciones*/
}
/*============*/
/*ESTILOS DE LA ESTRUCTURA*/
body{
  font-family: 'Montserrat', sans-serif;
}
footer{
  margin-top: var(--margen-fuera-secciones);
}
section{
  margin-top: var(--margen-fuera-secciones);/*Margen entre secciones*/
}
h1{
  font-size: 50px !important;
}
h2{
  font-size: 27px !important;
  font-weight: bold;
  color: var(--color-principal);
}
h3{
  font-size: 20px !important;
}
p{
  font-size: 16px !important;
}
a{
  text-decoration: none;
}
li:empty {
  list-style-type: none;
}
ul{
  padding: 0px !important;
  margin: 15px;
}
/*MOBILE*/
@media (max-width: 576px) {
  h1 {
    font-size: 1.4rem !important;
  }

  h2 {
    font-size: 1.3rem !important;
  }

  h3 {
    font-size: 1.0rem !important;
  }

  p {
    font-size: 0.85rem !important;
  }

  li{
    font-size: 0.85rem !important;
  }
}
/*TABLET O IPAD*/
@media (min-width: 600px) and (max-width: 1024px) {
  h1 {
    font-size: 1.8rem !important;
  }

  h2 {
    font-size: 1.6rem !important;
  }

  h3 {
    font-size: 1.3rem !important;
  }

  p {
    font-size: 0.875rem !important;
  }

  li {
    font-size: 0.875rem !important;
  }
}

/*============*/
/*BOTON SCROLL TOP*/
.btn-scroll-top-form {
  position: absolute;
  bottom: -140px;
  right: 50px;
  width: 50px;
  height: 50px;
  background-color: #BDC9FC;
  color: white;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.btn-scroll-top-form:hover {
  background-color: #F6E7E4;
  transform: scale(1.1);
}
@media (max-width: 576px) {
  .btn-scroll-top-form{
    right: 30px;
  }
}
/*HEADER*/

/*MENU NAVEGACION*/
.menu-navegacion{
    height: 80px;
}
.custom-logo{
  width: 130px;
}
#menu-menu-superior{
  display: flex;
  gap: 15px;
}
#menu-menu-superior li{
  padding: 0px 0px 20px 0px;
}
#menu-menu-superior li a{
  color: black;
  font-weight: 500;
}
#menu-menu-superior li a:hover{
  color: var(--color-principal);
}
.navbar-toggler{
  background-color: white;
  border: 1px solid grey;
}

@media (max-width: 576px){
  .menu-navegacion{
    padding-top: 20px;
  }
}

/*MENU HAMBURGESA*/
@media (max-width: 991.98px) {
  #menu-menu-superior {
    display: block;
    background-color: var(--color-secundario);
    margin: 0 !important;
    padding: 0;
    border-radius: 5px;
  }

  #menu-menu-superior li {
    display: block;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid gray;
  }

  #menu-menu-superior li:last-child {
    border-bottom: none;
  }

  #menu-menu-superior li a {
    display: block;
    width: 100%;
    padding: 14px 0;
    margin: 0;
    text-align: center;
    color: black !important;
    text-decoration: none;
  }

  #menu-menu-superior li a:hover {
    background-color: var(--color-principal);
    color: white !important;
  }
}


/*=============*/
/*ESTILOS CARRUSEL*/
.carousel-item img {
  width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 710px; /* Ajusta esta altura según tu diseño */
}
#carrusel-superior{
  margin-top: 80px;
}
.carousel-caption {
  bottom: 27%;
}
.carousel-caption h1 {
  /*background-color: rgba(0, 0, 0, 0.5); /* Fondo semitransparente */
  padding: 15px;
  border-radius: 5px;
  color: var(--color-negro);

}

@media (min-width: 768px) and (max-width: 1024px) {
  .carousel-caption h1 {
  padding: 15px;
  border-radius: 5px;
  color: var(--color-negro);
  font-size: 30px !important;

}
}


@media (max-width: 576px) {
  /* Reducir altura máxima del carrusel */
  .carousel-item img {
    width: 100%;
    height: 350px; /* o lo que necesites */
    object-fit: cover;
  }

  .carousel-caption {
    bottom: 25%; /* ajustar posición del texto */
    padding: 0 1rem;
  }

  .carousel-caption h1 {
    padding: 10px;
    margin-top: 20px;
  }

  #carrusel-superior{
  margin-top: 73px;
}
}

/*=============*/

/*MAIN*/

/*SECCION NOSOTROS*/

/*MISION VISION*/
.caja-vision-mision {
  width: 400px;
  height: 400px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
  position: relative;
  background-color: transparent;
}
.icono-flecha-mision-vision{
  position: absolute;
  left: 175px;
  bottom: 10px;
}
.icono-flecha-mision-vision i{
  font-size: 50px;
  color: var(--color-principal);
}
.caja-vision-mision:hover {
  transform: scale(1.03);
}

.caja-vision-mision img {
  width: 400px;
  height: 350px;
  object-fit: cover;
  transition: opacity 0.3s ease;
}
.caja-vision-mision h3{
  color: var(--color-principal);
  font-weight: 600;
}
.caja-vision-mision .titulo-original,
.caja-vision-mision .texto-extra {
  transition: opacity 0.3s ease;
}

/* Por defecto, ocultamos el contenido extra */
.caja-vision-mision .texto-extra {
  display: none;
  padding: 15px;
  background-color: var(--color-secundario);
  height: 100%;
  padding-top: 50px;
}

/* Cuando está activo, se oculta imagen y h3 original */
.caja-vision-mision.activo img,
.caja-vision-mision.activo .titulo-original {
  display: none;
}

/* Y se muestra el contenido alternativo */
.caja-vision-mision.activo .texto-extra {
  display: block;
}
.caja-vision-mision.activo .texto-extra h3{
  font-weight: 600 !important;
}
.caja-vision-mision.activo .texto-extra p{
  font-size: 14px !important;
}
@media (max-width: 576px) {
  .caja-vision-mision {
  width: 300px;
  height: 300px;
  }
  .caja-vision-mision img {
  width: 300px;
  height: 250px;
  }
  .icono-flecha-mision-vision i{
  font-size: 25px;
}
.caja-vision-mision.activo .texto-extra p{
  font-size: 12px !important;
}
.icono-flecha-mision-vision{
  position: absolute;
  left: 140px;
  bottom: 10px;
}
}

/*SECCION GESTION INMOBILIARIA*/
#gestion-inmobiliaria{
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
}
#gestion-inmobiliaria h2, p {
  color: black;
}
.titulo-gestion-inmo h2{
  margin-top: 70px;
}
.titulo-gestion-inmo h3{
  margin-top: 30px;
}
.parrafo-gestion-inmo p{
  margin-top: 30px;
}

/* Responsivo */
@media (max-width: 576px) {
  #gestion-inmobiliaria{
    width: 100%;
    height: 380px; /* o lo que necesites */
    object-fit: cover;
  }
  .titulo-gestion-inmo h2{
  margin-top: 20px;
  }
  .titulo-gestion-inmo h3{
    margin-top: 10px;
  }
  .parrafo-gestion-inmo p{
    margin-top: 10px;
  }
}
/*==========*/
/*SECCION HOLDING*/
/*FILA 1*/
.margen-dentro{
  margin-bottom: var(--margen-dentro-secciones);
}
/*Imagen*/
.holding-imagen-fila-1 img{
  width: 650px;
  height: 650px;
  margin-top: 50px;
  border-radius: 10px;
}

/*TEXTO*/
.holding-texto-fila-1{
  padding: 0px 60px 0px 60px;
}
.holding-texto-fila-1 h2{
  margin-top: 50px;
  margin-bottom: 50px;
}
.holding-texto-fila-1 h3{
  color: var(--color-principal);
  font-weight: bold;
  font-size: 25px;
  margin-bottom: 50px;
}

@media (max-width: 575.98px) {
  .holding-imagen-fila-1 {
    display: none;
  }
}

/*FILA 2*/
.holding-texto-fila-2 img{
  margin: 0 auto 70px auto;
  display: block;
  width: 230px;
  height: auto;
}
.holding-texto-fila-2{
  padding-left: 60px;
  padding-right: 60px;
}
.holding-texto-fila-2 h3{
  margin-bottom: 20px;
  color: var(--color-principal);
  font-weight: bold;
  font-size: 25px;
}
.holding-texto-fila-2 p{
 margin-bottom: 100px;
}

.holding-columna-dos-fila-2 img{
  width: 100%;
  height: 850px;
  border-radius: 10px;
  object-fit: cover;
}
.holding-columna-dos-fila-2 h2{
  margin-bottom: 90px;
}


@media (max-width: 575.98px) {
  .holding-columna-dos-fila-2 img {
    width: 100%;
    height: auto;
  }
  .contenedor-img-mobile-holding {
    height: 268px;
  }
}
@media (max-width: 575.98px) {
  .holding-columna-dos-fila-2 .d-flex.flex-column img {
    height: 70%;
    object-fit: cover;
  }

  .imagen-mobile-1-fila2-holding img{
    width: 100%;
    height: 268px;
  }
}

/*FILA 3*/
.holding-texto-fila-3{
  white-space: pre-line;
}
.imagen-logo-fila-3 img{
  width: 220px;
  height: auto;
}
.holding-texto-fila-3 {
  white-space: pre-line;
}

.imagen-logo-fila-3 img {
  width: 220px;
  height: auto;
}

/* Ajuste visual para mobile (margen superior del logo si quieres separarlo un poco) */
@media (max-width: 575.98px) {
  .imagen-logo-fila-3 img {
    margin-bottom: 50px;
  }
  .holding-caja-fila-3{
    margin-bottom: 0px;
  }
}

/*FILA 4*/
.contenedor-inversion-inmo {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 610px;
}
.imagen-inversion-inmo img{
  border-radius: 15px;
}
@media (max-width: 767.98px) {
  .contenedor-inversion-inmo {
    background-image: none !important;
    height: auto;
  }
}

/* Oculta el background en dispositivos móviles */
@media (max-width: 767.98px) {
  .contenedor-inversion-inmo {
    background-image: none;
    height: auto;
  }
}

.caja-inversiones {
  margin-top: 110px;
  background-color: #FCE6E1E5;
  height: 400px;
  padding: 25px;
}
.caja-inversiones h3{
  font-weight: 600;
}
.caja-inversiones ul{
  margin: 15px;
  padding: 0px;
}

/* Ajustar altura y márgenes en móvil */
@media (max-width: 767.98px) {
  .caja-inversiones {
    margin-top: 20px;
    height: auto;
    background-color: transparent;
    padding: 0px 50px 0px 50px;
  }

  .caja-inversiones h3{
  color: var(--color-principal);
  font-weight: bold;
  }
}


/*FILA 5*/
.holding-texto-fila-5 h2{
  margin-top: 20px;
  margin-bottom: 100px;
}
.holding-texto-fila-5{
  padding-left: 60px;
  padding-right: 60px;
}
.holding-texto-fila-5 h3{
  color: var(--color-principal);
  font-weight: bold;
}
.holding-texto-fila-5 ul{
  padding-left: 20px;
}
.holding-logo-fila-5{
  width: 220px;
  height: auto;
}
.holding-imagen-fila-5{
  margin-top: 60px;
  border-radius: 10px;
  width: 100%;
  height: 800px;
}
.holding-subtitulo-fila-5{
  margin-top: 100px;
}
/* Ocultar logo en mobile */
@media (max-width: 575.98px) {
  .holding-logo-fila-5 {
    margin-bottom: 50px;
  }

  .holding-imagen-fila-5 {
    display: none !important; /* evita doble imagen en mobile (la del bloque desktop) */
  }
  .holding-texto-fila-5 h2{
    margin-bottom: 50px;
  }
  .holding-texto-fila-5 h3{
    margin-bottom: 30px;
    margin-top: 30px;
  }
}

/*===========*/

/*SECCION PROPIEDADES*/
.contene-propiedades {
  height: 600px;
  background-size: cover, cover;          /* tamaño para ambas imágenes */
  background-repeat: no-repeat, no-repeat;
  background-position: center, center;
}


/*FILA 1*/
.propiedades-titulo-fila-1 h2{
  color: black;
  margin-top: 150px;
}
.propiedades-titulo-fila-1 p{
  margin-top: 70px;
  font-weight: 500;
}
/* Responsivo */
@media (max-width: 576px) {
  .contene-propiedades {
    width: 100%;
    height: 320px; /* o lo que necesites */
    object-fit: cover;
  }
  .propiedades-titulo-fila-1 h2{
    margin-top: 40px;
    font-size: 16px !important;
  }
  .propiedades-titulo-fila-1 p{
    margin-top: 20px;
    font-size: 12px !important;
  }

}
/*FILA 2*/
.propiedades-titulo-fila-2 h2{
  margin-top: 200px;
  margin-bottom: 70px;
}

.propiedades-titulo-fila-2 p {
  margin-bottom: 70px;
}
.contenedor-carrusel-propiedades{
  margin-bottom: 150px;
}
/*FILA 3*/
.image-hover {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.image-hover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  transition: opacity 0.4s ease;
  position: absolute;
  top: 0;
  left: 0;
}

.img-hover {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 10px;
}

.img-normal {
  opacity: 1;
  z-index: 1;
}

.image-hover:hover .img-hover {
  opacity: 1;
}

.image-hover:hover .img-normal {
  opacity: 0;
}

.comuna {
  margin-bottom: 40px;
}
.comuna h3{
  color: var(--color-principal);
}
.img-box {
  width: 100%;
  max-width: 380px;
  aspect-ratio: 1.12; /* en lugar de height fija */
  margin: 0 auto 50px auto; /* centra horizontalmente */
}
@media (max-width: 575.98px) {
  .img-box {
    width: 250px;           /* ocupa todo el ancho del contenedor */
    height: 250px;         /* altura diferente en móvil */
    max-width: none;       /* evita límite de 380px en mobile */
    margin-bottom: 30px;
  }

  .comuna h3 {
    margin-bottom: 20px;
  }
}


/*FORMULARIO DE CONTACTO*/
#formulario {
  position: relative; /* Importante para posicionar el botón scroll top dentro */
}
.titulo-form {
  color: var(--color-principal);
  font-weight: 600;
}

.bg-lightblue {
  background-color: #e6edf8; /*COLOR DE FONDO DE LOS INPUT*/
  border: none;
}

.imagen-formulario{
  width: 500px;
  height: 520px;
 
}
.imagen-formulario img{
  margin-top: 52px;
  width: 100%;
  height: 520px;
}

.margen-dentro{
  margin-top: 100px;
}

.caja-formulario{
  padding-left: 90px;
  padding-right: 90px;
}
.checkbox-columnas{
  display: inline-block;
  margin-bottom: 10px;
  vertical-align: top;
  word-break: break-word;
}

.wpcf7-form-control{
  border: none;
}

.btn-enviar input {
  display: block;
  margin: 0 auto;
  background-color: #DFE4F3;
  width: 150px;
  height: 60px;
  transition: all 0.3s ease;
  border: none;
  border-radius: 10px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.btn-enviar input:hover {
  transform: scale(1.05); /* Agranda un 5% */
  background-color: var(--color-secundario);
}


/* Oculta imagen del formulario en dispositivos móviles y tablets */
@media (max-width: 991.98px) {
  .imagen-formulario {
    display: none !important;
  }
  .caja-formulario{
    padding-left: 50px;
    padding-right: 50px;
  }
}

/*FOOTER*/
.bg-footer {
  background-color: #F6E7E4;
  min-height: 350px;
  padding-top: 50px;  
}
.logo-footer{
  max-height: 100px;
}
.logo-2-footer img{
  max-height: 200px;
}
.menu-nav-footer{
  margin: 0px;
}
.menu-nav-footer li{
 list-style-type: none;
}
.menu-nav-footer li a{
  color: var(--color-negro);
}
.menu-nav-footer li a:hover{
  color: var(--color-principal);
}
.menu-iconos a{
  color: var(--color-negro);
}
.menu-iconos a:hover{
  color: var(--color-principal);
}
@media (max-width: 575.98px) {
  /* Oculta imagen edificio */
  .logo-2-footer {
    display: none !important;
  }

  /* Centra y pone abajo el logo principal */
  .logo-footer {
    order: 4; /* Mover al final del grid */
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
