/* ==== legais.css · só em body[data-css~="legais"] ==== */
:where(body[data-css~="legais"]) /* legais.css — Privacidade, :where(body[data-css~="legais"]) Termos, :where(body[data-css~="legais"]) Livre resolução, :where(body[data-css~="legais"]) Correções, :where(body[data-css~="legais"]) Para juntas e instituições, :where(body[data-css~="legais"]) 404.
   A mesma voz visual do Quem somos (vigia-ajuda.css): rótulo oliva, :where(body[data-css~="legais"]) h1 da Fraunces, :where(body[data-css~="legais"]) filetes finos,
   :where(body[data-css~="legais"]) bloco escuro no fim. Só tokens do base; sem gradientes, :where(body[data-css~="legais"]) sem roxo. */

/* ---------- herói ---------- */
.lg-heroi{ padding-block:var(--abre) var(--e-6); }
:where(body[data-css~="legais"]) .lg-rotulo{ display:inline-flex; align-items:center; gap:8px; font-size:var(--t-rotulo); font-weight:700; color:var(--oliva); margin-bottom:var(--e-3); }
:where(body[data-css~="legais"]) .lg-rotulo .i{ width:18px; height:18px; }
:where(body[data-css~="legais"]) .lg-medida > *{ max-width:36rem; }
:where(body[data-css~="legais"]) .lg-medida h1{ text-wrap:balance; }
:where(body[data-css~="legais"]) .lg-medida .heroi-sub{ margin-top:var(--e-3); }
:where(body[data-css~="legais"]) .lg-versao{ margin-top:var(--e-4); font-size:var(--t-rotulo); color:var(--tinta-3); }
:where(body[data-css~="legais"]) .lg-heroi-grelha{ display:grid; gap:var(--e-6); }
:where(body[data-css~="legais"]) .lg-lado{ display:grid; gap:var(--e-3); align-content:start; }
:where(body[data-css~="legais"]) .lg-medida > .lg-botoes{ max-width:none; margin-top:var(--e-5); gap:var(--e-3); }

:where(body[data-css~="legais"]) /* o campo que só o dono preenche: à vista, :where(body[data-css~="legais"]) tracejado, :where(body[data-css~="legais"]) nunca escondido */
.lg-decidir{ display:inline; padding:1px 8px; border:1.5px dashed var(--madeira-esc); border-radius:var(--r-pilula); background:var(--madeira-clara); color:var(--madeira-esc); font-size:var(--t-rotulo); font-weight:700; line-height:1.9; -webkit-box-decoration-break:clone; box-decoration-break:clone; }

:where(body[data-css~="legais"]) /* ---------- documento: índice ao lado, :where(body[data-css~="legais"]) texto a uma medida ---------- */
.lg-secao{ padding-block:var(--e-6); }
:where(body[data-css~="legais"]) .lg-secao + .lg-secao{ padding-top:0; }
:where(body[data-css~="legais"]) .lg-fim{ padding-bottom:var(--e-8); }
:where(body[data-css~="legais"]) .lg-doc{ display:grid; gap:var(--e-5); }
:where(body[data-css~="legais"]) .lg-indice{ border-top:1px solid var(--linha); border-bottom:1px solid var(--linha); padding-block:var(--e-3); }
:where(body[data-css~="legais"]) .lg-indice ol{ list-style:none; margin:var(--e-2) 0 0; padding:0; display:grid; gap:0; }
:where(body[data-css~="legais"]) .lg-indice a{ display:flex; align-items:center; min-height:44px; padding-block:10px; font-size:var(--t-apoio); line-height:1.3; color:var(--tinta-2); text-decoration:none; }
:where(body[data-css~="legais"]) .lg-indice a:hover{ color:var(--telha-esc); text-decoration:underline; }
:where(body[data-css~="legais"]) .lg-corpo{ min-width:0; max-width:var(--larg-texto); }
:where(body[data-css~="legais"]) .lg-texto{ margin-top:var(--e-5); }
:where(body[data-css~="legais"]) .lg-parte{ padding-block:var(--e-5); border-top:1px solid var(--linha); scroll-margin-top:calc(var(--topo) + 16px); }
:where(body[data-css~="legais"]) .lg-parte:first-child{ border-top:0; padding-top:0; }
:where(body[data-css~="legais"]) .lg-parte h2{ font-size:var(--t-3); margin-bottom:var(--e-3); }
:where(body[data-css~="legais"]) .lg-parte p + p, :where(body[data-css~="legais"]) .lg-parte ul + p, :where(body[data-css~="legais"]) .lg-parte p + ul, :where(body[data-css~="legais"]) .lg-parte div + p{ margin-top:var(--e-3); }
:where(body[data-css~="legais"]) .lg-parte ul{ padding-left:1.2em; display:grid; gap:var(--e-2); }

/* o resumo que se lê antes do texto inteiro */
:where(body[data-css~="legais"]) .lg-resumo{ background:var(--branco); border:1px solid var(--linha); border-radius:var(--r-cartao); padding:var(--e-5); }
:where(body[data-css~="legais"]) .lg-resumo ul{ list-style:none; margin:var(--e-3) 0 0; padding:0; display:grid; gap:var(--e-3); }
:where(body[data-css~="legais"]) .lg-resumo li{ display:grid; grid-template-columns:22px 1fr; gap:var(--e-3); align-items:start; }
:where(body[data-css~="legais"]) .lg-resumo .i{ width:22px; height:22px; margin-top:2px; color:var(--oliva); }

/* a tabela da privacidade: vira cartões no telemóvel */
:where(body[data-css~="legais"]) .lg-tabela{ margin-block:var(--e-2) var(--e-4); }
:where(body[data-css~="legais"]) .lg-tabela table{ width:100%; border-collapse:collapse; font-size:var(--t-apoio); }
:where(body[data-css~="legais"]) .lg-tabela th, :where(body[data-css~="legais"]) .lg-tabela td{ text-align:left; vertical-align:top; padding:var(--e-3) var(--e-3) var(--e-3) 0; border-bottom:1px solid var(--linha); }
:where(body[data-css~="legais"]) .lg-tabela thead th{ font-size:var(--t-rotulo); color:var(--tinta-2); font-weight:700; }
:where(body[data-css~="legais"]) .lg-tabela tbody th{ font-weight:700; color:var(--tinta); }
@media (max-width:719px){
  :where(body[data-css~="legais"]) .lg-tabela thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  :where(body[data-css~="legais"]) .lg-tabela tr{ display:block; padding-block:var(--e-3); border-bottom:1px solid var(--linha); }
  :where(body[data-css~="legais"]) .lg-tabela th, :where(body[data-css~="legais"]) .lg-tabela td{ display:block; border:0; padding:2px 0; }
  :where(body[data-css~="legais"]) .lg-tabela td:nth-of-type(1)::before{ content:"O quê: "; font-weight:700; }
  :where(body[data-css~="legais"]) .lg-tabela td:nth-of-type(2)::before{ content:"Para quê: "; font-weight:700; }
  :where(body[data-css~="legais"]) .lg-tabela td:nth-of-type(3)::before{ content:"Base legal: "; font-weight:700; }}

/* o modelo da livre resolução */
:where(body[data-css~="legais"]) .lg-modelo{ background:var(--branco); border:1px solid var(--linha); border-radius:var(--r-cartao); padding:var(--e-5); display:grid; gap:var(--e-3); }
:where(body[data-css~="legais"]) .lg-modelo dl{ margin:0; border-top:1px solid var(--linha); }
:where(body[data-css~="legais"]) .lg-modelo dl > div{ display:grid; grid-template-columns:7rem 1fr; gap:var(--e-3); padding-block:var(--e-2); border-bottom:1px solid var(--linha); }
:where(body[data-css~="legais"]) .lg-modelo dt{ font-size:var(--t-rotulo); font-weight:700; color:var(--tinta-2); padding-top:2px; }
:where(body[data-css~="legais"]) .lg-modelo dd{ margin:0; font-size:var(--t-apoio); }
:where(body[data-css~="legais"]) .lg-modelo .bt .i{ margin-right:6px; }
@media (max-width:519px){
  :where(body[data-css~="legais"]) .lg-modelo{ padding:var(--e-4); }
  :where(body[data-css~="legais"]) .lg-modelo dl > div{ grid-template-columns:1fr; gap:2px; }
  :where(body[data-css~="legais"]) .lg-passo{ grid-template-columns:1fr; gap:var(--e-2); padding:var(--e-4); }}

/* ---------- correções ---------- */
:where(body[data-css~="legais"]) .lg-duas{ display:grid; gap:var(--e-6); }
:where(body[data-css~="legais"]) .lg-caixa{ background:var(--branco); border:1px solid var(--linha); border-radius:var(--r-cartao); padding:var(--e-5); }
:where(body[data-css~="legais"]) .lg-caixa .bt .i, :where(body[data-css~="legais"]) .lg-escreve .bt-contorno .i{ margin-right:6px; }
:where(body[data-css~="legais"]) .lg-vazio{ display:grid; grid-template-columns:28px 1fr; gap:var(--e-3); padding:var(--e-5); border:1.5px dashed var(--linha-forte); border-radius:var(--r-cartao); }
:where(body[data-css~="legais"]) .lg-vazio .i{ width:24px; height:24px; color:var(--madeira-esc); margin-top:2px; }
:where(body[data-css~="legais"]) .lg-vazio p + p{ margin-top:var(--e-2); color:var(--tinta-2); font-size:var(--t-apoio); }
:where(body[data-css~="legais"]) .lg-correcoes{ list-style:none; margin:0; padding:0; border-top:1px solid var(--linha); }
:where(body[data-css~="legais"]) .lg-correcao{ padding-block:var(--e-4); border-bottom:1px solid var(--linha); display:grid; gap:var(--e-2); }
:where(body[data-css~="legais"]) .lg-correcao-cab{ display:flex; flex-wrap:wrap; gap:var(--e-3); align-items:baseline; font-weight:700; }
:where(body[data-css~="legais"]) .lg-correcao-cab time{ color:var(--madeira-esc); font-size:var(--t-apoio); }
:where(body[data-css~="legais"]) .lg-correcao dl{ margin:0; display:grid; gap:var(--e-2); }
:where(body[data-css~="legais"]) .lg-correcao dl > div{ display:grid; grid-template-columns:4.5rem 1fr; gap:var(--e-3); }
:where(body[data-css~="legais"]) .lg-correcao dt{ font-size:var(--t-rotulo); font-weight:700; color:var(--tinta-2); }
:where(body[data-css~="legais"]) .lg-correcao dd{ margin:0; font-size:var(--t-apoio); }
:where(body[data-css~="legais"]) .lg-correcao dd.estava{ color:var(--tinta-3); text-decoration:line-through; text-decoration-color:var(--telha); }
:where(body[data-css~="legais"]) .lg-passos-curtos{ display:grid; gap:var(--e-2); font-size:var(--t-apoio); counter-reset:pc; margin-top:var(--e-3) !important; }
:where(body[data-css~="legais"]) .lg-passos-curtos li{ display:grid; grid-template-columns:28px 1fr; align-items:baseline; }
:where(body[data-css~="legais"]) .lg-passos-curtos li::before{ counter-increment:pc; content:counter(pc); display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--madeira-clara); color:var(--madeira-esc); font-weight:700; font-size:var(--t-rotulo); }

/* ---------- juntas e instituições ---------- */
:where(body[data-css~="legais"]) .lg-terra{ margin-top:var(--e-5); display:grid; gap:var(--e-2); }
:where(body[data-css~="legais"]) .lg-terra-linha{ display:grid; gap:var(--e-3); }
:where(body[data-css~="legais"]) .lg-numeros{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--linha); border-bottom:1px solid var(--linha); }
:where(body[data-css~="legais"]) .lg-numero{ padding:var(--e-4) var(--e-3) var(--e-4) 0; }
:where(body[data-css~="legais"]) .lg-numero + .lg-numero{ padding-left:var(--e-4); border-left:1px solid var(--linha); }
:where(body[data-css~="legais"]) .lg-numero .t-num{ color:var(--tinta); }
:where(body[data-css~="legais"]) .lg-numero p{ font-size:var(--t-apoio); color:var(--tinta-2); }
:where(body[data-css~="legais"]) .lg-numero p b{ display:block; font-size:var(--t-corpo); color:var(--tinta); }
:where(body[data-css~="legais"]) .lg-numeros-fonte{ font-size:var(--t-rotulo); color:var(--tinta-3); }
:where(body[data-css~="legais"]) .lg-cabeca{ margin-bottom:var(--e-5); max-width:var(--larg-texto); }
:where(body[data-css~="legais"]) .lg-cabeca h2{ font-size:var(--t-2); }
:where(body[data-css~="legais"]) .lg-cabeca p{ margin-top:var(--e-2); color:var(--tinta-2); }
:where(body[data-css~="legais"]) .lg-passos{ list-style:none; margin:0; padding:0; display:grid; gap:var(--e-3); counter-reset:passo; }
:where(body[data-css~="legais"]) .lg-passo{ display:grid; grid-template-columns:40px 1fr; gap:var(--e-4); background:var(--branco); border:1px solid var(--linha); border-radius:var(--r-cartao); padding:var(--e-5); }
:where(body[data-css~="legais"]) .lg-passo > .i{ width:32px; height:32px; color:var(--telha); }
:where(body[data-css~="legais"]) .lg-passo h3{ font-size:var(--t-3); margin-bottom:var(--e-2); }
:where(body[data-css~="legais"]) .lg-passo p{ font-size:var(--t-apoio); color:var(--tinta-2); }
:where(body[data-css~="legais"]) .lg-passo h3::before{ counter-increment:passo; content:counter(passo) ". "; color:var(--madeira-esc); }
:where(body[data-css~="legais"]) .lg-copiar{ display:block; margin-top:var(--e-2); padding:var(--e-2) var(--e-3); background:var(--cal-2); border:1px solid var(--linha); border-radius:var(--r-campo); color:var(--tinta); user-select:all; overflow-wrap:anywhere; }
:where(body[data-css~="legais"]) .lg-duas-iguais .alerta{ align-self:start; }

/* ---------- o fim ---------- */
:where(body[data-css~="legais"]) .lg-escreve{ display:grid; gap:var(--e-4); align-items:center; }
:where(body[data-css~="legais"]) .lg-escreve h2{ font-size:var(--t-2); }
:where(body[data-css~="legais"]) .lg-escreve .bt-contorno{ justify-self:start; overflow-wrap:anywhere; }

/* ---------- 404 ---------- */
:where(body[data-css~="legais"]) .lg-404{ padding-bottom:var(--e-5); }
/* o «Ver o concurso» do cartão vive no inicio.css; aqui só o que o cartão precisa */
:where(body[data-css~="legais"]) .cartao-ver{ display:flex; align-items:center; gap:6px; margin-top:auto; padding-top:var(--e-3); font-weight:600; color:var(--telha-esc); font-size:var(--t-apoio); }
:where(body[data-css~="legais"]) .cartao-ver .i{ width:16px; height:16px; }
:where(body[data-css~="legais"]) .cartao-ver + .cartao-pe{ margin-top:var(--e-2); }
:where(body[data-css~="legais"]) .cartao:hover .cartao-ver{ text-decoration:underline; text-decoration-color:var(--madeira); text-underline-offset:4px; }

@media (min-width:640px){
  :where(body[data-css~="legais"]) .lg-terra-linha{ grid-template-columns:1fr auto; align-items:center; }
  :where(body[data-css~="legais"]) .lg-passos{ grid-template-columns:1fr 1fr; }}
@media (min-width:1024px){
  :where(body[data-css~="legais"]) .lg-heroi{ padding-block:var(--abre) var(--e-7); }
  :where(body[data-css~="legais"]) .lg-heroi-grelha{ grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:var(--e-8); align-items:start; }
  :where(body[data-css~="legais"]) .lg-secao{ padding-block:var(--e-7); }
  :where(body[data-css~="legais"]) .lg-doc{ grid-template-columns:15rem minmax(0,1fr); gap:var(--e-8); align-items:start; }
  :where(body[data-css~="legais"]) .lg-indice{ position:sticky; top:calc(var(--topo) + 24px); }
  :where(body[data-css~="legais"]) .lg-duas{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--e-8); align-items:start; }
  :where(body[data-css~="legais"]) .lg-duas-iguais{ grid-template-columns:1fr 1fr; }
  :where(body[data-css~="legais"]) .lg-lado-texto{ position:sticky; top:calc(var(--topo) + 24px); }
  :where(body[data-css~="legais"]) .lg-escreve{ grid-template-columns:1fr auto; }
  :where(body[data-css~="legais"]) .lg-escreve .bt-contorno{ justify-self:end; }
  :where(body[data-css~="legais"]) /* três formas de ajudar: três colunas, :where(body[data-css~="legais"]) sem o buraco de uma grelha de duas */
  .lg-passos{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  :where(body[data-css~="legais"]) .lg-passo{ grid-template-columns:1fr; gap:var(--e-3); align-content:start; }}

/* ---------- o que o base ainda não resolve nestas páginas (pedido em PEDIDOS.md para o base) ---------- */
/* a ligação solta do fim do rodapé («Barómetro», «de onde vêm os dados») com alvo de 44 px */
:where(body[data-css~="legais"]) .rodape-fim a{ display:inline-flex; align-items:center; min-height:44px; }
/* a 375 px o cabeçalho passava 3 px da margem: a marca era flex:none e empurrava o Menu para fora */
@media (max-width:400px){
  :where(body[data-css~="legais"]) .topo .caixa{ gap:6px; }
  :where(body[data-css~="legais"]) .marca{ flex:0 1 auto; min-width:0; gap:8px; }
  :where(body[data-css~="legais"]) .marca > span{ min-width:0; }
  :where(body[data-css~="legais"]) .marca-desc{ overflow:hidden; text-overflow:ellipsis; }}