.bfa-anmeldung-wrapper * { box-sizing: border-box; }

.bfa-anmeldung-wrapper fieldset {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 20px;
}
.bfa-anmeldung-wrapper legend { font-weight: bold; padding: 0 8px; color: #003366; }
.bfa-anmeldung-wrapper h4 { margin: 0 0 12px; }

.bfa-form-row { margin-bottom: 14px; }
.bfa-form-row.bfa-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
@media (max-width: 600px) {
    .bfa-form-row.bfa-two-col { grid-template-columns: 1fr; }
}

.bfa-form-group label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 0.92rem; }
.bfa-form-group input[type=text],
.bfa-form-group input[type=email],
.bfa-form-group input[type=tel],
.bfa-form-group input[type=date],
.bfa-form-group select {
    width: 100%;
    padding: 9px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
}

.bfa-checkbox-group label { display: flex; align-items: flex-start; gap: 8px; font-weight: normal; }
.bfa-checkbox-group input { margin-top: 4px; }

.bfa-field-error { color: #c0392b; font-size: 0.82rem; display: block; margin-top: 3px; }

.bfa-mitreisende-block {
    border: 1px dashed #bbb;
    border-radius: 6px;
    padding: 14px;
    margin-bottom: 16px;
    background: #fafbfc;
}
.bfa-mitreisende-header { display: flex; justify-content: space-between; align-items: center; }

.bfa-btn-primary, .bfa-btn-secondary, .bfa-btn-remove-mitreisende {
    cursor: pointer;
    border: none;
    border-radius: 4px;
    padding: 10px 18px;
    font-size: 0.95rem;
}
.bfa-btn-primary { background: #003366; color: #fff; }
.bfa-btn-primary:hover { background: #002347; }
.bfa-btn-secondary { background: #e8ecf1; color: #003366; }
.bfa-btn-secondary:hover { background: #d6ddE6; }
.bfa-btn-remove-mitreisende { background: #fdecea; color: #c0392b; padding: 6px 12px; font-size: 0.85rem; }
.bfa-btn-remove-mitreisende:hover { background: #f8d5d1; }

.bfa-alert { padding: 14px 16px; border-radius: 6px; margin-bottom: 18px; }
.bfa-alert-success { background: #e7f6ec; color: #1e7e34; border: 1px solid #b6e2c3; }
.bfa-alert-error { background: #fdecea; color: #c0392b; border: 1px solid #f4c4be; }
