/* Legal register pages (/export, /infrastructuur): same-origin, the CSP forbids inline styles (Codex release-1 r7). */
.legal { max-width: 760px; margin: 0 auto; padding: 32px 16px 64px; }
.legal h1 { margin: 24px 0 8px; font-size: clamp(1.6rem, 6.4vw, 2.25rem); line-height: 1.15; overflow-wrap: anywhere; hyphens: auto; }
.legal h2 { margin: 32px 0 8px; font-size: 1.25rem; }
.legal p, .legal li { line-height: 1.6; overflow-wrap: anywhere; }
.legal p { margin: 0 0 14px; }
.legal ul, .legal ol { margin: 0 0 14px; padding-left: 1.4em; }
.legal ol li { margin-bottom: 8px; }
.legal strong, .legal th { font-weight: 600; }
/* Tables are read as cards at every width: a 3-4 column table of sentences in a 760 px column squeezed every column
   but the first to one word per line (and the first column's nowrap pushed the rest off-screen) - operator 4 Nov:
   "unacceptable". Each row is a card; each cell shows its column name above its text. */
.legal-table { margin: 16px 0; }
.legal table { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
.legal thead { display: none; }
.legal table, .legal tbody, .legal tr, .legal td { display: block; width: 100%; }
.legal tr { padding: 14px 16px; margin: 0 0 12px; border: 1px solid var(--color-border, #e3ddd5); border-radius: 10px; background: #fff; }
.legal td { padding: 4px 0 8px; border: 0; line-height: 1.55; overflow-wrap: anywhere; }
.legal td:first-child { font-weight: 600; padding-bottom: 10px; }
.legal td:last-child { padding-bottom: 0; }
.legal td::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 0.78rem; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase; color: var(--color-text-muted, #5f6e6a); }
.legal td:first-child::before { display: none; }
.legal code { font-size: 0.9em; }
.legal__back { display: inline-block; margin-top: 8px; }
