/* Zusatzstile für Impressum / Datenschutzerklärung */

.legal-page {
  padding: 2.5rem 0 4rem;
  max-width: 780px;
  margin: 0 auto;
}

.legal-page h1 { text-align: left; margin-top: 0.5em; }
.legal-page h2 { text-align: left; font-size: 1.2rem; margin-top: 1.75em; }

.legal-page ul {
  padding-left: 1.25rem;
}
.legal-page li { margin-bottom: 0.4em; }

.draft-notice {
  background: var(--color-bg-soft);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  font-size: 0.92rem;
  color: var(--color-text-muted);
}

/* ---------- Cookie-Richtlinie ---------- */
.legal-page h3 { text-align: left; font-size: 1.02rem; margin: 1.5em 0 0.4em; }

.legal-intro {
  font-size: 1rem;
  color: var(--color-text-muted);
  line-height: 1.7;
}

/* Kennzeichnung neben den Überschriften: einwilligungsfrei vs. optional */
.legal-badge {
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.15em 0.6em;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  vertical-align: middle;
  white-space: nowrap;
}
.legal-badge-on {
  background: var(--color-bg-soft);
  color: var(--color-primary-text);
  border: 1px solid var(--color-primary-text);
}
.legal-badge-opt {
  background: var(--color-bg-soft);
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
}

/* Auf schmalen Screens darf die Tabelle scrollen statt die Seite zu sprengen. */
.legal-scroll {
  overflow-x: auto;
  margin: 1rem 0 1.25rem;
  -webkit-overflow-scrolling: touch;
}

.legal-table {
  width: 100%;
  min-width: 32rem;
  border-collapse: collapse;
  font-size: 0.87rem;
  line-height: 1.5;
}
.legal-table th,
.legal-table td {
  padding: 0.6rem 0.75rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--color-border);
}
.legal-table th {
  background: var(--color-bg-soft);
  color: var(--color-dark);
  font-weight: 700;
  white-space: nowrap;
}
.legal-table tbody tr:last-child td { border-bottom: none; }
.legal-table code {
  font-size: 0.85em;
  word-break: break-word;
}
