/* Regulatory pages (W-0132): /privacidade, /termos, /fontes and en equivalents. Night top bar, paper body, small footer (form.css). No script. */
body.page-legal { padding-bottom: 0; }
/* W-0164 (review c36 C2): the header is the site header (app.css .site-head, is-inner), the same component as the home and service pages.
   The page uses the site container (--content-max) so the text starts at the same x as everywhere else; the reading measure stays 44rem. */

.lg { padding-block: var(--space-12) var(--space-16); }
.lg-wrap { max-width: var(--content-max); margin-inline: auto; padding-inline: var(--gutter); }
.lg-wrap > * { max-width: 48rem; }
.lg h1 { font-size: clamp(2rem, 1.5rem + 2.2vw, 2.75rem); margin-bottom: var(--space-4); }
.lg-lead { font-size: var(--fs-lead); color: var(--color-ink-muted); max-width: 40rem; margin-bottom: var(--space-6); }
.lg-small { font-size: var(--fs-small); color: var(--color-ink-muted); }
.lg-s { margin-top: var(--space-12); scroll-margin-top: var(--space-4); }
/* W-0179 (P-06): 404 page of the publish build (dist/404.html): the same text in pt-PT and en, one under the other, two actions each */
.nf-s + .nf-s { margin-top: var(--space-12); padding-top: var(--space-8); border-top: 1px solid var(--color-line); }
.nf-act { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0; }
.lg h2 { font-size: clamp(1.25rem, 1.1rem + .8vw, 1.625rem); margin-bottom: var(--space-4); letter-spacing: -0.015em; }
.lg h3 { font-size: 1.0625rem; margin: var(--space-6) 0 var(--space-2); }
.lg p, .lg li { max-width: 44rem; }
.lg ul, .lg ol { padding-left: 1.25rem; margin: 0 0 var(--space-4); }
.lg li { margin-bottom: var(--space-2); }

.lg-quote { margin: 0 0 var(--space-4); padding: var(--space-3) var(--space-4); background: var(--color-paper-2); border-left: 4px solid var(--color-sun); border-radius: 0 12px 12px 0; }
.lg-quote p { margin: 0; }

.lg-note { margin-top: var(--space-8); padding: var(--space-4) var(--space-6); background: var(--color-paper-2); border-radius: 16px; border: 1px solid var(--color-line); }
.lg-note h2 { font-size: 1.125rem; margin-bottom: var(--space-2); }
.lg-note p:last-child { margin-bottom: 0; }

.lg-src { list-style: decimal; padding-left: 1.5rem; }
.lg-src li { padding: var(--space-3) var(--space-3) var(--space-1); margin-bottom: var(--space-4); border-radius: 12px; scroll-margin-top: var(--space-6); }
.lg-src li:target { background: var(--color-sun-soft); outline: 2px solid var(--color-sun); }
.lg-src li::marker { font-weight: 800; font-family: var(--font-heading); }
.src-claim { margin-bottom: var(--space-2); }
.src-claim strong { display: block; font-family: var(--font-heading); font-size: 1.25rem; letter-spacing: -0.01em; }
.src-cite { font-size: var(--fs-small); color: var(--color-ink-muted); }
.src-name { font-weight: 600; color: var(--color-ink); }
.src-link { display: inline-block; min-height: 24px; font-weight: 600; }

/* field table: a real table from 720 px, stacked cards below (no horizontal page scroll at 360) */
.lg-tw { margin: var(--space-4) 0 var(--space-6); }
.lg-t { width: 100%; border-collapse: collapse; font-size: var(--fs-small); background: var(--color-surface); }
.lg-t th, .lg-t td { text-align: left; vertical-align: top; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--color-line); }
.lg-t thead th { background: var(--color-paper-2); font-weight: 700; }
.lg-t tbody th { font-weight: 700; white-space: nowrap; }
.lg-t tr:target > * { background: var(--color-sun-soft); }
@media (max-width: 719px) {
  .lg-t, .lg-t tbody, .lg-t tr, .lg-t th, .lg-t td { display: block; width: 100%; }
  .lg-t thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .lg-t tr { border: 1px solid var(--color-line); border-radius: 12px; margin-bottom: var(--space-3); padding: var(--space-2) var(--space-3); }
  .lg-t th, .lg-t td { border-bottom: 0; padding: var(--space-1) 0; }
  .lg-t tbody th { font-size: 1rem; }
  .lg-t td::before { content: attr(data-l); display: block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--color-ink-muted); }
}
