/* 플레이어 아래 썸네일 */
.nvi-thumbsheet { margin-top: 1em; text-align: center; }
.nvi-thumbsheet-open { display: block; max-width: 100%; height: auto; margin: 0 auto; cursor: zoom-in; }
.nvi-thumbsheet-open:focus-visible { outline: 3px solid #4f8cff; outline-offset: 2px; }

/* 모달 */
html.nvi-lb-lock, html.nvi-lb-lock body { overflow: hidden !important; }
.nvi-lb {
	position: fixed; inset: 0; z-index: 2147483000;
	display: none; overflow: hidden;
	background: rgba(0, 0, 0, .92);
	touch-action: none;               /* 핀치·드래그를 스크립트가 직접 처리 */
	-webkit-user-select: none; user-select: none;
	-webkit-tap-highlight-color: transparent;
	cursor: zoom-out;
}
.nvi-lb.is-open { display: block; }
.nvi-lb.is-zoomed { cursor: grab; }
.nvi-lb.is-dragging { cursor: grabbing; }
.nvi-lb-img {
	position: absolute; left: 0; top: 0;
	max-width: none !important; max-height: none !important;
	transform-origin: 0 0; will-change: transform;
	-webkit-user-drag: none; pointer-events: none;
}
.nvi-lb-close {
	position: absolute; top: max(10px, env(safe-area-inset-top)); right: 10px; z-index: 1;
	width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
	background: rgba(0, 0, 0, .55); color: #fff; font: 28px/44px sans-serif; cursor: pointer;
}
.nvi-lb-hint {
	position: absolute; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); transform: translateX(-50%);
	padding: 6px 12px; border-radius: 16px; background: rgba(0, 0, 0, .55);
	color: #ddd; font: 13px/1.4 sans-serif; white-space: nowrap; pointer-events: none;
	transition: opacity .4s;
}
.nvi-lb-loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #aaa; font: 14px sans-serif; pointer-events: none; }
