.gallery-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-xl)}.filter-btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-lg);font-weight:500;color:var(--text-base);background:var(--bg-white);border:2px solid var(--border-color);border-radius:var(--radius-base);cursor:pointer;transition:var(--transition);min-height:var(--touch-target)}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:var(--bg-white)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.gallery-item{background:var(--bg-white);border:2px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);cursor:pointer}.gallery-item:hover{border-color:var(--primary-light);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.gallery-thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden}.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.gallery-item:hover .gallery-thumb img{transform:scale(1.05)}.gallery-overlay{position:absolute;inset:0;background:#1e40afb3;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay i{font-size:var(--font-3xl);color:var(--bg-white)}.gallery-info{padding:var(--space-lg)}.gallery-title{font-size:var(--font-lg);font-weight:700;color:var(--text-dark);margin-bottom:var(--space-sm);line-height:var(--line-height-tight)}.gallery-meta{display:flex;gap:var(--space-base);font-size:var(--font-sm);color:var(--text-muted)}.gallery-meta span{display:flex;align-items:center;gap:4px}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.gallery-info{padding:var(--space-base)}.gallery-title{font-size:var(--font-base)}.gallery-meta{flex-direction:column;gap:var(--space-xs)}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}
