/* Video-Besichtigung (Contact Form 7) – nur Ergänzungen zum Theme; Felder wie Umzugsgutliste (uk-form-white) */
.niesen-vb .vb-field { margin-top: 0; margin-bottom: 0; } /* Abstand kommt wie in der Umzugsgutliste über uk-margin-xsmall-top am Label */
/* Feld-Labels exakt wie in der Umzugsgutliste (= <strong> im Theme-Text): Univers, 600, Größe wie p, Laufweite 0,42px */
.niesen-vb .vb-field > label { display: block; margin-bottom: 6px; font-family: "Univers", sans-serif; font-size: inherit; font-weight: 600; letter-spacing: 0.42px; line-height: 1.4; }
.niesen-vb .vb-req { color: #f00; }
/* Eingabefelder: weiß mit schwarzem Rand (Selektor stärker als die Theme-Regel form.uk-form-white .uk-input) */
body form.niesen-vb.uk-form-white .uk-input, body form.niesen-vb.uk-form-white .uk-textarea, body form.niesen-vb.uk-form-white .uk-select { background-color: #fff; border: 0.75px solid #000; }
.niesen-vb .vb-hr { margin: 60px 0; }
/* Überschriften ohne Innenabstand oben: Linie hat dadurch oben und unten gleichen Abstand (60 px) wie in der Umzugsgutliste */
.niesen-vb h2.uk-h4 { padding-top: 0; margin-top: 0; }
.niesen-vb .wpcf7-form-control-wrap { display: block; }
.niesen-vb .wpcf7-list-item { display: block; margin: 0 0 10px 0; }
.niesen-vb .wpcf7-list-item label { display: flex; gap: 12px; align-items: center; margin: 0; font-weight: inherit; }
.niesen-vb .wpcf7-acceptance .wpcf7-list-item label { align-items: flex-start; }
.niesen-vb .wpcf7-acceptance input { margin-top: 4px; flex: none; }

/* Radiobuttons: Durchmesser = Höhe der Eingabefelder (60 px), ohne Rahmen/Kachel um den Eintrag */
/* Auswahl 2-spaltig im Container */
.niesen-vb .wpcf7-radio { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
.niesen-vb .wpcf7-radio .wpcf7-list-item { margin: 0 0 15px 0; }
.niesen-vb .wpcf7-radio .wpcf7-list-item label { gap: 15px; padding: 0; border: 0; background: none; cursor: pointer; }
.niesen-vb .wpcf7-radio input[type="radio"] {
  -webkit-appearance: none; appearance: none; flex: none; margin: 0;
  width: 60px; height: 60px; border: 0.75px solid #000; border-radius: 50%; background: #fff; cursor: pointer;
  display: inline-grid; place-content: center;
}
.niesen-vb .wpcf7-radio input[type="radio"]::before {
  content: ""; width: 30px; height: 30px; border-radius: 50%; background: #000; transform: scale(0);
}
.niesen-vb .wpcf7-radio input[type="radio"]:checked::before { transform: scale(1); }
.niesen-vb .wpcf7-radio input[type="radio"]:focus-visible { outline: 2px dotted #000; outline-offset: 3px; }

/* „(optional)" in Überschriften: normaler Text wie <p> */
.niesen-vb .vb-optional { font-family: "Univers", sans-serif; font-size: 1rem; font-weight: 300; font-style: normal; letter-spacing: 0.42px; line-height: 1.4; text-transform: none; }

/* Fehlermeldungen von CF7: nicht nur Farbe (Symbol + Rahmen) */
.niesen-vb .wpcf7-not-valid-tip { display: block; margin-top: 6px; color: #b00000; font-weight: 700; font-size: inherit; }
.niesen-vb .wpcf7-not-valid-tip::before { content: "⚠ "; }
.niesen-vb [aria-invalid="true"] { border: 2px solid #b00000 !important; }
.niesen-vb .wpcf7-response-output { margin: 30px 0 0; padding: 16px 20px; border: 2px solid #000; background: #fff; }
.niesen-vb .wpcf7-form.invalid .wpcf7-response-output,
.niesen-vb .wpcf7-form.failed .wpcf7-response-output { border-color: #b00000; }
.niesen-vb .wpcf7-form.sent .wpcf7-response-output { border-color: #000; background: #ffed00; }
.niesen-vb .wpcf7-spinner { display: none; }
/* Absende-Button: CF7 sperrt ihn, bis die Zustimmung gesetzt ist (disabled). Aussehen bleibt exakt uk-button-secondary (transparent, schwarze Schrift); Sperre nur über Mauszeiger/disabled-Attribut */
.niesen-vb .wpcf7-submit:disabled { background-color: transparent; color: #000; opacity: 1; cursor: not-allowed; }
