/* lightbox.js 用 */
html.lb-open { overflow: hidden; }

.lb {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
}
.lb[hidden] { display: none; }

.lb-stage {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 64px;
  box-sizing: border-box;
}
.lb-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: opacity 0.2s ease;
}
.lb.is-loading .lb-img { opacity: 0.3; }

.lb-btn {
  position: absolute;
  background: none;
  border: 0;
  color: #fff;
  font: 300 44px/1 "Raleway", Arial, sans-serif;
  cursor: pointer;
  padding: 8px 14px;
  opacity: 0.75;
}
.lb-btn:hover, .lb-btn:focus-visible { opacity: 1; }
.lb-btn:focus-visible { outline: 1px solid #fff; }
.lb-close { top: 8px; right: 8px; }
.lb-prev { left: 4px; top: 50%; transform: translateY(-50%); font-size: 64px; }
.lb-next { right: 4px; top: 50%; transform: translateY(-50%); font-size: 64px; }

.lb-count {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  text-align: center;
  color: #ccc;
  font: 500 13px/1 "Raleway", Arial, sans-serif;
  letter-spacing: 0.1em;
}

@media (max-width: 600px) {
  .lb-stage { padding: 48px 8px; }
  .lb-prev, .lb-next { display: none; }
}
