/* =====================================================================
   MR START — legal.css · Termos de Uso e Política de Privacidade
   Página de leitura longa, pública, sem app em volta. O texto manda:
   título, seções, parágrafos. O sumário vira coluna fixa no desktop
   para a largura não sobrar vazia do lado do texto.
   ===================================================================== */
.lg-topbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:22px clamp(16px, 4vw, 48px);
}
.lg-topbar img{ width:100%; max-width:158px; height:auto; }
@media (max-width:560px){ .lg-topbar img{ max-width:124px; } }

.lg-shell{
  max-width:1120px; margin:0 auto;
  padding:12px clamp(16px, 4vw, 48px) 96px;
  display:grid; grid-template-columns:230px minmax(0, 1fr); column-gap:56px;
  align-items:start;
}
/* No desktop o sumário ocupa a coluna da esquerda de cima a baixo; no
   celular vira uma coluna só e segue a ordem do HTML: título, sumário, texto. */
.lg-head    { grid-column:2; grid-row:1; }
.lg-sumario { grid-column:1; grid-row:1 / span 2; }
.lg-doc     { grid-column:2; grid-row:2; }
@media (max-width:960px){
  .lg-shell{ grid-template-columns:minmax(0, 1fr); row-gap:24px; }
  .lg-head, .lg-sumario, .lg-doc{ grid-column:auto; grid-row:auto; }
}

/* --- Sumário --- */
.lg-sumario{ position:sticky; top:24px; max-height:calc(100vh - 48px); overflow:auto; }
.lg-sumario ol{ margin-top:12px; counter-reset:item; }
.lg-sumario li{ counter-increment:item; }
.lg-sumario a{
  display:flex; gap:10px; padding:5px 0;
  font-size:13px; line-height:1.4; color:var(--text-dim);
}
.lg-sumario a::before{
  content:counter(item, decimal-leading-zero);
  font-family:var(--font-mono); font-size:11px; color:var(--text-faint); padding-top:1px;
}
.lg-sumario a:hover{ color:var(--accent); }
@media (max-width:960px){
  .lg-sumario{
    position:static; max-height:none;
    background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
    padding:18px 20px;
  }
  .lg-sumario ol{ columns:2; column-gap:24px; }
  .lg-sumario li{ break-inside:avoid; }
}
@media (max-width:560px){ .lg-sumario ol{ columns:1; } }

/* --- Documento --- */
.lg-doc{ max-width:760px; font-size:15px; line-height:1.7; }
.lg-head{ max-width:760px; padding-bottom:22px; border-bottom:1px solid var(--border); }
.lg-head .page-title{ margin-top:10px; }
.lg-meta{ margin-top:14px; font-size:12px; color:var(--text-faint); font-family:var(--font-mono); }

.lg-doc h2{
  font-family:var(--font-display); font-size:var(--fs-h2); font-weight:700;
  letter-spacing:-0.015em; line-height:1.3;
  margin:40px 0 12px; padding-top:24px; border-top:1px solid var(--border);
  scroll-margin-top:20px;
}
.lg-doc > h2:first-child{ border-top:none; padding-top:0; margin-top:28px; }
.lg-doc h3{ font-size:var(--fs-h3); font-weight:700; margin:24px 0 8px; }
.lg-doc p{ margin:0 0 13px; color:var(--text-dim); }
.lg-doc strong{ color:var(--text); font-weight:700; }
.lg-doc a{ color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.lg-doc code{
  font-family:var(--font-mono); font-size:13px; color:var(--text);
  background:var(--surface-2); padding:1px 6px; border-radius:4px;
}

.lg-doc ul, .lg-doc ol{ margin:0 0 14px; padding-left:22px; color:var(--text-dim); }
.lg-doc ul{ list-style:disc; }
.lg-doc ol{ list-style:decimal; }
.lg-doc li{ margin-bottom:6px; }
.lg-doc li::marker{ color:var(--text-faint); }

/* --- Tabelas: rolam de lado no celular, a página não --- */
.lg-tabela{ overflow-x:auto; margin:16px 0 20px; border:1px solid var(--border); border-radius:var(--radius-sm); }
.lg-tabela table{ width:100%; min-width:520px; border-collapse:collapse; font-size:13.5px; }
.lg-tabela th{
  text-align:left; padding:10px 14px; background:var(--surface-2);
  font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--text-dim); border-bottom:1px solid var(--border); vertical-align:bottom;
}
.lg-tabela td{
  padding:10px 14px; border-bottom:1px solid var(--border);
  vertical-align:top; color:var(--text-dim); line-height:1.55;
}
.lg-tabela tr:last-child td{ border-bottom:none; }

/* --- Nota: explicação ao leitor. Destaque: cláusula que o CDC
   (art. 54, §4º) manda deixar visível. --- */
.lg-nota, .lg-destaque{ margin:16px 0 18px; padding:14px 18px; border-radius:var(--radius-sm); }
.lg-nota{ background:var(--info-soft); border:1px solid var(--info-border); }
.lg-destaque{ background:var(--accent-soft); border-left:3px solid var(--accent); color:var(--text); }
.lg-nota p:last-child, .lg-destaque p:last-child,
.lg-destaque ul:last-child{ margin-bottom:0; }
.lg-destaque p{ color:var(--text); }

.lg-doc footer{
  margin-top:48px; padding-top:22px; border-top:1px solid var(--border);
  font-size:12.5px; line-height:1.75; color:var(--text-faint);
}
.lg-doc footer p{ color:var(--text-faint); margin:0; }
