/* Map-only styles: keep the existing home, space page and gallery untouched. */
.directions-page .arrival-map.location-map-shell {
  position: relative;
  isolation: isolate;
  z-index: 0;
  overflow: hidden;
}
#building-map { width: 100%; height: 100%; background: #e9e6df; font-family: inherit; }
#building-map .leaflet-tile-pane { filter: saturate(.68); }
#building-map .building-location-pin { background: none; border: 0; }
.building-location-pin svg { display: block; overflow: visible; filter: drop-shadow(0 2px 3px #30251c55); }
#building-map .building-location-label {
  padding: 8px 13px;
  background: #3f332b;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #fff;
  box-shadow: 0 2px 7px #30251c33;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
}
#building-map .building-location-label::before { display: none; }
#building-map .leaflet-control-zoom,
#building-map .building-map-home { border: 1px solid #d7d0c5; border-radius: 3px; box-shadow: 0 1px 5px #30251c22; }
#building-map .leaflet-control-zoom a,
#building-map .building-map-home button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #fffdf9;
  color: #3f332b;
  text-decoration: none;
  cursor: pointer;
  font: 400 24px/1 sans-serif;
}
#building-map .leaflet-control-zoom a:first-child { border-bottom: 1px solid #ded9d0; }
#building-map .building-map-home button svg { fill: none; stroke: currentColor; stroke-width: 1.5; }
#building-map .leaflet-control-zoom a:hover,
#building-map .building-map-home button:hover { background: #eee9e0; }
#building-map:focus-visible,
#building-map a:focus-visible,
#building-map button:focus-visible { outline: 2px solid #716050; outline-offset: -3px; }
#building-map .leaflet-control-attribution { max-width: calc(100% - 12px); padding: 2px 5px; color: #48413a; background: #fffffff0; font: 10px/1.5 Arial,sans-serif; }
#building-map .leaflet-control-attribution a { color: #4e5149; text-decoration: underline; }
.map-fallback { position: absolute; z-index: 1100; top: 50%; left: 50%; transform: translate(-50%,-50%); margin: 0; padding: 12px 16px; background: #fffdf9; color: #3f332b; border: 1px solid #d8d1c8; font-size: 14px; white-space: nowrap; }
.map-fallback[hidden] { display: none; }
@media (max-width: 680px) {
  #building-map .building-location-label { font-size: 14px; padding: 7px 11px; }
}
