/* ==========================================================================
   /inmuebles/ — Estilos. Identidad visual de Mabelan (verde #267F56, Nunito).
   ========================================================================== */

/* --- Tipografía Nunito (auto-alojada en el theme de Mabelan) --- */
@font-face { font-family:'Nunito'; src:url('https://mabelan.es/wp-content/themes/mabelan/assets/fonts/Nunito-Light.woff') format('woff'); font-weight:300; font-display:swap; }
@font-face { font-family:'Nunito'; src:url('https://mabelan.es/wp-content/themes/mabelan/assets/fonts/Nunito-SemiBold.woff') format('woff'); font-weight:600; font-display:swap; }
@font-face { font-family:'Nunito'; src:url('https://mabelan.es/wp-content/themes/mabelan/assets/fonts/Nunito-Bold.woff') format('woff'); font-weight:700; font-display:swap; }
@font-face { font-family:'Nunito'; src:url('https://mabelan.es/wp-content/themes/mabelan/assets/fonts/Nunito-ExtraBold.woff') format('woff'); font-weight:800; font-display:swap; }

:root{
  --verde:#267F56;
  --verde-oscuro:#00542F;
  --verde-lima:#73AF20;
  --texto:#222;
  --gris:#666;
  --gris-claro:#f4f6f5;
  --borde:#e2e6e4;
  --radio:8px;
  --sombra:0 2px 12px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
body{margin:0;font-family:'Nunito',sans-serif;font-weight:300;color:var(--texto);line-height:1.55;background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-weight:800;line-height:1.2;color:var(--verde-oscuro)}
:focus-visible{outline:3px solid var(--verde-lima);outline-offset:2px}

.woowContent1200{max-width:1200px;margin:0 auto;padding:0 20px}

/* ===== Barra superior ===== */
.top_bar_feo{border-bottom:1px solid var(--borde);font-size:14px}
.top_bar_feo_content{display:flex;justify-content:space-between;align-items:center;min-height:40px;flex-wrap:wrap;gap:8px}
.top_bar_feo a{color:var(--verde);display:inline-flex;align-items:center;gap:6px}
.top_bar_feo_info span{margin-right:18px}
.top_bar_feo_redes{display:flex;gap:12px}

/* ===== Cabecera ===== */
.site-header{background:#fff;border-bottom:1px solid var(--borde)}
.header_content{display:flex;align-items:center;justify-content:space-between;min-height:90px;gap:16px}
.header_logo img{width:234px;height:60px;object-fit:contain}
.header_menu ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.header_menu a{color:#000;font-size:14.4px;font-weight:600}
.header_menu a:hover,.header_menu a.activo{color:var(--verde);text-decoration:none}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;width:44px;height:44px}
.menu-toggle span{display:block;height:3px;background:var(--verde-oscuro);margin:5px 0;border-radius:2px;transition:.2s}

/* ===== Botones ===== */
.btn{display:inline-block;padding:11px 22px;border-radius:var(--radio);font-weight:700;cursor:pointer;border:2px solid transparent;text-align:center;transition:.15s}
.btn:hover{text-decoration:none}
.btn-primario{background:var(--verde-oscuro);color:#fff}
.btn-primario:hover{background:var(--verde)}
.btn-secundario{background:#fff;color:var(--verde-oscuro);border-color:var(--verde-oscuro)}
.btn-secundario:hover{background:var(--gris-claro)}
.btn.ancho{display:block;width:100%;margin-top:10px}

/* ===== Hero listado ===== */
.hero-listado{background:var(--gris-claro);padding:28px 0;margin-bottom:24px}
.hero-listado h1{margin:0 0 4px}
.hero-listado .subtitulo{margin:0;color:var(--gris)}

/* ===== Filtros ===== */
.filtros{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:18px;margin-bottom:26px;box-shadow:var(--sombra)}
.filtros-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px}
@media(max-width:768px){.filtros-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.filtros-grid{grid-template-columns:1fr}}
.filtros .precio-rango{display:flex;gap:8px}
.filtros .precio-rango input{width:100%;min-width:0}
.filtros label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:var(--gris);gap:5px}
.filtros select,.filtros input{padding:9px 10px;border:1px solid var(--borde);border-radius:6px;font:inherit;font-weight:300;color:var(--texto);background:#fff}
.filtros-acciones{display:flex;gap:10px;margin-top:14px}

/* ===== Grid de propiedades ===== */
.grid-propiedades{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.card{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.card-foto{position:relative;display:block;aspect-ratio:4/3;background:var(--gris-claro)}
.card-foto img{width:100%;height:100%;object-fit:cover}
.sin-foto{display:flex;align-items:center;justify-content:center;height:100%;color:var(--gris)}
.badge-destacado,.badge-op{position:absolute;top:10px;color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:4px}
.badge-destacado{left:10px;background:var(--verde-lima)}
.badge-op{right:10px;background:var(--verde-oscuro)}
.card-cuerpo{padding:14px 16px}
.card-precio{font-size:22px;font-weight:800;color:var(--verde-oscuro)}
.card-precio small{font-size:13px;font-weight:600;color:var(--gris)}
.card-titulo{font-size:16px;margin:6px 0 4px}
.card-titulo a{color:var(--texto)}
.card-titulo a:hover{color:var(--verde)}
.card-ubicacion{margin:0 0 10px;color:var(--gris);font-size:14px}
.card-datos{display:flex;gap:14px;list-style:none;margin:0 0 10px;padding:0;font-size:14px;color:var(--gris)}
.card-datos strong{color:var(--texto)}
.card-ref{margin:0;font-size:12px;color:#aaa}

.sin-resultados{padding:40px;text-align:center;color:var(--gris);background:var(--gris-claro);border-radius:var(--radio)}

/* ===== Paginación ===== */
.paginacion{display:flex;align-items:center;justify-content:center;gap:18px;margin:34px 0}
.paginacion a{font-weight:700}
.paginacion-info{color:var(--gris)}

/* ===== Ficha ===== */
.ficha{padding-top:20px;padding-bottom:50px}  /* NO tocar el padding lateral: lo aporta .woowContent1200 (20px) */
.migas{font-size:13px;color:var(--gris);margin-bottom:14px}
.ficha-cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.ficha-cabecera h1{margin:0 0 4px;font-size:26px}
.ficha-ubicacion{margin:0;color:var(--gris)}
.ficha-precio{font-size:30px;font-weight:800;color:var(--verde-oscuro);white-space:nowrap}
.ficha-precio small{font-size:15px;color:var(--gris)}

.galeria{margin-bottom:26px}
.galeria-principal{position:relative}
.galeria-principal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radio)}
.galeria-flecha{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(0,84,47,.72);color:#fff;font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;padding-bottom:3px}
.galeria-flecha:hover{background:var(--verde-oscuro)}
.galeria-prev{left:12px}
.galeria-next{right:12px}
.galeria-contador{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.6);color:#fff;padding:3px 11px;border-radius:14px;font-size:13px;font-weight:600}
.galeria-miniaturas{display:flex;gap:8px;list-style:none;margin:8px 0 0;padding:0 0 6px;overflow-x:auto;scroll-behavior:smooth;overscroll-behavior-x:contain}
.galeria-miniaturas li{flex:0 0 auto}                      /* NO encoger: tamaño real + scroll horizontal */
.miniatura{border:2px solid transparent;border-radius:6px;padding:0;background:none;cursor:pointer;flex:0 0 auto;display:block}
.miniatura.activa{border-color:var(--verde)}
.miniatura img{width:110px;height:82px;object-fit:cover;border-radius:4px}

.ficha-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.ficha-principal{min-width:0}
.ficha-descripcion p,.ficha-caracteristicas li{overflow-wrap:break-word;word-break:break-word}
.ficha-datos-clave{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-bottom:26px}
.ficha-datos-clave div{background:var(--gris-claro);border-radius:var(--radio);padding:14px;text-align:center;font-size:13px;color:var(--gris)}
.ficha-datos-clave span{display:block;font-size:22px;font-weight:800;color:var(--verde-oscuro)}
.ficha-descripcion,.ficha-caracteristicas,.ficha-energia,.ficha-mapa{margin-bottom:28px}
.ficha h2{font-size:19px;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--gris-claro)}
.lista-caract{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.lista-caract li{padding-left:22px;position:relative}
.lista-caract li::before{content:'✓';position:absolute;left:0;color:var(--verde);font-weight:800}

.energia-letra{display:inline-block;color:#fff;font-weight:800;padding:8px 18px;border-radius:4px;font-size:18px}
.energia-a{background:#00a651}.energia-b{background:#50b848}.energia-c{background:#bfd730;color:#333}
.energia-d{background:#fff200;color:#333}.energia-e{background:#fdb913}.energia-f{background:#f36f21}.energia-g{background:#ed1c24}

#mapa{width:100%;height:320px;border-radius:var(--radio);background:var(--gris-claro);position:relative;overflow:hidden}
#mapa iframe{pointer-events:none}   /* mapa no interactivo: no se puede hacer zoom para localizar la vivienda exacta */
.mapa-zona{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:50%;background:rgba(38,127,86,.16);border:2px solid rgba(0,84,47,.55);pointer-events:none}
.mapa-nota{margin-top:8px;font-size:13px;color:var(--gris)}

/* Lateral contacto */
.ficha-lateral{position:sticky;top:20px}
.tarjeta-contacto{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:20px;box-shadow:var(--sombra)}
.ref-grande{margin:0;color:var(--gris);font-size:13px}
.precio-lateral{font-size:26px;font-weight:800;color:var(--verde-oscuro);margin:2px 0 16px}
.precio-lateral small{font-size:14px;color:var(--gris)}
.form-lead label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:var(--gris);gap:5px;margin-bottom:12px}
.form-lead input,.form-lead textarea{padding:10px;border:1px solid var(--borde);border-radius:6px;font:inherit;font-weight:300}
.form-lead .consent{flex-direction:row;align-items:flex-start;gap:8px;font-weight:300}
.form-lead .hp{position:absolute;left:-9999px}
.aviso-ok{background:#e7f6ee;color:var(--verde-oscuro);padding:12px;border-radius:6px}
.aviso-error{background:#fdecea;color:#b3261e;padding:10px;border-radius:6px;font-size:14px}
.volver{margin-top:30px}

/* ===== Footer ===== */
.site-footer{background:var(--verde-oscuro);color:#dfe9e3;margin-top:50px;padding:40px 0 0}
.site-footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;padding-bottom:30px}
.site-footer h3{color:#fff;font-size:16px;margin:0 0 12px}
.site-footer img{filter:brightness(0) invert(1)}
.footer-links{list-style:none;padding:0;margin:0;line-height:2}
.footer-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid rgba(255,255,255,.15);padding-top:16px;padding-bottom:16px;font-size:13px;color:#9fb8ab}

/* ===== Landings: texto, silo, sin disponibilidad ===== */
.landing-texto{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:20px 24px;margin-bottom:26px;color:#444}
.landing-texto h2{font-size:18px}
.titulo-seccion{font-size:20px;margin:30px 0 16px}
.enlaces-silo{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin:40px 0;padding:24px;background:var(--gris-claro);border-radius:var(--radio)}
.enlaces-silo h3{font-size:15px;margin:0 0 10px;color:var(--verde-oscuro)}
.enlaces-silo ul{list-style:none;margin:0;padding:0;line-height:1.9}
.enlaces-silo a{color:var(--texto)}
.enlaces-silo a:hover{color:var(--verde)}
.enlaces-silo span{color:#999;font-size:13px}
.sin-dispo{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:26px;margin-bottom:30px;box-shadow:var(--sombra)}
.sin-dispo-msg{margin:0 0 18px;font-size:17px}
.form-alerta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:center}
.form-alerta input[type=text],.form-alerta input[type=email],.form-alerta input[type=tel]{padding:11px;border:1px solid var(--borde);border-radius:6px;font:inherit;font-weight:300}
.form-alerta .consent{grid-column:1/-1;font-size:13px;color:var(--gris);display:flex;gap:8px;align-items:center}
.form-alerta .hp{position:absolute;left:-9999px}
.form-alerta button{grid-column:1/-1;justify-self:start}

/* ===== Explorar por localidad (en el listado) ===== */
.explora-localidad{margin:44px 0 10px}
.explora-localidad h2{font-size:20px;margin-bottom:14px}
.explora-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.explora-cols h3{font-size:15px;margin:0 0 8px}
.explora-cols ul{list-style:none;margin:0;padding:0;line-height:1.9}
.explora-cols span{color:#999;font-size:13px}

/* ===== Responsive ===== */
@media(max-width:900px){
  .ficha-cuerpo{grid-template-columns:1fr}
  .ficha-lateral{position:static}
}
@media(max-width:768px){
  .menu-toggle{display:block}
  .header_menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--borde);display:none;z-index:50}
  .header_menu.abierto{display:block}
  .header_menu ul{flex-direction:column;gap:0;padding:8px 0}
  .header_menu li{padding:0 20px}
  .header_menu a{display:block;padding:12px 0;border-bottom:1px solid var(--gris-claro)}
  .site-header .header_content{position:relative;flex-wrap:wrap}
}
