/* Grundgerüst des Anfrage-Formulars (nur Aufbau und Bedienbarkeit).
   Farben, Schriften und Linien setzt jede Variante selbst über die Klassen af-*. */
.af-felder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.25rem; }
.af-feld { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.af-feld--breit { grid-column: 1 / -1; }
@media (max-width: 640px) { .af-felder { grid-template-columns: minmax(0, 1fr); } }
.af-eingabe { width: 100%; min-height: 48px; font: inherit; font-size: max(1rem, 16px); box-sizing: border-box; }
textarea.af-eingabe { min-height: 9rem; resize: vertical; }
.af-auswahl { position: relative; }
.af-datei-eingabe { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); }
.af-datei-knopf { display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; cursor: pointer; }
.af-datei-eingabe:focus-visible + .af-dateiliste,
.af-datei-eingabe:focus-visible { outline: none; }
.af-feld--unterlagen:focus-within .af-datei-knopf { outline: 2px solid currentColor; outline-offset: 3px; }
.af-dateiliste { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.af-datei { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.af-datei-name { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.af-datei-groesse { flex: none; white-space: nowrap; }
.af-datei-weg { flex: none; min-height: 44px; min-width: 44px; cursor: pointer; }
.af-falle { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.af-fuss { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.af-datenschutz { flex: 1 1 18rem; min-width: 0; margin: 0; }
.af-senden { min-height: 48px; cursor: pointer; }
.af-senden:disabled { opacity: .6; cursor: progress; }
.af-status { margin-top: 1rem; }
.af-status:focus { outline: none; }
.af-fehler { margin: 0; }
