/* Meldeweg – ergänzt den Stil der Website (/s/css/stil.css) um Formularfelder. */
.melde-seite { padding-top: 2rem; padding-bottom: 3rem; max-width: 46rem; }
.melde-karte { margin: 2rem auto; }
.melde-karte label { font-weight: 600; }
.melde-karte input[type="text"] { font: inherit; padding: .7rem 1rem; border: 2px solid var(--graublau); border-radius: 10px; text-align: center; letter-spacing: .08em; }
.melde-formular { display: grid; gap: 1.1rem; margin-top: 1.5rem; }
.melde-formular fieldset { border: 1px solid var(--linie); border-radius: var(--rund); padding: 1rem 1.2rem; margin: 0; background: var(--flaeche); }
.melde-formular legend { font-weight: 700; padding: 0 .3rem; }
.aktionen label { display: inline-flex; align-items: center; gap: .4rem; margin: .2rem 1.2rem .2rem 0; font-weight: 600; }
.feld { display: grid; gap: .3rem; }
.feld label { font-weight: 600; }
.feldreihe { display: grid; gap: 1rem; }
@media (min-width: 40rem) { .feldreihe { grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); } }
.melde-formular input, .melde-formular select, .melde-formular textarea {
  font: inherit; width: 100%; padding: .6rem .8rem; border: 2px solid var(--graublau); border-radius: 10px; background: #fff; color: var(--text); }
.melde-formular input[type="radio"], .melde-formular input[type="checkbox"] { width: auto; }
.melde-formular input:focus, .melde-formular select:focus, .melde-formular textarea:focus { border-color: var(--blau); outline: none; }
.melde-formular button { justify-self: start; font: inherit; font-weight: 700; cursor: pointer; }
.haken { display: flex; gap: .5rem; align-items: flex-start; font-weight: 600; }
.hilfe { font-size: .92rem; color: var(--text-leise); margin: 0; }
.fangfeld { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.melde-fehler { background: #fde8e8; border: 1px solid #e4a3a3; color: #8a1018; border-radius: var(--rund); padding: .8rem 1rem; font-weight: 600; }
.melde-hinweise { background: var(--gelb-hell); border: 1px dashed #c9a800; border-radius: var(--rund); padding: .8rem 1.1rem; margin: 1rem 0; }
.melde-hinweise ul { margin: .4rem 0 0; padding-left: 1.2rem; }
.ablehnen { border-top: 1px solid var(--linie); padding-top: 1.5rem; margin-top: 2rem; }
.leise { color: var(--text-leise); }
/* Anleitung */
.anleitung-knopf { margin: 1.4rem 0 .6rem; }
.anleitung-knopf .knopf { white-space: normal; line-height: 1.3; }
.anleitung { margin-top: 2.5rem; }
.anleitung h2 { margin-bottom: .6rem; }
.anleitung-inhalt { margin: 1.5rem 0; }
.anleitung-inhalt ul { margin: .4rem 0 0; padding-left: 1.2rem; }
.anleitung-kontakt { margin: .8rem 0 1rem; }
.anleitung-kontakt .knopf { word-break: break-all; }
.schritte { padding-left: 1.4rem; }
.schritte > li { margin-bottom: .9rem; padding-left: .2rem; }
.schritte ul { margin-top: .5rem; padding-left: 1.1rem; }
.schritte ul li { margin-bottom: .45rem; }
.fragen dt { font-weight: 700; margin-top: 1.1rem; }
.fragen dd { margin: .3rem 0 0; }
.anleitung-ende { margin-top: 3rem; text-align: center; }
.marke-1275 { display: inline-block; padding: .05rem .4rem; border-radius: .25rem; background: var(--gelb); color: var(--blau-dunkel);
  font-size: .78rem; font-weight: 700; line-height: 1.4; }
.klein { font-size: .9rem; }
.melde-fuss { padding-top: 1rem; padding-bottom: 2rem; font-size: .92rem; color: var(--text-leise); text-align: center; }
/* Ohne JavaScript bleibt alles sichtbar; mit JavaScript nur, was zur Auswahl passt. */
.js [data-aktion="neu"] .nur-bestehend, .js [data-aktion="absagen"] .nur-termin { display: none; }
.js .nur-absage { display: none; }
.js [data-aktion="absagen"] .nur-absage { display: inline; }
