/* The mobile scene uses the same full-height image and SVG coordinate space. */
@media (max-width:760px) {
  body.explorer-in-view:not(.unit-explorer-active) .floating-whatsapp {
    bottom:calc(202px + env(safe-area-inset-bottom,0px));
    width:44px; height:44px; min-height:44px; padding:10px; justify-content:center;
  }
  body.explorer-in-view:not(.unit-explorer-active) .floating-whatsapp > span { display:none; }
  .floor-explorer .building-scene { inset:0; }
  .floor-explorer .building-scene > #buildingMap {
    width:100%; height:100%; inset:0; transform:none!important;
    background:#151b25; touch-action:pan-y pinch-zoom;
  }
  .floor-explorer .map-shade {
    background:linear-gradient(180deg,#111724a6,transparent 35%,transparent 59%,#111724e8);
  }
  .floor-explorer .building-intro {
    inset:calc(var(--mobile-header,88px) + 14px) 7% calc(185px + env(safe-area-inset-bottom,0px));
    width:auto; max-width:none; pointer-events:none;
  }
  .floor-explorer .building-intro h2 { font-size:clamp(25px,7.1vw,33px); line-height:1.14; margin:10px 0 8px; }
  .floor-explorer .building-intro p { font-size:12px; max-width:260px; }
  .floor-explorer .building-intro .building-list {
    position:absolute; top:auto; bottom:-53px;
    left:calc(12px - 7vw); right:calc(12px - 7vw); width:auto; height:44px; margin:0;
    grid-template-columns:repeat(7,minmax(36px,1fr)); gap:5px;
    overflow:visible; pointer-events:auto;
  }
  .floor-explorer .building-list button { min-width:0; min-height:44px; font-size:12px; border-color:#ffffff85; background:#111b29bc; }
  .floor-explorer .building-list button.highlighted { background:#68418ee8; }
  .floor-explorer .building-intro > .text-link { display:none; }
  .building-pan-hint { position:absolute; z-index:3; bottom:calc(184px + env(safe-area-inset-bottom,0px)); left:7%; right:7%; color:#ffffffc9; text-align:center; font-size:10px; pointer-events:none; text-shadow:0 1px 8px #000; }
  .floor-explorer .quick-inquiry-mobile { top:auto; bottom:calc(82px + env(safe-area-inset-bottom,0px)); left:7%; right:7%; min-height:44px; width:auto; padding:11px 16px; background:#49276de8; }
  .floor-explorer .explorer-partners { bottom:calc(24px + env(safe-area-inset-bottom,0px)); padding:8px 5px 4px; width:100%; }
  .floor-explorer .explorer-partners > span { margin-bottom:5px; font-size:9px; }
  .floor-explorer .explorer-bottom { display:none; }
  .floor-explorer .floor-selector {
    inset:calc(var(--mobile-header,88px) + 18px) 5% auto auto;
    width:46%; max-width:260px; padding:14px; background:#142039ed;
    max-height:calc(100svh - var(--mobile-header,88px) - 205px); overflow-y:auto;
  }
  .floor-explorer .floor-selector > .explorer-eyebrow { font-size:8px; }
  .floor-explorer .floor-selector h2 { font-size:24px; margin:10px 0; }
  .floor-explorer .floor-selector > p { font-size:11px; line-height:1.45; margin-bottom:12px; }
  .floor-explorer .floor-selector > .explorer-back { font-size:10px; line-height:1.5; margin-bottom:7px; min-height:44px; padding:4px 0; }
  .floor-explorer .floor-selector .floor-choice { font-size:12px; min-height:44px; gap:5px; padding:10px 7px; }
  .floor-explorer .floor-selector .floor-code { font-size:13px; }
  .plan-open .building-pan-hint { visibility:hidden; }

  #locationCaptions { inset:0; display:block; direction:ltr; pointer-events:none; }
  #locationCaptions .location-caption {
    position:absolute!important; left:var(--landmark-x)!important; top:var(--landmark-y)!important;
    width:var(--landmark-width)!important; min-height:36px; box-sizing:border-box;
    padding:8px 11px; border-radius:4px; background:#111b2ade;
    border:1px solid #ffffff85; box-shadow:0 3px 14px #0004; text-align:start;
  }
  #locationCaptions .location-caption strong { font-size:clamp(10px,3vw,12px); line-height:1.3; font-weight:500; }
  #locationCaptions .location-caption small { display:none; }
  #locationCaptions .location-caption:after { display:none; }
  #locationLeaders { display:block; overflow:hidden; }
  #locationLeaders polyline { stroke:#ffffffe0; stroke-width:.85; }
  #locationLeaders circle { r:4px; stroke-width:1; }
  #locationLeaders [data-offscreen="true"] polyline { stroke-dasharray:3 3; opacity:.65; }
  .location-scene-bottom { bottom:calc(48px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:760px) and (max-height:740px) and (orientation:portrait) {
  .floor-explorer .building-intro { top:calc(var(--mobile-header,88px) + 8px); }
  .floor-explorer .building-intro > .explorer-eyebrow,
  .floor-explorer .building-intro > p { display:none; }
  .floor-explorer .building-intro h2 { font-size:22px; line-height:1.08; margin:0; }
  .floor-explorer .floor-selector { top:calc(var(--mobile-header,88px) + 8px); max-height:calc(100svh - var(--mobile-header,88px) - 148px); padding:10px; }
  .floor-explorer .floor-selector > .explorer-eyebrow,
  .floor-explorer .floor-selector > p { display:none; }
  .floor-explorer .floor-selector h2 { font-size:20px; margin:6px 0; }
  .floor-explorer .floor-selector > .explorer-back { margin-bottom:0; }
  .floor-explorer .floor-selector .floor-choice { min-height:44px; padding:8px 6px; }
}
@media(max-width:760px) and (max-height:500px) and (orientation:landscape) {
  .floor-explorer .building-intro { top:calc(var(--mobile-header,64px) + 8px); bottom:150px; }
  .floor-explorer .building-intro h2 { font-size:22px; margin:6px 0; }
  .floor-explorer .building-intro p { font-size:10px; max-width:220px; }
  .floor-explorer .building-intro .building-list { left:0; right:0; bottom:-56px; gap:8px; }
  .building-pan-hint { display:none; }
  .floor-explorer .quick-inquiry-mobile { left:7%; right:auto; width:34%; bottom:calc(44px + env(safe-area-inset-bottom,0px)); }
  .floor-explorer .explorer-partners { left:70%; width:47%; bottom:calc(36px + env(safe-area-inset-bottom,0px)); }
  .floor-explorer .floor-selector { top:calc(var(--mobile-header,64px) + 8px); width:42%; max-height:calc(100svh - var(--mobile-header,64px) - 152px); padding:9px 13px; }
  .floor-explorer .floor-selector > p,.floor-explorer .floor-selector > .explorer-eyebrow { display:none; }
  .floor-explorer .floor-selector h2 { font-size:20px; margin:4px 0; }
  .floor-explorer .floor-selector > .explorer-back { margin-bottom:0; min-height:40px; }
  .floor-explorer .floor-selector .floor-choice { min-height:40px; padding:7px; }
  #locationCaptions .location-caption { padding:6px 9px; min-height:30px; }
  #locationCaptions .location-caption strong { font-size:10px; }
  .location-scene-bottom { bottom:calc(16px + env(safe-area-inset-bottom,0px)); }
}
