/* Telas "Criar nova senha", "Esqueceu a senha", "Indisponível", "Bloqueio", "Cadastro", "E-mail enviado" e "Termos Infoseg" - complementa o Login.css (carregar depois dele).
   Todos os seletores começam com .pagina-reset para valer sobre o tema e o admin-forms. */

/* ---------- Mapa estático (sem animação nesta página) ---------- */
.pagina-reset .br-host > img.mapa-estatico {
    display: block;
    position: relative;
    height: calc(100vh - 24px);
    height: calc(100dvh - 24px);
    width: auto;
    max-width: 100%;
    opacity: .93
}

/* ---------- Título ---------- */
.pagina-reset .pagina-titulo {
    text-align: center;
    margin-top: 4px
}

    .pagina-reset .pagina-titulo h2 {
        margin: 0 0 6px;
        font: 600 1.25rem var(--f);
        color: var(--creme);
        letter-spacing: .01em
    }

    .pagina-reset .pagina-titulo p {
        margin: 0;
        font-size: .9375rem;
        color: var(--txt2)
    }

/* ---------- Campos (garante o visual do login sobre o tema/admin-forms) ---------- */
.pagina-reset .input input {
    width: 100% !important;
    height: 48px !important;
    padding: 0 14px 0 44px !important;
    color: var(--creme) !important;
    background: rgba(0,0,0,.42) !important;
    border: 1px solid var(--linha) !important;
    border-radius: 10px !important;
    box-shadow: none
}

    .pagina-reset .input input:focus {
        border-color: var(--caqui-claro) !important;
        box-shadow: 0 0 0 3px rgba(160,139,91,.25)
    }

/* ---------- Mensagem com mais de um Label (ForgotControl: FailureText + ErrorMessage) ---------- */
.pagina-reset .alerta-txt {
    display: grid;
    gap: 2px
}

    .pagina-reset .alerta-txt > span:empty {
        display: none
    }

.pagina-reset .alerta:has(.alerta-txt > span:empty + span:empty) {
    display: none
}

/* ---------- Confirmação de envio (ForgotControl: DisplayEmail) ---------- */
.pagina-reset .aviso-ok {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(0,110,44,.16);
    border: 1px solid rgba(60,160,95,.55);
    color: var(--creme);
    font-size: .95rem;
    line-height: 1.4
}

    .pagina-reset .aviso-ok svg {
        flex: none;
        width: 20px;
        height: 20px;
        fill: none;
        stroke: #5FC487;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

.pagina-reset .pagina-titulo b {
    color: var(--caqui-claro);
    font-weight: 600
}

/* ---------- Mensagem de status (IndisponivelControl) ---------- */
.pagina-reset .status-bloco {
    text-align: center;
    padding: 4px 0 2px
}

    .pagina-reset .status-bloco .status-ico {
        width: 46px;
        height: 46px;
        margin: 0 auto 10px;
        display: block;
        fill: none;
        stroke: #E5484F;
        stroke-width: 1.8;
        stroke-linecap: round
    }

    .pagina-reset .status-bloco .status-titulo {
        margin: 0 0 10px;
        font: 800 1.6rem var(--fd);
        letter-spacing: .12em;
        text-transform: uppercase;
        color: #E5484F
    }

    .pagina-reset .status-bloco .status-texto {
        margin: 0 0 6px;
        font-size: 1rem;
        color: var(--creme)
    }

    .pagina-reset .status-bloco .status-dica {
        margin: 0;
        font-size: .9375rem;
        color: var(--txt2)
    }

/* link com aparência de botão */
.pagina-reset a.btn-link-botao {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #000 !important
}

    .pagina-reset a.btn-link-botao:hover,
    .pagina-reset a.btn-link-botao:focus {
        color: #000 !important;
        text-decoration: none
    }

/* ---------- Links no rodapé do cartão (RegisterControl) ---------- */
.pagina-reset .codigo-links {
    display: grid;
    gap: 4px;
    text-align: center;
    font-size: .9375rem;
    color: var(--txt2);
    margin-top: 4px
}

    .pagina-reset .codigo-links p {
        margin: 0
    }

/* ---------- Variação informativa do bloco de status (ServicoEmailControl) ---------- */
.pagina-reset .status-bloco.status-info .status-ico {
    stroke: var(--caqui-claro)
}

.pagina-reset .status-bloco.status-info .status-titulo {
    color: var(--caqui-claro)
}

.pagina-reset .status-bloco .status-texto + .status-texto {
    margin-top: 10px
}

.pagina-reset .status-bloco .status-dica {
    margin-top: 12px
}

/* ---------- Termo de uso em iframe (ValidacaoEmailInfosegControl) ---------- */
.pagina-reset .card.card-termo {
    max-width: 460px
}

.pagina-reset .termo-quadro {
    border: 1px solid var(--borda-vidro);
    border-radius: 10px;
    overflow: hidden;
    background: #fff
}

    .pagina-reset .termo-quadro iframe {
        display: block;
        width: 100%;
        height: 300px;
        border: 0
    }

/* caixa "Li e aceito o termo acima" (asp:CheckBox) */
.pagina-reset label.aceite {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    font-size: .9375rem;
    font-weight: 500;
    color: var(--creme);
    cursor: pointer
}

    .pagina-reset label.aceite input[type=checkbox] {
        width: 20px;
        height: 20px;
        margin: 0;
        accent-color: var(--caqui);
        cursor: pointer
    }

/* mensagem de erro do servidor (lblErro): some quando vazia */
.pagina-reset .erro-linha {
    margin: -6px 0 0;
    text-align: center;
    font-size: .875rem;
    font-weight: 500;
    color: #E5484F
}

    .pagina-reset .erro-linha:has(> span:empty) {
        display: none
    }

/* ---------- Celular ---------- */
@media (max-width:860px) {
    .pagina-reset .termo-quadro iframe {
        height: 260px
    }

    .pagina-reset .br-host > img.mapa-estatico {
        width: 100%;
        height: auto;
        max-height: 66vh
    }
}
