/*
 * Wakoo auto-responsive safety net.
 * Scoped to body.wakoo-rwd. Layout fixes use !important (the key mobile fix);
 * typography is a gap-filler without !important so explicit per-device values win.
 */

/* ---- tablet ---- */
@media ( max-width: 1024px ) {
	body.wakoo-rwd .elementor-section .elementor-container,
	body.wakoo-rwd .e-con > .e-con-inner,
	body.wakoo-rwd .e-con { padding-left: 18px; padding-right: 18px; }

	body.wakoo-rwd img,
	body.wakoo-rwd video { max-width: 100%; height: auto; }
}

/* ---- phone ---- */
@media ( max-width: 767px ) {
	/* fluid media */
	body.wakoo-rwd img,
	body.wakoo-rwd video,
	body.wakoo-rwd iframe { max-width: 100% !important; height: auto; }

	/* stack rows / flex containers into a single column (add the CSS class wk-keep-row to a container to keep it as it is) */
	body.wakoo-rwd .elementor-row,
	body.wakoo-rwd .e-con.e-flex:not(.wk-keep-row),
	body.wakoo-rwd .e-con:not(.wk-keep-row) > .e-con-inner.e-flex,
	body.wakoo-rwd .elementor-widget-wrap.e-flex { flex-direction: column !important; }

	/* full-width columns */
	body.wakoo-rwd .elementor-column,
	body.wakoo-rwd .elementor-col-50,
	body.wakoo-rwd .elementor-col-33,
	body.wakoo-rwd .elementor-col-25,
	body.wakoo-rwd .e-con > .e-con-inner > .e-con { width: 100% !important; }

	/* trim oversized vertical padding */
	body.wakoo-rwd .elementor-section,
	body.wakoo-rwd .e-con:not(.wk-keep-row) {
		padding-top: min( 40px, 8vw ) !important;
		padding-bottom: min( 40px, 8vw ) !important;
	}
	body.wakoo-rwd .e-con { padding-left: 16px; padding-right: 16px; }

	/* clamp very large headings — gap-filler, no !important so manual sizes win */
	body.wakoo-rwd h1,
	body.wakoo-rwd .elementor-widget-heading h1.elementor-heading-title { font-size: clamp( 26px, 8vw, 40px ); line-height: 1.2; }
	body.wakoo-rwd h2,
	body.wakoo-rwd .elementor-widget-heading h2.elementor-heading-title { font-size: clamp( 22px, 6.5vw, 32px ); line-height: 1.25; }
	body.wakoo-rwd h3,
	body.wakoo-rwd .elementor-widget-heading h3.elementor-heading-title { font-size: clamp( 19px, 5.5vw, 26px ); line-height: 1.3; }

	/* avoid horizontal overflow from wide elements */
	body.wakoo-rwd .elementor,
	body.wakoo-rwd .e-con { overflow-x: clip; }

	/* calm heavy effects on phones (parallax / fixed backgrounds are janky on mobile) */
	body.wakoo-rwd [data-wk-bg-parallax],
	body.wakoo-rwd .wk-bg-parallax-wrap-hide { background-attachment: scroll !important; }
}
