/* Shimmer Bright Projects Gallery - scoped layout reset to avoid theme/Elementor image styles breaking the grid. */
.sbpg-gallery{
  display:grid !important;
  grid-template-columns:repeat(var(--sbpg-cols,4),minmax(0,1fr)) !important;
  gap:18px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:stretch !important;
  box-sizing:border-box !important;
}
.sbpg-gallery *, .sbpg-gallery *::before, .sbpg-gallery *::after{box-sizing:border-box !important;}
.sbpg-gallery.sbpg-columns-1{--sbpg-cols:1}.sbpg-gallery.sbpg-columns-2{--sbpg-cols:2}.sbpg-gallery.sbpg-columns-3{--sbpg-cols:3}.sbpg-gallery.sbpg-columns-4{--sbpg-cols:4}.sbpg-gallery.sbpg-columns-5{--sbpg-cols:5}.sbpg-gallery.sbpg-columns-6{--sbpg-cols:6}
.sbpg-gallery .sbpg-item{
  display:block !important; position:relative !important; float:none !important;
  width:100% !important; min-width:0 !important; max-width:100% !important;
  height:auto !important; margin:0 !important; padding:0 !important; overflow:hidden !important;
  border-radius:inherit;
}
.sbpg-gallery .sbpg-link{
  position:relative !important; display:block !important; float:none !important;
  width:100% !important; max-width:100% !important; height:auto !important;
  margin:0 !important; padding:0 !important; overflow:hidden !important;
  line-height:0 !important; text-decoration:none !important; border-radius:inherit;
}
.sbpg-gallery img.sbpg-image{
  display:block !important; width:100% !important; max-width:100% !important;
  height:250px !important; min-height:250px !important; max-height:250px !important;
  margin:0 !important; padding:0 !important; object-fit:cover !important;
  aspect-ratio:4/3; transition:transform .35s ease;
}
.sbpg-gallery .sbpg-link:hover .sbpg-image,.sbpg-gallery .sbpg-link:focus-visible .sbpg-image{transform:scale(1.045)}
.sbpg-gallery .sbpg-caption{
  position:absolute !important; inset:auto 0 0 !important; z-index:2;
  display:flex !important; align-items:center; justify-content:center;
  min-height:25%; width:100% !important; max-width:100% !important;
  margin:0 !important; padding:18px 12px 14px !important;
  background:linear-gradient(transparent,rgba(0,0,0,.78)) !important;
  color:#fff !important; font-size:16px; font-weight:600; line-height:1.35 !important;
  text-align:center; opacity:0; transform:translateY(8px); transition:opacity .25s ease,transform .25s ease;
}
.sbpg-gallery .sbpg-link:hover .sbpg-caption,.sbpg-gallery .sbpg-link:focus-visible .sbpg-caption{opacity:1;transform:translateY(0)}
.sbpg-empty{padding:14px;border:1px dashed #bbb;border-radius:8px}
@media(max-width:1024px){.sbpg-gallery{grid-template-columns:repeat(min(var(--sbpg-cols,4),3),minmax(0,1fr)) !important;gap:14px !important}.sbpg-gallery img.sbpg-image{height:220px !important;min-height:220px !important;max-height:220px !important}}
@media(max-width:767px){.sbpg-gallery{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}.sbpg-gallery img.sbpg-image{height:170px !important;min-height:170px !important;max-height:170px !important}.sbpg-gallery .sbpg-caption{font-size:13px;padding:12px 8px 10px !important;min-height:30%}}
@media(hover:none){.sbpg-gallery .sbpg-caption{opacity:1;transform:none;background:linear-gradient(transparent,rgba(0,0,0,.72)) !important;font-size:13px}}
@media(prefers-reduced-motion:reduce){.sbpg-gallery .sbpg-image,.sbpg-gallery .sbpg-caption{transition:none}}
