/*
 * Positioning for the smoke shader canvases (assets/js/smoke-side-shader.js),
 * ported from ~/Code/the_unloved_smoke_test/src/App.css. Fixed + pointer-events:
 * none so it sits as an ambient overlay along the page edges without blocking
 * clicks; painted above static in-flow content per normal stacking order
 * (z-index: 0 positioned elements paint after in-flow blocks), matching how
 * it read in the approved demo.
 */

.smoke-side-shader {
	position: fixed;
	inset-block: 0;
	z-index: 0;
	width: min(var(--smoke-side-width, 347px), 48vw);
	pointer-events: none;
}

.smoke-side-shader--left {
	left: 0;
}

.smoke-side-shader--right {
	right: 0;
}

.smoke-side-shader__canvas {
	display: block;
	width: 100%;
	height: 100%;
}

/*
 * Lenis smooth scroll (assets/js/lenis-init.js) - the library's own
 * documented base CSS (https://lenis.darkroom.engineering/#css), not
 * project-specific: locks native scroll while Lenis is driving, and stops
 * pointer events reaching iframes mid-scroll so trailer embeds don't
 * swallow the scroll gesture.
 */

html.lenis,
html.lenis body {
	height: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}

.lenis.lenis-scrolling iframe {
	pointer-events: none;
}
