/*
 * Barra institucional VBU — rodapé REAL da página.
 * Deliberadamente sem position:fixed e sem position:sticky.
 */

body.vbu-footer-flow{
    min-height:100vh!important;
    min-height:100svh!important;
    display:flex!important;
    flex-direction:column!important;
}

body.vbu-footer-flow .ob-site-main{
    width:100%;
    flex:1 0 auto;
}

/* A home antiga bloqueava a rolagem; o rodapé precisa fazer parte do fluxo. */
body.home.vbu-footer-flow{
    overflow:auto!important;
}

.vbu-institutional-footer{
    position:relative!important;
    inset:auto!important;
    z-index:2;
    flex:0 0 auto;
    width:100%;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-top:1px solid #e2e8f0!important;
    background:#fff!important;
    color:#334155!important;
    box-shadow:0 -3px 14px rgba(15,23,42,.035)!important;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    box-sizing:border-box!important;
}

.vbu-institutional-footer *,
.vbu-institutional-footer *::before,
.vbu-institutional-footer *::after{
    box-sizing:border-box!important;
}

.vbu-institutional-footer__inner{
    width:min(100% - 32px,1180px);
    min-height:64px;
    margin:0 auto;
    padding:7px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
}

.vbu-institutional-footer__logo{
    display:block!important;
    flex:0 0 auto;
    width:148px!important;
    height:46px!important;
    max-width:34vw!important;
    max-height:46px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    object-fit:contain!important;
    object-position:center!important;
}

.vbu-institutional-footer__copy{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:0;
    color:#475569!important;
    font-size:12px!important;
    font-weight:600!important;
    line-height:1.3!important;
    letter-spacing:0!important;
    white-space:nowrap;
}

.vbu-institutional-footer__copy strong{
    color:#1e3a5f!important;
    font-weight:800!important;
}

.vbu-institutional-footer__whatsapp,
.vbu-institutional-footer__whatsapp:visited{
    color:#166534!important;
    font:inherit!important;
    font-weight:800!important;
    text-decoration:none!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.vbu-institutional-footer__whatsapp:hover,
.vbu-institutional-footer__whatsapp:focus-visible{
    color:#15803d!important;
    text-decoration:underline!important;
    outline:none!important;
}

/*
 * Login OpenBus: o estágio ocupa o primeiro viewport e o rodapé vem DEPOIS
 * dele no fluxo normal. Assim a faixa não acompanha a rolagem.
 */
body.login.vbu-login-flow{
    min-height:100svh!important;
    height:auto!important;
    overflow:auto!important;
    display:block!important;
    padding:0!important;
}

body.login.vbu-login-flow .vbu-login-stage{
    position:relative!important;
    width:100%;
    min-height:100vh;
    min-height:100svh;
    overflow:hidden;
}

body.login.vbu-login-flow .vbu-login-stage #login{
    position:absolute!important;
}

body.login.vbu-login-flow .vbu-login-stage .bm-login-scene{
    position:absolute!important;
}

body.login.vbu-login-flow .vbu-institutional-footer{
    position:relative!important;
    z-index:20!important;
}

@media(max-width:980px){
    body.login.vbu-login-flow .vbu-login-stage{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        padding:14px!important;
    }

    body.login.vbu-login-flow .vbu-login-stage #login{
        position:relative!important;
        top:auto!important;
        right:auto!important;
        bottom:auto!important;
        left:auto!important;
        transform:none!important;
        margin:0 auto!important;
    }

    body.login.vbu-login-flow .vbu-login-stage .bm-login-scene{
        display:none!important;
    }
}

@media(max-width:620px){
    .vbu-institutional-footer__inner{
        width:min(100% - 22px,520px);
        min-height:58px;
        padding:6px 0;
        gap:9px;
    }

    .vbu-institutional-footer__logo{
        width:104px!important;
        height:40px!important;
        max-width:31vw!important;
        max-height:40px!important;
    }

    .vbu-institutional-footer__copy{
        gap:4px;
        font-size:10px!important;
        white-space:normal;
        flex-wrap:wrap;
        justify-content:flex-start;
    }
}

@media(max-width:390px){
    .vbu-institutional-footer__inner{
        width:calc(100% - 16px);
        gap:7px;
    }

    .vbu-institutional-footer__logo{
        width:86px!important;
        max-width:29vw!important;
    }

    .vbu-institutional-footer__copy{
        font-size:9.5px!important;
    }
}

@media print{
    .vbu-institutional-footer{
        box-shadow:none!important;
    }
}
