/* Privacidade (LGPD, 26/10/2026): faixa de cookies, capa do vídeo antes do aceite e as páginas de texto
   (Política de Privacidade, Termos de Uso, Política de Reembolso). Carregado em todo o portal pela casca
   (layout_site_top.php), porque a faixa aparece em qualquer página até a pessoa escolher. */

/* ---- Faixa de consentimento: presa no rodapé da janela; no celular fica acima do menu do app (74 px). */
.faixa-cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: #fff; border-top: 1px solid var(--borda-2); box-shadow: 0 -6px 24px rgba(8, 48, 63, .12); }
.faixa-cookies .in { max-width: 1120px; margin: 0 auto; padding: 14px 16px; display: flex; gap: 14px; align-items: center; }
.faixa-cookies p { flex: 1; min-width: 0; font-size: 13px; line-height: 1.5; color: var(--tx-2); }
.faixa-cookies p b { color: var(--tx); }
.faixa-cookies p a { color: var(--brand-500); font-weight: 600; }
.faixa-cookies .acoes { display: flex; gap: 8px; flex-wrap: wrap; flex-shrink: 0; }
.faixa-cookies form { margin: 0; }
/* Sem a faixa tapando o fim da página: o rodapé ganha folga enquanto ela está aberta. */
body.com-faixa .pt-rodape { padding-bottom: 120px; }
@media (max-width: 700px) {
  .faixa-cookies { bottom: 74px; }
  body.sem-nav .faixa-cookies, body.no-app.sem-nav .faixa-cookies { bottom: 0; }
  .faixa-cookies .in { flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 16px; }
  .faixa-cookies p { font-size: 12.5px; }
  .faixa-cookies .acoes { display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .faixa-cookies .acoes .btn { width: 100%; padding-left: 6px; padding-right: 6px; }
  body.com-faixa .pt-main { padding-bottom: 210px; }
}
@media print { .faixa-cookies { display: none !important; } }

/* ---- Capa do vídeo antes do aceite: ocupa o quadro 16:9 do .ead-video. */
.video-capa { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 14px 18px;
  text-align: center; color: #fff; background: linear-gradient(135deg, var(--brand-700), var(--brand-900)); margin: 0; }
.video-capa .vc-icone { opacity: .85; }
.video-capa .vc-titulo { font-size: 14.5px; max-width: 520px; overflow-wrap: anywhere; }
.video-capa .btn { background: #fff; color: var(--brand-700); }
.video-capa .btn:hover { background: var(--brand-50); }
.video-capa .vc-nota { font-size: 11.5px; line-height: 1.45; max-width: 520px; color: rgba(255, 255, 255, .86); }
.video-capa .vc-nota a { color: #fff; font-weight: 600; }
/* Celular: o quadro 16:9 é baixo; sai o ícone e o título (a aula já tem título acima), fica o aviso dos cookies. */
@media (max-width: 420px) { .video-capa { gap: 6px; padding: 10px 14px; } .video-capa .vc-icone, .video-capa .vc-titulo { display: none; } .video-capa .vc-nota { font-size: 10.5px; } }

/* ---- Páginas de texto (privacidade, termos, reembolso, cookies, aceite). */
.legal { font-size: 13.5px; line-height: 1.65; }
.legal h2 { font-size: 16px; margin: 22px 0 6px; scroll-margin-top: 80px; }
.legal h2:first-child { margin-top: 0; }
.legal h3 { font-size: 14px; margin: 14px 0 4px; }
.legal p + p { margin-top: 8px; }
.legal ul, .legal ol { margin: 6px 0 6px 20px; padding-left: 0; }
.legal li + li { margin-top: 4px; }
.legal a { color: var(--brand-500); font-weight: 600; }
.legal .meta { font-size: 12.5px; color: var(--tx-3); }
.legal .vazio-campo { background: var(--acento-50); color: var(--acento-700); border-radius: 4px; padding: 0 4px; font-weight: 600; }
.legal-indice { font-size: 13px; }
.legal-indice ol { margin: 6px 0 0 22px; padding-left: 0; columns: 2; column-gap: 24px; }
.legal-indice li { break-inside: avoid; }
@media (max-width: 700px) { .legal-indice ol { columns: 1; } }
.tabela-legal { width: 100%; border-collapse: collapse; font-size: 12.5px; margin: 8px 0; }
.tabela-legal th, .tabela-legal td { text-align: left; vertical-align: top; padding: 8px; border-bottom: 1px solid var(--borda); }
.tabela-legal th { background: var(--fundo); font-weight: 700; }
.tabela-caixa-legal { overflow-x: auto; border: 1px solid var(--borda); border-radius: 12px; }
.tabela-caixa-legal .tabela-legal { margin: 0; min-width: 560px; }
.legal-nota { font-size: 12px; color: var(--tx-3); border-top: 1px dashed var(--borda-2); margin-top: 18px; padding-top: 10px; }
.cookie-linha { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--borda); }
.cookie-linha:first-of-type { border-top: 0; }
.cookie-linha .txt { flex: 1; min-width: 0; font-size: 13px; }
.cookie-linha .txt b { display: block; font-size: 14px; }

/* Celular: a tabela vira lista de cartões (rolar de lado escondia a base legal). Cada tabela diz o rótulo
   das colunas pela classe (tl-dados, tl-cookies); nas de duas colunas a primeira, em negrito, já basta. */
@media (max-width: 700px) {
  .tabela-caixa-legal { overflow: visible; }
  .tabela-caixa-legal .tabela-legal { min-width: 0; }
  .tabela-legal thead { display: none; }
  .tabela-legal tr { display: block; padding: 10px 12px; border-bottom: 1px solid var(--borda); }
  .tabela-legal tr:last-child { border-bottom: 0; }
  .tabela-legal td { display: block; border: 0; padding: 2px 0; }
  .tabela-legal td:first-child { font-weight: 700; color: var(--tx); padding-bottom: 4px; }
  .tl-dados td:nth-child(3)::before { content: "Base legal: "; font-weight: 700; }
  .tl-cookies td:nth-child(3)::before { content: "Tipo: "; font-weight: 700; }
}
