/*
 * Elementor ↔ Tailwind compatibility.
 *
 * Every 29k page is one full-width Elementor container holding section widgets
 * that carry their own Tailwind padding and backgrounds. Elementor's container
 * defaults (boxed max-width, 10px block padding, 20px inter-widget gap) would
 * inset those sections and break the full-bleed design, so they're zeroed for
 * the page root only. Elementor's own widgets elsewhere are untouched.
 */

.ia29k-page-root.e-con,
.ia29k-part-root.e-con {
    --width: 100%;
    --content-width: 100%;
    --container-widget-width: 100%;
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --gap: 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    max-width: none;
}

.ia29k-page-root > .e-con-inner,
.ia29k-part-root > .e-con-inner {
    max-width: none;
    padding: 0;
    gap: 0;
}

/* Section widgets are layout-bearing: they must span the container full width. */
.ia29k-page-root > .elementor-element,
.ia29k-page-root > .e-con-inner > .elementor-element,
.ia29k-part-root > .elementor-element,
.ia29k-part-root > .e-con-inner > .elementor-element {
    width: 100%;
    max-width: none;
}

/*
 * Elementor gives every widget `position: relative`, which would re-anchor the
 * absolutely-positioned mountain artwork inside the hero and grievance sections
 * to the widget wrapper instead of the section. These sections manage their own
 * stacking contexts, so the wrappers stay out of the way.
 */
.ia29k-section.elementor-widget {
    position: static;
    width: 100%;
}

/* The original templates emitted <section>/<header>/<footer> straight into the
   page; keep that full-width relationship through Elementor's wrapper divs. */
.ia29k-section > .elementor-widget-container {
    width: 100%;
}
