.gallery-container{max-width:1400px}.section-subtitle{text-align:center;color:var(--gray-dark);font-size:1.1rem;margin-bottom:50px;line-height:1.8}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;margin-bottom:40px}.gallery-item{position:relative;overflow:hidden;border-radius:var(--border-radius);height:300px;cursor:pointer;box-shadow:var(--box-shadow);background:#f0f0f0;transition:var(--transition)}.gallery-item:hover{transform:translateY(-8px);box-shadow:0 12px 30px #00000026}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}.gallery-item:hover img{transform:scale(1.1)}.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.8) 100%);opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;color:#fff}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-title{font-weight:700;font-size:1.3rem;margin-bottom:8px}.gallery-item-count{font-size:1rem;opacity:.95;font-weight:500}.album-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:2000;overflow-y:auto;padding:20px}.album-modal.active{display:block}.album-modal-content{max-width:1400px;margin:0 auto;padding:60px 20px 40px}.album-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.album-modal-title{color:#fff;font-size:2rem;font-weight:700;margin:0}.album-modal-close{background:#fff3;border:none;color:#fff;font-size:2rem;width:50px;height:50px;border-radius:50%;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.album-modal-close:hover{background:var(--accent);transform:rotate(90deg)}.album-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.album-photo-item{position:relative;overflow:hidden;border-radius:var(--border-radius);height:200px;cursor:pointer;background:#333;transition:var(--transition)}.album-photo-item:hover{transform:scale(1.05);z-index:10}.album-photo-item img{width:100%;height:100%;object-fit:cover}.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;z-index:2000;align-items:center;justify-content:center;padding:20px}.lightbox.active{display:flex}.lightbox-content{max-width:90%;max-height:90%;position:relative}.lightbox-content img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--border-radius)}.lightbox-close{position:absolute;top:-50px;right:0;background:#fff3;border:none;color:#fff;font-size:2rem;width:50px;height:50px;border-radius:50%;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#ffffff4d;transform:rotate(90deg)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;border:none;color:#fff;font-size:2rem;width:60px;height:60px;border-radius:50%;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.lightbox-nav:hover{background:#ffffff4d}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-info{position:absolute;bottom:-80px;left:0;right:0;text-align:center;color:#fff}.lightbox-info-title{font-size:1.2rem;font-weight:600;margin-bottom:5px}.lightbox-info-date{font-size:.95rem;opacity:.8}.no-photos{text-align:center;padding:60px 20px;color:var(--gray-medium);font-size:1.1rem}@media(max-width:968px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}}@media(max-width:768px){.section-subtitle{font-size:1rem;margin-bottom:30px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 8px}.gallery-item{height:200px}.album-modal-content{padding:80px 15px 30px}.album-modal-header{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:30px}.album-modal-title{font-size:1.5rem}.album-modal-close{position:fixed;top:15px;right:15px;width:45px;height:45px;font-size:1.8rem;z-index:10}.album-photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.album-photo-item{height:150px}.lightbox-nav{width:50px;height:50px;font-size:1.5rem}.lightbox-close{top:-60px;width:45px;height:45px;font-size:1.8rem}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr;gap:15px}.gallery-item{height:280px}}
