/* Citation atlas: quiet cartography of citing institutions. */
/* Let the homepage grid shrink to the viewport. The research figure already
   has its own horizontal scroller; its intrinsic width must not widen the map. */
.home-page .home > .main:has(.citation-map) { min-width: 0; }
.citation-map {
  --map-ink: #243d50;
  --map-blue: #336f92;
  --map-rule: #d8e2e8;
  margin: 0;
  font-family: var(--sans, sans-serif);
  color: var(--map-ink);
  container-type: inline-size;
}
.citation-map__toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .4rem; margin-bottom: .65rem; }
.citation-map__label { font-size: .82rem; line-height: 1.4; color: #526774; }
.citation-map button { font: inherit; cursor: pointer; }
.citation-map__reset { display: inline-flex; gap: .4rem; align-items: center; margin-left: auto; padding: .4rem 0 .4rem .35rem; border: 0; background: transparent; color: var(--map-blue); font-size: .78rem !important; white-space: nowrap; }
.citation-map button:focus-visible, .citation-map .leaflet-container:focus-visible { outline: 2px solid #216e9b; outline-offset: 3px; }
.citation-map__canvas { height: 410px; width: 100%; border: 1px solid var(--map-rule); border-radius: 4px; isolation: isolate; background: #f5f9fb; z-index: 0; }
.citation-map__canvas.leaflet-container { font-family: var(--sans, sans-serif); background: #f5f9fb; }
.citation-map .leaflet-control-zoom { border: 1px solid #cbd9e1; box-shadow: 0 1px 4px #243d5012; border-radius: 4px; }
.citation-map .leaflet-control-zoom a { color: var(--map-ink); font-weight: 400; }
.citation-map .leaflet-control-attribution { background: #ffffffd9; font-size: 9px; color: #617783; }
.citation-map .leaflet-control-attribution a { color: #476d82; }
.citation-map .leaflet-interactive:focus-visible { outline: none; stroke: #173d57; stroke-width: 4px; }
.citation-map .leaflet-tooltip { max-width: 210px; border: 1px solid #d4e0e7; padding: 4px 7px; border-radius: 4px; color: var(--map-ink); font-size: 11px; line-height: 1.35; box-shadow: 0 2px 8px #23435212; white-space: normal; }
.citation-map__tooltip-title { display: block; font-weight: 600; }
.citation-map .leaflet-popup-content-wrapper { border-radius: 6px; box-shadow: 0 3px 18px #23435222; }
.citation-map .leaflet-popup-content { margin: 10px 14px; line-height: 1.35; font-size: 11px; }
.citation-map__popup-title { display: block; margin-bottom: .2rem; padding-right: 6px; font-weight: 600; font-size: 12px; }
.citation-map__popup-location { display: block; color: #677d89; font-size: 10px; }
.citation-map__error { display: flex; align-items: center; justify-content: center; padding: 2rem; text-align: center; font-size: .85rem; color: #627581; }
@media (max-width: 640px) {
  .citation-map__canvas { height: 220px; height: clamp(180px, 72cqi, 270px); }
  .citation-map__label { font-size: .76rem; }
  .citation-map__reset { font-size: .72rem !important; }
  .citation-map .leaflet-tooltip { max-width: 180px; font-size: 10px; }
}
@media (max-width: 360px) {
  .citation-map__toolbar { gap: .25rem; }
  .citation-map__reset span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .citation-map .leaflet-zoom-animated { transition: none !important; }
}
