/* Rechtliche Informationen · gemeinsame LVM Gestaltung · 0.16.0 */
.legal-shell { max-width: 1024px; margin: 0 auto; padding: 28px; }
.legal-intro { max-width: 76ch; margin: 12px 0 28px; }
.legal-intro .intro-lead { max-width: 65ch; }
.legal-date { color: var(--ink-500); font-size: 14px; }
.legal-contents { border-left: 4px solid var(--green); background: var(--green-050); padding: 20px 24px; margin-bottom: 28px; }
.legal-contents ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 24px; list-style: none; margin: 0; padding: 0; }
.legal-contents a { display: inline-flex; align-items: center; min-height: 44px; }
.legal-section { border: 1px solid var(--line); background: var(--surface); padding: 28px; margin-bottom: 20px; }
.legal-section h2 { font-size: 25px; }
.legal-section h3 { font-size: 19px; margin-top: 24px; }
.legal-section p:last-child,.legal-section ul:last-child { margin-bottom: 0; }
.legal-section li { margin-bottom: 8px; }
.legal-contact { font-style: normal; }
.legal-contact a { display: inline-block; padding-block: 5px; }
.legal-highlight { border-left: 4px solid var(--green); padding: 16px 20px; background: var(--green-050); }
.legal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.legal-facts { margin: 20px 0 0; }
.legal-facts>div { display: grid; grid-template-columns: minmax(160px, .7fr) minmax(0, 1.5fr); gap: 20px; border-top: 1px solid var(--line); padding: 12px 0; }
.legal-facts dt { font-weight: 700; }
.legal-facts dd { text-align: left; }
.legal-footer { border-top: 1px solid var(--line); background: var(--surface); }
.legal-footer .legal-shell { padding-block: 24px; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.legal-footer a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 600px) {
  .legal-shell { padding: 20px 16px; }
  .legal-section { padding: 20px 16px; }
  .legal-contents { padding: 16px; }
  .legal-contents ul { grid-template-columns: 1fr; }
  .legal-facts>div { grid-template-columns: 1fr; gap: 5px; }
  .legal-actions .button { width: 100%; }
}
@media print {
  body { background: white; }
  .legal-shell { max-width: none; padding: 0; }
  .legal-contents,.legal-actions,.legal-footer,.header-nav,.skip-link { display: none !important; }
  .legal-section { border: 0; border-top: 1px solid #999; padding: 16px 0; break-inside: auto; }
  .legal-section h2,.legal-section h3 { break-after: avoid; }
  a { color: inherit; }
}
