/* The approved map appearance, applied to sourced floor geometry. */
body.map-view{;;;;;background:var(--map-ground)}
body.map-view .map-panel,body.map-view .map-container,body.map-view .map-container>svg{background:var(--map-ground)}
body.map-view #map-svg>rect:first-child{fill:var(--map-ground)}
body.map-view .map-building-outline{fill:var(--surface);stroke:var(--map-wall);stroke-width:1.2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 2px var(--brand-alpha-043))}
body.map-view .map-zone{fill:var(--map-unit);stroke:var(--surface);stroke-width:1.3;vector-effect:non-scaling-stroke}
body.map-view .zone-atrium,body.map-view .zone-open-space{fill:var(--brand-soft);stroke:var(--line)}
body.map-view .zone-terrace{fill:var(--brand-soft);stroke:var(--line)}
body.map-view .zone-cinema{fill:var(--brand-soft)}
body.map-view .zone-foodcourt{fill:var(--brand-soft)}
body.map-view .zone-service,body.map-view .zone-amenity{fill:var(--brand-soft)}
body.map-view .zone-lobby{fill:var(--surface);stroke:var(--map-wall)}
body.map-view .map-source-corridor{stroke:var(--line)}
body.map-view .map-source-corridor-inner{stroke:var(--surface);stroke-linejoin:round}
body.map-view .map-shop-area{fill:var(--brand-soft);stroke:var(--surface);stroke-width:1.4;vector-effect:non-scaling-stroke}
body.map-view .map-shop-area.target-area{fill:var(--brand-soft);stroke:var(--surface);stroke-width:1.4}
body.map-view .map-shop-area.unconfirmed{fill:var(--brand-soft);stroke:var(--line);stroke-dasharray:4 3;stroke-width:1}
body.map-view:not(.map-editing) .source-pin>image,body.map-view:not(.map-editing) .source-pin>text,body.map-view:not(.map-editing) .source-pin>circle,
body.map-view:not(.map-editing) .map-connector,body.map-view:not(.map-editing) .map-connector-symbol,body.map-view:not(.map-editing) .map-connector-text,
body.map-view:not(.map-editing) .map-entry-label,body.map-view:not(.map-editing) #map-svg>circle,body.map-view:not(.map-editing) .map-manual-origin-group{display:none}
body.map-view .map-zone-label{fill:var(--text-secondary);letter-spacing:.2px}
body.map-view .map-parking-title{fill:var(--text-secondary)}
body.map-view .map-parking-note{fill:var(--text-secondary)}
body.map-view .map-preview-halo{stroke:var(--line);stroke-width:2;vector-effect:non-scaling-stroke}
.map-refined-route-back{fill:none;stroke:var(--surface);stroke-width:10;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map-refined-route-line{fill:none;stroke:var(--line);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map-refined-route-active{fill:none;stroke:var(--line);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map-refined-route-arrow{fill:none;stroke:var(--surface);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map-refined-origin-halo{fill:var(--brand-soft);opacity:.15}
.map-refined-origin{fill:var(--brand-soft);stroke:var(--surface);stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px var(--brand-alpha-188))}
.map-refined-target{fill:var(--brand-soft);stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke}
.map-refined-step{fill:var(--brand);stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke}
.map-poi-layer{position:absolute;inset:0;overflow:hidden;z-index:3;pointer-events:none}
.map-poi-label{position:absolute;display:inline-flex;align-items:center;gap:5px;min-height:36px;max-width:190px;padding:4px 2px;border:0;background:transparent;color:var(--brand);transform:translate(-50%,-50%);font-size:13px;font-weight:500;line-height:1.35;white-space:nowrap;pointer-events:auto;text-shadow:0 1px 2px var(--shadow-color),1px 0 2px var(--shadow-color),-1px 0 2px var(--shadow-color)}
div.map-poi-label{pointer-events:none}
.map-poi-label.align-right{transform:translate(-100%,-50%);flex-direction:row-reverse}
.map-poi-label.align-left{transform:translate(0,-50%)}
.map-poi-label .map-poi-name{overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:150px;display:block}
.map-poi-symbol{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;border:1px solid var(--surface-alpha-800);background:var(--surface);color:var(--text-secondary);box-shadow:0 1px 3px var(--brand-alpha-110);text-shadow:none;overflow:hidden}
.map-poi-symbol svg{width:16px;height:16px}
.map-poi-symbol img{max-width:22px;max-height:20px;width:auto;height:auto;object-fit:contain;pointer-events:none}
.map-poi-label.service{font-size:12px;color:var(--text-secondary)}
.map-poi-label.service .map-poi-symbol{color:var(--text-secondary);box-shadow:0 1px 3px var(--brand-alpha-110);font-size:10px;font-weight:650}
.map-poi-label.target{color:var(--text-secondary);transform:translate(-50%,-100%);padding-bottom:12px;font-size:14px;z-index:2}
.map-poi-label.target.align-right{transform:translate(-100%,-100%)}
.map-poi-label.target.align-left{transform:translate(0,-100%)}
.map-poi-label.target .map-poi-symbol{background:var(--brand-soft);color:var(--surface);flex-basis:30px;width:30px;height:30px;border:2px solid var(--surface);box-shadow:0 2px 5px var(--brand-alpha-145)}
.map-poi-label.target .map-poi-symbol img{background:var(--surface);border-radius:50%;padding:2px;max-width:23px;max-height:23px}
.map-poi-label.pending{color:var(--text-secondary)}
.map-poi-label.pending .map-poi-symbol{border:1px dashed var(--line);opacity:.8}
.map-poi-pending{font-size:11px;color:var(--text-secondary);border:1px solid var(--line);border-radius:50%;width:15px;height:15px;text-shadow:none;display:grid;place-items:center;background:var(--surface);flex-shrink:0}
.map-poi-label.origin-caption{background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--text-secondary);min-height:0;padding:6px 9px;transform:translate(-50%,calc(-100% - 19px));font-size:11px;box-shadow:0 2px 5px var(--brand-alpha-071);pointer-events:none;z-index:3;text-shadow:none}
.map-poi-label.origin-caption.align-right{transform:translate(-100%,calc(-100% - 19px))}
.map-poi-label.origin-caption.align-left{transform:translate(0,calc(-100% - 19px))}
.map-poi-label:hover .map-poi-symbol{box-shadow:0 2px 6px var(--brand-alpha-220)}
.map-poi-label:focus-visible{outline:3px solid var(--line);outline-offset:2px;border-radius:8px;background:var(--surface-alpha-949)}
body.map-view .map-toolbar{position:absolute;z-index:13;right:20px;top:var(--map-tools-top,88px);display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 11px var(--brand-alpha-086);overflow:hidden}
body.map-view .map-toolbar #zoom-in,body.map-view .map-toolbar #zoom-out,body.map-view .map-toolbar #zoom-reset{display:flex;align-items:center;justify-content:center;position:static;flex:none;width:50px;height:46px;border:0;border-radius:0;background:var(--surface);color:var(--text-secondary);font-size:24px;line-height:1;box-shadow:none}
body.map-view .map-toolbar #zoom-out{border-bottom:1px solid var(--line)}
body.map-view .map-toolbar #zoom-reset{height:61px;flex-direction:column;gap:5px;font-size:11px}
body.map-view #zoom-reset svg{width:19px;height:19px}
body.map-view .map-toolbar #show-origin{display:none}
body.map-view #show-origin,body.map-view.place-selected #show-origin{position:absolute;right:20px;bottom:var(--map-card-offset,38px);z-index:13;background:var(--surface);border-radius:12px;color:var(--text-secondary);min-height:46px;padding:10px 13px;box-shadow:0 3px 11px var(--brand-alpha-086);font-size:12px;display:flex}
body.map-view #map-fit-route{position:absolute;left:20px;bottom:var(--map-card-offset,38px);z-index:13;display:flex;gap:7px;align-items:center;justify-content:center;min-height:46px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;color:var(--text-secondary);background:var(--surface);box-shadow:0 3px 11px var(--brand-alpha-086);font-size:12px}
body.map-view #map-fit-route svg{width:18px;height:18px}
body.map-view.planner-open #map-fit-route,body.map-view.planner-open #show-origin,body.map-view.map-editing #map-fit-route{display:none}
.map-evidence-note{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);z-index:5;background:var(--surface-alpha-867);padding:3px 8px;border-radius:6px;font-size:11px;color:var(--text-secondary);line-height:1.3;white-space:nowrap;pointer-events:none}
body.map-view .map-search-dock{background:var(--surface);backdrop-filter:none;border-color:var(--line);box-shadow:0 3px 12px var(--brand-alpha-071)}
body.map-view .map-origin-strip{background:var(--surface)}
body.map-view .map-search-dock .intent-submit{background:var(--brand-soft)}
body.map-view #floor-switcher{background:var(--surface);border-color:var(--line);font-weight:600}
body.map-view #place-sheet{background:var(--surface);backdrop-filter:none;max-height:40%;overflow:auto;padding-top:12px}
body.map-view .place-sheet-handle{height:15px;position:relative;display:flex;align-items:center;justify-content:center}
body.map-view #place-sheet-toggle{display:flex;align-items:center;justify-content:center;position:absolute;right:37px;top:-10px;width:44px;height:38px;color:var(--text-secondary)}
body.map-view #place-sheet-toggle svg{width:18px;height:18px}
body.map-view #place-sheet.collapsed .sheet-place-actions,body.map-view #place-sheet.collapsed .sheet-placement-note{display:none}
body.map-view #place-sheet.collapsed #place-sheet-toggle svg{transform:rotate(180deg)}
body.map-view #place-sheet .primary-button{background:var(--brand-soft)}
body.map-view.map-navigating #place-sheet{display:none}
.map-navigation-dock{position:absolute;z-index:15;left:20px;bottom:30px;width:410px;max-width:calc(100% - 100px);border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 4px 20px var(--brand-alpha-090);padding:12px 17px 10px}
.map-nav-heading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;min-height:29px;padding-right:76px;position:relative}
.map-nav-heading>span:first-child{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.map-nav-count{font-variant-numeric:tabular-nums;white-space:nowrap}
.map-nav-current-floor{margin:0 0 4px;font-size:11px;line-height:1.4;color:var(--text-secondary)}
.route-assumption-warning{margin:6px 0 10px;padding:8px 10px;border-radius:var(--radius-button);background:var(--warning-soft);color:var(--warning-ink);font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.map-arrival-confirmation{margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--brand-soft)}
.map-arrival-confirmation p{margin:0 0 10px;color:var(--text-primary);font-size:14px;line-height:1.45}
.map-arrival-confirmation p span{display:block}
.map-arrival-actions{display:flex;gap:8px}
.map-arrival-actions button{flex:1;min-height:44px}
.map-navigation-dock.arrival-pending .map-nav-controls,
.map-navigation-dock.collapsed .map-arrival-confirmation{display:none}
#map-nav-collapse{position:absolute;right:-6px;top:-7px;width:38px;height:38px;color:var(--text-secondary);display:grid;place-items:center}
#map-nav-collapse svg{width:18px;height:18px}
#map-nav-options{position:absolute;right:33px;top:-7px;width:38px;height:38px;color:var(--text-secondary);display:grid;place-items:center}
#map-nav-options svg{width:18px;height:18px}
.map-nav-action{display:flex;align-items:flex-start;gap:12px;margin:8px 0 13px}
.map-nav-symbol{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;background:var(--page-bg);color:var(--text-secondary);border-radius:12px}
.map-nav-symbol svg{width:27px;height:27px}
.map-nav-action>div{flex:1;min-width:0}
.map-nav-action h3{font-size:21px;line-height:1.25;font-weight:600;color:var(--brand);margin:0 0 5px;letter-spacing:-.35px;overflow-wrap:anywhere}
.map-nav-action p{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.map-nav-controls{display:flex;gap:8px}
.map-nav-controls .primary-button{flex:1;background:var(--brand-soft);font-size:14px;min-height:46px;border-radius:11px;padding:10px 14px}
.map-nav-controls .secondary-button{font-size:12px;min-height:46px;border-radius:11px;padding:10px 12px}
.map-nav-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--text-secondary);line-height:1.4}
.map-nav-footer>span{flex:1}
.map-nav-footer button{background:none;color:var(--text-secondary);font-size:12px;min-height:38px;padding:7px 0;white-space:nowrap}
#map-nav-voice{width:38px;flex-shrink:0;display:grid;place-items:center;border-radius:9px}
#map-nav-voice svg{width:18px;height:18px}
#map-nav-voice[aria-pressed="true"]{background:var(--page-bg)}
.map-navigation-dock.collapsed .map-nav-action,.map-navigation-dock.collapsed .map-nav-controls,.map-navigation-dock.collapsed .map-nav-footer{display:none}
.map-navigation-dock.collapsed #map-nav-collapse svg{transform:rotate(180deg)}
body.map-view.planner-open .map-navigation-dock{display:none}
body.map-view.map-editing .map-poi-layer,body.map-view.map-editing .map-refined-route{display:none}
@media(max-width:680px){
  body.map-view .map-toolbar{right:12px}
  body.map-view #show-origin,body.map-view.place-selected #show-origin{right:12px;bottom:var(--map-card-offset,38px);font-size:12px;border-radius:12px;min-height:46px}
  body.map-view #map-fit-route{left:12px;bottom:var(--map-card-offset,38px);font-size:12px}
  body.map-view #place-sheet{left:0;right:0;bottom:26px;border-radius:20px 20px 0 0;max-height:38%;padding:12px 16px 15px;border-bottom:0}
  .map-navigation-dock{left:0;right:0;bottom:26px;width:100%;max-width:none;border-radius:20px 20px 0 0;border-left:0;border-right:0;border-bottom:0;padding:10px 16px 8px}
  .map-poi-label{min-height:40px;max-width:174px;font-size:12px}
  .map-poi-label .map-poi-name{max-width:135px}
  .map-poi-label.target{font-size:14px}
  .map-poi-label.service{font-size:11px}
  .map-nav-action h3{font-size:20px}
  .map-nav-action p{font-size:12px}
}
@media(max-width:359px){
  .map-nav-action h3{font-size:18px}
  .map-nav-symbol{width:39px;height:39px;flex-basis:39px}
  body.map-view #map-fit-route{padding:10px;font-size:11px}
  body.map-view #show-origin{padding:10px;font-size:11px}
  .map-nav-footer{gap:8px}
}
.sheet-access-description{font-size:13px;line-height:1.55;margin:12px 0 0;color:var(--text-secondary)}
.store-access-guide{margin:15px 0;padding:14px 15px;background:var(--page-bg);border:1px solid var(--line);border-radius:12px;text-align:left}
.store-access-guide>strong{font-size:14px;color:var(--brand)}
.store-access-guide ol{padding-left:20px;margin:9px 0;font-size:13px;line-height:1.65;color:var(--text-secondary)}
.store-access-guide li+li{margin-top:5px}
.store-access-guide>p{font-size:12px;line-height:1.55;margin:9px 0 0!important;color:var(--text-secondary)}
.store-access-guide .primary-button{margin-top:12px;min-height:46px;background:var(--brand-soft);font-size:14px}
.store-access-guide .access-scope-note{font-size:11px;color:var(--text-secondary)}
body.map-view #map-floor-empty.mezzanine-access{display:flex;align-items:flex-start;justify-content:center;padding:155px 18px 42px;background:var(--surface-alpha-961);overflow:auto;pointer-events:auto}
.mezzanine-access-card{width:100%;max-width:390px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;color:var(--brand);box-shadow:0 4px 18px var(--brand-alpha-063)}
.mezzanine-access-icon{display:grid;place-items:center;width:39px;height:39px;background:var(--brand-soft);border-radius:12px;color:var(--text-secondary);margin-bottom:12px}
.mezzanine-access-icon svg{width:23px;height:23px}
.mezzanine-access-card h3{font-size:21px;margin:0 0 9px;color:var(--brand)}
.mezzanine-access-card>p{font-size:13px;line-height:1.6;margin:0;color:var(--text-secondary);max-width:none}
.mezzanine-access-card .mezzanine-plan-note{font-size:11px;margin-top:12px}
body.place-selected .mezzanine-access-route{display:none}
body.place-selected #map-floor-empty.mezzanine-access{padding-bottom:255px}
body.map-view.mezzanine-guide-view .map-toolbar,body.map-view.mezzanine-guide-view #map-fit-route{display:none}

/* Aktif kat geçişi: simgenin altında kaybolmayan işaret ve sade adım etiketi. */
.map-poi-label.route-progress-caption{background:var(--surface)!important;color:var(--brand)!important;border:1px solid var(--brand)!important;border-radius:8px!important;padding:5px 8px!important;min-height:0;max-width:220px!important;box-shadow:0 2px 6px var(--brand-alpha-110)!important;text-shadow:none!important}
.map-poi-label.route-progress-caption .map-poi-name{max-width:none;white-space:nowrap;font-size:11px;font-weight:650}
body.map-view.map-navigating .map-poi-label.origin-caption.route-progress-caption{display:inline-flex!important}
.map-poi-label.current-route-connector .map-poi-symbol{outline:3px solid var(--brand);outline-offset:4px}
.map-route-position.at-connector .map-refined-origin-halo{stroke:var(--brand);stroke-width:2.5;opacity:1;fill:var(--brand-soft);fill-opacity:.7;vector-effect:non-scaling-stroke}
.map-landing-note{display:grid;gap:3px;padding:9px 12px;margin:0 0 8px;border-radius:10px;background:var(--brand-soft);color:var(--brand);font-size:12px;line-height:1.4}
.map-landing-note strong{font-size:12px}.map-landing-note span{color:var(--text-primary)}
