:root{
    --esc-login-vino:#8b0f43;
    --esc-login-fondo:#f4f4f5;
}

.login-banner-institucional,
.banner{
    width:100%;
    height:150px;
    margin:0;
    overflow:hidden;
    background:#fff;
}

.login-banner-institucional img,
.banner img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}

.franja-superior,
.franja-inferior,
.ti-login-bar{
    height:8px !important;
    background:var(--esc-login-vino) !important;
}

.contenedor{
    min-height:calc(100svh - 166px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px 16px 58px;
    background:var(--esc-login-fondo);
}

.login-box{
    width:min(430px, 100%);
}

.login-box .loguser2,
.brand-top .loguser2,
body.al-google-login .al-login-logo,
body.login-externo .externo-login-logo,
body.ti-login-page .ti-login-logo{
    display:none !important;
}

.page-login{
    min-height:calc(100svh - 150px) !important;
}

body.al-google-login{
    display:block !important;
    min-height:100svh !important;
    padding:0 !important;
    align-items:initial !important;
    justify-content:initial !important;
    background:var(--esc-login-fondo) !important;
    border-top:0 !important;
    border-bottom:8px solid var(--esc-login-vino) !important;
    overflow-x:hidden !important;
}

body.al-google-login .al-login-card{
    margin:clamp(38px, 8vh, 92px) auto 56px !important;
}

body.login-externo{
    display:block;
    background:var(--esc-login-fondo);
}

body.login-externo .login-banner-institucional{
    margin-top:10px;
}

body.login-externo .externo-login-page{
    min-height:calc(100svh - 168px);
    padding:34px 12px 44px;
}

body.ti-login-page{
    display:block;
    min-height:100svh;
    background:var(--esc-login-fondo);
}

body.ti-login-page .ti-login-wrap{
    min-height:calc(100svh - 166px);
    padding:34px 16px 48px;
}

body.ti-login-page .ti-login-card{
    margin:0 auto;
}

@media (max-width:767.98px){
    .login-banner-institucional,
    .banner{
        height:96px;
    }

    .contenedor,
    body.login-externo .externo-login-page,
    body.ti-login-page .ti-login-wrap{
        min-height:calc(100svh - 112px);
        padding-top:24px;
        padding-bottom:34px;
    }

    body.al-google-login .al-login-card{
        margin:28px auto 36px !important;
    }
}
