.vtg-grid{display:grid;gap:0}
.vtg-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.vtg-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.vtg-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.vtg-grid.cols-5{grid-template-columns:repeat(5,1fr)}
.vtg-grid.cols-6{grid-template-columns:repeat(6,1fr)}
.vtg-item{position:relative;display:block;text-decoration:none;color:inherit;border:0;border-radius:0;overflow:hidden;background:#000}
.vtg-thumb{display:block;width:100%;padding-top:56.25%;background-size:cover;background-position:center}
.vtg-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);color:#fff;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .2s}
.vtg-item:hover .vtg-overlay{opacity:1}
.vtg-overlay-title{display:block;font-weight:500;color:#fff;font-size:16px;line-height:1.2;text-align:center}

.vtg-modal[aria-hidden="true"]{display:none}
.vtg-modal[aria-hidden="false"]{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}
.vtg-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.vtg-dialog{position:relative;background:#000;width:min(92vw,1000px);height:min(82vh,562px);box-shadow:0 10px 30px rgba(0,0,0,.4);border-radius:0;overflow:hidden;display:flex;flex-direction:column}
.vtg-close{position:absolute;top:8px;right:8px;background:#111;color:#fff;border:0;border-radius:4px;width:32px;height:32px;cursor:pointer;font-size:18px}
.vtg-player{width:100%;height:auto;flex:1}
.vtg-meta{position:static;background:transparent;color:#fff;padding:12px 14px;font-size:14px}
.vtg-meta-title{font-weight:700;margin-bottom:4px}
.vtg-no-scroll{overflow:hidden}
.vtg-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(17,17,17,.7);color:#fff;border:0;border-radius:4px;width:36px;height:48px;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center}
.vtg-prev{left:8px}
.vtg-next{right:8px}
.vtg-nav:disabled{opacity:.4;cursor:not-allowed}
.vtg-thumbs{display:none}
.vtg-thumb-item{display:none}
.vtg-pagination{margin-top:16px;display:flex;gap:8px;justify-content:center}
.vtg-pagination a{padding:6px 10px; text-decoration:none;color:#111;}
.vtg-pagination a:hover,
.vtg-pagination a.current{background:#000;border-color:#111; color:#fff;}



/* Mobile: cap grid to max 2 columns */
@media (max-width: 640px){
  .vtg-grid.cols-3,
  .vtg-grid.cols-4,
  .vtg-grid.cols-5,
  .vtg-grid.cols-6{grid-template-columns:repeat(2,1fr)}
}
