/*
 * Elementor compatibility for the converted A&A pages.
 *
 * Converted containers carry `aa-c`, converted widgets carry `aa-w`. Elementor's own base CSS sits in the
 * `el` layer (see includes/assets.php), this reset in `aa-reset` above it, and the original stylesheets are
 * unlayered, so: original rules > this reset > Elementor defaults. Containers and widgets added later in the
 * editor (without these classes) keep normal Elementor behaviour.
 */
@layer aa-reset {
	/* A converted container renders exactly like the original element: no Elementor flex, padding, gap or width. */
	.e-con.aa-c { all: revert; }

	/* A widget wrapper takes no part in layout; its single child sits where the original element was. */
	.elementor-widget.aa-w { all: revert; display: contents; }

	/* Elementor gives every container's ::before/::after an overlay box (width, height, position, display). */
	.e-con.aa-c::before, .e-con.aa-c::after { all: revert; }

	/* Elementor base rules that reach into content. */
	.aa-w *, .aa-w *::before, .aa-w *::after { box-sizing: revert; }
	.aa-w a, a.aa-c { box-shadow: revert; text-decoration: revert; }
	.aa-w img { border: revert; border-radius: revert; box-shadow: revert; height: revert; max-width: revert; display: revert; vertical-align: revert; }
	.aa-w figure, figure.aa-c { margin: revert; }
	.aa-w iframe { border: revert; line-height: revert; margin: revert; max-width: revert; width: revert; }

	/* Page, header and footer document wrappers are transparent on the front end (the header stays sticky to <body>). */
	body:not(.elementor-editor-active) [data-elementor-type] { display: contents; }
}

/* Next.js images had these as inline styles ("fill" layout; hidden alt text). */
.aa-fill > img { position: absolute !important; height: 100% !important; width: 100% !important; left: 0 !important; top: 0 !important; right: 0 !important; bottom: 0 !important; }
.aa-ct > img { color: transparent; }
