/* Guardian Angel — gallery lightbox (vanilla, no deps) */
.lightbox-overlay {
  position: fixed; inset: 0; background: rgba(10, 12, 18, 0.96);
  display: none; align-items: center; justify-content: center;
  z-index: 9999; cursor: zoom-out; padding: 24px;
}
.lightbox-overlay.open { display: flex; }
.lightbox-overlay img {
  max-width: 100%; max-height: 100%;
  width: auto; height: auto;
  object-fit: contain;
  box-shadow: 0 30px 80px rgba(0,0,0,0.5);
}
.lightbox-overlay .lb-close {
  position: absolute; top: 20px; right: 24px;
  background: rgba(255,255,255,0.12); border: none; color: white;
  width: 44px; height: 44px; border-radius: 50%; font-size: 24px;
  cursor: pointer; line-height: 1;
}
.lightbox-overlay .lb-prev, .lightbox-overlay .lb-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(255,255,255,0.12); border: none; color: white;
  width: 52px; height: 52px; border-radius: 50%; font-size: 26px;
  cursor: pointer; line-height: 1;
}
.lightbox-overlay .lb-prev { left: 24px; }
.lightbox-overlay .lb-next { right: 24px; }
.lightbox-overlay .lb-caption {
  position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%);
  color: rgba(255,255,255,0.85); font-size: 14px; max-width: 80%; text-align: center;
}
.case-gallery img, .work-gallery img { cursor: zoom-in; }
.case-gallery img:hover, .work-gallery img:hover { opacity: 0.92; }
@media (max-width: 640px) {
  .lightbox-overlay .lb-prev, .lightbox-overlay .lb-next { width: 44px; height: 44px; font-size: 22px; }
}
