:root{--slg-gap:8px;--slg-cols:3}
.slg-wrap{width:100%;}
.slg-grid{display:grid;grid-template-columns:repeat(var(--slg-cols), minmax(0,1fr));gap:var(--slg-gap)}
.slg-grid .slg-item{position:relative;display:block;overflow:hidden;border-radius:10px}
.slg-grid .slg-item img,
.slg-grid .slg-item video{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:var(--slg-ratio, auto)}
.slg-grid .slg-item .slg-play{position:absolute;inset:auto auto 8px 8px;background:rgba(0,0,0,.6);color:#fff;padding:4px 6px;border-radius:6px;font-size:12px}

@media (max-width: 900px){ .slg-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width: 600px){ .slg-grid{grid-template-columns:repeat(1,minmax(0,1fr));} }

/* Masonry using CSS columns (very light) */
.slg-masonry{column-count: var(--slg-cols); column-gap: var(--slg-gap);}
.slg-masonry .slg-item{break-inside: avoid; display:block; margin:0 0 var(--slg-gap); position:relative}
.slg-masonry .slg-item img,
.slg-masonry .slg-item video{width:100%;height:auto;display:block;border-radius:10px}
.slg-masonry .slg-item .slg-play{position:absolute;inset:auto auto 8px 8px;background:rgba(0,0,0,.6);color:#fff;padding:4px 6px;border-radius:6px;font-size:12px}

@media (max-width: 900px){ .slg-masonry{column-count:2;} }
@media (max-width: 600px){ .slg-masonry{column-count:1;} }

/* Lightbox */
.slg-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:99999}
.slg-lightbox[hidden]{display:none !important}
.slg-stage{max-width:90vw;max-height:85vh}
.slg-stage img, .slg-stage video{max-width:90vw;max-height:85vh;display:block;margin:0 auto}
.slg-close{position:absolute;top:12px;right:16px;font-size:32px;line-height:1;background:transparent;border:0;color:#fff;cursor:pointer}
.slg-prev,.slg-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:0;color:#fff;font-size:32px;width:44px;height:44px;border-radius:50%;cursor:pointer}
.slg-prev{left:16px}
.slg-next{right:16px}
