/* Página pública de autocadastro do aluno */

.pagina-login { justify-content: flex-start; padding-top: 32px; padding-bottom: 32px; }
.cartao-login.largo { max-width: 600px; }
.texto-justificado { text-align: justify; hyphens: auto; }

.secao-cadastro { margin: 22px 0 12px; padding-top: 16px; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--texto-suave); border-top: 1px solid var(--borda); }
.secao-cadastro:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

.linha-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }

fieldset.campo { margin: 0 0 18px; padding: 0; border: 0; min-width: 0; }
fieldset.campo legend { padding: 0; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.opcoes-sexo { display: flex; gap: 8px; }
.opcao { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; height: 46px; font-size: 15px; border: 1px solid var(--borda); border-radius: 8px; cursor: pointer; }
.opcao:has(input:checked) { border-color: var(--marinho); background: #eef3fb; font-weight: 600; }
.opcao input { accent-color: var(--marinho); }

.termo {
  max-height: 260px; overflow-y: auto; margin-bottom: 12px; padding: 14px 16px;
  font-size: 14px; text-align: justify; hyphens: auto;
  background: var(--fundo); border: 1px solid var(--borda); border-radius: 10px;
}
.termo:focus-visible { outline: 3px solid var(--foco); outline-offset: 1px; }
.termo h2 { margin: 0 0 8px; font-size: 15px; text-align: left; color: var(--marinho); }
.termo h3 { margin: 12px 0 4px; font-size: 14px; text-align: left; color: var(--marinho); }
.termo p { margin: 0 0 8px; }
.termo-versao { font-size: 12px; color: var(--texto-suave); }

.aceite { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 20px; font-size: 14px; text-align: justify; cursor: pointer; }
.aceite input { flex: none; width: 20px; height: 20px; margin-top: 1px; accent-color: var(--marinho); }

.cadastro-enviado { text-align: center; }
.cadastro-enviado-icone { display: grid; place-items: center; width: 64px; height: 64px; margin: 8px auto 12px; font-size: 32px; font-weight: 700; color: #fff; background: var(--sucesso); border-radius: 50%; }
.cadastro-enviado h2 { margin: 0 0 10px; color: var(--marinho); }
.cadastro-enviado p { margin: 0 0 20px; color: var(--texto-suave); }

@media (max-width: 480px) {
  .linha-2 { grid-template-columns: 1fr; }
}

/* Etapa de confirmação do e-mail */
.etapa-codigo { margin: 18px 0; padding: 16px; background: #eef3fb; border: 1px solid #cbd8ee; border-radius: 12px; }
.etapa-codigo[hidden] { display: none; }
.etapa-codigo .secao-cadastro { margin-top: 0; }
.entrada.codigo { max-width: 200px; font-size: 24px; font-weight: 700; letter-spacing: 8px; text-align: center; }
