/* Static-site gallery — grid + lightbox modal */
.elementor-widget-gallery .e-con,
.elementor-widget-gallery .elementor-gallery-container,
.elementor-gallery-container,
.elementor-widget-gallery [class*="elementor-gallery"]:not(.elementor-gallery-item) {
  display: block;
}
.elementor-widget-gallery .elementor-gallery__container,
.elementor-widget-gallery .e-gallery-container,
.elementor-widget-gallery > .elementor-widget-container > div {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
}
@media (max-width: 1024px) {
  .elementor-widget-gallery .elementor-gallery__container,
  .elementor-widget-gallery .e-gallery-container,
  .elementor-widget-gallery > .elementor-widget-container > div { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .elementor-widget-gallery .elementor-gallery__container,
  .elementor-widget-gallery .e-gallery-container,
  .elementor-widget-gallery > .elementor-widget-container > div { grid-template-columns: 1fr !important; }
}
.e-gallery-item {
  position: relative; display: block; aspect-ratio: 1/1;
  overflow: hidden; cursor: pointer;
  text-decoration: none;
}
.e-gallery-item img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .35s ease;
}
.e-gallery-item:hover img { transform: scale(1.05); }

#static-lightbox { position: fixed; inset: 0; z-index: 99999; display: none; }
#static-lightbox.open { display: flex; align-items: center; justify-content: center; }
#static-lightbox .static-lb-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.92); }
#static-lightbox .static-lb-content { position: relative; max-width: 90vw; max-height: 90vh; z-index: 1; }
#static-lightbox .static-lb-content img { max-width: 90vw; max-height: 90vh; display: block; }
#static-lightbox button {
  position: absolute; z-index: 2; background: rgba(255,255,255,.1);
  color: #fff; border: none; cursor: pointer; font-size: 32px; line-height: 1;
  width: 48px; height: 48px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
#static-lightbox button:hover { background: rgba(255,255,255,.25); }
#static-lightbox .static-lb-close { top: 24px; right: 24px; }
#static-lightbox .static-lb-prev { left: 24px; top: 50%; transform: translateY(-50%); }
#static-lightbox .static-lb-next { right: 24px; top: 50%; transform: translateY(-50%); }
#static-lightbox .static-lb-counter { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); color: #fff; font: 14px/1 system-ui, sans-serif; z-index: 2; opacity: .8; }
@media (max-width:600px) {
  #static-lightbox .static-lb-prev, #static-lightbox .static-lb-next { width: 40px; height: 40px; font-size: 24px; }
  #static-lightbox .static-lb-prev { left: 8px; }
  #static-lightbox .static-lb-next { right: 8px; }
}
