/* --- Gallery page (matches theme in styles.css) --- */
.ng-filters{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 18px}
.pill{
  padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);
  background:#0b1117;color:var(--text);cursor:pointer;font-weight:600
}
.pill.active{border-color:var(--accent-2);box-shadow:0 0 0 2px rgba(59,132,161,.25) inset}

.ng-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ng-item{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.ng-item img{display:block;width:100%;height:220px;object-fit:cover}
.ng-item figcaption{padding:10px 12px;color:var(--muted);font-size:.95rem}

/* Lightbox */
.lb-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;z-index:100}
.lb-backdrop.open{display:flex}
.lb-inner{max-width:min(1200px,95vw);max-height:85vh;background:#0b1117;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.lb-media{display:block;max-width:100%;max-height:75vh;width:auto;height:auto}
.lb-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.08)}
.lb-close{background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:6px 10px;color:var(--text);cursor:pointer}
.lb-caption{color:var(--muted);font-size:.95rem}
