/* [수정3차 C7] 사진 라이트박스 — 클릭 확대 + 슬라이드 + 모바일 스와이프 */
.mn-lb {
  position: fixed; inset: 0; z-index: 100050; display: none;
  align-items: center; justify-content: center;
  background: rgba(8, 10, 18, .92); opacity: 0; transition: opacity .2s ease;
  -webkit-user-select: none; user-select: none;
}
.mn-lb.is-open { display: flex; opacity: 1; }
.mn-lb__stage {
  max-width: 92vw; max-height: 86vh; display: flex; align-items: center; justify-content: center;
}
.mn-lb__img {
  max-width: 92vw; max-height: 86vh; object-fit: contain;
  border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5); display: block;
}
.mn-lb__close {
  position: absolute; top: 14px; right: 16px; width: 44px; height: 44px;
  background: rgba(255,255,255,.12); color: #fff; border: none; border-radius: 50%;
  font-size: 26px; line-height: 1; cursor: pointer; z-index: 2; transition: background .15s;
}
.mn-lb__close:hover { background: rgba(255,255,255,.24); }
.mn-lb__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; background: rgba(255,255,255,.12); color: #fff; border: none;
  border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; z-index: 2; transition: background .15s;
}
.mn-lb__nav:hover { background: rgba(255,255,255,.24); }
.mn-lb__prev { left: 16px; }
.mn-lb__next { right: 16px; }
.mn-lb__count {
  position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
  color: #fff; font-size: 14px; font-weight: 700; background: rgba(0,0,0,.35);
  padding: 5px 14px; border-radius: 999px; letter-spacing: .04em;
}
/* 클릭 가능한 사진에 커서·호버 힌트 */
[data-mn-lightbox] img, [data-mn-lightbox] [data-mn-lb-src] { cursor: zoom-in; }

@media (max-width: 640px) {
  .mn-lb__nav { display: none; } /* 모바일은 스와이프 */
  .mn-lb__close { top: 10px; right: 12px; }
}
@media (prefers-reduced-motion: reduce) { .mn-lb { transition: none; } }
