/* Shared photo/floor-plan viewer for Media and public property sites. */
.ogle-lightbox{--lightbox-gutter:64px;--lightbox-toolbar-height:50px;--lightbox-footer-height:54px;--lightbox-width:min(1440px,calc(100vw - 2 * var(--lightbox-gutter)),calc((100dvh - var(--lightbox-toolbar-height) - var(--lightbox-footer-height) - 32px) * 4 / 3));position:fixed;inset:0;box-sizing:border-box;width:var(--lightbox-width);height:fit-content;max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:var(--lightbox-toolbar-height) 0 0;overflow:visible;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;transform:none}
.ogle-lightbox::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(2px)}
.ogle-lightbox .ogle-lightbox-shell{position:relative;box-sizing:border-box;width:100%;height:auto;margin:0;padding:0;background:transparent;visibility:visible}
.ogle-lightbox .ogle-lightbox-view{position:relative;width:100%;height:auto;aspect-ratio:4/3;overflow:visible;border:0;border-radius:18px;background:#050505;box-shadow:0 18px 54px rgba(0,0,0,.65),0 3px 12px rgba(0,0,0,.35)}
.ogle-lightbox .ogle-lightbox-stage{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.ogle-lightbox .ogle-lightbox-stage>img{position:absolute;inset:0;display:block;box-sizing:border-box;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;object-fit:cover;user-select:none;-webkit-user-drag:none}
/* Keep all floor-plan details readable when their aspect ratio differs. */
.floor-plan-lightbox .ogle-lightbox-stage>img{object-fit:contain}
.ogle-lightbox .ogle-lightbox-toolbar{position:absolute;z-index:5;top:calc(-1 * var(--lightbox-toolbar-height));right:0;display:flex;gap:6px}
.ogle-lightbox .ogle-lightbox-toolbar>button,.ogle-lightbox .ogle-lightbox-arrow{display:grid;place-items:center;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;cursor:pointer;filter:drop-shadow(0 2px 4px #000)}
.ogle-lightbox .ogle-lightbox-toolbar>button{position:static;width:42px;height:42px;line-height:1;transform:none}
.ogle-lightbox button svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ogle-lightbox .ogle-lightbox-arrow{position:absolute;z-index:4;top:50%;width:52px;height:80px;transform:translateY(-50%)}
.ogle-lightbox .ogle-lightbox-arrow svg{width:34px;height:40px}
.ogle-lightbox .ogle-lightbox-previous{left:calc(-1 * var(--lightbox-gutter))}.ogle-lightbox .ogle-lightbox-next{right:calc(-1 * var(--lightbox-gutter))}
.ogle-lightbox .ogle-lightbox-arrow:hover{background:transparent;transform:translateY(-50%) scale(1.08)}
.ogle-lightbox button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ogle-lightbox .ogle-lightbox-toolbar>button:focus{outline:0;outline-offset:0}
.ogle-lightbox .ogle-lightbox-toolbar>button:focus-visible svg{filter:drop-shadow(0 0 4px #fff)}
.ogle-lightbox .ogle-lightbox-footer{display:flex;gap:16px;align-items:start;box-sizing:border-box;height:var(--lightbox-footer-height);min-height:22px;margin:0;padding:10px 4px 0;color:#fff;font:14px/1.5 Arial,sans-serif;text-align:left}
.ogle-lightbox .ogle-lightbox-caption{position:static;flex:1;min-width:0;max-width:none;max-height:44px;overflow:auto;margin:0;padding:0;color:#fff;font:inherit;white-space:normal;overflow-wrap:anywhere}
.ogle-lightbox .ogle-lightbox-count{margin-left:auto;color:#ddd;font:12px/1.75 Arial,sans-serif;white-space:nowrap}
.ogle-lightbox .ogle-lightbox-status{position:absolute;z-index:6;left:50%;top:50%;max-width:80%;transform:translate(-50%,-50%);padding:10px 16px;border-radius:8px;background:rgba(0,0,0,.78);color:#fff;font:14px/1.5 Arial,sans-serif;text-align:center}
.ogle-lightbox .ogle-lightbox-status button{margin-left:6px;padding:5px 9px;border:1px solid #777;border-radius:6px;background:#151515;color:#fff;font:inherit;cursor:pointer}
.ogle-lightbox [hidden]{display:none!important}
.ogle-lightbox.is-fullscreen{width:100vw;height:100dvh;max-height:none;padding:0;margin:0;background:#333}
.ogle-lightbox.is-fullscreen .ogle-lightbox-shell,.ogle-lightbox .ogle-lightbox-shell:fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100vw;height:100dvh;padding:var(--lightbox-toolbar-height) 0 0;background:#333}
.ogle-lightbox.is-fullscreen .ogle-lightbox-view,.ogle-lightbox .ogle-lightbox-shell:fullscreen .ogle-lightbox-view{flex:1;min-height:0;width:calc(100vw - 2 * var(--lightbox-gutter));height:auto;aspect-ratio:auto;border-radius:0;box-shadow:none}
.ogle-lightbox.is-fullscreen .ogle-lightbox-stage>img,.ogle-lightbox .ogle-lightbox-shell:fullscreen .ogle-lightbox-stage>img{object-fit:contain}
.ogle-lightbox.is-fullscreen .ogle-lightbox-footer,.ogle-lightbox .ogle-lightbox-shell:fullscreen .ogle-lightbox-footer{flex:none;width:calc(100vw - 2 * var(--lightbox-gutter))}
@media(max-width:600px){.ogle-lightbox{--lightbox-gutter:40px;--lightbox-toolbar-height:44px;--lightbox-footer-height:72px}.ogle-lightbox .ogle-lightbox-view{border-radius:12px}.ogle-lightbox .ogle-lightbox-arrow{width:32px;height:64px}.ogle-lightbox .ogle-lightbox-arrow svg{width:26px;height:34px}.ogle-lightbox .ogle-lightbox-toolbar{gap:2px}.ogle-lightbox .ogle-lightbox-toolbar>button{width:38px;height:38px}.ogle-lightbox .ogle-lightbox-footer{font-size:13px}.ogle-lightbox .ogle-lightbox-caption{max-height:60px}}
.ogle-lightbox .ogle-fullscreen-contract,.ogle-lightbox.is-fullscreen .ogle-fullscreen-expand{display:none}
.ogle-lightbox.is-fullscreen .ogle-fullscreen-contract{display:block}
/* Hide native fullscreen content immediately when its dialog closes. */
.ogle-lightbox:not([open]) .ogle-lightbox-shell{visibility:hidden}
