.masonry-gallery{width:100%;padding:20px;box-sizing:border-box}.masonry-item{break-inside:avoid;margin-bottom:16px;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.masonry-item:hover{transform:scale(1.02);box-shadow:0 8px 25px rgba(0,0,0,.15)}.masonry-item img{width:100%;height:auto;display:block;border-radius:12px;transition:transform .3s ease}.masonry-item:hover img{transform:scale(1.05)}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.lightbox-content{position:relative;max-width:90vw;max-height:90vh}.lightbox-content img{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:-40px;right:0;background:rgba(255,255,255,.2);color:white;border:none;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.lightbox-close:hover{background:rgba(255,255,255,.3)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border:none;width:50px;height:50px;border-radius:50%;font-size:24px;font-weight:700;color:#333;cursor:pointer;z-index:1001;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.lightbox-nav:hover{background:rgba(255,255,255,1);box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-50%) scale(1.1)}.lightbox-nav--prev{left:20px}.lightbox-nav--next{right:20px}.lightbox-counter{position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);color:white;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500}@media (max-width:768px){.masonry-gallery{padding:10px}.masonry-item{margin-bottom:12px}}@media (max-width:640px){.masonry-gallery{padding:8px}.masonry-item{margin-bottom:8px}.masonry-item,.masonry-item img{border-radius:8px}.lightbox-close{top:-35px;font-size:20px}.lightbox-close,.lightbox-nav{width:44px;height:44px}.lightbox-nav--prev{left:10px}.lightbox-nav--next{right:10px}}