.viv-locations-wrap {
  display: flex;
  /*flex-wrap: wrap;*/
  gap: 20px;
  align-items: stretch;
  width:100%;
  
}

.viv-locations-column {
  min-width: 0;
}

.viv-locations-column--list {
  width: 38%;
  display: flex;
  flex-direction: column;
  height:90vh;
  overflow-y:scroll;
}

.viv-locations-column--map {
  width: 60%;
  max-width: 60%;
  height:90vh;
  overflow-y:hidden;
}

.viv-locations-toolbar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}

.viv-locations-nearest-button {
  appearance: none;
  border: 0;
  border-radius: 6px;
  padding: 12px 16px;
  cursor: pointer;
  font-weight: 600;
  color:#ffffff;
}

.viv-locations-list {
  overflow-y: auto;
  padding-right: 8px;
  height: var(--viv-list-height, 640px);
}

.viv-location-card {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.viv-location-card.is-active {
  border-color: #111;
  box-shadow: 0 0 0 1px rgba(0,0,0,.15);
}

.viv-location-title {
  margin: 0 0 10px;
}

.viv-location-title a {
  text-decoration: none;
}

.viv-location-address-line,
.viv-location-distance,
.viv-locations-status {
  margin: 0;
  font-size:0.9rem;
}

.viv-location-distance {
  margin-top: 10px;
  font-size: .95rem;
}

.viv-locations-map {
  width: 100%;
  /*height: var(--viv-map-height, 640px);*/
  height:95%;
  min-height: 420px;
  border-radius: 8px;
  overflow: hidden;
}

.viv-map-infowindow h5 {
  margin: 0 0 8px;
}

.viv-map-infowindow p {
  margin: 0 0 6px;
  font-size:1rem;
}
.viv-map-infowindow a {
    font-weight:700;
}
@media (max-width: 900px) {
  .viv-locations-column--list,
  .viv-locations-column--map {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
