.blu-map .wpgmp_map_container {
    display:               grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-gap:              1.5rem;
}

.blu-map .wpgmp_filter_wrappers {
    margin-bottom: 0;
    grid-column:   auto / span 12;
    grid-row:      1 / 2;
}

.blu-map .wpgmp_map_parent {
    margin:      0;
    grid-column: auto / span 7;
    grid-row:    2 / 4;
}

.blu-map [class^='location_listing1'] {
    grid-column: auto / span 6;
    grid-row:    2 / 3;
}

.blu-map .wpgmp_pagination {
    float:       none;
    margin:      auto 0 0;
    padding:     0;
    grid-column: auto / span 4;
    grid-row:    3 / 4;
}

.blu-map div.categories_filter select,
.blu-map div.wpgmp_search_form input.wpgmp_search_input {
    font-size:          1rem;
    font-weight:        400;
    line-height:        1.5;
    display:            block;
    float:              none;
    width:              100%;
    max-width:          none;
    margin:             0;
    padding:            .5rem .75rem;
    color:              var(--e-global-color-text);
    border:             1px solid #ffffff;
    border-radius:      .25rem;
    background-color:   #ffffff;
    -webkit-appearance: none;
    -moz-appearance:    none;
    appearance:         none;
}

.blu-map div.wpgmp_search_form input.wpgmp_search_input {
    background-clip: padding-box;
}

.blu-map div.categories_filter select {
    background-image:    url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\'%3e%3cpath fill=\'none\' stroke=\'%23343a40\' stroke-linecap=\'round\' stroke-linejoin=\'round\' stroke-width=\'2\' d=\'m2 5 6 6 6-6\'/%3e%3c/svg%3e');
    background-repeat:   no-repeat;
    background-position: right .75rem center;
    background-size:     16px 12px;
    padding-inline-end:  2rem;
}

.blu-map .categories_filter input[type=button] {
    font-size:        1rem !important;
    font-weight:      400 !important;
    line-height:      1.5 !important;
    padding:          .5rem .75rem;
    color:            var(--e-global-color-text) !important;
    border:           1px solid var(--e-global-color-accent);
    border-radius:    .25rem;
    background-color: var(--e-global-color-accent);
}

.blu-map .categories_filter_reset_btn {
    margin-top: 1rem !important;
}

.blu-map div.wpgmp_listing_header div.wpgmp_search_form {
    float: none;
}

.blu-map div.wpgmp_listing_header div.wpgmp_search_form {
    margin: 0;
}

.blu-map .wpgmp-autocomplete-wrapper {
    margin-bottom: 0;
}

.blu-map .wpgmp_filter_wrappers {
    display:               grid;
    grid-gap:              1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1023px) {
    .blu-map .wpgmp_filter_wrappers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .blu-map .wpgmp_filter_wrappers {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

.blu-map .form-label {
    margin-bottom: .5rem;
}

.blu-map div.wpgmp_listing_container {
    float:  none;
    margin: 0;
}

.blu-map .wpgmp_pagination a,
.blu-map .wpgmp_pagination span {
    display:       inline-grid;
    width:         1.75rem;
    height:        1.75rem;
    margin:        0;
    padding:       0;
    text-align:    center;
    color:         var(--e-global-color-text);
    border:        2px solid var(--e-global-color-accent);
    border-radius: 50%;
    place-items:   center;
}

.blu-map .wpgmp_pagination span.current {
    color:            var(--e-global-color-text);
    background-color: var(--e-global-color-accent);
}

/* Legend Screen Reader only */
.blu-map div.wpgmp_before_listing {
    position:     absolute;
    overflow:     hidden;
    clip:         rect(0, 0, 0, 0);
    width:        1px;
    height:       1px;
    margin:       -1px;
    padding:      0;
    white-space:  nowrap;
    border-width: 0;
}

/* Gesamt-Grid: vier Spalten; Zeile 1 für die Labels, Zeile 2 für die Felder */
.blu-map .wpgmp_filter_wrappers {
    display:               grid;
    align-items:           start;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto auto;
    gap:                   1.5rem;
}

/* Das Element mit der Legende wird ausgeblendet */
.blu-map .wpgmp_before_listing {
    display: none;
}

/* Suchfeld links über zwei Zeilen */
.blu-map .wpgmp_listing_header {
    display:        flex;
    flex-direction: column;
    grid-column:    1;
    grid-row:       1 / span 2;
    gap:            0.5rem;
}

/* Verschachtelung innerhalb der Filter flachhalten */
.blu-map .categories_filter,
.blu-map .categories_filter > [data-container] {
    display: contents;
}

/* Radius-Filter: Label und Dropdown in Spalte 2 */
.blu-map select[name='map_radius'] {
    grid-column: 2;
    grid-row:    2;
}

.blu-map label:has(+ select[name='map_radius']) {
    margin-bottom: .5rem;
    grid-column:   2;
    grid-row:      1;
}

/* Mitgliedsart: Label und Dropdown in Spalte 3 */
.blu-map select[name='place_mitgliedsart'] {
    grid-column: 3;
    grid-row:    2;
}

.blu-map label:has(+ select[name='place_mitgliedsart']) {
    margin-bottom: .5rem;
    grid-column:   3;
    grid-row:      1;
}

/* Tätigkeitsbereich: Label und Dropdown in Spalte 4 */
.blu-map select[name='place_leistungsbereich'] {
    grid-column: 4;
    grid-row:    2;
}

.blu-map label:has(+ select[name='place_leistungsbereich']) {
    margin-bottom: .5rem;
    grid-column:   4;
    grid-row:      1;
}

/* Reset-Button in Zeile 3 über alle Spalten */
.blu-map .categories_filter_reset {
    margin-top:  1rem;
    grid-column: 1 / -1;
    grid-row:    3;
}

/* Einheitliches Styling für Eingabefelder und Dropdowns */
.blu-map .wpgmp_listing_header input,
.blu-map .categories_filter > select {
    font-size:          1rem;
    line-height:        1.5;
    box-sizing:         border-box;
    width:              100%;
    padding:            .75rem 1rem;
    color:              var(--e-global-color-text);
    border:             1px solid #ffffff;
    border-radius:      .25rem;
    background-color:   #ffffff;
    -webkit-appearance: none;
    -moz-appearance:    none;
    appearance:         none;
}

/* Dropdown-Pfeile */
.blu-map .categories_filter > select {
    background-image:    url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\'%3e%3cpath fill=\'none\' stroke=\'%23343a40\' stroke-linecap=\'round\' stroke-linejoin=\'round\' stroke-width=\'2\' d=\'m2 5 6 6 6-6\'/%3e%3c/svg%3e');
    background-repeat:   no-repeat;
    background-position: right 1rem center;
    background-size:     16px 12px;
    padding-inline-end:  2.5rem;
}

/* Responsiv: zwei Spalten auf Tablets, eine Spalte auf Smartphones */
@media (max-width: 1023px) {
    .blu-map .wpgmp_filter_wrappers {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .blu-map .wpgmp_filter_wrappers {
        grid-template-columns: 1fr;
    }
}

/* Such-Wrapper auflösen, damit Label und Eingabe getrennte Grid-Elemente werden */
.blu-map .wpgmp_listing_header,
.blu-map .wpgmp_listing_header .wpgmp_search_form,
.blu-map .wpgmp_listing_header .wpgmp-autocomplete-wrapper {
    display: contents;
}

/* Spaltenzuweisung für das Suchfeld – Label Zeile 1, Eingabe Zeile 2 */
.blu-map label:has(+ input[name='wpgmp_search_input']) {
    margin-bottom: .5rem;
    grid-column:   1;
    grid-row:      1;
}

.blu-map input[name='wpgmp_search_input'] {
    font-size:        1rem;
    line-height:      1.5;
    box-sizing:       border-box;
    width:            100%;
    padding:          .75rem 1rem;
    color:            var(--e-global-color-text);
    border:           1px solid #ffffff;
    border-radius:    .25rem;
    background-color: #ffffff;
    grid-column:      1;
    grid-row:         2;
}

/* Die alte Zeilenspanne der Such-Spalte überschreiben */
.blu-map .wpgmp_listing_header {
    grid-row: auto;
}

.map-row {
    margin-bottom: 4px;
}

.wpgmp_locations_content {
    font-family: 'Switzer Variable', Sans-serif !important;
    padding:     0px 12px 0px 16px !important;
    color:       #434343;
}

/**
 * Breadcrumb Navigation
 */
[id='breadcrumbs'] > ol {
    display:     inline-flex;
    align-items: center;
    padding:     0;
    list-style:  none;
    gap:         .5rem;
}

.blu-map .wpgmp_locations img {
    width: 100% !important;
}



@media (max-width: 1200px) {

    .blu-map .wpgmp_map_container {
        grid-template-columns: 1fr; /* nur 1 Spalte */
    }

    .blu-map .wpgmp_filter_wrappers {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .blu-map .wpgmp_map_parent {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .blu-map [class^='location_listing1'] {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .blu-map .wpgmp_pagination {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .blu-map .wpgmp_locations img {
    width: 350px !important;
    }

    .wpgmp_locations_head {
    width: 950px !important;
}

    .wpgmp_location_title {
        max-width: 98%;
    }


}


@media (max-width: 767px) {

    /* Wrapper: alles untereinander */
    .blu-map .wpgmp_filter_wrappers {
        display: block;
    }

    /* Grid-Tricks vom Desktop deaktivieren */
    .blu-map .categories_filter,
    .blu-map .categories_filter > [data-container],
    .blu-map .wpgmp_listing_header,
    .blu-map .wpgmp_listing_header .wpgmp_search_form,
    .blu-map .wpgmp_listing_header .wpgmp-autocomplete-wrapper {
        display: block;
    }

    /*!* Jede Einheit bekommt Abstand *!*/
    /*.blu-map .wpgmp_filter_wrappers > * {*/
    /*    margin-bottom: 1rem;*/
    /*}*/

    /* Labels sauber */
    .blu-map .form-label {
        display: block;
        margin-bottom: 0.4rem;
        font-size: 0.9rem;
    }

    /* Inputs & Selects full width */
    .blu-map input,
    .blu-map select {
        width: 100% !important;
        max-width: 100%;
    }

    /* Reset Button */
    .blu-map .categories_filter_reset {
        margin-top: 0.5rem;
    }

    .blu-map .categories_filter_reset_btn {
        width: 100%;
        padding: 0.75rem;
        font-size: 1rem;
    }







    /* Abstand nach jedem Filterfeld */
    .blu-map input[name='wpgmp_search_input'],
    .blu-map select[name='place_mitgliedsart'],
    .blu-map select[name='place_leistungsbereich'],
    .blu-map select[name='map_radius'] {
        margin-bottom: 2rem !important;
    }

    /* Letztes Feld ohne extra Abstand */
    .blu-map select[name='map_radius'] {
        margin-bottom: 0.5rem !important;
    }

    /* Reset Button Abstand */
    .blu-map .categories_filter_reset {
        margin-top: 1rem;
    }
}



@media (max-width: 767px) {
    .wpgmp_locations_head {
        width: 100% !important;
    }

.wpgmp_listing_list[data-container='wpgmp-listing-map1'] .wpgmp_locations{
    flex-direction: column-reverse;

}

     }