.gallery-section{background:var(--white)}.gallery-filters{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;margin-bottom:3rem}.gallery-filter-btn{padding:.6rem 1.5rem;border:1px solid var(--cream-dark);border-radius:50px;background:transparent;font-family:Nunito Sans,sans-serif;font-size:.8rem;font-weight:400;letter-spacing:.05em;color:var(--brown-light);cursor:pointer;transition:all .3s}.gallery-filter-btn:hover,.gallery-filter-btn.active{background:var(--dark);color:var(--cream);border-color:var(--dark)}.gallery-wrapper{position:relative}.gallery-fade{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to bottom,transparent 0%,var(--white) 100%);z-index:5;pointer-events:none;transition:opacity .4s;opacity:0}.gallery-wrapper.has-more .gallery-fade{opacity:1}.gallery-grid{columns:3;column-gap:1.2rem}.gallery-item{break-inside:avoid;margin-bottom:1.2rem;border-radius:16px;overflow:hidden;position:relative;cursor:pointer;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s}.gallery-item.hidden-item{display:none}.gallery-item:hover{transform:scale(1.02)}.gallery-item img{width:100%;display:block;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .4s;aspect-ratio:auto}.gallery-item:hover img{transform:scale(1.05)}.gallery-item .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(58,46,42,.6) 0%,transparent 50%);opacity:0;transition:opacity .4s;display:flex;align-items:flex-end;padding:1.5rem}.gallery-item:hover .overlay{opacity:1}.overlay-text{color:var(--cream);font-family:Nunito Sans,sans-serif;font-size:1.2rem;font-weight:600}.gallery-show-more{display:flex;justify-content:center;margin-top:2rem;position:relative;z-index:10}.gallery-show-more-btn{padding:.8rem 2rem;background:transparent;border:1px solid var(--brown-light);border-radius:50px;font-family:Nunito Sans,sans-serif;font-size:.85rem;font-weight:400;color:var(--brown);cursor:pointer;transition:all .3s;letter-spacing:.05em}.gallery-show-more-btn:hover{background:var(--dark);color:var(--cream);border-color:var(--dark)}.lightbox{position:fixed;inset:0;z-index:1000;background:#000000eb;display:none;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .3s}.lightbox.active{display:flex;opacity:1}.lightbox-main{flex:1;display:flex;justify-content:center;align-items:center;width:100%;min-height:0;padding:1rem}.lightbox-main img{max-width:90vw;max-height:calc(100vh - 130px);object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:1rem;right:1rem;width:48px;height:48px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:background .3s;z-index:10}.lightbox-close:hover{background:#fff3}.lightbox-close svg{width:24px;height:24px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:background .3s;z-index:10}.lightbox-nav:hover{background:#ffffff40}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-thumbs{width:100%;padding:.6rem 1rem;display:flex;justify-content:center;align-items:center;gap:6px;overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumb{width:48px;height:48px;border-radius:6px;overflow:hidden;cursor:pointer;flex-shrink:0;border:2px solid transparent;opacity:.5;transition:opacity .2s,border-color .2s}.lightbox-thumb.active{opacity:1;border-color:var(--gold)}.lightbox-thumb:hover{opacity:.8}.lightbox-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:1024px){.gallery-grid{columns:2}}@media(max-width:768px){.gallery-grid{columns:2;column-gap:.8rem}.gallery-item{margin-bottom:.8rem;border-radius:12px}.gallery-filters{gap:.5rem}.gallery-filter-btn{padding:.5rem 1rem;font-size:.75rem}.lightbox-thumb,.lightbox-nav{width:36px;height:36px}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}}
