@layer pages {

/* Legal pages — Impressum, Datenschutzerklärung and both sets of terms
   (templates/legal/). Prose at reading width; references, addresses and
   the cookie table are styled apart from the plain text. */

body {
  background-color: var(--color-paper);
}

.legal-page {
  max-width: var(--measure);
  margin: 0 auto;
}

.legal-meta {
  margin-top: calc(var(--space-4) * -1);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.legal-notice {
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-warning);
  border-radius: var(--radius-md);
  background-color: var(--color-warning-tint);
  color: var(--color-warning-ink);
  font-size: var(--font-size-sm);
}

.legal-summary {
  margin-bottom: var(--space-6);
  padding: var(--space-4) var(--space-5);
  border-left: 6px solid var(--color-accent);
  border-radius: var(--radius-md);
  background-color: var(--color-accent-tint);
}

.legal-summary__title {
  font-size: var(--font-size-lg);
}

.legal-summary ul {
  margin-bottom: 0;
}

.legal-body > h2 {
  margin-top: var(--space-6);
  font-size: var(--font-size-lg);
}

.legal-body > h3 {
  margin-top: var(--space-5);
  font-size: var(--font-size-base);
}

.legal-body li {
  margin-bottom: var(--space-1);
}

.legal-body address {
  margin-bottom: var(--space-4);
  font-style: normal;
}

.legal-body dt {
  font-weight: var(--font-weight-bold);
}

.legal-ref {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.legal-cookies {
  width: 100%;
  margin-bottom: var(--space-4);
  border-collapse: collapse;
  font-size: var(--font-size-sm);
}

.legal-cookies th,
.legal-cookies td {
  padding: var(--space-2);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: top;
}

}
