/*
 * assets/css/elementor-compat.css - keep the house layout intact when a page
 * is rendered as an Elementor document.
 *
 * Elementor wraps every element in two divs: a container (.e-con) and an
 * inner wrapper (.e-con-inner). Both carry defaults of their own - a
 * max-width, a gap, a transition, a background overlay pseudo-element - that
 * have nothing to do with this design system and that would show through as
 * extra inset, a stray gap between sections, or a hover transition nobody
 * asked for.
 *
 * The sections themselves are the static build's own markup, so the house
 * rules apply to them unchanged and the page still measures the way
 * theme.css says it does. This file only undoes what the wrappers add.
 *
 * Loaded after theme.css, and only on the pages that render as a document,
 * so a page that is not one pays nothing for it.
 */

.e-con,
.e-con > .e-con-inner {
	min-height: 0;
	transition: none;
}

.e-con {
	--margin-top: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--background-overlay: none;
	--width: 100%;
}

/* The inner wrapper is what Elementor centres and pads, which would inset
   the section a second time inside a container that is already full width. */
.e-con > .e-con-inner {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	height: auto;
}

/* Elementor zeroes the bottom margin on widgets inside a container, which is
   right for its own spacing and wrong for a card grid the house stylesheet
   spaces with its own margin. */
.e-con .elementor-widget.elementor-widget {
	margin-block-end: 0;
}

/* A widget element is a block wrapper around one section; it must not add
   its own spacing or width constraint. */
.e-con .elementor-widget-wrap,
.e-con .elementor-element.elementor-widget {
	width: auto;
	max-width: none;
}
