body.reactcore-site-bg-active { isolation: isolate; }
body.reactcore-site-bg-scroll { position: relative; }
.reactcore-bg-layer { display:none; position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
#reactcore-site-background { position:fixed; width:100%; height:100vh; height:100dvh; }
#reactcore-site-background[data-attachment="scroll"] { position:absolute; height:100%; min-height:100vh; }
.reactcore-bg-layer[data-active="1"] { display:block; }
.reactcore-bg-layer > .reactcore-root, .reactcore-bg-media { opacity:var(--reactcore-bg-opacity,1); }
.reactcore-bg-media, .reactcore-bg-overlay { position:absolute; inset:0; width:100%; height:100%; }
.reactcore-template-bg-active { position:relative; isolation:isolate; }
body.reactcore-site-bg-clear > :is(#page,.site,.wp-site-blocks),
body.reactcore-site-bg-clear :is(#content.site-content,#primary.content-area,main#main.site-main) { background:transparent !important; }
@media print { .reactcore-bg-layer { display:none !important; } }

/* Reveal the template background through its top-level Elementor layout only. */
.reactcore-template-bg-clear > :is(.e-con, .elementor-section),
.reactcore-template-bg-clear > .elementor-section-wrap > .elementor-section {
    background-color:transparent !important; background-image:none !important;
    --background-overlay-opacity:0;
}
.reactcore-template-bg-clear > .e-con::before,
.reactcore-template-bg-clear > .elementor-section > .elementor-background-overlay,
.reactcore-template-bg-clear > .elementor-section-wrap > .elementor-section > .elementor-background-overlay,
.reactcore-template-bg-clear > :is(.e-con, .elementor-section) > .elementor-background-video-container,
.reactcore-template-bg-clear > .elementor-section-wrap > .elementor-section > .elementor-background-video-container { display:none !important; }
