/* GALLERY PAGE */
.gal-filter{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:44px}
.gf-btn{padding:10px 24px;border-radius:50px;border:1.5px solid var(--g200);background:#fff;color:var(--dark);font-weight:600;font-size:.84rem;cursor:pointer;transition:var(--tr);font-family:var(--fb)}
.gf-btn:hover{border-color:var(--green);color:var(--green)}
.gf-btn.on{background:var(--green);border-color:var(--green);color:#fff;box-shadow:var(--shg)}
.gal-masonry{columns:3;column-gap:16px}
.gal-item{break-inside:avoid;margin-bottom:16px;border-radius:var(--r);overflow:hidden;position:relative;cursor:pointer;display:block}
.gal-item img{width:100%;display:block;transition:transform .55s ease}
.gal-item:hover img{transform:scale(1.05)}
.gal-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 55%);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end;padding:18px}
.gal-item:hover .gal-ov{opacity:1}
.gal-ov span{color:#fff;font-weight:600;font-size:.85rem}
/* Lightbox */
#lb{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9999;display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px}
#lb.open{display:flex}
#lb-close{position:absolute;top:20px;right:28px;color:#fff;font-size:1.7rem;cursor:pointer;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--tr)}
#lb-close:hover{background:rgba(255,255,255,.2)}
#lb-img{max-width:90vw;max-height:82vh;object-fit:contain;border-radius:var(--r);display:block}
#lb-cap{color:rgba(255,255,255,.7);font-size:.85rem}
#lb-prev,#lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--tr);font-size:1.2rem}
#lb-prev{left:20px}#lb-next{right:20px}
#lb-prev:hover,#lb-next:hover{background:rgba(255,255,255,.22)}
@media(max-width:768px){.gal-masonry{columns:2}}
@media(max-width:480px){.gal-masonry{columns:1}}
