/* Let layout containers grow with wide screens while preserving comfortable gutters. */
.site .container,
.site-content .container,
.site-header .container,
.site-footer .container {
	box-sizing: border-box;
}

@media (min-width: 992px) {
	.site .container,
	.site-content .container,
	.site-header .container,
	.site-footer .container {
		width: calc(100% - clamp(40px, 6vw, 112px));
		max-width: 1440px;
	}
}

@media (min-width: 1400px) {
	.site .container,
	.site-content .container,
	.site-header .container,
	.site-footer .container {
		width: calc(100% - clamp(64px, 7vw, 160px));
	}
}

/* Keep boxed Elementor content consistent with the global 1440px site canvas. */
@media (min-width: 992px) {
	.site .elementor .e-con-boxed > .e-con-inner {
		width: calc(100% - clamp(40px, 6vw, 112px));
		max-width: 1440px;
	}
	.site .elementor-section.elementor-section-boxed > .elementor-container {
		width: calc(100% - clamp(40px, 6vw, 112px));
		max-width: 1440px;
	}
}

/* Keep Elementor full-bleed sections edge-to-edge without letting inner widgets overflow. */
.site-main,
.site-main .elementor,
.site-main .elementor-section-wrap,
.site-main .e-con {
	min-width: 0;
	max-width: 100%;
}

.site-main img,
.site-footer img,
.site-header img {
	max-width: 100%;
}

@media (max-width: 767px) {
	.site .container,
	.site-content .container,
	.site-header .container,
	.site-footer .container {
		width: 100%;
		max-width: 100%;
		padding-inline: 16px;
	}

	.site-main .elementor-section,
	.site-main .e-con {
		min-width: 0;
	}
}
