/* 17-gallery.css */
.gal-filter__bar{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-10);}
.gal-filter__btn{padding:var(--space-2) var(--space-5);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);border:1.5px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-base);background:transparent;}
.gal-filter__btn:hover,.gal-filter__btn.is-active{color:var(--color-action-text);border-color:var(--color-action);background:var(--color-action-hover-bg);}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);}
.gal-card{border-radius:var(--radius-md);overflow:hidden;position:relative;cursor:pointer;transition:var(--transition-shadow);}
.gal-card:hover{box-shadow:var(--shadow-card-hover);}
.gal-card__image{aspect-ratio:4/3;overflow:hidden;background:var(--color-bg-alt);}
.gal-card__image img,.gal-card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out);}
.gal-card:hover .gal-card__img,.gal-card:hover .gal-card__image img{transform:scale(1.05);}
.gal-card__caption{display:block;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);background:var(--color-bg-white);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);}
.gal-card[hidden]{display:none!important;}
@media(max-width:767px){.gal-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.gal-grid{grid-template-columns:1fr;}}
