/* Shared styling für /impressum.php und /datenschutz.php. Self-contained:
   keine Site-Header, kein Player — minimal-typografische Reading-Page. */

* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: var(--bg-page); color: var(--text-secondary); min-height: 100vh; line-height: 1.6; }

.legal-wrap { max-width: 720px; margin: 0 auto; padding: 80px 32px 60px; }

.legal-back {
  display: inline-flex; align-items: center; gap: 0.5em;
  font-size: 0.72rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-muted); background: none; border: none; cursor: pointer;
  margin-bottom: 3rem; padding: 0; transition: color 0.2s;
  font-family: inherit;
}
.legal-back:hover { color: var(--accent); }
.legal-back::before { content: '←'; font-size: 0.9em; }

.legal-title {
  font-size: clamp(2rem, 4vw, 2.6rem); font-weight: 300; color: var(--text-heading);
  margin: 0 0 0.4rem; line-height: 1.15;
}
.legal-meta {
  font-size: 0.75rem; color: var(--text-muted); letter-spacing: 0.06em;
  margin-bottom: 2.5rem;
}
.legal-divider {
  width: 2.5rem; height: 1px; background: var(--accent); opacity: 0.6;
  margin-bottom: 3rem;
}
.legal-section {
  margin-bottom: 2.5rem; padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--border-soft);
}
.legal-section:last-of-type { border-bottom: none; }

.legal-h2 { font-size: 1.4rem; font-weight: 500; color: var(--text-heading); margin: 0 0 1.2rem; }
.legal-h3 {
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--accent); margin: 1.8rem 0 0.6rem;
}
.legal-h3:first-child { margin-top: 0; }
.legal-h4 { font-size: 0.85rem; font-weight: 600; color: var(--text-primary); margin: 1.2rem 0 0.4rem; }

.legal-p { font-size: 0.88rem; line-height: 1.75; color: var(--text-secondary); margin: 0 0 0.9rem; }
.legal-p strong { color: var(--text-primary); font-weight: 600; }
.legal-p a, .legal-ul a, .legal-address a {
  color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px;
}
.legal-p a:hover, .legal-ul a:hover, .legal-address a:hover { color: var(--accent); }

.legal-ul {
  font-size: 0.88rem; line-height: 1.75; color: var(--text-secondary);
  margin: 0 0 0.9rem; padding-left: 1.4rem;
}
.legal-ul li { margin-bottom: 0.4rem; }

.legal-caps {
  font-size: 0.78rem; line-height: 1.7; color: var(--text-muted);
  margin: 0 0 0.9rem;
}
.legal-address {
  font-style: normal; font-size: 0.88rem; line-height: 1.9;
  color: var(--text-secondary); margin: 0.5rem 0 0.9rem;
}

@media (max-width: 600px) { .legal-wrap { padding: 60px 20px 40px; } }
