/* KI Katapult — legal pages (Impressum, Datenschutz, AGB)
   Ink on paper. Zero border-radius. 3px ink rules. Loads after site.css. */

.legal { max-width: calc(72ch + 2 * var(--pad-x)); padding: var(--pad-y) var(--pad-x); }

/* Language toggle as buttons (Impressum/AGB switch in place, no page change) */
.nav__lang button { font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: .16em; padding: 0 16px; display: flex; align-items: center; opacity: .7; }
.nav__lang button[aria-current="page"] { background: var(--ink); color: var(--yellow); opacity: 1; }

/* Type */
.legal h1 { font-family: var(--font-disp); font-weight: 800; font-size: 52px; line-height: .98; letter-spacing: -.01em; text-transform: uppercase; margin: 0 0 14px; text-wrap: balance; }
.legal-meta { font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .75; margin: 0 0 44px; }
.legal section { margin-top: 44px; }
.legal section:first-of-type { margin-top: 0; }
.legal h2 { font-family: var(--font-disp); font-weight: 800; font-size: 28px; line-height: 1.05; letter-spacing: -.01em; border-top: 3px solid var(--ink); padding-top: 18px; margin: 0 0 16px; }
.legal h3 { font-family: var(--font-body); font-weight: 600; font-size: 18px; line-height: 1.3; margin: 26px 0 8px; }
.legal h3:first-of-type { margin-top: 20px; }
.legal p, .legal li, .legal address { font-size: 16px; line-height: 1.65; }
.legal p { margin: 0 0 12px; }
.legal p:last-child { margin-bottom: 0; }
.legal strong { font-weight: 600; }
.legal em { font-style: italic; }

/* Lists: square bullets, orange marker */
.legal ul { list-style: square; margin: 0 0 14px; padding-left: 22px; }
.legal li { margin: 0 0 6px; padding-left: 2px; }
.legal li::marker { color: var(--orange); }

/* Links inherit site style (ink text, orange underline); long URLs must wrap */
.legal a { overflow-wrap: anywhere; }

/* Address blocks */
.legal address { font-style: normal; margin: 0 0 12px; }

/* Callout box (e.g. "How to exercise your rights", contact block) */
.legal-note { border: 3px solid var(--ink); background: var(--white); box-shadow: 6px 6px 0 var(--yellow); padding: 16px 20px; margin: 20px 6px 18px 0; }
.legal-note p:last-child { margin-bottom: 0; }

/* Tables (none today; kept for future clauses) */
.legal table { border-collapse: collapse; width: 100%; margin: 0 0 16px; font-size: 15px; line-height: 1.5; }
.legal th, .legal td { border: 2px solid var(--ink); padding: 8px 12px; text-align: left; vertical-align: top; }
.legal th { font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: var(--paper); }

/* ---------- Mobile ---------- */
@media (max-width: 760px) {
  .nav__lang button { padding: 0 16px; opacity: .75; }
  .legal h1 { font-size: 36px; line-height: 1; }
  .legal-meta { margin-bottom: 28px; }
  .legal section { margin-top: 32px; }
  .legal h2 { font-size: 24px; padding-top: 14px; margin-bottom: 12px; }
  .legal h3 { font-size: 17px; margin-top: 20px; }
  .legal p, .legal li, .legal address { font-size: 15px; line-height: 1.6; }
  .legal-note { box-shadow: 4px 4px 0 var(--yellow); padding: 14px 16px; margin-right: 4px; }
}
