.sm-pin-wrapper {
	position: relative;
}

.sm-media {
	display: block;
}

.sm-media-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

/* Canvas em camada própria de composição: o redesenho não invalida o resto da página. */
.sm-canvas {
	transform: translateZ(0);
	backface-visibility: hidden;
}

/* <video> usado apenas como FONTE de frames (o que aparece é o canvas). */
.sm-video-src {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	z-index: -1 !important;
}

.sm-has-background > *:not(.sm-media-bg):not(.sm-video-src) {
	position: relative;
	z-index: 1;
}

.sm-shortcode-active {
	position: relative;
	width: 100%;
}

.sm-shortcode-active .sm-media {
	width: 100%;
	height: 100%;
}

.sm-fit-cover { object-fit: cover; }
.sm-fit-contain { object-fit: contain; }
