/* Lightweight local lightbox */
.lb-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.85);
  z-index: 12000;
  padding: 2rem;
}
.lb-modal.open { display: flex; }
.lb-inner {
  position: relative;
  max-width: 1200px;
  width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lb-stage { display: flex; align-items: center; justify-content: center; width: 100%; }
.lb-image {
  max-width: 100%;
  max-height: calc(100vh - 6rem);
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.6);
}
.lb-close, .lb-prev, .lb-next {
  position: absolute;
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.25rem;
}
.lb-close { top: -18px; right: -18px; }
.lb-prev { left: -18px; }
.lb-next { right: -18px; }

@media (max-width: 720px) {
  .lb-close, .lb-prev, .lb-next { width: 40px; height: 40px; font-size: 1rem; }
  .lb-close { top: 8px; right: 8px; }
  .lb-prev { left: 8px; }
  .lb-next { right: 8px; }
}

/* Make gallery images indicate clickability */
.gallery-item a { display: block; }
.gallery-item img { cursor: zoom-in; }

/* Ensure anchors and images fill the gallery tile (fixes coverage after wrapping images in links) */
.gallery-item > a { display: block; width: 100%; height: 100%; }
.gallery-item > a img { display: block; width: 100%; height: 100%; object-fit: cover; }
