/* Extend the existing floor selector; all coordinates still come from unitSelector. */
body.floor-image-fit #app { background:#242b34; overflow:clip; }
#render-image-backdrop {position:absolute;inset:0;pointer-events:none;background-size:cover;background-position:center;filter:blur(18px) brightness(.5);transform:scale(1.08);opacity:.8;}
body:not(.floor-image-fit) #render-image-backdrop {display:none;}
body.floor-image-fit #bg-canvas {background:transparent;}
body.floor-image-fit #floor-selector-layer {inset:0!important;width:100%;height:100%!important;display:block!important;padding:0;overflow:hidden;pointer-events:none;}
body.floor-image-fit .floor-selector-marker,
body.floor-image-fit .floor-selector-marker.side-left {position:absolute!important;inset:auto!important;left:var(--floor-x)!important;top:var(--floor-y)!important;width:var(--floor-width)!important;height:44px!important;transform:none!important;display:block;pointer-events:auto;filter:none;}
body.floor-image-fit .floor-selector-hit {display:none;}
body.floor-image-fit .floor-selector-marker[hidden] {display:none!important;}
body.floor-image-fit .floor-selector-badge {box-sizing:border-box;width:100%;height:100%;min-height:44px;max-width:none;padding:6px 10px;background:var(--floor-surface);color:var(--floor-text);border:1px solid #d6c38e;border-radius:10px;box-shadow:0 3px 12px #14204424;}
body.floor-image-fit .floor-selector-copy {display:grid;gap:2px;width:100%;}
body.floor-image-fit .floor-selector-copy strong {font-size:13px;line-height:1.25;}
body.floor-image-fit .floor-selector-copy small {font-size:10px;line-height:1.2;color:var(--floor-text);opacity:.85;}
html[lang="en"] body.floor-image-fit .floor-selector-badge {direction:ltr;}
body.floor-image-fit .floor-selector-line {display:block;position:absolute;left:var(--line-x);top:var(--line-y);width:var(--line-length);height:var(--floor-line-width);transform:translateY(-50%) rotate(var(--line-angle));transform-origin:0 50%;pointer-events:none;}
body.floor-image-fit .floor-selector-line::before,
body.floor-image-fit .floor-selector-marker.side-left .floor-selector-line::before {left:-3px;right:auto;inset-inline-start:unset;inset-inline-end:unset;width:7px;height:7px;border:1px solid white;}
body.floor-image-fit .floor-selector-marker:focus-visible .floor-selector-badge {outline:3px solid white;outline-offset:3px;}
body.floor-image-fit .floor-selector-marker[aria-expanded="true"] .floor-selector-badge {background:#142044;color:white;border-color:#f2c96d;box-shadow:0 0 0 2px #f2c96d66;}
body.floor-image-fit .floor-selector-marker[aria-expanded="true"] small {color:white;}
body.floor-image-fit .floor-amenity-note {padding:12px 8px;line-height:1.8;font-size:13px;color:var(--floor-text);}
body.floor-image-fit .floor-plan-open {display:block;width:100%;min-height:44px;margin-top:12px;padding:10px 14px;border:1px solid #142044;border-radius:10px;background:#142044;color:white;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
body.floor-image-fit .floor-plan-open:focus-visible {outline:3px solid #c9a84c;outline-offset:3px;}
body.floor-image-fit .floor-units-close {width:44px;height:44px;}
@media(min-width:1025px){
  body.floor-image-fit.panel-open #topbar {left:calc((100% + var(--floor-panel-right,0px))/2)!important;}
}
@media(max-width:1024px){
  body.floor-image-fit #floor-units-panel {position:absolute!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(144px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-height:calc(100dvh - 238px);}
  body.floor-image-fit #render-controls {display:flex!important;left:12px;right:auto;top:88px;bottom:auto;}
  body.floor-image-fit #render-controls button {min-width:44px;min-height:44px;}
  body.floor-image-fit.compact-panel-open #floor-selector-layer {visibility:hidden;}
}
@media(prefers-reduced-motion:reduce){body.floor-image-fit .floor-selector-marker,body.floor-image-fit #bg-canvas {transition:none;}}
@media(max-width:1024px) and (max-height:520px) and (orientation:landscape){
  body.floor-image-fit #topbar,body.floor-image-fit #render-nav {left:12px!important;right:auto!important;width:calc(100% - 190px)!important;transform:none!important;}
  body.floor-image-fit #floor-units-panel {top:82px!important;bottom:76px!important;max-height:none;}
}
