/* OxResidence image lightbox / carousel (feedback 06.07 #11 & #17) */
.lb {
  position: fixed; inset: 0; z-index: 1200;
  display: none; align-items: center; justify-content: center;
}
.lb.is-open { display: flex; }
body.lb-open { overflow: hidden; }
.lb__backdrop {
  position: absolute; inset: 0;
  background: rgba(16, 13, 10, 0.92);
  backdrop-filter: blur(4px);
}
.lb__stage {
  position: relative; z-index: 2; margin: 0;
  max-width: min(92vw, 1400px); max-height: 88vh;
  display: flex; flex-direction: column; align-items: center; gap: 14px;
}
.lb__img {
  max-width: 92vw; max-height: 82vh;
  width: auto; height: auto; object-fit: contain;
  border-radius: 8px; box-shadow: 0 20px 70px rgba(0, 0, 0, 0.55);
  background: #15120e;
}
.lb__cap {
  color: rgba(255, 255, 255, 0.86);
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; letter-spacing: 0.04em; text-align: center;
}
.lb__close, .lb__nav {
  position: absolute; z-index: 3;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, 0.1); color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  cursor: pointer; transition: background 0.15s ease, transform 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.lb__close {
  top: max(18px, env(safe-area-inset-top)); right: 20px;
  width: 44px; height: 44px; border-radius: 50%; font-size: 18px;
}
.lb__nav {
  top: 50%; transform: translateY(-50%);
  width: 52px; height: 52px; border-radius: 50%; font-size: 30px; line-height: 1;
}
.lb__prev { left: clamp(10px, 3vw, 34px); }
.lb__next { right: clamp(10px, 3vw, 34px); }
.lb__close:hover, .lb__nav:hover { background: rgba(255, 255, 255, 0.24); }
.lb__nav:hover { transform: translateY(-50%) scale(1.06); }
@media (max-width: 640px) {
  .lb__nav { width: 44px; height: 44px; font-size: 24px; }
  .lb__img { max-height: 74vh; }
}

/* Footer strip: make tiles read as clickable + pause the marquee on hover so
   a moving tile is easier to click (feedback 06.07 #17). */
.footer__image-strip .footer__strip-item.is-lb { cursor: zoom-in; }
.footer__image-strip:hover .footer__strip-track { animation-play-state: paused; }

/* Reduce the gap below house-page galleries (feedback 06.07 #12). */
.section.h-gallery-section { padding-bottom: clamp(24px, 3.5vw, 52px); }
