.vb-filter-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:42px}
.vb-filter-btn{background:none;border:1.5px solid rgba(30,45,61,.18);border-radius:40px;padding:8px 22px;font-family:'DM Sans',sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b;cursor:pointer;transition:all .25s ease}
.vb-filter-btn:hover{border-color:#c4714a;color:#c4714a}
.vb-filter-btn.is-active{background:#1e2d3d;border-color:#1e2d3d;color:#fff}
.vb-gal-count{text-align:center;color:#6b6b6b;font-size:.81rem;margin-bottom:26px;letter-spacing:.05em}
.vb-gal-count strong{color:#c4714a}
.vb-masonry{columns:4;column-gap:10px}
@media(max-width:1080px){.vb-masonry{columns:3}}
@media(max-width:680px){.vb-masonry{columns:2}}
@media(max-width:400px){.vb-masonry{columns:1}}
.vb-gal-item{break-inside:avoid;margin-bottom:10px;position:relative;overflow:hidden;border-radius:6px;cursor:pointer;display:block}
.vb-gal-item img{width:100%;height:auto;display:block;transition:transform .55s cubic-bezier(.25,.46,.45,.94)}
.vb-gal-item:hover img{transform:scale(1.065)}
.vb-gal-item.is-hidden{display:none}
.vb-gal-over{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,22,36,.78) 0%,transparent 52%);opacity:0;transition:opacity .28s;display:flex;align-items:flex-end;padding:13px}
.vb-gal-item:hover .vb-gal-over{opacity:1}
.vb-gal-label{color:rgba(255,255,255,.92);font-size:.75rem;letter-spacing:.04em;line-height:1.35}
.vb-gal-plus{position:absolute;top:10px;right:10px;width:28px;height:28px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;opacity:0;transition:opacity .25s}
.vb-gal-item:hover .vb-gal-plus{opacity:1}

/* === LIGHTBOX === */
#vb-lb{position:fixed!important;inset:0!important;z-index:999999!important;background:rgba(6,11,18,.97);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .32s ease}
#vb-lb.is-open{opacity:1!important;pointer-events:all!important}
.vb-lb-wrap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:90vw;max-height:calc(100vh - 130px)}
.vb-lb-img{max-width:90vw;max-height:calc(100vh - 180px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 28px 90px rgba(0,0,0,.7);display:block}
.vb-lb-capbar{text-align:center;margin-top:10px;flex-shrink:0}
.vb-lb-cap{color:rgba(255,255,255,.6);font-size:.80rem;letter-spacing:.05em}
.vb-lb-num{color:rgba(255,255,255,.3);font-size:.72rem;margin-top:4px}
.vb-lb-close{position:fixed;top:16px;right:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);color:#fff;width:42px;height:42px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:1000000}
.vb-lb-close:hover{background:rgba(255,255,255,.22)}
.vb-lb-prev,.vb-lb-next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);color:#fff;width:50px;height:50px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:1000000}
.vb-lb-prev{left:14px}
.vb-lb-next{right:14px}
.vb-lb-prev:hover,.vb-lb-next:hover{background:rgba(255,255,255,.18)}
.vb-lb-strip{position:fixed;bottom:0;left:0;right:0;display:flex;gap:5px;padding:10px 5% 14px;overflow-x:auto;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);scrollbar-width:none;justify-content:center;z-index:1000000}
.vb-lb-strip::-webkit-scrollbar{display:none}
.vb-lb-thumb{width:50px;height:36px;object-fit:cover;border-radius:3px;opacity:.4;cursor:pointer;transition:opacity .2s;flex-shrink:0;border:2px solid transparent}
.vb-lb-thumb:hover{opacity:.72}
.vb-lb-thumb.is-active{opacity:1;border-color:#c4714a}
@media(max-width:768px){
  .vb-lb-prev{left:8px}.vb-lb-next{right:8px}
  .vb-lb-prev,.vb-lb-next{width:40px;height:40px;font-size:1rem}
  .vb-lb-img{max-width:96vw;max-height:calc(100vh - 160px)}
}
