/* UK Hospitals, feature "basemap": map frame, markers, popups, legend. Brand tokens from ukhc.css. */
.ukhc-map-frame{background:#fff;border:1px solid var(--ukhc-line);border-radius:14px;overflow:hidden}
.ukhc-map-canvas{height:min(62vh,560px);min-height:340px;background:#F3EEE3}
.ukhc-map-attr{margin:0;padding:8px 12px;border-top:1px solid var(--ukhc-line);font-size:.8rem;color:var(--ukhc-muted);background:#fff}
.ukhc-map-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 2px 0;font-size:.85rem;color:var(--ukhc-muted)}
.ukhc-map-legend span{display:inline-flex;align-items:center;gap:6px}
.ukhc-map-legend i{display:inline-block;border-radius:50%}
.ukhc-map-me{width:22px;height:22px;border-radius:50%;background:var(--ukhc-focus);border:4px solid var(--ukhc-ink);box-shadow:0 0 0 6px rgba(255,199,44,.35)}
.ukhc-map-facility{line-height:0;z-index:3}
.ukhc-map-station{font:800 12px/1 system-ui,sans-serif;color:#fff;background:#3E6B8A;border:2px solid #fff;border-radius:6px;padding:3px 6px;box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:default}
.ukhc-map-station.is-bus{background:#5A6075}
.ukhc-map-pop .maplibregl-popup-content{border-radius:12px;padding:14px 16px 12px;font-size:15px;line-height:1.45;box-shadow:0 14px 34px -12px rgba(20,32,63,.45)}
.ukhc-map-pop .maplibregl-popup-close-button{font-size:22px;width:32px;height:32px;right:2px;top:2px}
.ukhc-map-pop b{display:block;font-family:var(--ukhc-serif);font-size:1.05rem;color:var(--ukhc-ink);line-height:1.25;margin:0 22px 4px 0}
.ukhc-map-pop p{margin:3px 0;color:var(--ukhc-muted);font-size:.88rem}
.ukhc-map-pop .ukhc-map-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ukhc-map-pop .ukhc-map-acts a{font-weight:700;font-size:.85rem;text-decoration:none;padding:8px 12px;border-radius:8px;background:var(--ukhc-teal);color:#fff}
.ukhc-map-pop .ukhc-map-acts a.alt{background:#fff;color:var(--ukhc-teal);box-shadow:inset 0 0 0 1.5px var(--ukhc-teal)}
.maplibregl-ctrl-group button{width:36px;height:36px}
/* "move the map to my location" (basemap.js locate()): under the zoom buttons, grey / blinking / blue; 44px for older readers.
   Kadence's button:hover/:focus does not reach map buttons: maplibre-gl.css (background transparent, same weight) loads later. */
.ukhc-map-locate .maplibregl-ctrl-group button{width:44px;height:44px}
.maplibregl-ctrl-group.ukhc-map-loc button{display:flex;align-items:center;justify-content:center;color:#5A6075}
.ukhc-map-loc button svg{display:block}
.ukhc-map-canvas .ukhc-map-loc.is-on button,.ukhc-map-canvas .ukhc-map-loc.is-on button:hover,.ukhc-map-canvas .ukhc-map-loc.is-on button:focus,
.ukhc-map-canvas .ukhc-map-loc.is-on button:active{color:#1A6FD1}
.ukhc-map-loc.is-busy button svg{animation:ukhc-loc-blink 1s ease-in-out infinite}
@keyframes ukhc-loc-blink{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.ukhc-map-loc.is-busy button svg{animation:none;opacity:.5}}
.ukhc-map-here{width:18px;height:18px;border-radius:50%;background:#1A6FD1;border:3px solid #fff;box-shadow:0 0 0 1px rgba(20,32,63,.3),0 1px 4px rgba(0,0,0,.35);z-index:4}
.ukhc-map-tip{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:3;max-width:calc(100% - 120px);margin:0;padding:8px 12px;border-radius:8px;
  background:rgba(20,32,63,.92);color:#fff;font-size:.9rem;line-height:1.35;text-align:center;pointer-events:none}
@media (max-width:600px){.ukhc-map-tip{left:10px;transform:none;max-width:calc(100% - 76px)}}
.uf-locate-use{margin:10px 0 0}
.maplibregl-cooperative-gesture-screen{font-size:1rem}
/* facility page map (module facility-map) */
.ukhc-fmap{margin:12px 0 18px}
.ukhc-fmap .ukhc-fmap-canvas{height:340px;min-height:0}
.ukhc-fmap-legend .ukhc-map-station{display:inline-block;font-size:11px;padding:2px 5px;box-shadow:none}
@media (max-width:600px){.ukhc-fmap .ukhc-fmap-canvas{height:300px}}
/* facility pin option E (facility-map.js, data-pin): name tag above, category icon in the disc, station labels small and underneath */
.ukhc-map-facility.is-e{z-index:5;filter:drop-shadow(0 2px 3px rgba(20,32,63,.35))}
.ukhc-map-flabel{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-4px);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:700 12.5px/1 system-ui,sans-serif;color:#fff;background:#1E2D5C;border:2px solid #C9A646;border-radius:999px;padding:5px 9px;pointer-events:none}
.ukhc-map-fico{fill:none;stroke:#1E2D5C;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;--acc:#A8862F}
.ukhc-map-station.is-sm{z-index:1;font-size:10px;padding:2px 4px;opacity:.95}
/* "Find care near here" category buttons (facility-map.js) */
.ukhc-fmap-h{margin:6px 0 10px}
.ukhc-fmap-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.ukhc-fmap-cat{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:6px 12px 6px 10px;border-radius:999px;border:2px solid var(--ukhc-line);
  background:#fff;color:var(--ukhc-ink);font:inherit;font-weight:700;font-size:1rem;cursor:pointer}
.ukhc-fmap-cat .ukhc-fui-ico{font-size:1.4rem}
.ukhc-fmap-cat span{overflow-wrap:normal;word-break:normal;hyphens:none;text-align:left;line-height:1.2}
.ukhc-fmap-cat b{flex:none;white-space:nowrap;min-width:1.8em;padding:1px 7px;border-radius:999px;background:var(--ukhc-stone);font-size:.9rem;text-align:center}
.ukhc-fmap-cat:hover{border-color:var(--ukhc-teal)}
.ukhc-fmap-cat[aria-pressed="true"]{background:var(--ukhc-teal);border-color:var(--ukhc-teal);color:#fff}
.ukhc-fmap-cat[aria-pressed="true"] .ukhc-fui-ico{stroke:#fff;--acc:var(--ukhc-gold-soft);--pharm:#fff}
.ukhc-fmap-cat[aria-pressed="true"] b{background:var(--ukhc-gold-soft);color:var(--ukhc-ink)}
.ukhc-fmap-cat:focus-visible{outline:3px solid var(--ukhc-focus);outline-offset:2px}
.ukhc-fmap-sum{margin:0 0 10px;color:var(--ukhc-text)}
.ukhc-fmap-more{margin:10px 0 0;font-weight:700}
.ukhc-map-pop .ukhc-map-state{font-weight:700}
.ukhc-map-pop .ukhc-map-state.is-open{color:var(--ukhc-live-ink)}
.ukhc-map-pop .ukhc-map-state.is-closed{color:#9E0C24}
@media (max-width:600px){.ukhc-fmap-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ukhc-fmap-cat{min-width:0;border-radius:12px;font-size:.95rem;padding:6px 8px;gap:6px}.ukhc-fmap-cat .ukhc-fui-ico{font-size:1.2rem}.ukhc-fmap-cat b{margin-left:auto}}
@media print{.ukhc-fmap-cats,.ukhc-fmap-more{display:none}}
@media print{.ukhc-map-frame,.ukhc-map-legend{display:none!important}}
