/* ===== assets/css/map-v2.css ===== */
.immersive-map{position:relative;height:calc(var(--app-height,100vh) - var(--header-height));overflow:hidden;background:#dfeae7}.immersive-map-canvas{position:absolute;inset:0;z-index:1}.immersive-map .leaflet-control-attribution{font-size:8px;background:rgba(255,255,255,.65);backdrop-filter:blur(8px)}.immersive-map .leaflet-tile-pane{filter:saturate(.78) contrast(.97) brightness(1.04)}.map-metrics{position:absolute;z-index:500;top:15px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);width:min(470px,calc(100% - 32px));padding:7px;border-radius:22px}.map-metrics>div{display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;align-items:center;padding:5px 10px;border-inline-end:1px solid rgba(15,93,102,.09)}.map-metrics>div:last-child{border:0}.map-metrics span{grid-row:1/3;width:29px;height:29px;border-radius:10px;background:color-mix(in srgb,var(--primary-2) 14%,#fff);display:grid;place-items:center;margin-inline-end:6px}.map-metrics small{font-size:8px;color:var(--muted);line-height:1}.map-metrics strong{font-size:12px;line-height:1.2}.map-search-panel{position:absolute;z-index:510;top:91px;right:20px;width:min(420px,calc(100% - 40px));padding:11px;border-radius:22px}.map-search-form{height:48px;background:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.9);border-radius:15px;display:flex;align-items:center;padding:0 11px;gap:8px}.map-search-form>span{font-size:21px;color:var(--primary)}.map-search-form input{border:0;background:transparent;outline:0;flex:1;min-width:0;font-size:14px}.map-search-form button{border:0;background:rgba(15,93,102,.08);color:var(--primary);width:28px;height:28px;border-radius:9px;cursor:pointer}.map-chips{display:flex;gap:7px;overflow-x:auto;padding-top:9px;scrollbar-width:none}.map-chips::-webkit-scrollbar{display:none}.map-chip{border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.68);color:#52686c;border-radius:11px;padding:6px 10px;font-size:10px;white-space:nowrap;cursor:pointer}.map-chip.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent}.map-floating-controls{position:absolute;z-index:520;left:20px;top:100px;display:grid;border-radius:17px;padding:5px}.map-floating-controls button{width:40px;height:40px;border:0;border-bottom:1px solid rgba(15,93,102,.1);background:transparent;color:var(--primary);font-size:19px;cursor:pointer}.map-floating-controls button:last-child{border:0}.map-locate-button{position:absolute;z-index:520;left:20px;bottom:235px;border:4px solid rgba(255,255,255,.9);background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;align-content:center;box-shadow:0 15px 35px rgba(15,93,102,.28);cursor:pointer}.map-locate-button span{font-size:21px;line-height:1}.map-locate-button b{font-size:8px;margin-top:3px}.smart-map-pin{position:relative;width:48px;height:54px;filter:drop-shadow(0 8px 9px rgba(7,47,50,.22));animation:pinIn .35s ease-out}.smart-map-pin>div{width:44px;height:44px;border:4px solid rgba(255,255,255,.95);border-radius:16px;background:var(--pin-color);overflow:hidden;display:grid;place-items:center}.smart-map-pin img{width:100%;height:100%;object-fit:cover}.smart-map-pin span{font-size:21px}.smart-map-pin i{position:absolute;width:13px;height:13px;bottom:2px;left:50%;transform:translateX(-50%) rotate(45deg);background:var(--pin-color);border-radius:0 0 3px 0;z-index:-1}.map-smart-tooltip{border:0!important;border-radius:10px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 8px 20px rgba(7,47,50,.12)!important;color:var(--ink)!important;font-family:inherit!important}.map-bottom-sheet{position:absolute;z-index:530;right:20px;left:20px;bottom:18px;border-radius:28px;padding:9px 17px 14px;transition:.28s;max-height:240px}.sheet-handle{display:block;border:0;background:transparent;width:100%;height:17px;cursor:pointer}.sheet-handle span{display:block;width:45px;height:4px;border-radius:99px;background:rgba(15,93,102,.2);margin:auto}.map-bottom-sheet.collapsed{transform:translateY(calc(100% - 34px))}.map-selected-empty{text-align:center;display:grid;padding:3px 0 10px}.map-selected-empty small{color:var(--muted)}.map-selected-card{display:grid;grid-template-columns:80px 1fr auto;gap:13px;align-items:center}.map-selected-card[hidden]{display:none}.map-selected-card>img{width:80px;height:80px;border-radius:18px;object-fit:cover}.selected-copy{min-width:0}.selected-copy h2{font-size:18px;margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-copy p{font-size:10px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-meta{display:flex;gap:8px;font-size:10px;color:var(--primary);margin-top:5px}.selected-actions{display:grid;grid-template-columns:1fr 1fr 40px;gap:6px;min-width:270px}.selected-actions>*{border:0;border-radius:12px;height:40px;padding:0 10px;display:grid;place-items:center;font-size:10px;font-weight:800;cursor:pointer}.map-action-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}.map-action-secondary{background:color-mix(in srgb,var(--primary-2) 12%,#fff);color:var(--primary)}.map-action-icon{background:#fff;border:1px solid var(--line)}.map-results-strip{display:flex;gap:8px;overflow-x:auto;padding:10px 0 0;scrollbar-width:none}.map-results-strip::-webkit-scrollbar{display:none}.map-result-pill{flex:0 0 auto;border:1px solid rgba(255,255,255,.84);background:rgba(255,255,255,.72);border-radius:14px;padding:5px 9px 5px 5px;display:flex;align-items:center;gap:7px;min-width:145px;text-align:right;cursor:pointer}.map-result-pill.active{box-shadow:inset 0 0 0 2px var(--primary-2);background:#fff}.map-result-pill img{width:38px;height:38px;border-radius:11px;object-fit:cover}.map-result-pill span{display:grid}.map-result-pill strong{font-size:10px;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-result-pill small{font-size:8px;color:var(--muted)}.map-loading{position:absolute;left:16px;top:9px;font-size:9px;color:var(--muted)}@keyframes pinIn{from{opacity:0;transform:translateY(-12px) scale(.8)}to{opacity:1;transform:none}}@media(max-width:760px){.map-page{padding-top:var(--header-height);padding-bottom:0}.map-page .app-dock{bottom:max(7px,env(safe-area-inset-bottom))}.immersive-map{height:calc(var(--app-height,100vh) - var(--header-height))}.map-metrics{top:9px;border-radius:18px;padding:5px}.map-metrics>div{padding:4px 6px}.map-metrics span{width:26px;height:26px}.map-search-panel{top:76px;right:10px;width:calc(100% - 20px);padding:8px;border-radius:18px}.map-search-form{height:44px}.map-search-form input{font-size:16px}.map-floating-controls{left:10px;top:180px}.map-floating-controls button{width:36px;height:36px}.map-locate-button{left:12px;bottom:238px;width:55px;height:55px}.map-bottom-sheet{right:8px;left:8px;bottom:84px;border-radius:23px;padding:7px 11px 11px;max-height:235px}.map-selected-card{grid-template-columns:62px 1fr;gap:9px}.map-selected-card>img{width:62px;height:62px;border-radius:15px}.selected-copy h2{font-size:16px}.selected-actions{grid-column:1/-1;min-width:0;grid-template-columns:1fr 1fr 40px}.selected-actions>*{height:37px}.map-results-strip{padding-top:8px}.map-result-pill{min-width:135px}.map-loading{display:none}.map-page .fab-actions{bottom:75px}.map-page .app-dock{z-index:1400}}@media(max-width:390px){.map-metrics strong{font-size:10px}.map-metrics small{font-size:7px}.map-search-panel{top:70px}.map-bottom-sheet{bottom:80px}.map-selected-card>img{width:54px;height:54px}.map-result-pill{min-width:125px}}


/* ===== assets/css/map-feel-v4.css ===== */
.map-bottom-sheet{will-change:transform;touch-action:pan-x;transition:transform .34s cubic-bezier(.2,.82,.22,1),max-height .34s ease}
.map-bottom-sheet.is-dragging{transition:none!important;user-select:none}
.sheet-handle{touch-action:none;height:28px;margin-top:-5px}
.sheet-handle span{transition:width .22s ease,background .22s ease}
.map-bottom-sheet.is-dragging .sheet-handle span,.map-bottom-sheet.sheet-expanded .sheet-handle span{width:62px;background:color-mix(in srgb,var(--primary) 38%,transparent)}
.map-results-strip{scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.map-result-pill{scroll-snap-align:start;min-height:50px}
@media(max-width:760px){
  .map-bottom-sheet{height:min(64vh,560px);max-height:none;transform:translateY(calc(var(--sheet-offset,calc(100% - 205px)) + var(--sheet-drag-y,0px)));overflow:hidden;padding-bottom:14px}
  .map-bottom-sheet.sheet-compact{--sheet-offset:calc(100% - 62px)}
  .map-bottom-sheet.sheet-middle{--sheet-offset:calc(100% - 205px)}
  .map-bottom-sheet.sheet-expanded{--sheet-offset:0px}
  .map-bottom-sheet.collapsed{transform:translateY(calc(100% - 62px))}
  .map-bottom-sheet.sheet-expanded .map-results-strip{max-height:145px;flex-wrap:wrap;overflow-y:auto;scroll-snap-type:none}
  .map-bottom-sheet.sheet-compact .map-selected-card,.map-bottom-sheet.sheet-compact .map-selected-empty,.map-bottom-sheet.sheet-compact .map-results-strip{opacity:0;pointer-events:none}
  .map-bottom-sheet .map-selected-card,.map-bottom-sheet .map-selected-empty,.map-bottom-sheet .map-results-strip{transition:opacity .18s ease}
}


/* ===== assets/css/map-pins-v23.css ===== */
.nabkna-map-marker{background:transparent!important;border:0!important}
.smart-map-pin{--pin-size:48px;--pin-color:#0f5d66;position:relative;width:var(--pin-size);height:calc(var(--pin-size) + 10px);filter:drop-shadow(0 8px 9px rgba(7,47,50,.25));transform-origin:50% 100%;will-change:transform,filter;animation:pinAppear .34s cubic-bezier(.2,.9,.3,1.2)}
.smart-map-pin>.pin-core{position:relative;z-index:2;width:var(--pin-size);height:var(--pin-size);overflow:visible;display:grid;place-items:center;border:4px solid rgba(255,255,255,.96);border-radius:17px;background:var(--pin-color);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);transition:transform .22s ease,filter .22s ease,border-color .22s ease}
.smart-map-pin .pin-media{position:relative;z-index:3;width:72%;height:72%;display:grid;place-items:center;overflow:hidden;border-radius:28%;font-size:calc(var(--pin-size) * .42);line-height:1;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-style:normal;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.16)}
.smart-map-pin .pin-media img{width:100%;height:100%;object-fit:cover;border-radius:inherit;background:#fff;text-shadow:none}
.smart-map-pin>.pin-tail{position:absolute;z-index:1;left:50%;bottom:2px;width:calc(var(--pin-size) * .28);height:calc(var(--pin-size) * .28);transform:translateX(-50%) rotate(45deg);border-radius:0 0 4px 0;background:var(--pin-color)}
.smart-map-pin.is-selected>.pin-core{border-color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--pin-color) 28%,transparent),inset 0 0 0 1px rgba(0,0,0,.04)}

.pin-shape-circle>.pin-core{border-radius:50%}
.pin-shape-circle>.pin-tail{width:calc(var(--pin-size) * .12);height:calc(var(--pin-size) * .12);bottom:0;border-radius:50%;transform:translateX(-50%)}
.pin-shape-square>.pin-core{border-radius:10px}
.pin-shape-square>.pin-tail{border-radius:2px}
.pin-shape-shield>.pin-core{border-radius:16px 16px 21px 21px;clip-path:polygon(8% 5%,92% 5%,92% 62%,50% 100%,8% 62%)}
.pin-shape-shield>.pin-tail{display:none}
.pin-shape-diamond>.pin-core{transform:rotate(45deg) scale(.76);border-radius:13px}
.pin-shape-diamond .pin-media{transform:rotate(-45deg) scale(1.16)}
.pin-shape-diamond>.pin-tail{display:none}
.pin-shape-star>.pin-core{border:0;clip-path:polygon(50% 0,61% 34%,97% 35%,68% 56%,79% 92%,50% 71%,21% 92%,32% 56%,3% 35%,39% 34%);filter:drop-shadow(0 0 0 #fff);border-radius:0}
.pin-shape-star>.pin-tail{display:none}
.pin-shape-star .pin-media{width:54%;height:54%;font-size:calc(var(--pin-size) * .34)}
.pin-shape-medical>.pin-core{border-radius:18px 18px 21px 21px}
.pin-shape-medical>.pin-core::after{content:"+";position:absolute;z-index:5;top:-8px;left:-7px;width:20px;height:20px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--pin-color);font-size:15px;font-weight:1000;line-height:1;box-shadow:0 4px 9px rgba(0,0,0,.15)}
.pin-shape-transport>.pin-core{height:calc(var(--pin-size) * .72);margin-top:calc(var(--pin-size) * .12);border-radius:999px}
.pin-shape-transport>.pin-core::before,.pin-shape-transport>.pin-core::after{content:"";position:absolute;bottom:-8px;width:10px;height:10px;border:3px solid #fff;border-radius:50%;background:#243c42}
.pin-shape-transport>.pin-core::before{right:7px}.pin-shape-transport>.pin-core::after{left:7px}
.pin-shape-transport>.pin-tail{display:none}
.pin-shape-emergency>.pin-core{border-radius:50% 50% 50% 10px;transform:rotate(45deg);background:var(--pin-color,#c83e4d)}
.pin-shape-emergency .pin-media{transform:rotate(-45deg);font-size:calc(var(--pin-size) * .46)}
.pin-shape-emergency>.pin-tail{display:none}
.pin-shape-emergency.is-selected::before{content:"";position:absolute;inset:-7px 0 3px -7px;border:3px solid color-mix(in srgb,var(--pin-color) 70%,#fff);border-radius:50%;animation:pinEmergencyRing 1.1s ease-out infinite}

.smart-map-pin.is-selected[data-pin-animation="pulse"]{animation:pinSelectedPulse .82s cubic-bezier(.2,.8,.3,1.2)}
.smart-map-pin.is-selected[data-pin-animation="bounce"]{animation:pinSelectedBounce .72s cubic-bezier(.2,.8,.25,1.25)}
.smart-map-pin.is-selected[data-pin-animation="glow"]{animation:pinSelectedGlow 1.05s ease-in-out 2}
.smart-map-pin.is-selected[data-pin-animation="wiggle"]{animation:pinSelectedWiggle .62s ease-in-out}
.smart-map-pin.is-selected[data-pin-animation="none"]{animation:none}

.pin-preview-stage{min-height:230px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--primary) 11%,#fff),#f7fbf9 58%);display:grid;place-items:center;align-content:center;gap:18px;overflow:hidden}
.pin-preview-stage>small{max-width:210px;text-align:center;color:var(--muted);font-size:11px}
.pin-editor-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:16px}
.pin-editor-heading h2{margin-bottom:3px}.pin-editor-heading p{margin:0!important}
.pin-editor-grid{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:20px;align-items:stretch}
.pin-options-grid input[type="range"]{padding:8px 0;accent-color:var(--primary)}
.pin-options-grid output{color:var(--primary);font-weight:900;margin-inline-start:5px}
.category-pin-cell{display:flex;align-items:center;gap:10px;min-width:145px}
.category-pin-cell .smart-map-pin{--pin-size:36px!important;flex:0 0 auto;transform:scale(.82);transform-origin:center}
.category-pin-cell small{display:block;color:var(--muted)}

@keyframes pinAppear{from{opacity:0;transform:translateY(-14px) scale(.72)}to{opacity:1;transform:none}}
@keyframes pinSelectedPulse{0%,100%{transform:scale(1)}45%{transform:scale(1.18)}70%{transform:scale(.97)}}
@keyframes pinSelectedBounce{0%,100%{transform:translateY(0)}35%{transform:translateY(-16px)}58%{transform:translateY(2px)}76%{transform:translateY(-5px)}}
@keyframes pinSelectedGlow{0%,100%{filter:drop-shadow(0 8px 9px rgba(7,47,50,.25))}50%{filter:drop-shadow(0 0 18px var(--pin-color)) brightness(1.12)}}
@keyframes pinSelectedWiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-9deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}
@keyframes pinEmergencyRing{0%{opacity:.9;transform:scale(.66)}100%{opacity:0;transform:scale(1.35)}}

@media(max-width:760px){.pin-editor-grid{grid-template-columns:1fr}.pin-preview-stage{min-height:190px}.pin-editor-heading{display:grid}.smart-map-pin{filter:drop-shadow(0 6px 7px rgba(7,47,50,.22))}}
@media(prefers-reduced-motion:reduce){.smart-map-pin,.smart-map-pin.is-selected,.pin-shape-emergency.is-selected::before{animation:none!important;transition:none!important}}


/* ===== assets/css/map-v5.css ===== */
/* Nabkna 5 map: the map stays visible; controls unfold only when requested. */
.v5-ui .map-filter-button{display:none;width:auto;min-width:68px;padding:0 9px;gap:4px;color:var(--primary);font-weight:850}
.v5-ui .map-filter-button .ui-icon{width:17px;height:17px}
.v5-ui .map-filter-drawer{display:block}
.v5-ui .map-search-clear{flex:0 0 auto}

@media(max-width:760px){
  .v5-ui.map-page{padding-bottom:0;overflow:hidden}
  .v5-ui.map-page .site-footer,.v5-ui.map-page .app-dock,.v5-ui.map-page .fab-backdrop{display:none!important}
  .v5-ui .immersive-map{height:calc(var(--app-height,100dvh) - var(--header-height));min-height:420px}
  .v5-ui .immersive-map .leaflet-control-attribution{bottom:96px;background:rgba(255,255,255,.9);backdrop-filter:none}
  .v5-ui .map-metrics{display:none}
  .v5-ui .map-search-panel{z-index:540;top:8px;right:8px;width:calc(100% - 16px);padding:6px;border:1px solid #e6e9f1;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 7px 24px rgba(26,31,68,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
  .v5-ui .map-search-form{height:47px;padding-inline:10px 6px;border:0;background:#f5f6fa}
  .v5-ui .map-search-form input{font-size:16px}
  .v5-ui .map-filter-button{display:flex;align-items:center;justify-content:center;border-inline-start:1px solid #dde1eb;border-radius:10px;background:#fff}
  .v5-ui .map-filter-button[aria-expanded="true"]{color:#fff;background:var(--primary)}
  .v5-ui .map-filter-drawer{display:block;max-height:0;overflow:hidden;opacity:0;transition:max-height .18s ease,opacity .15s ease}
  .v5-ui .map-filter-drawer.is-open{max-height:170px;opacity:1;padding:2px 3px 4px}
  .v5-ui .map-chips{padding-top:8px}
  .v5-ui .map-chip{min-height:38px;padding:7px 11px;border-color:#e1e4ed;background:#fff;font-size:11px}
  .v5-ui .map-filter-toggles{padding:7px 0 0}
  .v5-ui .map-filter-toggle{min-height:38px;padding:7px 11px}
  .v5-ui .map-floating-controls{top:68px;left:8px;padding:3px;border:1px solid #e1e4ec;background:#fff;box-shadow:0 7px 20px rgba(26,31,68,.12);backdrop-filter:none}
  .v5-ui .map-floating-controls button{width:35px;height:35px}
  .v5-ui .map-locate-button{left:10px;bottom:112px;width:52px;height:52px;border-width:3px;box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 28%,transparent)}
  .v5-ui .map-bottom-sheet{right:7px;left:7px;bottom:7px;height:min(50vh,430px);max-height:none;padding:6px 10px 10px;border:1px solid #e3e6ee;border-radius:21px;background:rgba(255,255,255,.98);box-shadow:0 10px 32px rgba(25,29,67,.16);backdrop-filter:none;-webkit-backdrop-filter:none;will-change:auto;transition:transform .2s cubic-bezier(.2,.75,.25,1)}
  .v5-ui .map-bottom-sheet.sheet-compact{--sheet-offset:calc(100% - 92px)}
  .v5-ui .map-bottom-sheet.sheet-middle{--sheet-offset:calc(100% - 218px)}
  .v5-ui .map-bottom-sheet.sheet-expanded{--sheet-offset:0px}
  .v5-ui .map-selected-empty{padding:2px 0 10px}
  .v5-ui .map-results-strip{content-visibility:auto}
  .v5-ui .map-result-pill{min-height:48px;background:#fff;border-color:#e4e7ef}
  .v5-ui .smart-map-pin{animation:none;will-change:auto;filter:drop-shadow(0 5px 6px rgba(7,47,50,.19))}
  .v5-ui .smart-map-pin>.pin-core{transition:transform .15s ease}
  .v5-ui .smart-map-pin.is-selected[data-pin-animation]{animation-duration:.55s}
}

@media(max-width:390px){
  .v5-ui .map-search-panel{top:6px}
  .v5-ui .map-filter-button b{display:none}
  .v5-ui .map-filter-button{min-width:42px;padding:0 8px}
  .v5-ui .map-bottom-sheet{right:5px;left:5px;bottom:5px}
  .v5-ui .selected-actions>*{padding-inline:6px}
}

@media(prefers-reduced-motion:reduce){.v5-ui .map-filter-drawer,.v5-ui .map-bottom-sheet,.v5-ui .smart-map-pin{transition:none!important;animation:none!important}}


/* ===== assets/css/map-v7.css ===== */
/* Nabkna 7 map — clear hierarchy, live person marker, phone-safe controls */
.v7-ui .immersive-map{background:#dce8f1}
.v7-ui .map-search-panel{border:1px solid rgba(255,255,255,.88);border-radius:22px;background:rgba(255,255,255,.91);box-shadow:0 16px 44px rgba(31,42,76,.15);backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%)}
.v7-ui .map-search-form{border-radius:16px;background:#f5f7fb}
.v7-ui .map-tool-stack{position:absolute;z-index:530;top:50%;left:18px;display:flex;align-items:center;flex-direction:column;gap:9px;transform:translateY(-50%)}
.v7-ui .map-tool-stack .map-floating-controls{position:static;display:grid;padding:5px;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(31,42,76,.16);backdrop-filter:none}
.v7-ui .map-tool-stack .map-floating-controls button{display:grid;width:42px;height:42px;place-items:center;border:0;border-bottom:1px solid #eaecf2;background:transparent;color:#25284b;font-size:21px}
.v7-ui .map-tool-stack .map-floating-controls button:last-child{border-bottom:0}
.v7-ui .map-tool-stack .map-floating-controls .ui-icon{width:19px;height:19px}
.v7-ui .map-locate-button{position:static;display:flex;width:auto;min-width:72px;height:auto;min-height:58px;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:7px 9px;border:2px solid #fff;border-radius:20px;background:linear-gradient(145deg,var(--primary-2),var(--primary));color:#fff;box-shadow:0 13px 34px color-mix(in srgb,var(--primary) 25%,transparent);transition:transform .16s ease,box-shadow .16s ease}
.v7-ui .map-locate-button b{font-size:11px}.v7-ui .map-locate-button.has-location{background:linear-gradient(145deg,#06b6d4,#2563eb)}
.v7-ui .map-locate-button.is-locating .locate-person-mini{animation:v7-locate-pulse .8s ease infinite alternate}
.locate-person-mini{position:relative;display:block;width:23px;height:25px}.locate-person-mini:before{content:"";position:absolute;top:1px;left:8px;width:8px;height:8px;border-radius:50%;background:#fff}.locate-person-mini i{position:absolute;top:10px;left:4px;width:16px;height:13px;border-radius:9px 9px 5px 5px;background:#fff}.locate-person-mini i:after{content:"";position:absolute;left:6px;bottom:-5px;width:4px;height:7px;border-radius:3px;background:#fff;box-shadow:-6px 0 0 #fff,6px 0 0 #fff}
@keyframes v7-locate-pulse{to{transform:scale(1.14)}}
.v7-ui .map-bottom-sheet{border:1px solid rgba(255,255,255,.92);background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(25,35,66,.18);backdrop-filter:blur(15px) saturate(140%);-webkit-backdrop-filter:blur(15px) saturate(140%)}
.v7-ui .map-result-pill{border-color:#e4e7ef;background:#fff;box-shadow:0 5px 14px rgba(31,42,76,.06)}
.v7-ui .map-result-pill.active{border-color:color-mix(in srgb,var(--primary-2) 45%,white);background:color-mix(in srgb,var(--primary-2) 7%,white);box-shadow:0 8px 22px color-mix(in srgb,var(--primary-2) 16%,transparent)}

/* User location must stay above clusters and every place marker. */
.user-location-marker{border:0!important;background:transparent!important;overflow:visible!important}
.user-location-person{position:relative;width:62px;height:70px;filter:drop-shadow(0 9px 12px rgba(19,51,103,.28))}
.user-location-person>b{position:absolute;top:-6px;left:50%;z-index:3;width:max-content;padding:4px 7px;border:2px solid #fff;border-radius:999px;background:#111b44;color:#fff;font:800 10px/1.1 system-ui;transform:translateX(-50%);box-shadow:0 5px 12px rgba(17,27,68,.22)}
.user-person-badge{position:absolute;top:15px;left:50%;z-index:2;width:42px;height:42px;border:4px solid #fff;border-radius:50% 50% 50% 12px;background:linear-gradient(145deg,#06b6d4,#2563eb);transform:translateX(-50%) rotate(-45deg);box-shadow:0 7px 19px rgba(37,99,235,.34)}
.user-person-head{position:absolute;top:7px;left:13px;width:9px;height:9px;border-radius:50%;background:#fff;transform:rotate(45deg)}
.user-person-body{position:absolute;top:18px;left:10px;width:15px;height:12px;border-radius:9px 9px 5px 5px;background:#fff;transform:rotate(45deg)}
.user-person-body:before,.user-person-body:after{content:"";position:absolute;bottom:-6px;width:4px;height:8px;border-radius:3px;background:#fff}.user-person-body:before{left:2px}.user-person-body:after{right:2px}
.user-location-pulse{position:absolute;top:25px;left:50%;width:44px;height:44px;border:2px solid rgba(6,182,212,.7);border-radius:50%;transform:translate(-50%,-50%);animation:v7-user-pulse 1.65s ease-out infinite}
@keyframes v7-user-pulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(.6)}90%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}
.user-location-tooltip{border:0!important;border-radius:10px!important;background:#111b44!important;color:#fff!important;box-shadow:0 6px 16px rgba(17,27,68,.2)!important;font-weight:800}.user-location-tooltip:before{border-top-color:#111b44!important}
.leaflet-userLocationPane-pane{pointer-events:auto!important}
.v7-ui .picker-wrap .user-location-person>b{display:none}

@media(max-width:760px){
  .v7-ui.map-page .immersive-map{height:calc(var(--app-height,100dvh) - var(--header-height));min-height:440px}
  .v7-ui .map-search-panel{top:8px;right:8px;width:calc(100% - 16px);border-radius:19px;background:#fff;box-shadow:0 9px 27px rgba(31,42,76,.14);backdrop-filter:none;-webkit-backdrop-filter:none}
  .v7-ui .map-search-form{height:48px}
  .v7-ui .map-tool-stack{top:auto;left:9px;bottom:105px;gap:6px;transform:none}
  .v7-ui .immersive-map[data-sheet-state="middle"] .map-tool-stack{bottom:232px}
  .v7-ui .immersive-map[data-sheet-state="expanded"] .map-tool-stack{opacity:0;pointer-events:none}
  .v7-ui .map-locate-button{min-width:57px;min-height:56px;border-radius:18px;padding:6px}
  .v7-ui .map-tool-stack .map-floating-controls{display:flex;padding:3px;border-radius:15px}
  .v7-ui .map-tool-stack .map-floating-controls button{width:37px;height:37px;border-bottom:0;border-inline-end:1px solid #eaecf2}.v7-ui .map-tool-stack .map-floating-controls button:last-child{border-inline-end:0}
  .v7-ui .map-bottom-sheet{right:7px;left:7px;bottom:7px;border-radius:22px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
  .v7-ui .map-bottom-sheet.sheet-compact{--sheet-offset:calc(100% - 89px)}
  .v7-ui .map-bottom-sheet.sheet-middle{--sheet-offset:calc(100% - 222px)}
  .v7-ui .map-filter-drawer.is-open{max-height:min(31vh,220px);overflow-y:auto;overscroll-behavior:contain}
  .v7-ui .map-chips{scrollbar-width:none}.v7-ui .map-chips::-webkit-scrollbar{display:none}
  .v7-ui .smart-map-pin{filter:drop-shadow(0 4px 5px rgba(7,47,50,.18))}
  .v7-ui .immersive-map .leaflet-control-attribution{bottom:94px;max-width:68%;font-size:8px}
}
@media(max-width:390px){.v7-ui .map-tool-stack{bottom:101px}.v7-ui .map-tool-stack .map-floating-controls button{width:34px;height:35px}.v7-ui .map-locate-button{min-width:53px}.v7-ui .map-locate-button b{font-size:10px}}
@media(prefers-reduced-motion:reduce){.user-location-pulse,.v7-ui .map-locate-button.is-locating .locate-person-mini{animation:none!important}}
.selected-actions .map-action-ar{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;overflow:hidden;background:linear-gradient(135deg,#312e81,#06b6d4);color:#fff;box-shadow:0 10px 26px rgba(6,182,212,.28)}
.selected-actions .map-action-ar b{font-size:12px}.selected-actions .map-action-ar small{font-size:8px;padding:2px 5px;border-radius:6px;background:rgba(255,255,255,.17)}
.ar-button-cube{width:15px;height:15px;border:2px solid currentColor;border-radius:3px;transform:rotate(30deg) skew(-7deg);box-shadow:4px -3px 0 -1px rgba(255,255,255,.5)}
.selected-actions:has(.map-action-ar){grid-template-columns:auto minmax(118px,1fr) 42px 42px}
@media(max-width:430px){.selected-actions:has(.map-action-ar){grid-template-columns:1fr 1.2fr 40px}.selected-actions:has(.map-action-ar) .map-action-icon:last-child{display:none}}


/* ===== assets/css/map-v72-overrides.css ===== */
/* v7.2 map refinements */
.v7-ui .immersive-map{height:calc(100dvh - var(--header-real-height,var(--header-height)) - var(--top-stack,0px));min-height:420px}
.v7-ui .map-search-panel,.v7-ui .map-bottom-sheet,.v7-ui .map-metrics,.v7-ui .map-floating-controls{background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.96)}
.v7-ui .map-selected-card{min-width:0}.v7-ui .selected-copy{min-width:0}.v7-ui .selected-copy h2,.v7-ui .selected-copy p{overflow:hidden;text-overflow:ellipsis}
.v7-ui .nabkna-map-marker{filter:drop-shadow(0 8px 12px rgba(15,23,42,.18))}
@media(max-width:820px){
 .v7-ui.map-page{height:100dvh;min-height:100dvh;overflow:hidden;padding-top:calc(var(--header-height) + var(--top-stack,0px) + env(safe-area-inset-top));padding-bottom:0}
 .v7-ui .immersive-map{height:calc(100dvh - var(--header-height) - var(--top-stack,0px) - env(safe-area-inset-top));min-height:0}
 .v7-ui .map-search-panel{right:8px;left:8px;width:auto}
 .v7-ui .map-bottom-sheet{right:7px;left:7px;max-height:calc(100dvh - var(--header-height) - var(--dock-height) - 105px)}
}
.v7-ui .map-radius-filter{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid rgba(67,56,202,.12);border-radius:13px;background:#fff;color:var(--muted);font-size:10px;font-weight:800}.v7-ui .map-radius-filter select{min-height:34px;border:0;background:#f7f8fc;border-radius:9px;padding:4px 8px;color:var(--ink);font-size:11px}
@media(max-width:820px){.v7-ui .map-radius-filter{grid-column:1/-1;justify-content:space-between}.v7-ui .map-radius-filter select{flex:1;max-width:180px}}

/* ===== Nabkna v7.3 — Compact modern map system ===== */
.nabkna-map-marker{background:transparent!important;border:0!important;filter:none!important;overflow:visible!important}
.smart-map-pin{--pin-size:32px;--pin-color:#4338ca;position:relative;width:calc(var(--pin-size) + 8px);height:calc(var(--pin-size) + 12px);filter:drop-shadow(0 5px 8px rgba(15,23,42,.16))!important;transform-origin:50% calc(100% - 3px);animation:none!important;transition:transform .16s ease,filter .16s ease;will-change:auto}
.smart-map-pin>.pin-core{position:absolute!important;top:0;left:50%;width:var(--pin-size)!important;height:var(--pin-size)!important;transform:translateX(-50%);display:grid;place-items:center;overflow:hidden!important;border:2px solid rgba(255,255,255,.98)!important;border-radius:11px!important;background:var(--pin-color)!important;box-shadow:0 0 0 1px rgba(15,23,42,.07),0 5px 12px rgba(15,23,42,.12)!important;transition:transform .16s ease,box-shadow .16s ease!important}
.smart-map-pin .pin-media{width:100%!important;height:100%!important;display:grid!important;place-items:center!important;border-radius:inherit!important;overflow:hidden!important;color:#fff;text-shadow:none!important;font-size:0!important}
.smart-map-pin .pin-media>img,.smart-map-pin .pin-media img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit!important}
.map-pin-svg{width:54%;height:54%;display:block;overflow:visible;color:currentColor;vector-effect:non-scaling-stroke}
.smart-map-pin>.pin-tail{position:absolute!important;z-index:-1!important;left:50%!important;bottom:3px!important;width:9px!important;height:9px!important;transform:translateX(-50%) rotate(45deg)!important;border-radius:1px 2px 2px 2px!important;background:var(--pin-color)!important;box-shadow:none!important}
.smart-map-pin.is-selected{transform:translateY(-2px) scale(1.16)!important;filter:drop-shadow(0 9px 12px rgba(15,23,42,.22))!important;z-index:5}.smart-map-pin.is-selected>.pin-core{box-shadow:0 0 0 3px rgba(255,255,255,.96),0 0 0 6px color-mix(in srgb,var(--pin-color) 22%,transparent),0 8px 18px rgba(15,23,42,.18)!important}
.smart-map-pin[data-pin-animation="pulse"].is-selected>.pin-core{animation:v73PinPulse .9s ease 1}.smart-map-pin[data-pin-animation="bounce"].is-selected{animation:v73PinBounce .48s ease 1!important}.smart-map-pin[data-pin-animation="glow"].is-selected>.pin-core{animation:v73PinGlow .9s ease 1}.smart-map-pin[data-pin-animation="wiggle"].is-selected{animation:v73PinWiggle .42s ease 1!important}
@keyframes v73PinPulse{50%{transform:translateX(-50%) scale(1.12)}}@keyframes v73PinBounce{40%{transform:translateY(-7px) scale(1.16)}100%{transform:translateY(-2px) scale(1.16)}}@keyframes v73PinGlow{50%{box-shadow:0 0 0 3px #fff,0 0 0 10px color-mix(in srgb,var(--pin-color) 20%,transparent),0 9px 20px rgba(15,23,42,.2)}}@keyframes v73PinWiggle{25%{transform:translateY(-2px) rotate(-5deg) scale(1.16)}75%{transform:translateY(-2px) rotate(5deg) scale(1.16)}}
.pin-shape-circle>.pin-core{border-radius:50%!important}.pin-shape-circle>.pin-tail{display:none!important}.pin-shape-square>.pin-core{border-radius:8px!important}.pin-shape-diamond>.pin-core{border-radius:9px!important;transform:translateX(-50%) rotate(45deg)}.pin-shape-diamond .pin-media{transform:rotate(-45deg)}.pin-shape-diamond>.pin-tail{display:none!important}.pin-shape-star>.pin-core,.pin-shape-shield>.pin-core,.pin-shape-medical>.pin-core,.pin-shape-transport>.pin-core,.pin-shape-emergency>.pin-core{border-radius:11px!important;height:var(--pin-size)!important;margin:0!important;transform:translateX(-50%)!important}.pin-shape-emergency>.pin-core{background:#dc2626!important}.pin-shape-emergency>.pin-tail{background:#dc2626!important}
.map-smart-tooltip{padding:5px 8px!important;border:1px solid rgba(17,24,39,.06)!important;border-radius:10px!important;background:#fff!important;box-shadow:0 8px 22px rgba(16,24,40,.12)!important;color:#1d2939!important;font-size:11px!important}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:color-mix(in srgb,var(--primary) 12%,transparent)!important}.marker-cluster div{width:34px!important;height:34px!important;margin:5px!important;line-height:34px!important;background:var(--primary)!important;color:#fff!important;font-size:11px!important;font-weight:800!important;box-shadow:0 5px 14px rgba(15,23,42,.16)}
.v7-ui .map-search-panel{border-radius:19px!important;border:1px solid rgba(17,24,39,.07)!important;background:#fff!important;box-shadow:0 12px 34px rgba(16,24,40,.11)!important;backdrop-filter:none!important}.v7-ui .map-search-form{background:#f6f7fa!important;border:1px solid rgba(17,24,39,.055)!important}.v7-ui .map-chip{border-color:rgba(17,24,39,.07)!important;background:#fff!important;color:#667085!important}.v7-ui .map-chip.active{color:#fff!important;background:var(--primary)!important}
.v7-ui .map-tool-stack .map-floating-controls,.v7-ui .map-bottom-sheet{border-color:rgba(17,24,39,.07)!important;background:#fff!important;box-shadow:0 12px 34px rgba(16,24,40,.12)!important;backdrop-filter:none!important}.v7-ui .map-locate-button{background:var(--primary)!important;box-shadow:0 9px 22px color-mix(in srgb,var(--primary) 22%,transparent)!important;border:2px solid #fff!important}
.v7-ui .map-result-pill{border-color:rgba(17,24,39,.07)!important;border-radius:13px!important;box-shadow:none!important}.v7-ui .map-result-pill.active{border-color:color-mix(in srgb,var(--primary) 35%,white)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)!important}
.picker-map-marker .smart-map-pin{pointer-events:none}.map-frame[data-picker="1"]{cursor:crosshair}.map-frame[data-picker="1"]:not(.picker-interaction-active)::after{content:"مرّر الصفحة بشكل طبيعي · اضغط لتحديد النقطة";position:absolute;z-index:700;right:50%;bottom:13px;transform:translateX(50%);padding:6px 10px;border:1px solid rgba(17,24,39,.07);border-radius:999px;background:rgba(17,24,39,.78);color:#fff;font:700 10px/1.2 system-ui;pointer-events:none;box-shadow:0 5px 16px rgba(16,24,40,.16)}.map-frame[data-picker="1"].picker-interaction-active::after{content:"وضع تحريك الخريطة مفعّل";background:color-mix(in srgb,var(--primary) 88%,#111827)}
@media(max-width:760px){
 .v7-ui .map-search-panel{top:7px!important;right:7px!important;left:7px!important;width:auto!important;padding:7px!important}.v7-ui .map-search-form{height:45px!important}.v7-ui .map-bottom-sheet{right:6px!important;left:6px!important;bottom:6px!important;border-radius:20px!important}.v7-ui .map-tool-stack{left:8px!important;bottom:96px!important}.v7-ui .map-tool-stack .map-floating-controls{border-radius:14px!important}.v7-ui .map-locate-button{min-width:53px!important;min-height:52px!important;border-radius:16px!important}.v7-ui .selected-copy h2{font-size:15px!important}.v7-ui .map-selected-card>img{border-radius:13px!important}
 .smart-map-pin{filter:drop-shadow(0 3px 5px rgba(15,23,42,.14))!important}.map-frame[data-picker="1"]:not(.picker-interaction-active)::after{bottom:9px;font-size:9px;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(prefers-reduced-motion:reduce){.smart-map-pin,.smart-map-pin.is-selected,.smart-map-pin>.pin-core{animation:none!important;transition:none!important}}
