#leaflet-map {
  border: 1px solid #b2e4f7ff !important;
  border-radius: 5px !important;
  margin-top: 10px !important;
}

.leaflet-container {
  background-color: transparent;
}

.leaflet-container .legend .item {
  margin-bottom: 0.25rem;
  vertical-align: middle;
}

.leaflet-attribution-flag {
  display: none !important;
}

.leaflet-popup-content-wrapper .leaflet-popup-content p {
  font-size: 0.8rem;
  line-height: 1rem;
  margin: 0.3rem 0 0;
  color: #00427c;
  font-weight: 460;
}

.leaflet-popup-content-wrapper .leaflet-popup-content strong {
  font-weight: bold;
  font-size: 1rem;
}
.leaflet-popup-content-wrapper .leaflet-popup-content strong a {
  color: #ED0B8B;
  text-decoration: underline;
  text-underline-offset: 0.4rem;
}

#leaflet-map .legend .item {
  display: inline-flex;
  align-items: flex-end;
  gap: 0.5em;
  color: #00427c;
  font-size: 0.8rem;
  font-weight: 460;
}

#leaflet-map .legend .item img {
  vertical-align: middle;
  width: 24px;
  height: auto;
}

@media screen and (max-width: 767px) {
  #leaflet-map {
    /* Ensure map can fill available vertical space on mobile */
    min-height: 300px;
    max-height: 70vh;
  }

  .map-container {
    /* Allow container to grow vertically on mobile */
    display: flex;
    flex-direction: column;
  }

  #leaflet-map .legend .item {
    font-size: 0.65rem;
  }

  #leaflet-map .legend .item img {
    width: 12px;
  }

  .leaflet-popup-content-wrapper .leaflet-popup-content strong {
    font-size: 0.8rem;
  }

  .leaflet-popup-content-wrapper .leaflet-popup-content p {
    font-size: 0.65rem;
  }
}

@media screen and (max-width: 425px) {
  #leaflet-map .legend .item {
    font-size: 0.6rem;
  }

  #leaflet-map .legend .item img {
    width: 10px;
  }
}
