/* =========================================================
   VARIABLES
========================================================= */

:root {

    --bv-primary: #123B46;
    --bv-orange: #E8753D;
    --bv-dark: #252A2D;
    --bv-green: #8CA695;
    --bv-cream: #F6F1E8;
    --bv-white: #FFFFFF;

}


/* =========================================================
   OCULTAR HEADER DE HELLO
========================================================= */

body > header#site-header,
body > .site-header,
header.site-header {
    display: none !important;
}


/* =========================================================
   HEADER GENERAL
========================================================= */

.buscavan-header {

    width: 100%;

    position: sticky;
    top: 0;

    z-index: 99999;

    background: #FFFFFF;

    border-bottom:
        1px solid rgba(18,59,70,.08);

    font-family:
        "Inter",
        Arial,
        sans-serif;

    transition:
        box-shadow .25s ease;

}


.buscavan-header.buscavan-scrolled {

    box-shadow:
        0 8px 30px rgba(18,59,70,.10);

}


.buscavan-header-inner {

    width: 100%;
    max-width: 1280px;

    height: 76px;

    margin: 0 auto;

    padding:
        0
        24px;

    display: flex;

    align-items: center;

    gap: 26px;

}


/* =========================================================
   LOGO
========================================================= */

.buscavan-logo {

    display: flex;

    align-items: center;

    flex-shrink: 0;

    text-decoration: none !important;

}


.buscavan-logo img {

    display: block;

    width: auto;
    height: auto;

    max-width: 185px;
    max-height: 52px;

    object-fit: contain;

}


/* =========================================================
   DESKTOP NAV
========================================================= */

.buscavan-desktop-nav {

    display: flex;

    align-items: center;

    gap: 24px;

}


.buscavan-desktop-nav a {

    height: 76px;

    position: relative;

    display: flex;

    align-items: center;

    color: var(--bv-dark);

    font-size: 15px;
    font-weight: 500;

    line-height: 1;

    text-decoration: none !important;

    white-space: nowrap;

    transition:
        color .2s ease;

}


.buscavan-desktop-nav a::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 3px;

    background:
        var(--bv-orange);

    transform:
        scaleX(0);

    transform-origin:
        center;

    transition:
        transform .2s ease;

}


.buscavan-desktop-nav a:hover {

    color:
        var(--bv-orange);

}


.buscavan-desktop-nav a:hover::after {

    transform:
        scaleX(1);

}


.buscavan-desktop-nav a.buscavan-active {

    color:
        var(--bv-primary);

    font-weight: 600;

}


.buscavan-desktop-nav a.buscavan-active::after {

    transform:
        scaleX(1);

}


/* =========================================================
   DESKTOP ACTIONS
========================================================= */

.buscavan-desktop-actions {

    margin-left: auto;

    display: flex;

    align-items: center;

    gap: 17px;

}


.buscavan-action {

    display: flex;

    align-items: center;

    gap: 7px;

    color:
        var(--bv-primary);

    font-size: 14px;
    font-weight: 500;

    text-decoration: none !important;

    white-space: nowrap;

    transition:
        color .2s ease;

}


.buscavan-action:hover {

    color:
        var(--bv-orange);

}


.buscavan-action svg {

    width: 20px;
    height: 20px;

    fill: none;

    stroke:
        currentColor;

    stroke-width: 1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;

}


/* =========================================================
   CTA DESKTOP
========================================================= */

.buscavan-publish {

    min-height: 44px;

    padding:
        0
        18px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap: 7px;

    background:
        var(--bv-orange);

    color:
        #FFFFFF !important;

    border-radius:
        10px;

    font-size:
        14px;

    font-weight:
        700;

    text-decoration:
        none !important;

    white-space:
        nowrap;

    box-shadow:
        0 5px 16px rgba(232,117,61,.20);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;

}


.buscavan-publish:hover {

    background:
        var(--bv-primary);

    transform:
        translateY(-1px);

    box-shadow:
        0 8px 20px rgba(18,59,70,.18);

}


.buscavan-publish > span {

    font-size:
        20px;

    font-weight:
        400;

    line-height:
        1;

}


/* =========================================================
   MOBILE ELEMENTS OFF DESKTOP
========================================================= */

.buscavan-mobile-actions,
.buscavan-mobile-menu {

    display:
        none;

}


/* =========================================================
   PORTÁTILES PEQUEÑOS
========================================================= */

@media (max-width: 1150px) {

    .buscavan-header-inner {

        gap:
            18px;

    }


    .buscavan-logo img {

        max-width:
            160px;

    }


    .buscavan-desktop-nav {

        gap:
            16px;

    }


    .buscavan-desktop-actions {

        gap:
            11px;

    }


    .buscavan-action span {

        display:
            none;

    }

}


/* =========================================================
   TABLET + MOBILE
========================================================= */

@media (max-width: 900px) {


    .buscavan-header-inner {

        height:
            68px;

        padding:
            0
            20px;

        gap:
            12px;

    }


    .buscavan-desktop-nav,
    .buscavan-desktop-actions {

        display:
            none !important;

    }


    /* LOGO */

    .buscavan-logo img {

        max-width:
            155px;

        max-height:
            44px;

    }


    /* ACTIONS */

    .buscavan-mobile-actions {

        margin-left:
            auto;

        display:
            flex;

        align-items:
            center;

        gap:
            7px;

    }


    /* =================================
       CTA PUBLICAR EN HEADER
    ================================= */

    .buscavan-mobile-publish-top {

        height:
            38px;

        padding:
            0
            13px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        gap:
            5px;

        background:
            var(--bv-orange);

        color:
            #FFFFFF !important;

        border-radius:
            9px;

        font-size:
            13px;

        font-weight:
            700;

        line-height:
            1;

        text-decoration:
            none !important;

        white-space:
            nowrap;

        box-shadow:
            0 4px 12px rgba(232,117,61,.22);

    }


    .buscavan-mobile-publish-top span {

        font-size:
            19px;

        font-weight:
            400;

        line-height:
            1;

    }


    .buscavan-mobile-publish-top:hover {

        background:
            var(--bv-primary);

    }


    /* ICONOS */

    .buscavan-mobile-icon {

        width:
            36px;

        height:
            40px;

        padding:
            0 !important;

        margin:
            0 !important;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        background:
            transparent !important;

        color:
            var(--bv-primary) !important;

        border:
            0 !important;

        border-radius:
            8px;

        text-decoration:
            none !important;

    }


    .buscavan-mobile-icon svg {

        width:
            21px;

        height:
            21px;

        fill:
            none;

        stroke:
            currentColor;

        stroke-width:
            1.8;

        stroke-linecap:
            round;

        stroke-linejoin:
            round;

    }


    /* =====================================================
       HAMBURGUESA
    ===================================================== */

    .buscavan-header .buscavan-menu-toggle,
    .buscavan-header .buscavan-menu-toggle:hover,
    .buscavan-header .buscavan-menu-toggle:focus,
    .buscavan-header .buscavan-menu-toggle:active {

        appearance:
            none !important;

        -webkit-appearance:
            none !important;

        width:
            40px !important;

        height:
            40px !important;

        min-width:
            40px !important;

        min-height:
            40px !important;

        padding:
            8px !important;

        margin:
            0 !important;

        display:
            flex !important;

        flex-direction:
            column !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        gap:
            5px !important;

        background:
            transparent !important;

        background-color:
            transparent !important;

        background-image:
            none !important;

        border:
            0 !important;

        border-radius:
            8px !important;

        box-shadow:
            none !important;

        outline:
            none !important;

        color:
            var(--bv-primary) !important;

        cursor:
            pointer !important;

    }


    .buscavan-header .buscavan-menu-toggle span {

        width:
            23px !important;

        height:
            2px !important;

        min-height:
            2px !important;

        display:
            block !important;

        padding:
            0 !important;

        margin:
            0 !important;

        background:
            var(--bv-primary) !important;

        border:
            0 !important;

        border-radius:
            20px !important;

        opacity:
            1;

        transform-origin:
            center;

        transition:
            transform .25s ease,
            opacity .20s ease,
            background .20s ease !important;

    }


    .buscavan-header .buscavan-menu-toggle:hover span {

        background:
            var(--bv-orange) !important;

    }


    /* X */

    .buscavan-header .buscavan-menu-toggle.is-open span:nth-child(1) {

        transform:
            translateY(7px)
            rotate(45deg) !important;

    }


    .buscavan-header .buscavan-menu-toggle.is-open span:nth-child(2) {

        opacity:
            0 !important;

    }


    .buscavan-header .buscavan-menu-toggle.is-open span:nth-child(3) {

        transform:
            translateY(-7px)
            rotate(-45deg) !important;

    }


    /* =====================================================
       MOBILE MENU PANEL
    ===================================================== */

    .buscavan-mobile-menu {

        position:
            fixed;

        top:
            68px;

        left:
            0;

        right:
            0;

        z-index:
            99998;

        display:
            block;

        max-height:
            calc(100dvh - 68px);

        overflow-y:
            auto;

        background:
            #FFFFFF;

        border-top:
            1px solid rgba(18,59,70,.07);

        box-shadow:
            0 18px 40px rgba(18,59,70,.14);

        opacity:
            0;

        visibility:
            hidden;

        pointer-events:
            none;

        transform:
            translateY(-8px);

        transition:
            opacity .20s ease,
            visibility .20s ease,
            transform .20s ease;

    }


    .buscavan-mobile-menu.is-open {

        opacity:
            1;

        visibility:
            visible;

        pointer-events:
            auto;

        transform:
            translateY(0);

    }


    .buscavan-mobile-menu-inner {

        max-width:
            600px;

        margin:
            0 auto;

        padding:
            18px
            20px
            calc(24px + env(safe-area-inset-bottom));

    }


    /* =====================================================
       CTA GRANDE MOBILE MENU
    ===================================================== */

    .buscavan-mobile-big-cta {

        width:
            100%;

        min-height:
            78px;

        padding:
            14px
            16px;

        margin-bottom:
            13px;

        display:
            flex;

        align-items:
            center;

        gap:
            12px;

        background:
            var(--bv-orange);

        color:
            #FFFFFF !important;

        border-radius:
            14px;

        text-decoration:
            none !important;

        box-shadow:
            0 7px 22px rgba(232,117,61,.22);

    }


    .buscavan-mobile-big-cta-icon {

        width:
            42px;

        height:
            42px;

        flex:
            0 0 42px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        background:
            rgba(255,255,255,.16);

        border:
            1px solid rgba(255,255,255,.25);

        border-radius:
            10px;

        font-size:
            27px;

        font-weight:
            300;

        line-height:
            1;

    }


    .buscavan-mobile-big-cta-content {

        min-width:
            0;

        display:
            flex;

        flex-direction:
            column;

        gap:
            3px;

        flex:
            1;

    }


    .buscavan-mobile-big-cta-content strong {

        color:
            #FFFFFF;

        font-size:
            16px;

        font-weight:
            700;

        line-height:
            1.2;

    }


    .buscavan-mobile-big-cta-content small {

        color:
            rgba(255,255,255,.88);

        font-size:
            11px;

        font-weight:
            400;

        line-height:
            1.35;

    }


    .buscavan-mobile-big-cta-arrow {

        font-size:
            23px;

        line-height:
            1;

    }


    /* =====================================================
       MOBILE NAV
    ===================================================== */

    .buscavan-mobile-nav {

        display:
            flex;

        flex-direction:
            column;

    }


    .buscavan-mobile-nav a {

        min-height:
            54px;

        padding:
            0
            5px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        color:
            var(--bv-primary) !important;

        border-bottom:
            1px solid rgba(18,59,70,.08);

        font-size:
            16px;

        font-weight:
            600;

        text-decoration:
            none !important;

    }


    .buscavan-mobile-nav a span {

        color:
            var(--bv-green);

        font-size:
            24px;

        font-weight:
            400;

    }


    .buscavan-mobile-nav a:hover {

        color:
            var(--bv-orange) !important;

    }


    /* =====================================================
       SECONDARY
    ===================================================== */

    .buscavan-mobile-secondary {

        padding-top:
            18px;

        display:
            grid;

        grid-template-columns:
            1fr
            1fr;

        gap:
            10px;

    }


    .buscavan-mobile-secondary a {

        min-height:
            46px;

        padding:
            0
            12px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        gap:
            8px;

        background:
            var(--bv-cream);

        color:
            var(--bv-primary) !important;

        border-radius:
            10px;

        font-size:
            14px;

        font-weight:
            600;

        text-decoration:
            none !important;

    }


    .buscavan-mobile-secondary svg {

        width:
            19px;

        height:
            19px;

        fill:
            none;

        stroke:
            currentColor;

        stroke-width:
            1.8;

        stroke-linecap:
            round;

        stroke-linejoin:
            round;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {


    .buscavan-header-inner {

        padding:
            0
            16px;

        gap:
            7px;

    }


    .buscavan-logo img {

        max-width:
            128px;

        max-height:
            40px;

    }


    .buscavan-mobile-actions {

        gap:
            3px;

    }


    .buscavan-mobile-publish-top {

        height:
            36px;

        padding:
            0
            10px;

        border-radius:
            8px;

        font-size:
            12px;

    }


    .buscavan-mobile-icon {

        width:
            32px;

    }


    .buscavan-header .buscavan-menu-toggle,
    .buscavan-header .buscavan-menu-toggle:hover,
    .buscavan-header .buscavan-menu-toggle:focus,
    .buscavan-header .buscavan-menu-toggle:active {

        width:
            36px !important;

        min-width:
            36px !important;

        padding:
            7px !important;

    }


    .buscavan-mobile-menu-inner {

        padding:
            16px
            16px
            calc(22px + env(safe-area-inset-bottom));

    }

}


/* =========================================================
   MÓVILES ESTRECHOS
========================================================= */

@media (max-width: 410px) {


    .buscavan-logo img {

        max-width:
            112px;

    }


    .buscavan-mobile-publish-top {

        padding:
            0
            9px;

    }


    /* Quitamos favorito de arriba.
       Sigue disponible dentro del menú. */

    .buscavan-mobile-favorite {

        display:
            none;

    }

}


/* =========================================================
   MUY ESTRECHOS
========================================================= */

@media (max-width: 350px) {


    .buscavan-logo img {

        max-width:
            102px;

    }


    .buscavan-mobile-account {

        display:
            none;

    }

}


/* =========================================================
   BLOQUEO SCROLL AL ABRIR MENÚ
========================================================= */

body.buscavan-menu-open {

    overflow:
        hidden;

}

/* Mobile layout: constrain the panel and preserve comfortable touch targets. */
@media(max-width:900px){
#buscavan-header,#buscavan-header *{box-sizing:border-box}
#buscavan-header .buscavan-header-inner{min-width:0}
#buscavan-header .buscavan-mobile-menu{top:var(--bv-menu-top,68px);width:100%;max-width:100vw;max-height:calc(100dvh - var(--bv-menu-top,68px));overflow-x:hidden;overscroll-behavior:contain}
#buscavan-header .buscavan-mobile-menu-inner{width:100%;min-width:0;max-width:600px}
#buscavan-header .buscavan-mobile-big-cta{min-width:0;white-space:normal}
#buscavan-header .buscavan-mobile-big-cta-content{overflow-wrap:anywhere}
#buscavan-header .buscavan-mobile-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
#buscavan-header .buscavan-mobile-secondary a{min-width:0;white-space:normal}
#buscavan-header .buscavan-mobile-actions{flex-shrink:0}
#buscavan-header .buscavan-menu-toggle{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
#buscavan-header .buscavan-menu-toggle:focus-visible{outline:2px solid #123B46!important;outline-offset:2px!important}
}
@media(max-width:600px){
#buscavan-header .buscavan-header-inner{padding:0 12px;gap:8px}
#buscavan-header .buscavan-logo img{max-width:112px}
#buscavan-header .buscavan-mobile-favorite{display:none}
#buscavan-header .buscavan-mobile-publish-top{min-height:44px}
}
@media(max-width:360px){#buscavan-header .buscavan-mobile-account{display:none}}
