/* =========================================================
   OCULTAR FOOTER HELLO
========================================================= */

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


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

.buscavan-footer {

    width: 100%;

    margin: 0;

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

}


.buscavan-footer * {

    box-sizing:
        border-box;

}


/* =========================================================
   CTA SUPERIOR
========================================================= */

.bv-footer-cta-wrap {

    background:
        #F6F1E8;

    padding:
        55px 24px;

}


.bv-footer-cta {

    width:
        100%;

    max-width:
        1280px;

    min-height:
        190px;

    margin:
        0 auto;

    padding:
        42px 48px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        40px;

    background:
        #E8753D;

    border-radius:
        22px;

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

}


.bv-footer-cta-content {

    max-width:
        680px;

}


.bv-footer-cta-eyebrow {

    display:
        block;

    margin-bottom:
        9px;

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

    font-size:
        14px;

    font-weight:
        700;

    text-transform:
        uppercase;

    letter-spacing:
        .06em;

}


.bv-footer-cta h2 {

    margin:
        0 0 10px !important;

    padding:
        0 !important;

    color:
        #FFFFFF !important;

    font-size:
        clamp(28px, 3vw, 40px) !important;

    font-weight:
        700 !important;

    line-height:
        1.1 !important;

    letter-spacing:
        -.025em;

}


.bv-footer-cta p {

    max-width:
        620px;

    margin:
        0 !important;

    color:
        rgba(255,255,255,.90) !important;

    font-size:
        16px;

    line-height:
        1.55;

}


.bv-footer-cta-action {

    flex:
        0 0 auto;

}


.bv-footer-cta-action a {

    min-height:
        54px;

    padding:
        0 24px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    background:
        #123B46;

    color:
        #FFFFFF !important;

    border-radius:
        11px;

    font-size:
        15px;

    font-weight:
        700;

    text-decoration:
        none !important;

    white-space:
        nowrap;

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

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

}


.bv-footer-cta-action a:hover {

    background:
        #252A2D;

    transform:
        translateY(-2px);

    box-shadow:
        0 11px 26px rgba(18,59,70,.25);

}


.bv-footer-cta-action a span {

    font-size:
        23px;

    font-weight:
        400;

    line-height:
        1;

}


/* =========================================================
   FOOTER PRINCIPAL
========================================================= */

.bv-footer-main {

    padding:
        70px 24px 60px;

    background:
        #123B46;

}


.bv-footer-container {

    width:
        100%;

    max-width:
        1280px;

    margin:
        0 auto;

    display:
        grid;

    grid-template-columns:
        minmax(280px, 1.3fr)
        minmax(0, 2fr);

    gap:
        80px;

}


/* =========================================================
   MARCA
========================================================= */

.bv-footer-brand {

    max-width:
        360px;

}


.bv-footer-logo {

    display:
        inline-flex;

    align-items:
        center;

    margin-bottom:
        22px;

    text-decoration:
        none !important;

}


.bv-footer-logo img {

    display:
        block;

    width:
        auto;

    height:
        auto;

    max-width:
        210px;

    max-height:
        64px;

    object-fit:
        contain;

}


.bv-footer-description {

    max-width:
        330px;

    margin:
        0 0 19px !important;

    color:
        rgba(255,255,255,.76) !important;

    font-size:
        15px;

    line-height:
        1.65;

}


.bv-footer-types {

    display:
        flex;

    flex-wrap:
        wrap;

    align-items:
        center;

    gap:
        8px;

    margin-bottom:
        24px;

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

    font-size:
        12px;

    font-weight:
        600;

}


.bv-footer-types i {

    width:
        4px;

    height:
        4px;

    display:
        block;

    background:
        #E8753D;

    border-radius:
        50%;

}


/* =========================================================
   SOCIAL
========================================================= */

.bv-footer-social {

    display:
        flex;

    gap:
        9px;

}


.bv-social-link {

    width:
        42px;

    height:
        42px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

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

    color:
        #FFFFFF !important;

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

    border-radius:
        10px;

    text-decoration:
        none !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;

}


.bv-social-link:hover {

    background:
        #E8753D;

    border-color:
        #E8753D;

    transform:
        translateY(-2px);

}


.bv-social-link svg {

    width:
        19px;

    height:
        19px;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;

}


/* Facebook necesita relleno */

.bv-social-link:nth-child(2) svg {

    fill:
        currentColor;

    stroke:
        none;

}


/* =========================================================
   COLUMNAS
========================================================= */

.bv-footer-columns {

    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        38px;

}


.bv-footer-title {

    width:
        100%;

    margin:
        0 0 21px !important;

    padding:
        0 !important;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    appearance:
        none !important;

    -webkit-appearance:
        none !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    color:
        #FFFFFF !important;

    font-family:
        inherit;

    font-size:
        15px;

    font-weight:
        700;

    line-height:
        1.2;

    text-align:
        left;

    cursor:
        default;

}


.bv-footer-plus {

    display:
        none;

}


.bv-footer-links {

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    gap:
        13px;

}


.bv-footer-links a {

    position:
        relative;

    color:
        rgba(255,255,255,.67) !important;

    font-size:
        14px;

    font-weight:
        400;

    line-height:
        1.4;

    text-decoration:
        none !important;

    transition:
        color .2s ease,
        transform .2s ease;

}


.bv-footer-links a:hover {

    color:
        #FFFFFF !important;

    transform:
        translateX(3px);

}


/* =========================================================
   BOTTOM
========================================================= */

.bv-footer-bottom {

    padding:
        21px 24px;

    background:
        #0D3039;

    border-top:
        1px solid rgba(255,255,255,.07);

}


.bv-footer-bottom-inner {

    width:
        100%;

    max-width:
        1280px;

    margin:
        0 auto;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        25px;

}


.bv-footer-bottom p {

    margin:
        0 !important;

    color:
        rgba(255,255,255,.52) !important;

    font-size:
        12px;

    line-height:
        1.5;

}


.bv-footer-bottom nav {

    display:
        flex;

    align-items:
        center;

    gap:
        22px;

}


.bv-footer-bottom nav a {

    color:
        rgba(255,255,255,.58) !important;

    font-size:
        12px;

    text-decoration:
        none !important;

    transition:
        color .2s ease;

}


.bv-footer-bottom nav a:hover {

    color:
        #FFFFFF !important;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .bv-footer-container {

        grid-template-columns:
            1fr;

        gap:
            48px;

    }


    .bv-footer-brand {

        max-width:
            520px;

    }


    .bv-footer-columns {

        gap:
            28px;

    }

}


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

@media (max-width: 767px) {


    /* CTA */

    .bv-footer-cta-wrap {

        padding:
            36px 16px;

    }


    .bv-footer-cta {

        min-height:
            0;

        padding:
            28px 22px;

        display:
            block;

        border-radius:
            16px;

    }


    .bv-footer-cta-eyebrow {

        margin-bottom:
            8px;

        font-size:
            11px;

    }


    .bv-footer-cta h2 {

        font-size:
            27px !important;

        line-height:
            1.12 !important;

    }


    .bv-footer-cta p {

        font-size:
            14px;

        line-height:
            1.55;

    }


    .bv-footer-cta-action {

        margin-top:
            21px;

    }


    .bv-footer-cta-action a {

        width:
            100%;

        min-height:
            51px;

    }


    /* FOOTER */

    .bv-footer-main {

        padding:
            45px 16px 35px;

    }


    .bv-footer-container {

        display:
            block;

    }


    .bv-footer-brand {

        max-width:
            none;

        padding-bottom:
            34px;

    }


    .bv-footer-logo {

        margin-bottom:
            18px;

    }


    .bv-footer-logo img {

        max-width:
            185px;

    }


    .bv-footer-description {

        max-width:
            430px;

        font-size:
            14px;

    }


    .bv-footer-types {

        margin-bottom:
            22px;

    }


    /* ACORDEONES */

    .bv-footer-columns {

        display:
            block;

        border-top:
            1px solid rgba(255,255,255,.11);

    }


    .bv-footer-column {

        border-bottom:
            1px solid rgba(255,255,255,.11);

    }


    .bv-footer-title,
    .bv-footer-title:hover,
    .bv-footer-title:focus,
    .bv-footer-title:active {

        min-height:
            57px !important;

        margin:
            0 !important;

        padding:
            0 !important;

        cursor:
            pointer;

        background:
            transparent !important;

        background-color:
            transparent !important;

        border:
            0 !important;

        border-radius:
            0 !important;

        box-shadow:
            none !important;

        outline:
            none !important;

        color:
            #FFFFFF !important;

    }


    .bv-footer-plus {

        width:
            28px;

        height:
            28px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        color:
            #E8753D;

        font-size:
            23px;

        font-weight:
            300;

        line-height:
            1;

        transition:
            transform .25s ease;

    }


    .bv-footer-title.is-open .bv-footer-plus {

        transform:
            rotate(45deg);

    }


    .bv-footer-links {

        max-height:
            0;

        overflow:
            hidden;

        gap:
            0;

        opacity:
            0;

        transition:
            max-height .30s ease,
            opacity .25s ease,
            padding .30s ease;

    }


    .bv-footer-links.is-open {

        max-height:
            400px;

        padding-bottom:
            17px;

        opacity:
            1;

    }


    .bv-footer-links a {

        width:
            100%;

        padding:
            9px 0;

        font-size:
            14px;

    }


    /* BOTTOM */

    .bv-footer-bottom {

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

    }


    .bv-footer-bottom-inner {

        flex-direction:
            column-reverse;

        align-items:
            flex-start;

        gap:
            17px;

    }


    .bv-footer-bottom nav {

        flex-wrap:
            wrap;

        gap:
            10px 20px;

    }

}


/* =========================================================
   MOBILE PEQUEÑO
========================================================= */

@media (max-width: 420px) {

    .bv-footer-cta h2 {

        font-size:
            25px !important;

    }


    .bv-footer-types {

        gap:
            6px;

        font-size:
            11px;

    }

}
