/* ec-base.css: copied verbatim into every child theme; every reset is scoped to body.ec-site and sets no colour, family or size. The last two rules serve classes the toolkit sets and apply everywhere. */

/* Default container padding: .e-con { --padding-*: var(--container-default-padding-*, 10px) } (0,1,0); a custom property it reads, so (0,0,0) wins. */
:where(body.ec-site .e-con) {
	--container-default-padding-top: 0px;
	--container-default-padding-right: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-left: 0px;
}

/* Mobile wrap: .e-con { --flex-wrap-mobile: wrap } (0,1,0); same variable, so this must be (0,1,0) and later. Native flex_wrap_mobile (post CSS, 0,3,0) still wins. */
:where(body.ec-site) .e-con {
	--flex-wrap-mobile: nowrap;
}

/* Body line-height: Hello reset.css body { line-height: 1.5 } (0,0,1); body:where() ties it and loads later. The kit's .elementor-kit-N (0,1,0) still wins. */
body:where(.ec-site) {
	line-height: normal;
}

/* Heading ladder: Hello h1-h6 { font-weight: 500; line-height: 1.2; margin: .5rem 0 1rem } and 2.5rem..1rem sizes (0,0,1); a kit-bound level (0,1,1) still wins, an unbound one reads as body text. */
:where(body.ec-site) :is(h1, h2, h3, h4, h5, h6) {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	margin-block: 0;
}

/* Link colour: Hello a { color: #c36 } (0,0,1) and a:hover, a:active { color: #336 } (0,1,1); ties both and loads later. The kit's .elementor-kit-N a (0,1,1) and a:hover (0,2,1) still win. */
:where(body.ec-site) a {
	color: inherit;
}

:where(body.ec-site) a:is(:hover, :active) {
	color: inherit;
}

/* Linked heading: kit .elementor-kit-N a { color } (0,1,1) paints the <a>, and Elementor's own inherit needs an elementor-size-* class; this is (0,2,1). */
:where(body.ec-site) .elementor-widget-heading .elementor-heading-title a {
	color: inherit;
}

/* Raw buttons: Hello [type=button], [type=submit], button { border: 1px solid #c36; border-radius: 3px; color: #c36; padding: .5rem 1rem; white-space: nowrap } (0,1,0 for the attribute forms); this is (0,1,0). Kit button rules (0,1,1) still win. Elementor, search-form and Gravity Forms buttons style themselves at (0,2,0) and are excluded. */
:where(body.ec-site) :is(button, [type="button"], [type="submit"]):where(:not(.elementor-button, .elementor-search-form__submit, [class*="gform"])) {
	border: 0;
	border-radius: 0;
	color: inherit;
	padding: 0;
	white-space: normal;
}

/* Raw button hover and focus: Hello button:hover, button:focus { background-color: #c36; color: #fff } (0,1,1) and [type=button]:hover (0,2,0); this is (0,2,0). Kit hover rules (0,2,1) still win. */
:where(body.ec-site) :is(button, [type="button"], [type="submit"]):where(:not(.elementor-button, .elementor-search-form__submit, [class*="gform"])):is(:hover, :focus) {
	background-color: transparent;
	color: inherit;
}

/* Focus ring: Hello [tabindex]:not([tabindex="-1"]):focus-visible { outline: 2px solid #000; box-shadow: 0 0 0 4px #fff } (0,3,0); this is (0,3,0) and loads later. currentColor keeps it visible on light and dark bands. */
:where(body.ec-site) :is([tabindex]:not([tabindex="-1"]), a, button, input, select, textarea):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	box-shadow: none;
}

/* Text Editor trailing margin: Hello p { margin-block-end: .9rem } (0,0,1) on the <p> wpautop adds; each is at least (0,2,0). Spacing between blocks stays. */
:where(body.ec-site) .elementor-widget-text-editor > :last-child,
:where(body.ec-site) .elementor-widget-text-editor > .elementor-widget-container > :last-child,
:where(body.ec-site) .elementor-widget-text-editor :is(ul, ol):last-child > li:last-child > :last-child {
	margin-block-end: 0;
}

/* Widget cap, opt-in via the ec-uncap widget class: Elementor .e-con.e-con > .e-con-inner > .elementor-widget and .elementor.elementor .e-con > .elementor-widget { max-width: 100% } are both (0,4,0); these are (0,5,0). */
:where(body.ec-site) .e-con.e-con > .e-con-inner > .elementor-widget.ec-uncap,
:where(body.ec-site) .elementor.elementor .e-con > .elementor-widget.ec-uncap {
	max-width: none;
}

/* Table zebra and hover fill: Hello table tbody > tr:nth-child(odd) > td and table tbody tr:hover > td { background-color } (0,1,4); this is (0,2,4). Scoped to HTML and Text Editor widgets so Hello-rendered prose keeps its tables. */
:where(body.ec-site) :is(.elementor-widget-html, .elementor-widget-text-editor) table tbody > tr:is(:nth-child(odd), :hover) > :is(td, th) {
	background-color: transparent;
}

/* Table cell box: Hello table td, table th { border: 1px solid; padding: 15px; line-height: 1.5 } (0,0,2); this is (0,1,2). */
:where(body.ec-site) :is(.elementor-widget-html, .elementor-widget-text-editor) table :is(td, th) {
	border: 0;
	line-height: inherit;
	padding: 0;
}

/* Table first-row rule: Hello table thead:first-child tr:first-child th { border-block-start } (0,2,4) and table caption + thead tr:first-child td (0,1,5); this is (0,3,4). */
:where(body.ec-site) :is(.elementor-widget-html, .elementor-widget-text-editor) table :is(thead:first-child, caption + thead, colgroup + thead) tr:first-child :is(td, th) {
	border-block-start: 0;
}

/* Table box: Hello table { font-size: .9em; margin-block-end: 15px } (0,0,1) and table tbody + tbody { border-block-start: 2px solid } (0,0,3); these are (0,1,1) and (0,1,3). */
:where(body.ec-site) :is(.elementor-widget-html, .elementor-widget-text-editor) table {
	font-size: inherit;
	margin-block-end: 0;
}

:where(body.ec-site) :is(.elementor-widget-html, .elementor-widget-text-editor) table tbody + tbody {
	border-block-start: 0;
}

/* ec_container(..., $unwrap): Elementor .e-con > .e-con-inner { display: var(--display) } (0,2,0); this is (0,3,0), so a hand CSS grid reaches the children. */
.e-con.ec-unwrap > .e-con-inner {
	display: contents;
}

/* Drawer scroll lock: ec-base.js sets the class on <html> while a [data-ec-drawer] is open. */
html.ec-drawer-locked {
	overflow: hidden;
}
