.gallery-nav{background:var(--bg-secondary);padding:1.5rem 0;position:relative;z-index:100;box-shadow:var(--shadow-md)}.gallery-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;padding:.5rem}.filter-btn{background:0 0;color:var(--text-primary);border:0;padding:.6rem 1.5rem;border-radius:50px;font-size:.95rem;font-weight:500;cursor:pointer;transition:var(--transition)}.filter-btn.active,.filter-btn:focus,.filter-btn:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.filter-btn .mobile-label{display:none}.main-gallery{padding:3rem 0;min-height:60vh}.category-title{text-align:center;margin-bottom:2.5rem;position:relative}.category-title::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-.75rem;width:60px;height:4px;background:var(--gradient-primary);border-radius:2px}.event-banners{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.event-banners.items-1{grid-template-columns:1fr;max-width:600px;margin:0 auto}.event-banners.items-2{grid-template-columns:repeat(2,1fr)}.event-banners.items-3{grid-template-columns:repeat(3,1fr)}.event-banners.items-4{grid-template-columns:repeat(2,1fr)}.event-banners.items-5,.event-banners.items-6,.event-banners.items-7{grid-template-columns:repeat(3,1fr)}.event-banner{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md);height:250px;cursor:pointer;transition:var(--transition)}.event-banner:hover{transform:translateY(-10px);box-shadow:var(--shadow-xl)}.banner-image{width:100%;height:100%;position:relative}.banner-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.event-banner:hover .banner-image img,.photo-item:hover img{transform:scale(1.05)}.banner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.8)0,rgba(0,0,0,.4) 50%,rgba(0,0,0,.2) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:background .3s ease}.event-banner:hover .banner-overlay{background:linear-gradient(to top,rgba(0,0,0,.9)0,rgba(0,0,0,.5) 50%,rgba(0,0,0,.3) 100%)}.banner-overlay h3{color:#fff;margin-bottom:.5rem;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.banner-overlay p{color:rgba(255,255,255,.9);margin-bottom:1rem;font-size:.95rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.photo-count{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.2);color:#fff;padding:.3rem .7rem;border-radius:50px;font-size:.85rem;transition:var(--transition)}.event-banner:hover .photo-count{background:var(--primary-color)}.event-photos{animation:fadeInUp .5s ease}.back-button,.event-header{display:flex;align-items:center}.event-header{margin-bottom:2rem;gap:1rem}.back-button{background:var(--bg-tertiary);border:0;color:var(--text-primary);padding:.5rem 1rem;border-radius:50px;gap:.5rem;cursor:pointer;transition:var(--transition);font-size:.9rem}.back-button:focus,.back-button:hover{background:var(--primary-color);color:#fff;transform:translateX(-5px)}.event-title{flex:1;margin-bottom:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.photo-item{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);cursor:pointer;transition:var(--transition);height:0;padding-bottom:75%;position:relative}.photo-item img{transition:transform .5s ease}.photo-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.photo-item img,.video-container,.video-container video{position:absolute;top:0;left:0;width:100%;height:100%}.photo-item img,.video-container video{object-fit:cover}.video-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;color:var(--white);opacity:.9;pointer-events:none;transition:var(--transition);text-shadow:0 2px 10px rgba(0,0,0,.5)}.photo-item:hover .video-indicator{opacity:1;transform:translate(-50%,-50%) scale(1.1)}.lightbox-modal,.video-sound-toggle{align-items:center;justify-content:center}.video-sound-toggle{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.7);border:2px solid var(--white);border-radius:50%;width:40px;height:40px;display:flex;cursor:pointer;z-index:10;transition:var(--transition);color:var(--white);font-size:1rem}.video-sound-toggle:hover{background:var(--primary-color);border-color:var(--primary-color);transform:scale(1.1)}.video-sound-toggle i{pointer-events:none}.lightbox-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.9);z-index:9999;padding:2rem}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;animation:fadeInUp .3s ease}.close-lightbox{position:absolute;top:-40px;right:-40px;background:0 0;border:0;color:#fff;font-size:2rem;cursor:pointer;z-index:10}#lightboxImage{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:var(--shadow-xl)}.lightbox-caption{color:#fff;text-align:center;margin-top:1rem;width:100%}.lightbox-caption h3{font-size:1.3rem;margin-bottom:.3rem;text-align:center;max-width:100%}.lightbox-caption p{color:rgba(255,255,255,.8);font-size:.95rem;text-align:center;max-width:100%;margin-left:auto;margin-right:auto}body.no-scroll{overflow:hidden}.category-section{animation:fadeInUp .5s ease;margin-bottom:4rem}@media (max-width:992px){.event-banners.items-3,.event-banners.items-5,.event-banners.items-6,.event-banners.items-7{grid-template-columns:repeat(2,1fr)}.close-lightbox{top:-35px;right:0}}@media (max-width:768px){.gallery-filters{padding:.5rem}.filter-btn{padding:.5rem 1rem;font-size:.9rem}.filter-btn .desktop-label{display:none}.filter-btn .mobile-label{display:inline}.event-banners.items-1,.event-banners.items-3,.event-banners.items-4,.event-banners.items-5,.event-banners.items-6,.event-banners.items-7{grid-template-columns:1fr}.event-banners.items-2{grid-template-columns:repeat(2,1fr)}.event-banners{gap:1.5rem}.event-banner{height:200px}.banner-overlay h3{font-size:1.3rem}.banner-overlay p{font-size:.9rem;margin-bottom:.75rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.lightbox-content{max-width:95vw}}@media (max-width:480px){.gallery-filters{padding:.4rem;gap:.5rem}.filter-btn{padding:.4rem .8rem;font-size:.85rem}.event-banners{grid-template-columns:1fr}.event-banner{height:180px}.photo-grid{grid-template-columns:1fr}.event-header{flex-direction:column;align-items:flex-start}.event-title{width:100%}}