/* Wahlpositionen – Kandidatenfragebogen
   Keine externen Ressourcen: nur selbst gehostete Dateien, kein CDN.

   Schrift: die Seite verwendet laut tailwind.config.js IBM Plex Sans.
   Damit sie auch hier greift, muss @font-face auf dieser Seite deklariert
   sein – ein Browser-Cache allein genügt nicht. Pfad unten anpassen und
   den Block aktivieren. Ohne ihn rendert system-ui, was funktioniert,
   aber sichtbar von der übrigen Seite abweicht.

@font-face {
  font-family: "IBM Plex Sans";
  src: url("/dist/fonts/IBMPlexSans-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/dist/fonts/IBMPlexSans-SemiBold.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
*/

:root {
  --paper:      #fbfaf7;
  --card:       #ffffff;
  --ink:        #1b2b3a;
  --ink-soft:   #4a5c6b;
  --ink-faint:  #7b8a96;
  --rule:       #dfe4e8;
  --rule-soft:  #edf0f2;
  --accent:     #2f6b8f;
  --marke:      #e11d48;   /* rose-600 der Hauptseite, nur für Wortmarke und Logo */
  --marke-dk:   #be123c;
  --accent-dk:  #234f6a;
  --done:       #2b6b52;
  --done-bg:    #eef5f1;
  --warn-bg:    #fdf3e4;
  --warn-line:  #d9a441;
  --error-bg:   #fbedec;
  --error-line: #b1443c;

  --serif: Charter, "Bitstream Charter", "Iowan Old Style", "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:  "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --radius: 6px;
  --measure: 62ch;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
}

.wrap { max-width: 780px; margin: 0 auto; padding: 0 20px; }

.skip {
  position: absolute; left: -9999px;
  background: var(--ink); color: #fff; padding: 10px 16px;
}
.skip:focus { left: 12px; top: 12px; z-index: 50; }

/* ---------------------------------------------------------------- Kopf */
.site { border-bottom: 1px solid var(--rule); background: var(--card); }
.site-inner {
  display: flex; flex-wrap: wrap; gap: 10px 24px;
  align-items: center; justify-content: space-between;
  padding-top: 14px; padding-bottom: 14px;
}
.wordmark {
  display: flex; align-items: center; gap: 9px;
  color: var(--ink); text-decoration: none;
}
.wordmark .mark { flex: 0 0 auto; fill: var(--marke); }
.wordmark:hover .mark { fill: var(--marke-dk); }
.wordmark-text {
  font-size: 1.06rem; font-weight: 600; letter-spacing: -0.005em;
}
.wordmark-text .ort { font-weight: 400; color: var(--ink-faint); }

.site-nav {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 4px 18px; font-size: 0.87rem;
}
.site-nav a { color: var(--ink-faint); text-decoration: none; }
.site-nav a:hover { color: var(--ink); }
.site-nav a[aria-current="page"] { color: var(--marke-dk); font-weight: 500; }

.edition-bar { padding-bottom: 12px; }
.edition { margin: 0; font-size: 0.8rem; color: var(--ink-faint); }

/* --------------------------------------------------------------- Intro */
.intro { padding: 44px 0 8px; }
.eyebrow {
  margin: 0 0 10px; font-size: 0.74rem; font-weight: 600;
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--accent);
}
h1 {
  font-family: var(--serif); font-weight: 600;
  font-size: clamp(1.85rem, 4.6vw, 2.7rem);
  line-height: 1.18; letter-spacing: -0.015em; margin: 0 0 18px;
}
h2 {
  font-family: var(--serif); font-weight: 600;
  font-size: 1.4rem; line-height: 1.3; margin: 0 0 10px;
}
h3 { font-size: 1.04rem; font-weight: 600; margin: 0 0 6px; }
.lead { font-size: 1.06rem; color: var(--ink-soft); max-width: var(--measure); margin: 0 0 24px; }

.facts {
  display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 16px;
  border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
}
.facts > div { flex: 1 1 160px; padding: 12px 18px 12px 0; }
.facts dt {
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--ink-faint); margin-bottom: 2px;
}
.facts dd { margin: 0; font-size: 0.95rem; }

.progress {
  display: block; width: 100%; height: 4px; margin: 0 0 26px;
  border: 0; border-radius: 99px; overflow: hidden;
  background: var(--rule-soft);
  appearance: none; -webkit-appearance: none;
}
.progress::-webkit-progress-bar { background: var(--rule-soft); }
.progress::-webkit-progress-value { background: var(--accent); transition: width 0.3s ease; }
.progress::-moz-progress-bar { background: var(--accent); }

.note {
  background: var(--card); border: 1px solid var(--rule);
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 18px 20px; margin: 0 0 8px;
}
.note p { margin: 0 0 10px; font-size: 0.94rem; color: var(--ink-soft); }
.note p:last-child { margin-bottom: 0; }
.note strong { color: var(--ink); }

/* ------------------------------------------------------------- Hinweise */
.alert { padding: 14px 18px; border-radius: var(--radius); margin: 22px 0; font-size: 0.94rem; }
.alert p { margin: 0 0 6px; }
.alert ul { margin: 6px 0 0; padding-left: 20px; }
.alert-error { background: var(--error-bg); border-left: 3px solid var(--error-line); }
.alert-ok    { background: var(--done-bg);  border-left: 3px solid var(--done); }
.alert-info  { background: var(--warn-bg);  border-left: 3px solid var(--warn-line); }

/* --------------------------------------------------------------- Felder */
.field { margin: 20px 0; }
fieldset.field { border: 0; padding: 0; margin: 22px 0; }
legend, label { display: block; font-weight: 600; font-size: 0.95rem; margin-bottom: 8px; padding: 0; }
.hint { font-size: 0.85rem; color: var(--ink-faint); margin: 8px 0 0; font-weight: 400; }

input[type="text"], input[type="url"], textarea {
  width: 100%; font: inherit; font-size: 1rem;
  color: var(--ink); background: var(--card);
  border: 1px solid var(--rule); border-radius: var(--radius);
  padding: 11px 13px;
}
textarea { min-height: 130px; resize: vertical; line-height: 1.55; }
input:focus-visible, textarea:focus-visible, summary:focus-visible, button:focus-visible, a:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 2px;
}
input[type="radio"]:focus-visible + span, input[type="checkbox"]:focus-visible + span {
  outline: 2px solid var(--accent); outline-offset: 3px;
}

.name-field { max-width: var(--measure); margin: 32px 0 8px; }

.charrow {
  display: flex; justify-content: space-between; gap: 16px;
  font-size: 0.8rem; color: var(--ink-faint); margin: 7px 0 0;
}
.counter { font-variant-numeric: tabular-nums; white-space: nowrap; }
.counter.is-short { color: var(--warn-line); }

/* ------------------------------------------------- Antwortskala als Leiste */
.scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.scale-three { grid-template-columns: repeat(3, 1fr); }

.opt { margin: 0; font-weight: 400; cursor: pointer; }
.opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.opt > span {
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 62px; padding: 10px 8px;
  background: var(--card); border: 1px solid var(--rule);
  border-radius: var(--radius);
  font-size: 0.86rem; line-height: 1.3; color: var(--ink-soft);
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.opt:hover > span { border-color: var(--accent); }
.opt input:checked + span {
  background: var(--accent); border-color: var(--accent);
  color: #fff; font-weight: 600;
}
.opt-wide { display: block; margin-top: 6px; }
.opt-wide > span { min-height: 0; padding: 11px 14px; }

/* --------------------------------------------------------------- Thesen */
.thesen { list-style: none; margin: 8px 0 0; padding: 0; counter-reset: these; }

.these {
  background: var(--card);
  border: 1px solid var(--rule);
  border-left: 3px solid var(--rule);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 26px 26px 22px;
  margin: 0 0 22px;
}
.these.is-complete { border-left-color: var(--done); }

.these-head { position: relative; padding-right: 34px; }
.these-head h2 { margin-bottom: 14px; }
.tick { position: absolute; top: 22px; right: 0; width: 20px; height: 20px; }
.these.is-complete .tick {
  border-radius: 50%; background: var(--done-bg);
  box-shadow: inset 0 0 0 1px var(--done);
}
.these.is-complete .tick::after {
  content: ""; position: absolute; left: 6px; top: 4px;
  width: 5px; height: 10px; border: solid var(--done);
  border-width: 0 2px 2px 0; transform: rotate(42deg);
}

.these-text {
  font-family: var(--serif); font-size: 1.16rem; line-height: 1.5;
  margin: 0 0 16px; padding: 16px 20px;
  background: var(--paper); border-radius: var(--radius);
  border-left: 2px solid var(--ink);
}

details { border-top: 1px solid var(--rule-soft); padding-top: 12px; margin: 0 0 6px; }
summary {
  cursor: pointer; font-size: 0.9rem; font-weight: 600; color: var(--accent);
  list-style: none; padding: 2px 0;
}
summary::-webkit-details-marker { display: none; }
summary::before { content: "+ "; font-weight: 700; }
details[open] summary::before { content: "– "; }
.kontext-body { padding: 6px 0 4px; }
.kontext-body p, .kontext-body li { font-size: 0.92rem; color: var(--ink-soft); max-width: var(--measure); }
.kontext-meta strong { color: var(--ink); }
.kontext-body ul { margin: 4px 0 0; padding-left: 20px; }

/* ------------------------------------------------------------ Teil B */
.amtsteil {
  background: var(--card); border: 1px solid var(--rule);
  border-radius: var(--radius); padding: 28px 26px; margin: 34px 0 0;
}
.amtsfrage { padding: 20px 0; border-top: 1px solid var(--rule-soft); }
.amtsfrage:first-of-type { border-top: 0; }
.frage { font-family: var(--serif); font-size: 1.04rem; margin: 0 0 12px; color: var(--ink); }

/* ---------------------------------------------------------- Abschluss */
.abschluss { margin: 34px 0 40px; }
.confirm {
  display: flex; gap: 12px; align-items: flex-start;
  background: var(--card); border: 1px solid var(--rule);
  border-radius: var(--radius); padding: 18px 20px;
  font-weight: 400; font-size: 0.94rem; line-height: 1.55; cursor: pointer;
}
.confirm input { margin-top: 4px; flex: 0 0 auto; width: 17px; height: 17px; }

.actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; }
.btn {
  font: inherit; font-size: 0.97rem; font-weight: 600;
  border-radius: var(--radius); padding: 13px 22px;
  border: 1px solid transparent; cursor: pointer;
}
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-dk); }
.btn-secondary { background: var(--card); color: var(--ink); border-color: var(--rule); }
.btn-secondary:hover { border-color: var(--ink-faint); }

.autosave {
  position: sticky; bottom: 0; padding: 8px 0;
  font-size: 0.82rem; color: var(--ink-faint); text-align: right;
  background: linear-gradient(to top, var(--paper) 60%, transparent);
  min-height: 1.4em;
}

/* --------------------------------------------------------- Rueckblick */
.rueckblick { margin: 20px 0 40px; }
.rueck-item {
  background: var(--card); border: 1px solid var(--rule);
  border-radius: var(--radius); padding: 20px 22px; margin: 0 0 14px;
}
.rueck-item p { font-size: 0.94rem; color: var(--ink-soft); margin: 0 0 8px; }
.antwort-position { font-weight: 600; color: var(--accent) !important; }

/* ------------------------------------------------------------- Fusszeile */
.site-footer {
  border-top: 1px solid var(--rule); background: var(--card);
  padding: 26px 0 34px; margin-top: 30px;
}
.site-footer p { margin: 0 0 6px; font-size: 0.84rem; color: var(--ink-faint); }
.site-footer .fine { max-width: var(--measure); margin-top: 12px; font-size: 0.78rem; }
a { color: var(--accent); }
a:hover { color: var(--accent-dk); }

/* -------------------------------------------------------------- Klein */
@media (max-width: 640px) {
  body { font-size: 16px; }
  .these { padding: 20px 18px; }
  .amtsteil { padding: 22px 18px; }
  .scale { grid-template-columns: 1fr; gap: 5px; }
  .opt > span { min-height: 0; padding: 12px 14px; justify-content: flex-start; text-align: left; }
  .actions .btn { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

@media print {
  .actions, .autosave, .skip, .progress { display: none; }
  .these, .amtsteil, .rueck-item { break-inside: avoid; border: 1px solid #999; }
  details { display: block; }
}

/* ------------------------------------------------- Klarstellung im Bogen */
.klarstellung {
  font-size: 0.9rem; color: var(--ink-soft);
  background: var(--paper); border-radius: var(--radius);
  padding: 12px 16px; margin: 0 0 18px; max-width: var(--measure);
}
.klarstellung strong { color: var(--ink); }

/* ------------------------------------------------------------ Methodik */
.regeln, .rang { margin: 0 0 30px; padding: 0 0 0 0; }
.rang { list-style: decimal; padding-left: 26px; }
.rang li { padding-left: 6px; margin-bottom: 10px; }
.rang li::before { content: none; }
.regeln li { margin-bottom: 14px; }

.skala {
  width: 100%; border-collapse: collapse; margin: 0 0 26px;
  font-size: 0.93rem;
}
.skala caption {
  text-align: left; font-size: 0.8rem; color: var(--ink-faint);
  padding-bottom: 8px;
}
.skala th, .skala td {
  text-align: left; padding: 9px 12px;
  border-bottom: 1px solid var(--rule-soft);
}
.skala thead th { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-faint); }
.skala .num { font-variant-numeric: tabular-nums; font-weight: 600; width: 5rem; }
.skala .nur { display: block; font-size: 0.8rem; color: var(--ink-faint); }

.these-methodik {
  background: var(--card); border: 1px solid var(--rule);
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 22px 24px; margin: 0 0 18px;
}
.these-methodik p { font-size: 0.93rem; color: var(--ink-soft); }
.these-methodik .these-text { font-size: 1.06rem; color: var(--ink); }
.these-methodik ul { margin-top: 6px; }
.these-methodik li { font-size: 0.9rem; color: var(--ink-soft); margin-bottom: 8px; }

.platzhalter { font-style: normal; color: var(--warn-line); font-weight: 600; }
.stand { font-size: 0.85rem; color: var(--ink-faint); margin-top: 40px; }

/* ---------------------------------------------------- Bürgervergleich */
.ergebnisliste { margin: 6px 0 30px; }
.ergebnis-item {
  background: var(--card); border: 1px solid var(--rule);
  border-radius: var(--radius); padding: 22px 24px; margin: 0 0 16px;
}
.ergebnis-kopf {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.ergebnis-kopf h2 { margin: 0; font-size: 1.25rem; }
.wert {
  margin: 0; font-size: 1.6rem; font-weight: 700;
  font-variant-numeric: tabular-nums; color: var(--accent);
}
.balken {
  display: block; width: 100%; height: 8px; margin: 12px 0 8px;
  border: 0; border-radius: 99px; overflow: hidden;
  background: var(--rule-soft);
  appearance: none; -webkit-appearance: none;
}
.balken::-webkit-progress-bar { background: var(--rule-soft); }
.balken::-webkit-progress-value { background: var(--accent); }
.balken::-moz-progress-bar { background: var(--accent); }
.grundlage { margin: 0; font-size: 0.86rem; color: var(--ink-faint); }

.detail-zeile { padding: 14px 0; border-top: 1px solid var(--rule-soft); }
.detail-zeile:first-child { border-top: 0; }
.detail-zeile p { font-size: 0.92rem; margin: 0 0 6px; }
.zitat {
  border-left: 2px solid var(--rule); padding-left: 12px;
  color: var(--ink-soft); font-style: normal;
}
.quelle-klein { font-size: 0.8rem !important; color: var(--ink-faint); }
.nicht-vergleichbar { color: var(--ink-faint); }

.ohne-grundlage {
  background: var(--card); border: 1px solid var(--rule);
  border-left: 3px solid var(--ink-faint);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 22px 24px; margin: 0 0 24px;
}
.ohne-grundlage p { font-size: 0.94rem; color: var(--ink-soft); max-width: var(--measure); }

a.btn { text-decoration: none; display: inline-block; }

/* Der Aufklapper mit den Antworten im Wortlaut ist der eigentliche Inhalt
   des Ergebnisses. Er wird deshalb wie eine Schaltfläche gezeigt, nicht
   wie eine Fußnote. */
.ergebnis-item > details { border-top: 1px solid var(--rule-soft); margin-top: 14px; }
.summary-haupt {
  display: block; margin: 4px 0 0; padding: 12px 16px;
  background: var(--kasten); border: 1px solid var(--rule);
  border-radius: var(--radius);
  font-size: 0.95rem; font-weight: 600; color: var(--accent-dk);
}
.summary-haupt::before { content: "▸ "; }
details[open] > .summary-haupt::before { content: "▾ "; }
.summary-haupt:hover { background: var(--card); border-color: var(--accent); }
.ergebnis-item > details[open] > .summary-haupt { margin-bottom: 8px; }

/* ---------------------------------------- Queransicht und Amtsverständnis */
.these-quer{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);
padding:26px 28px;margin:0 0 20px;scroll-margin-top:16px}
.quer-antwort{border-top:1px solid var(--rule-soft);padding:16px 0 4px;margin:14px 0 0}
.quer-antwort:first-of-type{border-top:0}
.quer-kopf{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
flex-wrap:wrap;margin:0 0 6px}
.quer-name{font-weight:700;font-size:1rem}
.quer-stufe{font-weight:600;color:var(--accent);font-size:.92rem;white-space:nowrap}
.quer-offen{margin-top:20px;padding-top:16px;border-top:2px solid var(--rule)}
.quer-offen-kopf{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
color:var(--ink-faint);margin:0 0 4px}

.amt-frage .kennung{margin-bottom:8px}
@media (max-width:640px){.these-quer{padding:20px 18px}}

/* ------------------------------------------- Amtsverständnis, ausgestaltet */
.amt-frage{padding:0;margin:0 0 34px;background:none;border:0}
.amt-kopf{display:flex;gap:16px;align-items:flex-start;margin:0 0 14px}
.amt-nr{flex:0 0 auto;width:38px;height:38px;border-radius:50%;
background:var(--accent);color:#fff;font-weight:700;font-size:1.05rem;
display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.amt-kopf h2{margin:2px 0 0;font-size:1.35rem;border:0;padding:0}
.amt-kopf .kennung{margin:0}

.amt-frage blockquote.frage{
  font-family:var(--serif);font-size:1.12rem;line-height:1.5;color:var(--ink);
  margin:0 0 10px;padding:16px 20px;background:var(--card);
  border:1px solid var(--rule);border-left:3px solid var(--ink);
  border-radius:0 var(--radius) var(--radius) 0;max-width:none}
.amt-zahl{font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
color:var(--ink-faint);margin:0 0 6px}

.amt-antwort{background:var(--card);border:1px solid var(--rule);
border-radius:var(--radius);padding:18px 22px;margin:0 0 10px}
.amt-antwort:last-of-type{margin-bottom:0}
.amt-name{margin:0 0 8px;font-size:1rem;font-weight:700;color:var(--accent-dk);
padding-bottom:7px;border-bottom:1px solid var(--rule-soft)}
.amt-text{margin:0;font-size:1rem;line-height:1.72;color:var(--ink);
white-space:pre-wrap;max-width:var(--measure)}
.amt-leer{margin:10px 0 0;font-size:.86rem;color:var(--ink-faint)}

/* ------------------------------------------------ Wege auf der Startseite */
.wege{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);
padding:20px 22px;margin:0 0 26px}
.wege-kopf{margin:0 0 12px;font-size:.78rem;font-weight:600;letter-spacing:.07em;
text-transform:uppercase;color:var(--ink-faint)}
.wege ul{list-style:none;margin:0;padding:0}
.wege li{margin:0 0 8px}
.wege li:last-child{margin-bottom:0}
.wege a{display:block;text-decoration:none;padding:12px 14px;border-radius:var(--radius);
background:var(--paper);border:1px solid transparent}
.wege a:hover{border-color:var(--accent);background:var(--kasten)}
.wege a strong{display:block;color:var(--accent-dk);font-size:.98rem;margin-bottom:2px}
.wege a strong::after{content:" →";font-weight:400}
.wege a span{display:block;color:var(--ink-soft);font-size:.88rem;line-height:1.5}

/* ------------------------------------------------ Sprungmarken (Tabs)
   Die Klasse .tab war bislang nur im Prototyp formatiert; im ausgelieferten
   Stylesheet fehlte sie. Dadurch liefen die Sprungmarken als Fließtext und
   stiessen ohne Abstand an den ersten Kasten. */
.tabs{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:0 0 38px;padding:18px 0 0;
  border-top:1px solid var(--rule);
}
.tabs .tab{
  display:inline-block;text-decoration:none;
  font-size:.86rem;line-height:1.3;
  padding:8px 14px;border-radius:99px;
  background:var(--card);border:1px solid var(--rule);
  color:var(--ink-soft);
}
.tabs .tab:hover{border-color:var(--accent);color:var(--accent-dk);background:var(--kasten)}
.tabs .tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Abstand zwischen Sprungmarken und erstem Inhaltsblock zusätzlich sichern */
.tabs + .these-quer,
.tabs + .amt-frage{margin-top:6px}

/* --------------------------------------------- Wege: zwei Karten nebeneinander */
.wege{background:none;border:0;padding:0;margin:0 0 34px}
.wege-kopf{margin:0 0 10px}
.wege ul{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wege li{margin:0}
.wege a{
  height:100%;background:var(--card);border:1px solid var(--rule);
  border-left:3px solid var(--accent);
  border-radius:0 var(--radius) var(--radius) 0;
  padding:16px 18px;
}
.wege a:hover{background:var(--kasten);border-color:var(--accent)}
@media (max-width:900px){.wege ul{grid-template-columns:1fr}}

/* Der Fragebogen beginnt nach den Karten sichtbar neu */
.wege + .alert, .wege + form, .wege + .thesen{margin-top:0}
.thesen{border-top:1px solid var(--rule);padding-top:26px}

/* ------------------------------------------------- Kandidierenden-Seite */
.kand-liste{list-style:none;margin:0 0 10px;padding:0}
.kand{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--accent);
border-radius:0 var(--radius) var(--radius) 0;padding:18px 22px;margin:0 0 12px}
.kand-kopf{display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap}
.kand-kopf h2{margin:0;font-size:1.2rem;border:0;padding:0}
.kand-status{font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
padding:4px 11px;border-radius:99px;white-space:nowrap}
.kand-status.ja{background:var(--done-bg);color:var(--done)}
.kand-status.nein{background:var(--rule-soft);color:var(--ink-faint)}
.kand-quelle{margin:10px 0 0;font-size:.92rem}
.kand-wege{margin:6px 0 0;font-size:.86rem;color:var(--ink-faint)}
.kand-wege a{color:var(--accent)}
.kand-ohne{color:var(--ink-faint)}

/* Ankerlink neben der Thesenüberschrift */
.anker{margin-left:8px;font-weight:400;font-size:.7em;color:var(--rule);text-decoration:none;
vertical-align:middle}
.these-quer:hover .anker,.anker:focus-visible{color:var(--accent)}

/* ----------------------------------------------------------- Druckansicht */
@media print{
  .site-nav,.tabs,.wege,.actions,.autosave,.skip,.progress,.site-footer .fine{display:none}
  body{background:#fff;font-size:11pt}
  .wrap{max-width:none;padding:0}
  .these-quer,.amt-frage,.kand,.ergebnis-item{break-inside:avoid;border:1px solid #999;
    border-left-width:1px;margin-bottom:10pt}
  details{display:block}
  details > summary{display:none}
  .anker{display:none}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555;word-break:break-all}
}
