.is-style-masonry.wp-block-gallery {
    grid-template-columns: 1fr;
}

.is-style-masonry.wp-block-gallery figure.wp-block-image {
    overflow: hidden;
    position: relative;
}

.is-style-masonry.wp-block-gallery figure.wp-block-image img {
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.is-style-masonry.wp-block-gallery figure.wp-block-image::before {
    content: "";
    backdrop-filter: none !important;
    height: 100%;
    width: 100%;
    mask-image: unset !important;
    max-height: unset !important;
    position: absolute;
    inset: 0;
    background-color: rgba(0,0,0,0.2);
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

.is-style-masonry.wp-block-gallery figure.wp-block-image figcaption {
    text-align: left;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 400;
    text-shadow: none;
    line-height: 1.25;
    z-index: 2;
}
.is-style-masonry.wp-block-gallery figure.wp-block-image figcaption em {
    font-size: var(--wp--preset--font-size--xx-small);
    font-family: var(--wp--preset--font-family--monospace);
    text-transform: uppercase;
    font-style: normal;
    opacity: 0.8;
}

@media screen and (min-width:600px) {
    .is-style-masonry.wp-block-gallery.columns-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .is-style-masonry.wp-block-gallery.columns-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .is-style-masonry.wp-block-gallery.columns-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .is-style-masonry.wp-block-gallery.columns-5 {
        grid-template-columns: repeat(5, 1fr);
    }
    .is-style-masonry.wp-block-gallery.columns-6 {
        grid-template-columns: repeat(6, 1fr);
    }

    .is-style-masonry.wp-block-gallery figure.wp-block-image figcaption {
        opacity: 0;
        transform: translateY(1em);
        transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        transition-property: transform, opacity;
    }

    .is-style-masonry.wp-block-gallery figure.wp-block-image:hover figcaption,
    .is-style-masonry.wp-block-gallery figure.wp-block-image:has(a:hover) figcaption {
        opacity: 1;
        transform: translateY(0);
    }

    .is-style-masonry.wp-block-gallery figure.wp-block-image:hover img,
    .is-style-masonry.wp-block-gallery figure.wp-block-image:has(a:hover) img {
        transform: scale(1.05);
    }

    .is-style-masonry.wp-block-gallery figure.wp-block-image:hover::before,
    .is-style-masonry.wp-block-gallery figure.wp-block-image:has(a:hover)::before {
        opacity: 1;
    }

    .is-style-masonry.wp-block-gallery:not(.columns-1,.columns-2) .wp-block-image:first-child {
        grid-row: span 2;
        grid-column: span 2;
    }

    .is-style-masonry.wp-block-gallery:not(.columns-1,.columns-2) figure.wp-block-image:first-child figcaption {
        font-size: var(--wp--preset--font-size--large);
    }

    .is-style-masonry.wp-block-gallery:not(.columns-1,.columns-2,.columns-5) .wp-block-image:nth-child(4) {
        grid-column: span 2;
        aspect-ratio: 2/1;
    }

    .is-style-masonry.wp-block-gallery:not(.columns-1,.columns-2,.columns-5) figure.wp-block-image:nth-child(4) figcaption {
        font-size: var(--wp--preset--font-size--medium);
    }

}