.units-map{position:relative;height:clamp(24rem,64vh,44rem);overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface)}.units-map:before{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:var(--color-surface);color:var(--color-ink-muted);font-size:.9375rem;content:attr(data-loading);transition:opacity .6s ease;pointer-events:none}.units-map.is-ready:before{opacity:0}.units-map .maplibregl-canvas:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.units-map .maplibregl-ctrl-group{border-radius:var(--radius-control);box-shadow:0 2px 8px #10121b1f}.units-map .maplibregl-ctrl-group button{width:2.25rem;height:2.25rem}.units-map .maplibregl-ctrl-attrib{font-family:var(--font-sans);font-size:.6875rem;border-radius:.5rem 0 0}.map-marker{display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:2px solid var(--color-canvas);border-radius:.75rem;background:var(--color-ink);color:var(--color-ink-inverse);box-shadow:0 6px 16px #10121b47;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out-expo)}.map-marker:after{position:absolute;left:50%;bottom:-.55rem;width:.75rem;height:.75rem;border-right:2px solid var(--color-canvas);border-bottom:2px solid var(--color-canvas);background:var(--color-ink);transform:translate(-50%) rotate(45deg);content:""}.map-marker:hover,.map-marker[aria-expanded=true]{border-color:var(--color-ink);filter:brightness(1.35)}.map-marker-count{position:absolute;top:-.45rem;right:-.45rem;min-width:1.15rem;height:1.15rem;padding:0 .2rem;display:grid;place-items:center;border-radius:999px;background:var(--color-canvas);color:var(--color-ink);border:1.5px solid var(--color-ink);font-size:.68rem;font-weight:700;line-height:1}.map-popup-group{grid-column:1 / -1;display:grid;gap:.35rem;padding:.6rem}.map-popup-group-title{margin:0;padding:.25rem 3rem .25rem .5rem;font-size:.8rem;color:var(--color-ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-popup-group-item{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border-radius:.6rem;color:inherit;text-decoration:none}.map-popup-group-item:hover{background:var(--color-surface)}.map-popup-group-item img{width:3.2rem;height:2.3rem;object-fit:cover;border-radius:.45rem;flex:none}.map-popup-group-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600}.map-marker:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.map-popup{position:absolute;left:var(--x);top:var(--y);z-index:5;display:grid;grid-template-columns:7rem 1fr;width:min(23rem,calc(100% - 2rem));overflow:hidden;border:1px solid var(--color-line);border-radius:1rem;background:var(--color-canvas);box-shadow:0 18px 50px #10121b2e,0 2px 8px #10121b0f;animation:map-popup-in .2s ease-out}@keyframes map-popup-in{0%{opacity:0}}.map-popup-img{display:block;width:100%;height:100%;min-height:8.5rem;object-fit:cover}.map-popup-body{display:grid;align-content:start;gap:.25rem;padding:.8rem 2.5rem .9rem .9rem}.map-popup-place{margin:0;font-size:.8125rem;color:var(--color-ink-muted)}.map-popup-approx{color:var(--color-ink-muted);opacity:.8}.map-popup-name{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.01em}.map-popup-facts{margin:0 0 .3rem;font-size:.8125rem;color:var(--color-ink-muted)}.map-popup-cta{justify-self:start;height:2.25rem;padding:0 .9rem;font-size:.8125rem}.map-popup-close{position:absolute;top:.4rem;right:.4rem;display:grid;place-items:center;width:1.9rem;height:1.9rem;border:0;border-radius:999px;background:var(--color-surface);color:var(--color-ink);cursor:pointer}.map-popup-close:hover{background:var(--color-canvas)}@media(max-width:30rem){.map-popup{grid-template-columns:5.5rem 1fr}}@media(prefers-reduced-motion:reduce){.map-popup,.map-marker{animation:none;transition:none}}.map-marker-poi{width:2.25rem;height:2.25rem;border-color:var(--color-ink);background:var(--color-canvas);color:var(--color-ink);box-shadow:0 4px 12px #10121b2e}.map-marker-poi:after{bottom:-.5rem;width:.65rem;height:.65rem;border-right:2px solid var(--color-ink);border-bottom:2px solid var(--color-ink);background:var(--color-canvas)}.map-marker-poi[aria-pressed=true]{background:var(--color-ink);color:var(--color-ink-inverse);transform:translateY(-2px) scale(1.06)}.map-marker-poi[aria-pressed=true]:after{background:var(--color-ink)}.map-popup-poi{grid-template-columns:1fr;width:min(18rem,calc(100% - 2rem))}.map-popup-body-poi{padding:.8rem 2.5rem .9rem .9rem}.map-popup-route{display:block;color:var(--color-ink)}.map-popup-route strong{font-weight:600}
