/* Ensure block gap is applied to all child elements */
.wp-block-media-text__content > * {
    margin-top: var(--wp--style--block-gap);
}

/* Ensure block uses flex gap instead of padding for spacing */
.wp-block-media-text {
    gap: var(--wp--preset--spacing--80);
    &.has-background,
    &[class*="is-style-section-"] {
        gap: var(--wp--preset--spacing--70);
    }
}

@media screen and (max-width: 600px) {
    .wp-block-media-text {
        &,
        &.has-background,
        &[class*="is-style-section-"] {
            gap: var(--wp--preset--spacing--60);
        }
    }
}

/* Set spacing for media text content area */
.wp-block-media-text .wp-block-media-text__content {
    padding: 0;

    & > :first-child {
        margin-top: 0;
    }

    & > :last-child {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 768px) {
    .wp-block-media-text.is-image-fill-element.has-background .wp-block-media-text__content,
    .wp-block-media-text.is-image-fill-element[class*="is-style-section-"] .wp-block-media-text__content {
        padding: var(--wp--custom--global--spacing--padding--background) 0;
    }
}

/* Apply base border radius */
.wp-block-media-text.has-background,
.wp-block-media-text[class*="is-style-section-"],
.wp-block-media-text__media,
.wp-block-media-text__media img {
    border-radius: var(--wp--custom--global--border--radius--base);
}

/* Apply offgrid background */
.wp-block-media-text.has-background,
.wp-block-media-text[class*="is-style-section-"] {
    padding: 0 var(--wp--preset--spacing--60) var(--wp--preset--spacing--60) var(--wp--preset--spacing--60) !important;
    background: transparent !important;
    position: relative;
    z-index: 0;
    &::after {
        content: '';
        width: 100%;
        background: white;
        position: absolute;
        border-radius: var(--wp--custom--global--border--radius--base);
        top:  var(--wp--preset--spacing--60);
        bottom: 0;
        left: 0 !important;
        right: 0 !important;
        z-index: -1 !important;
        box-shadow: var(--wp--preset--shadow--subtle);
    }
    &.has-media-on-the-right::after {
        left: 0 !important;
        right: auto !important;
    }
}

@media screen and (min-width: 601px) {
    .wp-block-media-text.has-background,
    .wp-block-media-text[class*="is-style-section-"] {
        padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--70) var(--wp--preset--spacing--70) 0 !important;
        &::after {
            width: 75%;
            left: auto !important;
            top: 0 !important;
        }
        &.has-media-on-the-right {
            padding-left: var(--wp--preset--spacing--70) !important;
            padding-right: 0 !important;
            &::after {
                left: 0 !important;
                right: auto !important;
            }
        }
        &[style*="grid-template-columns: 3"]::after {
            width: 85%;
        }
        &[style*="grid-template-columns: 2"]::after,
        &[style*="grid-template-columns: 1"]::after  {
            width: 95%;
        }

    }
}

/* Stacked reversed */
@media screen and (max-width: 600px) {
    .wp-block-media-text:not(.is-stacked-on-mobile) {
        grid-template-columns: 100% !important;
        .wp-block-media-text__media {
            grid-row: 2;
            grid-column: 1;
        }
        .wp-block-media-text__content {
            grid-row: 1;
            grid-column: 1;
        }
        &[class*="is-style-section-"] {
            padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--60) !important;
            &::after {
                top: 0 !important;
                bottom: var(--wp--preset--spacing--60) !important;
            }
        }
    }
}

/* Featured */
@media screen and (min-width: 601px) {
    .wp-block-media-text.is-style-featured .wp-block-media-text__media {
        min-height: 700px;
    }
}

/* Background colors */

.wp-block-media-text.is-style-section-base::after,
.wp-block-media-text.has-base-background-color::after {
    background: var(--wp--preset--color--base);
}

.wp-block-media-text.is-style-section-base-variant::after,
.wp-block-media-text.has-base-variant-background-color::after {
    background: var(--wp--preset--color--base-variant);
}

.wp-block-media-text.is-style-section-base-variant-alt::after,
.wp-block-media-text.has-base-variant-alt-background-color::after {
    background: var(--wp--preset--color--base-variant-alt);
}

.wp-block-media-text.is-style-section-contrast::after,
.wp-block-media-text.has-contrast-background-color::after {
    background: var(--wp--preset--color--contrast);
}

.wp-block-media-text.is-style-section-primary::after,
.wp-block-media-text.has-primary-background-color::after {
    background: var(--wp--preset--color--primary);
}   

.wp-block-media-text.is-style-section-secomndary::after,
.wp-block-media-text.has-secondary-background-color::after {
    background: var(--wp--preset--color--secondary);
}

.wp-block-media-text.is-style-section-tertiary::after,
.wp-block-media-text.has-tertiary-background-color::after {
    background: var(--wp--preset--color--tertiary);
}

.wp-block-media-text.is-style-section-quaternary::after,
.wp-block-media-text.has-quaternary-background-color::after {
    background: var(--wp--preset--color--quaternary);
}

.wp-block-media-text.is-style-section-quinary::after,
.wp-block-media-text.has-quinary-background-color::after {      
    background: var(--wp--preset--color--quinary);
}

/* Media text in post content */
.wp-block-post-content > .wp-block-media-text.has-background,
.wp-block-post-content > .wp-block-media-text[class*="is-style-section-"] {
  margin-top: var(--wp--preset--spacing--70);
  margin-bottom: var(--wp--preset--spacing--70);
}