.tmp-mandalan-stage {
	position: relative;
	width: 100%;
	height: var(--tmp-stage-height, 650px);
	min-height: 240px;
	overflow: hidden;
	touch-action: pan-y pinch-zoom;
}

.tmp-mandalan-stage canvas {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	width: 100% !important;
	height: 100% !important;
	background: transparent !important;
}

.tmp-mandalan-stage--404 canvas {
	cursor: crosshair;
}

.tmp-mandalan-pointer-surface {
	/* Let the browser handle vertical scrolling and pinch zoom.
	 * Horizontal gestures can still drag; pointercancel releases on scroll. */
	touch-action: pan-y pinch-zoom;
}

canvas.tmp-mandalan-pointer-surface {
	cursor: grab;
}

canvas.tmp-mandalan-dragging {
	cursor: grabbing;
}

.tmp-mandalan-stage--404 canvas.tmp-mandalan-pointer-surface {
	cursor: crosshair;
}

.tmp-mandalan-dragging {
	user-select: none;
}

.tmp-error404-interface {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	display: grid;
	place-items: center;
	font-family: inherit;
}

.tmp-error404-title {
	font-size: clamp(3.5rem, 12vw, 10rem);
	font-weight: 800;
	line-height: 0.9;
	letter-spacing: -0.06em;
	opacity: 0.16;
	text-align: center;
}

.tmp-error404-hint {
	position: absolute;
	top: 1rem;
	right: 1rem;
	padding: 0.55rem 0.8rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.88);
	color: #151515;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.08);
	backdrop-filter: blur(0.4rem);
}

.tmp-mandalan-stage--cleared .tmp-error404-title {
	opacity: 0.4;
}

/* WPBakery row background mode. */
.tmp-has-mandalan-background {
	position: relative;
	isolation: isolate;
}

.tmp-has-mandalan-background > .tmp-mandalan-stage--background {
	position: absolute;
	inset: 0;
	z-index: 0;
	height: 100%;
	min-height: 0;
	opacity: var(--tmp-stage-opacity, 1);
	pointer-events: none;
}

.tmp-has-mandalan-background > :not(.tmp-mandalan-stage--background) {
	position: relative;
	z-index: 1;
}

