/* CONTAVOX Handbuch für die Versammlungsleitung contavox.ch/handbuch (Paket J, 21.10.2026)
   Baut auf erklaer.css auf (Farben, Schrift, Kopf, Bänder, Fragen, Fusszeile) und ergänzt nur, was das Handbuch braucht:
   Schritte mit Bildern aus der Probeversammlung, Klickwege, Hinweise. Strenge CSP wie die Erklärseite: keine
   Inline-Stile. Grün, Rot, Schiefergrau bleiben Ja, Nein, Enthaltung vorbehalten; Hinweise sind violett. */

.hb-aufbau { display: grid; gap: 14px; }
@media (min-width: 760px) { .hb-aufbau { grid-template-columns: 1fr 1fr; } }
.hb-teilkarte { display: grid; gap: 6px; padding: 20px 22px; border-radius: 22px; background: rgba(255, 255, 255, 0.06); box-shadow: 0 0 0 1px var(--linie-dunkel) inset; min-width: 0; }
.hb-teilkarte h2 { font-size: 20px; font-weight: 660; font-variation-settings: 'wdth' 100; }
.hb-teilkarte p { color: var(--text-dunkel-2); text-wrap: pretty; }
.hb-adresse { font-weight: 650; color: var(--text-dunkel); overflow-wrap: anywhere; }


/* Ein Schritt: Text links, Bilder rechts (ab 980 px), sonst untereinander */
.hb-schritt { align-items: start; }
.hb-schritt > .schritt-text { gap: 16px; }
.hb-liste { display: grid; gap: 10px; padding: 0; list-style: none; max-width: 40em; counter-reset: hb; }
.hb-liste > li { position: relative; padding-left: 40px; text-wrap: pretty; counter-increment: hb; }
.hb-liste > li::before {
  content: counter(hb); position: absolute; left: 0; top: 0.05em; display: grid; place-items: center; width: 28px; height: 28px;
  border-radius: 50%; background: var(--violett); color: #fff; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.hb-punkte { display: grid; gap: 10px; padding: 0; list-style: none; max-width: 40em; }
.hb-punkte > li { position: relative; padding-left: 26px; text-wrap: pretty; }
.hb-punkte > li::before { content: ''; position: absolute; left: 3px; top: 0.55em; width: 10px; height: 10px; border-radius: 50%; background: var(--violett); }
.hb-weg {
  display: inline; padding: 1px 8px; border-radius: 8px; background: var(--violett-zart); color: var(--violett-tief);
  font-weight: 640; white-space: normal; box-decoration-break: clone; -webkit-box-decoration-break: clone;
}
.hb-achtung { display: grid; gap: 4px; padding: 16px 18px; border-radius: 18px; background: var(--weiss); border: 1px solid var(--linie-feld); border-left: 5px solid var(--violett); max-width: 40em; }
.hb-achtung strong { font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--violett-tief); }
.hb-achtung p { color: var(--tinte); text-wrap: pretty; }
.hb-knopf {
  justify-self: start; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 22px; border-radius: 999px;
  background: var(--violett); color: #fff; font-weight: 650; text-decoration: none; box-shadow: 0 12px 26px -16px rgba(66, 41, 182, 0.9);
}
.hb-knopf:hover { background: var(--violett-tief); }
.hb-knopf svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* Bilder aus der Probeversammlung */
.hb-bilder { display: grid; gap: 18px; min-width: 0; }
.hb-bilder-zwei { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); align-items: start; }
.hb-bild { margin: 0; display: grid; gap: 8px; min-width: 0; }
.hb-bild a { display: block; border-radius: 14px; }
.hb-bild img {
  width: 100%; height: auto; border-radius: 14px; background: var(--weiss);
  box-shadow: 0 0 0 1px var(--linie), 0 22px 44px -30px rgba(17, 12, 43, 0.55);
}
.hb-bild-handy { justify-self: center; width: min(260px, 100%); }
.hb-bild-handy img { border-radius: 26px; }
.hb-bild-klein { justify-self: center; width: min(380px, 100%); }
.hb-bild figcaption { font-size: 15px; font-weight: 600; color: var(--tinte-2); text-align: center; text-wrap: balance; }
.hb-quelle { font-size: 14px; color: var(--tinte-2); }
.hb-quelle.hb-quelle-hell { padding-block: 18px 40px; color: var(--text-dunkel-2); }

/* Leiten: mehrere Teile untereinander, je Text und Bild */
.hb-teile { display: grid; gap: clamp(40px, 5vw, 64px); }
.hb-teil { display: grid; gap: 18px; align-items: start; }
.hb-teil > * { min-width: 0; }
@media (min-width: 980px) { .hb-teil { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 48px; } }
.hb-teil h3 { font-weight: 660; font-variation-settings: 'wdth' 100; font-size: clamp(22px, 0.8vw + 18px, 28px); line-height: 1.12; letter-spacing: -0.012em; text-wrap: balance; }
.hb-teil-text { display: grid; gap: 12px; align-content: start; }

.hb-stoerung { background: var(--eis-2); }
.hb-stoerung .faq details p + p { padding-top: 0; }
.hb-fuss-links { display: flex; flex-wrap: wrap; gap: 4px 24px; }
