.vs-gallery { display:grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap:12px; }
.vs-gallery a { display:block; border-radius:12px; overflow:hidden; border:1px solid rgba(0,0,0,.08); }
.vs-gallery img { width:100%; height:140px; object-fit:cover; display:block; }

.vs-lightbox {
  position:fixed; inset:0; background:rgba(0,0,0,.9);
  display:none; align-items:center; justify-content:center; z-index:99999;
  padding: 24px;
}
.vs-lightbox.open { display:flex; }
.vs-lightbox img { max-width: 96vw; max-height: 90vh; border-radius: 12px; }
.vs-lightbox .close, .vs-lightbox .prev, .vs-lightbox .next {
  position: fixed; top: 18px; background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color:#fff; padding:10px 12px; border-radius: 10px; cursor:pointer;
}
.vs-lightbox .close { right: 18px; }
.vs-lightbox .prev { left: 18px; top: 50%; transform: translateY(-50%); }
.vs-lightbox .next { right: 18px; top: 50%; transform: translateY(-50%); }
