.lightbox{position:fixed;inset:0;background:#fff;display:none;align-items:center;justify-content:center;z-index:9999}
.lightbox.is-open{display:flex}
/* Ensure gallery player keeps the original aspect ratio */
.lightbox img{width:92vw;height:86vh;object-fit:contain;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.15)}
.lightbox video{width:92vw;height:86vh;object-fit:contain;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.15);background:#000}
.lb-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;pointer-events:none}
.lb-btn{pointer-events:auto;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.1);color:#000;border-radius:9999px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.lb-btn:hover{background:rgba(0,0,0,.08)}
.lb-close{position:absolute;top:14px;right:14px}
.lb-play{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);padding:8px 14px;border-radius:9999px}
.grid .card{cursor:pointer}
.thumb-btn{display:block;position:relative;padding:0;border:0;background:none;cursor:pointer;width:100%}
.thumb-btn:hover .thumb{transform:scale(1.1)}
/* Videos section: enforce 4:3 thumbnail window and caption bar */
.video-thumb{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:8px}
.video-thumb .thumb-4x3{position:relative;width:100%;aspect-ratio:4/3;background:#f5f5f5;border-radius:8px;overflow:hidden}
.video-thumb .thumb-4x3 > video{width:100%;height:100%;object-fit:cover;display:block}
/* Allow re-use of same sizing for floor plan images */
.video-thumb .thumb-4x3 > img{width:100%;height:100%;object-fit:cover;display:block}
