
.bfp-public{--bfp-ink:#162238;--bfp-muted:#667085;--bfp-line:#e7e2d8;--bfp-soft:#f5f1e7;--bfp-yellow:#f3c84b;margin:0 auto;padding:78px 0;color:var(--bfp-ink)}
.bfp-public-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}
.bfp-public-head h2{font-size:clamp(32px,4.5vw,50px);line-height:1;margin:0 0 10px;letter-spacing:-.04em}
.bfp-public-head p{margin:0;max-width:660px;color:var(--bfp-muted)}
.bfp-kicker{display:block;margin-bottom:9px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#1e4f7a}
.bfp-floor-tabs{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.bfp-floor-tab{min-height:44px;padding:0 16px;border:1px solid var(--bfp-line);border-radius:999px;background:#fff;font-weight:800;color:var(--bfp-ink);cursor:pointer}
.bfp-floor-tab.is-active{background:var(--bfp-ink);border-color:var(--bfp-ink);color:#fff}
.bfp-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:center;margin-bottom:16px}
.bfp-search input{width:100%;min-height:48px;border:1px solid var(--bfp-line);border-radius:14px;background:#fff;padding:0 15px;font-size:16px;color:var(--bfp-ink)}
.bfp-zoom{display:flex;gap:5px}.bfp-zoom button{min-height:44px;border:1px solid var(--bfp-line);background:#fff;border-radius:12px;padding:0 13px;font-weight:800;cursor:pointer}
.bfp-result-count{font-size:13px;font-weight:800;color:var(--bfp-muted);white-space:nowrap}
.bfp-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}
.bfp-plan-column{min-width:0}
.bfp-floor-panel{border:1px solid var(--bfp-line);border-radius:24px;background:#fff;padding:12px;overflow:hidden}
.bfp-plan-scroll{overflow:auto;border-radius:16px;background:#fafafa;overscroll-behavior:contain}
.bfp-plan-stage{width:100%;min-width:100%;transition:width .18s ease}
.bfp-plan-stage svg{display:block;width:100%;height:auto;background:#fff}
.bfp-room polygon{fill-opacity:.24;stroke-opacity:.95;stroke-width:2.2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .15s,stroke-width .15s,opacity .15s}
.bfp-room:hover polygon,.bfp-room:focus polygon,.bfp-room.is-selected polygon{fill-opacity:.47;stroke-width:4}
.bfp-room:focus{outline:none}.bfp-room:focus polygon{filter:drop-shadow(0 0 2px rgba(22,34,56,.45))}
.bfp-room.is-dimmed{opacity:.14}
.bfp-room text{font:800 13px/1.1 system-ui,-apple-system,"Segoe UI",sans-serif;fill:var(--bfp-ink);paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;pointer-events:none}
.bfp-status-free polygon{stroke-dasharray:8 5}.bfp-status-service polygon{fill-opacity:.13}
.bfp-plan-help{margin:9px 0 0;color:var(--bfp-muted);font-size:12px}
.bfp-side{display:grid;gap:14px;position:sticky;top:96px}
.bfp-detail,.bfp-room-list-wrap{background:#fff;border:1px solid var(--bfp-line);border-radius:20px;padding:20px}
.bfp-detail-empty{text-align:center;padding:14px 4px;color:var(--bfp-muted)}
.bfp-detail-empty strong{display:block;color:var(--bfp-ink);font-size:18px;margin:10px 0 4px}.bfp-detail-empty p{margin:0;font-size:13px}
.bfp-detail-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--bfp-soft);margin:auto;font-size:22px}
.bfp-detail-logo{height:64px;margin-bottom:13px;display:flex;align-items:center}.bfp-detail-logo img{max-height:60px;max-width:100%;width:auto}
.bfp-detail-status{display:inline-block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#1e4f7a;margin-bottom:7px}
.bfp-detail h3{font-size:24px;line-height:1.08;margin:0 0 8px}.bfp-detail p{color:var(--bfp-muted);font-size:14px;margin:7px 0}
.bfp-detail-link{display:inline-flex;margin-top:11px;font-weight:850;color:#1e4f7a}
.bfp-list-title{display:block;margin-bottom:10px}.bfp-room-list{display:grid;gap:5px;max-height:470px;overflow:auto;padding-right:3px}
.bfp-room-list-item{width:100%;display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:start;border:0;background:transparent;border-radius:12px;padding:9px;text-align:left;color:var(--bfp-ink);cursor:pointer}
.bfp-room-list-item:hover,.bfp-room-list-item.is-selected{background:var(--bfp-soft)}
.bfp-room-list-item b{display:block;font-size:14px;line-height:1.2}.bfp-room-list-item small{display:block;margin-top:2px;color:var(--bfp-muted)}
.bfp-room-dot{width:10px;height:10px;border-radius:50%;background:var(--bfp-dot);margin-top:4px}
.bfp-room-list-item.is-search-hidden{display:none!important}
@media(max-width:980px){.bfp-layout{grid-template-columns:1fr}.bfp-side{position:static;grid-template-columns:1fr 1fr}.bfp-room-list{max-height:320px}}
@media(max-width:720px){.bfp-public{padding:58px 0}.bfp-public-head{display:block}.bfp-floor-tabs{justify-content:flex-start;margin-top:18px}.bfp-tools{grid-template-columns:1fr auto}.bfp-result-count{grid-column:1/-1}.bfp-layout{display:block}.bfp-side{display:grid;grid-template-columns:1fr;margin-top:12px}.bfp-floor-panel{padding:7px;border-radius:18px}.bfp-plan-stage{min-width:100%}.bfp-room text{font-size:15px}.bfp-room-list{max-height:none}.bfp-zoom button{padding:0 11px}}

.bfp-no-results{margin-top:10px;padding:12px 13px;border-radius:12px;background:var(--bfp-soft);color:var(--bfp-muted);font-size:13px}
.bfp-no-results[hidden]{display:none}


/* v1.3 — заявка для свободных помещений */
.bfp-detail-link.is-rent-link{
 display:inline-flex;
 min-height:46px;
 align-items:center;
 justify-content:center;
 padding:0 17px;
 border-radius:13px;
 background:var(--bfp-ink);
 color:#fff;
 text-decoration:none;
}
.bfp-modal-open{overflow:hidden}
.bfp-rent-modal[hidden]{display:none!important}
.bfp-rent-modal{
 position:fixed;
 inset:0;
 z-index:99999;
 display:grid;
 place-items:center;
 padding:24px;
}
.bfp-rent-backdrop{
 position:absolute;
 inset:0;
 background:rgba(10,20,35,.68);
 backdrop-filter:blur(5px);
}
.bfp-rent-dialog{
 position:relative;
 z-index:1;
 width:min(760px,100%);
 max-height:calc(100vh - 48px);
 overflow:auto;
 background:#fff;
 border-radius:26px;
 padding:30px;
 box-shadow:0 30px 80px rgba(0,0,0,.28);
}
.bfp-rent-close{
 position:absolute;
 right:15px;
 top:15px;
 width:44px;
 height:44px;
 border:0;
 border-radius:13px;
 background:#f3f1ec;
 color:var(--bfp-ink);
 font-size:28px;
 line-height:1;
 cursor:pointer;
}
.bfp-rent-dialog-head{padding-right:54px;margin-bottom:20px}
.bfp-rent-dialog-head h2{
 margin:0 0 8px;
 font-size:clamp(28px,4vw,42px);
 line-height:1;
 letter-spacing:-.035em;
}
.bfp-rent-dialog-head p{
 margin:0;
 color:var(--bfp-muted);
 font-weight:750;
}
.bfp-rent-form-wrap .borisovskiy-rent-form{margin:0}
@media(max-width:640px){
 .bfp-rent-modal{padding:10px}
 .bfp-rent-dialog{max-height:calc(100vh - 20px);padding:24px 18px;border-radius:20px}
 .bfp-rent-close{right:10px;top:10px}
 .bfp-rent-dialog-head{padding-right:48px}
}
@media(prefers-reduced-motion:reduce){
 .bfp-rent-backdrop{backdrop-filter:none}
}


/* v1.4 — компактный локатор арендатора */
.bfp-tenant-locator{
 margin:48px 0;
 padding:0;
}
.bfp-tenant-locator-head{
 display:flex;
 align-items:flex-end;
 justify-content:space-between;
 gap:22px;
 margin-bottom:18px;
}
.bfp-tenant-locator-head h2{
 margin:4px 0 8px;
 font-size:clamp(28px,4vw,44px);
 line-height:1.02;
 letter-spacing:-.035em;
}
.bfp-tenant-locator-head p{
 margin:0;
 max-width:720px;
 color:var(--bfp-muted);
}
.bfp-locator-tabs{
 display:flex;
 gap:8px;
 flex-wrap:wrap;
}
.bfp-locator-tab{
 border:1px solid var(--bfp-line);
 background:#fff;
 color:var(--bfp-ink);
 border-radius:999px;
 padding:10px 14px;
 font:inherit;
 font-size:13px;
 font-weight:800;
 cursor:pointer;
}
.bfp-locator-tab.is-active{
 background:var(--bfp-ink);
 color:#fff;
 border-color:var(--bfp-ink);
}
.bfp-tenant-locator-card{
 display:grid;
 grid-template-columns:minmax(0,1fr) 300px;
 overflow:hidden;
 border:1px solid var(--bfp-line);
 border-radius:26px;
 background:#fff;
 box-shadow:0 16px 42px rgba(23,37,61,.08);
}
.bfp-locator-stage-wrap{
 min-width:0;
 background:#eef0ed;
}
.bfp-locator-panel{
 position:relative;
 min-height:420px;
}
.bfp-locator-panel[hidden]{display:none!important}
.bfp-locator-floor-label{
 position:absolute;
 z-index:2;
 left:18px;
 top:18px;
 padding:8px 11px;
 border-radius:999px;
 background:rgba(255,255,255,.94);
 color:var(--bfp-ink);
 font-size:12px;
 font-weight:900;
 box-shadow:0 6px 18px rgba(23,37,61,.10);
}
.bfp-locator-scroll{
 overflow:auto;
 padding:22px;
}
.bfp-locator-stage{
 width:100%;
 min-width:560px;
}
.bfp-locator-stage svg{
 display:block;
 width:100%;
 height:auto;
}
.bfp-locator-room polygon{
 vector-effect:non-scaling-stroke;
}
.bfp-locator-room.is-muted polygon{
 opacity:.07;
 stroke-opacity:.16;
 stroke-width:1.4;
}
.bfp-locator-room.is-target polygon{
 opacity:.48;
 stroke-width:4;
 filter:drop-shadow(0 3px 7px rgba(17,32,55,.20));
}
.bfp-locator-marker-ring{
 fill:none;
 stroke:#fff;
 stroke-width:6;
 opacity:.96;
 vector-effect:non-scaling-stroke;
}
.bfp-locator-marker{
 fill:#17243a;
 stroke:#fff;
 stroke-width:4;
 vector-effect:non-scaling-stroke;
 filter:drop-shadow(0 4px 7px rgba(0,0,0,.22));
}
.bfp-locator-info{
 display:flex;
 flex-direction:column;
 padding:26px;
 border-left:1px solid var(--bfp-line);
}
.bfp-locator-tenant-row{
 display:flex;
 gap:13px;
 align-items:center;
 padding-bottom:20px;
 border-bottom:1px solid var(--bfp-line);
}
.bfp-locator-logo{
 width:62px;
 height:62px;
 flex:0 0 62px;
 display:grid;
 place-items:center;
 padding:8px;
 border:1px solid var(--bfp-line);
 border-radius:15px;
 background:#fff;
}
.bfp-locator-logo img{
 max-width:100%;
 max-height:100%;
 object-fit:contain;
}
.bfp-locator-caption{
 display:block;
 margin-bottom:3px;
 color:var(--bfp-muted);
 font-size:11px;
 font-weight:900;
 letter-spacing:.06em;
 text-transform:uppercase;
}
.bfp-locator-tenant-row strong{
 display:block;
 font-size:18px;
 line-height:1.15;
}
.bfp-locator-floor-summary{
 display:grid;
 gap:13px;
 padding:20px 0;
}
.bfp-locator-floor-summary div{
 display:grid;
 gap:3px;
}
.bfp-locator-floor-summary span{
 color:var(--bfp-muted);
 font-size:12px;
 font-weight:800;
}
.bfp-locator-floor-summary b{
 font-size:14px;
 line-height:1.35;
}
.bfp-locator-full-link{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:46px;
 margin-top:auto;
 padding:0 15px;
 border-radius:13px;
 background:var(--bfp-ink);
 color:#fff;
 text-decoration:none;
 font-weight:850;
}
@media(max-width:840px){
 .bfp-tenant-locator-head{align-items:flex-start;flex-direction:column}
 .bfp-tenant-locator-card{grid-template-columns:1fr}
 .bfp-locator-info{border-left:0;border-top:1px solid var(--bfp-line)}
 .bfp-locator-panel{min-height:auto}
}
@media(max-width:640px){
 .bfp-tenant-locator{margin:36px 0}
 .bfp-tenant-locator-card{border-radius:20px}
 .bfp-locator-scroll{padding:14px}
 .bfp-locator-stage{min-width:500px}
 .bfp-locator-info{padding:20px}
}
