.flh-busqueda {
    position: relative;
    z-index: 5;
    margin-top: -48px;
}

.flh-formulario {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr)) auto;
    align-items: end;
    gap: 16px;
    padding: 26px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 15px 45px rgba(0,0,0,.12);
}

.flh-campo label {
    display: block;
    margin-bottom: 9px;
    font-size: 13px;
    font-weight: 700;
}

.flh-campo select {
    width: 100%;
    height: 48px;
    padding: 0 12px;
    border: 1px solid #dce2de;
    border-radius: 5px;
    background: #fff;
    font: inherit;
}

.flh-boton {
    height: 48px;
    padding: 0 23px;
    background: var(--fl-primary,#24635e);
    color: #fff;
    font-weight: 700;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    white-space: nowrap;
}

.flh-propiedades {
    padding-top: 105px;
}

.flh-titulo-seccion {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 35px;
}

.flh-titulo-seccion h2 {
    margin-bottom: 0;
}

.flh-ver-todas {
    color: var(--fl-primary,#24635e);
    font-weight: 700;
    white-space: nowrap;
}

@media(max-width:900px) {
    .flh-formulario {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media(max-width:600px) {
    .flh-busqueda {
        margin-top: -28px;
    }

    .flh-formulario {
        grid-template-columns: 1fr;
        padding: 20px;
        gap: 17px;
    }

    .flh-propiedades {
        padding-top: 75px;
    }

    .flh-titulo-seccion {
        flex-direction: column;
        align-items: flex-start;
    }

    .flh-ver-todas {
        white-space: normal;
    }
}


/* FINCAS LAXE: portada editorial. Estilos so deste bloque. */
.section.flh-seo-local {
    background: var(--fl-superficie-suave, #F8FBFD);
    border-top: 1px solid var(--fl-borde, #DFE9EF);
    border-bottom: 1px solid var(--fl-borde, #DFE9EF);
    padding-block: clamp(58px, 7vw, 90px);
}
.section.flh-seo-local .flh-seo-heading {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    color: var(--fl-tinta, #172D3C);
    font-family: var(--fl-titulos, system-ui, sans-serif);
    text-wrap: balance;
}
.section.flh-seo-local .flh-seo-heading--main {
    max-width: 1050px;
    margin: 0 0 clamp(34px, 4.2vw, 48px);
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.2;
    font-weight: 750;
    letter-spacing: -.03em;
}
.section.flh-seo-local .flh-seo-heading--secondary {
    max-width: none;
    margin: 0 0 clamp(29px, 3.3vw, 39px);
    font-size: clamp(21px, 2vw, 25px);
    line-height: 1.3;
    font-weight: 750;
    letter-spacing: -.018em;
}
.flh-seo-local .flh-seo-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid #DBEAF4;
    border-radius: 12px;
    background: #E9F4FA;
    color: var(--fl-azul, #007AC2);
}
.flh-seo-local .flh-seo-icon svg {
    display: block;
    width: 23px;
    height: 23px;
}
.flh-seo-local .flh-seo-heading--secondary .flh-seo-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
}
.flh-seo-local .flh-seo-heading--secondary .flh-seo-icon svg {
    width: 21px;
    height: 21px;
}
.flh-seo-local .flh-seo-intro-wrap {
    max-width: 1050px;
    padding-left: 62px;
}
.section.flh-seo-local .flh-seo-intro {
    max-width: 100%;
    margin: 0 0 16px;
    color: var(--fl-tinta, #172D3C);
    font-size: clamp(16px, 1.28vw, 18px);
    line-height: 1.78;
}
.flh-seo-local .flh-seo-intro:last-child { margin-bottom: 0; }
.flh-seo-local-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(18px, 2.5vw, 30px);
    margin-top: clamp(33px, 4.2vw, 48px);
}
.flh-seo-local .flh-seo-panel {
    min-width: 0;
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 3.3vw, 40px);
    border: 1px solid #D9E6F0;
    border-radius: 18px;
    background: linear-gradient(170deg, #FFFFFF 0%, #FBFDFF 100%);
    box-shadow: 0 15px 42px rgba(19, 69, 102, .095), 0 3px 8px rgba(19, 69, 102, .035);
    transition: box-shadow .22s ease, transform .22s ease;
}
.section.flh-seo-local .flh-seo-panel p {
    max-width: 100%;
    margin: 0 0 21px;
    font-size: 16px;
    line-height: 1.8;
    color: var(--fl-gris, #61727F);
}
.flh-seo-local .flh-seo-panel p:last-child { margin-bottom: 0; }
.flh-seo-local a {
    color: var(--fl-azul, #007AC2);
    font-weight: 700;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.flh-seo-local a:hover,
.flh-seo-local a:focus-visible {
    color: var(--fl-azul-hover, #00659F);
}
/* Oficina: dato local util, integrado na lectura da portada. */
.flh-seo-local .flh-seo-address {
    display: flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    max-width: 100%;
    margin: clamp(27px, 3.2vw, 38px) 0 0 62px;
    padding: 12px 17px;
    border: 1px solid #D7E8F2;
    border-radius: 12px;
    background: #EDF6FB;
    color: #324F60;
    font-size: 15px;
    line-height: 1.55;
    font-style: normal;
}
.flh-seo-local .flh-seo-address strong { color: #162E3D; font-weight: 700; }
.flh-seo-local .flh-seo-address-icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #007AC2;
}
.flh-seo-local .flh-seo-address-icon svg { display: block; width: 20px; height: 20px; }
/* Tarxetas: pequenos detalles editoriais sen distraccion. */
.flh-seo-local .flh-seo-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: clamp(28px, 3.3vw, 40px);
    width: 78px;
    height: 3px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg, #007AC2 0%, #F77E21 100%);
}
@media (hover: hover) {
    .flh-seo-local .flh-seo-panel:hover {
        transform: translateY(-3px);
        box-shadow: 0 21px 52px rgba(19, 69, 102, .13), 0 4px 9px rgba(19, 69, 102, .04);
    }
}
@media (prefers-reduced-motion: reduce) {
    .flh-seo-local .flh-seo-panel { transition: none; }
}
@media (max-width: 760px) {
    .flh-seo-local .flh-seo-address { margin-left: 0; }
}
@media (max-width: 500px) {
    .flh-seo-local .flh-seo-address { padding: 12px; font-size: 14px; align-items: flex-start; }
}

@media (max-width: 760px) {
    .flh-seo-local-grid { grid-template-columns: 1fr; }
    .flh-seo-local .flh-seo-intro-wrap { padding-left: 0; }
    .section.flh-seo-local .flh-seo-heading--main { margin-bottom: 30px; }
    .section.flh-seo-local .flh-seo-heading--secondary { margin-bottom: 28px; }
    .section.flh-seo-local { padding-block: 52px; }
}
@media (max-width: 500px) {
    .section.flh-seo-local .flh-seo-heading { gap: 11px; }
    .flh-seo-local .flh-seo-icon { width: 37px; height: 37px; border-radius: 10px; }
    .flh-seo-local .flh-seo-heading--secondary .flh-seo-icon { width: 34px; height: 34px; }
    .flh-seo-local .flh-seo-panel { padding: 27px 22px; }
    .section.flh-seo-local .flh-seo-panel p { font-size: 15.5px; }
}

/* CTA propietario: titulo branco, kicker e boton laranxa. */
.section.flh-vender-cta h2 {
    color: #FFFFFF;
    text-shadow: 0 1px 3px rgba(0,0,0,.14);
}
.section.flh-vender-cta .section-kicker {
    color: #F77E21;
    text-shadow: 0 1px 3px rgba(0,0,0,.20);
}
.section.flh-vender-cta a.btn.btn-light,
.section.flh-vender-cta a.btn.btn-light:visited {
    background: #F77E21;
    border: 2px solid #F77E21;
    color: #fff;
    font-weight: 800;
    text-shadow: 0 1px 1px rgba(0,0,0,.28);
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.section.flh-vender-cta a.btn.btn-light:hover,
.section.flh-vender-cta a.btn.btn-light:focus-visible {
    background: #E86C0C;
    border-color: #E86C0C;
    color: #fff;
}
.section.flh-vender-cta a.btn.btn-light:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
}


/* FLX_BADGE_DESTACADO_HOME_V1 */
.flh-propiedades .flc-tarjeta-imagen {
    position: relative;
}

.flh-propiedades .flc-etiquetas-home {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    max-width: calc(100% - 24px);
    pointer-events: none;
}

.flh-propiedades .flc-etiquetas-home .flc-etiqueta {
    position: static;
    inset: auto;
    transform: none;
    margin: 0;
}

.flh-propiedades .flc-etiqueta--destacado-home {
    background: rgb(38, 211, 103) !important;
    color: #FFFFFF !important;
    border-color: transparent;
    text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
/* FIN FLX_BADGE_DESTACADO_HOME_V1 */

/* FLX_HOME_ETIQUETAS_CORRECCION */
.flh-propiedades .flc-etiquetas-home > .flc-etiqueta:not(.flc-etiqueta--destacado-home) {
    background: #F77E21 !important;
    color: #FFFFFF !important;
    border-color: transparent !important;
}

.flh-propiedades .flc-etiquetas-home > .flc-etiqueta--destacado-home {
    background: #26D367 !important;
    color: #FFFFFF !important;
}
/* FIN FLX_HOME_ETIQUETAS_CORRECCION */


/* FLX_HOME_MUNICIPIOS_FASE10_V2 · estilos consolidados, só portada */
.section.flxh-zonas{background:#F5F9FC;border-block:1px solid #DDEAF2;padding:clamp(48px,6vw,78px) 0}
.flxh-zonas-intro{display:block;width:100%;max-width:none;margin:0 0 30px}
.flxh-zonas-intro .section-kicker{margin:0 0 12px;color:#D96617;letter-spacing:.1em;font-weight:800}
.flxh-zonas-intro h2{display:block;width:100%;max-width:none;font-size:clamp(28px,3.3vw,39px);line-height:1.17;letter-spacing:-.025em;color:#173349;margin:0 0 16px;text-wrap:balance}
.flxh-zonas-intro>.flxh-zonas-subtitle{display:block;width:100%;max-width:none;margin:0;color:#536777;font-size:16px;line-height:1.75}
.flxh-zonas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:19px}
.flxh-zona-card{position:relative;display:flex;flex-direction:column;min-height:194px;overflow:hidden;padding:26px 25px 23px;background:#fff;border:1px solid #DAE6EE;border-top:4px solid #F77E21;border-radius:14px;box-shadow:0 9px 27px rgba(24,95,136,.065);text-decoration:none!important;color:#183D59!important;transition:transform .18s,box-shadow .18s,border-color .18s}
.flxh-zona-card::after{content:"";position:absolute;width:125px;height:125px;border:1px solid #E4EEF4;border-radius:50%;right:-71px;top:-75px;pointer-events:none}
.flxh-zona-card:hover,.flxh-zona-card:focus-visible{transform:translateY(-4px);box-shadow:0 15px 33px rgba(24,95,136,.14);border-color:#C6DCE9}
.flxh-zona-pin{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:11px;background:#FFF3E9;color:#E16C19}
.flxh-zona-card h3{position:relative;font-size:clamp(22px,2vw,27px);letter-spacing:-.02em;line-height:1.24;color:#16344B;margin:16px 0 9px}
.flxh-zona-card p{font-size:14px;line-height:1.65;color:#526778;margin:0 0 22px}
.flxh-zona-link{margin-top:auto;color:#155F8C;font-size:14px;font-weight:800}
.flxh-zona-link span{display:inline-block;margin-left:5px;color:#F77E21;font-size:19px}
.flxh-silos-selectos{width:min(var(--fl-width,1180px),calc(100% - 40px));margin:34px auto 50px;padding:21px 25px;border:1px solid #DFE9EF;border-radius:12px;background:#F1F7FB}
.flxh-silos-selectos h2{font-size:20px;color:#173349;margin:0 0 15px}
.flxh-silos-selectos ul{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0;padding:0}
.flxh-silos-selectos a{display:inline-block;background:#fff;border:1px solid #D8E5EC;border-radius:6px;padding:9px 13px;color:#155F8C;text-decoration:none;font-size:13px;font-weight:600}
.flxh-silos-selectos a:hover,.flxh-silos-selectos a:focus-visible{border-color:#F77E21;color:#113B56}
@media(max-width:680px){.flxh-zonas-intro{margin-bottom:24px}.flxh-zonas-intro>.flxh-zonas-subtitle{font-size:15px}.flxh-silos-selectos{padding:19px}.flxh-zona-card{min-height:180px}}
/* FIN FLX_HOME_MUNICIPIOS_FASE10_V2 */

