.ct-map.ct-map-osm {
  min-height: 400px;
  isolation: isolate;
  background: #e8edf2;
}

.ct-map-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  font-family: inherit;
  background: #e8edf2;
}

.ct-map-fallback {
  pointer-events: none;
}

.ct-map-osm.map-ready .ct-map-fallback {
  display: none;
}

/* Compensate for the original pin's rotation and floating offset. */
.ct-map-marker .ct-pin {
  position: absolute;
  left: 28px;
  top: 15px;
}

.ct-map-osm .ct-map-card {
  z-index: 1;
  bottom: 32px;
  color: var(--ink);
  text-decoration: none;
}

.ct-map-attribution {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  max-width: 100%;
  padding: 4px 10px;
  background: #fff;
  color: #374151;
  font: 11px/1.5 Arial, sans-serif;
}

.ct-map-attribution a {
  color: #155b8a;
  text-decoration: underline;
}

.ct-map-osm .leaflet-control-zoom a {
  color: #293139;
}

@media (max-width: 650px) {
  .ct-map.ct-map-osm {
    min-height: 380px;
  }

  .ct-map-osm .ct-map-card {
    left: 12px;
    right: 12px;
    padding: 14px;
  }
}

/* Align the map with the visible top of the contact heading. */
@media (min-width: 851px) {
  .ct-map.ct-map-osm {
    margin-top: clamp(8px, .7vw, 12px);
  }
}
