/* Highlight FTS snippet matches. */
mark { background: #fde68a; padding: 0 1px; border-radius: 2px; }

/* Map polish — softer popups + modern cluster bubbles. */
.leaflet-popup-content-wrapper {
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
}
.leaflet-popup-content { margin: 10px 12px; font-size: 13px; line-height: 1.4; }
.leaflet-popup-content a { color: #0369a1; text-decoration: none; }
.leaflet-popup-content a:hover { text-decoration: underline; }

.marker-cluster-small,
.marker-cluster-medium,
.marker-cluster-large {
  background: rgba(14, 165, 233, 0.18);
}
.marker-cluster-small div,
.marker-cluster-medium div,
.marker-cluster-large div {
  background: #0ea5e9;
  color: #fff;
  font-weight: 600;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.15);
}
.marker-cluster-medium div { background: #2563eb; }
.marker-cluster-large  div { background: #1d4ed8; }

/* Tiny legend overlay — bottom-left of the map. */
.map-legend {
  background: #fff;
  padding: 8px 10px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
  font-size: 12px;
  color: #334155;
  line-height: 1.6;
}
.map-legend .swatch {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: middle;
  border: 1.5px solid #fff;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.15);
}
