/*
 * Toggle de senha com ícone de olho
 */

/* Wrapper criado em volta do input[type="password"]
   Usa display:block (não flex) para evitar conflitos com CSS das telas.
   O botão do olho é position:absolute, então flex não é necessário. */
.cf-password-field {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.cf-password-field > input {
    width: 100%;
    padding-right: 40px;
    box-sizing: border-box;
    min-width: 0;
    margin: 0;
}

/* Botão do olho — apenas o ícone preto, sem fundo, à direita centralizado */
.cf-toggle-password {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;

    border: none;
    background: transparent !important;
    cursor: pointer;

    color: #000000;
    font-size: 18px;
    line-height: 1;

    outline: none;
    box-shadow: none;
    transition: color 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
    z-index: 5;
}

.cf-toggle-password:hover,
.cf-toggle-password:focus-visible {
    color: #000000;
}

.cf-toggle-password.is-visible {
    color: #000000;
}

.cf-toggle-password i {
    pointer-events: none;
}

/* --- Contexto: campos de cadastro/registro (.register-input) ---
   O .register-input é display:flex com ícone à esquerda;
   o wrapper deve fluir como item flex ocupando o espaço restante. */
.register-input .cf-password-field {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.register-input .cf-password-field > input {
    width: 100%;
    padding-right: 40px;
}

/* --- Tela de cadastro (.cadastro-field) ---
   O input original tem margin:6px 0 0; transferimos para o wrapper. */
.cadastro-field .cf-password-field {
    display: block;
    width: 100%;
    margin: 6px 0 0;
    box-sizing: border-box;
}

.cadastro-field .cf-password-field > input {
    display: block;
    width: 100%;
    padding-right: 40px;
    margin: 0;
}

/* --- Telas de login / redefinição de senha --- */
.login-content .cf-password-field,
.content-login .cf-password-field {
    display: block;
    width: 100%;
    margin: 0;
}

.login-content .cf-password-field > input,
.content-login .cf-password-field > input {
    width: 100%;
    padding-right: 40px;
    margin: 0;
}

/* Acessibilidade: foco visível */
.cf-toggle-password:focus-visible {
    outline: 2px solid rgba(0, 0, 0, 0.35);
    outline-offset: 1px;
    border-radius: 6px;
}

.cf-toggle-password{
    display: flex;
    justify-content: right;
    top: 40% !important;
}