/**
 * Elementor bridge — structural only.
 *
 * The sections bring their own complete design in assets/css/main.css. The
 * rules here exist because Elementor wraps and resets markup the Gutenberg
 * build never went through. Nothing decorative is set: no colour, no type, no
 * spacing. If a rule in this file starts describing how something looks, it
 * belongs in the Tailwind source instead.
 */

/* Our sections are full-bleed by design; the wrapper must not narrow them. */
.elementor-widget[class*="elementor-widget-oyolloo-"],
.elementor-widget[class*="elementor-widget-oyolloo-"] > .elementor-widget-container {
	width: 100%;
	max-width: none;
}

/* -------------------------------------------------------------------------
 * Undoing Elementor's reset, without undoing it for Elementor
 *
 * Tailwind v4 puts every utility in `@layer utilities`. Elementor's reset is
 * unlayered. In the cascade an unlayered author rule beats a layered one no
 * matter how specific the layered rule is — so `.elementor img{border-radius:0}`
 * silently overruled `.rounded-full`, and the testimonial avatars rendered as
 * squares. The same rule dropped `height` off every sized image, and
 * `.elementor a{box-shadow:none}` erased the secondary CTA's outline, which is
 * drawn as an inset shadow rather than a border so it does not add 2px to the
 * button's height.
 *
 * `revert-layer` rolls each property back to the value the previous layer gave
 * it — which is precisely the Tailwind declaration that was overruled. It needs
 * no list of utilities and keeps working as the markup changes.
 *
 * Scoped to our widgets, so Elementor's own widgets keep their reset, and
 * written at (0,2,1) — one class more than `.elementor img` — so it wins
 * whichever order the stylesheets happen to load in.
 * ---------------------------------------------------------------------- */
.elementor [class*="elementor-widget-oyolloo-"] img {
	border-width: revert-layer;
	border-style: revert-layer;
	border-color: revert-layer;
	border-image: revert-layer;
	border-radius: revert-layer;
	box-shadow: revert-layer;
	height: revert-layer;
	max-width: revert-layer;
}

.elementor [class*="elementor-widget-oyolloo-"] a {
	box-shadow: revert-layer;
	text-decoration: revert-layer;
}

/*
 * The sticky bar and the lead popup are fixed / top-layer elements. Elementor
 * gives the widget wrapper a stacking context on hover in the editor, which
 * would otherwise clip them out of view while the client is editing.
 */
.elementor-widget-oyolloo-sticky-bar {
	position: static;
}

/*
 * Editor only: a widget whose content is entirely conditional (the sticky bar
 * before its scroll threshold) renders nothing and becomes impossible to
 * select on the canvas. A minimum height gives it a grab handle.
 */
.elementor-editor-active .elementor-widget-oyolloo-sticky-bar,
.elementor-editor-active .elementor-widget-oyolloo-lead-form:empty {
	min-height: 40px;
}
