/* Rechtsdokumente für Schulträger (qrena.de/schultraeger, TOM, Löschkonzept …).
   Ergänzt landing.css um Tabellen auf schmalen Bildschirmen und eine Druckfassung,
   aus der tools/baue-schultraeger-mappe.mjs die PDF-Mappe erzeugt. */

.legal-page:has(.doc-table-wrap table) { max-width: 1040px; }
.doc-meta { font-size: 0.9rem; opacity: 0.75; margin-top: -12px; }
.doc-table-wrap { overflow-x: auto; margin: 16px 0; }
.doc-table-wrap table { margin: 0; min-width: 560px; }
.legal-content td { overflow-wrap: anywhere; vertical-align: top; }
.legal-content h3 { margin-top: 24px; margin-bottom: 8px; color: var(--text); }
.doc-status { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 0.78rem; font-weight: 600; white-space: nowrap; }
.doc-status--ja { background: rgba(16, 185, 129, 0.16); color: #34d399; }
.doc-status--teilweise { background: rgba(245, 158, 11, 0.16); color: #fbbf24; }
.doc-status--nein { background: rgba(148, 163, 184, 0.16); color: #cbd5e1; }
.doc-status--offen { background: rgba(239, 68, 68, 0.14); color: #fca5a5; }

.doc-list { list-style: none; padding-left: 0 !important; display: grid; gap: 12px; }
.doc-list li { margin: 0 !important; }
.doc-list a {
  display: block; padding: 16px 18px; border: 1px solid var(--border); border-radius: 14px;
  text-decoration: none !important; color: var(--text) !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.doc-list a:hover, .doc-list a:focus-visible {
  border-color: rgba(129, 140, 248, 0.7); transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(99, 102, 241, 0.25);
}
.doc-list strong { display: block; font-size: 1.05rem; }
.doc-list span { display: block; font-size: 0.9rem; color: var(--text-secondary); margin-top: 4px; }
.doc-download {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 20px;
  border-radius: 12px; font-weight: 700; text-decoration: none !important; color: #fff !important;
  background: linear-gradient(135deg, #6366f1, #8b5cf6); box-shadow: 0 8px 32px rgba(99, 102, 241, 0.25);
}
.doc-download:hover, .doc-download:focus-visible { box-shadow: 0 12px 40px rgba(139, 92, 246, 0.4); transform: translateY(-1px); }
.doc-flow { width: 100%; height: auto; margin: 12px 0 4px; }
.doc-flow-wrap .doc-flow { min-width: 560px; }
.legal-content { overflow-wrap: break-word; hyphens: auto; }
.doc-list li, .doc-list a { min-width: 0; }
@media (max-width: 640px) {
  .legal-page { padding: 0 12px; }
  .legal-content { padding: 22px 16px; }
  .legal-content h1 { font-size: clamp(1.5rem, 7vw, 2rem); }
}

@media print {
  @page { size: A4; margin: 18mm 16mm; }
  html, body { background: #fff !important; color: #111 !important; }
  .nav-glass, .nav-mobile-overlay, .landing-footer, .doc-noprint { display: none !important; }
  .legal-page { margin: 0 !important; max-width: none !important; padding: 0 !important; }
  .legal-content { background: none !important; border: none !important; padding: 0 !important; line-height: 1.5; }
  .legal-content, .legal-content p, .legal-content li, .legal-content td, .legal-content th,
  .legal-content h1, .legal-content h2, .legal-content h3 { color: #111 !important; }
  .legal-content a { color: #1e3a8a !important; }
  .legal-content th { background: #eef2ff !important; }
  .legal-content th, .legal-content td { border-color: #94a3b8 !important; font-size: 9.5pt; padding: 6px 8px; }
  .doc-table-wrap { overflow: visible; }
  .doc-table-wrap table { min-width: 0; }
  tr, .highlight, .info-box, .warning-box, .success-box { break-inside: avoid; }
  h2, h3 { break-after: avoid; }
  .highlight, .info-box, .warning-box, .success-box { background: #f8fafc !important; color: #111 !important; }
  .doc-status { border: 1px solid #94a3b8; color: #111 !important; background: none !important; }
  .doc-flow text { fill: #111 !important; }
  .doc-flow-wrap .doc-flow { min-width: 0; }
  .doc-flow text[fill="#fbbf24"] { fill: #b45309 !important; }
}
