/* Online-Antrag: Formular und Unterschriftsfeld */
#antrag { display: grid; gap: 22px; margin-top: 8px; }
#antrag fieldset { border: 1px solid var(--linie); padding: 18px 20px 20px; margin: 0; display: grid; gap: 14px; min-width: 0; }
#antrag legend { font: 900 1.3rem var(--f-display); text-transform: uppercase; padding: 0 8px; }
.fz { display: grid; gap: 4px; min-width: 0; } .fz2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
#antrag input[type=text], #antrag input[type=email], #antrag input[type=date], #antrag input[type=number], #antrag input:not([type]) { font: inherit; color: var(--kreide); background: var(--anth); border: 1px solid var(--linie); padding: 10px 12px; min-height: 46px; width: 100%; border-radius: 0; }
#antrag input:focus-visible, #sig:focus-visible { outline: 3px solid var(--rot); outline-offset: 2px; }
#antrag input[aria-invalid=true] { border-color: var(--rot); }
.arten { display: flex; flex-wrap: wrap; gap: 10px 22px; } .opt { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; } .opt input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--rot); flex: none; }
.sepa { border: 1px solid var(--linie); padding: 14px 20px; display: grid; gap: 14px; } .sepa summary { cursor: pointer; font-weight: 600; } .sepa[open] summary { margin-bottom: 14px; }
#sig { width: 100%; max-width: 560px; aspect-ratio: 3 / 1; background: #fff; touch-action: none; cursor: crosshair; border-bottom: 3px solid var(--rot); display: block; }
.meldung { background: var(--rot-flaeche); color: #fff; padding: 12px 16px; margin: 0; font-weight: 600; } .meldung.ok { background: #2e7d32; }
#antrag, #antrag fieldset, #antrag details { grid-template-columns: minmax(0, 1fr); min-width: 0; } #antrag input { min-width: 0; max-width: 100%; }
