/* Gemeinsames Layout für /impressum/ und /datenschutz/ (v1.46.4). Nutzt dieselben Farb-Tokens wie
   landing.css (dort definiert, hier nur referenziert) - kein zweites Farbschema. */
.legal-page {
  max-width: 42rem; margin: 0 auto; padding: 1.5rem 1.2rem 3rem; line-height: 1.6;
}
.legal-page.privacy-page { max-width: 76rem; }
.legal-prose { max-width: 78ch; }
.legal-wide { width: 100%; }
.legal-page h1 { font-size: 1.6rem; margin: .8rem 0 .2rem; }
.legal-page h2 { font-size: 1.15rem; margin: 1.8rem 0 .6rem; }
.legal-page h3 { font-size: 1rem; margin: 1.2rem 0 .4rem; }
.legal-page p { margin: 0 0 .9rem; }
.legal-page .legal-basis { color: var(--muted); font-size: .88rem; margin-bottom: 1.4rem; }
.legal-page ul { margin: 0 0 .9rem; padding-left: 1.3rem; }
.legal-page li { margin-bottom: .35rem; }

.legal-missing {
  color: var(--warn, #f5b942); background: color-mix(in srgb, var(--warn, #f5b942) 15%, transparent);
  border: 1px solid var(--warn, #f5b942); border-radius: 6px; padding: .1rem .5rem; font-size: .85rem; font-weight: 600;
}
.legal-note { color: var(--muted); }
.legal-notice {
  background: var(--panel); border: 1px solid var(--border); border-radius: 10px; margin-bottom: 1.2rem; padding: .85rem 1rem;
}

.privacy-table-wrap { margin: 0 0 1.4rem; overflow-x: auto; }
table.privacy-table { border-collapse: collapse; width: 100%; min-width: 62rem; font-size: .88rem; }
table.privacy-table th, table.privacy-table td {
  border: 1px solid var(--border); padding: .65rem .7rem; text-align: left; vertical-align: top; overflow-wrap: anywhere;
}
table.privacy-table th { background: var(--panel2); font-weight: 600; }
table.privacy-table th:nth-child(1) { width: 12%; }
table.privacy-table th:nth-child(2) { width: 13%; }
table.privacy-table th:nth-child(3) { width: 17%; }
table.privacy-table th:nth-child(4) { width: 16%; }
table.privacy-table th:nth-child(5) { width: 19%; }
table.privacy-table th:nth-child(6) { width: 9%; }
table.privacy-table th:nth-child(7) { width: 14%; }

@media (max-width: 48rem) {
  .legal-page.privacy-page { max-width: none; }
  .privacy-table-wrap { overflow: visible; }
  table.privacy-table, table.privacy-table tbody, table.privacy-table tr, table.privacy-table td { display: block; }
  table.privacy-table { min-width: 0; font-size: .9rem; }
  table.privacy-table thead { display: none; }
  table.privacy-table tr {
    border: 1px solid var(--border); border-radius: 10px; margin: 0 0 1rem; overflow: hidden;
  }
  table.privacy-table td {
    border: 0; border-bottom: 1px solid var(--border); display: grid; gap: .2rem; padding: .7rem .8rem;
  }
  table.privacy-table td:last-child { border-bottom: 0; }
  table.privacy-table td::before { color: var(--muted); content: attr(data-label); font-size: .78rem; font-weight: 600; }
  table.privacy-table td:nth-child(1)::before { content: "Verarbeitung"; }
  table.privacy-table td:nth-child(2)::before { content: "Zweck"; }
  table.privacy-table td:nth-child(3)::before { content: "Datenkategorie"; }
  table.privacy-table td:nth-child(4)::before { content: "Rechtsgrundlage"; }
  table.privacy-table td:nth-child(5)::before { content: "Empfänger"; }
  table.privacy-table td:nth-child(6)::before { content: "Drittland"; }
  table.privacy-table td:nth-child(7)::before { content: "Speicherdauer"; }
}

.legal-callout {
  background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: .9rem 1.1rem; margin: 0 0 1.2rem;
}
.legal-callout.legal-callout-missing { border-color: var(--warn, #f5b942); }
