/* Buscador con mapa (mg-buscador-mapa.php, 2026-09-30). Escritorio: lista a la izquierda y mapa fijo a
   la derecha. Móvil y tableta: el mapa encima de la lista. */

/* Campo de zona: fila entera encima de los filtros. */
.mg-simple-filters .mg-zona-busqueda{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:0;border:1px solid #D8D0BE;border-radius:10px;background:#fff;padding:0 14px;min-height:52px;cursor:text}
.mg-simple-filters .mg-zona-busqueda svg{flex:none}
.mg-simple-filters .mg-zona-busqueda input{flex:1;min-width:0;border:0!important;outline:0;box-shadow:none!important;background:transparent!important;margin:0!important;padding:14px 0!important;font:15px Poppins,Arial,sans-serif;color:#14110E}
.mg-simple-filters .mg-zona-busqueda:focus-within{border-color:#997C21;box-shadow:0 0 0 2px rgba(153,124,33,.18)}

/* El mapa propio de Estatik (Google) queda oculto. */
.mg-con-mapa>.es-properties__map{display:none!important}

.mg-mapa-buscador{margin:0 0 20px}
.mg-mapa-buscador__marco{position:relative;height:320px;border:1px solid #E4D9C2;border-radius:12px;overflow:hidden;background:#F4EFE4}
.mg-mapa-buscador__lienzo{position:absolute;inset:0;z-index:0}
body:not(#mg-mapa) .mg-mapa-buscador__boton{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;margin:0;padding:24px;border:0;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:normal;cursor:pointer;color:#14110E;font-family:Poppins,Arial,sans-serif;
	background:#F4EFE4 repeating-linear-gradient(0deg,transparent 0 39px,#E6DDC8 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,#E6DDC8 39px 40px)}
body:not(#mg-mapa) .mg-mapa-buscador__boton:hover,body:not(#mg-mapa) .mg-mapa-buscador__boton:focus{background-color:#EFE7D6;color:#14110E}
.mg-mapa-buscador__boton:focus-visible{outline:2px solid #997C21;outline-offset:-4px}
.mg-mapa-buscador__boton strong{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.mg-mapa-buscador__boton span{font-size:13px;color:#4A4131}
.mg-mapa-buscador__vacio{position:absolute;left:12px;right:12px;bottom:12px;z-index:500;margin:0;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.94);font:13px/1.4 Poppins,Arial,sans-serif;color:#14110E;text-align:center}

/* Chincheta y ficha emergente. */
.mg-mapa-pin{background:none;border:0}
.mg-mapa-pin svg{display:block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.mg-mapa-buscador .leaflet-popup-content{margin:10px}
.mg-mapa-ficha{display:flex;flex-direction:column;gap:8px;color:#14110E!important;text-decoration:none!important;font-family:Poppins,Arial,sans-serif;letter-spacing:normal;text-transform:none}
.mg-mapa-ficha img{width:100%;height:110px;object-fit:cover;border-radius:6px;display:block}
.mg-mapa-ficha__texto{display:flex;flex-direction:column;gap:2px}
.mg-mapa-ficha strong{font-size:13px;line-height:1.35}
.mg-mapa-ficha em{font-style:normal;font-weight:700;font-size:15px;color:#7A6219}
.mg-mapa-ficha small{font-size:12px;color:#5A5040}
.mg-mapa-ficha__ver{font-size:12px;font-weight:600;color:#7A6219}
/* Tablet y móvil (2026-10-05): el mapa sólo mide 320 px de alto y Google ajusta la ventanita a ese hueco, así que
   con la foto arriba el título, el precio y «Ver ficha» quedaban escondidos. Foto a la izquierda y texto al lado. */
@media (max-width:1024px){
	.mg-mapa-buscador__marco{height:360px}
	.mg-mapa-ficha{flex-direction:row;align-items:center;gap:10px;width:228px;max-width:100%}
	.mg-mapa-ficha img{flex:0 0 88px;width:88px;height:88px}
	.mg-mapa-ficha__texto{min-width:0}
	.mg-mapa-ficha strong{font-size:12.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
	.mg-mapa-ficha em{font-size:14px}
}

/* Escritorio: dos columnas; la lista pasa a dos tarjetas por fila y el mapa se queda fijo al bajar. */
@media (min-width:1025px){
	.es-properties.mg-con-mapa{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:28px;align-items:start}
	.mg-con-mapa>.es-properties__search{grid-column:1/-1;grid-row:1}
	.mg-con-mapa>.es-properties__list{grid-column:1;grid-row:2;min-width:0}
	.mg-con-mapa>.mg-mapa-buscador{grid-column:2;grid-row:2;position:sticky;top:130px;margin:0}
	.mg-con-mapa .mg-mapa-buscador__marco{height:calc(100vh - 160px);min-height:420px;max-height:760px}
}
/* Móvil y tableta: buscador, mapa y lista, en ese orden (como siempre; Alan/Alex, 2026-10-07). La maqueta existe antes
   de ejecutar JS y, mientras el mapa no está, la lista deja su hueco (360 px de mapa + 20 de margen): al insertarlo
   mapa-buscador.js no desplaza las fichas (antes CLS 0,10–0,15 en el móvil). */
@media (max-width:1024px){
	body.mg-buscador-mapa .es-properties.js-es-properties{display:flex!important;flex-direction:column!important}
	body.mg-buscador-mapa .es-properties>.es-properties__search{order:0!important}
	.mg-con-mapa>.mg-mapa-buscador{order:1!important;width:100%}
	body.mg-buscador-mapa .es-properties>.es-properties__list{order:2!important;width:100%!important;max-width:100%!important}
	body.mg-buscador-mapa .es-properties.js-es-properties:not(.mg-con-mapa):not(.mg-sin-mapa)>.es-properties__list{margin-top:380px}
}
/* Los límites de Estatik se refieren al ancho del listado, no al de la pantalla. */
body.mg-buscador-mapa .es-properties__list{container-type:inline-size;container-name:mg-listado;}
@container mg-listado (max-width:460px){
	body.mg-buscador-mapa .es-listings[class*="es-listings--grid"]{grid-template-columns:minmax(0,1fr)!important;}
}
@container mg-listado (min-width:460px) and (max-width:649px){
	body.mg-buscador-mapa .es-listings[class*="es-listings--grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@container mg-listado (max-width:539px){
	body.mg-buscador-mapa .es-listings-filter{flex-wrap:wrap;justify-content:space-between;}
	body.mg-buscador-mapa .es-listings-filter .es-title,
	body.mg-buscador-mapa .es-listings-filter .es-total{flex:1 0 50%;width:100%;margin-bottom:10px;}
	body.mg-buscador-mapa .es-listings-filter .es-total{text-align:right;}
	body.mg-buscador-mapa .es-listings-filter .es-form{margin-left:0;margin-bottom:10px;}
	body.mg-buscador-mapa .es-listings-filter .es-form .es-field__sort .es-field__label{display:none;}
	body.mg-buscador-mapa .es-listings-filter .es-form+.es-control{margin:0;}
}

/* Aviso mientras se carga el mapa (desde el 2026-10-01 se carga solo). */
.mg-mapa-buscador__cargando{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:0;font:600 13px Poppins,Arial,sans-serif;letter-spacing:.04em;color:#4A4131;
	background:#F4EFE4 repeating-linear-gradient(0deg,transparent 0 39px,#E6DDC8 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,#E6DDC8 39px 40px)}
.mg-mapa-ficha__aprox{font-style:italic;color:#7A6219!important}
