.site-lightbox[hidden]{display:none!important}
.site-lightbox{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:clamp(12px,3vw,40px);background:rgba(6,18,13,.94);backdrop-filter:blur(14px)}
.site-lightbox-inner{position:relative;width:min(1400px,100%);height:min(92dvh,900px);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;place-items:center}
.site-lightbox-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.38)}
.site-lightbox-close{position:absolute;top:10px;right:10px;z-index:2;width:42px;height:42px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(4,18,12,.72);color:#fff;cursor:pointer;font-size:24px;line-height:1}
.site-lightbox-close:hover,.site-lightbox-close:focus-visible{background:#fff;color:#123927;outline:3px solid rgba(232,244,209,.5)}
.site-lightbox-caption{max-width:75ch;color:#f7f8f1;text-align:center;font:500 13px/1.45 var(--sans)}
.site-lightbox-caption small{display:block;margin-top:4px;color:#c9d8c7;font:10px var(--mono)}
.site-lightbox-target{cursor:zoom-in}
.site-lightbox-target:focus-visible{outline:3px solid #f0c56c;outline-offset:3px}
.lodging-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.lodging-detail-gallery-item{padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);cursor:zoom-in;aspect-ratio:4/3}
.lodging-detail-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.lodging-detail-gallery-item:hover img,.lodging-detail-gallery-item:focus-visible img{transform:scale(1.035)}
.lodging-no-photo{margin-top:16px}
.lodging-no-photo p{margin:6px 0 0}
.lodging-photo-count,.lodging-photo-missing{display:block;padding:5px 7px;background:rgba(12,35,25,.82);color:#f0c56c;font:9px var(--mono)}
.lodging-image.is-image-missing{background:linear-gradient(135deg,#dfe9dc,#c8d6cb)!important;color:#173f32}
.lodging-image.is-image-missing .lodging-photo-missing{background:rgba(23,63,50,.86);color:#f6f7ee}
.lodging-address{display:block;margin:-2px 0 10px;color:var(--muted);font:10px/1.4 var(--mono)}
@media (max-width:600px){.site-lightbox-inner{height:min(84dvh,760px)}.lodging-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.site-lightbox-caption{font-size:12px}}
