/*
 * FINCASLAXE - SUBHERO INTERIOR V2
 * Unha soa imaxe: menú + título
 * Só Propiedades, Vender, Equipo e Contacto
 */

body.flx-subhero {
    --flx-sh-alto: clamp(350px, 30vw, 410px);
    --flx-sh-barra: 92px;
    position: relative;
}

/* FOTOGRAFÍA CONTINUA */

body.flx-subhero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: var(--flx-sh-alto);
    z-index: 0;
    pointer-events: none;

    background-color: #28516B;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

/* Filtro máis lixeiro ca antes */

body.flx-subhero-propiedades::before {
    background-image:
        linear-gradient(90deg,
            rgba(7, 27, 39, .62) 0%,
            rgba(7, 27, 39, .27) 54%,
            rgba(7, 27, 39, .12) 100%),
        url("subheroes/propiedades-casa.webp");
    background-position: center 52%;
}

body.flx-subhero-vender::before {
    background-image:
        linear-gradient(
            180deg,
            rgba(0,23,39,.40),
            rgba(0,23,39,.17)
        ),
        linear-gradient(
            90deg,
            rgba(0,23,39,.22),
            transparent 85%
        ),
        url("subheroes/vender.webp");
    background-position: center 54%;
}

body.flx-subhero-equipo::before {
    background-image:
        linear-gradient(
            180deg,
            rgba(0,23,39,.40),
            rgba(0,23,39,.18)
        ),
        linear-gradient(
            90deg,
            rgba(0,23,39,.24),
            transparent 85%
        ),
        url("subheroes/equipo.webp");
    background-position: center 48%;
}

body.flx-subhero-contacto::before {
    background-image:
        linear-gradient(
            180deg,
            rgba(0,23,39,.40),
            rgba(0,23,39,.17)
        ),
        linear-gradient(
            90deg,
            rgba(0,23,39,.22),
            transparent 85%
        ),
        url("subheroes/contacto.webp");
    background-position: center 50%;
}

/* =====================================
   MENÚ INTEGRADO NA IMAXE
   Máis específico ca as regras azuis antigas
   ===================================== */

body.flx-subhero:not(.home):not(.front-page)
.site-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;

    width: 100% !important;
    height: var(--flx-sh-barra) !important;
    min-height: 0 !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;

    z-index: 40 !important;
}

body.flx-subhero:not(.home):not(.front-page)
.site-header .header-inner {
    display: flex;
    align-items: center;

    height: var(--flx-sh-barra) !important;
    min-height: var(--flx-sh-barra) !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    background: transparent !important;
}

body.flx-subhero .site-header .main-nav a {
    color: #FFFFFF !important;
    text-shadow: 0 1px 5px rgba(0,0,0,.20);
}

body.flx-subhero .site-header .brand {
    background: transparent !important;
}

/* Manter visible o menú despregado do móbil */

body.flx-subhero .site-header
.main-nav.flx-menu-aberto {
    background: #155F8C !important;
}

/* =====================================
   CONTIDO: CAPA SOBRE A FOTOGRAFÍA
   ===================================== */

body.flx-subhero main {
    position: relative;
    z-index: 1;
}

/* =====================================
   VENDER / EQUIPO / CONTACTO
   ===================================== */

body.flx-subhero .flx-corp-page {
    background: transparent !important;
}

body.flx-subhero .flx-corp-hero {
    box-sizing: border-box;

    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;

    height: calc(
        var(--flx-sh-alto) - var(--flx-sh-barra)
    ) !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 0 39px !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    overflow: visible !important;
}

body.flx-subhero .flx-corp-hero
.flx-corp-container {
    position: relative;
    width: min(1120px, calc(100% - 48px));
    margin-inline: auto;
    padding: 0 !important;
}

/* Eliminar os microtextos superiores */

body.flx-subhero .flx-corp-hero
.flx-corp-etiqueta {
    display: none !important;
}

/* H1 BRANCO SOBRE FOTOGRAFÍA */

body.flx-subhero:not(.home):not(.front-page)
.flx-corp-page .flx-corp-hero
.flx-corp-container > h1 {
    display: block !important;
    position: relative !important;

    visibility: visible !important;
    opacity: 1 !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: clamp(41px, 4.4vw, 60px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;

    letter-spacing: -.035em;

    text-shadow:
        0 2px 12px rgba(0,0,0,.23);

    transform: none !important;
    clip-path: none !important;
    overflow: visible !important;
}

/* Subtítulo baixo o H1 */

body.flx-subhero:not(.home):not(.front-page)
.flx-corp-hero .flx-corp-subtitulo {
    display: block !important;

    max-width: 770px;
    margin: 15px 0 0 !important;
    padding: 0 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;

    font-size: 18px !important;
    line-height: 1.45 !important;

    text-shadow: 0 1px 6px rgba(0,0,0,.20);
}

body.flx-subhero .flx-corp-contenido {
    position: relative;
    z-index: 1;
    background: #FFFFFF !important;
}

/* =====================================
   PROPIEDADES
   ===================================== */

body.flx-subhero-propiedades
main.flc-archivo {
    background: transparent !important;
    padding-top: 0 !important;
}

body.flx-subhero-propiedades
.flc-archivo .flc-cabecera {
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;

    height: calc(
        var(--flx-sh-alto) - var(--flx-sh-barra)
    ) !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 0 39px !important;

    background: transparent !important;
}

/* Sen etiquetas pequenas enriba */

body.flx-subhero-propiedades
.flc-archivo .flc-cabecera .flc-eyebrow {
    display: none !important;
}

/* H1 branco: gaña tamén á regra global de negro */

body.flx-subhero-propiedades:not(.home):not(.front-page)
.flc-archivo .flc-cabecera h1 {
    display: block !important;
    position: relative !important;

    visibility: visible !important;
    opacity: 1 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: clamp(41px,4.4vw,60px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;

    text-shadow: 0 2px 12px rgba(0,0,0,.23);
}

body.flx-subhero-propiedades
.flc-archivo .flc-cabecera > p:last-child {
    color: #FFFFFF !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    margin: 13px 0 0 !important;
}

/* =====================================
   MÓBIL
   ===================================== */

@media (max-width: 800px) {

    body.flx-subhero {
        --flx-sh-alto: clamp(335px, 44svh, 390px);
        --flx-sh-barra: 91px;
    }

    body.flx-subhero .flx-corp-hero,
    body.flx-subhero-propiedades
    .flc-archivo .flc-cabecera {
        padding-bottom: 27px !important;
    }

    body.flx-subhero:not(.home):not(.front-page)
    .flx-corp-page .flx-corp-hero
    .flx-corp-container > h1,

    body.flx-subhero-propiedades:not(.home):not(.front-page)
    .flc-archivo .flc-cabecera h1 {
        font-size: clamp(33px, 8.3vw, 43px) !important;
        line-height: 1.12 !important;
    }

    body.flx-subhero:not(.home):not(.front-page)
    .flx-corp-hero .flx-corp-subtitulo {
        font-size: 16px !important;
        line-height: 1.42 !important;
        margin-top: 11px !important;
    }

    body.flx-subhero-propiedades
    .flc-archivo .flc-cabecera > p:last-child {
        font-size: 16px !important;
    }

    body.flx-subhero .flx-corp-hero
    .flx-corp-container {
        width: calc(100% - 40px);
    }
}

/* FINCASLAXE - SUBHERO INTERIOR V2 */


/* FLX_HEROES_AXUSTE_V3
 * Só Vender/Equipo/Contacto: máis aire baixo o subtítulo, MESMA altura.
 * Só Propiedades: foto de casa, con recorte independente para móbil.
 */
html body.flx-subhero:not(.home):not(.front-page).page-template-page-flx-corporativa main.flx-corp-page header.flx-corp-hero {
    padding-bottom: 63px !important;
}
@media (max-width:800px) {
    html body.flx-subhero:not(.home):not(.front-page).page-template-page-flx-corporativa main.flx-corp-page header.flx-corp-hero {
        padding-bottom: 48px !important;
    }
    body.flx-subhero-propiedades::before {
        background-image:
            linear-gradient(0deg,
                rgba(7, 27, 39, .67) 0%,
                rgba(7, 27, 39, .23) 62%,
                rgba(7, 27, 39, .23) 100%),
            url("subheroes/propiedades-casa-movil.webp");
        background-position: center 52%;
    }
}
/* FIN FLX_HEROES_AXUSTE_V3 */



/* FLX_PROPIEDADES_V5 */
/* FLX_PROPIEDADES_AJUSTE_FINO_V1 */

/*
 * PROPIEDADES - CABECEIRA
 * Centramos o título máis arriba.
 */

html body.flx-subhero-propiedades
main.flc-archivo .flc-cabecera {

    display: flex !important;
    flex-direction: column !important;

    justify-content: center !important;
    align-items: flex-start !important;

    visibility: visible !important;
    opacity: 1 !important;

    position: relative !important;
    z-index: 2 !important;

    padding: 0 0 76px !important;
    overflow: visible !important;
}

/*
 * H1 BLANCO E VISIBLE
 */

html body.flx-subhero-propiedades
main.flc-archivo .flc-cabecera h1 {

    display: block !important;

    position: relative !important;
    top: 44px !important;
    z-index: 3 !important;

    visibility: visible !important;
    opacity: 1 !important;

    flex: 0 0 auto !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: clamp(44px, 4.8vw, 65px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;

    transform: none !important;
    clip: auto !important;
    clip-path: none !important;

    text-shadow:
        0 2px 14px rgba(0,0,0,.65);
}

/*
 * BUSCADOR SUPERPOSTO
 * Ordenador: 78px sobre a fotografía.
 */

html body.flx-subhero-propiedades
main.flc-archivo .flx-search--archive {

    position: relative !important;
    z-index: 10 !important;

    top: auto !important;

    margin-top: -78px !important;
}

/*
 * MÓBIL
 */

@media (max-width: 800px) {

    html body.flx-subhero-propiedades
    main.flc-archivo .flc-cabecera {

        display: flex !important;

        justify-content: center !important;
        align-items: flex-start !important;

        visibility: visible !important;
        opacity: 1 !important;

        padding: 0 0 82px !important;
    }

    html body.flx-subhero-propiedades
    main.flc-archivo .flc-cabecera h1 {

        display: block !important;
        top: 0 !important;

        visibility: visible !important;
        opacity: 1 !important;

        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;

        font-size: clamp(39px, 9vw, 46px) !important;
        font-weight: 800 !important;
        line-height: 1.12 !important;

        margin: 0 !important;
        padding: 0 !important;

        text-shadow:
            0 2px 16px rgba(0,0,0,.75);
    }

    /*
     * O buscador entra 68px
     * dentro da fotografía.
     */

    html body.flx-subhero-propiedades
    main.flc-archivo .flx-search--archive {

        position: relative !important;
        z-index: 10 !important;

        margin-top: -100px !important;
    }
}

/* FIN FLX_PROPIEDADES_V5 */



/* FLX_ARCHIVO_FILTRADO_MOVIL_V1 */

/*
 * Só catálogo CON filtros no móbil.
 * O catálogo sen filtros conserva a foto.
 * O ordenador conserva o hero.
 */

@media (max-width: 800px) {

    /* Retirar fotografía */

    html body.flx-subhero-propiedades.flx-archivo-filtrado::before {
        display: none !important;
        content: none !important;
    }

    /* Recuperar cabeceira azul estándar */

    html body.flx-subhero.flx-subhero-propiedades.flx-archivo-filtrado:not(.home):not(.front-page)
    .site-header {

        position: relative !important;

        background: #155F8C !important;
        background-color: #155F8C !important;
        background-image: none !important;

        height: auto !important;
        min-height: 0 !important;

        padding: 10px 0 !important;
        margin: 0 !important;
    }

    html body.flx-subhero-propiedades.flx-archivo-filtrado
    .site-header .header-inner {

        height: auto !important;
        min-height: 72px !important;

        padding: 8px 0 !important;
    }

    /* Catálogo branco baixo a cabeceira */

    html body.flx-subhero-propiedades.flx-archivo-filtrado
    main.flc-archivo {

        background: #FFFFFF !important;
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /*
     * Ocultar exclusivamente o hero do catálogo.
     * Non se ocultan os filtros nin os resultados.
     */

    html body.flx-subhero-propiedades.flx-archivo-filtrado
    main.flc-archivo .flc-cabecera {

        display: none !important;

        height: 0 !important;
        min-height: 0 !important;

        padding: 0 !important;
        margin: 0 !important;
    }

    /*
     * Buscador compacto na posición normal.
     * Sen marxes negativas nin superposicións.
     */

    html body.flx-subhero-propiedades.flx-archivo-filtrado
    main.flc-archivo .flx-search--archive {

        position: relative !important;

        top: auto !important;
        bottom: auto !important;

        transform: none !important;

        margin-top: 0 !important;

        z-index: 2 !important;
    }

    /*
     * Separación discreta despois da cabeceira.
     */

    html body.flx-subhero-propiedades.flx-archivo-filtrado
    main.flc-archivo .flc-contenedor {

        padding-top: 22px;
    }

    /*
     * O despregable do menú segue sendo azul.
     */

    html body.flx-subhero-propiedades.flx-archivo-filtrado
    .site-header .main-nav.flx-menu-aberto {

        background: #155F8C !important;
    }

}

/* FIN FLX_ARCHIVO_FILTRADO_MOVIL_V1 */
