html,
body,
#map {
  height: 100%;
  margin: 0;
}
body {
  background: #e4f0f1;
  color: #124c58;
  font:
    14px/1.5 system-ui,
    sans-serif;
}
#map-status {
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 50%;
  width: min(75%, 340px);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 20px;
  border-radius: 12px;
  background: #f5f9f9;
  box-shadow: 0 4px 24px #124c5826;
}
#map-status[hidden] {
  display: none;
}
#map-status.partial {
  top: auto;
  bottom: 28px;
  left: 12px;
  width: min(70%, 300px);
  transform: none;
  padding: 12px;
}
.leaflet-control-zoom a {
  width: 44px;
  height: 44px;
  line-height: 44px;
}
.leaflet-control-attribution {
  font-size: 12px;
  background: #ffffffed;
}
.leaflet-control-attribution a {
  color: #124c58;
  text-decoration: underline;
}
a:focus-visible {
  outline: 3px solid #124c58;
  outline-offset: 2px;
}
.house-marker {
  background: #124c58;
  border: 3px solid white;
  border-radius: 50%;
  box-shadow: 0 2px 8px #0005;
}
.house-marker::after {
  content: '';
  position: absolute;
  inset: 6px;
  border: 2px solid white;
  border-radius: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .leaflet-zoom-animated {
    transition: none !important;
  }
}

/* Embedded attribution is a native, always reachable link on the parent page. */
.embedded-map .leaflet-control-attribution {
  display: none;
}
