/* Interactive masterplan: markers, building panel and zoom controls. */
.bj-plan-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}
.bj-home-tabs,.bj-layer-tabs{display:flex;gap:8px;flex-wrap:wrap}
.bj-home-tabs button{padding:12px 23px;font-size:13px;line-height:22px;background:var(--white);border:1px solid var(--line);min-height:48px}
.bj-home-tabs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--white)}
.bj-layer-tabs{gap:0;border:1px solid var(--line);background:var(--white)}
.bj-layer-tabs button{font-size:12px;line-height:22px;padding:12px 16px;min-height:48px;color:var(--muted)}
.bj-layer-tabs button+button{border-left:1px solid var(--line)}
.bj-layer-tabs button[aria-pressed=true]{background:var(--ink);color:var(--white)}
.bj-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:stretch}
.bj-plan-map{position:relative;min-width:0;background:var(--soft);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
#bj-plan-viewport{position:relative;overflow:hidden;aspect-ratio:1140/805;width:100%;background:var(--soft)}
#bj-plan-canvas{position:relative;width:100%;height:100%;transform-origin:center;will-change:transform}
#bj-plan-canvas>img{width:100%;height:100%;object-fit:fill;user-select:none}
.bj-map-marker{position:absolute;left:var(--x);top:var(--y);z-index:2;padding:0;width:18px;height:18px;transform:translate(-50%,-50%);color:#fff;cursor:pointer;background:transparent}
.bj-map-marker i{position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid white;box-shadow:0 1px 5px #0004}
.bj-map-marker>span{display:block;position:absolute;bottom:20px;left:9px;transform:translateX(-50%);padding:8px 12px;white-space:nowrap;font-size:11px;font-weight:500;line-height:1.3;box-shadow:0 3px 10px #0002;background:var(--ink)}
.bj-map-marker[aria-pressed=true]>span,.bj-map-marker[aria-pressed=true] i{background:var(--accent)}
.bj-map-marker[aria-pressed=true] i{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 21%,transparent)}
.bj-map-marker:hover{z-index:4}.bj-map-marker:hover>span{filter:brightness(1.15)}
.bj-marker-four>span{left:-15px;bottom:19px}.bj-marker-aparts>span{left:27px;bottom:-9px;transform:none}.bj-marker-two>span{left:-10px;bottom:-4px;transform:translateX(-100%)}
.bj-future-marker{color:var(--ink)}.bj-future-marker>span,.bj-future-marker i{background:var(--white)}.bj-future-marker>span{border:1px solid #999;bottom:16px}.bj-future-marker i{border-color:#777}
.bj-future-marker small{display:block;font-size:8px;font-weight:400;opacity:.8;margin-top:2px}
.bj-marker-garden>span{bottom:-13px;left:-13px;transform:translateX(-100%)}.bj-marker-school-two>span{left:26px;bottom:-17px;transform:none}
.bj-map-legend{display:flex;gap:20px;padding:18px;font-size:11px;background:var(--white);border-top:1px solid var(--line);flex-wrap:wrap;margin-top:auto}
.bj-map-legend>span{display:flex;align-items:center;gap:7px}.bj-map-legend i{width:8px;height:8px;border-radius:50%;background:var(--ink)}.bj-map-legend>span+span i{background:#fff;border:1px solid #777}
.bj-map-controls{position:absolute;bottom:73px;left:16px;display:flex;gap:0;align-items:center;background:var(--white);border:1px solid var(--line);box-shadow:0 2px 10px #0001}
.bj-map-controls button{width:40px;height:48px;font-size:23px;line-height:1}.bj-map-controls button:hover{background:var(--soft)}.bj-map-controls button:disabled{color:#aaa}.bj-map-controls>span{font-size:11px;min-width:36px;text-align:center}
.bj-home-panel{background:var(--white);border:1px solid var(--line);overflow:hidden;min-width:0}
.bj-home-panel>img{width:100%;height:190px;object-fit:cover}
.bj-home-panel-copy{padding:24px}.bj-home-panel-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:20px}
.bj-home-panel-top .bj-kicker{margin:0;font-size:10px;letter-spacing:.04em}
.bj-status{font-size:10px;line-height:1.5;padding:4px 7px;background:var(--soft);color:#666;border:1px solid var(--line)}
.bj-home-panel h3{font-size:30px;line-height:1.2;font-weight:400;letter-spacing:-.03em}
.bj-home-address{font-size:12px;color:var(--muted);margin-top:9px}
.bj-home-offer{border-block:1px solid var(--line);margin-block:24px 20px;padding-block:18px;display:flex;flex-direction:column;gap:8px}
.bj-home-offer strong{font-weight:400;font-size:26px;line-height:1.3;letter-spacing:-.025em}.bj-home-offer>span{font-size:12px;color:var(--muted);line-height:1.5}
.bj-home-panel .bj-button{width:100%;font-size:11px;padding:12px 15px;text-align:left}
.bj-parking-link{display:block;text-align:center;font-size:12px;margin-top:16px;padding-bottom:3px}
.bj-home-secondary{display:flex;justify-content:space-between;gap:10px;margin-top:20px;font-size:11px;color:var(--muted)}.bj-home-secondary>button{padding:0;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.bj-home-secondary a:hover,.bj-home-secondary button:hover,.bj-parking-link:hover{color:var(--accent)}
.bj-place-note{background:var(--white);border:1px solid var(--line);border-left:2px solid var(--accent);padding:20px 24px;margin-top:16px;font-size:14px;line-height:1.5}
.bj-place-note p{font-size:12px;color:#666;margin-top:7px;max-width:900px;line-height:1.7}
.bj-plan-note{font-size:11px;color:var(--muted);margin-top:20px;line-height:1.7;max-width:1100px}.bj-plan-note a{text-decoration:underline;text-underline-offset:3px}
.bj-future-marker[aria-pressed=true]>span{background:var(--accent);border-color:var(--accent);color:#fff}.bj-future-marker[aria-pressed=true] i{background:var(--accent);border-color:white;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
#bj-plan-viewport[data-zoomed=true]{cursor:grab}#bj-plan-viewport[data-dragging=true]{cursor:grabbing}
.bj-footprints{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bj-footprints polygon{fill:transparent;stroke:transparent;stroke-width:3}.bj-footprints polygon[data-selected=true]{fill:color-mix(in srgb,var(--accent) 46%,transparent);stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 4px var(--accent))}
@media(max-width:1200px){
 .bj-plan-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.bj-plan-toolbar{gap:16px}
 .bj-home-tabs button{padding-inline:16px}.bj-layer-tabs button{font-size:11px;padding-inline:12px}
 .bj-home-panel>img{height:165px}.bj-home-panel-copy{padding:20px}.bj-home-panel h3{font-size:28px}
 .bj-home-offer strong{font-size:24px}.bj-map-marker>span{font-size:10px;padding:7px 10px}
}
@media(max-width:900px){
 .bj-plan-toolbar{align-items:stretch;flex-direction:column}.bj-layer-tabs{align-self:flex-start}.bj-plan-layout{grid-template-columns:1fr}
 .bj-home-panel{display:grid;grid-template-columns:240px 1fr}.bj-home-panel>img{height:100%;min-height:310px}
 .bj-home-panel-copy{padding:24px}.bj-home-panel-top{margin-bottom:12px}.bj-home-offer{margin-block:18px;padding-block:15px}
 .bj-home-panel .bj-button{width:auto;min-width:230px}.bj-parking-link{display:inline-block;text-align:left;margin-left:16px}
}
@media(max-width:700px){
 .bj-plan-toolbar{gap:12px;margin-bottom:18px}.bj-home-tabs{display:flex;gap:6px}.bj-home-tabs button{flex:1;font-size:11px;padding-inline:8px}
 .bj-layer-tabs{align-self:stretch}.bj-layer-tabs button{flex:1;font-size:10px;padding:10px 7px}.bj-plan-layout{gap:16px}
 .bj-map-controls{left:9px;bottom:63px}.bj-map-controls button{width:33px;height:44px;font-size:21px}.bj-map-controls>span{font-size:9px;min-width:31px}
 .bj-map-legend{font-size:8px;gap:9px;padding:13px 10px;min-height:48px}
 .bj-map-marker{width:22px;height:22px}.bj-map-marker i{left:5px;top:5px}.bj-map-marker>span{font-size:9px;padding:5px 6px;left:11px;bottom:18px}
 .bj-marker-four>span{left:-4px;bottom:20px}.bj-marker-aparts>span{left:27px;bottom:-5px;transform:none;font-size:0;min-width:42px}
 .bj-marker-aparts>span:after{content:'Апарт.';font-size:9px}.bj-marker-two>span{left:-3px;bottom:-2px;transform:translateX(-100%)}
 .bj-future-marker>span{font-size:0;line-height:1.3;padding:5px 6px;bottom:17px}.bj-future-marker>span:before{content:'Ш';font-size:9px}.bj-future-marker small{font-size:0;margin:0}
 .bj-marker-garden>span:before{content:'ДС'}.bj-marker-garden>span{left:0;bottom:-12px;transform:translateX(-100%)}
 .bj-marker-school-two>span{left:24px;bottom:-12px;transform:none}.bj-future-marker[data-bj-place=school]>span{bottom:27px;left:16px}
 .bj-home-panel{display:block}.bj-home-panel>img{height:200px;min-height:0}.bj-home-panel-copy{padding:24px}
 .bj-home-panel-top{margin-bottom:18px}.bj-home-panel h3{font-size:30px}.bj-home-offer{margin-block:22px 20px;gap:8px;padding-block:18px}
 .bj-home-offer strong{font-size:26px}.bj-home-panel .bj-button{width:100%;font-size:12px}.bj-parking-link{display:block;margin-left:0;text-align:center;font-size:12px}
 .bj-home-secondary{font-size:11px;margin-top:20px}.bj-home-secondary>button{font-size:11px}.bj-plan-note{font-size:10px}
 .bj-place-note{font-size:13px;padding:18px}.bj-place-note p{font-size:12px}
}
