/* Build 006B.3 — Nordic Home Map Viewer */
body.home-map-viewer-open{overflow:hidden}
.home-map-viewer{position:fixed;inset:0;z-index:180;pointer-events:none;visibility:hidden}
.home-map-viewer.open{pointer-events:auto;visibility:visible}
.home-map-viewer-backdrop{position:absolute;inset:0;background:rgba(1,7,10,.82);backdrop-filter:blur(8px);opacity:0;transition:opacity .25s ease}
.home-map-viewer.open .home-map-viewer-backdrop{opacity:1}
.home-map-viewer-shell{position:absolute;inset:clamp(12px,2vw,28px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:var(--space-m);padding:clamp(16px,2.5vw,28px);border:1px solid var(--line);border-radius:24px;background:var(--bg);box-shadow:0 35px 100px rgba(0,0,0,.38);opacity:0;transform:scale(.985);transition:opacity .25s ease,transform .25s ease}
.home-map-viewer.open .home-map-viewer-shell{opacity:1;transform:scale(1)}
.home-map-viewer-header{display:flex;justify-content:space-between;gap:var(--space-l);align-items:flex-start}
.home-map-viewer-header small{color:var(--accent);letter-spacing:.08em}.home-map-viewer-header h2{margin:4px 0}.home-map-viewer-header p{margin:0;color:var(--muted)}
.home-map-viewer-toolbar{display:flex;justify-content:center;align-items:center;gap:var(--space-s)}
.home-map-viewer-toolbar #homeMapZoomLabel{min-width:58px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
.home-map-viewer-viewport{position:relative;min-height:320px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--solid) 90%,#000);overflow:hidden;cursor:grab;touch-action:none}
.home-map-viewer-viewport.dragging{cursor:grabbing}
.home-map-viewer-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;user-select:none}
.home-map-viewer-stage.animate{transition:transform .36s cubic-bezier(.22,.8,.28,1)}
.home-map-viewer-stage>img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.home-map-viewer-marker{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:4;pointer-events:none}
.home-map-viewer-marker-icon{display:grid;place-items:center;width:42px;height:42px;border:4px solid white;border-radius:50%;background:var(--accent);box-shadow:0 8px 25px rgba(0,0,0,.35)}
.home-map-viewer-marker-icon svg{width:24px;height:24px;fill:none;stroke:#071619;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-map-viewer-marker>b{margin-top:8px;padding:7px 11px;border-radius:999px;background:rgba(4,14,17,.9);color:white;font-size:11px;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.home-map-viewer-marker.pulse-once .home-map-viewer-marker-icon::after{content:"";position:absolute;width:42px;height:42px;border:3px solid var(--accent);border-radius:50%;animation:home-map-pulse-once 1.35s ease-out 1}
@keyframes home-map-pulse-once{0%{transform:scale(.8);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.home-map-viewer-footer{display:grid;grid-template-columns:.7fr 1.8fr .7fr;gap:var(--space-s)}
.home-map-viewer-footer>div{display:grid;gap:4px;padding:var(--space-m);border:1px solid var(--line);border-radius:15px;background:var(--solid)}
.home-map-viewer-footer span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.living-find-map-canvas{cursor:zoom-in}
.living-find-map-canvas::after{content:"Klik for at åbne Home Map";position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:6px 9px;border-radius:999px;background:rgba(3,13,16,.82);color:white;font-size:10px;opacity:0;transition:opacity .2s ease;white-space:nowrap}
.living-find-map-canvas:hover::after{opacity:1}
.symbol-map-bob svg,.symbol-map-medical svg,.symbol-map-documents svg,.symbol-map-car-kit svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:reduce){.home-map-viewer-backdrop,.home-map-viewer-shell,.home-map-viewer-stage,.home-map-viewer-marker-icon::after{transition:none!important;animation:none!important}}
@media(max-width:720px){
  .home-map-viewer-shell{inset:0;border-radius:0}
  .home-map-viewer-header p{display:none}
  .home-map-viewer-toolbar{flex-wrap:wrap}
  .home-map-viewer-footer{grid-template-columns:1fr}
  .home-map-viewer-viewport{min-height:260px}
}
