/* Öffentliche Seiten des Portals (Anmeldung zu Terminen). Farben und Schrift wie www.ug-ebs.de */
@font-face{font-family:Roboto;src:url(/fonts/roboto-latin-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--blau:#1E3A8A;--blau-tief:#16296A;--blau-hell:#E8EDF8;--orange:#D97706;--orange-tief:#B45F05;--gruen:#4D795F;--gruen-hell:#E6EFE9;--grau:#6B7280;--sand:#F3F4F6;--tinte:#111827;--linie:#E3E5EA}
*{box-sizing:border-box}
body{margin:0;font:400 17px/1.6 Roboto,system-ui,sans-serif;color:var(--tinte);background:var(--sand)}
a{color:var(--blau)}
.kopf{background:#fff;border-bottom:1px solid var(--linie)}
.kopf a{max-width:860px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:12px;text-decoration:none}
.kopf img{width:40px;height:auto}
.kopf span{font-weight:700;font-size:.74rem;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:var(--blau)}
main{max-width:860px;margin:0 auto;padding:32px 20px 64px}
.karte{background:#fff;border:1px solid var(--linie);border-radius:18px;padding:28px;margin-bottom:22px}
.kicker{font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-tief)}
h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15;margin:8px 0 12px}
h2{font-size:1.25rem;margin:0 0 14px}
.meta{display:flex;flex-wrap:wrap;gap:6px 20px;color:var(--grau);font-size:.95rem}
.terminbild{width:100%;border-radius:12px 48px 12px 48px;margin:18px 0 6px;display:block}
.beschreibung{margin-top:18px}
.chip{display:inline-block;font-weight:600;font-size:.8rem;padding:6px 12px;border-radius:999px;background:var(--gruen-hell);color:var(--gruen)}
.chip.warn{background:#FDF1E1;color:var(--orange-tief)}
.chip.rot{background:#F4E4E1;color:#9A3B2C}
form .zeile{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-weight:600;font-size:.92rem;margin:14px 0 6px}
input,textarea,select{width:100%;font:inherit;padding:11px 14px;border:2px solid var(--linie);border-radius:10px;background:#fff}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blau)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:18px}
.check input{width:auto;margin-top:5px}
.falle{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{display:inline-block;margin-top:20px;padding:13px 24px;border:0;border-radius:999px;background:var(--orange);color:#fff;font:600 1rem Roboto,sans-serif;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--orange-tief)}
.btn.leise{background:#fff;color:var(--blau);border:2px solid var(--blau)}
.fehler{background:#F4E4E1;color:#7a2b1f;border-radius:12px;padding:12px 16px;margin-bottom:18px}
.ok{background:var(--gruen-hell);color:#2f4d3b;border-radius:12px;padding:12px 16px;margin-bottom:18px}
.klein{font-size:.88rem;color:var(--grau)}
.fuss{text-align:center;font-size:.85rem;color:var(--grau);padding:0 20px 40px}
@media (max-width:600px){form .zeile{grid-template-columns:1fr}.karte{padding:20px}}
.knoepfe{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.knoepfe .btn{margin-top:20px}
.spalten{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.spalten .check{margin-top:8px}
fieldset.lastschrift{border:2px solid var(--linie);border-radius:14px;padding:4px 18px 16px;margin:14px 0 6px}
.karte h2{margin-top:26px}
.hilfe h2{margin-top:28px}
.hilfe h3{margin:20px 0 6px;font-size:1.05rem}
.hilfe li{margin-bottom:6px}
@media (max-width:600px){.spalten{grid-template-columns:1fr}}
.tipp{background:var(--blau-hell);border-radius:12px;padding:10px 14px;font-size:.92rem;transition:background .2s}
.angaben{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0 0 12px}
.angaben dt{color:var(--grau)}
.angaben dd{margin:0}

/* Wahlkarten (z. B. Mitglied ja/nein, Zahlweise) */
.wahl-karten{border:0;padding:0;margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wahl-karten legend{font-weight:600;font-size:.92rem;margin-bottom:8px;padding:0}
.wahl-karte{margin:0;display:flex;gap:10px;align-items:flex-start;border:2px solid var(--linie);border-radius:14px 28px 14px 28px;padding:14px 16px;cursor:pointer;font-weight:400;transition:border-color .15s,background .15s}
.wahl-karte:has(input:checked){border-color:var(--blau);background:var(--blau-hell)}
.wahl-karte input{width:auto;margin-top:4px}
.wahl-karte b{display:block}
.wahl-karte em{font-style:normal;font-weight:700;color:var(--orange-tief)}
.wahl-karte small{display:block;color:var(--grau);font-size:.85rem}
@media (max-width:640px){.wahl-karten{grid-template-columns:1fr}}

/* SEPA-Lastschriftmandat (Adventskalender, Teilnahmegebühren) */
.sepa{border:0;margin:18px 0 0;padding:18px 20px 20px;background:var(--sand);border-radius:14px 28px 14px 28px}
.sepa legend{float:left;width:100%;padding:0;margin:0 0 6px;font-weight:700;font-size:1.05rem;color:var(--blau)}
.sepa legend+*{clear:both}
.sepa.aus{display:none}
.js .nur-ohne-js{display:none}
.sepa-daten{display:grid;grid-template-columns:max-content 1fr;gap:2px 16px;margin:8px 0 4px;font-size:.92rem}
.sepa-daten dt{color:var(--grau)}
.sepa-daten dd{margin:0;font-weight:600}
.sepa .check span{font-size:.88rem;color:#374151}
.iban-pruefung{margin:6px 0 0;font-size:.85rem;min-height:1.2em}
.iban-pruefung.gut{color:var(--gruen);font-weight:600}
.iban-pruefung.fehler{color:#9A3B2C}
.iban-pruefung.warte{color:var(--grau)}
[data-iban]{font-family:ui-monospace,Consolas,monospace;letter-spacing:.04em}
