.dfs-ap-filter-bar {
    background-color: var(--awb-color5, #0031ff);
    padding: 40px 32px;
}

/* Werte aus dem XD-Layout "PLZ-Ansprechpartner": 2 Felder à 279px + 24px Abstand, mittig. */
.dfs-ap-filter-inner {
    max-width: 582px;
    margin: 0 auto;
}

.dfs-ap-filter-bar .dfs-ap-filter-heading {
    color: var(--awb-color1, #fff) !important;
    font-family: "Barlow Medium", sans-serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 40px;
    text-align: center;
    margin: 0 0 33px;
}

.dfs-ap-search-form {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.dfs-ap-filter-field {
    display: flex;
    flex-direction: column;
    flex: 1 1 240px;
}

.dfs-ap-filter-bar .dfs-ap-filter-field label {
    color: var(--awb-color1, #fff);
    font-family: "Barlow Medium", sans-serif;
    font-size: 16px;
    line-height: 21px;
    margin: 0 0 14px;
}

.dfs-ap-filter-bar .dfs-ap-filter-field input[type="text"],
.dfs-ap-filter-bar .dfs-ap-filter-field select {
    box-sizing: border-box;
    height: 51px;
    margin: 0;
    padding: 0 16px;
    border-radius: 4px;
    font-family: "Barlow Regular", sans-serif;
    font-size: 16px;
    line-height: 21px;
}

.dfs-ap-filter-bar .dfs-ap-filter-field input[type="text"] {
    border: 2px solid var(--awb-color1, #fff);
    background-color: transparent;
    color: var(--awb-color1, #fff);
}

.dfs-ap-filter-bar .dfs-ap-filter-field input[type="text"]::placeholder {
    color: rgba(255, 255, 255, 0.8);
    opacity: 1;
}

.dfs-ap-filter-bar .dfs-ap-filter-field input[aria-invalid="true"] {
    border-color: #ff6b6b;
}

.dfs-ap-field-error {
    color: #ffb4b4;
    font-size: 0.8rem;
    min-height: 1.2em;
    margin-top: 6px;
}

/* Pfeil wie im Layout: Feather "chevron-down", 14x8px, 2.5px Kontur in #0031FF, 23px vom rechten Rand. */
.dfs-ap-filter-bar .dfs-ap-filter-field select {
    -webkit-appearance: none;
    appearance: none;
    border: none;
    padding-right: 53px;
    background-color: var(--awb-color1, #fff);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none' stroke='%230031ff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='1.25 1.25 7 6.75 12.75 1.25'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 23px center;
    background-size: 14px 8px;
    color: var(--awb-color5, #0031ff);
    cursor: pointer;
}

.dfs-ap-no-match,
.dfs-ap-prompt,
.dfs-ap-error {
    color: var(--awb-color1, #fff);
}

.dfs-ap-error {
    color: #ff6b6b;
}

.dfs-ap-loading {
    color: var(--awb-color1, #fff);
}
