/* ===== Páginas institucionais (termos, políticas, obrigado, 404) — por cima de curso.css ===== */
:root { --vermelho: #C51E3F; --verde: #1F7A42; --verde-claro: #E6F5EC;
  --idioma-fundo: #C51E3F; --idioma-texto: #FFFFFF; --idioma-cor: #5A564C; --idioma-borda: #DCD5C2; }

/* Documento legal */
.legal { max-width: 868px; margin: 0 auto; padding: 64px 24px 72px; }
.legal__rotulo { font-size: 12px; letter-spacing: 3px; color: var(--vermelho); font-weight: 700; text-transform: uppercase; }
.legal h1 { font-size: clamp(30px, 4vw, 38px); margin: 14px 0 8px; letter-spacing: -0.5px; }
.legal__intro { font-size: 15px; line-height: 1.7; color: var(--texto-suave); margin-bottom: 8px; }
.legal section { border-top: 1px solid var(--borda); margin-top: 28px; padding-top: 22px; }
.legal h2 { font-size: 21px; margin-bottom: 12px; }
.legal h2 span { color: var(--vermelho); }
.legal p { font-size: 14.5px; line-height: 1.75; color: var(--texto-2); margin-bottom: 10px; }
.legal ul { margin: 0 0 10px; }
.legal li { display: flex; gap: 10px; padding: 4px 0 4px 4px; font-size: 14.5px; line-height: 1.7; color: var(--texto-2); }
.legal li::before { content: "—"; color: var(--vermelho); font-weight: 700; flex-shrink: 0; }
.legal__atualizado { font-size: 13px; color: var(--texto-apagado); margin-top: 36px; }
.legal a { color: var(--vermelho); font-weight: 600; }

/* Obrigado */
.obrigado { text-align: center; padding: 90px 24px 40px; max-width: 808px; margin: 0 auto; }
.obrigado__icone { width: 88px; height: 88px; border-radius: 99px; background: var(--verde-claro); display: flex; align-items: center; justify-content: center; margin: 0 auto 22px; }
.obrigado__icone svg { width: 46px; height: 46px; }
.obrigado__rotulo { font-size: 13px; letter-spacing: 3px; color: var(--verde); font-weight: 700; text-transform: uppercase; }
.obrigado h1 { font-size: clamp(30px, 4.5vw, 42px); margin: 14px 0 12px; letter-spacing: -0.5px; }
.obrigado p { font-size: 16.5px; line-height: 1.65; color: var(--texto-suave); margin-bottom: 30px; }
.btn--verde { background: var(--verde); color: var(--branco); font-size: 16px; padding: 18px 40px; }
.passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1048px; margin: 0 auto; padding: 24px 24px 64px; list-style: none; }
.passo { background: var(--branco); border: 1px solid var(--borda); border-radius: 16px; padding: 26px 28px; }
.passo__num { font-family: var(--serif); font-size: 30px; font-style: italic; color: var(--areia); line-height: 1; }
.passo h2 { font-family: var(--sans); font-size: 16px; font-weight: 700; margin: 10px 0 6px; }
.passo p { font-size: 13.5px; line-height: 1.6; color: var(--texto-suave); }
.passo a { color: var(--verde); font-weight: 600; word-break: break-word; }

/* 404 */
.erro { text-align: center; padding: 110px 24px 120px; max-width: 768px; margin: 0 auto; }
.erro__rotulo { font-size: 13px; letter-spacing: 3px; color: var(--vermelho); font-weight: 700; }
.erro__num { font-family: var(--serif); font-size: clamp(80px, 14vw, 120px); font-weight: 600; line-height: 1; color: var(--borda); margin: 18px 0 6px; }
.erro h1 { font-size: clamp(28px, 4vw, 38px); margin-bottom: 12px; letter-spacing: -0.5px; }
.erro p { font-size: 16px; line-height: 1.65; color: var(--texto-suave); margin-bottom: 30px; }
.erro__acoes { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 34px; }
.erro__mais { font-size: 12px; letter-spacing: 2px; color: var(--texto-apagado); font-weight: 700; margin-bottom: 14px; }
.pills { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; list-style: none; }
.pills a { display: inline-block; font-size: 13px; font-weight: 600; color: var(--texto-2); border: 1px solid var(--borda-2); border-radius: 99px; padding: 9px 18px; background: var(--branco); }
.pills a:hover { border-color: var(--texto-suave); }

@media (max-width: 900px) {
  .passos { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .legal { padding: 44px 20px 56px; }
  .obrigado { padding: 56px 20px 24px; }
  .obrigado h1 { font-size: 28px; }
  .obrigado p { font-size: 15px; }
  .btn--verde { display: block; text-align: center; }
  .passos { padding: 16px 20px 48px; }
  .erro { padding: 64px 20px 72px; }
  .erro__acoes .btn { width: 100%; text-align: center; }
}

/* Pós-compra bilíngue (EN/ES) */
.escolha { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-width: 968px; margin: 0 auto; padding: 20px 24px 24px; }
.escolha__cartao { background: var(--branco); border: 1px solid var(--borda); border-radius: 18px; padding: 32px; text-align: center; }
.escolha__rotulo { font-size: 12px; letter-spacing: 2.5px; color: var(--verde); font-weight: 700; text-transform: uppercase; }
.escolha__cartao h2 { font-size: 23px; margin: 12px 0 16px; }
.escolha__cartao .btn { display: block; font-size: 15px; padding: 16px 26px; white-space: normal; }
.escolha__url { font-size: 12.5px; color: var(--texto-apagado); margin-top: 12px; word-break: break-all; }
.passos--2 { grid-template-columns: 1fr 1fr; }
.passos--2 .passo h2 + p + h2 { margin-top: 14px; }
@media (max-width: 640px) { .escolha { grid-template-columns: 1fr; padding: 8px 20px 16px; } .passos--2 { grid-template-columns: 1fr; } }

/* Seletor de idioma no topo do documento legal */
.legal__cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
