/* Consistent photo browsing without changing the image assignments. */
.photo-gallery{position:relative;min-width:0;overflow:visible}
.photo-gallery-stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sand);isolation:isolate;touch-action:pan-y pinch-zoom}
.photo-gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.photo-gallery-stage .photo-gallery-open img{position:static;display:block;width:100%;height:100%;object-fit:cover;opacity:1;transition:none}
.photo-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:48px;border:1px solid #ffffff50;background:#172c3ad9;color:#fff;font:32px/1 Georgia,serif;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0002}
.photo-gallery-arrow:hover{background:#172c3a}.photo-gallery-arrow.previous{left:10px}.photo-gallery-arrow.next{right:10px}.photo-gallery-arrow[hidden]{display:none}
.photo-gallery-count{position:absolute;right:10px;bottom:10px;background:#172c3ad9;color:white;font:12px/1.4 'Barlow',sans-serif;padding:5px 9px;pointer-events:none}
.photo-gallery-thumbs{position:relative;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:7px 2px 4px;margin-top:3px;text-align:left}
.photo-gallery-thumb{flex:0 0 66px;height:50px;padding:0;border:2px solid transparent;background:none;opacity:.6;cursor:pointer}
.photo-gallery-thumb.active{border-color:var(--accent);opacity:1}.photo-gallery-thumb:hover{opacity:1}
.photo-gallery-thumbs .photo-gallery-thumb img{position:static;display:block;width:100%;height:100%;object-fit:cover;opacity:1;transition:none}
.photo-gallery-hint{font:12px/1.5 'Barlow',sans-serif;color:var(--muted);margin:4px 0 0;text-align:left}
.photo-gallery button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.garden-slideshow.photo-gallery{aspect-ratio:auto;overflow:visible}.garden .photo-gallery-hint{color:#ffffffb8}
#sd-stinson-photos,#sd-mtam-photos,#sd-muir-photos{margin-top:1rem}
#page-seeando .photo-gallery-stage{aspect-ratio:16/9;max-height:500px}
#lightbox{touch-action:pan-x pan-y pinch-zoom}#lb-counter{color:#fff}.lb-close{width:44px;height:44px;right:12px;top:12px;opacity:1;background:#172c3a99}.lb-arrow{z-index:2}
@media(max-width:700px){.photo-gallery-stage{aspect-ratio:4/3}#page-seeando .photo-gallery-stage{aspect-ratio:4/3}.photo-gallery-arrow{width:44px;height:44px}.photo-gallery-arrow.previous{left:6px}.photo-gallery-arrow.next{right:6px}.photo-gallery-thumb{flex-basis:58px;height:44px}.photo-gallery-hint{font-size:11px}.see-section{padding-top:1.75rem}.see-rule{margin-top:1.75rem}#lb-img{max-width:100vw;max-height:76vh}.lb-inner{max-width:100vw}.lb-arrow{width:44px;height:52px}#lb-prev{left:0}#lb-next{right:0}}
@media(prefers-reduced-motion:reduce){.photo-gallery *{scroll-behavior:auto;transition:none}}

/* Smaller visual controls with a generous touch target. */
.photo-gallery-arrow,.lb-arrow{width:44px;height:44px;border:0;background:transparent;box-shadow:none;font-size:22px;isolation:isolate;color:#fff;text-shadow:-1px -1px 0 #111a22,1px -1px 0 #111a22,-1px 1px 0 #111a22,1px 1px 0 #111a22}
.photo-gallery-arrow::before,.lb-arrow::before{content:none}
.photo-gallery-arrow:hover,.lb-arrow:hover{background:transparent}

.photo-gallery-count{border-radius:12px;background:rgba(28,46,58,.9);font-size:11px;padding:3px 7px}
.lb-close{border-radius:50%;font-size:20px;background:rgba(28,46,58,.9)}

/* Keep native pinch zoom available; enlarged photos can scroll in both directions. */
.lb-viewport{width:90vw;height:76vh;overflow:auto;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain;display:block}
#lb-img{margin:auto;max-width:100%;max-height:76vh;cursor:zoom-in}
#lb-img.zoomed{max-width:none;max-height:none;cursor:zoom-out}
.lb-zoom{min-height:44px;padding:8px 18px;border:1px solid #ffffff88;border-radius:5px;background:#172c3a;color:#fff;cursor:pointer}
.lb-zoom:focus-visible,.lb-close:focus-visible,.lb-arrow:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:700px){.lb-viewport{width:100vw;height:70vh}#lb-img{max-height:70vh}}

.photo-gallery-thumb.active{border-color:#75603e;box-shadow:0 0 0 1px #fff}.photo-gallery button:focus-visible{outline:3px solid #164d70;outline-offset:3px;box-shadow:0 0 0 3px #fff}
.photo-gallery .photo-gallery-open:focus-visible{outline-offset:-6px;box-shadow:inset 0 0 0 3px #fff}

@media(max-width:860px){.room-item > .room-title{margin:0 0 -1rem}}
