/**
 * Zelva — Estilos del paso de verificación OTP
 *
 * Todas las reglas usan !important porque el paso OTP se inyecta dentro
 * del modal de XootiX, que tiene CSS con alta especificidad. Sin !important
 * los inputs heredan colores claros sobre claros y quedan invisibles.
 *
 * Paleta Zelva: #ff2a2a (rojo marca) · #222222 (oscuro) · #FFFFFF (claro)
 */

.zelva-otp-step {
    padding: 32px 24px !important;
    text-align: center !important;
    background: #f6f6f6 !important;
    color: #222222 !important;
    border-radius: 12px !important;
    font-family: inherit !important;
    max-width: 420px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    border: 1px solid #e8e8e8 !important;
}

.zelva-otp-step h3 {
    margin: 0 0 10px !important;
    color: #222222 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    line-height: 1.2 !important;
}

.zelva-otp-step .zelva-otp-email {
    margin: 0 0 24px !important;
    font-size: 14px !important;
    color: #666666 !important;
    font-weight: 500 !important;
    word-break: break-all !important;
}

/* Especificidad reforzada (input.clase) para ganarle al CSS de XootiX,
   que pinta sus inputs con color:#fff !important dentro del modal. */
.zelva-otp-step input.zelva-otp-input,
.zelva-otp-step input.zelva-otp-input[type="text"] {
    font-size: 28px !important;
    letter-spacing: 6px !important;
    text-align: center !important;
    text-indent: 0 !important;
    width: 100% !important;
    max-width: 280px !important;
    padding: 18px 14px !important;
    border: 2px solid #555555 !important;
    border-radius: 10px !important;
    color: #222222 !important;
    background: #ffffff !important;
    -webkit-text-fill-color: #222222 !important; /* Safari/Chrome: anula text-fill heredado */
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
    font-weight: 700 !important;
    font-family: 'Courier New', 'Consolas', monospace !important;
    display: block !important;
    margin: 0 auto !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.10), inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.zelva-otp-step input.zelva-otp-input:focus,
.zelva-otp-step input.zelva-otp-input[type="text"]:focus {
    border-color: #ff2a2a !important;
    background: #ffffff !important;
    color: #222222 !important;
    -webkit-text-fill-color: #222222 !important;
    box-shadow: 0 0 0 3px rgba(255, 42, 42, 0.18), inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.zelva-otp-step input.zelva-otp-input::placeholder,
.zelva-otp-step input.zelva-otp-input[type="text"]::placeholder {
    color: #999999 !important;
    letter-spacing: normal !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: center !important;
    text-indent: 0 !important;
    opacity: 1 !important;
    text-transform: none !important;
    font-family: inherit !important;
}

.zelva-otp-step .zelva-otp-msg {
    margin: 14px 0 18px !important;
    min-height: 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.zelva-otp-step .zelva-otp-verify {
    padding: 14px 24px !important;
    width: 100% !important;
    max-width: 260px !important;
    background: #ff2a2a !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    transition: background .2s ease, transform .1s ease !important;
    display: block !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.zelva-otp-step .zelva-otp-verify:hover:not(:disabled) {
    background: #e51e1e !important;
}

.zelva-otp-step .zelva-otp-verify:active:not(:disabled) {
    transform: scale(0.98) !important;
}

.zelva-otp-step .zelva-otp-verify:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

.zelva-otp-step .zelva-otp-resend-wrap {
    margin-top: 16px !important;
}

.zelva-otp-step .zelva-otp-resend {
    display: inline-block !important;
    font-size: 13px !important;
    color: #ff2a2a !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.zelva-otp-step .zelva-otp-resend:hover {
    text-decoration: underline !important;
}
