/* Legal pages (/termos-de-uso, /politica-de-privacidade, /politica-de-cookies):
   sticky table of contents + .prose body. */
.legal-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 32px 64px; align-items: start; }
.legal-toc { position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow: auto; padding: 20px; border: var(--bw) solid var(--color-ink); background: var(--color-surface); box-shadow: var(--shadow-block); }
.legal-toc-h { font: 700 13px/1.3 var(--font-data); text-transform: uppercase; letter-spacing: .06em; }
.legal-toc ol { list-style: none; margin: 10px 0 0; padding: 0; counter-reset: toc; }
.legal-toc li { counter-increment: toc; }
.legal-toc a { display: grid; grid-template-columns: 2.2em 1fr; align-items: baseline; min-height: 36px; padding: 6px 4px; color: var(--color-ink); text-decoration: none; font-size: 15px; line-height: 1.35; border-bottom: 1px solid var(--color-line-soft); }
.legal-toc a::before { content: counter(toc) "."; font: 700 13px/1 var(--font-data); color: var(--color-brand-text); }
.legal-toc a:hover { background: var(--color-bg-2); }
.legal-toc a[aria-current="true"] { box-shadow: inset 4px 0 0 var(--color-brand); background: var(--color-bg-2); font-weight: 600; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 12px 16px; border: 2px solid var(--color-ink); background: var(--color-bg-2); font: 400 14px/1.4 var(--font-data); }
.legal-meta b { font-weight: 700; }
.legal-body { max-width: 46em; }
.legal-body h2 { counter-increment: lh; }
.legal-body { counter-reset: lh; }
.legal-body h2::before { content: counter(lh) ". "; color: var(--color-brand-text); }
.legal-body h2:first-of-type { margin-top: 1.2em; }
.legal-body a { color: var(--color-accent); overflow-wrap: anywhere; }
.legal-body dl.facts { margin-top: 14px; }
.legal-body .table-wrap { margin-top: 16px; }
.legal-body .dtable td, .legal-body .dtable th { font-size: 14px; }
.legal-body .dtable code { font: 700 14px/1.3 var(--font-data); }
.legal-body .btn-row { margin-top: 18px; }
.legal-contact { margin-top: 2.4em !important; }
@media (max-width: 1024px) {
  .legal-grid { grid-template-columns: 1fr; }
  .legal-toc { position: static; max-height: none; }
  .legal-toc ol { columns: 2; column-gap: 24px; }
  .legal-toc li { break-inside: avoid; }
}
@media (max-width: 760px) {
  .legal-toc { padding: 16px; box-shadow: 4px 4px 0 var(--color-ink); }
  .legal-toc ol { columns: 1; }
  .legal-body .dtable td, .legal-body .dtable th { font-size: 15px; }
}
.linkish { display: inline; padding: 0; border: 0; background: none; color: var(--color-accent); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.legal-body code { font: 700 .92em/1.3 var(--font-data); background: var(--color-bg-2); padding: 1px 5px; }
/* the external-channel link inside running text: an inline link, not a 44px flex box */
.legal-body .ext { display: inline; min-height: 0; }
.legal-body .ext .icon { vertical-align: -3px; margin-left: 4px; }
.legal-body .ext small { margin-left: 6px; }
.legal-body .dtable .mono { white-space: normal; }
.legal-body .dtable code { overflow-wrap: anywhere; }
