/* contract.css — Vertrags- und Richtlinienseiten (nur auf /vertraege/* geladen).
   Ausschließlich bestehende Design-Tokens, keine neuen Farben. */

.contract-page{padding:56px 0 96px}

/* ---------- Dokument ---------- */
.contract{max-width:880px}
.contract-head{padding-bottom:22px;border-bottom:1px solid var(--line-strong);margin-bottom:34px}
.contract-head h1{font-family:var(--display);font-weight:900;font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.01em;margin:10px 0 14px}
.contract-meta{font-family:var(--mono);font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}

/* Überschriften-Hierarchie: h1 = Dokumenttitel (aus dem Frontmatter), h2 = Dokument-/Teil-
   Überschrift, h3 = Paragraph, h4 = Unterparagraph. */
/* Das globale h2 der Startseite ist eine Display-Headline: Versalien und auf 22 Zeichen
   begrenzt. In einem Vertragstext ist beides falsch — hier zurücksetzen. */
.contract h2{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.25;margin:44px 0 16px;scroll-margin-top:96px;text-transform:none;letter-spacing:normal;max-width:none}
.contract h3{font-family:var(--display);font-weight:700;font-size:18.5px;margin:34px 0 12px;scroll-margin-top:96px}
.contract h4{font-family:var(--display);font-weight:600;font-size:16px;margin:26px 0 10px;scroll-margin-top:96px}
.contract h5{font-family:var(--mono);font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px}
/* Paragraphenzeichen als dezenter Akzent */
.contract .par{color:var(--red-bright)}

.contract p{margin:0 0 14px;font-size:15.5px;line-height:1.72}
.contract strong,.contract b{color:var(--text);font-weight:600}
.contract em{color:var(--muted)}
.contract a{color:var(--red-bright);text-decoration:underline;text-underline-offset:2px}
.contract ul,.contract ol{margin:0 0 16px 22px;display:grid;gap:7px}
.contract li{font-size:15.5px;line-height:1.65}
.contract li::marker{color:var(--red)}
.contract hr{border:none;border-top:1px solid var(--line);margin:34px 0}
.contract code{font-family:var(--mono);font-size:13px;background:var(--bg-raised);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.contract .table-wrap{margin:0 0 20px}
.contract td{font-variant-numeric:tabular-nums}

/* Offene Stellen im Vertragstext: als solche erkennbar, nicht als Fließtext */
.contract blockquote{margin:0 0 18px;padding:14px 18px;border-left:3px solid var(--red);border-radius:0 10px 10px 0;background:var(--red-soft);color:var(--text);font-family:var(--mono);font-size:13px}
.contract blockquote p{margin:0;font-family:var(--mono);font-size:13px}

/* ---------- Statushinweise ---------- */
.contract-draft,.contract-archived{margin:0 0 30px;padding:16px 20px;border-radius:12px;font-size:14.5px;line-height:1.6}
.contract-draft{border:1px solid rgba(213,35,46,.45);background:linear-gradient(90deg,rgba(213,35,46,.12),rgba(213,35,46,.03));color:var(--text)}
.contract-archived{border:1px solid var(--line-strong);background:var(--bg-raised);color:var(--muted)}

.contract-foot{margin-top:52px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--muted)}
.contract-foot a{color:var(--red-bright);text-decoration:none}
.contract-back{margin-top:12px}

/* ---------- Übersichtsseite ---------- */
.doc-index h1{font-family:var(--display);font-weight:900;font-size:clamp(30px,4.5vw,44px);line-height:1.08;margin:10px 0 16px}
.doc-index .sec-intro{margin-bottom:34px}
.doc-grid{grid-template-columns:repeat(2,1fr)}
.doc-card b{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.doc-meta{margin-top:8px;font-variant-numeric:tabular-nums}
.doc-badge{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 8px;border:1px solid var(--line-strong);color:var(--muted);font-weight:500}
.doc-badge-entwurf{color:var(--red-bright);border-color:rgba(213,35,46,.45);background:var(--red-soft)}
.doc-badge-gueltig{color:var(--green);border-color:rgba(56,209,120,.35)}
.doc-hint{margin-top:26px;font-family:var(--mono);font-size:12px;color:var(--muted)}
@media (max-width:820px){.doc-grid{grid-template-columns:1fr}}

/* ---------- Druck: Verträge werden gedruckt oder als PDF gesichert ---------- */
@media print{
  :root{--text:#000;--muted:#444;--line:#c9ced6;--line-strong:#9aa3ad}
  html,body{background:#fff;color:#000}
  header,footer,.breadcrumb,.contract-back,.menu-toggle{display:none !important}
  .contract-page{padding:0}
  .wrap{max-width:none;padding:0}
  .contract{max-width:none}
  .contract-head{border-color:#9aa3ad}
  .contract h1,.contract h2,.contract h3{color:#000;page-break-after:avoid}
  .contract .par{color:#000}
  .contract p,.contract li{font-size:11pt;line-height:1.5;color:#000;orphans:3;widows:3}
  .contract a{color:#000;text-decoration:none}
  .contract a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444}
  .contract blockquote{background:#fff;border-left:3px solid #000;color:#000}
  .contract-draft{border:1.5pt solid #000;background:#fff;color:#000}
  .table-wrap{border:1px solid #9aa3ad;background:#fff;overflow:visible}
  table{min-width:0;page-break-inside:auto}
  tr{page-break-inside:avoid}
  th{background:#f1f3f5;color:#000}
  td{color:#000}
  .contract-foot{color:#444}
}
