/* =========================================================
   HOUSEINFUERTE · SISTEMA DE HEADERS
   Hoja de estilos externa

   ESTRUCTURA HEADER HOME
   - Exterior:  hif-home-header
   - Interior:  hif-home-header__inner
   - Logo:      hif-home-header__logo
   - Menú:      hif-home-header__nav
   - Acciones:  hif-home-header__actions

   ESTRUCTURA HEADER INTERIOR DUPLICADO
   - Exterior:  hif-header
   - Interior:  hif-home-header__inner
   - Logo:      hif-home-header__logo
   - Menú:      hif-home-header__nav
   - Acciones:  hif-home-header__actions
   ========================================================= */


/* =========================================================
   1. VARIABLES
   ========================================================= */

:root {
    --hif-blue: #55b7e9;
    --hif-gold: #d4af37;
    --hif-gold-hover: #c59e2e;
    --hif-navy: #0d1f2d;
    --hif-white: #ffffff;
    --hif-light: #f5f7fa;

    --hif-container-width: 1400px;
    --hif-horizontal-padding: 28px;

    --hif-home-top-space: 40px;
    --hif-header-height: 100px;
    --hif-sticky-height: 76px;

    --hif-logo-width: 290px;
    --hif-logo-sticky-width: 245px;
}


/* =========================================================
   2. RESETEO COMÚN
   ========================================================= */

.hif-home-header,
.hif-header,
.hif-home-header *,
.hif-header * {
    box-sizing: border-box;
}

.hif-home-header,
.hif-header {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.hif-home-header.e-con,
.hif-header.e-con {
    --width: 100%;
    --padding-top: 0;
    --padding-right: 0;
    --padding-bottom: 0;
    --padding-left: 0;
}


/* =========================================================
   3. WRAPPER DE ELEMENTOR EN LA HOME
   Evita que el header transparente reserve espacio.
   ========================================================= */

body.home .elementor-location-header {
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    z-index: 9999 !important;

    width: 100% !important;
    height: auto !important;

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

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   4. BASE COMPARTIDA DE LOS DOS HEADERS
   ========================================================= */

.hif-home-header,
.hif-header {
    z-index: 9999 !important;

    border: 0 !important;
    outline: 0 !important;

    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.4s ease,
        box-shadow 0.4s ease,
        backdrop-filter 0.4s ease !important;

    will-change: transform, background-color, box-shadow;
}


/* =========================================================
   5. HEADER HOME · ESTADO INICIAL
   Transparente y separado del borde superior.
   ========================================================= */

body.home .hif-home-header {
    position: absolute;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    transform: translate3d(0, var(--hif-home-top-space), 0);

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

    box-shadow: none !important;
}


/* =========================================================
   6. HEADER INTERIOR · ESTADO INICIAL
   Azul, pegado arriba y sin desplazamiento.
   ========================================================= */

body:not(.home) .hif-header {
    position: relative;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    transform: translate3d(0, 0, 0) !important;

    background: rgba(13, 31, 45, 0.97) !important;
    background-color: rgba(13, 31, 45, 0.97) !important;

    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16) !important;

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}


/* =========================================================
   7. CONTENEDOR INTERIOR COMPARTIDO
   ========================================================= */

.hif-home-header .hif-home-header__inner,
.hif-header .hif-home-header__inner {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: calc(100% - 56px) !important;
    max-width: var(--hif-container-width) !important;
    min-height: var(--hif-header-height) !important;

    margin: 0 auto !important;
    padding: 0 var(--hif-horizontal-padding) !important;
    gap: 42px !important;

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

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

    transition:
        min-height 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        padding 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        gap 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important;

    will-change: min-height, padding;
}

.hif-home-header .hif-home-header__inner.e-con,
.hif-header .hif-home-header__inner.e-con {
    --width: 100%;
    --min-height: var(--hif-header-height);
    --flex-direction: row;
    --flex-wrap: nowrap;
    --justify-content: space-between;
    --align-items: center;
    --gap: 42px;
}


/* =========================================================
   8. LOGO COMPARTIDO
   ========================================================= */

.hif-home-header__logo,
.hif-home-header__logo.e-con {
    flex: 0 0 var(--hif-logo-width) !important;

    width: var(--hif-logo-width) !important;
    min-width: var(--hif-logo-width) !important;
    max-width: var(--hif-logo-width) !important;

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

    --width: var(--hif-logo-width);
    --flex-grow: 0;
    --flex-shrink: 0;

    transition:
        flex-basis 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        width 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        min-width 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        max-width 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important;

    will-change: width, flex-basis;
}

.hif-home-header__logo .elementor-widget-image,
.hif-home-header__logo .elementor-widget-container {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

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

.hif-home-header__logo img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

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

    object-fit: contain !important;

    transform: scale(1);
    transform-origin: left center;

    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.35s ease !important;

    will-change: transform;
}


/* =========================================================
   9. CONTENEDOR DEL MENÚ
   ========================================================= */

.hif-home-header__nav,
.hif-home-header__nav.e-con {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

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

    --width: auto;
    --flex-grow: 1;
    --flex-shrink: 1;
    --justify-content: flex-end;
}

.hif-home-header__nav .elementor-widget-nav-menu,
.hif-home-header__nav .elementor-widget-container,
.hif-home-header__nav .elementor-nav-menu--main {
    width: auto !important;
    max-width: none !important;
}

.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 2px !important;
}


/* =========================================================
   10. ENLACES DEL MENÚ
   ========================================================= */

.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item {
    position: relative;

    display: flex !important;
    align-items: center !important;

    padding: 15px 13px !important;

    color: rgba(255, 255, 255, 0.94) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.94) !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;

    transition:
        color 0.25s ease,
        -webkit-text-fill-color 0.25s ease !important;
}

.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:hover,
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:focus,
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-item > a.elementor-item,
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-parent > a.elementor-item,
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-ancestor > a.elementor-item,
.hif-home-header__nav
.elementor-nav-menu--main
a.elementor-item.elementor-item-active,
.hif-home-header__nav
.elementor-nav-menu--main
a.elementor-item[aria-current="page"] {
    color: var(--hif-gold) !important;
    -webkit-text-fill-color: var(--hif-gold) !important;

    background: transparent !important;
    background-color: transparent !important;
}


/* =========================================================
   11. LÍNEA DORADA DEL MENÚ
   El widget debe tener Puntero: Ninguno.
   ========================================================= */

.hif-home-header__nav
.elementor-nav-menu--main
.elementor-item::before {
    display: none !important;
    content: none !important;
}

.hif-home-header__nav
.elementor-nav-menu--main
.elementor-item::after {
    content: "" !important;
    position: absolute !important;

    right: 13px !important;
    bottom: 5px !important;
    left: 13px !important;

    display: block !important;

    width: auto !important;
    height: 2px !important;

    background: var(--hif-gold) !important;
    border: 0 !important;
    border-radius: 10px !important;

    opacity: 0 !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;

    transition:
        opacity 0.25s ease,
        transform 0.25s ease !important;
}

.hif-home-header__nav
.elementor-nav-menu--main
.elementor-item:hover::after,
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-item:focus::after,
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-item.elementor-item-active::after,
.hif-home-header__nav
.elementor-nav-menu--main
.current-menu-item > .elementor-item::after,
.hif-home-header__nav
.elementor-nav-menu--main
.current-menu-parent > .elementor-item::after,
.hif-home-header__nav
.elementor-nav-menu--main
.current-menu-ancestor > .elementor-item::after,
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-item[aria-current="page"]::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
}

.hif-home-header__nav .sub-arrow,
.hif-home-header__nav .sub-arrow svg {
    margin-left: 6px !important;

    color: currentColor !important;
    fill: currentColor !important;
}


/* =========================================================
   12. CONTENEDOR DEL BOTÓN
   ========================================================= */

.hif-home-header__actions,
.hif-home-header__actions.e-con {
    display: flex !important;
    flex: 0 0 auto !important;

    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;

    width: auto !important;
    min-width: max-content !important;
    height: 100% !important;

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

    --width: auto;
    --flex-grow: 0;
    --flex-shrink: 0;
}

.hif-home-header__actions .elementor-widget-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;

    width: auto !important;
    height: 100% !important;

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

.hif-home-header__actions
.elementor-widget-button
.elementor-widget-container,
.hif-home-header__actions .elementor-button-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    height: 100% !important;

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


/* =========================================================
   13. BOTÓN CTA
   ========================================================= */

.hif-home-header__actions .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 48px !important;
    height: 48px !important;

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

    color: var(--hif-white) !important;
    background: var(--hif-gold) !important;

    border: 0 !important;
    border-radius: 5px !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16) !important;

    transition:
        height 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        min-height 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease !important;
}

.hif-home-header__actions .elementor-button:hover,
.hif-home-header__actions .elementor-button:focus {
    color: var(--hif-white) !important;
    background: var(--hif-gold-hover) !important;

    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22) !important;
}

.hif-home-header__actions .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    line-height: 1 !important;
}

.hif-home-header__actions .elementor-button-text {
    display: block !important;

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

    line-height: 1 !important;
}


/* =========================================================
   14. ESTADO STICKY COMPARTIDO
   El estado inicial no depende de --active.
   Los cambios visuales solo se aplican con --effects.
   ========================================================= */

/* HOME
   Sigue transparente mientras no se alcance el Effects Offset. */
body.home .hif-home-header:not(.elementor-sticky--effects),
body.home .hif-home-header.elementor-sticky--active:not(.elementor-sticky--effects) {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    transform: translate3d(0, var(--hif-home-top-space), 0) !important;

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

    box-shadow: none !important;

    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* Los dos headers quedan fijados cuando Elementor activa los efectos. */
body.home .hif-home-header.elementor-sticky--effects,
body:not(.home) .hif-header.elementor-sticky--effects {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    width: 100% !important;

    transform: translate3d(0, 0, 0) !important;
    z-index: 9999 !important;

    background: rgba(13, 31, 45, 0.94) !important;
    background-color: rgba(13, 31, 45, 0.94) !important;
    background-image: none !important;

    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.20) !important;

    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

/* El interior conserva un fondo ligeramente más opaco. */
body:not(.home) .hif-header.elementor-sticky--effects {
    background: rgba(13, 31, 45, 0.97) !important;
    background-color: rgba(13, 31, 45, 0.97) !important;
}

/* Compactación visual: únicamente después del Effects Offset. */
body.home .hif-home-header.elementor-sticky--effects
.hif-home-header__inner,
body:not(.home) .hif-header.elementor-sticky--effects
.hif-home-header__inner {
    min-height: var(--hif-sticky-height) !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

body.home .hif-home-header.elementor-sticky--effects
.hif-home-header__logo,
body.home .hif-home-header.elementor-sticky--effects
.hif-home-header__logo.e-con,
body:not(.home) .hif-header.elementor-sticky--effects
.hif-home-header__logo,
body:not(.home) .hif-header.elementor-sticky--effects
.hif-home-header__logo.e-con {
    flex-basis: var(--hif-logo-sticky-width) !important;

    width: var(--hif-logo-sticky-width) !important;
    min-width: var(--hif-logo-sticky-width) !important;
    max-width: var(--hif-logo-sticky-width) !important;

    --width: var(--hif-logo-sticky-width);
}

body.home .hif-home-header.elementor-sticky--effects
.hif-home-header__logo img,
body:not(.home) .hif-header.elementor-sticky--effects
.hif-home-header__logo img {
    transform: scale(0.98) !important;
}

body.home .hif-home-header.elementor-sticky--effects
.hif-home-header__actions .elementor-button,
body:not(.home) .hif-header.elementor-sticky--effects
.hif-home-header__actions .elementor-button {
    min-height: 44px !important;
    height: 44px !important;
}


/* =========================================================
   14.1 UNIÓN HEADER INTERIOR + BUSCADOR HOUZEZ
   Elimina la junta clara sin desplazar el contenido.
   ========================================================= */

body:not(.home) .elementor-location-header,
body:not(.home) .hif-header {
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
}

body:not(.home) .hif-header {
    box-shadow: none !important;
}

/* Primer bloque de búsqueda colocado inmediatamente después */
body:not(.home) .elementor-location-header + .advanced-search-wrap,
body:not(.home) .elementor-location-header + .advanced-search-nav,
body:not(.home) .elementor-location-header + .houzez-search-form-js,
body:not(.home) .advanced-search-wrap,
body:not(.home) .advanced-search-nav {
    margin-top: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
}



/* =========================================================
   15. SUBMENÚ DESKTOP
   ========================================================= */

.hif-home-header__nav .elementor-nav-menu--dropdown {
    min-width: 260px;
    padding: 8px 0;

    background: var(--hif-white) !important;

    border: 1px solid rgba(13, 31, 45, 0.08);
    border-radius: 7px;

    box-shadow: 0 12px 30px rgba(13, 31, 45, 0.16);
}

.hif-home-header__nav
.elementor-nav-menu--dropdown
a.elementor-sub-item {
    padding: 13px 20px !important;

    color: var(--hif-navy) !important;
    -webkit-text-fill-color: var(--hif-navy) !important;

    font-family: "Poppins", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.01em !important;
    text-transform: uppercase !important;

    background: var(--hif-white) !important;

    border-bottom: 1px solid rgba(13, 31, 45, 0.07);
}

.hif-home-header__nav
.elementor-nav-menu--dropdown
a.elementor-sub-item:hover,
.hif-home-header__nav
.elementor-nav-menu--dropdown
a.elementor-sub-item.elementor-item-active {
    color: var(--hif-gold) !important;
    -webkit-text-fill-color: var(--hif-gold) !important;

    background: var(--hif-light) !important;
}


/* =========================================================
   16. TABLET · HASTA 1024 PX
   ========================================================= */

@media (max-width: 1024px) {
    :root {
        --hif-home-top-space: 20px;
        --hif-header-height: 82px;
        --hif-sticky-height: 72px;

        --hif-logo-width: 220px;
        --hif-logo-sticky-width: 195px;

        --hif-horizontal-padding: 15px;
    }

    .hif-home-header .hif-home-header__inner,
    .hif-header .hif-home-header__inner {
        width: calc(100% - 30px) !important;
        gap: 18px !important;
    }

    .hif-home-header__nav,
    .hif-home-header__nav.e-con {
        flex: 0 0 auto !important;
    }

    .hif-home-header__actions,
    .hif-home-header__actions.e-con {
        display: none !important;
    }

    .hif-home-header__nav .elementor-menu-toggle {
        position: relative !important;
        z-index: 10000 !important;

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

        width: 46px !important;
        height: 46px !important;

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

        color: var(--hif-white) !important;
        background: rgba(13, 31, 45, 0.28) !important;

        border: 1px solid rgba(255, 255, 255, 0.42) !important;
        border-radius: 6px !important;

        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);

        transition:
            color 0.2s ease,
            border-color 0.2s ease,
            background-color 0.2s ease !important;
    }

    .hif-home-header__nav .elementor-menu-toggle:hover,
    .hif-home-header__nav .elementor-menu-toggle.elementor-active {
        color: var(--hif-gold) !important;

        background: rgba(13, 31, 45, 0.72) !important;
        border-color: var(--hif-gold) !important;
    }

    /* Menú móvil a pantalla completa */
    .hif-home-header__nav .elementor-nav-menu--dropdown {
        position: fixed !important;
        inset: 0 !important;
        z-index: 9998 !important;

        width: 100vw !important;
        min-width: 100vw !important;

        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;

        margin: 0 !important;
        padding: 110px 28px 40px !important;

        overflow-y: auto !important;

        background: rgba(13, 31, 45, 0.985) !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }

    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    .elementor-nav-menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        gap: 0 !important;
    }

    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    a.elementor-item,
    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    a.elementor-sub-item {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 58px !important;
        padding: 16px 12px !important;

        color: var(--hif-white) !important;
        -webkit-text-fill-color: var(--hif-white) !important;

        font-family: "Poppins", sans-serif !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        letter-spacing: 0.045em !important;
        text-align: center !important;
        text-transform: uppercase !important;

        background: transparent !important;

        border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
    }

    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    a.elementor-item:hover,
    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    a.elementor-item.elementor-item-active,
    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    a.elementor-sub-item:hover,
    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    a.elementor-sub-item.elementor-item-active {
        color: var(--hif-gold) !important;
        -webkit-text-fill-color: var(--hif-gold) !important;

        background: rgba(255, 255, 255, 0.03) !important;
    }
}


/* =========================================================
   17. MÓVIL · HASTA 767 PX
   ========================================================= */

@media (max-width: 767px) {
    :root {
        --hif-home-top-space: 18px;
        --hif-header-height: 76px;
        --hif-sticky-height: 68px;

        --hif-logo-width: 190px;
        --hif-logo-sticky-width: 170px;

        --hif-horizontal-padding: 10px;
    }

    .hif-home-header .hif-home-header__inner,
    .hif-header .hif-home-header__inner {
        width: calc(100% - 20px) !important;
        gap: 12px !important;
    }

    .hif-home-header__nav .elementor-menu-toggle {
        width: 42px !important;
        height: 42px !important;
    }

    .hif-home-header__nav .elementor-nav-menu--dropdown {
        padding: 94px 20px 30px !important;
    }

    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    a.elementor-item,
    .hif-home-header__nav
    .elementor-nav-menu--dropdown
    a.elementor-sub-item {
        min-height: 54px !important;
        font-size: 15px !important;
    }
}


/* =========================================================
   18. MÓVIL PEQUEÑO · HASTA 420 PX
   ========================================================= */

@media (max-width: 420px) {
    :root {
        --hif-home-top-space: 12px;

        --hif-logo-width: 165px;
        --hif-logo-sticky-width: 150px;

        --hif-horizontal-padding: 8px;
    }

    .hif-home-header .hif-home-header__inner,
    .hif-header .hif-home-header__inner {
        width: calc(100% - 16px) !important;
    }

    .hif-home-header__nav .elementor-menu-toggle {
        width: 40px !important;
        height: 40px !important;
    }
}


/* =========================================================
   19. ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .hif-home-header,
    .hif-header,
    .hif-home-header *,
    .hif-header * {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* =========================================================
   20. FIJACIÓN DE COLORES
   Evita que Elementor o Houzez cambien los colores del menú
   y del botón al cargar, hacer hover o activar el sticky.
   ========================================================= */

/* MENÚ PRINCIPAL · ESTADO NORMAL */
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item,
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Todos los elementos internos del enlace heredan el blanco */
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item *,
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item * {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

/* MENÚ PRINCIPAL · HOVER Y ELEMENTO ACTIVO */
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:hover,
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:focus,
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-item > a.elementor-item,
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-parent > a.elementor-item,
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-ancestor > a.elementor-item,
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
a.elementor-item.elementor-item-active,
.hif-home-header .hif-home-header__nav
.elementor-nav-menu--main
a.elementor-item[aria-current="page"],
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:hover,
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:focus,
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-item > a.elementor-item,
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-parent > a.elementor-item,
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-ancestor > a.elementor-item,
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
a.elementor-item.elementor-item-active,
.hif-header .hif-home-header__nav
.elementor-nav-menu--main
a.elementor-item[aria-current="page"] {
    color: #d4af37 !important;
    -webkit-text-fill-color: #d4af37 !important;
    background: transparent !important;
    background-color: transparent !important;
}

/* BOTÓN CTA · FONDO DORADO Y TEXTO BLANCO */
.hif-home-header .hif-home-header__actions .elementor-button,
.hif-header .hif-home-header__actions .elementor-button {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background: #d4af37 !important;
    background-color: #d4af37 !important;
}

/* El texto y los iconos internos no pueden heredar otro color */
.hif-home-header .hif-home-header__actions .elementor-button *,
.hif-header .hif-home-header__actions .elementor-button * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    fill: #ffffff !important;
    stroke: currentColor !important;
}

/* BOTÓN CTA · HOVER */
.hif-home-header .hif-home-header__actions .elementor-button:hover,
.hif-home-header .hif-home-header__actions .elementor-button:focus,
.hif-header .hif-home-header__actions .elementor-button:hover,
.hif-header .hif-home-header__actions .elementor-button:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background: #c59e2e !important;
    background-color: #c59e2e !important;
}

/* Mantener los mismos colores durante el sticky */
body.home .hif-home-header.elementor-sticky--active
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item,
body.home .hif-home-header.elementor-sticky--effects
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item,
body:not(.home) .hif-header.elementor-sticky--active
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item,
body:not(.home) .hif-header.elementor-sticky--effects
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Recuperar el dorado en hover/activo también durante el sticky */
body.home .hif-home-header.elementor-sticky--active
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:hover,
body.home .hif-home-header.elementor-sticky--effects
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:hover,
body.home .hif-home-header.elementor-sticky--active
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-item > a.elementor-item,
body.home .hif-home-header.elementor-sticky--effects
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-item > a.elementor-item,
body:not(.home) .hif-header.elementor-sticky--active
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:hover,
body:not(.home) .hif-header.elementor-sticky--effects
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li > a.elementor-item:hover,
body:not(.home) .hif-header.elementor-sticky--active
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-item > a.elementor-item,
body:not(.home) .hif-header.elementor-sticky--effects
.hif-home-header__nav
.elementor-nav-menu--main
.elementor-nav-menu > li.current-menu-item > a.elementor-item {
    color: #d4af37 !important;
    -webkit-text-fill-color: #d4af37 !important;
}
