.gallery-float{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:9px;background:#183e34;color:#fff;padding:13px 19px;border:2px solid #e5cc93;border-radius:40px;box-shadow:0 5px 22px #0003;font-size:14px;text-decoration:none}.gallery-float:hover{background:#285746}.gallery-float:focus-visible,.gallery-controls :focus-visible,.gallery-open:focus-visible{outline:3px solid #b48a37;outline-offset:4px}.gallery-intro{padding-bottom:20px}.gallery-intro p{max-width:750px}.gallery-controls{display:flex;gap:18px;align-items:end;flex-wrap:wrap;padding:22px;background:#f4f3ed;border:1px solid #d9ddd5;border-radius:12px;margin-bottom:24px}.gallery-controls label{display:grid;gap:8px;flex:1;min-width:220px;font-size:14px}.gallery-controls input,.gallery-controls select,.gallery-controls button,.gallery-viewer-nav button,#gallery-close{font:inherit;padding:12px;border:1px solid #9eaaa3;border-radius:6px;background:white;color:#183e34}.gallery-controls button,.gallery-viewer-nav button,#gallery-close{cursor:pointer}.gallery-controls p{width:100%;margin:0;font-size:14px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-card{border:1px solid #d9ddd5;border-radius:10px;overflow:hidden;background:white}.gallery-card[hidden],[hidden]{display:none!important}.gallery-card>div{padding:20px}.gallery-card h2{font-size:22px;line-height:1.3;text-transform:capitalize}.gallery-card p{font-size:14px}.gallery-open{display:block;position:relative}.gallery-open img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.gallery-open span{position:absolute;bottom:12px;right:12px;padding:7px 10px;background:#183e34ed;color:white;font-size:12px;border-radius:5px}#gallery-viewer{width:min(1100px,94vw);max-height:92dvh;padding:18px;border:0;border-radius:12px;color:#183e34;overflow:auto}#gallery-viewer::backdrop{background:#071911dc}#gallery-full{display:block;width:100%;max-height:65dvh;object-fit:contain}#gallery-close{display:block;margin:0 0 12px auto}#gallery-caption{text-transform:capitalize}.gallery-viewer-nav{display:flex;justify-content:space-between;gap:15px}footer{padding-bottom:100px!important}@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.photo-grid{grid-template-columns:1fr}.gallery-controls{padding:16px}.gallery-controls label{min-width:100%}.gallery-float{right:12px;padding:11px 15px;bottom:calc(12px + env(safe-area-inset-bottom))}}
