/* Skeleton loader for gallery images */
.mgsl-wrap {
  position: relative;
  display: inline-block;
}

.mgsl-skel {
  position: absolute;
  inset: 0;
  border-radius: 6px;
  overflow: hidden;
}

.mgsl-skel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(230,230,230,0.8) 25%, rgba(245,245,245,0.9) 37%, rgba(230,230,230,0.8) 63%);
  transform: translateX(-100%);
  animation: mgsl-shimmer 1.2s infinite;
}

@keyframes mgsl-shimmer {
  100% { transform: translateX(100%); }
}

/* Ukryj obraz do czasu pełnego załadowania, żeby nie przebijał spod skeletonu */
img.mgsl-hidden {
  opacity: 0;
}

img.mgsl-fade-in {
  transition: opacity var(--mgsl-fade, 250ms) ease-out;
  opacity: 1 !important;
}

/* Fallback, gdy nie znamy wymiarów – unikamy CLS przez minimalną wysokość */
.mgsl-fallback {
  min-height: 180px; /* możesz zmienić w razie potrzeby */
}
