/* Login Salvatorianas v20260630
 * Três layouts selecionáveis via apps_config.login_layout:
 * atual, fundadores e padre_jordan_side.
 * Compatível com Bootstrap 3, Londinium, Smarty 2 e PHP 7.3.
 */

html,
body.salv-login-page {
    min-height: 100%;
}

body.salv-login-page {
    --salv-login-art-opacity: .34;
    margin: 0;
    overflow-x: hidden;
    background: #edf3f7;
    color: #1d3447;
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.salv-login-page a,
body.salv-login-page .btn,
body.salv-login-page .form-control,
body.salv-login-page .select2-container .select2-choice {
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

.salv-login-shell {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background:
        radial-gradient(circle at 18% 16%, rgba(18, 176, 169, .14), transparent 30%),
        radial-gradient(circle at 84% 12%, rgba(11, 86, 166, .12), transparent 32%),
        #edf3f7;
}

.salv-login-topbar {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    padding: 10px 22px;
    background: #0b56a6;
    border-bottom: 3px solid #d5a63a;
    box-shadow: 0 2px 10px rgba(8, 44, 82, .15);
}

.salv-login-topbar-logo {
    display: inline-flex;
    align-items: center;
}

.salv-login-topbar-logo img {
    display: block;
    width: 205px;
    max-width: 64vw;
    height: auto;
}

.salv-login-topbar-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 11px;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 999px;
    color: rgba(255, 255, 255, .92);
    background: rgba(255, 255, 255, .10);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
}

.salv-login-stage {
    position: relative;
    z-index: 2;
    flex: 1 0 auto;
    display: flex;
    min-height: calc(100vh - 112px);
}

.salv-login-visual,
.salv-login-main {
    position: relative;
    min-height: 640px;
}

.salv-login-visual {
    overflow: hidden;
    flex: 0 0 56%;
    background: #e9f1f6;
}

.salv-login-visual:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: var(--salv-login-art-opacity, .34);
    filter: saturate(.82) contrast(.92);
}

.salv-login-visual-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .20) 0%, rgba(255, 255, 255, .66) 100%),
        linear-gradient(180deg, rgba(244, 248, 251, .10) 0%, rgba(11, 86, 166, .24) 100%);
}

.salv-login-visual-copy {
    position: absolute;
    z-index: 2;
    left: 42px;
    right: 42px;
    bottom: 48px;
    max-width: 560px;
    color: #fff;
    text-shadow: 0 2px 18px rgba(3, 24, 42, .32);
}

.salv-login-kicker {
    margin-bottom: 8px;
    color: #d5a63a;
    font-size: 18px;
    font-weight: 700;
}

.salv-login-visual-copy h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 47px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.04em;
}

.salv-login-visual-copy p {
    max-width: 450px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .90);
    font-size: 15px;
    line-height: 1.65;
}

.salv-login-main {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 42px 52px;
}

.salv-login-card {
    position: relative;
    width: 100%;
    max-width: 520px;
    padding: 42px 42px 34px;
    border: 1px solid rgba(11, 86, 166, .09);
    border-radius: 18px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 22px 60px rgba(9, 46, 78, .16);
    backdrop-filter: blur(12px);
}

.salv-login-brand {
    margin-bottom: 22px;
    text-align: center;
}

.salv-login-brand img {
    display: inline-block;
    width: 272px;
    max-width: 90%;
    height: auto;
}

.salv-login-card-title {
    margin-bottom: 16px;
    text-align: center;
}

.salv-login-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 8px;
    border: 1px solid rgba(18, 176, 169, .22);
    border-radius: 50%;
    color: #0b56a6;
    background: #f3fbfc;
    box-shadow: 0 8px 20px rgba(18, 176, 169, .12);
}

.salv-login-card-title h2 {
    margin: 0;
    color: #0b456c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.25;
}

.salv-login-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 11px;
}

.salv-login-divider:before,
.salv-login-divider:after {
    content: "";
    display: block;
    width: 78px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(213, 166, 58, .75));
}

.salv-login-divider:after {
    background: linear-gradient(90deg, rgba(213, 166, 58, .75), transparent);
}

.salv-login-divider span {
    display: block;
    width: 9px;
    height: 9px;
    margin: 0 10px;
    border: 2px solid #d5a63a;
    border-radius: 50%;
}

.salv-login-message-rotator {
    position: relative;
    min-height: 26px;
    margin: 2px 0 22px;
    color: #5b7182;
    text-align: center;
    font-size: 13px;
    line-height: 1.45;
}

.salv-login-message {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(5px);
    transition: opacity .32s ease, transform .32s ease;
}

.salv-login-message.is-active {
    opacity: 1;
    transform: translateY(0);
}

.salv-login-form {
    margin-top: 4px;
}

.salv-login-field {
    margin-bottom: 15px;
}

.salv-login-field label {
    display: block;
    margin-bottom: 7px;
    color: #1d3447;
    font-size: 13px;
    font-weight: 700;
}

.salv-login-control {
    position: relative;
}

.salv-login-control > i {
    position: absolute;
    left: 15px;
    top: 50%;
    z-index: 3;
    color: #7890a2;
    font-size: 15px;
    transform: translateY(-50%);
}

.salv-login-control .form-control,
.salv-login-control .select2-container .select2-choice {
    height: 45px;
    padding-left: 45px;
    border: 1px solid #d8e3eb;
    border-radius: 8px;
    color: #1d3447;
    background: #fff;
    box-shadow: none;
    font-size: 13px;
}

.salv-login-control .form-control:focus,
.salv-login-control .select2-container-active .select2-choice {
    border-color: #12b0a9;
    box-shadow: 0 0 0 3px rgba(18, 176, 169, .12) !important;
}

.salv-login-control .select2-container {
    width: 100% !important;
}

.salv-login-control .select2-container .select2-choice > .select2-chosen {
    line-height: 43px;
    color: #6b7f8f;
}

.salv-login-control .select2-container .select2-choice div {
    border-left: 0;
    background: transparent;
}

.salv-login-control .select2-container .select2-choice div b:after {
    color: #0b56a6;
}

.salv-login-password-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    z-index: 4;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    color: #7890a2;
    background: transparent;
    line-height: 34px;
    text-align: center;
    transform: translateY(-50%);
}

.salv-login-password-toggle:hover,
.salv-login-password-toggle:focus {
    color: #0b56a6;
}

.salv-login-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    margin-top: 18px;
    border: 0;
    border-radius: 8px;
    color: #fff !important;
    background: linear-gradient(135deg, #0b56a6 0%, #0750af 100%);
    box-shadow: 0 12px 24px rgba(11, 86, 166, .24);
    font-size: 15px;
    font-weight: 700;
}

.salv-login-submit i {
    margin-right: 9px;
    font-size: 15px;
}

.salv-login-submit:hover,
.salv-login-submit:focus {
    color: #fff !important;
    background: linear-gradient(135deg, #084a78 0%, #0b56a6 100%);
    box-shadow: 0 15px 30px rgba(11, 86, 166, .28);
    transform: translateY(-1px);
}

.salv-login-submit.is-loading {
    pointer-events: none;
    opacity: .78;
}

.salv-login-return {
    min-height: 34px;
    margin-top: 16px;
    text-align: center;
}

.salv-login-return .bg-danger,
.salv-login-return .bg-success,
.salv-login-return .bg-warning,
.salv-login-return .bg-info,
.salv-login-return .with-padding {
    display: inline-block;
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    text-align: center;
}

.salv-login-return .bg-danger {
    color: #9f2d26;
    background: #fdecea;
}

.salv-login-return .bg-success {
    color: #17663a;
    background: #ecf8f0;
}

.salv-login-footer {
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    padding: 12px 22px;
    border-top: 1px solid rgba(11, 86, 166, .08);
    color: #6e8494;
    background: rgba(255, 255, 255, .92);
    font-size: 12px;
}

.salv-login-footer a {
    color: #0b56a6;
}

.salv-login-footer-brand {
    display: flex;
    align-items: center;
    min-width: 0;
    font-weight: 700;
    color: #315266;
}

.salv-login-footer-brand img {
    width: 31px;
    height: auto;
    margin-right: 8px;
}

/* Layout 1: mantém a leitura da tela atual, agora com acabamento do padrão visual novo. */
.login-layout-atual .salv-login-shell {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .40), rgba(255, 255, 255, .16)),
        url("../img/arvore.jpg") center center / cover no-repeat;
}

.login-layout-atual .salv-login-stage {
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 112px);
    padding: 28px 16px;
}

.login-layout-atual .salv-login-visual {
    display: none;
}

.login-layout-atual .salv-login-main {
    flex: 0 1 560px;
    min-height: 0;
    padding: 0;
}

.login-layout-atual .salv-login-card {
    max-width: 430px;
    padding-top: 34px;
}

/* Layout 2: fundadores juntos. */
.login-layout-fundadores .salv-login-topbar {
    background: linear-gradient(135deg, #0b56a6 0%, #084a78 100%);
}

.login-layout-fundadores .salv-login-stage {
    background:
        radial-gradient(circle at 76% 20%, rgba(213, 166, 58, .13), transparent 31%),
        linear-gradient(90deg, #0b56a6 0%, #0b56a6 6px, transparent 6px),
        #f4f8fb;
}

.login-layout-fundadores .salv-login-visual:before {
    background-image: url("../img/login/login-fundadores.jpg");
    background-position: center center;
}

.login-layout-fundadores .salv-login-visual-overlay {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .12) 0%, rgba(244, 248, 251, .84) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, .38) 0%, rgba(11, 86, 166, .30) 100%);
}

.login-layout-fundadores .salv-login-visual:after {
    content: "";
    position: absolute;
    top: 0;
    right: -1px;
    bottom: 0;
    width: 145px;
    z-index: 2;
    background: linear-gradient(90deg, transparent, rgba(244, 248, 251, .97));
}

.login-layout-fundadores .salv-login-card-icon,
.login-layout-fundadores .salv-login-divider span {
    border-color: #d5a63a;
    color: #d5a63a;
    background: #fff9e8;
}

.login-layout-fundadores .salv-login-submit {
    background: linear-gradient(135deg, #0b56a6 0%, #0750af 100%);
}

/* Layout 3: lateral azul com Padre Jordan. */
.login-layout-padre_jordan_side .salv-login-shell {
    background: #fff;
}

.login-layout-padre_jordan_side .salv-login-stage {
    background:
        radial-gradient(circle at 83% 34%, rgba(11, 86, 166, .08), transparent 24%),
        linear-gradient(90deg, #083e72 0%, #083e72 42%, #fff 42%, #fff 100%);
}

.login-layout-padre_jordan_side .salv-login-visual {
    flex-basis: 42%;
    background: #083e72;
}

.login-layout-padre_jordan_side .salv-login-visual:before {
    background-image: url("../img/login/login-padre-jordan-side.jpg");
    background-position: center center;
    opacity: var(--salv-login-art-opacity, .34);
}

.login-layout-padre_jordan_side .salv-login-visual-overlay {
    background:
        linear-gradient(90deg, rgba(8, 62, 114, .20) 0%, rgba(8, 62, 114, .42) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(4, 42, 70, .28));
}

.login-layout-padre_jordan_side .salv-login-main {
    flex-basis: 58%;
    background:
        radial-gradient(circle at 92% 38%, rgba(11, 86, 166, .06), transparent 26%),
        #fff;
}

.login-layout-padre_jordan_side .salv-login-card {
    max-width: 540px;
    box-shadow: 0 18px 44px rgba(9, 46, 78, .11);
}

.login-layout-padre_jordan_side .salv-login-card:after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -110px;
    z-index: -1;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(11, 86, 166, .05);
}

.login-layout-padre_jordan_side .salv-login-footer {
    border-top-color: rgba(11, 86, 166, .08);
}

@media (max-width: 1200px) {
    .salv-login-main {
        padding: 34px 34px;
    }

    .salv-login-visual-copy h1 {
        font-size: 40px;
    }
}

@media (max-width: 991px) {
    .salv-login-stage,
    .login-layout-padre_jordan_side .salv-login-stage {
        display: block;
        min-height: 0;
        background: #f4f8fb;
    }

    .salv-login-visual,
    .login-layout-padre_jordan_side .salv-login-visual {
        min-height: 240px;
        height: 240px;
        flex-basis: auto;
    }

    .login-layout-fundadores .salv-login-visual:before,
    .login-layout-padre_jordan_side .salv-login-visual:before {
        background-position: center 20%;
    }

    .login-layout-atual .salv-login-visual {
        display: none;
    }

    .login-layout-fundadores .salv-login-visual:after {
        top: auto;
        right: 0;
        left: 0;
        width: auto;
        height: 92px;
        background: linear-gradient(180deg, transparent, #f4f8fb);
    }

    .salv-login-visual-copy {
        left: 24px;
        right: 24px;
        bottom: 24px;
    }

    .salv-login-visual-copy h1 {
        font-size: 34px;
    }

    .salv-login-visual-copy p {
        display: none;
    }

    .salv-login-main,
    .login-layout-padre_jordan_side .salv-login-main {
        min-height: 0;
        padding: 26px 18px 34px;
        background: #f4f8fb;
    }

    .login-layout-atual .salv-login-stage {
        display: flex;
    }
}

@media (max-width: 640px) {
    .salv-login-topbar {
        min-height: 52px;
        padding: 9px 13px;
    }

    .salv-login-topbar-logo img {
        width: 178px;
    }

    .salv-login-topbar-pill {
        display: none;
    }

    .salv-login-card {
        padding: 28px 20px 24px;
        border-radius: 14px;
    }

    .salv-login-brand img {
        width: 232px;
    }

    .salv-login-card-title h2 {
        font-size: 23px;
    }

    .salv-login-footer {
        display: block;
        min-height: 0;
        padding: 12px 14px;
        text-align: center;
    }

    .salv-login-footer-brand {
        justify-content: center;
        margin-bottom: 5px;
    }
}

/* Layout Fundadores modelo v25
 * Fundo selecionável via apps_config.login_background.
 * Mantém a autenticação intacta e altera somente apresentação.
 */
.login-layout-fundadores .salv-login-shell {
    min-height: 100vh;
    background-color: #edf3f7;
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .02)),
        url("../img/login/fundadores-bg-medio.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.login-layout-fundadores.login-bg-fundadores_translucido .salv-login-shell {
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .02)),
        url("../img/login/fundadores-bg-translucido.jpg");
}

.login-layout-fundadores.login-bg-fundadores_suave .salv-login-shell {
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .02)),
        url("../img/login/fundadores-bg-suave.jpg");
}

.login-layout-fundadores.login-bg-fundadores_medio .salv-login-shell {
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .02)),
        url("../img/login/fundadores-bg-medio.jpg");
}

.login-layout-fundadores.login-bg-fundadores_forte .salv-login-shell {
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .02)),
        url("../img/login/fundadores-bg-forte.jpg");
}

.login-layout-fundadores .salv-login-topbar {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    min-height: 76px;
    padding: 18px 34px;
    border-bottom: 0;
    background: linear-gradient(180deg, rgba(8, 62, 114, .58), rgba(8, 62, 114, .18) 62%, transparent 100%);
    box-shadow: none;
}

.login-layout-fundadores .salv-login-topbar-logo img {
    width: 210px;
    filter: drop-shadow(0 8px 18px rgba(5, 40, 73, .18));
}

.login-layout-fundadores .salv-login-topbar-pill {
    min-height: 34px;
    padding: 7px 18px;
    border-color: rgba(255, 255, 255, .42);
    color: #fff;
    background: rgba(11, 86, 166, .26);
    box-shadow: 0 10px 26px rgba(5, 40, 73, .15);
    text-shadow: 0 1px 2px rgba(5, 40, 73, .25);
}

.login-layout-fundadores .salv-login-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 106px 18px 88px;
    background:
        linear-gradient(90deg, rgba(4, 31, 54, .06), transparent 24%, transparent 76%, rgba(4, 31, 54, .06)),
        radial-gradient(circle at 50% 48%, rgba(255, 255, 255, .28), transparent 28%);
}

.login-layout-fundadores .salv-login-visual {
    display: none;
}

.login-layout-fundadores .salv-login-main {
    flex: 0 1 520px;
    min-height: 0;
    padding: 0;
    background: transparent;
}

.login-layout-fundadores .salv-login-card {
    max-width: 500px;
    padding: 38px 38px 30px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 24px;
    background: rgba(255, 255, 255, .82);
    box-shadow:
        0 26px 80px rgba(5, 40, 73, .20),
        inset 0 1px 0 rgba(255, 255, 255, .76);
}

.login-layout-fundadores .salv-login-brand {
    margin-bottom: 18px;
}

.login-layout-fundadores .salv-login-brand img {
    width: 232px;
}

.login-layout-fundadores .salv-login-card-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 10px;
    border-color: rgba(213, 166, 58, .54);
    color: #d5a63a;
    background: #fff9e8;
    box-shadow: 0 12px 24px rgba(213, 166, 58, .16);
}

.login-layout-fundadores .salv-login-card-title h2 {
    color: #0a3f73;
    font-size: 28px;
}

.login-layout-fundadores .salv-login-message-rotator {
    color: #3f5f78;
}

.login-layout-fundadores .salv-login-submit {
    height: 50px;
    border-radius: 10px;
    background: linear-gradient(135deg, #0b56a6 0%, #073f8f 100%);
    box-shadow: 0 14px 30px rgba(11, 86, 166, .26);
}

.login-layout-fundadores .salv-login-footer {
    position: absolute;
    right: 0;
    bottom: 12px;
    left: 0;
    display: block;
    min-height: 0;
    padding: 0 18px;
    border-top: 0;
    color: rgba(10, 63, 115, .88);
    background: transparent;
    text-align: center;
    text-shadow: 0 1px 10px rgba(255, 255, 255, .72);
}

.login-layout-fundadores .salv-login-footer-brand {
    justify-content: center;
    color: #0a3f73;
}

.login-layout-fundadores .salv-login-footer-brand img {
    width: 28px;
}

.login-layout-fundadores .salv-login-footer-copy {
    margin-top: 4px;
}

.login-layout-fundadores .salv-login-footer a {
    color: #0b56a6;
    font-weight: 700;
}

@media (max-width: 991px) {
    .login-layout-fundadores .salv-login-stage {
        display: flex;
        min-height: 100vh;
        padding: 94px 18px 88px;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .30), rgba(244, 248, 251, .10)),
            radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .30), transparent 30%);
    }

    .login-layout-fundadores .salv-login-main {
        flex: 0 1 500px;
        padding: 0;
        background: transparent;
    }

    .login-layout-fundadores .salv-login-topbar {
        padding: 14px 18px;
    }

    .login-layout-fundadores .salv-login-card {
        background: rgba(255, 255, 255, .88);
    }
}

@media (max-width: 640px) {
    .login-layout-fundadores .salv-login-shell {
        background-position: center center;
    }

    .login-layout-fundadores .salv-login-topbar-logo img {
        width: 178px;
    }

    .login-layout-fundadores .salv-login-stage {
        padding: 82px 14px 84px;
    }

    .login-layout-fundadores .salv-login-card {
        padding: 28px 20px 24px;
        border-radius: 18px;
    }

    .login-layout-fundadores .salv-login-brand img {
        width: 212px;
    }
}

/* Refinamento v26: login Fundadores compartilhado entre Sistema e Eleições. */
.salv-login-topbar {
    justify-content: flex-start;
}

.salv-login-topbar-pill {
    display: none !important;
}

.salv-login-card {
    background: rgba(255, 255, 255, .88);
}

.login-layout-fundadores .salv-login-card {
    background: rgba(255, 255, 255, .84);
    border-color: rgba(255, 255, 255, .66);
    box-shadow:
        0 26px 80px rgba(5, 40, 73, .18),
        inset 0 1px 0 rgba(255, 255, 255, .70);
}

.login-layout-fundadores .salv-login-card-title h2 {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.salv-login-message-rotator {
    min-height: 36px;
    margin-bottom: 20px;
    color: #42627b;
    font-size: 13px;
}

.salv-login-message {
    padding: 0 8px;
}

.salv-login-control .select2-container .select2-choice {
    border-color: #cddce8;
    background: rgba(255, 255, 255, .92);
}

.salv-login-control .select2-container .select2-choice > .select2-chosen {
    color: #315266;
    font-weight: 600;
}

.salv-login-control .select2-container .select2-choice div b:after {
    color: #12b0a9;
}

body.salv-login-page .select2-drop,
body.salv-login-page .select2-drop-active {
    border-color: #12b0a9;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 16px 34px rgba(8, 62, 114, .16);
}

body.salv-login-page .select2-search input {
    border-color: #cddce8;
    border-radius: 7px;
}

body.salv-login-page .select2-results .select2-highlighted {
    color: #fff;
    background: #12b0a9;
}

body.salv-login-page .select2-results li {
    color: #1d3447;
}

.salv-login-footer,
.login-layout-fundadores .salv-login-footer {
    justify-content: center;
    color: rgba(10, 63, 115, .86);
    font-size: 12px;
    font-weight: 600;
}

.salv-login-footer-copy {
    width: 100%;
    text-align: center;
}

.salv-login-footer-brand {
    display: none !important;
}

.salv-login-footer a,
.login-layout-fundadores .salv-login-footer a {
    color: #0b56a6;
    font-weight: 800;
}

@media (max-width: 991px) {
    .login-layout-fundadores .salv-login-card {
        background: rgba(255, 255, 255, .88);
    }
}


/* Refinamento v27: card mais translúcido, frases em destaque e assinatura Vedana no rodapé. */
.login-layout-fundadores .salv-login-card {
    background: rgba(255, 255, 255, .76);
    border-color: rgba(255, 255, 255, .58);
    box-shadow:
        0 28px 86px rgba(5, 40, 73, .18),
        inset 0 1px 0 rgba(255, 255, 255, .68);
    -webkit-backdrop-filter: blur(16px) saturate(1.06);
    backdrop-filter: blur(16px) saturate(1.06);
}

.login-layout-fundadores .salv-login-message-rotator,
.salv-login-message-rotator {
    min-height: 48px;
    margin: 4px 0 22px;
    padding: 9px 18px;
    border: 1px solid rgba(18, 176, 169, .20);
    border-radius: 14px;
    color: #0a3f73;
    background: rgba(255, 255, 255, .48);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .54);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .72);
}

.salv-login-message-rotator:before {
    content: "\201C";
    position: absolute;
    left: 10px;
    top: -4px;
    color: rgba(213, 166, 58, .72);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1;
}

.salv-login-message {
    right: 12px;
    left: 12px;
    padding: 0 18px;
}

.salv-login-footer,
.login-layout-fundadores .salv-login-footer {
    color: rgba(10, 63, 115, .90);
    font-size: 12px;
    font-weight: 700;
}

.salv-login-footer-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
    width: 100%;
    text-align: center;
}

.salv-login-vedana {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #0b56a6 !important;
    font-weight: 800;
    text-decoration: none;
}

.salv-login-vedana:hover,
.salv-login-vedana:focus {
    color: #073f8f !important;
    text-decoration: none;
}

.salv-login-vedana-logo {
    display: inline-block;
    width: 72px;
    max-height: 22px;
    object-fit: contain;
    vertical-align: middle;
}

@media (max-width: 991px) {
    .login-layout-fundadores .salv-login-card {
        background: rgba(255, 255, 255, .80);
    }
}

@media (max-width: 640px) {
    .salv-login-message-rotator {
        min-height: 54px;
        padding-right: 12px;
        padding-left: 12px;
        font-size: 13px;
    }

    .salv-login-message {
        right: 8px;
        left: 8px;
        padding: 0 13px;
    }

    .salv-login-vedana-logo {
        width: 64px;
    }
}
