/* Shared cartographic chrome. Scoped so product panels keep their own layout. */
.atlas-cartography { --map-panel: #112738; --map-line: #3b5364; --map-ink: #d4e0e8; background: #091b29; }
.atlas-cartography[data-map-theme="light"] { --map-panel: #f9fbfa; --map-line: #bac9ce; --map-ink: #394e5b; }
.atlas-cartography .maplibregl-ctrl-group { background: var(--map-panel); border: 1px solid var(--map-line); border-radius: 5px; box-shadow: 0 2px 8px #0002; overflow: hidden; }
.atlas-cartography .maplibregl-ctrl-group button { width: 34px; height: 34px; color: var(--map-ink); }
.atlas-cartography .maplibregl-ctrl-group button+button { border-top-color: var(--map-line); }
.atlas-cartography .maplibregl-ctrl-group button:hover { background: #ffffff12; }
.atlas-cartography .maplibregl-ctrl-group button:focus-visible { outline: 2px solid #a4d7ef; outline-offset: -3px; }
.atlas-cartography .maplibregl-ctrl-group button .maplibregl-ctrl-icon { filter: invert(.87); }
.atlas-cartography[data-map-theme="light"] .maplibregl-ctrl-group button .maplibregl-ctrl-icon { filter: none; }
.atlas-cartography .maplibregl-ctrl-scale { border: 1px solid var(--map-line); border-top: 0; background: var(--map-panel); color: var(--map-ink); padding: 2px 5px; font: 10px/16px Arial, sans-serif; }
.atlas-cartography .maplibregl-ctrl-attrib { background: var(--map-panel); color: var(--map-ink); font: 10px/20px Arial, sans-serif; }
.atlas-cartography .maplibregl-ctrl-attrib a { color: inherit; }
.atlas-cartography .maplibregl-ctrl-attrib-button { filter: invert(.8); }
.atlas-cartography[data-map-theme="light"] .maplibregl-ctrl-attrib-button { filter: none; }
.atlas-map-surface .maplibregl-ctrl-top-right { top: 90px; right: 6px; }
.atlas-map-surface .maplibregl-ctrl-bottom-left { bottom: 8px; left: 8px; }
.atlas-map-hover { pointer-events: none; }
.atlas-map-hover .maplibregl-popup-content { padding: 11px 14px; background: #112738f5; color: #e5edf2; border: 1px solid #486274; border-radius: 5px; box-shadow: 0 6px 24px #0004; font: 13px/1.4 Arial, sans-serif; }
.atlas-map-hover .maplibregl-popup-tip { display: none; }
.atlas-map-hover strong,.atlas-map-hover span { display: block; }
.atlas-map-hover span { margin-top: 3px; color: #a3bac8; font-size: 11px; }
.refined .selected-hospital-pin .selection-name { max-width: min(240px, 62vw); white-space: normal; text-align: left; line-height: 1.35; border: 1px solid #506879; background: #112738f5; box-shadow: 0 4px 18px #0004; padding: 8px 11px; }
.refined .selected-hospital-pin .selection-ground { animation: none; }
@media (max-width: 600px) {
  html body.refined.home-study #market-scene { aspect-ratio: auto !important; height: 320px !important; }
  .atlas-cartography .maplibregl-ctrl-group button { width: 40px; height: 40px; }
  .atlas-map-surface .maplibregl-ctrl-top-right { top: 98px; }
  .atlas-map-surface .maplibregl-ctrl-bottom-left { left: 2px; bottom: 2px; }
  .atlas-map-hover { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas-cartography *, .selected-hospital-pin * { animation: none !important; transition: none !important; }
}
