/* forms-wp.css — Adapter: Elementor-Pro-Formulare in Bildfunk-Optik.
   Die Feld-Grundoptik (input/select/textarea) erben die Elementor-Felder
   automatisch über die Kontext-Selektoren des Design-Systems
   (.bf-contact-form …, .bfk-apply-form …, .bfj-form-card …).
   Hier nur: Elementor-Wrapper-Normalisierung + Sonderfälle. */

/* Feld-Raster: Elementor-Spaltenabstände auf das 14px-Referenzraster */
.bf-contact-form .elementor-form-fields-wrapper,
.bfk-apply-form .elementor-form-fields-wrapper,
.bfj-form-card .elementor-form-fields-wrapper { gap: 14px; }
.bf-contact-form .elementor-field-group,
.bfk-apply-form .elementor-field-group,
.bfj-form-card .elementor-field-group { padding: 0; margin-bottom: 0; }
/* 50%-Felder: Elementor-Spaltenbreite abzüglich Raster-Gap */
.bf-contact-form .elementor-field-group.elementor-col-50,
.bfk-apply-form .elementor-field-group.elementor-col-50,
.bfj-form-card .elementor-field-group.elementor-col-50 { width: calc(50% - 7px); }
@media (max-width: 767px) {
  .bf-contact-form .elementor-field-group.elementor-col-50,
  .bfk-apply-form .elementor-field-group.elementor-col-50,
  .bfj-form-card .elementor-field-group.elementor-col-50 { width: 100%; }
}

/* Label-Abstand (Label und Feld sind bei Elementor Geschwister, kein flex-gap) */
.bf-contact-form .elementor-field-label,
.bfk-apply-form .elementor-field-label,
.bfj-form-card .elementor-field-label { margin-bottom: 6px; }

/* DSGVO-Checkbox (acceptance): Fließtext-Optik statt Mono-Uppercase der Feld-Labels */
.bf-contact-form .elementor-field-type-acceptance label,
.bfk-apply-form .elementor-field-type-acceptance label,
.bfj-form-card .elementor-field-type-acceptance label {
  font-family: var(--bf-font-sans); font-size: 13px; line-height: 1.5;
  text-transform: none; letter-spacing: 0; color: var(--bf-text-muted);
  display: inline; }
.bf-contact-form .elementor-field-type-acceptance input[type="checkbox"],
.bfk-apply-form .elementor-field-type-acceptance input[type="checkbox"],
.bfj-form-card .elementor-field-type-acceptance input[type="checkbox"] {
  width: 16px; height: 16px; accent-color: var(--bf-blue); margin-right: 8px; vertical-align: -2px; }

/* Upload-Feld: dezente Hinweis-Optik */
.bf-contact-form .elementor-field-type-upload input[type="file"],
.bfk-apply-form .elementor-field-type-upload input[type="file"],
.bfj-form-card .elementor-field-type-upload input[type="file"] {
  padding: 9px 11px; font-size: 13px; color: var(--bf-text-muted);
  border: 1px dashed var(--bf-border-strong); border-radius: 6px; background: #fff; width: 100%; }

/* Submit-Button: bf-btn bf-btn-primary bf-btn-lg bf-btn-block (Werte 1:1 aus
   components.css:28–50 — das Form-Widget kennt kein Button-Klassen-Feld) */
.bf-contact-form button.elementor-button,
.bfk-apply-form button.elementor-button,
.bfj-form-card button.elementor-button {
  font-family: var(--bf-font-sans);
  font-size: 16px;
  font-weight: 600;
  padding: 13px 24px;
  border-radius: var(--bf-radius-md);
  border: 1px solid transparent;
  cursor: pointer;
  letter-spacing: -0.01em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  width: 100%;
  background: var(--bf-orange);
  color: #fff;
  transition: background var(--bf-dur-base) var(--bf-ease-standard), border-color var(--bf-dur-base) var(--bf-ease-standard);
}
.bf-contact-form button.elementor-button:hover,
.bfk-apply-form button.elementor-button:hover,
.bfj-form-card button.elementor-button:hover { background: var(--bf-orange-600); color: #fff; }
.bf-contact-form button.elementor-button:active,
.bfk-apply-form button.elementor-button:active,
.bfj-form-card button.elementor-button:active { background: var(--bf-orange-800); }

/* Turnstile-Container (unsichtbares Widget braucht keinen sichtbaren Raum) */
.cf-turnstile { margin: 0; }

/* Kontaktseite: Hairline über der dunklen Anfrage-Sektion (Referenz: Inline-Style) */
#anfrage.bf-contact { border-top: 1px solid rgba(255,255,255,0.08); }

/* Validierungs-/Systemmeldungen der Formulare in Systemschrift */
.elementor-message { font-family: var(--bf-font-sans); font-size: 14px; }
