/**
 * Elementor print rendering — loaded last on Elementor-built pages only.
 * Fixes: background layers (::before overlays), flex layout, extra blank pages.
 */
@media print {
	.elementor *,
	.elementor *::before,
	.elementor *::after {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
		color-adjust: exact !important;
	}

	/* Chrome often drops backgrounds when mix-blend-mode / low opacity are set on overlay layers */
	.elementor .e-con::before,
	.elementor .e-con > .e-con-inner > .elementor-background-video-container::before,
	.elementor .e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer::before,
	.elementor .e-con > .elementor-background-slideshow::before,
	.elementor .elementor-background-overlay,
	.elementor .elementor-background-slideshow,
	.elementor .elementor-background-slideshow__slide,
	.elementor .elementor-background-slideshow__slide__image {
		mix-blend-mode: normal !important;
		opacity: 1 !important;
		visibility: visible !important;
		filter: none !important;
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	.elementor .e-con::before,
	.elementor .elementor-background-overlay {
		display: block !important;
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		z-index: 0 !important;
	}

	.elementor .e-con > .e-con-inner,
	.elementor .elementor-section > .elementor-container {
		position: relative !important;
		z-index: 1 !important;
	}

	.elementor [class*="elementor-element-"]:not(.elementor-motion-effects-element-type-background),
	.elementor [class*="elementor-element-"] > .elementor-motion-effects-container > .elementor-motion-effects-layer {
		mix-blend-mode: normal !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	/* Preserve flex — hero rows use nowrap in product-hero-print.css */
	.elementor .e-con.e-flex,
	.elementor .e-con.e-flex > .e-con-inner {
		display: flex !important;
		flex-wrap: wrap !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Loan calculator — column stack in print (see print-loan-calculator.css) */
	.elementor .bsl-loan-calculator {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}

	.elementor .e-con.elementor-element-8282f00,
	.elementor .e-con.elementor-element-8282f00 > .e-con,
	.elementor .e-con.elementor-element-263a9fb,
	.elementor .e-con.elementor-element-a9c84ed,
	.elementor .e-con.elementor-element-3091478,
	.elementor .e-con.elementor-element-07a14e4,
	.elementor .e-con.elementor-element-07a14e4 > .e-con-inner,
	.elementor .e-con.elementor-element-08c4d8c,
	.elementor .e-con.elementor-element-08c4d8c > .e-con-inner,
	.elementor .e-con.elementor-element-7097e8d,
	.elementor .e-con.elementor-element-7097e8d > .e-con-inner {
		flex-wrap: nowrap !important;
	}

	.elementor .e-con.e-grid,
	.elementor .e-con.e-grid > .e-con-inner {
		display: grid !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor .elementor-container {
		display: flex !important;
		flex-wrap: wrap !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor .elementor-column {
		flex: 0 1 auto !important;
		max-width: 100% !important;
	}

	/* Page breaks: see print-page-breaks.css (loaded after this file) */

	/* Background video/slideshow: hide motion, keep static background image layer */
	.elementor .elementor-background-video-container iframe,
	.elementor .elementor-background-video-container video {
		display: none !important;
	}
}
