/* ==========================================================================
   Elementor compatibility shim.
   Our own widgets render full-bleed .section/.container/.page-hero markup
   identical to the static site, and the pages that use them are built with
   their outer Elementor Container set to "Full Width" + zero padding (see
   the import script) — so this file only needs to cover the few remaining
   default-kit conflicts, no !important overrides needed.
   ========================================================================== */

.elementor-widget-container {
	overflow: visible;
}

/*
 * Root-cause fix: every .container div we render is itself an Elementor
 * Container element (elType: container) so Elementor's own generated CSS
 * applies too — including `.e-con{max-width:min(100%,var(--width))}`,
 * which resolves to 100% and silently overrides our .container's intended
 * 1400px max-width (same 1-class specificity, but Elementor's stylesheet
 * loads after ours, so it wins the cascade — this is not a specificity
 * problem elsewhere, just this one shared property on this one class).
 * The compound selector below (2 classes) outranks Elementor's single
 * `.e-con` selector regardless of load order, so no !important needed.
 */
.e-con.container {
	max-width: var(--container-max);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Same collision, same fix, for the one other reused class that's ever
   assigned to an Elementor Container element (the contact section split). */
.e-con.contact-grid {
	max-width: 64rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Prevent doubled top spacing when a widget's own .section/.page-hero is the
   first thing Elementor renders inside a container. */
.elementor-widget-container > .section:first-child,
.elementor-widget-container > .page-hero:first-child,
.elementor-widget-container > .content-hero:first-child,
.elementor-widget-container > .hero:first-child {
	margin-top: 0;
}

.elementor-element img {
	max-width: 100%;
	height: auto;
}

/* Elementor's default kit sets a global line-height/box-sizing on buttons;
   keep our .btn component's own metrics authoritative. */
.elementor-widget-container .btn {
	box-sizing: border-box;
	line-height: normal;
}
