/* Focused building explorer: a compact toolbar around an unobstructed canvas. */
.p3d-root.p3d-focused{height:100vh;height:100dvh;overflow:hidden}
.p3d-focused .p3d-header,.p3d-focused .p3d-rail,.p3d-focused .p3d-pin,.p3d-focused .p3d-nav,.p3d-focused .p3d-isopanel,.p3d-focused .p3d-mobile-dock,.p3d-focused .p3d-rtab,.p3d-focused .p3d-hint,.p3d-focused .p3d-sunctl,.p3d-focused #p3d-zen{display:none!important}
.p3d-focused .p3d-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;position:relative;overflow:auto;overscroll-behavior:contain;background:var(--gp-bg);color:var(--gp-ink)}
.p3d-focused .p3d-stage-wrap{position:relative;flex:1 1 0;min-width:0;min-height:min(240px,50dvh);width:100%;height:auto;margin:0;overflow:hidden;container:gp-focus-stage/size}
.p3d-focused .p3d-stage-wrap canvas{display:block}
.gp-focus-bootstrap{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;background:var(--gp-bg);touch-action:pan-y}
.gp-focus-bootstrap[hidden],.gp-focus-bootstrap [hidden]{display:none!important}
.gp-focus-bootstrap-card{width:100%;max-width:520px;margin:auto;color:var(--gp-ink);overflow-wrap:anywhere}
.gp-focus-bootstrap-project{margin:0 0 12px;color:var(--gp-muted);font-size:13px;line-height:1.5}
.gp-focus-bootstrap h1{margin:0 0 12px;color:var(--gp-navy);font-size:clamp(24px,5vw,32px);line-height:1.2}
.gp-focus-bootstrap [role=status]{margin:0 0 24px;color:var(--gp-muted);font-size:15px;line-height:1.6}
.gp-focus-bootstrap-actions{display:flex;flex-wrap:wrap;gap:10px}
.gp-focus-bootstrap-actions a,.gp-focus-bootstrap-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid var(--gp-line);border-radius:10px;background:var(--gp-card);color:var(--gp-navy);font:inherit;font-size:14px;line-height:1.4;text-decoration:none;text-align:center;cursor:pointer}
.gp-focus-bootstrap-actions a:first-child:not([hidden]),.gp-focus-bootstrap-actions button{border-color:var(--gp-primary);background:var(--gp-primary);color:#fff}
.gp-focus-bootstrap-actions :focus-visible{outline:3px solid var(--gp-accent);outline-offset:3px}
.gp-focus-bootstrap-actions button:disabled{opacity:.65;cursor:wait}
@media(max-width:420px){.gp-focus-bootstrap{padding:20px}.gp-focus-bootstrap-actions>*{flex:1 1 140px}}
@media(max-height:500px){.gp-focus-bootstrap{padding:16px 24px}.gp-focus-bootstrap [role=status]{margin-bottom:16px}}
.p3d-focused .gp-focus-controls{position:relative;z-index:50;flex:0 0 auto;display:grid;grid-template-columns:minmax(200px,auto) minmax(0,1fr);align-items:center;gap:8px 20px;width:100%;box-sizing:border-box;padding:10px 24px;border:0;border-bottom:1px solid var(--gp-line);border-radius:0;background:var(--gp-card);color:var(--gp-ink);box-shadow:0 3px 16px rgba(20,49,42,.035)}
.gp-focus-head{display:flex;align-items:center;gap:12px;min-width:0}
.gp-focus-identity{flex:1;min-width:0}
.gp-focus-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:3px;font-size:12px;line-height:1.3;font-weight:500;color:var(--gp-muted)}
.gp-focus-controls h1{margin:0;color:var(--gp-navy);font-family:var(--gp-font);font-size:17px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.gp-focus-furnishing-note{position:absolute;bottom:108px;left:16px;z-index:4;pointer-events:none;padding:6px 10px;border:1px solid var(--gp-line);border-radius:8px;background:var(--gp-card);color:var(--gp-muted);font:12px/1.4 var(--gp-font)}.gp-focus-furnishing-note[hidden]{display:none}
.gp-focus-demo{padding-left:6px;border-left:1px solid var(--gp-line);font-size:11px;color:var(--gp-muted)}
.gp-focus-controls p,.gp-focus-summary p{margin:8px 0;color:var(--gp-muted);font-size:14px;line-height:1.5}
.gp-focus-controls select,.gp-focus-controls button,.gp-focus-summary button,.gp-focus-detail{min-height:44px;box-sizing:border-box;border:1px solid var(--gp-line);border-radius:10px;background:var(--gp-card);color:var(--gp-navy);padding:10px 12px;font:inherit;font-size:14px;line-height:1.35;text-decoration:none;cursor:pointer;touch-action:manipulation}
.gp-focus-controls button,.gp-focus-summary button{transition:background-color .15s,border-color .15s}
/* Hover only where a pointer hovers: on a phone it stuck after the tap, and on the floor
   chip it put the white label on a pale fill (2026-09-23). */
@media(hover:hover){.gp-focus-controls button:hover:not(:disabled):not([aria-pressed=true]),.gp-focus-summary button:hover:not(:disabled){background:var(--gp-tint-2);border-color:var(--gp-primary)}}
.gp-focus-controls button:disabled,.gp-focus-summary button:disabled,.gp-focus-tools button:disabled,.gp-focus-recenter:disabled{opacity:.4;cursor:default}
.gp-focus-head>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:6px;min-width:44px;padding:10px;border-color:transparent;border-radius:12px;background:var(--gp-bg);font-size:12px;font-weight:600}
.gp-focus-head>button svg{flex:none;width:18px;height:18px}
.gp-focus-head>button span{display:none}
.gp-focus-head>button[aria-expanded=true]{background:var(--gp-tint-2);border-color:var(--gp-line)}
.gp-focus-project{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--gp-navy);font-size:14px;font-weight:600;text-decoration:none}
.gp-focus-head .gp-focus-project{flex:none;border:1px solid var(--gp-line);border-radius:10px;background:var(--gp-card)}
.gp-focus-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;min-width:0}
.gp-focus-fields>div{min-width:0}
.gp-focus-controls label{display:block;margin:0 0 5px;color:var(--gp-muted);font-size:12px;font-weight:600;line-height:1.3}
.gp-focus-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;padding:2px;border:1px solid var(--gp-line);border-radius:12px;background:#fff}
.gp-focus-stepper .gp-focus-step{display:grid;place-items:center;min-width:44px;padding:0;border-color:transparent;border-radius:8px;background:var(--gp-bg)}
.gp-focus-controls select{width:100%;min-width:0;padding:8px 4px;border-color:transparent;border-radius:6px;background:#fff;color:var(--gp-navy);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;text-overflow:ellipsis}
/* Floors and flats are two lists you scroll, not two dropdowns with arrows
   (Besnik, 2026-09-20: "te levizet duke bere scroll ne liste"). The selects stay under
   "Më shumë" for anyone who would rather jump, and the lists carry roving focus so the
   arrow keys walk them without twenty tab stops. */
.gp-focus-lists{display:flex;flex-direction:column;gap:4px;min-width:0}
.gp-focus-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;margin:2px 0 0}
.gp-focus-list-head b{color:var(--gp-muted);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
.gp-focus-list-head span{color:var(--gp-muted);font-size:12px;font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gp-focus-strip{display:flex;gap:8px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:2px 2px 6px}
/* A strip fades at the edge it scrolls toward, so a card cut by the edge reads as more to
   come rather than as a stray sliver (data-fade, set as it scrolls). */
.gp-focus-strip[data-fade=start]{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px);mask-image:linear-gradient(90deg,transparent,#000 24px)}
.gp-focus-strip[data-fade=end]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
.gp-focus-strip[data-fade=both]{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.gp-focus-strip::-webkit-scrollbar{height:8px}
.gp-focus-strip::-webkit-scrollbar-thumb{border-radius:8px;background:var(--gp-line)}
.gp-focus-strip>button{flex:0 0 auto;scroll-snap-align:center}
.gp-focus-levels>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:48px;padding:6px 14px;border:1px solid var(--gp-line);border-radius:12px;background:var(--gp-card);color:var(--gp-navy);font:inherit;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.gp-focus-levels>button small{font-size:11.5px;font-weight:600;color:var(--gp-muted)}
@media(hover:hover){.gp-focus-levels>button:hover:not([aria-pressed=true]){border-color:var(--gp-primary);background:var(--gp-tint-2)}}
.gp-focus-levels>button[aria-pressed=true]{border-color:var(--gp-primary);background:var(--gp-primary);color:#fff}
.gp-focus-levels>button[aria-pressed=true] small{color:var(--gp-on-dark)}
.gp-focus-cards{display:flex;gap:8px}
.gp-focus-cards .gp-focus-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:48px;min-width:0;padding:6px 12px;border:1px solid var(--gp-line);border-radius:12px;background:var(--gp-card);color:var(--gp-navy);text-align:left;font-size:13px;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.gp-focus-card strong{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3}
.gp-focus-card-area{color:var(--gp-muted);font-size:12px;font-weight:600;line-height:1.2}
/* The same three states as the labels on the model, so list and scene agree. */
.gp-focus-card>.gp-focus-card-state{display:inline-flex;align-items:center;gap:6px;padding:1px 9px;border-radius:999px;background:var(--gp-bg-alt);color:#4a5a54;font-size:12px;font-weight:700;line-height:1.5}
.gp-focus-card-state::before{content:'';width:8px;height:8px;flex:none;box-sizing:border-box;border-radius:50%;background:currentColor}
.gp-focus-card[data-status=available]>.gp-focus-card-state{background:var(--gp-mint-bright);color:#06301f}
.gp-focus-card[data-status=reserved]>.gp-focus-card-state{background:#ffb020;color:#3a2600}
.gp-focus-card[data-status=reserved] .gp-focus-card-state::before{background:transparent;border:2px solid currentColor}
.gp-focus-card[data-status=sold] .gp-focus-card-state::before{width:10px;height:3px;border-radius:2px}
@media(hover:hover){.gp-focus-cards .gp-focus-card:hover:not([aria-pressed=true]){border-color:var(--gp-primary);background:var(--gp-tint-2)}}
.gp-focus-cards .gp-focus-card[aria-pressed=true]{border-color:var(--gp-mint-bright);background:var(--gp-navy);color:#fff;box-shadow:0 0 0 1.5px var(--gp-mint-bright)}
.gp-focus-cards .gp-focus-card[aria-pressed=true] .gp-focus-card-area{color:var(--gp-on-dark)}
.gp-focus-card-selected{display:none}
.gp-focus-strip-empty{margin:0;padding:12px 2px;color:var(--gp-muted);font-size:13px;line-height:1.4}
/* The current floor, leading its flats in the one-row form a phone gets from the map. */
.gp-focus-controls .gp-focus-floor-switch{display:none;flex:none;flex-direction:row;align-items:center;justify-content:center;gap:6px;min-width:46px;min-height:46px;padding:0 10px 0 14px;border-color:var(--gp-primary);border-radius:12px;background:var(--gp-primary);color:#fff;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}
.gp-focus-controls .gp-focus-floor-switch::after{content:'';flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--gp-icon-caret) center/contain no-repeat;mask:var(--gp-icon-caret) center/contain no-repeat}
/* Open, the chip is the way back to the flats: a chevron on a plain card. */
.gp-focus-controls .gp-focus-floor-switch[aria-expanded=true]{padding:0;border-color:var(--gp-line);background:var(--gp-card);color:var(--gp-navy)}
.gp-focus-controls .gp-focus-floor-switch[aria-expanded=true] strong{display:none}
.gp-focus-controls .gp-focus-floor-switch[aria-expanded=true]::after{width:20px;height:20px;-webkit-mask-image:var(--gp-icon-chevron-left);mask-image:var(--gp-icon-chevron-left)}
@media(hover:hover){.gp-focus-controls .gp-focus-floor-switch[aria-expanded=false]:hover{border-color:var(--gp-primary-dark);background:var(--gp-primary-dark)}}
.gp-focus-extra .gp-focus-fields{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:10px}
.gp-focus-extra{display:none;position:absolute;z-index:56;top:calc(100% + 8px);right:24px;box-sizing:border-box;width:320px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 220px);overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--gp-line);border-radius:14px;background:var(--gp-card);box-shadow:0 14px 40px rgba(20,49,42,.14);scrollbar-width:thin}
.gp-focus-controls.expanded .gp-focus-extra{display:block}
.gp-focus-extra>button{width:100%;margin-top:8px}
.gp-focus-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0;padding:4px;border-radius:12px;background:var(--gp-bg)}
.gp-focus-modes button{border-color:transparent;background:transparent;font-size:13px;font-weight:600}
.gp-focus-modes button[aria-pressed=true]{border-color:var(--gp-line);background:#fff;box-shadow:0 1px 4px rgba(20,49,42,.05)}
.gp-focus-floor-info{min-height:20px;font-variant-numeric:tabular-nums}
.gp-focus-help{margin-top:8px;border-top:1px solid var(--gp-line)}
.gp-focus-help summary{display:flex;align-items:center;min-height:44px;color:var(--gp-primary);font-size:14px;font-weight:600;cursor:pointer}
.gp-focus-help p{font-size:13px}
.gp-focus-tools{position:absolute;z-index:4;bottom:12px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,44px);gap:6px;padding:8px;border:1px solid var(--gp-line);border-radius:14px;background:var(--gp-card);box-shadow:0 4px 20px rgba(20,49,42,.08)}
.gp-focus-camera-caption{grid-column:1/-1;text-align:center;font-size:11px;color:var(--gp-muted);line-height:1.2;letter-spacing:.01em}
.gp-focus-tools button,.gp-focus-expand,.gp-focus-recenter{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;box-sizing:border-box;border:1px solid var(--gp-line);border-radius:10px;background:var(--gp-card);color:var(--gp-navy);cursor:pointer;touch-action:manipulation}
.gp-focus-tools button{padding:0;border-color:transparent;background:var(--gp-bg)}
.gp-focus-tools button:hover:not(:disabled),.gp-focus-expand:hover:not(:disabled),.gp-focus-recenter:hover:not(:disabled){border-color:var(--gp-primary);background:var(--gp-tint-2)}
.gp-focus-stage-bar{position:absolute;z-index:4;top:12px;left:16px;right:16px;display:flex;align-items:start;justify-content:flex-end;gap:8px;pointer-events:none}
.gp-focus-expand,.gp-focus-recenter{flex:none;gap:7px;padding:8px 12px;font:inherit;font-size:13px;font-weight:600;pointer-events:auto}
.gp-focus-recenter{margin-right:auto}
.gp-focus-section-control{display:flex;pointer-events:auto;gap:2px;padding:2px;border:1px solid var(--gp-line);border-radius:12px;background:var(--gp-card)}
.gp-focus-section-control[hidden]{display:none}
.gp-focus-section-control button{min-height:44px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--gp-navy);font:600 13px/1.2 var(--gp-font);cursor:pointer;touch-action:manipulation}
.gp-focus-section-control button[aria-pressed=true]{background:var(--gp-primary);color:#fff}
.gp-focus-section-control button:disabled{opacity:.5;cursor:wait}
@media(max-width:600px){.gp-focus-stage-bar{flex-wrap:wrap}.gp-focus-recenter{max-width:82px}.gp-focus-section-control{margin-left:auto}.gp-focus-section-control button{padding-inline:8px;font-size:12px}.gp-focus-immersive .gp-focus-context{flex-basis:100%}}
.gp-focus-context{margin:0 auto 0 0;padding:10px 12px;border:1px solid var(--gp-line);border-radius:10px;background:var(--gp-card);color:var(--gp-navy);font-size:13px;line-height:1.4}
.gp-focus-immersive .gp-focus-recenter{margin-right:0}
.gp-focus-summary{position:relative;z-index:40;flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:16px;box-sizing:border-box;min-height:76px;padding:12px 24px max(12px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--gp-line);border-radius:0;background:var(--gp-card);color:var(--gp-ink)}
.gp-focus-summary p{flex:1 1 12em;min-width:0;margin:0;color:var(--gp-navy);line-height:1.4;font-weight:500;overflow-wrap:anywhere}
.gp-focus-summary p strong{display:block;font-size:15px;font-weight:700;line-height:1.4}
.gp-focus-summary p span{display:block;margin-top:3px;color:var(--gp-muted);font-size:13px;font-weight:400;line-height:1.4}
.gp-focus-detail,.gp-focus-summary .gp-focus-choose{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;max-width:100%;margin-left:auto;border-color:var(--gp-primary);background:var(--gp-primary);color:#fff;text-align:center;font-weight:600;overflow-wrap:anywhere}
/* The details are the one way on: an arrow and a lift, as on the map's footer. */
.gp-focus-detail{gap:8px;box-shadow:0 8px 18px -10px rgba(11,93,78,.7)}
.gp-focus-detail::after{content:'';flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--gp-icon-arrow) center/contain no-repeat;mask:var(--gp-icon-arrow) center/contain no-repeat}
.gp-focus-detail:hover,.gp-focus-summary .gp-focus-choose:hover:not(:disabled){background:var(--gp-primary-dark);color:#fff}
.gp-focus-summary.has-selection{box-shadow:inset 0 2px 0 var(--gp-mint-bright)}
/* HTML labels stay sharp at any device pixel ratio. JS positions and culls them. */
.gp-focus-labels{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}
/* The status IS the label. A 8px dot on a cream chip told you nothing until you were
   nose-close to the screen (Besnik, 2026-09-20: "jo vetem me nje pike me ngjyre, po i
   gjithe elementi"). Now the whole chip carries it, in the kit's own colours: mint is
   free, amber is reserved, sold recedes into grey. Colour never carries it alone -
   every state keeps its word and its own marker shape. */
.gp-focus-label{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:max-content;min-width:min(104px,calc(100% - 16px));max-width:min(280px,calc(100% - 16px));min-height:44px;box-sizing:border-box;padding:6px 9px;border:1.5px solid var(--gp-line);border-radius:11px;background:#fff;color:var(--gp-navy);box-shadow:0 2px 10px rgba(12,51,47,.16);font-family:var(--gp-font);font-size:15px;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;pointer-events:auto;touch-action:manipulation}
.gp-focus-label strong{max-width:100%;font-size:14px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.gp-focus-label span,.gp-focus-label-badge{display:flex;align-items:center;justify-content:center;gap:6px;max-width:100%;font-size:12.5px;font-weight:600;line-height:1.2;color:inherit;opacity:.85}
.gp-focus-label span::before{content:'';width:9px;height:9px;flex:none;box-sizing:border-box;border-radius:50%;background:currentColor}
.gp-focus-label[data-status=available]{border-color:#00b877;background:var(--gp-mint-bright);color:#06301f}
.gp-focus-label[data-status=reserved]{border-color:#cf8a00;background:#ffb020;color:#3a2600}
.gp-focus-label[data-status=reserved] span::before{background:transparent;border:2.5px solid currentColor}
.gp-focus-label[data-status=sold]{border-color:#c5d3cc;background:var(--gp-bg-alt);color:#4a5a54}
.gp-focus-label[data-status=sold] span::before{width:11px;height:3px;border-radius:2px}
.gp-focus-label:hover{border-color:var(--gp-navy);box-shadow:0 4px 14px rgba(12,51,47,.24)}
.gp-focus-label[aria-pressed=true],.gp-focus-label.selected{z-index:2;min-width:min(120px,calc(100% - 16px));min-height:48px;border:2.5px solid var(--gp-mint-bright);background:var(--gp-navy);color:#fff;box-shadow:0 6px 20px rgba(12,51,47,.34)}
.gp-focus-label[aria-pressed=true] span,.gp-focus-label.selected span{color:var(--gp-on-dark);opacity:1}
.gp-focus-label[aria-pressed=true] span::before,.gp-focus-label.selected span::before{background:var(--gp-mint-bright);border-color:var(--gp-mint-bright)}
.gp-focus-controls :focus-visible,.gp-focus-summary :focus-visible,.gp-focus-stage-bar :focus-visible,.gp-focus-tools :focus-visible,.gp-focus-label:focus-visible{outline:3px solid var(--gp-accent)!important;outline-offset:3px}
.p3d-focused .gp-focus-controls[hidden],.gp-focus-controls [hidden],.gp-focus-summary [hidden],.gp-focus-context[hidden],.gp-focus-label[hidden]{display:none!important}
@media(max-width:1100px){
 .p3d-focused .gp-focus-controls{grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:10px 20px 12px}
 .gp-focus-head{grid-column:1;grid-row:1}
 .gp-focus-lists{grid-column:1/-1;grid-row:2}
 .gp-focus-head>button span{display:inline}
 .gp-focus-controls h1{font-size:16px}
 .gp-focus-extra{right:20px}
}
@media(max-width:768px){
 .p3d-focused .gp-focus-controls{gap:8px 8px;padding:max(8px,env(safe-area-inset-top)) 12px 10px}
 .gp-focus-head{gap:8px}
 .gp-focus-head>button{padding:8px}
 .gp-focus-head>button span{display:none}
 .gp-focus-controls h1{font-size:14px;line-height:1.25}
 .gp-focus-eyebrow{font-size:11px;gap:4px;margin-bottom:2px}
 .gp-focus-demo{font-size:10px;padding-left:4px}
 .gp-focus-fields{grid-template-columns:minmax(0,1fr);gap:10px}
 .gp-focus-controls label{margin-bottom:4px;font-size:12px}
 .gp-focus-stepper{gap:2px;padding:1px}
 .gp-focus-controls select{padding-inline:1px;font-size:16px}
 .gp-focus-levels>button,.gp-focus-cards .gp-focus-card{min-height:46px;padding:6px 11px;font-size:13px}
 /* One line per flat on a phone, so the two lists cost the model as little height as possible. */
 .gp-focus-cards .gp-focus-card{flex-direction:row;align-items:center;gap:8px}
 .gp-focus-card>.gp-focus-card-state{padding:1px 8px}
 .gp-focus-list-head{margin-top:0}
 .gp-focus-extra{right:12px;max-height:calc(100dvh - 240px)}
 .gp-focus-stage-bar{top:8px;left:10px;right:10px;gap:6px}
 .gp-focus-expand span{display:none}
 .gp-focus-expand{padding:8px}
 .gp-focus-recenter{font-size:12px;padding:8px 10px}
 .gp-focus-summary{min-height:72px;padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:10px}
 .gp-focus-summary p strong{font-size:14px}
 .gp-focus-summary p span{font-size:12px}
 .gp-focus-detail,.gp-focus-summary button{font-size:13px;padding:10px}
 .gp-focus-tools{bottom:10px;padding:6px;gap:4px}
 .gp-focus-context{font-size:12px;padding:8px}
 .gp-focus-immersive .gp-focus-stage-bar{flex-wrap:wrap}
}
/* Keep the scrollable lists, with the current floor opening the full floor strip.
   One selection row gives the model room on desktop as well as phones. */
@media(min-height:501px){
 .gp-focus-list-head{display:none}
 .gp-focus-lists{flex-direction:row;align-items:center;gap:8px}
 .gp-focus-controls .gp-focus-floor-switch{display:flex}
 .gp-focus-strip{flex:1 1 auto;padding:2px}
 .gp-focus-lists[data-row=units] .gp-focus-levels,.gp-focus-lists[data-row=levels] .gp-focus-cards,.gp-focus-lists[data-row=levels] .gp-focus-strip-empty{display:none}
 .gp-focus-cards .gp-focus-card{flex-direction:row;align-items:center;gap:8px;min-height:46px}
 .gp-focus-from-map~.gp-focus-media-navigation{padding:4px 12px}
 .gp-focus-from-map~.gp-focus-media-navigation .gp-media-nav{padding:2px}
}
@media(max-width:768px) and (min-height:501px){
 .gp-focus-card-area{display:none}
}
@media(max-width:390px){
 .gp-focus-head{gap:5px}
 .gp-focus-head>button{padding:6px}
 .gp-focus-fields{gap:8px}
}
/* Short landscapes keep one toolbar row and compact chrome, retaining every action. */
@media(max-height:500px) and (min-width:480px){
 .p3d-focused .gp-focus-controls{grid-template-columns:minmax(140px,auto) minmax(0,1fr);gap:6px 10px;padding:6px 12px}
 .gp-focus-head{grid-column:1;grid-row:1;gap:6px}
 .gp-focus-lists{grid-column:2;grid-row:1;gap:2px}
 .gp-focus-head>button span{display:none}
 .gp-focus-controls h1{font-size:14px}
 .gp-focus-eyebrow{display:none}
 .gp-focus-list-head{display:none}
 .gp-focus-levels>button,.gp-focus-cards .gp-focus-card{min-height:44px;padding:4px 10px}
 .gp-focus-stepper{gap:2px;padding:1px}
 .gp-focus-controls select{padding-inline:1px}
 .gp-focus-extra{right:12px;max-height:calc(100dvh - 110px)}
 .gp-focus-summary{min-height:62px;padding:8px 12px;gap:10px}
 .gp-focus-summary p strong{font-size:14px}
 .gp-focus-summary p span{font-size:12px;margin-top:1px}
 .gp-focus-camera-caption{display:none}
 .gp-focus-tools{padding:4px;gap:4px;bottom:6px}
 .gp-focus-stage-bar{top:6px;left:8px;right:8px}
 .gp-focus-expand span{display:none}
}
@media(max-height:700px){.gp-focus-camera-caption{display:none}}
@container gp-focus-stage (max-height:340px){.gp-focus-camera-caption{display:none}}
@media(prefers-reduced-motion:reduce){.gp-focus-controls *,.gp-focus-summary *,.gp-focus-label{transition:none!important;animation:none!important}}
@view-transition{navigation:none}

/* A stable media bar keeps the camera aperture unchanged when switching views. */
.gp-focus-media-navigation{flex:none;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 16px;background:var(--gp-card);border-bottom:1px solid var(--gp-line)}
.gp-focus-media-navigation .gp-media-nav{flex:0 1 380px;min-width:0;margin-inline:0}
.gp-focus-media-open #gp-focus-canvas,.gp-focus-media-open .gp-focus-labels,.gp-focus-media-open .gp-focus-tools,.gp-focus-media-open .gp-focus-stage-bar{visibility:hidden;pointer-events:none}
.gp-focus-media-open .gp-focus-labels,.gp-focus-media-open .gp-focus-furnishing-note{display:none}
.gp-focus-tools[hidden],.gp-focus-stage-bar[hidden]{display:none!important}
@media(max-height:500px) and (min-width:480px){.gp-focus-media-navigation{padding-block:2px}.gp-focus-media-navigation .gp-media-nav{padding:0}}
/* Short landscape keeps selection beside every view, preserving canvas height. */
@media(max-height:500px) and (min-width:480px){
 .p3d-focused .p3d-main{display:grid;grid-template-columns:clamp(220px,34vw,260px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}
 .p3d-focused .gp-focus-controls{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:auto;overscroll-behavior:contain;padding:10px 12px}
 .p3d-focused .gp-focus-fields{display:grid;grid-template-columns:1fr;gap:8px}
 .p3d-focused .gp-focus-head{flex:none}
 .p3d-focused .gp-focus-lists{gap:4px;flex:1 1 auto;min-height:0}
 .p3d-focused .gp-focus-list-head{display:flex;flex:none}
 /* A side column: the two lists stand up and scroll vertically. */
 .p3d-focused .gp-focus-strip{flex:1 1 0;min-height:48px;flex-direction:column;overflow-x:hidden;overflow-y:auto;max-height:34dvh;scroll-snap-type:y proximity}
 .p3d-focused .gp-focus-levels{max-height:24dvh}
 .p3d-focused .gp-focus-levels>button,.p3d-focused .gp-focus-cards .gp-focus-card{white-space:normal}
 .p3d-focused .gp-focus-cards .gp-focus-card{flex-direction:row;align-items:center;justify-content:space-between}
 .p3d-focused .gp-focus-card-area{display:none}
 .p3d-focused .gp-focus-card-state{white-space:nowrap}
 .p3d-focused .gp-focus-extra{position:static;width:auto;max-width:none;max-height:none;margin-top:8px;padding:8px;box-shadow:none}
 .p3d-focused .gp-focus-media-navigation{grid-column:2;grid-row:1}
 .p3d-focused .p3d-stage-wrap{grid-column:2;grid-row:2/4}
 .p3d-focused .gp-focus-summary{grid-column:1;grid-row:3;flex-wrap:wrap;gap:6px;padding:8px 12px}
 .p3d-focused .gp-focus-summary p{flex-basis:100%}
 .p3d-focused .gp-focus-detail{width:100%}
 .p3d-focused .p3d-main.gp-focus-immersive{display:flex}
}

/* Embedded landscape loses height to the map return bar; retain full selection targets. */
@media(max-height:300px) and (min-width:480px){
 .p3d-focused .gp-focus-controls{padding:6px 12px}
 .p3d-focused .gp-focus-list-head{display:none}
 .p3d-focused .gp-focus-lists{gap:2px}
}

/* The way back to the map, in the row with 3D | Plani: the dark bar over the page is gone
   (Besnik, 2026-10-04). */
.gp-focus-map-return{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px 0 12px;box-sizing:border-box;border:1px solid var(--gp-line);border-radius:999px;background:var(--gp-card);color:var(--gp-navy);font:700 13px/1 var(--gp-font);text-decoration:none;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.gp-focus-map-return svg{flex:none}
.gp-focus-map-return:focus-visible{outline:3px solid var(--gp-accent);outline-offset:3px}
@media(hover:hover){.gp-focus-map-return:hover{border-color:var(--gp-primary);background:var(--gp-tint-2);color:var(--gp-navy)}}

/* Glass over the model (Besnik, 2026-10-03: "transparence me shume ... efekt glass"): what
   stands on the stage lets the building show through it, blurred, where it was white. */
.p3d-focused{--gp-focus-glass:rgba(255,255,255,.3);--gp-focus-glass-line:rgba(255,255,255,.72);--gp-focus-glass-blur:blur(18px) saturate(180%);--gp-focus-glass-shadow:0 3px 12px rgba(12,51,47,.16);
 --gp-focus-icon-building:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M10 6h4M10 10h4M10 14h4M10 18h4'/%3E%3C/svg%3E")}
.p3d-focused .gp-focus-recenter,.p3d-focused .gp-focus-expand,.p3d-focused .gp-focus-context,.p3d-focused .gp-focus-section-control,.p3d-focused .gp-focus-tools,.p3d-focused .gp-focus-furnishing-note{border-color:var(--gp-focus-glass-line);background:var(--gp-focus-glass);-webkit-backdrop-filter:var(--gp-focus-glass-blur);backdrop-filter:var(--gp-focus-glass-blur);box-shadow:var(--gp-focus-glass-shadow)}
.p3d-focused .gp-focus-tools button{background:transparent}
.gp-focus-topbar :focus-visible,.p3d-stage-wrap>.gp-focus-levels :focus-visible{outline:3px solid var(--gp-accent)!important;outline-offset:3px}
.gp-focus-topbar [hidden]{display:none!important}

/* The floors' column, on a phone's sheet and over a laptop's model: highest first, as in a
   lift, and in the map's short form - "15" over its free flats, "2/2" - with the building an
   icon over "Ndërtesa". The full names stay in each button's label. */
.gp-focus-sheet .gp-focus-levels>button,.gp-focus-lift .gp-focus-levels>button{flex:none;align-items:center;gap:1px;min-height:46px;padding:3px 4px;border:1px solid rgba(255,255,255,.7);border-radius:12px;background:rgba(255,255,255,.2);white-space:nowrap}
.gp-focus-sheet .gp-focus-levels>button>*,.gp-focus-lift .gp-focus-levels>button>*{display:none}
.gp-focus-sheet .gp-focus-levels>button::before,.gp-focus-lift .gp-focus-levels>button::before{content:attr(data-short);font-size:15px;font-weight:800;line-height:1.1}
.gp-focus-sheet .gp-focus-levels>button::after,.gp-focus-lift .gp-focus-levels>button::after{content:attr(data-short-note);font-size:11px;font-weight:700;line-height:1.2;color:var(--gp-st-free-ink)}
.gp-focus-sheet .gp-focus-levels>button[data-free="0"]::after,.gp-focus-lift .gp-focus-levels>button[data-free="0"]::after{color:var(--gp-muted)}
.gp-focus-sheet .gp-focus-levels>button[data-level=all]::before,.gp-focus-lift .gp-focus-levels>button[data-level=all]::before{content:'';width:18px;height:18px;background:currentColor;-webkit-mask:var(--gp-focus-icon-building) center/contain no-repeat;mask:var(--gp-focus-icon-building) center/contain no-repeat}
.gp-focus-sheet .gp-focus-levels>button[data-level=all]::after,.gp-focus-lift .gp-focus-levels>button[data-level=all]::after{color:var(--gp-navy)}
.gp-focus-sheet .gp-focus-levels>button[aria-pressed=true],.gp-focus-lift .gp-focus-levels>button[aria-pressed=true]{border-color:rgba(11,93,78,.9);background:rgba(11,93,78,.88);color:#fff;box-shadow:inset 0 0 0 2px var(--gp-mint-bright)}
.gp-focus-sheet .gp-focus-levels>button[aria-pressed=true]::after,.gp-focus-lift .gp-focus-levels>button[aria-pressed=true]::after{color:var(--gp-on-dark)}

/* A phone held upright: the map's arrangement (Besnik, 2026-10-03, "edhe aty te ndryshon
   katet njejte"). The model fills the page; 3D | Plani and the flat's details ride over its
   top; a glass sheet over its foot holds the picked flat, the floors down the left and the
   floor's flats beside them. building-focused-model.js moves the nodes (placeLists) and
   frames the model in what the bars and the sheet leave (measureCover, viewRect). */
.p3d-focused .p3d-main.gp-focus-sheet{display:block;overflow:hidden}
.p3d-focused .gp-focus-sheet>.p3d-stage-wrap{position:absolute;inset:0;min-height:0;height:auto}
.gp-focus-topbar{position:absolute;z-index:60;top:8px;left:10px;right:10px;display:flex;align-items:center;gap:8px;pointer-events:none}
.gp-focus-topbar>*{pointer-events:auto}
.gp-focus-topbar .gp-focus-media-navigation{flex:none;padding:0;border:0;background:transparent}
.gp-focus-topbar .gp-media-nav{flex-wrap:nowrap;max-width:none;margin:0;padding:3px;border:1px solid var(--gp-focus-glass-line);border-radius:999px;background:var(--gp-focus-glass);-webkit-backdrop-filter:var(--gp-focus-glass-blur);backdrop-filter:var(--gp-focus-glass-blur);box-shadow:var(--gp-focus-glass-shadow)}
.gp-focus-topbar .gp-media-nav button{min-height:38px;padding:0 9px;gap:6px;border-radius:999px}
.gp-focus-topbar .gp-focus-map-return{border-color:var(--gp-focus-glass-line);background:var(--gp-focus-glass);-webkit-backdrop-filter:var(--gp-focus-glass-blur);backdrop-filter:var(--gp-focus-glass-blur);box-shadow:var(--gp-focus-glass-shadow)}
.gp-focus-topbar .gp-media-nav button[aria-pressed=true]{background:rgba(255,255,255,.85)}
.gp-focus-topbar .gp-focus-detail{flex:1 1 auto;min-width:0;min-height:44px;margin:0;padding:0 12px;border-color:rgba(255,255,255,.35);border-radius:999px;background:rgba(11,93,78,.82);-webkit-backdrop-filter:var(--gp-focus-glass-blur);backdrop-filter:var(--gp-focus-glass-blur);font-size:13px;white-space:nowrap;box-shadow:0 4px 14px rgba(11,93,78,.4)}
@media(hover:hover){.gp-focus-topbar .gp-focus-detail:hover{background:var(--gp-primary-dark)}}
/* A narrow phone: "Detajet", so the row holds Harta 3D, 3D | Plani and the details. */
@media(max-width:439px){.gp-focus-topbar .gp-focus-detail-more{display:none}}
.gp-focus-sheet .gp-focus-stage-bar{top:60px}
/* The furniture note, a line under the picked flat (placeNote). */
.gp-focus-sheet-head .gp-focus-furnishing-note{position:static;flex:1 0 100%;margin:-4px 0 0;padding:0;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--gp-muted);font-size:11.5px;line-height:1.3}
/* The camera buttons under "Më shumë" (placeTools), a row of their own over the rest. */
.gp-focus-extra>.gp-focus-tools{position:static;transform:none;display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px;margin:0 0 10px;padding:6px;border:1px solid var(--gp-line);border-radius:12px;background:var(--gp-bg);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.gp-focus-extra>.gp-focus-tools .gp-focus-camera-caption{display:block}
.p3d-focused .gp-focus-sheet>.gp-focus-controls{position:absolute;z-index:55;top:auto;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));display:block;width:auto;box-sizing:border-box;padding:10px 12px 12px;border:1px solid rgba(255,255,255,.72);border-radius:20px;background:transparent;isolation:isolate;box-shadow:0 10px 34px rgba(12,51,47,.22)}
/* The glass is a layer under the content, as on the map's sheet. */
.p3d-focused .gp-focus-sheet>.gp-focus-controls::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(26px) saturate(200%);backdrop-filter:blur(26px) saturate(200%)}
.p3d-focused .gp-focus-sheet>.gp-focus-summary{display:none}
.gp-focus-sheet .gp-focus-head{position:absolute;z-index:2;top:8px;right:8px;gap:6px}
.gp-focus-sheet .gp-focus-identity{display:none}
.gp-focus-sheet .gp-focus-head>button,.gp-focus-sheet .gp-focus-head .gp-focus-project{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.3)}
.gp-focus-sheet .gp-focus-head>button[aria-expanded=true]{background:rgba(255,255,255,.75)}
/* The sheet's own arrow, as on the map's sheet: small, it keeps the picked flat's line and
   the model takes the page (Besnik, 2026-10-04). A phone held upright only. */
.gp-focus-head>.gp-focus-sheet-toggle{display:none}
.gp-focus-sheet .gp-focus-head>.gp-focus-sheet-toggle{display:inline-flex}
.gp-focus-sheet .gp-focus-head>.gp-focus-sheet-toggle[aria-expanded=true]{background:rgba(255,255,255,.3)}
.gp-focus-sheet-toggle::before{content:'';flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--gp-icon-caret) center/contain no-repeat;mask:var(--gp-icon-caret) center/contain no-repeat;transition:transform .15s}
.gp-focus-sheet-min .gp-focus-sheet-toggle::before{transform:rotate(180deg)}
.gp-focus-sheet .gp-focus-sheet-min .gp-focus-lists{display:none}
.gp-focus-sheet .gp-focus-sheet-min .gp-focus-sheet-head{margin-bottom:0}
/* "Më shumë" opens upward, over the top bar if it must, never past the room over the sheet. */
.p3d-focused .gp-focus-sheet>.gp-focus-controls.expanded{z-index:61}
.gp-focus-sheet .gp-focus-extra{top:auto;bottom:calc(100% + 8px);right:0;max-height:var(--gp-focus-sheet-room,50dvh)}
.gp-focus-sheet-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:44px;margin:0 0 10px;padding-right:150px}
.gp-focus-from-map .gp-focus-sheet-head{padding-right:100px}
.gp-focus-sheet-head p{flex:1 1 12em;min-width:0;margin:0;color:var(--gp-navy);font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.gp-focus-sheet-head p strong{display:block;font-size:15px;font-weight:800;line-height:1.3}
.gp-focus-sheet-head p span{display:block;margin-top:1px;color:#41544D;font-size:12.5px;line-height:1.35}
.gp-focus-sheet-head button{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.3)}
.gp-focus-sheet .gp-focus-lists{display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:10px;align-items:start;max-height:calc(52dvh - 76px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.gp-focus-sheet .gp-focus-lists>*{grid-column:2}
.gp-focus-sheet .gp-focus-controls .gp-focus-floor-switch{display:none}
.gp-focus-sheet .gp-focus-list-head{display:flex;grid-row:1;margin:2px 0 8px}
.gp-focus-sheet .gp-focus-list-head b{color:var(--gp-navy);font-size:13px;letter-spacing:0;text-transform:none}
.gp-focus-sheet .gp-focus-list-head span{color:var(--gp-navy);font-size:13px;font-weight:700}
.gp-focus-sheet .gp-focus-lists[data-row] .gp-focus-levels{grid-column:1;grid-row:1/-1;display:flex;flex-direction:column-reverse;gap:6px;max-height:min(196px,calc(52dvh - 76px));overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;padding:0 0 2px;-webkit-mask-image:none;mask-image:none;scrollbar-width:none}
.gp-focus-sheet .gp-focus-lists[data-row] .gp-focus-cards{grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding:0;-webkit-mask-image:none;mask-image:none}
.gp-focus-sheet .gp-focus-lists[data-row] .gp-focus-strip-empty{display:block;grid-row:2;padding-top:4px}
/* A flat in three lines, as in the map's column: its number, its size, its state. */
.gp-focus-sheet .gp-focus-cards .gp-focus-card{flex-direction:column;align-items:flex-start;gap:3px;min-height:72px;padding:8px 10px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.22);white-space:normal}
.gp-focus-sheet .gp-focus-card-area{display:block;max-width:100%;overflow:hidden;font-size:11px;white-space:nowrap;text-overflow:ellipsis}
.gp-focus-sheet .gp-focus-cards .gp-focus-card[aria-pressed=true]{border-color:rgba(12,51,47,.9);background:rgba(12,51,47,.88);box-shadow:inset 0 0 0 2px var(--gp-mint-bright)}
/* The plan and the photos take the page under the top bar; 3D brings the sheet back. */
.p3d-focused .gp-focus-sheet.gp-focus-media-open>.gp-focus-controls{display:none}
.gp-focus-sheet .gp-building-media{top:60px}
/* A short phone - a browser's bars leave 500-600 px - keeps more of the model: three floors
   and tighter flats, still a finger's size. */
@media(max-height:640px){
 .gp-focus-sheet .gp-focus-lists[data-row] .gp-focus-levels{max-height:min(150px,calc(52dvh - 76px))}
 .gp-focus-sheet .gp-focus-cards .gp-focus-card{min-height:64px;padding:6px 10px;gap:2px}
 .gp-focus-sheet-head{margin-bottom:8px}
}

/* A laptop: the floors stand down the left of the model, a glass column like the map's lift
   panel, and the flats keep the row above it. */
.gp-focus-lift .gp-focus-controls .gp-focus-floor-switch{display:none}
.gp-focus-lift .gp-focus-lists[data-row] .gp-focus-cards{display:flex}
.gp-focus-lift .gp-focus-lists[data-row] .gp-focus-strip-empty{display:block}
.gp-focus-lift .p3d-stage-wrap>.gp-focus-levels{position:absolute;z-index:5;top:68px;left:16px;display:flex;flex-direction:column-reverse;gap:6px;max-height:calc(100% - 84px);box-sizing:border-box;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;padding:8px;border:1px solid var(--gp-focus-glass-line);border-radius:16px;background:var(--gp-focus-glass);-webkit-backdrop-filter:var(--gp-focus-glass-blur);backdrop-filter:var(--gp-focus-glass-blur);box-shadow:0 6px 20px rgba(12,51,47,.16);-webkit-mask-image:none;mask-image:none;scrollbar-width:thin}
.gp-focus-lift .gp-focus-levels>button{min-width:64px;min-height:48px;background:rgba(255,255,255,.35)}
.gp-focus-lift.gp-focus-immersive .p3d-stage-wrap>.gp-focus-levels{display:none}
.gp-focus-lift .gp-focus-furnishing-note{left:auto;right:16px;bottom:16px}
/* The plan and the photos open beside the column, which stays to change the floor. */
.gp-focus-lift.gp-focus-media-open .p3d-stage-wrap>.gp-focus-levels{top:12px;z-index:11;max-height:calc(100% - 24px)}
.gp-focus-lift .gp-building-media{left:108px}
