/* Master Background : Gremers Media Studio */
:where(.gms-mb-bg,
.gms-mb-bg-cells > :not(.wp-block-columns):not(.is-layout-flex),
.gms-mb-bg-cells > .wp-block-columns > .wp-block-column,
.gms-mb-bg-cells > .is-layout-flex > :where(.wp-block-column, .wp-block-group, .wp-block-cover, .wp-block-media-text),
.gms-mb-bg-cells > .wp-block-group:has(> .wp-block-columns) > .wp-block-columns > .wp-block-column) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-image: var(--gms-mb-image) !important;
    background-size: var(--gms-mb-size, cover) !important;
    background-position: var(--gms-mb-position, center center) !important;
    background-repeat: var(--gms-mb-repeat, no-repeat) !important;
    background-attachment: var(--gms-mb-attachment, scroll) !important;
    background-blend-mode: var(--gms-mb-blend-mode, normal) !important;
    min-height: var(--gms-mb-min-height, initial);
    border-radius: var(--gms-mb-radius, inherit);
    padding-top: var(--gms-mb-padding-top, inherit);
    padding-bottom: var(--gms-mb-padding-bottom, inherit);
}

/* Zell-Modus: Der Container selbst bekommt bewusst KEIN Hintergrundbild.
   Dadurch bleiben Raster-/Spalten-Zwischenräume transparent/frei. */
.gms-mb-bg-cells {
    position: relative;
    background-image: none !important;
}

/* Falls ein Raster aus zusätzlichen Zeilen-/Spalten-Wrappers besteht,
   werden diese Zwischenplatten leer gemacht und nur die echten Spalten/Kacheln gefüllt. */
.gms-mb-bg-cells > .wp-block-columns,
.gms-mb-bg-cells > .is-layout-flex {
    background-image: none !important;
    background-color: transparent !important;
    overflow: visible;
}

@supports selector(:has(*)) {
    .gms-mb-bg-cells > :has(> .wp-block-columns) {
        background-image: none !important;
        background-color: transparent !important;
        overflow: visible;
        min-height: initial;
        padding-top: initial;
        padding-bottom: initial;
    }
}

:where(.gms-mb-bg.gms-mb-overlay,
.gms-mb-bg-cells.gms-mb-overlay > :not(.wp-block-columns):not(.is-layout-flex),
.gms-mb-bg-cells.gms-mb-overlay > .wp-block-columns > .wp-block-column,
.gms-mb-bg-cells.gms-mb-overlay > .is-layout-flex > :where(.wp-block-column, .wp-block-group, .wp-block-cover, .wp-block-media-text),
.gms-mb-bg-cells.gms-mb-overlay > .wp-block-group:has(> .wp-block-columns) > .wp-block-columns > .wp-block-column)::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: var(--gms-mb-overlay-color, rgba(0, 0, 0, 0.35));
    opacity: var(--gms-mb-overlay-opacity, .35);
    border-radius: inherit;
}

.gms-mb-bg > *,
.gms-mb-bg-cells.gms-mb-overlay > :not(.wp-block-columns):not(.is-layout-flex) > *,
.gms-mb-bg-cells.gms-mb-overlay > .wp-block-columns > .wp-block-column > *,
.gms-mb-bg-cells.gms-mb-overlay > .is-layout-flex > :where(.wp-block-column, .wp-block-group, .wp-block-cover, .wp-block-media-text) > *,
.gms-mb-bg-cells.gms-mb-overlay > .wp-block-group:has(> .wp-block-columns) > .wp-block-columns > .wp-block-column > * {
    position: relative;
    z-index: 1;
}

.gms-mb-protected {
    -webkit-touch-callout: none;
    -webkit-user-drag: none;
    user-select: none;
}

.gms-mb-protected *,
.gms-mb-bg-cells.gms-mb-protected * {
    -webkit-user-drag: none;
}

@media (max-width: 1024px) {
    :where(.gms-mb-bg,
    .gms-mb-bg-cells > :not(.wp-block-columns):not(.is-layout-flex),
    .gms-mb-bg-cells > .wp-block-columns > .wp-block-column,
    .gms-mb-bg-cells > .is-layout-flex > :where(.wp-block-column, .wp-block-group, .wp-block-cover, .wp-block-media-text),
    .gms-mb-bg-cells > .wp-block-group:has(> .wp-block-columns) > .wp-block-columns > .wp-block-column) {
        background-image: var(--gms-mb-image-tablet, var(--gms-mb-image)) !important;
        background-size: var(--gms-mb-size-tablet, var(--gms-mb-size, cover)) !important;
        background-position: var(--gms-mb-position-tablet, var(--gms-mb-position, center center)) !important;
    }

    .gms-mb-fixed,
    .gms-mb-fixed * {
        background-attachment: scroll !important;
    }
}

@media (max-width: 767px) {
    :where(.gms-mb-bg,
    .gms-mb-bg-cells > :not(.wp-block-columns):not(.is-layout-flex),
    .gms-mb-bg-cells > .wp-block-columns > .wp-block-column,
    .gms-mb-bg-cells > .is-layout-flex > :where(.wp-block-column, .wp-block-group, .wp-block-cover, .wp-block-media-text),
    .gms-mb-bg-cells > .wp-block-group:has(> .wp-block-columns) > .wp-block-columns > .wp-block-column) {
        background-image: var(--gms-mb-image-mobile, var(--gms-mb-image-tablet, var(--gms-mb-image))) !important;
        background-size: var(--gms-mb-size-mobile, var(--gms-mb-size-tablet, var(--gms-mb-size, cover))) !important;
        background-position: var(--gms-mb-position-mobile, var(--gms-mb-position-tablet, var(--gms-mb-position, center center))) !important;
    }
}
