/* Overlay escuro — fixed mas SEM overflow */
		#viewer {
			display: none;
			position: fixed;
			inset: 0;
			z-index: 1000;
			background: #000;
		}

		#viewer.active {
			display: block;
		}

		/* Botão fechar — fixed acima de tudo */
		#viewer-close {
			position: fixed;
			top: 14px;
			right: 14px;
			z-index: 1200;
			background: rgba(0, 0, 0, 0.65);
			border: 2px solid rgba(255, 255, 255, 0.5);
			color: #fff;
			border-radius: 50%;
			width: 44px;
			height: 44px;
			display: none;
			align-items: center;
			justify-content: center;
			font-size: 1.5rem;
			cursor: pointer;
		}

		#viewer-close.active {
			display: flex;
		}

		/*
		  Scroll container — absolute dentro do fixed.
		  No iOS Safari, o scroll funciona em elementos absolute/relative,
		  desde que -webkit-overflow-scrolling: touch esteja aplicado.
		*/
		#viewer-scroll {
			position: absolute;
			inset: 0;
			overflow: scroll;
			-webkit-overflow-scrolling: touch;
		}

		/* Wrapper da imagem — bem maior que a tela para dar espaço de scroll */
		#viewer-inner {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 100%;
			min-height: 100%;
			padding: 60px;
			box-sizing: border-box;
		}

		#viewer-img {
			display: block;
			max-width: none;
			max-height: none;
			width: auto;
			height: auto;
			user-select: none;
			-webkit-user-drag: none;
		}

		.label-img {
			cursor: zoom-in;
		}
