/* Telas do aluno: cadastro/login, conta, leitor de aulas e prova (usa componentes de home.css e curso.css) */

/* ---------- Cadastro e login ---------- */
.rc-auth { background: var(--rc-bg-soft); padding: 56px 24px; }
.rc-auth__caixa { max-width: 520px; margin: 0 auto; background: var(--rc-card); border: 1px solid var(--rc-border); border-radius: var(--rc-radius-lg); padding: 36px; box-shadow: var(--rc-shadow); }
.rc-auth__caixa h1 { font-size: 1.75rem; margin-bottom: 8px; }
.rc-auth__sub { color: var(--rc-muted); margin-bottom: 20px; }
.rc-auth__troca { text-align: center; font-size: .9375rem; color: var(--rc-muted); margin: 16px 0 0; }
@media (max-width: 560px) { .rc-auth { padding: 24px 16px; } .rc-auth__caixa { padding: 24px 20px; } }

.rc-form { display: flex; flex-direction: column; gap: 16px; }
.rc-form__duplo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 560px) { .rc-form__duplo { grid-template-columns: 1fr; } }
.rc-form__oculto { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.rc-campo { display: flex; flex-direction: column; gap: 6px; font-size: .875rem; font-weight: 700; color: var(--rc-text-2); }
.rc-campo small { font-weight: 500; color: var(--rc-muted); }
.rc-opcional { font-weight: 500; color: var(--rc-muted); }
.rc-campo input, .rc-card-embreve input[type="email"] {
	font: inherit; font-weight: 500; font-size: 1rem; padding: 13px 14px; width: 100%;
	border: 1px solid var(--rc-border-strong); border-radius: 10px; background: var(--rc-bg); color: var(--rc-text);
}
.rc-campo input:focus { border-color: var(--rc-teal-bright); }

/* ---------- Conta ---------- */
.rc-conta { padding-top: 40px; padding-bottom: 72px; }
.rc-conta__topo { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; }
.rc-conta__topo h1 { margin: 0; }
.rc-conta h2 { margin: 36px 0 16px; font-size: 1.375rem; }
.rc-conta .rc-aviso { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; }
.rc-conta__cursos { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; }
.rc-curso-card { background: var(--rc-card); border: 1px solid var(--rc-border); border-radius: var(--rc-radius-lg); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.rc-curso-card__topo h3 { margin: 8px 0 0; font-size: 1.1875rem; line-height: 1.3; }
.rc-curso-card__topo h3 a { color: var(--rc-text); text-decoration: none; }
.rc-curso-card__topo h3 a:hover { color: var(--rc-link); }
.rc-curso-card__meta { margin: 0; font-size: .875rem; color: var(--rc-muted); }
.rc-estado { list-style: none; margin: 0; padding: 12px 0 0; border-top: 1px solid var(--rc-border); display: flex; flex-direction: column; gap: 6px; font-size: .9375rem; color: var(--rc-text-2); }
.rc-dados p { margin: 0 0 6px; }

.rc-progresso { height: 8px; background: var(--rc-border); border-radius: 999px; overflow: hidden; }
.rc-progresso span { display: block; height: 100%; background: var(--rc-teal-bright); border-radius: 999px; transition: width .3s; }

/* ---------- Leitor de aulas ---------- */
.rc-leitor { display: grid; grid-template-columns: 320px 1fr; align-items: start; max-width: 1280px; margin: 0 auto; }
.rc-leitor__menu { position: sticky; top: 64px; max-height: calc(100vh - 64px); overflow-y: auto; border-right: 1px solid var(--rc-border); padding: 20px; background: var(--rc-bg); }
.rc-leitor__menu-caixa > summary { list-style: none; cursor: pointer; display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.rc-leitor__menu-caixa > summary::-webkit-details-marker { display: none; }
.rc-leitor__curso { font-weight: 800; color: var(--rc-text); text-decoration: none; line-height: 1.3; }
.rc-leitor__prog { font-size: .8125rem; color: var(--rc-muted); }
.rc-leitor__modulo { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--rc-muted); margin: 20px 0 6px; line-height: 1.35; }
.rc-leitor__menu ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.rc-leitor__menu li a { display: grid; grid-template-columns: 18px 2.4em 1fr; gap: 8px; align-items: baseline; padding: 8px 10px; border-radius: 8px; text-decoration: none; color: var(--rc-text-2); font-size: .875rem; line-height: 1.4; }
.rc-leitor__menu li a:hover { background: var(--rc-bg-soft); }
.rc-leitor__menu li.is-atual a { background: var(--rc-bg-soft); font-weight: 700; color: var(--rc-text); box-shadow: inset 3px 0 0 var(--rc-teal-bright); }
.rc-leitor__n { font-weight: 800; color: var(--rc-link); }
.rc-leitor__marca { width: 14px; height: 14px; border: 2px solid var(--rc-border-strong); border-radius: 50%; align-self: center; }
.rc-leitor__menu li.is-feita .rc-leitor__marca { background: var(--rc-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 10px no-repeat; border-color: var(--rc-teal); }
.rc-leitor__prova { display: block; margin-top: 20px; text-align: center; font-weight: 700; text-decoration: none; padding: 12px; border: 1px solid var(--rc-teal); border-radius: 10px; }
.rc-leitor__principal { padding: 40px 48px 72px; max-width: 860px; min-width: 0; }
.rc-leitor__principal .rc-eyebrow { margin-bottom: 8px; }
.rc-leitor__acoes { margin-top: 36px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.rc-leitor__acoes .rc-micro { margin: 0; }
.rc-leitor__nav { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--rc-border); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rc-refs { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--rc-border); }
@media (max-width: 960px) {
	.rc-leitor { grid-template-columns: 1fr; }
	.rc-leitor__menu { position: static; max-height: none; border-right: 0; border-bottom: 1px solid var(--rc-border); padding: 12px 16px; }
	.rc-leitor__menu-caixa:not([open]) nav, .rc-leitor__menu-caixa:not([open]) .rc-progresso { display: none; }
	.rc-leitor__principal { padding: 24px 16px 56px; }
	.rc-leitor__nav .rc-btn { flex: 1 1 100%; text-align: center; }
}

/* ---------- Prova ---------- */
.rc-prova { max-width: 860px; padding-top: 32px; padding-bottom: 72px; }
.rc-prova h1 { margin-bottom: 8px; }
.rc-prova h2 { margin: 36px 0 16px; font-size: 1.375rem; }
.rc-prova__intro { margin-top: 20px; }
.rc-prova__intro form { margin-top: 20px; }
.rc-prova__form { display: flex; flex-direction: column; gap: 24px; margin-top: 24px; }
.rc-questao { border: 1px solid var(--rc-border); border-radius: var(--rc-radius-lg); padding: 22px; margin: 0; background: var(--rc-card); display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.rc-questao legend, .rc-questao__enunciado { font-weight: 700; line-height: 1.5; padding: 0 6px 0 0; display: flex; gap: 12px; margin: 0 0 6px; }
.rc-questao legend { float: left; width: 100%; padding: 0; } .rc-questao legend + * { clear: both; }
.rc-questao__n { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--rc-navy); color: #fff; display: grid; place-items: center; font-size: .8125rem; font-weight: 800; }
:root[data-theme="dark"] .rc-questao__n { background: var(--rc-teal); }
.rc-alternativa { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1.5px solid var(--rc-border-strong); border-radius: 12px; cursor: pointer; line-height: 1.45; min-height: 52px; background: var(--rc-bg); }
.rc-alternativa input { position: absolute; opacity: 0; pointer-events: none; }
.rc-alternativa__letra { flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--rc-muted); display: grid; place-items: center; font-size: .8125rem; font-weight: 800; }
.rc-alternativa:hover { border-color: var(--rc-teal-bright); }
.rc-alternativa:has(input:checked) { border-color: var(--rc-teal); background: #E6F4F4; }
:root[data-theme="dark"] .rc-alternativa:has(input:checked) { background: #0F3A3A; }
.rc-alternativa:has(input:checked) .rc-alternativa__letra { background: var(--rc-teal); border-color: var(--rc-teal); color: #fff; }
.rc-alternativa:has(input:focus-visible) { outline: 3px solid var(--rc-teal-bright); outline-offset: 2px; }
.rc-questao--corrigida .rc-alternativa { cursor: default; }
.rc-alternativa.is-certa { border-color: var(--rc-teal); background: #E6F4F4; }
.rc-alternativa.is-certa .rc-alternativa__letra { background: var(--rc-teal); border-color: var(--rc-teal); color: #fff; }
.rc-alternativa.is-errada { border-color: #C2410C; background: #FFF4EC; }
.rc-alternativa.is-errada .rc-alternativa__letra { background: #C2410C; border-color: #C2410C; color: #fff; }
:root[data-theme="dark"] .rc-alternativa.is-certa { background: #0F3A3A; }
:root[data-theme="dark"] .rc-alternativa.is-errada { background: #3A2412; }
.rc-feedback { margin: 6px 0 0; padding: 12px 14px; border-radius: 10px; font-size: .9375rem; line-height: 1.6; }
.rc-feedback--ok { background: #E6F4F4; color: #0F2A44; }
.rc-feedback--erro { background: #FFF4EC; color: #7A2E0B; }
:root[data-theme="dark"] .rc-feedback--ok { background: #0F3A3A; color: #CBD6E2; }
:root[data-theme="dark"] .rc-feedback--erro { background: #3A2412; color: #FFD7BD; }
.rc-prova__envio { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; position: sticky; bottom: 0; background: var(--rc-bg); padding: 14px 0; border-top: 1px solid var(--rc-border); }
.rc-prova__envio .rc-micro { margin: 0; }
.rc-btn[disabled] { background: var(--rc-border-strong); color: var(--rc-muted); cursor: not-allowed; }
.rc-resultado { border-radius: var(--rc-radius-lg); padding: 24px; margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.rc-resultado h2 { margin: 0; font-size: 1.5rem; }
.rc-resultado p { margin: 0; }
.rc-resultado--ok { background: #E6F4F4; border: 1px solid #9FCFCF; }
.rc-resultado--erro { background: #FFF4EC; border: 1px solid #F3C9A8; }
:root[data-theme="dark"] .rc-resultado--ok { background: #0F3A3A; border-color: #1F6B6B; }
:root[data-theme="dark"] .rc-resultado--erro { background: #3A2412; border-color: #7A4A22; }

/* ---------- Certificado e validação ---------- */
.rc-pagar { margin-top: 20px; max-width: 560px; }
.rc-pagar__resumo { display: grid; gap: 4px; }
.rc-pagar__resumo p { margin: 0 0 8px; }
.rc-pagar__valor { background: var(--rc-bg-soft); border: 1px solid var(--rc-border); border-radius: var(--rc-radius); padding: 16px 18px; display: flex; flex-direction: column; gap: 2px; }
.rc-pagar__valor span { font-size: .875rem; color: var(--rc-muted); }
.rc-pagar__valor strong { font-size: 1.75rem; letter-spacing: -.02em; }
.rc-pagar__valor small { color: var(--rc-text-2); font-size: .875rem; }
.rc-validar__form { display: flex; gap: 10px; flex-wrap: wrap; margin: 20px 0; max-width: 560px; }
.rc-validar__form input { flex: 1 1 260px; font: inherit; font-size: 1.0625rem; letter-spacing: .04em; padding: 14px 16px; border: 1px solid var(--rc-border-strong); border-radius: 10px; background: var(--rc-bg); color: var(--rc-text); text-transform: uppercase; }
.rc-validar__dados { margin: 8px 0 4px; display: grid; gap: 10px; }
.rc-validar__dados div { display: grid; grid-template-columns: 160px 1fr; gap: 8px; }
.rc-validar__dados dt { color: var(--rc-muted); font-size: .9375rem; }
.rc-validar__dados dd { margin: 0; font-weight: 700; }
@media (max-width: 560px) { .rc-validar__dados div { grid-template-columns: 1fr; gap: 0; } }

/* ---------- Privacidade (LGPD) ---------- */
.rc-excluir { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--rc-border); }
.rc-excluir summary { cursor: pointer; font-weight: 700; color: #B42318; }
.rc-excluir .rc-form { margin-top: 14px; max-width: 520px; }
.rc-btn--perigo { background: #B42318; }
.rc-btn--perigo:hover { background: #8E1B12; color: #fff; }

/* Título da aula como <h1> (o padrão aula.css estiliza .aula h2) */
.aula h1 { margin: 0; font-size: 31px; font-weight: 800; letter-spacing: -0.015em; line-height: 1.2; color: #0F2A44; }
:root[data-theme="dark"] .aula h1 { color: #E8EEF4; }
@media (max-width: 560px) { .aula h1, .aula h2 { font-size: 26px; } }
.rc-leitor__voltar { font-size: .8125rem; margin: 0 0 10px; color: var(--rc-muted); }
.rc-leitor__curso { font-weight: 800; color: var(--rc-text); line-height: 1.3; }
:root[data-theme="dark"] .rc-excluir summary { color: #FF9B92; }

/* Seções da aula promovidas (h3→h2, h4→h3) com o visual original do padrão */
.aula h2.rc-sec { margin: 18px 0 0; font-size: 21px; font-weight: 800; color: #0F2A44; line-height: 1.3; letter-spacing: normal; }
.aula h2.rc-sec span { color: #0B7373; margin-right: 8px; }
.aula h3.rc-sub { margin: 6px 0 0; font-size: 17px; font-weight: 800; color: #0F2A44; letter-spacing: normal; }
:root[data-theme="dark"] .aula h2.rc-sec, :root[data-theme="dark"] .aula h3.rc-sub { color: #E8EEF4; }
:root[data-theme="dark"] .aula h2.rc-sec span { color: #4FD1C5; }

/* Cartão de vídeo das aulas usa cores inline; no modo escuro precisam de !important para ter contraste */
:root[data-theme="dark"] .aula .video > span:nth-child(2) > span:nth-child(1) { color: #4FD1C5 !important; }
:root[data-theme="dark"] .aula .video > span:nth-child(2) > span:nth-child(2) { color: #E8EEF4 !important; }
:root[data-theme="dark"] .aula .video > span:nth-child(2) > span:nth-child(3) { color: #B8C6D4 !important; }

/* Escolha Pix ou cartão no pagamento do certificado */
.rc-pagar__precos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 8px 0 6px; }
.rc-pagar__precos > div { background: var(--rc-card); border: 1px solid var(--rc-border-strong); border-radius: var(--rc-radius); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.rc-pagar__precos b { font-size: .875rem; font-weight: 700; color: var(--rc-text-2); }
.rc-pagar__precos strong { font-size: 1.5rem; letter-spacing: -.02em; }
.rc-pagar__precos small { color: var(--rc-muted); font-size: .8125rem; }
.rc-pagar__botoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rc-pagar__botoes .rc-btn { text-align: center; padding-left: 12px; padding-right: 12px; }
.rc-btn--google { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.rc-auth__ou { text-align: center; margin: 14px 0; }
.rc-pagar { max-width: 640px; }
.rc-pix { max-width: 560px; text-align: center; }
.rc-pix__valor { margin: 0 0 16px; }
.rc-pix__qr { display: block; margin: 0 auto 16px; width: 240px; height: 240px; max-width: 100%; background: #fff; padding: 8px; border-radius: 12px; }
.rc-pix .rc-campo { text-align: left; }
.rc-pix input[readonly] { width: 100%; font-family: ui-monospace, monospace; font-size: 13px; }
.rc-pix .rc-actions { justify-content: center; }
.rc-pix__passos { text-align: left; margin: 16px auto; max-width: 460px; padding-left: 20px; }
@media (max-width: 560px) { .rc-pagar__botoes, .rc-pagar__precos { grid-template-columns: 1fr; } }

/* Curso rápido: pagar ou assistir ao anúncio */
.rc-pagar__titulo { font-weight: 700; margin: 8px 0 -4px; }
.rc-pagar__opcao { display: flex; flex-direction: column; gap: 10px; }
.rc-pagar__ou { display: flex; align-items: center; gap: 12px; margin: 4px 0; color: var(--rc-muted); font-weight: 700; font-size: .875rem; letter-spacing: .08em; }
.rc-pagar__ou::before, .rc-pagar__ou::after { content: ""; flex: 1; border-top: 1px solid var(--rc-border-strong); }
.rc-anuncio-tela__caixa { display: flex; align-items: center; justify-content: center; min-height: 180px; margin: 12px 0 16px; background: var(--rc-bg-soft); border: 1px dashed var(--rc-border-strong); border-radius: var(--rc-radius); color: var(--rc-text-2); font-size: 1.25rem; font-weight: 700; text-align: center; padding: 16px; }
