/* view3d.css — 3D pohľad (MapLibre): celá obrazovka nad mapou, lišta s ovládaním, značky objektov a členov */
#v3d{position:fixed;inset:0;z-index:45;background:#cfdbe8}
#v3dMap{position:absolute;inset:0}
body.v3d-open #fabs,body.v3d-open #bottom,body.v3d-open #tools,body.v3d-open #topbar{visibility:hidden}
.v3d-bar{position:absolute;z-index:2;top:calc(8px + var(--safe-t, env(safe-area-inset-top, 0px)));left:calc(8px + var(--safe-l, env(safe-area-inset-left, 0px)));right:calc(8px + var(--safe-r, env(safe-area-inset-right, 0px)));display:flex;flex-wrap:wrap;gap:6px;align-items:center;pointer-events:none}
.v3d-bar>*{pointer-events:auto;box-shadow:var(--sh)}
.v3d-bar select{min-height:44px;max-width:min(62vw,280px);border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--fg);font-size:16px;padding:0 10px}
.v3d-bar .btn{min-height:44px;min-width:44px}
#v3dExag{width:auto;max-width:84px;flex:none}
#v3dBase{flex:0 1 auto}
.v3d-bar .tog{opacity:.55}.v3d-bar .tog.on{opacity:1;outline:2px solid var(--pri)}
.v3d-tilt{position:absolute;z-index:2;left:calc(8px + var(--safe-l, env(safe-area-inset-left, 0px)));bottom:calc(44px + var(--safe-b, env(safe-area-inset-bottom, 0px)));display:flex;flex-direction:column;gap:6px}
.v3d-tilt .btn{min-height:44px;min-width:52px;box-shadow:var(--sh)}
.v3d-load{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(15,23,42,.8);color:#fff;padding:10px 16px;border-radius:12px;font-weight:600}
#v3d .maplibregl-ctrl-bottom-right{margin-bottom:var(--safe-b, env(safe-area-inset-bottom, 0px));margin-right:var(--safe-r, env(safe-area-inset-right, 0px))}
#v3d .maplibregl-ctrl-bottom-left{margin-bottom:var(--safe-b, env(safe-area-inset-bottom, 0px));margin-left:calc(70px + var(--safe-l, env(safe-area-inset-left, 0px)))}
#v3d .maplibregl-ctrl-group button{width:44px;height:44px}
.v3d-pt,.v3d-mem,.v3d-inc{display:flex;flex-direction:column;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}
.v3d-pt b,.v3d-mem b,.v3d-inc b{margin-top:2px;font-size:12px;line-height:1.2;background:rgba(255,255,255,.92);color:#0f172a;padding:1px 6px;border-radius:6px;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.v3d-pin{display:grid;place-items:center;width:36px;height:36px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#fff;border:3px solid #e11d48;font-size:18px;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.v3d-pin i,.v3d-pin img{display:block;transform:rotate(45deg);font-style:normal;line-height:1}.v3d-pin img{width:22px;height:22px}
.v3d-pt.dim{opacity:.35}
.v3d-pt.txt b{font-size:14px}
.v3d-mem span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:3px solid #fff;font-size:16px;box-shadow:0 1px 5px rgba(0,0,0,.35)}
.v3d-inc span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#dc2626;border:3px solid #fff;font-size:22px;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.v3d-pop{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#0f172a}
.v3d-pop p{margin:0;white-space:pre-wrap}.v3d-pop .btn{min-height:40px}
@media (prefers-color-scheme:dark){.v3d-pop{color:#0f172a}}
