.otp { margin-top: 12px; }
.otp p { margin: 10px 0; }
.otp [data-otp-codigo], .otp [data-otp-troca] { margin-top: 16px; }
.otp label { display: block; font-weight: 600; margin-bottom: 12px; }
.otp input { display: block; width: 100%; min-height: 48px; margin: 8px 0 12px; padding: 12px 14px; border: 1px solid var(--borda); border-radius: 12px; background: #fff; color: var(--texto); font-size: 16px; }
.otp input:focus { outline: 2px solid var(--laranja); outline-offset: 2px; }
.otp .otp-numero { color: var(--texto-2); }
.otp .otp-numero strong { color: var(--texto); }
.otp-link { padding: 0; border: 0; background: none; color: #536177; font: inherit; text-decoration: underline; cursor: pointer; }
.otp [data-otp-status] { min-height: 1.5em; }
.otp [data-otp-status]:empty { display: none; }
.otp [data-otp-enviar][data-reenvio="1"] { width: auto; min-height: 0; margin-top: 14px; padding: 0; border: 0; background: none; color: #536177; font: inherit; text-decoration: underline; transition: none; }
.otp [hidden] { display: none !important; }
