/* click-to-enlarge lightbox (gallery + room) */
.lb-img { cursor: zoom-in; }
.lb {
  position: fixed; inset: 0; z-index: 999;
  background: rgba(4, 3, 2, 0.96);
  display: none; align-items: center; justify-content: center;
  flex-direction: column;
}
.lb.on { display: flex; }
.lb-fig {
  margin: 0; max-width: 94vw; max-height: 88vh;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.lb-fig img {
  max-width: 94vw; max-height: 82vh;
  object-fit: contain; background: #000;
  border-radius: 3px;
}
.lb-cap {
  font-size: 0.78rem; letter-spacing: 0.1em;
  color: var(--cream); opacity: 0.85; text-align: center; max-width: 90vw;
}
.lb-x, .lb-nav {
  position: fixed; background: transparent; border: 1px solid var(--line);
  color: var(--cream); cursor: pointer; line-height: 1;
  font-family: inherit; padding: 0;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.lb-x:hover, .lb-nav:hover { border-color: var(--amber); color: var(--amber-hot); }
.lb-x { top: 16px; right: 18px; width: 42px; height: 42px; font-size: 1.5rem; border-radius: 50%; }
.lb-nav { top: 50%; transform: translateY(-50%); width: 46px; height: 72px; font-size: 1.9rem; border-radius: 6px; }
.lb-prev { left: 12px; }
.lb-next { right: 12px; }
.lb-hint {
  position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%);
  color: var(--muted); margin: 0; letter-spacing: 0.14em;
}
body.lb-lock { overflow: hidden; }
@media (max-width: 640px) {
  .lb-prev { left: 4px; }
  .lb-next { right: 4px; }
  .lb-fig img { max-width: 98vw; }
}