/* ---------------------------------------------------------
   impressum.html and datenschutz.html only. Requires base.css
   for tokens, reset, .container, .eyebrow, header basics and
   the footer.
--------------------------------------------------------- */

.back-link {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--color-ink);
  padding: 10px 16px;
  border-radius: var(--radius-pill);
  transition: background-color var(--transition-fast);
}
.back-link:hover {
  background: var(--color-yellow-soft);
}

.legal-hero {
  background: var(--color-bg-soft);
  padding: 72px 0 56px;
}
.legal-hero h1 { font-size: clamp(2rem, 4vw, 2.8rem); margin-bottom: 0; }

.legal-content { padding: 64px 0 96px; }
.legal-block { max-width: 720px; margin-bottom: 48px; }
.legal-block h2 {
  font-size: 1.3rem;
  color: var(--color-ink);
  border-bottom: 2px solid var(--color-yellow);
  padding-bottom: 0.4em;
  margin-bottom: 0.7em;
}
.legal-block h3 {
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--color-ink);
  margin-top: 1.6em;
}
.legal-block p, .legal-block li { max-width: 640px; }

ul, ol { margin: 0 0 1em; padding-left: 1.3em; }

dl.legal-data {
  font-size: 0.96rem;
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 24px;
  row-gap: 10px;
}
dl.legal-data dt {
  font-family: var(--font-body);
  font-weight: 700;
  color: var(--color-green);
  text-transform: uppercase;
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  align-self: baseline;
  padding-top: 2px;
}
dl.legal-data dd { margin: 0; }
dl.legal-data a:hover { color: var(--color-green); }

@media (max-width: 720px) {
  .legal-hero { padding: 56px 0 40px; }
  .legal-content { padding: 48px 0 72px; }
  dl.legal-data { grid-template-columns: 1fr; row-gap: 4px; }
  dl.legal-data dt { margin-top: 12px; }
}
