/* Lesefassung der Medora-Unterlagen — baut auf styles.css auf. */

.doc-head {
  padding: 2.75rem 1.25rem 2rem;
  background: linear-gradient(180deg, var(--bg-soft) 0%, #fff 100%);
}
.doc-head-inner {
  max-width: 46rem;
  margin: 0 auto;
}
.doc-back {
  display: inline-block;
  margin-bottom: 1.25rem;
  color: var(--muted);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 650;
}
.doc-back:hover { color: var(--blue); }
.doc-head h1 {
  margin: 0 0 .85rem;
  font-size: clamp(1.95rem, 4.5vw, 2.9rem);
  letter-spacing: -.04em;
  line-height: 1.1;
  font-weight: 800;
}
.doc-teaser {
  margin: 0;
  color: var(--muted);
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.6;
}
.doc-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.25rem;
  margin-top: 1.6rem;
}

/* ——— Fließtext ——— */
.doc-body {
  padding: 0 1.25rem 3.5rem;
  background: #fff;
}
.doc-body-inner {
  max-width: 46rem;
  margin: 0 auto;
  font-size: 1.02rem;
  line-height: 1.72;
  color: #23303F;
}
.doc-body-inner > h2 {
  margin: 2.9rem 0 1rem;
  padding-top: 1.6rem;
  border-top: 1px solid var(--line);
  font-size: clamp(1.4rem, 3vw, 1.8rem);
  letter-spacing: -.03em;
  line-height: 1.2;
  font-weight: 800;
  color: var(--text);
  scroll-margin-top: calc(var(--header-h) + 1rem);
}
.doc-body-inner > h2:first-child,
.doc-toc + h2 {
  margin-top: 1.25rem;
  padding-top: 0;
  border-top: 0;
}
.doc-body-inner h3 {
  margin: 2rem 0 .7rem;
  font-size: 1.18rem;
  letter-spacing: -.02em;
  line-height: 1.3;
  font-weight: 800;
  color: var(--text);
  scroll-margin-top: calc(var(--header-h) + 1rem);
}
.doc-body-inner h4 {
  margin: 1.6rem 0 .5rem;
  font-size: 1.02rem;
  letter-spacing: -.01em;
  font-weight: 750;
  color: var(--text);
}
.doc-body-inner p { margin: 0 0 1.1rem; }
.doc-body-inner strong { color: var(--text); font-weight: 700; }
.doc-body-inner a { color: var(--blue); }
.doc-body-inner code {
  padding: .12em .38em;
  border-radius: 6px;
  background: var(--bg-soft);
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: .88em;
}
.doc-body-inner hr {
  margin: 2.25rem 0;
  border: 0;
  border-top: 1px solid var(--line);
  display: none;
}
.doc-body-inner ul,
.doc-body-inner ol {
  margin: 0 0 1.2rem;
  padding-left: 1.35rem;
}
.doc-body-inner li { margin-bottom: .5rem; }
.doc-body-inner li::marker { color: var(--blue); font-weight: 700; }

/* ——— Inhaltsverzeichnis ——— */
.doc-toc {
  margin: 0 0 2.25rem;
  padding: 1.35rem 1.4rem 1.2rem;
  background: var(--bg-soft);
  border-radius: var(--radius-sm);
}
.doc-toc-titel {
  margin: 0 0 .75rem !important;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--blue);
}
.doc-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: toc;
  display: grid;
  gap: .45rem;
}
@media (min-width: 700px) {
  .doc-toc ol { grid-template-columns: 1fr 1fr; gap: .45rem 1.75rem; }
}
.doc-toc li {
  counter-increment: toc;
  margin: 0;
  font-size: .93rem;
  line-height: 1.45;
}
.doc-toc a {
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
}
.doc-toc a:hover { color: var(--blue); text-decoration: underline; }

/* ——— Tabellen ——— */
.tabelle {
  margin: 0 0 1.5rem;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}
.doc-body-inner table {
  width: 100%;
  border-collapse: collapse;
  font-size: .93rem;
  line-height: 1.55;
}
.doc-body-inner th {
  text-align: left;
  padding: .75rem .95rem;
  background: var(--bg-soft);
  border-bottom: 1px solid var(--line);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}
.doc-body-inner td {
  padding: .75rem .95rem;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.doc-body-inner tr:last-child td { border-bottom: 0; }
.doc-body-inner table.kv td:first-child {
  width: 34%;
  font-weight: 700;
  color: var(--text);
}

/* ——— Hinweiskästen ——— */
.hinweis {
  margin: 0 0 1.5rem;
  padding: 1.05rem 1.25rem;
  border-left: 3px solid var(--blue);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: rgba(0, 122, 255, .05);
}
.hinweis p { margin: 0 !important; font-size: .97rem; }
.hinweis-warnung {
  border-left-color: #FF9F0A;
  background: rgba(255, 159, 10, .08);
}
.hinweis-gut {
  border-left-color: #34C759;
  background: rgba(52, 199, 89, .07);
}

/* ——— Abschluss ——— */
.doc-cta {
  padding: 0 1.25rem 4rem;
  background: #fff;
}
.doc-cta-inner {
  max-width: 46rem;
  margin: 0 auto;
  background: linear-gradient(165deg, #001A33 0%, #0A2744 100%);
  border-radius: var(--radius);
  padding: 2.25rem 2rem;
  text-align: center;
  color: #fff;
}
.doc-cta-inner h2 {
  margin: 0 0 .6rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  letter-spacing: -.035em;
  font-weight: 800;
}
.doc-cta-inner p {
  margin: 0 0 1.5rem;
  color: rgba(255, 255, 255, .75);
  font-weight: 500;
}
.doc-cta-inner .btn-primary {
  background: #fff;
  color: var(--navy);
}

/* ——— Übersichtsseite ——— */
.uebersicht {
  padding: 0 1.25rem 3.5rem;
  background: #fff;
}
.uebersicht-inner {
  max-width: 46rem;
  margin: 0 auto;
  display: grid;
  gap: 1rem;
}
.uebersicht-karte {
  background: var(--bg-soft);
  border-radius: var(--radius-sm);
  padding: 1.6rem 1.5rem 1.4rem;
}
.uebersicht-karte-extra {
  background: #fff;
  border: 1px solid var(--line);
}
.uebersicht-karte h2 {
  margin: 0 0 .6rem;
  font-size: 1.3rem;
  letter-spacing: -.025em;
  line-height: 1.25;
  font-weight: 800;
}
.uebersicht-karte h2 a { color: inherit; text-decoration: none; }
.uebersicht-karte h2 a:hover { color: var(--blue); }
.uebersicht-karte > p {
  margin: 0 0 1.2rem;
  color: var(--muted);
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.6;
}
.uebersicht-aktionen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.25rem;
  margin: 0 !important;
}
.uebersicht-pdf {
  color: var(--muted);
  font-size: .9rem;
  font-weight: 650;
}
.uebersicht-pdf:hover { color: var(--blue); }
