/**
 * Gutenberg theme overrides.
 */
.page .entry-content>.alignfull {
    margin-block-start: 0;
}

.wp-block-cover.background-blend-mode-multiply {
    isolation: isolate;
}

.background-blend-mode-multiply .wp-block-cover__background {
    mix-blend-mode: multiply;
    opacity: 1;
}

.background-blend-mode-multiply .wp-block-cover__inner-container {
    position: relative;
    z-index: 1;
}

.wp-block-cover.background-blend-mode-multiply-fade {
    isolation: isolate;
}

.wp-block-cover.background-blend-mode-multiply-fade .wp-block-cover__background.has-background-dim[class*="has-background-dim-"] {
    z-index: 0;
    mix-blend-mode: normal;
    opacity: 1;
}

.wp-block-cover.background-blend-mode-multiply-fade .wp-block-cover__image-background {
    z-index: 1;
    opacity: 1;
    mix-blend-mode: multiply;
}

.wp-block-cover.background-blend-mode-multiply-fade .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}

.wp-block-paragraph:empty {
    display: none;
}

/**
 * Navigation block: mobile overlay below 768px (core default is 600px).
 */
@media (max-width: 767px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex !important;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
        position: relative;
        width: 100%;
        z-index: auto;
        background-color: inherit;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
        display: none;
    }
}

/**
 * Wave divider: sit the image on the bottom edge of the previous section.
 *
 * translateY(-100%) is relative to the image's own height, so the overlap
 * scales with the SVG. A pixel margin-block-start cannot, and a percentage
 * margin is relative to the container width — which does not match alignfull.
 *
 * Also targets the homepage custom-CSS class until that block uses this style.
 */
.wp-block-image.is-style-wave-divider,
.wp-block-image.wp-custom-css-f92562b6 {
    position: relative;
    z-index: 1;
    height: 0;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    overflow: visible;
    line-height: 0;
}

.wp-block-image.is-style-wave-divider img,
.wp-block-image.wp-custom-css-f92562b6 img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    transform: translateY(-99%);
    pointer-events: none;
}

body.block-editor-iframe__body .wp-block-image.is-style-wave-divider,
body.block-editor-iframe__body .wp-block-image.wp-custom-css-f92562b6 {
    height: auto;
}

body.block-editor-iframe__body .wp-block-image.is-style-wave-divider img,
body.block-editor-iframe__body .wp-block-image.wp-custom-css-f92562b6 img {
    transform: none;
    pointer-events: auto;
}

.wp-block-cover.page-hero .wp-block-cover__image-background {
    z-index: 1;
    opacity: 0.5;
}

.wp-block-cover.page-hero .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}