
.floorplan-gallery{display:flex;flex-direction:row;gap:16px;width:100%;max-width:540px}
.floorplan-thumb{flex:1 1 0;cursor:pointer;text-align:center}
.floorplan-thumb img{width:100%;height:auto;object-fit:contain;border:1px solid #e5e0d8;border-radius:4px;background:#fff;transition:box-shadow .2s ease,transform .2s ease;display:block}
.floorplan-thumb:hover img,.floorplan-thumb:focus-visible img{box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-2px)}
.floorplan-thumb:focus-visible{outline:2px solid #DDAE00;outline-offset:4px}
#floorplan-lightbox{display:none;position:fixed;inset:0;z-index:99999;background:rgba(31,27,26,.9);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
#floorplan-lightbox.active{display:block}
#floorplan-lightbox .fpl-stage{position:absolute;inset:48px 216px;display:flex;flex-direction:column;align-items:center;justify-content:center}
#floorplan-lightbox .fpl-card{position:relative;overflow:hidden;background:#fff;height:min(calc(100dvh - 96px),calc((100vw - 432px) / var(--ar,.875)));max-width:100%;aspect-ratio:var(--ar,.875);touch-action:none}
#floorplan-lightbox .fpl-img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 50%;transition:transform .2s ease;user-select:none;-webkit-user-drag:none}
#floorplan-lightbox.is-zoomed .fpl-img{cursor:grab}
#floorplan-lightbox.is-drag .fpl-img{cursor:grabbing;transition:none}
#floorplan-lightbox .fpl-btn{all:unset;box-sizing:border-box;position:absolute;width:96px;height:96px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#DDAE00;--p:#FBD663;background:none;border:0;border-radius:0;-webkit-tap-highlight-color:transparent;transition:opacity .2s ease}
#floorplan-lightbox .fpl-btn svg{width:100%;height:100%;overflow:visible;pointer-events:none;stroke-linecap:round;stroke-linejoin:round}
#floorplan-lightbox .fpl-btn .o{fill:none;stroke:currentColor;stroke-width:3;transition:opacity .15s ease}
#floorplan-lightbox .fpl-btn .f{opacity:0;transition:opacity .15s ease}
#floorplan-lightbox .fpl-btn .f rect{fill:currentColor;stroke:none;transition:fill .1s ease}
#floorplan-lightbox .fpl-btn .f path{fill:none;stroke:#1F1B1A;stroke-width:6}
@media(hover:hover){#floorplan-lightbox .fpl-btn:not([aria-disabled="true"]):hover .f{opacity:1}#floorplan-lightbox .fpl-btn:not([aria-disabled="true"]):hover .o{opacity:0}}
#floorplan-lightbox .fpl-btn:not([aria-disabled="true"]):focus-visible .f,#floorplan-lightbox .fpl-btn:not([aria-disabled="true"]):active .f{opacity:1}
#floorplan-lightbox .fpl-btn:not([aria-disabled="true"]):focus-visible .o,#floorplan-lightbox .fpl-btn:not([aria-disabled="true"]):active .o{opacity:0}
#floorplan-lightbox .fpl-btn:not([aria-disabled="true"]):active .f rect{fill:var(--p)}
#floorplan-lightbox .fpl-btn:focus-visible{outline:2px solid #F9F7F5;outline-offset:2px}
#floorplan-lightbox .fpl-prev{left:96px;top:50%;margin-top:-48px}
#floorplan-lightbox .fpl-next{right:96px;top:50%;margin-top:-48px}
#floorplan-lightbox.fpl-single .fpl-prev,#floorplan-lightbox.fpl-single .fpl-next{display:none}
#floorplan-lightbox .fpl-tools{position:absolute;top:48px;right:96px;width:96px;display:flex;flex-direction:column;align-items:center}
#floorplan-lightbox .fpl-tools .fpl-btn{position:relative}
#floorplan-lightbox .fpl-close{color:#F9F7F5;--p:#CFD5D4;margin-bottom:12px}
#floorplan-lightbox .fpl-zoom{width:64px;height:64px;color:#F9F7F5;--p:#CFD5D4}
#floorplan-lightbox .fpl-btn[aria-disabled="true"]{opacity:.35;cursor:default;color:#F9F7F5}
@media(max-width:1024px){
#floorplan-lightbox .fpl-stage{inset:24px 112px}
#floorplan-lightbox .fpl-card{height:min(calc(100dvh - 48px),calc((100vw - 224px) / var(--ar,.875)))}
#floorplan-lightbox .fpl-btn{width:64px;height:64px}
#floorplan-lightbox .fpl-prev{left:24px;margin-top:-32px}
#floorplan-lightbox .fpl-next{right:24px;margin-top:-32px}
#floorplan-lightbox .fpl-tools{top:24px;right:24px;width:64px}
#floorplan-lightbox .fpl-close{margin-bottom:8px}
#floorplan-lightbox .fpl-zoom{width:48px;height:48px}
}
@media(max-width:767px){
#floorplan-lightbox .fpl-stage{inset:88px 16px 96px}
#floorplan-lightbox .fpl-card{height:auto;width:100%;max-height:calc(100dvh - 184px)}
#floorplan-lightbox .fpl-btn{width:56px;height:56px}
#floorplan-lightbox .fpl-prev,#floorplan-lightbox .fpl-next{top:auto;bottom:24px;margin-top:0}
#floorplan-lightbox .fpl-prev{left:calc(50% - 64px)}
#floorplan-lightbox .fpl-next{right:calc(50% - 64px)}
#floorplan-lightbox .fpl-tools{top:16px;right:16px;width:auto;flex-direction:row-reverse;gap:4px}
#floorplan-lightbox .fpl-close{margin-bottom:0}
#floorplan-lightbox .fpl-zoom{width:48px;height:56px}
}
@media(prefers-reduced-motion:reduce){#floorplan-lightbox .fpl-img,#floorplan-lightbox .fpl-btn,#floorplan-lightbox .fpl-btn .o,#floorplan-lightbox .fpl-btn .f,#floorplan-lightbox .fpl-btn .f rect{transition:none}}
