/* Zensuality: preserved Sensuosity Elementor/Astra adapter. */
/* === ELEMENTOR ADAPTER ===
   Pages are generated from the design HTML: all layout comes from the design CSS.
   Specificity ladder (finding #13): Elementor rules (up to ~(0,2,0), e.g. .e-con.e-flex,
   .e-con>.e-con) < this adapter (0,2,0), later in cascade) < design rules (bumped to
   (1,x,x) via :not(#_) by scripts/build-page-css.py). Do not weaken or strengthen
   either side without re-running the full preview + staging diffs. */
:is([data-elementor-type="wp-page"],[data-elementor-type="header"],[data-elementor-type="footer"]) .e-con{display:block;padding:0;gap:0;max-width:none;width:auto;height:auto;min-height:0;flex-direction:row;flex-wrap:nowrap;margin:0}
/* flex-wrap:nowrap: Elementor forces wrap on mobile (<768px), which makes stretched
   flex items' cross-size indefinite and collapses aspect-ratio image blocks to 0. */
:is([data-elementor-type="wp-page"],[data-elementor-type="header"],[data-elementor-type="footer"]) .elementor-widget-html,
:is([data-elementor-type="wp-page"],[data-elementor-type="header"],[data-elementor-type="footer"]) .elementor-widget-text-editor,
:is([data-elementor-type="wp-page"],[data-elementor-type="header"],[data-elementor-type="footer"]) .elementor-widget-html>.elementor-widget-container,
:is([data-elementor-type="wp-page"],[data-elementor-type="header"],[data-elementor-type="footer"]) .elementor-widget-text-editor>.elementor-widget-container{display:contents}

/* Elementor's site kit gives text widgets Roboto and a separate text colour.
   The supplied page design must inherit its own typography through the wrappers. */
:is([data-elementor-type="wp-page"],[data-elementor-type="header"],[data-elementor-type="footer"]) .elementor-widget-text-editor{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}

/* === BUTTON RESET (Astra/Gutenberg print generic button styles AFTER our sheets) === */
:is([data-elementor-type="wp-page"],[data-elementor-type="header"],[data-elementor-type="footer"]) :where(button){background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;line-height:inherit;border-radius:0;cursor:pointer}

/* Astra scroll-to-top button: not part of the design */
#ast-scroll-top{display:none!important}

/* Astra wraps Elementor page content in .ast-container (max-width 1240), and our
   reset removes its margin:auto centering, pinning the whole page left on wide
   screens while header/footer span the viewport (finding #23). Full-bleed it:
   section widths are the design CSS's job. */
body.page-template-elementor_header_footer .ast-container{max-width:none;width:100%;padding:0;margin:0}
