.gallery-hero{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:5rem 0;min-height:350px;background:linear-gradient(135deg,#000,#2c3e50);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;margin-bottom:2rem}.gallery-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><path d="M0,0 L100,0 L100,100 Z" fill="rgba(231, 76, 60, 0.1)"/></svg>');background-size:cover}.hero-title{font-size:3rem;font-weight:900;margin-bottom:.5rem;color:#fff!important}.filter-container{margin-bottom:3rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem}.filter-btn{border:2px solid #e2e8f0;background:#fff;color:#64748b;padding:.5rem 1.5rem;border-radius:50px;font-weight:700;font-size:.9rem;text-decoration:none;transition:all .3s ease}.filter-btn:hover{border-color:#4e73df;color:#4e73df;transform:translateY(-2px)}.filter-btn.active{background:#4e73df;border-color:#4e73df;color:#fff;box-shadow:0 4px 10px #4e73df4d}.gallery-card{border:none;border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 4px 6px -1px #0000000d;transition:all .3s ease;height:100%;position:relative;cursor:pointer;display:block;text-decoration:none}.gallery-card:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a}.img-wrapper{position:relative;overflow:hidden;padding-top:75%}.gallery-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-card:hover .gallery-img{transform:scale(1.1)}.gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}.gallery-card:hover .gallery-overlay{opacity:1}.overlay-icon{color:#fff;font-size:2rem;transform:scale(0);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.gallery-card:hover .overlay-icon{transform:scale(1)}.gallery-caption{padding:1.25rem}.gallery-category{font-size:.75rem;text-transform:uppercase;color:#4e73df;font-weight:800;letter-spacing:.05em;margin-bottom:.5rem;display:block}.gallery-title{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0;line-height:1.4}.modal-preview-img{width:100%;height:auto;border-radius:.5rem}
