/* Rechtsseiten (Impressum, AGB, AVV, SLA): ruhige Lesetypografie + Druckansicht */
.card.legal h3 { margin: 22px 0 6px; font-size: 16px; }
.card.legal h4 { margin: 14px 0 4px; font-size: 14.5px; }
.card.legal p, .card.legal li, .card.legal address { font-size: 14px; color: var(--text-secondary); line-height: 1.6; }
.card.legal address { font-style: normal; }
.card.legal ol, .card.legal ul { padding-left: 22px; margin: 4px 0 8px; }
.card.legal li { margin: 3px 0; }
.card.legal a { color: var(--accent); }
.card.legal table { width: 100%; border-collapse: collapse; font-size: 13.5px; margin: 8px 0 12px; }
.card.legal th, .card.legal td { text-align: left; padding: 7px 8px; border-top: 1px solid var(--border, #DDE2E7); vertical-align: top; color: var(--text-secondary); }
.card.legal th { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; border-top: 0; }
.card.legal .legal-meta { margin-top: 26px; font-size: 12.5px; color: var(--text-secondary); border-top: 1px solid var(--border, #DDE2E7); padding-top: 12px; }
.card.legal .legal-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 6px 0 4px; }
.card.legal .legal-actions .btn { min-height: 40px; }
.card.legal .legal-box { border: 1px solid var(--border, #DDE2E7); border-radius: 14px; padding: 12px 14px; margin: 10px 0; }
@media print {
  .nav, .footer, .legal-actions { display: none !important; }
  body { background: #fff; }
  .sheet, .sheet.wide { max-width: none; margin: 0; padding: 0; }
  .card { box-shadow: none; border: 0; padding: 0; }
  .card.legal p, .card.legal li, .card.legal td, .card.legal th { color: #000; }
  a { color: #000; text-decoration: none; }
}
