/** One external rhythm. Only flow children are sections; nested grids stay local.
 * Elementor adds one section-wrap around root containers inside the editor.
 */
:is(.oz-page-flow, .oz-content-body,
 body:not(.woocommerce-page) main .elementor[data-elementor-type="wp-page"],
 .elementor:is([data-elementor-type="container"], [data-elementor-type="section"]),
 body:not(.woocommerce-page) main .elementor[data-elementor-type="wp-page"] > .elementor-section-wrap,
 .elementor:is([data-elementor-type="container"], [data-elementor-type="section"]) > .elementor-section-wrap) {
 display: flex;
 flex-direction: column;
 gap: var(--oz-flow-gap, var(--oz-section-spacing));
}

/* Each wrapper owns its boundaries: nested one-child wrappers add no extra gap. */
:is(.oz-page-flow, .oz-content-body,
 body:not(.woocommerce-page) main .elementor[data-elementor-type="wp-page"],
 .elementor:is([data-elementor-type="container"], [data-elementor-type="section"]),
 body:not(.woocommerce-page) main .elementor[data-elementor-type="wp-page"] > .elementor-section-wrap,
 .elementor:is([data-elementor-type="container"], [data-elementor-type="section"]) > .elementor-section-wrap) > :not(style):not(script) {
 --margin-top: 0px;
 --margin-bottom: 0px;
 margin-block: 0;
 min-width: 0;
}
.oz-content-body:empty { display: none; }
.oz-page-flow--compact { --oz-flow-gap: var(--oz-section-spacing-compact); }
.oz-page-flow--large { --oz-flow-gap: var(--oz-section-spacing-large); }

/* Page edges are not a second section gap. Breadcrumbs belong to the intro. */
.oz-content-page .oz-content-breadcrumbs { margin-bottom: var(--oz-space-page-intro); }
.oz-content-page { padding-bottom: var(--oz-section-spacing); }
body.home main .elementor[data-elementor-type="wp-page"] { padding-bottom: var(--oz-section-spacing); }

/* The WordPress privacy policy is continuous prose, not a stack of sections. */
body.privacy-policy .oz-content-body {
 --oz-flow-gap: 1rem;
}
body.privacy-policy .oz-content-page .oz-page-flow .oz-content-body > :is(h2, h3, h4):not(:first-child) {
 margin-block-start: 1rem;
}
