@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

.montserrat-<uniquifier> {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/*-------------------------sugerencias-----------*/
body {
  font-family: "Montserrat", sans-serif;
  line-height: 1.6;
  color: #2c2c2c;
}

h1 {
  font-size: 1.8rem;
  font-weight: 600;
}

.header {
  background: #ffffff;	
  box-shadow: 0px 1px 15px;
  border-bottom: 1px solid #e5e7eb;	
  height:70px;
}



.propiedad-descripcion {
  font-size: 1rem;
  max-width: 65ch;
}

.ficha-tecnica {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px 24px;
  font-size: 0.95rem;
}
#map {
  height: 350px;
  border-radius: 12px;
  margin: 40px 0;
}

 /*------------------- Estilos header ------------------- */
.logo{	
	width: 90%;
	max-width:200px;
	height:100%;
	/*z-index: 1000;*/
}
.logo_chico{	
	width: 90%;
	max-width:100px;
	z-index: 1000;
}

.container{
	width:100%;
	margin:auto;
	}
.container--flex{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items: center;
}



.header .contenedor{
	display:flex;
	justify-content: center;
}


	
	/*-----------------sugerencias ----------------------*/
#hero{
	min-height:80vh;
	position:relative;
	margin-top:50px;}
	
.hero-overlay {
  position: absolute;
  margin-top:-50px;
  inset: 0;
  background-image: linear-gradient(to top, rgba(255,255,255,0), rgba(0,0,0,0.5));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
}
video{
	position:absolute;
	top:-50px;
	left:0;
	width:100%;
	height:100%;
	object-fit: cover;	
}
.hero-overlay h1 {
  font-size: 2.5rem;
  max-width: 800px;
  text-align: center;
}
/*
.botonnvo {
  padding: 14px 32px;
  border-radius: 6px;
  font-weight: 600;
  letter-spacing: 1px;
}

.botonnvo {
  background: #D4AF37;
  color: #111;
}
*/







.fondo_blanco{		
	background-image: linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,0));
}
.capa{	
	position:absolute;
	top:10%;
	left:50%;
	transform: translateX(-50%) translateY(-50%);
	width:100%;
	color:#000;
	text-align:center;
}
	
.slogan{
	justify-content:center;
}
.banner_titulo{ 
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
	font-size:20px;
	font-weight:800;
	margin-top:-10px;
	text-align:center;
}	

/*
.sloganbotones{
	display:flex;
	 flex-direction: column;
  align-items: center;
}
 BOTONES HERO – ALQUILAR / COMPRAR */
.sloganbotones {
  display: flex;
  gap: 24px;
  justify-content: center;
  margin-top: 24px;
}

.boton {
  position: relative;
  padding: 14px 38px;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 2px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
}

/* BOTÓN PRINCIPAL (ALQUILAR) */
.boton.alquilar {
  background-color: #D4AF37; /* dorado institucional */
  color: #1a1a1a;
  border: 2px solid #D4AF37;
}

.boton.alquilar:hover {
  background-color: transparent;
  color: #ffffff;
  border-color: #ffffff;
}

/* BOTÓN SECUNDARIO (COMPRAR) */
.boton.comprar {
  background-color: transparent;
  color: #ffffff;
  border: 2px solid #ffffff;
}

.boton.comprar:hover {
  background-color: #ffffff;
  color: #1a1a1a;
}


/*
.boton{	
	width:70%;
	background:rgba(255,255,255,0.90);
	color:#000;	
	font-size:20px;
	padding:15px;
	margin:5px;
	cursor: pointer;
	border: solid 1 px #CCC;	
	text-decoration:none;
}

.borde1
{	border-radius:50px;}
.borde2
{	border-radius:10px;}
.borde3
{	border-radius:10px;}

.boton:hover{	
	background:rgba(000,000,000,0.90);
	color:#FFF;
}


/* ------------------- Estilos del Menu ------------------- */

.main-nav{
	width:100%;
	position:relative;
	z-index:2000;
	padding:10px;	
	background:#333;
	border-bottom: 3px solid #F0E12C;

}

.icon-menu{
	display:block;
	color:#FFF;
	border: 1px solid #FFF;
	border-radius:3px;
	width:40px;
	height:40px;
	line-height:45px;
	text-align:center;
	cursor:pointer;
	font-size:1.5em;}
	

.menu{
	position:absolute;
	color:#FFF;
	top:60px;
	left: 0;
	width:100%;
	background:rgba(0,0,0,0.70);
	padding:0;
	margin:0;
	list-style:none;
	text-align:center;
	height:0;
	overflow:hidden;
	transition: height .3s 	linear;
}


.menu__link{
	display:block;
	padding:15px;
	color:#FFF;
	text-decoration:none;
}

.menu__link:hover{
	background:rgb(240,225,44);
	color:#000;}

.menu__link--select{
	background:#333; 
	color:#FFF;}


.mostrar {
	height: 380px;}
	
	
	
.menu_boton{
	display:block;
	padding:15px;
	color:rgb(240,225,44);
	text-decoration:none;
}


/* ------------------- Estilos Generales ------------------- */

.derecha{	text-align:right; }
.centrado{	text-align: center; }
.izquierda{	text-align: left; }

.margenes{	margin:10px;}
.espacios{ padding: 10px;}
.margen-izq{
	margin-left:100px;
	margin-top:50px;}
.rojo{		
	font-size:16px;
	color:#C73139; /*rojo*/
}
.gris{ color:#CCC;}
.blanco{ color:#FFF;}
.amarillo{ color:#FFF500;}
.azul{ color: #466FAA;}

.negrita{ 
	font-weight:bold;}
.mayuscula{
	text-transform:uppercase;}
	
.caja_gris{		
	background:rgba(FFF,FFF,FFF,0.70);
	color:#000;
	border-radius:10px;
	padding:5px;
	margin-top:-150px;
	}
	
.barra_amarilla{
	border-bottom:rgb(240,225,47) 3px solid;
	}	

.enlaceblanco:link,.enlaceblanco:visited ,.enlaceblanco:active {
	color:#FFF; 
	font-weight:bold;
	text-decoration: none;
}
.enlaceblanco:hover {
	color: #FF0;
	font-weight:bold;
}	
.enlaceazul:link,.enlaceazul:visited ,.enlaceazul:active {
	color:#466FAA; 
	font-weight:bold;
	text-decoration: none;
}
.enlaceazul:hover {
	color: #000;
	font-weight:bold;
}	
/* ------------------- Estilos Secciones ------------------- */
/*#nosotros{
	padding: 10px;
	width:100%;
	background-image: linear-gradient(to right, rgba(255,255,255,0), rgba(200,200,200,1));
}
#nosotros img{
	width:90%;
	max-width:500px;
	border-radius:50%;
}*/
.contenedorcentro{
	display:flex;
	justify-content:center;
}
.centro{
	width:100%;
	max-width: 1200px;
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	}

.contenido {
	max-width: 100%;
	padding:5px;
}

.titulo{ font-size:20px;
padding:5px;}

.boton-sub{	
	color:#333;	
	cursor: pointer;
	text-align:	center;
	border: none;
	text-decoration:none;
}
.boton-sub:hover{
	font-weight:bold;	
	color:#000;
	border-bottom:#000 3px solid;
}
.filtros{
	margin:1px;
}
/*
.borde1
{	
  padding: 18px 36px;
  display: inline-block;
  letter-spacing: 1px;
  cursor: pointer;
  box-shadow: inset 0 0 0 0 #FFF;
  -webkit-transition: ease-out 0.4s;
  -moz-transition: ease-out 0.4s;
  transition: ease-out 0.4s;
}
*/



/*--------------------Estilos de Resultados-------------------*/

.container_resultados{
	margin-top: -50px;
	}



	
	/**/
.cursos_descripcion{
	position:relative;
	top:50px;
	left:10px;
	color:#000;
	background:	rgba(255,255,255,0.7);
	border-radius:10px;
	padding:10px;
	font-size:14px;
	}
	
	/**/
	
.fotoprop{
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius:10%;
	z-index:-1000;
}
.foto_thumb{
	width:180px;
	height:100px;
	object-fit:cover;
	display: inline;
	
}

.caracteristicas_grupo{
	display:flex;
	color: #333 ;
	flex-wrap: wrap;
	justify-content: left;
	width:100%;
	background:#FFF;
}
.caracteristica{
	margin:1px;
	width:32%;
	text-align:center;
	background-image: linear-gradient(to top right, rgba(220,220,220,0.5), rgba(255,255,255,1));
}
.caracteristica4{
	padding: 2px;
	margin:1px;
	width:33%;
	text-align:center;
	border-left:#CCC 2px solid;
}
.caracteristica4a{
	padding: 2px;
	margin:1px;
	width:30%;
	text-align:center;
	border-left:#CCC 2px solid;
	border-right:#CCC 2px solid;
}

.letragrande{
	font-size:28px;
	font-weight:bold;}

.letrachica{
	font-size:12px;}
	
.letragrande4{
	font-size:14px;
	font-weight:bold;}

.letrachica4{
	font-size:10px;}
	
.espaciosresultado{ padding: 0 5px;}

.cajaresultado{	
	margin: 0 5px 20px 5px;
	max-width:180px;
/*	border-bottom: #CCC solid 2px;
	border-radius:50px;


  border-image: linear-gradient(to right, #ccc 0%, #fff 100%) 1;
  border-width: 1px;
  padding: 5px;
	border-left: #CCC solid 1px;
		
box-shadow: 2px 2px 10px 5px rgba(0, 0, 0, 0.2);*/
	}



/*--------------------Estilos de Novedades-------------------*/
#novedades{
	left: 50%;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(200,200,200,1));
}
#novedades article{
	margin:0;
	width:50%;
}	

#novedades img{
	width:100%;
	border: 20px solid #FFF;
}
#novedades .contenedor{
	display:flex;
	justify-content: center;
	flex-wrap:wrap;}
	
/*#blog{

	background-color:#FFF;}
	
#blog h4{
	text-align:center;}
	

	

	
	
}

*/
/*--------------------Estilos de Servicios-------------------*/
/*#blog
{ max-width: 1200px;
	
}
#blog .contenedor_seccion{
	flex-wrap: column;
	height: 100%;
	}
	
#blog article{	margin:2px;

	width:90%;
}	

#blog .recuadro{
	width:100%;
	border-radius:50px;
	border: 1px solid #FFF;
	background:#FFF;
	padding:10px;
	height: 300px;
}
*/	
.servicios{
	position:relative;
	margin-top:-100px;
	z-index:2000;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(164,175,180,0.5));
}
.empresa{
	left: 50%;
	background-image: linear-gradient(to bottom, rgba(255,255,255,0), rgba(200,200,200,1));
}

.redondo{margin-top:-50px;
    border-radius: 50%;
	padding:15px;
	background-color:#FFF;
 /*   border-radius: 50%;
	border: solid 20px #0A0B0C;*/}
/*
.material-symbols-outlined { 
font-size:50px; 	
  font-variation-settings:
  'FILL' 0,
  'wght' 500,
  'GRAD' 200,
  'opsz' 48
}
.material{
  font-size:50px;
}
*/


/***************************Estillos de pie*********************
.footer{
	/*background: #A4AFB4;/*#0A0B0C;
	color: #000;
	padding:10px;
	text-align:center;
	background-image:url(imagenes/fondopie.jpg);
	background-size:cover;	
	}
	
.footer .social [class^="icon-"]
{
	display:inline-block;
	color:#FFF500;
	text-decoration:none;
	font-size:30px;
	padding:10px;
	background:white;
	border-radius: 50%;
	width:50px;
	height:50px;
	line-height:40px;
}
.copy{	font-size:14px;}*/

/* ------------------- Estilos responsive------------------- */
@media (max-width: 600px) {
  .sloganbotones {
    flex-direction: column;
    gap: 5px;
  }

  .boton {
    width: 220px;
    text-align: center;
  }
}

@media screen and (min-width: 640px){
	
	/*.material-symbols-outlined {
  font-size:100px;	
}*/
	.cajaresultado{	width:33%;
	max-width:200px;}
	/*#blog article{width:70%;	margin:10 px;*/
}	
	
	.margen-izq{ margin-left:250px;}

.letragrande4{
	font-size:24px;
	font-weight:bold;}

.letrachica4{
	font-size:14px;}
		
#novedades article{
	margin:0;
	width:30%;
}


.banner_titulo{ font-size:24px;}

	
.sloganbotones{
	display:flex;
	justify-content:center;
	 flex-direction: row;

}

}
@media screen and (min-width: 850px){
	/*#blog article{width:50%; margin: 15px;}	*/
	
	#novedades article{
		margin:0;
		width:20%;
	}
		.letragrande4{
		font-size:28px;
		font-weight:bold;}
	
	.letrachica4{
		font-size:18px;}
		
	

}


@media screen and (min-width: 950px){
.logo{	
	width: 90%;
	max-width:300px;
	height:100%;
}
	
	/*#blog .recuadro{
		height: 350px;
	}*/
	
	.titulo{ font-size:30px;
	padding:10px;}

.banner_titulo{ 
	font-size:30px;
	margin-top:120px;
}
.header{ height:100px;	}

.main-nav{
		padding:0 10px 0 0 ;
		background:#333;
	}
.icon-menu{	display:none;}
	
.menu{
	position:static;
	display:flex;
	height:auto;
	width:auto;}
	
.contenido {
	max-width: 50%;
	padding:20px;
}

/*
#blog article{
	width:300px;	margin:20px;
}
	
#blog .contenedor_seccion{
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	align-content: center;
	height: 100%;
	}

*/

}


@media screen and (min-width: 1080px){
.titulo{ font-size:40px; padding:10px;}
.barra_amarilla{border-bottom:rgb(240,225,47) 10px solid;	}	
.cajaresultado{	width:24%;}
.filtros{margin:10px;}
.banner_titulo{ 	
	font-size:40px;
	margin-top:100px;
}	

}

