/* Vereinsformular – bewusst schlicht, Farben aus dem Theme (Fallbacks für fremde Themes). */
.hlf-form { display: grid; gap: 4px; max-width: 640px; }
.hlf-form__row { margin: 0 0 14px; display: flex; flex-direction: column; gap: 4px; }
.hlf-form__row label { font-weight: 600; }
.hlf-form input[type="text"], .hlf-form input[type="email"], .hlf-form input[type="url"], .hlf-form select, .hlf-form textarea {
  font: inherit; padding: 10px 12px; border: 1px solid #b9c4bb; border-radius: 6px; background: #fff; color: var(--hl-text, #18241c); width: 100%; box-sizing: border-box;
}
.hlf-form [aria-invalid="true"] { border-color: #a3261c; outline: 1px solid #a3261c; }
.hlf-form__check { flex-direction: row; align-items: flex-start; flex-wrap: wrap; gap: 8px; }
.hlf-form__check label { font-weight: 400; flex: 1; }
.hlf-form__check .hlf-form__error { flex-basis: 100%; }
.hlf-form__error { color: #a3261c; margin: 0; font-size: .95em; }
.hlf-form__hint { color: #5a665d; font-size: .9em; }
.hlf-form__req { color: #a3261c; }
.hlf-form__summary { border: 2px solid #a3261c; border-radius: 6px; padding: 10px 14px; margin-bottom: 14px; }
.hlf-form__summary ul { margin: 6px 0 0; padding-left: 20px; }
.hlf-form__success, .hlf-form__notice { border-left: 4px solid var(--hl-gruen, #2e5a3a); background: var(--hl-flaeche, #e6eee4); padding: 12px 16px; }
.hlf-form__submit { font: inherit; font-weight: 700; padding: 12px 20px; border: 0; border-radius: 6px; background: var(--hl-gruen, #2e5a3a); color: #fff; cursor: pointer; }
.hlf-form__submit:focus-visible, .hlf-form a:focus-visible { outline: 3px solid var(--hl-blau, #3d6f8e); outline-offset: 2px; }
.hlf-form__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
