/* ==========================================================================
   SPES — páginas antigas no layout público (rodada 3)
   Carregado depois do CSS próprio de cada página antiga (escopado em .legado),
   aproxima os componentes repetidos do sistema atual: tipografia, botões,
   tabelas, FAQ, estados de foco. Tokens em public/css/spes-publico.css.
   O dobro de classe (.legado.legado) só existe para vencer a especificidade
   das regras antigas sem recorrer a !important.
   ========================================================================== */

.legado {
  font-family: var(--fonte);
  color: var(--tinta);
  background: var(--papel);
  overflow-wrap: break-word;
}
.legado :where(h1, h2, h3, h4) {
  font-family: var(--fonte-titulo);
  font-weight: 400;
  letter-spacing: -.01em;
  text-wrap: balance;
}
/* Young Serif tem um peso só: nada de negrito sintetizado nos títulos. */
.legado :is(h1, h2, h3, h4) { font-synthesis: none; }
.legado :where(h1, h2, h3, h4) :where(strong, b) { font-weight: 400; }
.legado :where(ul, ol):not([class]) { padding-left: 1.35em; margin: 0 0 1em; }
.legado :where(li):not([class]) { margin-bottom: .35em; }
.legado :where(p):not([class]) { margin: 0 0 1em; }
.legado img { max-width: 100%; height: auto; }

/* Animações de entrada dependiam de JS do cabeçalho antigo: tudo visível. */
.legado .reveal, .legado .fade-up, .legado .fade-in, .legado [data-aos] { opacity: 1 !important; transform: none !important; }

/* ---------- Foco ---------- */
.legado a:focus-visible, .legado button:focus-visible, .legado summary:focus-visible,
.legado [tabindex]:focus-visible, .legado input:focus-visible, .legado select:focus-visible, .legado textarea:focus-visible {
  outline: 3px solid var(--roxo); outline-offset: 2px;
}

/* ---------- Botões ----------
   Primário: roxo, texto branco. Em faixas escuras: claro (papel + tinta).
   Secundário: contorno. Mesmas medidas do .btn do site. */
.legado.legado :is(.cta-button, .cta-btn, .hero-cta, .btn-start, .btn-hero-main, .btn-w, .notify-btn, .hero-search-btn,
  .med-cta-pri, .dir-cta-pri, .psi-cta-pri, .vet-cta-pri, .eng-cta-pri, .enf-cta-pri, .lpc-cta, .btn-cta) {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em;
  min-height: 48px; padding: .72em 1.25em;
  border-radius: 12px; border: 1.5px solid var(--roxo);
  background: var(--roxo); color: #fff !important;
  font: 600 1rem/1.2 var(--fonte); letter-spacing: 0; text-transform: none; text-decoration: none; text-align: center;
  box-shadow: none; transform: none;
  transition: background-color .18s, color .18s, border-color .18s;
}
.legado.legado :is(.cta-button, .cta-btn, .hero-cta, .btn-start, .btn-hero-main, .btn-w, .notify-btn, .hero-search-btn,
  .med-cta-pri, .dir-cta-pri, .psi-cta-pri, .vet-cta-pri, .eng-cta-pri, .enf-cta-pri, .lpc-cta, .btn-cta):hover {
  background: var(--roxo-escuro); border-color: var(--roxo-escuro); color: #fff !important; transform: none; box-shadow: none;
}
.legado.legado :is(.med-cta-sec, .dir-cta-sec, .psi-cta-sec, .vet-cta-sec, .eng-cta-sec, .enf-cta-sec, .btn-hero-ghost, .btn-outline-w, .btn-outline) {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em;
  min-height: 48px; padding: .72em 1.25em;
  border-radius: 12px; border: 1.5px solid currentColor; background: transparent;
  font: 600 1rem/1.2 var(--fonte); letter-spacing: 0; text-transform: none; text-decoration: none;
  box-shadow: none; transform: none;
}
.legado.legado :is(.med-cta-sec, .dir-cta-sec, .psi-cta-sec, .vet-cta-sec, .eng-cta-sec, .enf-cta-sec, .btn-hero-ghost, .btn-outline-w, .btn-outline):hover {
  background: rgba(255, 255, 255, .08); transform: none;
}
/* Faixas escuras (herói e chamadas finais antigas, hoje em var(--tinta)). */
.legado.legado :is(.lpc-hero, .cta-final, .cta-band, .cta-box, .hero, .hero-section, .page-hero, .final-cta, .hero-banner)
  :is(.cta-button, .cta-btn, .hero-cta, .btn-start, .btn-hero-main, .btn-w, .med-cta-pri, .dir-cta-pri, .psi-cta-pri, .vet-cta-pri, .eng-cta-pri, .enf-cta-pri, .lpc-cta, .btn-cta) {
  background: var(--papel); border-color: var(--papel); color: var(--tinta) !important;
}
.legado.legado :is(.lpc-hero, .cta-final, .cta-band, .cta-box, .hero, .hero-section, .page-hero, .final-cta, .hero-banner)
  :is(.cta-button, .cta-btn, .hero-cta, .btn-start, .btn-hero-main, .btn-w, .med-cta-pri, .dir-cta-pri, .psi-cta-pri, .vet-cta-pri, .eng-cta-pri, .enf-cta-pri, .lpc-cta, .btn-cta):hover {
  background: #fff; border-color: #fff; color: var(--tinta) !important;
}
.legado.legado .btn { border-radius: 12px; font-family: var(--fonte); font-weight: 600; }

/* Compartilhar: cores de marca com texto branco não davam contraste (WhatsApp 2:1). */
.legado.legado .share-btn {
  display: inline-flex; align-items: center; gap: .5em; min-height: 44px; padding: .55em 1em;
  border-radius: 12px; border: 1px solid var(--linha-forte); background: var(--branco); color: var(--tinta);
  font: 600 .95rem/1.2 var(--fonte); text-decoration: none;
}
.legado.legado .share-btn:hover { border-color: var(--roxo); color: var(--roxo-escuro); background: var(--branco); }
.legado.legado .share-wa i { color: #128c4b; }
.legado.legado .share-tw i { color: #1a6fb0; }

/* ---------- Herói e chamadas das páginas "trilha" ----------
   O espaço de cima existia por causa do cabeçalho fixo antigo. */
.legado.legado .lpc-hero { padding-top: clamp(48px, 7vw, 88px); padding-bottom: clamp(44px, 6vw, 72px); }
.legado.legado .lpc-hero h1 { font-weight: 400; letter-spacing: -.01em; }
.legado.legado :is(.lpc-badge, .lpc-update) { font-family: var(--fonte); letter-spacing: .02em; }

/* ---------- Tabelas ---------- */
.legado.legado table { border-collapse: collapse; font-variant-numeric: tabular-nums; }
.legado.legado :is(.notas-table, .table) th { font-family: var(--fonte); font-weight: 700; }
.legado.legado .notas-table thead th, .legado.legado .notas-table th { background: var(--tinta); color: var(--papel); }
.legado.legado .notas-table tbody tr:nth-child(even) td { background: var(--papel); }

/* ---------- Cartões ---------- */
.legado.legado :is(.card, .info-card, .stat-card, .feature-card, .curso-card) { border-color: var(--linha); }

/* ---------- Headings renomeados para não pular nível ----------
   O conversor transforma, por exemplo, um h4 logo depois de um h2 em
   <h3 data-h="4">. O CSS antigo continua valendo (seletores reescritos);
   aqui só o tamanho padrão do nível original, quando a página não definia. */
.legado:not(.legado--bs) :where([data-h="4"]) { font-size: 1.05rem; line-height: 1.3; }
.legado:not(.legado--bs) :where([data-h="5"]) { font-size: .92rem; line-height: 1.3; }
.legado:not(.legado--bs) :where([data-h="6"]) { font-size: .8rem; line-height: 1.3; }
.legado :where([data-h="5"], [data-h="6"]) { font-family: inherit; }

/* Legendas em cinza-claro sobre branco (2,6:1) nos cartões de páginas relacionadas. */
.legado.legado .rel-card .rel-sub { color: var(--tinta-3); }

/* ---------- Contraste (rodada 3): cores de destaque antigas que não chegavam a 4,5:1 ---------- */
/* Números das tabelas de nota de corte: a coluna já diz qual é a modalidade. */
.legado.legado :is(.num-ac, .num-l2, .num-l9) { color: var(--tinta); }
/* Etiquetas e selos com texto colorido sobre fundo claro do mesmo tom. */
.legado.legado :is(.sec-tag, .tool-badge, .mistake-fix) { color: var(--tinta-2); }
/* Notas de rodapé em cinza-claro dentro das seções claras. */
.legado.legado .sec [style*="94a3b8"] { color: var(--tinta-3) !important; }
/* Selos brancos sobre verde médio (3,3:1): verde mais escuro (5:1). */
.legado.legado :is(.crono-mes, .bonus-badge) { background-color: #15803d; }
/* Contagem regressiva do gabarito: rótulo cinza sobre fundo escuro. */
.legado.legado .countdown-lbl { color: #c9cbd6; }
/* Cartões coloridos do Bootstrap com texto branco: parágrafos herdam o branco. */
.legado--bs :is(.bg-primary, .bg-success, .bg-info, .bg-dark, .bg-danger).text-white :is(p, .small) { color: inherit; }

/* /projetos: a página antiga era toda escura; vira uma faixa escura do sistema. */
.legado[data-legado="projetos"] { background: var(--tinta); color: #f2ede4; padding: 8px 0 56px; }
.legado[data-legado="projetos"] :is(.sumario, .project-description, .inscription-form) { background: rgba(255, 255, 255, .06); border: 1px solid rgba(236, 231, 221, .16); color: #f2ede4; }
.legado[data-legado="projetos"] :is(h1, h2, h3, h4, strong) { color: #fff; }
.legado[data-legado="projetos"] a:not(.btn) { color: var(--roxo-noite); }
/* Rótulos coloridos em estilo inline dentro das seções claras (verde, laranja, vermelho médios). */
.legado.legado .sec :is([style*="color: #059669"], [style*="color: #ea580c"], [style*="color: #10b981"], [style*="color: #16a34a"], [style*="color: #dc2626"]) { color: var(--tinta-2) !important; }
