/**
 * Mobile zoom-out preview for all online CV web views (owner + guest).
 *
 * body.no-pjs-render — web preview (not PDF)
 * body.cv-preview-fidelity — owner; body.cv-preview-public — guest
 * Desktop (≥992px): wrapper is transparent; template CSS applies as normal.
 */

@media (min-width: 992px) {
	body.no-pjs-render .cv-preview-fidelity-viewport,
	body.no-pjs-render .cv-preview-fidelity-slot {
		display: contents;
	}
}

@media (max-width: 991px) {
	body.no-pjs-render {
		overflow-x: hidden;
		--cv-preview-mobile-scale: min(
			1,
			calc((100vw - var(--cv-preview-sheet-padding-x)) / var(--cv-preview-sheet-width))
		);
	}

	body.no-pjs-render .cv-preview-fidelity-viewport {
		box-sizing: border-box;
		width: 100%;
		max-width: 100vw;
		margin: 0 auto;
		overflow: hidden;
	}

	/* Slot width matches the visual (scaled) sheet — margin auto centers it. */
	body.no-pjs-render .cv-preview-fidelity-slot {
		box-sizing: border-box;
		width: calc(var(--cv-preview-sheet-width) * var(--cv-preview-mobile-scale, 1));
		max-width: calc(100vw - var(--cv-preview-sheet-padding-x));
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
	}

	body.no-pjs-render .cv-preview-fidelity-scale {
		box-sizing: border-box;
		width: var(--cv-preview-sheet-width);
		max-width: none;
		transform: scale(var(--cv-preview-mobile-scale, 1));
		transform-origin: top left;
		will-change: transform;
	}
}

@media (min-width: 992px) {
	body.cv-preview-fidelity .cv-preview-fidelity-notice {
		display: none;
	}
}
