/* Simple Image Gallery Plus - Frontend (2.2.0) */
@keyframes sigspin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.sig-gallery{ --sig-columns:4; --sig-gutter:12px; }
.sig-gallery[data-columns="1"]{ --sig-columns:1 }
.sig-gallery[data-columns="2"]{ --sig-columns:2 }
.sig-gallery[data-columns="3"]{ --sig-columns:3 }
.sig-gallery[data-columns="4"]{ --sig-columns:4 }
.sig-gallery[data-columns="5"]{ --sig-columns:5 }
.sig-gallery[data-columns="6"]{ --sig-columns:6 }
.sig-gallery[data-columns="7"]{ --sig-columns:7 }
.sig-gallery[data-columns="8"]{ --sig-columns:8 }

/* Grid */
.sig-layout-grid .sig-grid{ display:grid; grid-template-columns:repeat(var(--sig-columns),1fr); gap:var(--sig-gutter); }

/* Masonry (CSS columns) */
.sig-layout-masonry .sig-grid{ column-count: var(--sig-columns); column-gap: var(--sig-gutter); }
.sig-layout-masonry .sig-item{ break-inside: avoid; margin: 0 0 var(--sig-gutter); }

/* Justified (sizes via JS) */
.sig-layout-justified .sig-grid{ display:block; }
.sig-layout-justified .sig-row{ display:flex; gap:var(--sig-gutter); margin:0 0 var(--sig-gutter); }
.sig-layout-justified .sig-item{ margin:0; }

.sig-item{ position:relative; overflow:hidden; background:#0b0b0b; }
.sig-rounded .sig-item{ border-radius:8px; }
.sig-item img.sig-img{ width:100%; height:auto; display:block; transform: translateZ(0); }
.sig-caption{ position:absolute; left:0; right:0; bottom:0; background:linear-gradient(transparent, rgba(0,0,0,.75)); color:#fff; font-size:13px; padding:10px 8px; }

/* Hover zoom */
@media (hover:hover) and (pointer:fine){
  .sig-item img.sig-img{ transition: transform .25s ease; will-change: transform; }
  .sig-item:hover img.sig-img{ transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce){ .sig-item img.sig-img{ transition:none!important } }

/* Lightbox */
.sig-modal{ position:fixed; inset:0; background:rgba(0,0,0,.92); display:none; align-items:center; justify-content:center; z-index:999999; padding: 16px; }
.sig-modal.open{ display:flex; }
.sig-modal img{ max-width:92vw; max-height:85vh; box-shadow:0 10px 50px rgba(0,0,0,.6); border-radius:6px; }
.sig-btn{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:24px; border:none; background:rgba(0,0,0,.55); color:#fff; font-size:24px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.sig-close{ top:20px; right:20px; transform:none; }
.sig-prev{ left:20px; }
.sig-next{ right:20px; }
body.sig-lock{ overflow:hidden; touch-action:none; }

/* Album grid */
.sig-album{ --sig-columns:4; --sig-gutter:12px; display:grid; grid-template-columns: repeat(var(--sig-columns), 1fr); gap: var(--sig-gutter); }
.sig-album-card{ position:relative; display:block; background:#111; color:#fff; text-decoration:none; border-radius:8px; overflow:hidden; }
.sig-album-card img{ width:100%; height:auto; display:block; }
.sig-album-title{ position:absolute; left:0; right:0; bottom:0; padding:10px 12px; font-weight:600; background:linear-gradient(transparent, rgba(0,0,0,.7)); }

/* Responsive columns */
@media (max-width: 480px){ .sig-gallery{ --sig-columns: 1; --sig-gutter: 8px; } }
@media (min-width: 481px) and (max-width: 767px){ .sig-gallery{ --sig-columns: 2; --sig-gutter: 10px; } }
@media (min-width: 768px) and (max-width: 1023px){ .sig-gallery{ --sig-columns: 3; } }

/* Infinite scroll */
.sig-infinite-spinner{ margin:12px auto; width:28px; height:28px; border:3px solid #999; border-top-color:transparent; border-radius:50%; animation:sigspin 0.8s linear infinite; }
