.geo-photo-gallery{max-width:1100px;margin:2rem auto;padding:0 1rem}.geo-photo-gallery section{margin:2rem 0}.geo-photo-gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.geo-photo-gallery__item{display:block;color:inherit;text-decoration:none;min-width:0}.geo-photo-gallery__item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.geo-photo-gallery__item span{display:block;margin:.4rem 0;font-size:.9rem}.geo-photo-gallery__pages{display:flex;justify-content:center;gap:1rem;align-items:center;margin:1.5rem 0}.geo-photo-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.94);color:#fff;display:flex;align-items:center;justify-content:center;padding:3rem 1rem 1rem}.geo-photo-lightbox[hidden]{display:none}.geo-photo-lightbox__figure{margin:0;max-width:min(90vw,1200px);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem}.geo-photo-lightbox img{max-width:100%;max-height:72vh;object-fit:contain}.geo-photo-lightbox__close,.geo-photo-lightbox__nav{position:absolute;background:#fff;color:#111;border:0;border-radius:4px;padding:.5rem;cursor:pointer}.geo-photo-lightbox__close{top:.75rem;right:1rem}.geo-photo-lightbox__prev{left:.5rem}.geo-photo-lightbox__next{right:.5rem}.geo-photo-lightbox figcaption{text-align:center;overflow:auto;max-height:15vh;overflow-wrap:anywhere}.geo-photo-lightbox figcaption span{display:block}@media(max-width:800px){.geo-photo-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.geo-photo-gallery__grid{gap:.6rem}.geo-photo-lightbox img{max-height:65vh}.geo-photo-lightbox__nav{bottom:.5rem;top:auto}}
