/* Fixed image-sequence background. It never adds page height or visible UI. */
.ssb-page-background-root {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: 0 !important;
    background: #000;
    contain: strict;
}

.ssb-page-background-canvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    pointer-events: none !important;
}

/* Keep the normal WordPress/Elementor page above the fixed canvas. */
body.ssb-page-bg-active {
    background: transparent !important;
}

body.ssb-page-bg-active > *:not(.ssb-page-background-root):not(#wpadminbar) {
    position: relative;
    z-index: 1;
}

body.ssb-page-bg-active #wpadminbar {
    z-index: 999999;
}

/* Optional automatic transparency for Elementor sections/containers.
   This only activates when force_transparent="yes" (the default). */
body.ssb-page-bg-force-transparent .elementor-section,
body.ssb-page-bg-force-transparent .elementor-section-wrap,
body.ssb-page-bg-force-transparent .elementor-top-section,
body.ssb-page-bg-force-transparent .e-con,
body.ssb-page-bg-force-transparent .e-con-inner,
body.ssb-page-bg-force-transparent .elementor-element,
body.ssb-page-bg-force-transparent .elementor-widget-wrap {
    background-color: transparent !important;
}

/* Preserve user background images/gradients unless they explicitly remove them.
   Only solid Elementor background colors are forced transparent above. */
