#beststoremap-container {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
  margin: 20px 0;
}

#beststoremap-list {
  flex: 1 1 300px;
  max-width: 380px;
  max-height: 600px;
  overflow-y: auto;
  background: #f5f5f5;
  border-radius: 6px;
}

#beststoremap-map {
  flex: 2 1 400px;
  min-height: 400px;
  height: 600px;
  position: relative;
  z-index: 10;
  border-radius: 6px;
}

.beststoremap-card {
  background: #fff;
  outline: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px 12px;
  margin: 0px 8px 8px 8px;
  cursor: pointer;
  line-height:125% !important;
}
.beststoremap-card * {line-height:125% !important;}
.beststoremap-logo {
  max-width: 160px !important;
  max-height: 36px !important;
  object-fit: contain;
  display: block;
  margin-bottom: 6px;
}

.beststoremap-card.active-store {
    border: 2px solid #000 !important;
    border-radius: 4px;
    background: #f9f9f9;
}

.beststoremap-searchbar-wrapper {
    width: 100%;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

#beststoremap-search {
    flex: 1 1 260px;
    font-size: 16px;
    padding: 8px 12px;
}

#beststoremap-geobutton {
    flex: 0 0 auto;
    padding: 8px 16px;
    white-space: nowrap;
}

#beststoremap-country {
    flex: 0 0 180px;
    padding: 8px 12px;
}

#beststoremap-type {
    flex: 0 0 200px;
    padding: 8px 12px;
}

.online-badge {
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
    padding: 4px 8px;
    margin-bottom: 6px;
}

/* Mobile drawer */
#beststoremap-toggle {
    display: none;
    position: fixed;
    top: 80px;
    left: 16px;
    z-index: 9999;
    padding: 6px 12px;
}

@media (max-width: 768px) {

    #beststoremap-toggle {
        display: block;
    }

    #beststoremap-list {
        position: fixed;
        top: 0;
        left: 0;
        width: 80%;
        max-width: 340px;
        height: 100vh;
        z-index: 9998;
        overflow-y: auto;
        background: #fff;
        box-shadow: 2px 0 16px rgba(0,0,0,0.15);
        transform: translateX(-100%);
        transition: transform .35s ease;
    }

    #beststoremap-list.open {
        transform: translateX(0);
    }

    #beststoremap-map {
        width: 100% !important;
        height: calc(100vh - 90px) !important;
    }

    #beststoremap-geobutton,
    #beststoremap-country,
    #beststoremap-type {
        width: 100%;
    }
}

.leaflet-pane,
.leaflet-top,
.leaflet-bottom {
    z-index: 500 !important;
}
.borderblack{border:1px solid black;}

.leaflet-popup-content {
	font-size:16px;
}