/* Grundlayout */
form {
    max-width: 600px;
    margin: 2rem auto;
    padding: 1.5rem;
    border: 2px solid #ccc;
    background-color: #fff;
    border-radius: 8px;
    font-family: Arial, sans-serif;
    font-size: 16px;
    color: #111;
    line-height: 1.5;
}

/* Hinweis auf Pflichtfelder */
.bf-required-note {
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
    color: #444;
}

/* Formularfeld-Wrapper */
.bf-field {
    margin-bottom: 1.5rem;
}

/* Label */
.bf-field label {
    display: block;
    margin-bottom: 0.3rem;
    font-weight: bold;
    color: #000;
}

/* Input-Elemente */
.bf-field input[type="text"],
.bf-field input[type="email"],
.bf-field input[type="tel"],
.bf-field input[type="date"],
.bf-field select {
    width: 100%;
    padding: 0.6rem;
    border: 2px solid #888;
    border-radius: 4px;
    font-size: 1rem;
    background-color: #fff;
    color: #000;
}

/* Fokus sichtbar machen */
.bf-field input:focus,
.bf-field select:focus {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
    border-color: #005fcc;
}

/* Radio & Checkbox Gruppen */
.bf-field fieldset {
    border: none;
    padding: 0;
    margin: 0;
}
.bf-field legend {
    font-weight: bold;
    margin-bottom: 0.5rem;
}
.bf-field input[type="radio"],
.bf-field input[type="checkbox"] {
    margin-right: 0.5rem;
}

/* Fehlermeldungen */
.bf-error {
    color: #b30000;
    font-size: 0.9rem;
    margin-top: 0.3rem;
    display: block;
}

/* Fehlerhafte Felder visuell hervorheben */
[aria-invalid="true"] {
    border-color: #b30000 !important;
    background-color: #fff0f0;
}

/* Submit-Button */
.bf-field button[type="submit"] {
    background-color: #005fcc;
    color: #fff;
    padding: 0.7rem 1.5rem;
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.bf-field button[type="submit"]:hover,
.bf-field button[type="submit"]:focus {
    background-color: #004bb5;
    outline: 2px solid #002f7a;
    outline-offset: 2px;
}

/* Statusmeldung (z. B. erfolgreich gesendet) */
.bf-status {
    margin: 1rem auto;
    max-width: 600px;
    font-size: 1rem;
}
.bf-success {
    background-color: #e6ffed;
    border: 2px solid #007a33;
    padding: 1rem;
    border-radius: 6px;
    color: #003d1f;
}
