.vendor-search .vendor-map-container{
    height: 300px;
    max-height: 100vh;
    margin-bottom: 40px;
}

@media screen and (min-width: 768px){
    .vendor-search .vendor-map-container {
        height: 500px;
    }
}

.vendor-search .loading{
    text-align: center;
}

.vendor-search .vendor-map-container .highlighted > svg{
    transform: scale(1.8);
    transform-origin: bottom center;
}

.vendor-search .vendor-map-container .vendor-title{
    font-size: 16px;
    font-weight: bold;
    font-style: italic;
    margin-bottom: 4px;
}

.vendor-search .vendor-contact {
    display: flex;
    gap: 4px 16px ;
    flex-wrap: wrap;
}

.vendor-search .vendor-map-container .vendor-contact svg {
    width: 16px;
    height: 16px;
    margin-right: 6px;
    vertical-align: -3px;
}

.vendor-search .results-headline{
    text-align: center;
}

.vendor-search .vendor-map-container .mapboxgl-popup-content button{
    padding: 0;
    background: transparent;
    border: none;
    color: #444;
}

.vendor-search .vendor-map-container .mapboxgl-ctrl-attrib-button{
    background-color: transparent;
    padding: 0;
    margin: 0;
}

.vendors{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    margin-left: auto;
    margin-right: auto;
    gap: 20px;
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
}

.vendor-search .vendor{
    min-width: 280px;
    max-width: 600px;
    padding: 20px;
    /* border: 1px solid #ccc;
    border-radius: 5px; */
    background: #fff;
    box-sizing: border-box;
}

@media screen and (min-width: 768px) {
    .vendor-search .vendor{
        width: calc(50% - 10px);
    }
}

/* .vendor-search .vendor .vendor-contact{
    font-size: 85%;
    display: flex;
    gap: 16px;
} */

.vendor-search .vendor .vendor-contact svg{
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: -4px;
}

.vendor-search .vendor .distance{
    margin-top: 8px;
    margin-bottom: 0;
    padding-top: 8px;
    border-top: 1px solid #ccc;
    font-size: 85%;
    width: 100%;
}
.vendor-address-search{
    position: relative;
    margin-bottom: -70px;
    z-index: 10;
    margin-left: max(33px, calc(50vw - 686px));
    width: 400px;
    max-width: 100%;
}

.vendor-address-search input.vendor-address-search-input{
    font-size: 16px;
    border: 1px solid black;
    border-radius: 4px;
    width: 260px;
}

.vendor-address-search ul{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 100;
    padding: 0;
    margin: 0;
    list-style: none;
    max-height: 150px;
    overflow-y: auto;
    transition: all 0.6s ease-out;
}

.vendor-address-search ul li{
    padding: 8px 16px;
    margin: 0;
    cursor: pointer;
}