.property-gallery{margin:12px 0 36px}.gallery-hero{position:relative;display:block;background:#e8e9e0;border-radius:9px;overflow:hidden}.gallery-hero>img{display:block;width:100%;height:min(58vw,620px);object-fit:contain}.gallery-count{position:absolute;right:24px;bottom:24px;padding:13px 18px;border-radius:5px;background:#fffdf5;color:#253f33;font:600 12px/1.4 var(--sans,Arial,sans-serif);box-shadow:0 4px 20px #0002}.gallery-thumbnails{display:flex;gap:12px;overflow-x:auto;list-style:none;margin:14px 0 0;padding:0 0 8px;scroll-snap-type:x proximity}.gallery-thumbnails li{flex:0 0 145px;scroll-snap-align:start}.gallery-thumbnails a{display:block;border-radius:5px;overflow:hidden;background:#e8e9e0}.gallery-thumbnails img{display:block;width:100%;height:105px;object-fit:cover;transition:opacity .2s}.gallery-thumbnails a:hover img{opacity:.8}.gallery-credit{font-size:11px;line-height:1.7;color:#6c746c;margin:8px 0}.gallery-credit a{text-decoration:underline;text-underline-offset:3px}.gallery-dialog{border:1px solid #ffffff25;background:#152019;color:#fff;border-radius:12px;width:calc(100vw - 40px);max-width:1800px;max-height:calc(100dvh - 40px);padding:24px;box-sizing:border-box}.gallery-dialog::backdrop{background:#101912e8}.gallery-dialog form{text-align:right;margin:0 0 12px}.gallery-close,.gallery-stage>button{background:#ffffff13;border:1px solid #ffffff35;color:inherit;border-radius:5px;padding:12px 16px;font:inherit;cursor:pointer}.gallery-stage{display:grid;grid-template-columns:48px 1fr 48px;gap:14px;align-items:center}.gallery-stage figure{margin:0;min-width:0;text-align:center}.gallery-stage img{display:block;width:100%;height:min(78dvh,1000px);object-fit:contain}.gallery-stage figcaption{font-size:12px;color:#d4dccf;padding:14px 0 4px}.gallery-stage>button{padding:12px;font-size:20px}.property-gallery a:focus-visible,.gallery-dialog button:focus-visible{outline:3px solid #93aa7c;outline-offset:3px}@media(max-width:600px){.gallery-hero>img{height:72vw}.gallery-count{right:12px;bottom:12px;font-size:11px;padding:10px 13px}.gallery-thumbnails{gap:8px}.gallery-thumbnails li{flex-basis:104px}.gallery-thumbnails img{height:78px}.gallery-dialog{width:calc(100vw - 16px);padding:12px}.gallery-stage{grid-template-columns:34px 1fr 34px;gap:4px}.gallery-stage>button{padding:9px 5px}.gallery-stage img{height:65dvh}.gallery-close{font-size:12px;padding:9px 12px}}
