.dan-fg-gallery { display:grid; grid-template-columns:repeat(var(--dan-columns),minmax(0,1fr)); gap:var(--dan-gap); }
.dan-fg-item { display:block; overflow:hidden; border-radius:4px; line-height:0; }
.dan-fg-item img { width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .25s ease; }
.dan-fg-item:hover img { transform:scale(1.04); }

.dan-fg-lightbox { display:none; position:fixed; inset:0; z-index:999999; background:rgba(0,0,0,.92); align-items:center; justify-content:center; padding:30px; }
.dan-fg-lightbox.is-open { display:flex; }
.dan-fg-lightbox-content { max-width:90vw; max-height:90vh; text-align:center; }
.dan-fg-lightbox-content img { max-width:90vw; max-height:82vh; width:auto; height:auto; object-fit:contain; }
.dan-fg-counter { color:#fff; margin-top:10px; font-size:14px; }
.dan-fg-close, .dan-fg-prev, .dan-fg-next { position:absolute; border:0; background:transparent; color:#fff; cursor:pointer; font-size:42px; line-height:1; padding:10px; }
.dan-fg-close { top:10px; right:20px; font-size:44px; }
.dan-fg-prev { left:20px; top:50%; transform:translateY(-50%); }
.dan-fg-next { right:20px; top:50%; transform:translateY(-50%); }
.dan-fg-close:hover, .dan-fg-prev:hover, .dan-fg-next:hover { opacity:.7; }
@media (max-width:700px) {
  .dan-fg-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dan-fg-lightbox { padding:15px; }
  .dan-fg-prev { left:2px; }
  .dan-fg-next { right:2px; }
}

.dan-fg-load-more-wrap { text-align:center; margin-top:20px; }
.dan-fg-load-more { display:inline-block; padding:10px 20px; border:1px solid #dcdcde; border-radius:4px; background:#fff; cursor:pointer; font-size:15px; }
.dan-fg-load-more:hover { opacity:.85; }
.dan-fg-load-more[disabled] { cursor:wait; opacity:.6; }
.dan-fg-load-more.is-hidden { display:none; }
.dan-fg-no-scroll { overflow:hidden; }

.dan-fg-gallery .dan-fg-item { display:block; aspect-ratio:1 / 1; overflow:hidden; }
.dan-fg-gallery .dan-fg-item img { display:block; width:100%; height:100%; object-fit:cover; }
