.locations__mapContainer{ position: relative; }
.locations__map{ background: #F4F4F4; height: 600px; }

.locations__filtersContainer{ background: #F4F4F4; padding: 10px 0; }
.locations__filters{ max-width: var( --global-content-width, 1440px ); margin: 0 auto; padding: 0 100px; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 20px; align-items: center; }
.locations__filters label, .locations__filters label select, .locations__filters label input{ font-family: var(--global-heading-font-family); font-size: 12px; text-transform: uppercase; font-weight: 600; border-radius: 3px; }
.locations__filters label{ position: relative; }
.locations__filters label span.pseudo-label{ display: inline-block; padding-right: 5px; }
.locations__filters label select, .locations__filters label input{ font-weight: 500; padding: 5px 30px 5px 10px; min-width: 150px; }
.locations__filters label input{ text-transform: none; }
.locations__filters label .locations__map__searchButton{ position: absolute; top: 6px; right: 6px; width: 20px; cursor: pointer; }

.locations__error{ display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%,0); background: #FFF; padding: 20px 100px; font-family: var(--global-heading-font-family); font-size: 12px; text-transform: uppercase; font-weight: 600; }
.locations__error.active{ display: block; }

.locations__hiddenZone{ display: none; }
.locations__popup{ padding: 50px; background: #FFF; max-width: 550px; width: 90%; text-align: center; }
.locations__popup__img{ display: flex; width: 100%; height: 125px; justify-content: center; align-items: center; margin-bottom: 20px; }
.locations__popup__img img{ object-fit: contain; object-position: center; width:100%; height:100%; }
.locations__popup h2{ font-family: var(--global-heading-font-family); font-size: 18px; text-transform: uppercase; font-weight: 600; text-align: center; }
.locations__popup .locations__popup__address{ font-family: var(--global-body-font-family); text-align: center; display: flex; justify-content: center; align-items: flex-start; gap: 5px; padding: 20px 0; text-align: left; }
.locations__popup .locations__popup__address .lp-marker{ color: var(--global-palette1); width: 20px; transform: translateY(3px); }
.locations__popup a{ font-family: var(--global-heading-font-family); font-size: 12px; text-transform: uppercase; font-weight: 600; text-decoration: none; }

@media screen and (max-width: 1024px){
    .locations__filters{ padding: 0 50px; }
    .locations__map{ height: 500px; }
}

@media screen and (max-width: 767px){
    .locations__map{ height: 350px; }
    .locations__filters{ padding: 0 20px; flex-direction: column; justify-content: flex-start; gap: 5px; align-items: flex-start; }
    .locations__filters label{ flex-basis: 100%; display: block; width: 100%; display: flex; justify-content: space-between; align-items: center; }
    .locations__filters label span.pseudo-label{ display: block; width: 125px; }
    .locations__filters label select, .locations__filters label input{ width: calc(100% - 130px); }
}