
/* ---- fh-fuentes ---- */
/*
 * Tipografia de marca, servida desde nuestro servidor.
 *
 * El manual fija Helvetica Neue Condensed Bold para titulares y designa
 * Barlow Condensed 700 como sustituta web libre. Barlow no se estaba
 * cargando: en un movil, donde Helvetica Neue Condensed no existe, los
 * titulares caian en Impact. Montserrat va en version variable, asi que un
 * solo fichero cubre del peso 300 al 700.
 *
 * swap: se lee el texto desde el primer pintado, con la tipografia del
 * sistema, y cambia sola al llegar la nuestra. Nunca texto invisible.
 */

@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://www.filmhouses.com/wp-content/mu-plugins/fh-assets/fuentes/barlow-condensed-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://www.filmhouses.com/wp-content/mu-plugins/fh-assets/fuentes/barlow-condensed-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url(https://www.filmhouses.com/wp-content/mu-plugins/fh-assets/fuentes/montserrat-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url(https://www.filmhouses.com/wp-content/mu-plugins/fh-assets/fuentes/montserrat-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/*
 * El respaldo de Barlow Condensed, a su medida (punto 93).
 *
 * Barlow llega con font-display: swap, asi que durante un instante el
 * titular se pinta con la letra del sistema, que es mas estrecha, y al
 * llegar Barlow todo se mueve. Con size-adjust el respaldo ocupa lo
 * mismo que la definitiva y el salto desaparece.
 */
@font-face {
    font-family: 'Barlow Condensed respaldo';
    src: local('Arial Narrow'), local('Helvetica Neue Condensed'), local('Liberation Sans Narrow');
    size-adjust: 115%;
}

/* ---- fh-tokens ---- */
/* Film Houses · Property Advisers — tokens de marca (v1, sept. 2026)
   Fuente de verdad para la web. Derivado del dossier de captación 2026. */
:root{
  /* Color */
  --fh-marino:#273743;      /* principal: fondos, titulares sobre claro */
  --fh-arena:#c09d75;       /* acento: titulares sobre marino, líneas, iconos */
  --fh-blanco:#ffffff;
  --fh-hueso:#f4ede4;       /* fondos claros, mapa */
  --fh-piedra:#d9cbb9;      /* fondos claros secundarios */
  --fh-grafito:#4a5560;     /* texto secundario sobre claro */
  --fh-bruma:#6e98ac;       /* solo gráficos y datos, nunca texto */
  --fh-arena-55:rgba(192,157,117,.55);   /* separadores */

  /* Tipografía */
  --fh-font-display:"Helvetica Neue Condensed Bold","HelveticaNeue-CondensedBold","Barlow Condensed",Impact,sans-serif; /* titulares, siempre en mayúsculas */
  --fh-font-text:"Montserrat",Helvetica,Arial,sans-serif;
  --fh-display-lh:.94; --fh-display-ls:-.005em;
  --fh-text-lh:1.35;

  /* Escala (desktop → móvil con clamp) */
  --fh-h1:clamp(44px,6.2vw,118px);
  --fh-h2:clamp(34px,4.6vw,86px);
  --fh-h3:clamp(24px,2.4vw,46px);
  --fh-lead:clamp(18px,1.6vw,30px);
  --fh-body:clamp(16px,1.25vw,22px);
  --fh-small:14px;
  --fh-eyebrow:13px;        /* mayúsculas, letter-spacing .2em, peso 500, color arena */

  /* Forma */
  --fh-radius-card:32px;    /* tarjetas y bloques (40px en el dossier a 1920) */
  --fh-radius-tile:18px;
  --fh-radius-pill:999px;
  --fh-border-tile:2px solid var(--fh-arena);
  --fh-rule:1.5px solid var(--fh-arena-55);
  --fh-gutter:clamp(16px,3.3vw,64px);
  --fh-outline-stroke:2px; /* texto contorneado */
}
/* Titular con segunda línea contorneada (recurso principal de la marca) */
.fh-display{font-family:var(--fh-font-display);text-transform:uppercase;line-height:var(--fh-display-lh);letter-spacing:var(--fh-display-ls);font-weight:700}
.fh-outline{color:transparent;-webkit-text-stroke:var(--fh-outline-stroke) currentColor}
.fh-on-marino .fh-outline{-webkit-text-stroke-color:var(--fh-arena)}
.fh-on-claro  .fh-outline{-webkit-text-stroke-color:var(--fh-marino)}
.fh-eyebrow{font-family:var(--fh-font-text);font-size:var(--fh-eyebrow);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fh-arena)}
/* Botones */
.fh-btn{font-family:var(--fh-font-text);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding:16px 28px;border-radius:var(--fh-radius-pill);text-decoration:none;display:inline-block}
.fh-btn-primary{background:var(--fh-arena);color:var(--fh-marino)}
.fh-btn-secondary{background:transparent;color:currentColor;border:2px solid currentColor}
.fh-btn-dark{background:var(--fh-marino);color:#fff}

/* ---- fh-waf ---- */
/*
 * El WhatsApp flotante del movil. Pep, 22-10-2026.
 *
 * Solo se ve en el movil. En el ordenador el enlace SI va en el HTML
 * -no hay forma de saber el ancho en el servidor con la pagina
 * cacheada- y lo esconde esta hoja: el boton de la cabecera y el
 * bloque de contacto ya estan a la vista alli.
 *
 * Lo que si se decide en PHP es la pagina: donde hay barra fija el
 * enlace no se imprime siquiera, porque eso no depende del ancho.
 */

.fh-waf { display: none; }

@media (max-width: 760px) {
    .fh-waf {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        right: 16px;
        /* Por encima del area segura de los moviles con barra inferior. */
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        width: 52px;
        height: 52px;
        border-radius: 999px;
        /*
         * Marino con el icono en arena, y un aro de arena alrededor.
         *
         * En arena sobre arena no se veia: el boton cae encima de lo
         * que haya, y en Casos de exito las tarjetas son arena, con lo
         * que el contraste bajaba a 1. Marino contrasta 11 sobre hueso
         * y 4,9 sobre arena; y donde el fondo es marino, lo que marca
         * el borde es el aro.
         */
        background: var(--fh-marino);
        color: var(--fh-arena);
        box-shadow: 0 0 0 2px var(--fh-arena), 0 6px 20px rgba(39, 55, 67, .28);
        text-decoration: none;
        /*
         * Debajo del aviso de cookies y del menu, encima del contenido.
         * La barra fija de Vender y las landings no compite: ahi este
         * boton no se pinta.
         */
        z-index: 90;
    }

    .fh-waf:focus-visible {
        outline: 3px solid var(--fh-marino);
        outline-offset: 3px;
    }
}

/* ---- hello-elementor ---- */
html{line-height:1.15;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin-block-start:.5rem;margin-block-end:1rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-block-start:0;margin-block-end:.9rem}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em;white-space:pre-wrap}a{background-color:transparent;text-decoration:none;color:#c36}a:active,a:hover{color:#336}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{font-size:16px;color:#333;line-height:1.4;font-style:italic;font-weight:400}[hidden],template{display:none}@media print{*,:after,:before{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;break-inside:avoid;border:1px solid #ccc}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{width:100%;border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#333}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{width:auto;-webkit-appearance:button}[type=button],[type=submit],button{display:inline-block;font-weight:400;color:#c36;text-align:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid #c36;padding:.5rem 1rem;font-size:1rem;border-radius:3px;transition:all .3s}[type=button]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{color:#fff;background-color:#c36;text-decoration:none}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:transparent;width:100%;margin-block-end:15px;font-size:.9em;border-spacing:0;border-collapse:collapse}table td,table th{padding:15px;line-height:1.5;vertical-align:top;border:1px solid hsla(0,0%,50.2%,.5019607843)}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{border-block-start:1px solid hsla(0,0%,50.2%,.5019607843)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50.2%,.0705882353)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:hsla(0,0%,50.2%,.1019607843)}table tbody+tbody{border-block-start:2px solid hsla(0,0%,50.2%,.5019607843)}@media (max-width:767px){table table{font-size:.8em}table table td,table table th{padding:7px;line-height:1.3}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{margin-block-start:0;margin-block-end:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
/* ---- hello-elementor-theme-style ---- */
@charset "UTF-8";.comments-area a,.page-content a{text-decoration:underline}.alignright{float:right;margin-left:1rem}.alignleft{float:left;margin-right:1rem}.aligncenter{clear:both;display:block;margin-inline:auto}.alignwide{margin-inline:-80px}.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}.alignfull,.alignfull img{width:100vw}.wp-caption{margin-block-end:1.25rem;max-width:100%}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{display:block;margin-inline:auto}.wp-caption-text{margin:0}.gallery-caption{display:block;font-size:.8125rem;line-height:1.5;margin:0;padding:.75rem}.pagination{display:flex;justify-content:space-between;margin:20px auto}.sticky{position:relative;display:block}.bypostauthor{font-size:inherit}.hide{display:none!important}.post-password-form{max-width:500px;margin:50px auto}.post-password-form p{width:100%;display:flex;align-items:flex-end}.post-password-form [type=submit]{margin-inline-start:3px}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:rgb(238.425,238.425,238.425);clip:auto!important;clip-path:none;color:#333;display:block;font-size:1rem;height:auto;left:5px;line-height:normal;padding:12px 24px;text-decoration:none;top:5px;width:auto;z-index:100000}.post .entry-title a{text-decoration:none}.post .wp-post-image{width:100%;max-height:500px;-o-object-fit:cover;object-fit:cover}@media (max-width:991px){.post .wp-post-image{max-height:400px}}@media (max-width:575px){.post .wp-post-image{max-height:300px}}#comments .comment-list{margin:0;padding:0;list-style:none;font-size:.9em}#comments .comment,#comments .pingback{position:relative}#comments .comment .comment-body,#comments .pingback .comment-body{display:flex;flex-direction:column;padding-block-start:30px;padding-block-end:30px;padding-inline-start:60px;padding-inline-end:0;border-block-end:1px solid #ccc}#comments .comment .avatar,#comments .pingback .avatar{position:absolute;left:0;border-radius:50%;margin-inline-end:10px}body.rtl #comments .comment .avatar,body.rtl #comments .pingback .avatar,html[dir=rtl] #comments .comment .avatar,html[dir=rtl] #comments .pingback .avatar{left:auto;right:0}#comments .comment-meta{display:flex;justify-content:space-between;margin-block-end:.9rem}#comments .comment-metadata,#comments .reply{font-size:11px;line-height:1}#comments .children{position:relative;list-style:none;margin:0;padding-inline-start:30px}#comments .children li:last-child{padding-block-end:0}#comments ol.comment-list .children:before{display:inline-block;font-size:1em;font-weight:400;line-height:100%;content:"↪";position:absolute;top:45px;left:0;width:auto}body.rtl #comments ol.comment-list .children:before,html[dir=rtl] #comments ol.comment-list .children:before{content:"↩";left:auto;right:0}@media (min-width:768px){#comments .comment-author,#comments .comment-metadata{line-height:1}}@media (max-width:767px){#comments .comment .comment-body{padding:30px 0}#comments .children{padding-inline-start:20px}#comments .comment .avatar{position:inherit;float:left}body.rtl #comments .comment .avatar,html[dir=rtl] #comments .comment .avatar{float:right}}.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{margin-inline-start:auto;margin-inline-end:auto;width:100%}@media (max-width:575px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{padding-inline-start:10px;padding-inline-end:10px}}@media (min-width:576px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:500px}.site-footer.footer-full-width .footer-inner,.site-header.header-full-width .header-inner{max-width:100%}}@media (min-width:768px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:600px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media (min-width:992px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:800px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media (min-width:1200px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),body:not([class*=elementor-page-]) .site-main{max-width:1140px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}.site-header+.elementor{min-height:calc(100vh - 320px)}
/* ---- hello-elementor-header-footer ---- */
@charset "UTF-8";.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;padding-block-start:1rem;padding-block-end:1rem;position:relative}.site-header .site-title{font-size:2.5rem;font-weight:500;line-height:1.2}.site-header .site-branding{display:flex;flex-direction:column;justify-content:center;gap:.5rem}.site-header .header-inner{display:flex;flex-wrap:wrap;justify-content:space-between}.site-header .header-inner .custom-logo-link{display:block}.site-header .header-inner .site-branding .site-description,.site-header .header-inner .site-branding .site-title{margin:0}.site-header .header-inner .site-branding .site-logo img{display:block}.site-header .header-inner .site-branding.show-logo .site-title,.site-header .header-inner .site-branding.show-title .site-logo{display:none!important}.site-header.header-inverted .header-inner{flex-direction:row-reverse}.site-header.header-inverted .header-inner .site-branding{text-align:end}.site-header.header-stacked .header-inner{align-items:center;flex-direction:column;text-align:center}.site-footer{padding-block-start:1rem;padding-block-end:1rem;position:relative}.site-footer .site-title{font-size:1.5rem;font-weight:500;line-height:1.2}.site-footer .site-branding{display:flex;flex-direction:column;justify-content:center;gap:.5rem}.site-footer .footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between}.site-footer .footer-inner .custom-logo-link{display:block}.site-footer .footer-inner .site-branding .site-description,.site-footer .footer-inner .site-branding .site-title{margin:0}.site-footer .footer-inner .site-branding .site-logo img{display:block}.site-footer .footer-inner .site-branding.show-logo .site-title,.site-footer .footer-inner .site-branding.show-title .site-logo{display:none!important}.site-footer .footer-inner .copyright{align-items:center;display:flex;justify-content:flex-end}.site-footer .footer-inner .copyright p{margin:0}.site-footer.footer-inverted .footer-inner{flex-direction:row-reverse}.site-footer.footer-inverted .footer-inner .site-branding{text-align:end}.site-footer.footer-stacked .footer-inner{align-items:center;flex-direction:column;text-align:center}.site-footer.footer-stacked .footer-inner .site-branding .site-title{text-align:center}.site-footer.footer-stacked .footer-inner .site-navigation .menu{padding:0}@media (max-width:576px){.site-footer:not(.footer-stacked) .footer-inner .copyright,.site-footer:not(.footer-stacked) .footer-inner .site-branding,.site-footer:not(.footer-stacked) .footer-inner .site-navigation{display:block;text-align:center;width:100%;max-width:none}.site-footer .footer-inner .site-navigation ul.menu{justify-content:center}.site-footer .footer-inner .site-navigation ul.menu li{display:inline-block}}.site-header.header-stacked .site-navigation-toggle-holder{justify-content:center;max-width:100%}.site-header.menu-layout-dropdown .site-navigation{display:none}.site-navigation-toggle-holder{display:flex;align-items:center;padding:8px 15px}.site-navigation-toggle-holder .site-navigation-toggle{display:flex;align-items:center;justify-content:center;padding:.5rem;cursor:pointer;border:0 solid;border-radius:3px;background-color:rgba(0,0,0,.05);color:#494c4f}.site-navigation-toggle-holder .site-navigation-toggle-icon{display:block;width:1.25rem}.site-navigation-toggle-holder .site-navigation-toggle-icon:after,.site-navigation-toggle-holder .site-navigation-toggle-icon:before{content:"";background-color:currentColor;display:block;height:3px;transition:all .2s ease-in-out;border-radius:3px}.site-navigation-toggle-holder .site-navigation-toggle-icon:before{box-shadow:0 .35rem 0 currentColor;margin-block-end:.5rem}.site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:before{box-shadow:none;transform:translateY(.35rem) rotate(45deg)}.site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:after{transform:translateY(-.35rem) rotate(-45deg)}.site-navigation{display:flex;align-items:center}.site-navigation ul.menu,.site-navigation ul.menu ul{list-style-type:none;padding:0}.site-navigation ul.menu{display:flex;flex-wrap:wrap}.site-navigation ul.menu li{position:relative;display:flex}.site-navigation ul.menu li a{display:block;padding:8px 15px}.site-navigation ul.menu li.menu-item-has-children{padding-inline-end:15px}.site-navigation ul.menu li.menu-item-has-children:after{display:flex;content:"▾";font-size:1.5em;justify-content:center;align-items:center;color:#666;text-decoration:none}.site-navigation ul.menu li.menu-item-has-children:focus-within>ul{display:block}.site-navigation ul.menu li ul{background:#fff;display:none;min-width:150px;position:absolute;z-index:2;left:0;top:100%}.site-navigation ul.menu li ul li{border-block-end:rgb(238.425,238.425,238.425) 1px solid}.site-navigation ul.menu li ul li:last-child{border-block-end:none}.site-navigation ul.menu li ul li.menu-item-has-children a{flex-grow:1}.site-navigation ul.menu li ul li.menu-item-has-children:after{transform:translateY(-50%) rotate(-90deg)}.site-navigation ul.menu li ul ul{left:100%;top:0}.site-navigation ul.menu li:hover>ul{display:block}footer .site-navigation ul.menu li ul{top:auto;bottom:100%}footer .site-navigation ul.menu li ul ul{bottom:0}footer .site-navigation ul.menu a{padding:5px 15px}.site-navigation-dropdown{margin-block-start:10px;transition:max-height .3s,transform .3s;transform-origin:top;position:absolute;bottom:0;left:0;z-index:10000;width:100%}.site-navigation-toggle-holder:not(.elementor-active)+.site-navigation-dropdown{transform:scaleY(0);max-height:0}.site-navigation-toggle-holder.elementor-active+.site-navigation-dropdown{transform:scaleY(1);max-height:100vh}.site-navigation-dropdown ul{padding:0}.site-navigation-dropdown ul.menu{position:absolute;width:100%;padding:0;margin:0;background:#fff}.site-navigation-dropdown ul.menu li{display:block;width:100%;position:relative}.site-navigation-dropdown ul.menu li a{display:block;padding:20px;background:#fff;color:#55595c;box-shadow:inset 0 -1px 0 rgba(0,0,0,.1019607843)}.site-navigation-dropdown ul.menu li.current-menu-item a{color:#fff;background:#55595c}.site-navigation-dropdown ul.menu>li li{transition:max-height .3s,transform .3s;transform-origin:top;transform:scaleY(0);max-height:0}.site-navigation-dropdown ul.menu li.elementor-active>ul>li{transform:scaleY(1);max-height:100vh}@media (max-width:576px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation{display:none!important}}@media (min-width:768px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}}@media (min-width:576px) and (max-width:767px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation{display:none!important}}@media (min-width:992px){.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}}@media (max-width:992px){.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation{display:none!important}}.site-header.menu-dropdown-none:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}
/* ---- fh-portada ---- */
/* Film Houses - portada. Construida sobre filmhouses-brand-tokens.css.
   Secciones a pagina completa, alternando marino y hueso; nunca dos marinos seguidos. */

.fh-portada { font-family: var(--fh-font-text); font-weight: 300; line-height: var(--fh-text-lh); }
.fh-portada *, .fh-portada *::before, .fh-portada *::after { box-sizing: border-box; }

.fh-ancho { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 var(--fh-gutter); }

.fh-seccion { padding: clamp(56px, 7vw, 128px) 0; }
.fh-seccion--marino { background: var(--fh-marino); color: var(--fh-blanco); }
.fh-seccion--hueso  { background: var(--fh-hueso);  color: var(--fh-grafito); }

.fh-portada .fh-display { font-family: var(--fh-font-display); text-transform: uppercase;
    line-height: var(--fh-display-lh); letter-spacing: var(--fh-display-ls); font-weight: 700; margin: 0; }
.fh-portada .fh-eyebrow { font-family: var(--fh-font-text); font-size: var(--fh-eyebrow); font-weight: 500;
    letter-spacing: .2em; text-transform: uppercase; margin: 0 0 12px; }
/* El color lo pone fh-custom.css: arena sobre marino, grafito sobre claro.
   Aqui se fijaba arena para todos y sobre hueso daba 2,17 de contraste. */

/* --- hero --- */
.fh-hero { padding-top: clamp(64px, 9vw, 152px); }
.fh-hero__titulo { font-size: var(--fh-h1); color: var(--fh-arena); margin-bottom: 20px; }
.fh-hero__lead { font-size: var(--fh-lead); font-weight: 300; color: rgba(255,255,255,.82);
    max-width: 44ch; margin: 0 0 clamp(28px, 3.5vw, 48px); }
.fh-hero .fh-buscador { background: transparent; padding: 0; border-radius: 0; max-width: none; }
.fh-hero .fh-buscador__lista { left: 0; right: 0; }

/* --- cifras --- */
.fh-cifras { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 72px); }
.fh-cifra__num { font-size: clamp(44px, 5.4vw, 92px); color: var(--fh-marino); margin-bottom: 4px; }
.fh-cifra__pie { font-size: var(--fh-small); color: var(--fh-grafito); margin: 0; }

/* --- cabecera de seccion --- */
.fh-seccion__cabecera { display: flex; align-items: flex-end; justify-content: space-between;
    gap: 24px; flex-wrap: wrap; padding-bottom: 18px; margin-bottom: clamp(28px, 3.5vw, 48px);
    border-bottom: var(--fh-rule); }
.fh-seccion__titulo { font-size: var(--fh-h2); }
.fh-seccion--marino .fh-seccion__titulo { color: var(--fh-blanco); }
.fh-seccion--hueso  .fh-seccion__titulo { color: var(--fh-marino); }

.fh-enlace { font-family: var(--fh-font-text); font-size: var(--fh-small); font-weight: 600;
    letter-spacing: .06em; text-transform: uppercase; color: var(--fh-arena);
    text-decoration: none; white-space: nowrap; display: inline-flex; gap: 8px; align-items: center; }
.fh-enlace span { transition: transform .18s ease; }
.fh-enlace:hover span { transform: translateX(4px); }

/* --- tarjetas de propiedad: foto a la izquierda (manual, seccion 14) --- */
.fh-rejilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }

.fh-ficha { display: grid; grid-template-columns: 42% 1fr; background: var(--fh-blanco);
    border-radius: var(--fh-radius-card); overflow: hidden; text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease; min-height: 232px; }
.fh-ficha:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(39,55,67,.18); }

/* La foto llena su celda y no manda sobre el alto de la tarjeta.
   Con la imagen en el flujo, la primera de cada rejilla -que se carga con
   prioridad y sin lazy- estiraba su fila: en las landings la primera fila
   media 437 px y las demas 232. Fuera del flujo, todas miden igual. */
.fh-ficha__foto { position: relative; background: var(--fh-piedra); overflow: hidden; }
.fh-ficha__foto img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; object-fit: cover; display: block;
}

.fh-ficha__marcas { position: absolute; top: 14px; left: 14px; display: flex; flex-wrap: wrap; gap: 6px; }
/* Tamano, relleno y forma: fh-marco.css. Aqui solo el color. */
.fh-ficha__marca { background: var(--fh-marino); color: var(--fh-hueso); }

.fh-ficha__cuerpo { padding: clamp(20px, 2vw, 30px); display: flex; flex-direction: column; }
.fh-ficha__sitio { margin-bottom: 8px; }
.fh-ficha__titulo { font-size: clamp(20px, 1.5vw, 27px); color: var(--fh-marino); margin-bottom: 10px; }
.fh-ficha__datos { font-size: var(--fh-small); color: var(--fh-grafito); margin: 0 0 auto; }
.fh-ficha__precio { font-size: clamp(22px, 1.7vw, 30px); color: var(--fh-marino); margin-top: 18px; }

/* --- llamada a la accion --- */
.fh-cta { display: flex; align-items: center; justify-content: space-between; gap: clamp(24px, 4vw, 64px); flex-wrap: wrap; }
.fh-cta__titulo { font-size: var(--fh-h2); color: var(--fh-arena); margin-bottom: 14px; }
.fh-cta__texto { font-size: var(--fh-body); font-weight: 300; color: rgba(255,255,255,.82); max-width: 52ch; margin: 0; }
.fh-portada .fh-btn { font-family: var(--fh-font-text); font-weight: 600; font-size: 15px; letter-spacing: .06em;
    text-transform: uppercase; padding: 18px 34px; border-radius: var(--fh-radius-pill);
    text-decoration: none; display: inline-block; white-space: nowrap; transition: opacity .18s ease; }
.fh-portada .fh-btn-primary { background: var(--fh-arena); color: var(--fh-marino); }
.fh-portada .fh-btn-primary:hover { opacity: .88; }

/* --- noticias y mapa --- */
.fh-noticias { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.fh-noticia, .fh-mapa { background: var(--fh-blanco); border-radius: var(--fh-radius-card);
    overflow: hidden; text-decoration: none; display: flex; flex-direction: column;
    transition: transform .2s ease, box-shadow .2s ease; }
.fh-noticia:hover, .fh-mapa:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(39,55,67,.14); }
.fh-noticia__foto { aspect-ratio: 16 / 10; background: var(--fh-piedra); }
.fh-noticia__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fh-noticia .fh-eyebrow { padding: 20px 22px 0; margin-bottom: 8px; }
.fh-noticia__titulo { font-family: var(--fh-font-text); font-weight: 500; font-size: 17px;
    line-height: 1.35; color: var(--fh-marino); margin: 0; padding: 0 22px; }

/*
 * La tarjeta no tiene relleno propio: lo pone cada pieza.
 *
 * El resumen y el pie se anadieron sin el, asi que llegaban al borde
 * mientras la fecha y el titulo se quedaban a 22 px. Madison lo vio en
 * la captura del 5-10-2026. Aqui van los tres con el mismo margen, y el
 * ultimo con el aire de abajo.
 */
.fh-noticia__resumen { padding: 0 22px; }
.fh-noticia__pie     { padding: 0 22px; }
.fh-noticia > *:last-child { padding-bottom: 22px; }
.fh-noticia__titulo:last-child { padding-bottom: 24px; }

.fh-mapa { background: var(--fh-marino); padding: 24px 22px; justify-content: space-between; }
.fh-mapa__titulo { font-size: clamp(22px, 1.7vw, 30px); color: var(--fh-blanco); margin: 0 0 18px; }

/* --- movil --- */
@media (max-width: 900px) {
    .fh-rejilla { grid-template-columns: 1fr; }
    .fh-noticias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .fh-cifras { grid-template-columns: 1fr; gap: 28px; text-align: left; }
    .fh-noticias { grid-template-columns: 1fr; }
    .fh-ficha { grid-template-columns: 1fr; min-height: 0; }
    .fh-ficha__foto { aspect-ratio: 16 / 10; }
    .fh-seccion__cabecera { align-items: flex-start; }
    .fh-cta { flex-direction: column; align-items: flex-start; }
    /*
     * En movil el boton ocupa toda la fila, pero .fh-btn lleva
     * white-space: nowrap y el texto seguia en una sola linea: "Ver los
     * 19 inmuebles de Miguel Gonzalez" medía 436 px y sacaba la pagina
     * 92 px por la derecha a 360. Aqui se deja partir.
     */
    .fh-portada .fh-btn { width: 100%; max-width: 100%; text-align: center; white-space: normal; }
}

/* ------------------------------------------------------------------
   Elementor aplica su tipografia global a h1-h4, p y a, y gana en
   especificidad. Dentro de la portada reponemos lo nuestro.
   ------------------------------------------------------------------ */
.fh-portada h1, .fh-portada h2, .fh-portada h3, .fh-portada h4,
.fh-portada p, .fh-portada a {
    font-family: var(--fh-font-text);
    color: inherit;
}

/* El buscador trae su propia paleta: el reset de arriba no debe tocarlo. */
.fh-portada .fh-buscador__icono { color: var(--fh-arena) !important; }
.fh-portada .fh-buscador__input { color: var(--fh-marino) !important; }
.fh-portada .fh-buscador__nombre { color: var(--fh-marino) !important; }
.fh-portada .fh-buscador__num,
.fh-portada .fh-buscador__madre { color: #8B96A1 !important; }
.fh-portada .fh-buscador__nombre mark { color: var(--fh-arena) !important; }

.fh-portada .fh-display {
    font-family: var(--fh-font-display) !important;
    text-transform: uppercase !important;
    line-height: var(--fh-display-lh) !important;
    letter-spacing: var(--fh-display-ls) !important;
    font-weight: 700 !important;
}

.fh-portada .fh-eyebrow {
    font-size: var(--fh-eyebrow) !important;
    letter-spacing: .2em !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
}

.fh-portada .fh-hero__titulo   { font-size: var(--fh-h1) !important; color: var(--fh-arena) !important; }
.fh-portada .fh-hero__lead     { font-size: var(--fh-lead) !important; color: rgba(255,255,255,.82) !important; }
.fh-portada .fh-seccion__titulo{ font-size: var(--fh-h2) !important; }
.fh-seccion--marino .fh-seccion__titulo { color: var(--fh-blanco) !important; }
.fh-seccion--hueso  .fh-seccion__titulo { color: var(--fh-marino) !important; }
.fh-portada .fh-cifra__num     { font-size: clamp(44px, 5.4vw, 92px) !important; color: var(--fh-marino) !important; }
.fh-portada .fh-cifra__pie     { font-size: var(--fh-small) !important; color: var(--fh-grafito) !important; }
.fh-portada .fh-ficha__titulo  { font-size: clamp(20px, 1.5vw, 27px) !important; color: var(--fh-marino) !important; }
.fh-portada .fh-ficha__datos   { color: var(--fh-grafito) !important; font-size: var(--fh-small) !important; }
.fh-portada .fh-ficha__precio  { font-size: clamp(22px, 1.7vw, 30px) !important; color: var(--fh-marino) !important; }
.fh-portada .fh-cta__titulo    { font-size: var(--fh-h2) !important; color: var(--fh-arena) !important; }
.fh-portada .fh-cta__texto     { color: rgba(255,255,255,.82) !important; font-size: var(--fh-body) !important; }
.fh-portada .fh-mapa__titulo   { font-size: clamp(22px, 1.7vw, 30px) !important; color: var(--fh-blanco) !important; }
.fh-portada .fh-noticia__titulo{ font-size: 17px !important; color: var(--fh-marino) !important; font-weight: 500 !important;
                                 text-transform: none !important; line-height: 1.35 !important; }
.fh-portada .fh-enlace         { color: var(--fh-arena) !important; font-size: var(--fh-small) !important; }
.fh-portada .fh-ficha__marca   { color: var(--fh-hueso) !important; }
.fh-portada .fh-outline        { -webkit-text-fill-color: transparent !important; color: transparent !important; }
.fh-on-marino .fh-outline      { -webkit-text-stroke-color: var(--fh-arena) !important; }

.fh-portada h1, .fh-portada h2, .fh-portada h3, .fh-portada p { margin-top: 0; }

/* Los titulos que llegan de Inmovilla son descripciones largas; en condensada
   y mayusculas ocupan cinco lineas. Se limitan a dos y se cortan con puntos. */
.fh-portada .fh-ficha__titulo {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fh-portada .fh-noticia__titulo {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Con pocas noticias, auto-fit reparte el ancho entre las que haya
   en vez de dejar media fila vacia. */
.fh-noticias { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* Las cifras, centradas entre si. */
.fh-cifra { text-align: center; }
@media (max-width: 600px) { .fh-cifra { text-align: left; } }

/* ------------------------------------------------------------------
   Safari: red de seguridad.
   1. Si el navegador no entiende -webkit-text-stroke, el titular
      contorneado se quedaria invisible (color transparente sin trazo).
      Se repinta en solido.
   2. aspect-ratio no existe antes de Safari 15: se sustituye por la
      proporcion clasica con padding.
   ------------------------------------------------------------------ */
@supports not ((-webkit-text-stroke: 1px currentColor) or (text-stroke: 1px currentColor)) {
    .fh-portada .fh-outline {
        color: var(--fh-arena) !important;
        -webkit-text-fill-color: var(--fh-arena) !important;
    }
}

@supports not (aspect-ratio: 16 / 10) {
    .fh-noticia__foto { position: relative; height: 0; padding-top: 62.5%; }
    .fh-noticia__foto img { position: absolute; inset: 0; }
    @media (max-width: 600px) {
        .fh-ficha__foto { position: relative; height: 0; padding-top: 62.5%; }
        .fh-ficha__foto img { position: absolute; inset: 0; }
        .fh-ficha__marcas { z-index: 2; }
    }
}

/* Safari necesita el prefijo para el recorte de lineas. */
.fh-portada .fh-ficha__titulo,
.fh-portada .fh-noticia__titulo { display: -webkit-box; -webkit-box-orient: vertical; }

/* El lead del bloque de valoracion se pegaba al titular condensado,
   que tiene interlineado 0,94 y deja poco aire debajo. */
.fh-portada .fh-cta__titulo { margin-bottom: 20px !important; }
.fh-portada .fh-cta__texto { line-height: 1.6 !important; }
.fh-portada .fh-cta > div { max-width: 62ch; }

/* --- tarjeta del mapa con la silueta de Mallorca --- */
.fh-mapa { position: relative; overflow: hidden; padding: 26px 24px; min-height: 340px; }
.fh-mapa__texto { position: relative; z-index: 2; }
.fh-mapa .fh-enlace { position: relative; z-index: 2; }
.fh-isla {
    position: absolute; right: -14%; bottom: -6%;
    width: 118%; height: auto; opacity: .95; pointer-events: none;
}
.fh-isla__linea { fill: none; stroke: var(--fh-arena); stroke-width: 5; stroke-linejoin: round; opacity: .55; }
.fh-isla__pins circle { fill: var(--fh-arena); opacity: .9; }
.fh-isla__pins circle:first-child { fill: var(--fh-blanco); }
.fh-mapa:hover .fh-isla__linea { opacity: .8; }

/* Los titulares condensados llevan interlineado 0,94: dejan muy poco aire
   por debajo y el texto siguiente parece pegado. Se separa a mano. */
.fh-portada .fh-hero__titulo { margin-bottom: 26px !important; }
.fh-portada .fh-hero__lead { line-height: 1.55 !important; }
.fh-portada .fh-seccion__titulo { padding-bottom: 2px; }

/* --- tarjeta de zonas de la portada (antes era un contorno dibujado) --- */
.fh-mapa { display: flex; flex-direction: column; }
.fh-mapa__zonas {
    list-style: none; margin: clamp(18px, 2vw, 26px) 0 auto; padding: 0;
    display: grid; gap: 1px; background: rgba(192, 157, 117, .28);
    border-top: 1px solid rgba(192, 157, 117, .28);
    border-bottom: 1px solid rgba(192, 157, 117, .28);
}
.fh-mapa__zonas li { background: var(--fh-marino); }
.fh-mapa__zonas a {
    display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
    padding: 13px 4px; text-decoration: none;
    transition: padding-left .18s ease;
}
.fh-mapa__zonas a:hover { padding-left: 12px; }
.fh-mapa__zona {
    font-family: var(--fh-font-text); font-size: 16px; font-weight: 400;
    color: var(--fh-blanco); min-width: 0;
}
.fh-mapa__zonas a:hover .fh-mapa__zona { color: var(--fh-arena); }
.fh-mapa__num {
    font-family: var(--fh-font-display); font-size: 21px; line-height: 1;
    color: var(--fh-arena); flex: 0 0 auto;
}
.fh-mapa .fh-enlace { margin-top: clamp(18px, 2vw, 26px); }

/* --- la segunda foto asoma al pasar por encima (idea de Balearic Properties) --- */
.fh-ficha__foto { overflow: hidden; }
.fh-ficha__img, .fh-ficha__img2 {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.fh-ficha__img2 {
    position: absolute; inset: 0;
    opacity: 0; transition: opacity .45s ease;
}
.fh-ficha:hover .fh-ficha__img2,
.fh-ficha:focus-visible .fh-ficha__img2 { opacity: 1; }

/* Con el dedo no hay "pasar por encima": en tactil no se enseña. */
@media (hover: none) {
    .fh-ficha__img2 { display: none; }
}

/* Movil: las cifras de la portada, centradas como en el ordenador. */
@media (max-width: 600px) {
    .fh-portada .fh-cifra { text-align: center; }
}

/* =========================================================
   Las cifras sobre marino
   La regla de la portada las fija en marino porque alli van
   sobre hueso. En Nosotros el bloque es marino y el numero
   quedaba invisible: mismo color que el fondo.
   ========================================================= */
.fh-seccion--marino .fh-cifra__num { color: var(--fh-arena) !important; }
.fh-seccion--marino .fh-cifra__pie { color: rgba(255, 255, 255, .75) !important; }
.fh-cifra__num { opacity: 1 !important; }

/* --- dos secciones seguidas del mismo fondo ---
   Los casos de exito van debajo de las recien incorporadas y las dos
   son de hueso: sin nada en medio se leian como un solo bloque largo
   de tarjetas. Se separan con el mismo filete de las cabeceras
   (--fh-rule), metido en el ancho de la pagina, y sin cambiar el aire:
   el relleno de arriba pasa de la seccion al interior.
   Madison, 15-10-2026. */
.fh-seccion--tras-igual { padding-top: 0; }
.fh-seccion--tras-igual > .fh-ancho { border-top: var(--fh-rule);
    padding-top: clamp(56px, 7vw, 128px); }

/* ---- fh-resultados ---- */
/* Film Houses - pagina de resultados de busqueda. */

/* =========================================================
   Cabecera
   El antetitulo y el titular arrancan en la misma vertical.
   Las mayusculas de la tipografia de display llevan algo de
   aire a su izquierda, asi que sin corregirlo el titular se
   ve metido hacia dentro respecto al antetitulo.
   ========================================================= */
.fh-res-cab { padding-top: clamp(30px, 3.4vw, 58px); padding-bottom: 0; }
.fh-resultados .fh-res-cab .fh-eyebrow { margin: 0; }
.fh-resultados .fh-res-cab .fh-res-cab__titulo {
    font-size: clamp(34px, 4.4vw, 76px);
    text-transform: uppercase;
    color: var(--fh-blanco);           /* Elementor pinta los h1 con .elementor-kit-9 h1 */
    margin: 8px 0 0;
    margin-left: -0.035em;
}

/* =========================================================
   Barra de afinado
   Una rejilla, no una fila elastica: todos los filtros miden
   exactamente lo mismo y los huecos entre ellos son iguales.
   El numero de columnas lo pone el PHP en --fh-res-cols, que
   cuenta un filtro de mas porque la zona ocupa el doble.
   ========================================================= */
.fh-res-cuerpo { padding-top: clamp(26px, 3vw, 46px); }

.fh-res-filtros {
    display: grid;
    grid-template-columns: repeat(var(--fh-res-cols, 7), minmax(0, 1fr));
    gap: clamp(14px, 1.2vw, 20px);
    align-items: end;
    margin: 0 0 clamp(30px, 3.2vw, 48px);
    padding-bottom: clamp(26px, 2.8vw, 40px);
    border-bottom: 1px solid var(--fh-arena-30, rgba(192, 157, 117, .3));
}
.fh-filtro { grid-column: span 1; display: grid; gap: 9px; min-width: 0; align-content: start; }
.fh-filtro--zona { grid-column: span 2; }
/*
 * Tres columnas y dos filas, a cualquier ancho (punto 93).
 *
 * Por encima de 1441 la rejilla abria los siete filtros en una sola fila
 * y cada columna se quedaba en 128 px: en aleman no cabe ni la etiqueta
 * -"Sortieren nach" pide 148 y se partia en dos lineas- ni el valor
 * -"Kein Minimum" pide 158-. Con tres columnas, a 1920 cada una mide 424
 * y cabe todo en los tres idiomas, con las etiquetas en una linea.
 */
.fh-resultados .fh-res-filtros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fh-resultados .fh-res-filtros .fh-filtro--zona { grid-column: span 3; }

/* La etiqueta arranca donde arranca el texto de su campo, no
   donde arranca la pastilla, que va 20 px mas afuera. */
.fh-res-filtros .fh-filtro__et {
    font-family: var(--fh-font-text); font-size: 11px; font-weight: 600;
    letter-spacing: .16em; text-transform: uppercase;
    color: var(--fh-arena);
    padding-left: 20px;
    /* La de Zona heredaba el interlineado del buscador y salia el doble de
       alta, asi que su filtro quedaba 12 px mas bajo que los demas. */
    line-height: 1;
    display: block;
}

/* Aplicar: siempre en su propia linea, alineado con el primer filtro. */
.fh-res-filtros__ok {
    grid-column: 1 / -1;
    justify-self: start;
    height: 46px;
    padding: 0 34px !important;
    margin-top: 4px;
}

/* --- la pastilla del precio y la de superficie: dos campos dentro --- */
.fh-res-precio {
    display: flex; align-items: center; justify-content: center;
    background: #fff; border: 1px solid var(--fh-piedra);
    border-radius: var(--fh-radius-pill);
    padding: 0 10px;
    height: 46px;
}
.fh-resultados .fh-res-precio input[type="text"] {
    width: 100% !important; min-width: 0;
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    padding: 0 10px !important; height: 44px !important;
    font-family: var(--fh-font-text) !important; font-size: 15px !important; font-weight: 400 !important;
    color: var(--fh-marino) !important; letter-spacing: 0 !important; text-align: center;
}
.fh-resultados .fh-res-precio input[type="text"]::placeholder {
    color: var(--fh-grafito) !important; font-weight: 300 !important; opacity: .7;
}
.fh-resultados .fh-res-precio input[type="text"]:focus { outline: 0 !important; }
.fh-res-precio:focus-within { border-color: var(--fh-arena); box-shadow: 0 0 0 1px var(--fh-arena); }
.fh-res-precio__raya { width: 12px; height: 1px; background: var(--fh-piedra); flex: 0 0 auto; }

/* --- desplegables y caja de zona: el mismo alto y el mismo borde --- */
.fh-resultados .fh-desp__boton {
    background: #fff !important;
    border: 1px solid var(--fh-piedra) !important;
    border-radius: var(--fh-radius-pill) !important;
    height: 46px;
    padding: 0 20px !important;
    font-size: 15px !important; font-weight: 400 !important;
}
.fh-resultados .fh-desp__lista { border-radius: 20px; }
.fh-resultados .fh-desp__lista li { white-space: nowrap; }

/* Nada de texto cortado: ni puntos suspensivos ni recorte.
   Si algo no cabe, se acorta el texto en el PHP, no aqui. */
.fh-resultados .fh-desp__boton > span {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

/* --- buscador reducido, para la fila de filtros --- */
.fh-buscador--compacto { background: transparent !important; padding: 0 !important; max-width: none; }
.fh-buscador--compacto .fh-buscador__pestanas,
.fh-buscador--compacto .fh-buscador__tipos,
.fh-buscador--compacto .fh-buscador__boton,
.fh-buscador--compacto .fh-buscador__titular { display: none !important; }
.fh-resultados .fh-buscador--compacto .fh-buscador__campo {
    background: #fff !important;
    border: 1px solid var(--fh-piedra) !important;
    border-radius: var(--fh-radius-pill) !important;
    height: 46px;
    padding: 0 18px !important;
    min-height: 0;
}
.fh-resultados .fh-buscador--compacto .fh-buscador__input {
    padding: 0 8px !important;
    font-size: 15px !important;
    min-width: 0;
}
.fh-buscador--compacto .fh-buscador__icono svg { width: 17px; height: 17px; }
.fh-buscador--compacto .fh-buscador__lista { border-radius: 20px; }

/* --- la rejilla se parte antes de estrechar de mas --- */
@media (max-width: 900px) {
    .fh-resultados .fh-res-filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fh-resultados .fh-res-filtros .fh-filtro--zona,
    .fh-resultados .fh-res-filtros .fh-filtro--precio { grid-column: 1 / -1; }
    .fh-resultados .fh-res-filtros__ok { width: 100%; justify-self: stretch; }
}
@media (max-width: 560px) {
    .fh-resultados .fh-res-filtros { grid-template-columns: minmax(0, 1fr); }
    .fh-resultados .fh-res-filtros .fh-filtro { grid-column: 1 / -1; }
}

/* =========================================================
   Los inmuebles: la misma tarjeta de la portada, sin recortes
   ========================================================= */
.fh-res-rejilla { gap: clamp(20px, 2.2vw, 28px); }

.fh-resultados .fh-ficha__titulo {
    font-size: clamp(20px, 1.5vw, 27px) !important;
    color: var(--fh-marino) !important;
    line-height: .96 !important;
    margin-bottom: 10px !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* La zona y la referencia se cortaban en una linea. Caben en dos. */
.fh-resultados .fh-ficha__sitio {
    color: var(--fh-arena) !important;
    font-size: 12px !important;
    letter-spacing: .14em !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    margin-bottom: 8px !important;
}
.fh-resultados .fh-ficha__datos  { color: var(--fh-grafito) !important; font-size: var(--fh-small) !important; }
.fh-resultados .fh-ficha__precio { font-size: clamp(22px, 1.7vw, 30px) !important; color: var(--fh-marino) !important; margin-top: 18px !important; }
.fh-resultados .fh-ficha__marca  { color: var(--fh-hueso) !important; }
.fh-resultados .fh-ficha__foto   { min-height: 0; }
.fh-resultados .fh-ficha { min-height: 268px; }

@media (max-width: 1024px) {
    .fh-res-rejilla { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   Cuerpo sobre marino: las tarjetas blancas necesitan el azul
   de la casa detras para tener fuerza.
   ========================================================= */
.fh-resultados .fh-paginas__n { color: var(--fh-blanco); }
.fh-resultados .fh-paginas__n.is-actual { background: var(--fh-arena); color: var(--fh-marino); }
.fh-resultados .fh-paginas__salto { color: var(--fh-blanco); }
.fh-resultados .fh-res-vacio h2 { color: var(--fh-blanco) !important; }
.fh-resultados .fh-res-vacio .fh-nota { color: rgba(255, 255, 255, .78); }

/* --- paginacion --- */
.fh-paginas {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 8px; margin-top: clamp(36px, 4vw, 64px);
}
.fh-paginas__n, .fh-paginas__salto {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; height: 44px; padding: 0 16px;
    border-radius: var(--fh-radius-pill); text-decoration: none;
    font-family: var(--fh-font-text); font-size: 14px; font-weight: 500;
    color: var(--fh-marino); border: 1.5px solid transparent;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.fh-paginas__n:hover, .fh-paginas__salto:hover { border-color: var(--fh-arena); color: var(--fh-marino); }
.fh-paginas__n.is-actual { background: var(--fh-marino); color: var(--fh-blanco); }
.fh-paginas__salto { letter-spacing: .06em; border-color: var(--fh-arena-55); }
.fh-paginas__hueco { color: var(--fh-grafito); padding: 0 4px; }

/* --- sin resultados --- */
.fh-res-vacio { text-align: center; padding: clamp(40px, 6vw, 96px) 0; max-width: 56ch; margin: 0 auto; }
.fh-resultados .fh-res-vacio h2 { font-size: clamp(28px, 3.4vw, 52px); text-transform: uppercase; color: var(--fh-marino); margin: 0 0 14px; }
.fh-res-vacio__botones { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 26px; }

/* --- movil --- */
@media (max-width: 680px) {
    .fh-res-cab { padding-top: 26px; }
    .fh-res-cuerpo { padding-top: 24px; }
    .fh-paginas__salto { display: none; }
}

/* El valor elegido, con la misma letra que "Cualquiera" (punto 93).
   Iba en versales y los otros dos filtros no: "SIN MINIMO" y "DESTACADAS"
   al lado de "Cualquiera". La etiqueta de encima si va en versales; el
   valor es contenido, no etiqueta. */
.fh-resultados .fh-desp__boton {
    text-transform: none;
    letter-spacing: normal;
}

/* El boton, con el mismo radio que los campos (punto 93).
   .fh-btn pone la pastilla, pero .elementor-kit-9 button la pisa con 4px
   y gana por especificidad: una clase mas y un elemento. Con la clase de
   la plantilla delante, gana la nuestra. */
.fh-resultados .fh-res-filtros__ok,
.fh-nuevo button.fh-btn {
    border-radius: var(--fh-radius-pill) !important;
}

/* El desplegable de tipos.
   Va con <details>, no con <select>, asi que no le llegaba la pastilla de
   .fh-desp__boton: salia sin recuadro blanco y descuadrado. Aqui se le da
   el mismo aspecto y el mismo alto que a los demas filtros. */
.fh-filtro--tipos { position: relative; min-width: 0; }
.fh-tipos { position: relative; }
.fh-resultados .fh-tipos > summary {
    list-style: none; cursor: pointer;
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    background: #fff; border: 1px solid var(--fh-piedra);
    border-radius: var(--fh-radius-pill);
    height: 46px; padding: 0 20px;
    font-family: var(--fh-font-text); font-size: 15px; font-weight: 400;
    color: var(--fh-marino);
}
.fh-tipos > summary::-webkit-details-marker { display: none; }
.fh-resultados .fh-tipos > summary::after {
    content: ""; width: 8px; height: 8px; flex: none;
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px); opacity: .55;
}
.fh-resultados .fh-tipos[open] > summary::after { transform: rotate(-135deg) translateY(2px); }
.fh-resultados .fh-tipos > summary:hover { border-color: var(--fh-arena); }
.fh-tipos > summary:focus-visible { outline: 2px solid var(--fh-arena); outline-offset: 3px; }
.fh-tipos__rotulo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.fh-tipos__lista {
    position: absolute; z-index: 30; left: 0; top: calc(100% + 8px);
    min-width: 236px; margin: 0; padding: 10px 6px; border: 0;
    background: #fff; border-radius: 20px;
    box-shadow: 0 18px 40px rgba(39, 55, 67, .18);
}
.fh-tipos__op {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 12px; border-radius: 10px; cursor: pointer;
    font-family: var(--fh-font-text); font-size: 15px; color: var(--fh-marino);
    white-space: nowrap;
}
.fh-tipos__op:hover { background: var(--fh-hueso, rgba(39, 55, 67, .06)); }
.fh-tipos__op input { width: 17px; height: 17px; flex: none; accent-color: var(--fh-arena); }
.fh-tipos__op:focus-within { outline: 2px solid var(--fh-arena); outline-offset: -2px; }

@media (max-width: 760px) {
    .fh-tipos__lista { position: static; min-width: 0; margin-top: 10px; box-shadow: none;
                       border: 1px solid var(--fh-piedra); }
}

/* Punto 98: el aviso de referencia no encontrada, encima de los
   resultados normales. */
.fh-aviso-ref {
    display: block;
    margin: 0 0 clamp(18px, 2vw, 28px);
    padding: 14px 20px;
    border-left: 3px solid var(--fh-arena);
    border-radius: 0 4px 4px 0;
    background: rgba(192, 157, 117, .12);
    color: var(--fh-blanco);
    font-family: var(--fh-font-text);
    font-size: 15px; line-height: 1.5;
}

/* Punto 104: la barra de ordenar, encima de la lista (5-10-2026). */
.fh-res-barra {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 1.1rem;
}
.fh-res-barra__cuenta { margin: 0; font-size: .95rem; opacity: .8; }
.fh-res-orden { display: flex; align-items: center; gap: .5rem; }
.fh-res-orden__rotulo { font-size: .9rem; opacity: .75; white-space: nowrap; }
.fh-res-orden__select {
    /* El mismo redondeado, el mismo borde y el mismo alto que los
       desplegables del buscador (.fh-desp__boton). */
    height: 46px;
    padding: 0 44px 0 20px;
    border: 1px solid var(--fh-piedra);
    border-radius: var(--fh-radius-pill);
    background: #fff;
    color: var(--fh-grafito);
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23444a4f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.8 6 6.4l5-4.6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 12px 8px;
}
.fh-res-orden__select:focus-visible { outline: 2px solid var(--fh-arena); outline-offset: 2px; }
@media (max-width: 560px) {
    .fh-res-barra { align-items: stretch; }
    .fh-res-orden { width: 100%; justify-content: space-between; }
    .fh-res-orden__select { flex: 1 1 auto; min-width: 0; }
}

/* ---------------------------------------------------------------
   Zona sin inmuebles (5-10-2026)
   --------------------------------------------------------------- */
.fh-zvacia { display: grid; gap: 1.25rem; }
.fh-zvacia__titulo { margin: 0; font-size: clamp(1.5rem, 3.4vw, 2.1rem); line-height: 1.15; }
.fh-zvacia__entrada { margin: 0; max-width: 62ch; opacity: .85; }
.fh-zvacia__fichas { margin: .5rem 0 0; }
.fh-zvacia__todo { margin: 0; }

/*
 * El bloque vive dentro de una seccion oscura, asi que la caja clara
 * tiene que llevar su propio color de texto: heredando el de la seccion
 * salia blanco sobre hueso y no se leia nada.
 */
.fh-zvacia__aviso {
    margin-top: .5rem;
    padding: 1.4rem 1.5rem;
    border-radius: 14px;
    background: var(--fh-hueso-2, #f4f1ec);
    border: 1px solid rgba(0, 0, 0, .07);
    color: var(--fh-marino, #15293c);
}
.fh-zvacia__aviso a { color: inherit; }
.fh-zvacia__aviso .fh-btn-primary { color: var(--fh-marino, #15293c); }
/*
 * El titulo de la caja, con la tipografia de los titulares.
 *
 * Dentro de .fh-portada los h3 heredan la de texto, asi que esta linea
 * salia en Montserrat mientras el titular de al lado iba en la
 * condensada. Madison lo vio en la captura del 5-10-2026.
 */
.fh-zvacia__aviso-titulo {
    margin: 0 0 .4rem;
    font-family: var(--fh-font-display) !important;
    text-transform: uppercase;
    letter-spacing: var(--fh-display-ls);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.15;
}

/* Y el enlace al municipio, con aspecto de boton. */
.fh-zvacia__boton { margin-top: .4rem; }
.fh-zvacia__aviso-texto  { margin: 0 0 .9rem; max-width: 60ch; opacity: .85; font-size: .95rem; }

.fh-zvacia__form { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.fh-zvacia__campo { flex: 1 1 18rem; min-width: 0; }
.fh-zvacia__campo input {
    width: 100%;
    padding: .7rem .9rem;
    border: 1px solid rgba(0, 0, 0, .18);
    border-radius: 9px;
    background: #fff;
    font: inherit;
}
.fh-zvacia__priv { flex: 1 1 100%; display: flex; gap: .5rem; align-items: flex-start; font-size: .85rem; opacity: .8; }
.fh-zvacia__priv input { margin-top: .22rem; }
.fh-zvacia__ok    { margin: 0; font-weight: 600; }
.fh-zvacia__error { margin: 0 0 .6rem; color: #a3211b; }

@media (max-width: 640px) {
    .fh-zvacia__aviso { padding: 1.1rem 1rem; }
    .fh-zvacia__form .fh-btn { width: 100%; }
}

/* El titular del bloque, en el color de la seccion: .fh-display trae el suyo. */
.fh-on-marino .fh-zvacia__titulo,
.fh-on-marino .fh-zvacia__entrada { color: var(--fh-hueso, #f7f4ef); }
.fh-on-marino .fh-zvacia__todo .fh-btn-linea { color: var(--fh-hueso, #f7f4ef); border-color: currentColor; }

/*
 * Lo que es para quien no ve la pantalla, que no se vea.
 *
 * El <legend> del grupo de tipos lleva la clase desde siempre, pero la
 * clase no existia en ninguna hoja: en el movil salia la palabra "Tipo"
 * otra vez, debajo del desplegable y medio tapada. Madison, 15-10-2026.
 *
 * Sigue leyendose en un lector de pantalla: no se usa display:none.
 */
.fh-visualmente-oculto {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* ---- fh-custom ---- */
/* Film Houses - ajustes de estilo propios. Cargado desde mu-plugins/fh-custom-style.php */

/* --- Simbolo de moneda ---------------------------------------------------
   Tamano: un punto por debajo de la cifra (0.8), en vez del salto brusco que habia.
   Separacion: en español, aleman y sueco el simbolo va DETRAS y la norma
   tipografica pide un espacio -> "395.000 €".
   En ingles va DELANTE y se escribe pegado -> "€395,000", por eso se excluye [lang^="en"]. */
.inmovilla-property-price .currency,
.inmovilla-property-outlet-price .currency {
    font-size: 0.8em !important;
}

html:not([lang^="en"]) .inmovilla-property-price .currency,
html:not([lang^="en"]) .inmovilla-property-outlet-price .currency {
    margin-left: 0.16em;
}

/* ==================================================================
   PRUEBA: portada con la identidad del dossier (pagina 4676).
   Redefinimos aqui las variables globales de Elementor SOLO en esa
   pagina, asi la cabecera, el pie y todo lo que use estilos globales
   acompañan sin tocar el kit. Se borra entero cuando decidamos.
   ================================================================== */
body.fh-nuevo, body.page-id-4676 {
    /* color */
    --e-global-color-primary:   #273743;
    --e-global-color-secondary: #273743;
    --e-global-color-text:      #6C665E;
    --e-global-color-accent:    #C09D75;
    --e-global-color-0096c1d:   #F4EDE4;   /* White  */
    --e-global-color-1ec5c8b:   #F4EDE480; /* White 50% */
    --e-global-color-bb19890:   #DED5C9;   /* Social Border */
    --e-global-color-2efefc5:   #EFE7DC;   /* Light */
    --e-global-color-ebe7544:   #EFE7DC8A; /* Light 54% */
    --e-global-color-7138c24:   #9C9287;
    --e-global-color-f58383c:   #9C9287;   /* CTA Color */
    --e-global-color-6ee02e6:   #9C9287;
    --e-global-color-977724b:   #9C9287;
    --e-global-color-c653af8:   #6C665E;
    --e-global-color-cc69ced:   #6C665E3D; /* List Divider */
    --e-global-color-fd8037b:   #F4EDE4;
    --e-global-color-93afce2:   #C09D75;   /* Corporativo */

    /* tipografia: titulares en condensada, el resto en Montserrat */
    --e-global-typography-primary-font-family:   'Archivo Narrow';
    --e-global-typography-secondary-font-family: 'Archivo Narrow';
    --e-global-typography-ed622a6-font-family:   'Archivo Narrow';
    --e-global-typography-20816d1-font-family:   'Archivo Narrow';
    --e-global-typography-60a95bd-font-family:   'Archivo Narrow';
    --e-global-typography-cae0dcc-font-family:   'Archivo Narrow';
    --e-global-typography-db3baa9-font-family:   'Archivo Narrow';
    --e-global-typography-cc00b78-font-family:   'Archivo Narrow';
    --e-global-typography-11076cb-font-family:   'Archivo Narrow';

    --e-global-typography-text-font-family:      'Montserrat';
    --e-global-typography-accent-font-family:    'Montserrat';
    --e-global-typography-647bb21-font-family:   'Montserrat';
    --e-global-typography-d52411a-font-family:   'Montserrat';
    --e-global-typography-395c16d-font-family:   'Montserrat';
    --e-global-typography-b355f08-font-family:   'Montserrat';
    --e-global-typography-4933c2e-font-family:   'Montserrat';
}

/* Titulares de SECCION: condensada en mayusculas. Pesan mucho mas que la
   serif al mismo cuerpo, asi que se rebajan y se aprieta el interlineado.
   Se aplica solo al widget de titulo de Elementor, no a los titulos de las
   tarjetas de inmueble ni de noticia, que en mayusculas se apelmazan. */
body.page-id-4676 .elementor-widget-heading > .elementor-widget-container > .elementor-heading-title {
    font-family: 'Archivo Narrow', 'Helvetica Neue', sans-serif;
    text-transform: uppercase;
    letter-spacing: .005em;
    line-height: 1.02;
}

body.page-id-4676 .elementor-widget-heading h1.elementor-heading-title { font-size: 46px; }
body.page-id-4676 .elementor-widget-heading h2.elementor-heading-title { font-size: 38px; }
body.page-id-4676 .elementor-widget-heading h3.elementor-heading-title { font-size: 30px; }

/* Titulos dentro de tarjetas y bucles: Montserrat, tal y como se escriben. */
body.page-id-4676 .e-loop-item .elementor-heading-title,
body.page-id-4676 .e-loop-item h1,
body.page-id-4676 .e-loop-item h2,
body.page-id-4676 .e-loop-item h3,
body.page-id-4676 .inmovilla-property-listing h1,
body.page-id-4676 .inmovilla-property-listing h2,
body.page-id-4676 .inmovilla-property-listing h3 {
    font-family: 'Montserrat', sans-serif !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    font-weight: 500;
}

body.page-id-4676,
body.page-id-4676 p,
body.page-id-4676 li,
body.page-id-4676 a,
body.page-id-4676 button,
body.page-id-4676 input,
body.page-id-4676 .elementor-widget-text-editor {
    font-family: 'Montserrat', sans-serif;
}

/* Los antetitulos ("INMUEBLES DESTACADOS") se quedan en Montserrat:
   en condensada competirian con el titular que llevan debajo. */
body.page-id-4676 .elementor-element-3fa27c32 .elementor-heading-title,
body.page-id-4676 .elementor-element-25f70eb .elementor-heading-title,
body.page-id-4676 .elementor-element-f7a4ad5 .elementor-heading-title,
body.page-id-4676 .elementor-element-238998a .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: .22em !important;
    font-size: 11px !important;
}

@media (max-width: 767px) {
    body.page-id-4676 .elementor-widget-heading h1.elementor-heading-title { font-size: 30px; }
    body.page-id-4676 .elementor-widget-heading h2.elementor-heading-title { font-size: 26px; }
    body.page-id-4676 .elementor-widget-heading h3.elementor-heading-title { font-size: 22px; }
}

/* ==================================================================
   Etiquetas de inmueble (Exclusiva / Obra nueva).
   El widget Post Info de Elementor las separa con una coma de texto
   suelta, que se ve entre las dos pildoras y no tiene ajuste para
   quitarla. Ocultamos el contenido del contenedor y volvemos a
   mostrar cada etiqueta: la coma deja de verse y el tamano de letra
   de las pildoras no se toca.
   ================================================================== */
.elementor-post-info__terms-list {
    visibility: hidden;
}

.elementor-post-info__terms-list .elementor-post-info__terms-list-item {
    visibility: visible;
}

/* ------------------------------------------------------------------
   PRUEBA (pagina 4676): el pie lleva dos colores escritos a mano que
   no son de marca — la banda del newsletter en #FFF7F1 y el boton
   Subscribete en #011640. Aqui se mapean a hueso y marino para que
   la prueba se vea coherente. En la web real siguen como estaban.
   ------------------------------------------------------------------ */
body.fh-nuevo .elementor-element-5ed90b3,
body.fh-nuevo .elementor-element-5ed69468 {
    background-color: var(--fh-hueso, #F4EDE4) !important;
}

body.fh-nuevo .elementor-location-footer .elementor-button,
body.fh-nuevo .elementor-location-footer button[type="submit"] {
    background-color: var(--fh-marino, #273743) !important;
    border-color: var(--fh-marino, #273743) !important;
    color: #F4EDE4 !important;
    border-radius: 999px !important;
}

/*
 * Solo para lectores de pantalla.
 *
 * Se usa en encabezados que hacen falta para que la jerarquia sea correcta
 * pero que en pantalla sobran, porque el dato ya esta a la vista. No se usa
 * display:none, que los quitaria tambien del arbol de accesibilidad.
 */
.fh-solo-lectores {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* El destino del enlace de salto no debe dibujar contorno al recibir foco
   por programa, pero si cuando se llega con el teclado. */
#contenido:focus { outline: none; }
#contenido:focus-visible { outline: 2px solid var(--fh-arena); outline-offset: 4px; }

/* =========================================================
   Contraste
   Medido con axe sobre la portada: el antetitulo en arena
   cumple sobre marino (4,86) pero no sobre hueso (2,17) ni
   sobre las tarjetas blancas (2,52). El manual ya prevé este
   caso ("arena sobre marino solo cumple en texto >=24px") y
   da grafito como color de texto secundario: 6,55 sobre
   hueso. Arena se queda donde sí cumple, que es la mayoría
   de la web, porque el 60 % es marino.
   ========================================================= */
/* Se da la vuelta a la regla: grafito por defecto y arena solo donde
   cumple, que es sobre marino. Enumerar los fondos claros uno a uno dejaba
   fuera sitios como el antetitulo del boletin en el pie. */
/* !important porque filmhouses-brand-tokens.css, que es el fichero tal cual
   lo entrego el estudio, fija ahi el color arena y se carga despues. No se
   toca ese fichero: es la referencia de marca. */
.fh-eyebrow,
.fh-portada .fh-eyebrow {
    color: var(--fh-grafito) !important;
}
.fh-portada .fh-seccion--marino .fh-eyebrow,
.fh-portada .fh-on-marino .fh-eyebrow,
.fh-seccion--marino .fh-eyebrow,
.fh-on-marino .fh-eyebrow,
.fh-hero .fh-eyebrow,
.fh-res-cab .fh-eyebrow {
    color: var(--fh-arena) !important;
}
/* Salvo dentro de una tarjeta blanca, aunque la seccion sea marino. */
.fh-seccion--marino .fh-ficha .fh-eyebrow,
.fh-on-marino .fh-ficha .fh-eyebrow,
.fh-ficha__sitio {
    color: var(--fh-grafito) !important;
}

/* Las pestañas inactivas del buscador iban en un gris suelto
   (#8a9099, 3,81 sobre marino). Blanco al 62 % da 5,79 y no
   añade ningún color que no esté en el manual. */
.fh-buscador__pestana {
    color: rgba(255, 255, 255, .62);
}
.fh-buscador__pestana[aria-selected="true"],
.fh-buscador__pestana.is-activa {
    color: var(--fh-blanco);
}

/* Los cuatro casos que quedaban, medidos con axe:
   - "Ver todas" en arena sobre hueso: 2,17. Pasa a marino, y arena se
     reserva para el hover, donde el subrayado ya marca el estado.
   - El antetitulo del bloque de zonas va sobre marino aunque su seccion no
     lleve la clase: con la regla general se quedaba en grafito, 1,61.
   - El antetitulo del boletin, en el pie, sobre hueso. */
.fh-seccion--hueso .fh-enlace,
.fh-seccion--arena .fh-enlace,
.fh-on-claro .fh-enlace,
.fh-seccion--hueso .fh-seccion__cabecera .fh-enlace {
    color: var(--fh-marino) !important;
}
.fh-seccion--hueso .fh-enlace:hover,
.fh-seccion--hueso .fh-enlace:focus-visible,
.fh-on-claro .fh-enlace:hover,
.fh-on-claro .fh-enlace:focus-visible {
    color: var(--fh-arena) !important;
}

/*
 * El teclado hace lo mismo que el raton, y el cambio entra suave.
 *
 * Pep, 20-10-2026. El dorado al pasar el raton ya estaba puesto; lo que
 * faltaba eran dos cosas. Una, que al tabular estos enlaces se quedaban
 * en su color y solo salia el anillo por defecto del navegador. Y dos,
 * que el cambio era seco: transicion 0s. Las tarjetas de agente ya
 * usaban .2s, asi que es el ritmo de la casa y no un numero nuevo.
 *
 * El anillo de foco del navegador NO se quita: el color es un aviso de
 * mas, no el unico.
 */
.fh-enlace,
.fh-oficina__tel a,
.fh-cab__tel,
.fh-pie__sitio,
.fh-pie__sitio a {
    transition: color .2s ease;
}

/*
 * La linea dorada fina, siempre, como la del telefono.
 *
 * Pep, 20-10-2026. El telefono del bloque de oficinas ya llevaba
 * border-bottom dorado permanente, asi que se reconoce como enlace sin
 * depender del color. "Como llegar" y sus hermanos no la llevaban, y su
 * unico aviso al pasar el raton era un dorado de 2,17 de contraste.
 *
 * Va en los enlaces de este estilo -los de la flecha- y no en los
 * telefonos de la cabecera y del pie, que van en blanco sobre marino y
 * son otro contexto.
 */
.fh-enlace {
    border-bottom: 1px solid var(--fh-arena);
    padding-bottom: 2px;
}

.fh-mapa__texto .fh-eyebrow {
    color: var(--fh-arena) !important;
}

.fh-pie .fh-pie__boletin-fila .fh-eyebrow,
.fh-pie .fh-pie__boletin .fh-eyebrow {
    /* Un nivel mas de especificidad que .fh-pie .fh-eyebrow, que pinta de
       arena todo el pie. La franja del boletin va sobre hueso, no sobre
       marino, y ahi arena se queda en 2,17. */
    color: var(--fh-grafito) !important;
}

/* Los enlaces dentro de tarjetas blancas: arena sobre blanco da 2,52.
   Marino sobre blanco da 12,3, y arena se guarda para el hover. */
.fh-agente-tarjeta .fh-enlace,
.fh-ficha .fh-enlace,
.fh-vendido .fh-enlace,
.fh-tarjeta .fh-enlace {
    color: var(--fh-marino) !important;
}
.fh-agente-tarjeta a:hover .fh-enlace,
.fh-agente-tarjeta a:focus-visible .fh-enlace,
.fh-agente-tarjeta .fh-enlace:hover,
.fh-agente-tarjeta .fh-enlace:focus-visible,
.fh-ficha .fh-enlace:hover,
.fh-ficha .fh-enlace:focus-visible,
.fh-vendido .fh-enlace:hover,
.fh-vendido .fh-enlace:focus-visible {
    color: var(--fh-arena) !important;
}

/*
 * Las tarjetas del equipo, sin la linea dorada.
 *
 * Pep, 21-10-2026: le gustaba mas sin ella. Y encaja: en la tarjeta,
 * "Ver su perfil" es un <span>, no un enlace -quien enlaza es la
 * tarjeta entera-, asi que la linea senalaba como enlace algo que no
 * lo es. En "Como llegar" y en los demas enlaces con flecha la linea
 * se queda como esta: alli si son enlaces de verdad.
 */
.fh-agente-tarjeta__ver {
    border-bottom: 0;
    padding-bottom: 0;
}

/* La ficha: sus antetitulos y el "Leer más" van sobre hueso y blanco, donde
   arena se queda en 2,17 y 2,52. Misma regla que en el resto de la web. */
.fh-ficha-pag .fh-eyebrow,
.fh-ficha-pag .fh-plegable__boton,
.fh-ficha-pag .fh-ficha__sitio {
    color: var(--fh-grafito) !important;
}
.fh-ficha-pag .fh-seccion--marino .fh-eyebrow,
.fh-ficha-pag .fh-on-marino .fh-eyebrow {
    color: var(--fh-arena) !important;
}
.fh-ficha-pag .fh-plegable__boton:hover {
    color: var(--fh-marino) !important;
}

/* El aviso del certificado energetico ("Certificado en tramites", "Exento")
   deja su caja dibujada aunque no haya nada que decir, y se ve un rectangulo
   gris vacio bajo el titulo. Si esta vacia, no se pinta. */
.inmovilla-energy-status-message:empty { display: none !important; }

/* =========================================================
   Dos arreglos de las plantillas nuevas
   ========================================================= */

/* El titular de display perdia contra ".elementor-kit-9 h1", que es mas
   especifica, y los H1 salian en Archivo Narrow: mas fina y no es la
   tipografia del manual. En la portada no pasaba porque alli hay una regla
   propia con mas peso. Esta cubre las ocho plantillas. */
body .fh-display {
    font-family: var(--fh-font-display) !important;
}

/* Hueso sobre arena da 2,17. Marino sobre arena da 4,86 y es la combinacion
   que ya usa el manual para el estado de paso del ratón. */
.fh-btn-primary,
.fh-res-filtros__ok,
.fh-buscador__boton {
    color: var(--fh-marino) !important;
}

/* Barlow Condensed siempre, en todos los dispositivos.
   Antes la lista empezaba por Helvetica Neue Condensed Bold: en un Mac o un
   iPhone salia esa y en Android salia Barlow, asi que el titular no se veia
   igual en dos telefonos. Decision de Miguel del 27-09-2026: manda Barlow,
   que es la sustituta libre que designa el propio manual. */
body.fh-nuevo {
    --fh-font-display: "Barlow Condensed", "Barlow Condensed respaldo",
                       "Helvetica Neue Condensed Bold",
                       HelveticaNeue-CondensedBold, Impact, sans-serif;
}

/* ------------------------------------------------------------------
   Los formularios de toda la web (punto 76, 5-10-2026)
   ------------------------------------------------------------------
   Estaba en fh-ficha.css, que solo se carga en las fichas: el
   formulario de Contacto salia sin estilo ninguno. Aqui lo ven todos:
   la ficha, Contacto, Vender, Unete y el aviso de zona vacia.
*/

/* --- formulario (punto 76, 5-10-2026) ---
   Madison: "campos mas pequenos y finos, mas aire entre ellos, la
   etiqueta separada del campo, todo en una columna y el boton debajo, no
   al lado". Vale para todos los formularios de la web: la ficha, el
   contacto, vender, unete y el aviso de zona vacia salen todos de aqui. */
.fh-form { display: grid; gap: 22px; }
.fh-form label {
    display: grid;
    gap: 10px;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.72);
}

/* Todo en una columna: antes esto ponia dos campos uno al lado del otro. */
.fh-form__par { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }

.fh-form input, .fh-form textarea, .fh-form select {
    width: 100%; background: #fff; border: 0; border-radius: 10px;
    padding: 11px 14px; font-size: 15px; color: var(--fh-marino); font-weight: 300;
    line-height: 1.4;
}
.fh-form textarea { min-height: 7.5em; }
.fh-form input:focus, .fh-form textarea:focus, .fh-form select:focus { outline: 2px solid var(--fh-arena); outline-offset: 2px; }
.fh-form__pista { font-size: 12px; color: rgba(255,255,255,.6); margin: -10px 0 0; }

/* El boton, debajo y por su cuenta. */
.fh-form button[type="submit"] { margin-top: 2px; justify-self: start; }

/* En claro, la etiqueta y la pista no pueden ir en blanco. */
.fh-on-claro .fh-form label { color: rgba(21, 41, 60, .72); }
.fh-on-claro .fh-form__pista { color: rgba(21, 41, 60, .62); }
.fh-on-claro .fh-form input,
.fh-on-claro .fh-form textarea,
.fh-on-claro .fh-form select { border: 1px solid rgba(21, 41, 60, .16); }

/* La casilla de privacidad, dentro del formulario.
   Con ".fh-form" delante: ".fh-form label" pesa mas que la clase sola y
   dejaba la casilla encima del texto y en versales. */
.fh-form .fh-form__priv {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    font-size: .82rem;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.45;
    opacity: .85;
}
.fh-form .fh-form__priv input { width: auto; margin-top: .2rem; flex: 0 0 auto; }

/*
 * El enlace tiene que verse que es un enlace: con "color: inherit" y sin
 * subrayado no lo parecia. Madison, 6-10-2026.
 */
.fh-form .fh-form__priv a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: .18em;
}
.fh-form .fh-form__priv a:hover { text-decoration-thickness: 2px; }

/*
 * Y el texto de la casilla, en minuscula y al lado del cuadrado.
 *
 * En Vender manda ".fh-vender-form label > span", que pone el span en
 * bloque, en versales y a 11px: la casilla salia sola y centrada con el
 * texto debajo en mayusculas.
 */
.fh-form .fh-form__priv > span,
.fh-vender-form .fh-form__priv > span,
.fh-on-claro .fh-vender-form .fh-form__priv > span {
    display: inline;
    margin: 0;
    font-family: var(--fh-font-text);
    font-size: .82rem;
    font-weight: 300;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.45;
    color: inherit;
}

/* ------------------------------------------------------------------
   Los botones al pasar el ratón y al enfocar con el teclado (punto 16)
   ------------------------------------------------------------------
   Pep: al pasar por encima, el botón se volvía invisible. La culpa es
   de una regla del tema:

     .elementor-kit-9 button:hover, ... :focus {
         background-color: var(--e-global-color-4380536);
         color: var(--e-global-color-accent);
     }

   y esa variable vale #02010100, que es transparente del todo. El botón
   se quedaba sin fondo y con la letra arena: sobre hueso da 1,9 y no se
   lee. Alcanzaba a todos los <button>, <input type=submit> y
   .elementor-button de la web, no solo al que vio Pep: «Apúntame» sale
   en el pie de todas las páginas.

   El primer intento invertía el botón según si la sección era clara u
   oscura, y eso obligaba a ir enumerando contenedores: la franja del
   boletín, la tarjeta del precio, la portada de las promociones… Cada
   uno que se olvidaba dejaba un botón del color de su fondo. Este no
   pregunta de qué color es la sección:

   - El botón relleno conserva su arena con la letra marino (4,86) y se
     aclara un poco al pasar el ratón. Nunca se confunde con la sección,
     porque el arena no es ni el marino ni el hueso.
   - El botón de línea conserva su color y su borde, y se le echa un velo
     gris translúcido por dentro: sobre fondo oscuro aclara y sobre fondo
     claro oscurece, y la letra no se toca.
*/
/*
 * Una sola pareja para todos los botones, sea cual sea la seccion.
 *
 * Lo intente de dos maneras antes y las dos se rompieron: primero
 * invirtiendo el boton segun si la seccion era clara u oscura, que
 * obligaba a ir enumerando contenedores; y luego dejando el boton de
 * linea transparente con su propio color, que en la portada de las
 * promociones destapaba el marino de detras con la letra marino encima.
 *
 * Esta no pregunta nada: al pasar el raton, todo boton se queda arena
 * con la letra marino y se aclara un 18%. El arena no es ni el marino
 * ni el hueso, asi que el boton nunca se confunde con su seccion, y la
 * letra marino sobre el arena aclarado da 6,72.
 */
body.fh-nuevo .fh-btn:hover,
body.fh-nuevo .fh-btn:focus-visible,
body.fh-nuevo .fh-btn-primary:hover,
body.fh-nuevo .fh-btn-primary:focus-visible,
body.fh-nuevo .fh-btn-secondary:hover,
body.fh-nuevo .fh-btn-secondary:focus-visible,
body.fh-nuevo .fh-btn-linea:hover,
body.fh-nuevo .fh-btn-linea:focus-visible,
body.fh-nuevo .fh-btn-dossier:hover,
body.fh-nuevo .fh-btn-dossier:focus-visible,
body.fh-nuevo .fh-cookies__boton:hover,
body.fh-nuevo .fh-cookies__boton:focus-visible,
body.fh-nuevo .fh-form button[type="submit"]:hover,
body.fh-nuevo .fh-form button[type="submit"]:focus-visible {
    background-color: var(--fh-arena) !important;
    color: var(--fh-marino) !important;
    border-color: var(--fh-arena) !important;
    box-shadow: none;
    filter: brightness(1.18);
    opacity: 1 !important;
}

/* El teclado necesita ver dónde está, no solo el ratón. */
body.fh-nuevo .fh-btn:focus-visible,
body.fh-nuevo button:focus-visible,
body.fh-nuevo input[type="submit"]:focus-visible {
    outline: 3px solid var(--fh-arena);
    outline-offset: 3px;
}

/* ------------------------------------------------------------------
   El botón fantasma, que no era fantasma (punto 16b)
   ------------------------------------------------------------------
   .fh-btn-secondary se definió en los tokens como fondo transparente con
   borde de 2 px, pero el tema le ganaba por especificidad y le ponía
   fondo arena. Con la letra en currentColor, hueso sobre arena da 2,17 y
   no se lee: «Ver todas las fotos (7)» salía así en las promociones y en
   las fichas, sin hacer nada, antes de pasar el ratón. Ahora es un
   fantasma de verdad: la letra hereda el color de su sección, que ya
   está elegido para leerse sobre ella (10,5 sobre marino).
*/
body.fh-nuevo .fh-btn-secondary {
    background-color: transparent !important;
    border: 2px solid currentColor !important;
}

/*
 * Botones que no son botones: «Dossier» es un <button class="fh-enlace-sutil">
 * que parece un enlace discreto. La regla del tema le ponía la letra arena al
 * pasar el ratón, y arena sobre blanco da 2,16. Se oscurece y se subraya, que
 * es lo que hace un enlace.
 */
body.fh-nuevo .fh-enlace-sutil:hover,
body.fh-nuevo .fh-enlace-sutil:focus-visible {
    color: var(--fh-marino) !important;
    background-color: transparent !important;
    text-decoration: underline;
}

/*
 * El segundo boton de valoracion, debajo de los cuatro pasos de Vender.
 * Pep, 21-10-2026. Va sobre marino, como los pasos, y separado de la
 * ultima fila para que no parezca parte del paso 04.
 */
.fh-vender .fh-pasos__cta {
    /* !important porque el tema pone margin:0 a los <p> con mas peso. */
    margin: 2.5rem 0 0 !important;
    text-align: center;
}
