/* The row determines the media height; captions occupy their own space below it. */
.wp-block-media-text {
    --media-text-overhang: max(10px, calc(15rem / var(--base-size, 16)));
    --media-text-min-height: max(300px, calc(400rem / var(--base-size, 16)));
    display: grid;
    grid-template-columns: 50% 1fr;
    align-items: stretch !important;
    min-height: var(--media-text-min-height);
    margin-block: calc(var(--media-text-overhang) + 1em);
    overflow: visible;
}
.wp-block-media-text > .wp-block-media-text__content {
    grid-column: 2;
    grid-row: 1;
    align-self: stretch !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: max(30px, calc(60rem / var(--base-size, 16))) 13%;
}
.wp-block-media-text > .wp-block-media-text__content > * { flex-shrink: 0; }
.wp-block-media-text > .wp-block-media-text__content > :first-child { margin-top: 0; }
.wp-block-media-text > .wp-block-media-text__content > :last-child { margin-bottom: 0; }
.wp-block-media-text .wp-element-photo-credit {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    padding: 0.7em 2.3em;
    background: #2f333d;
    color: #fff;
    font-size: 12px;
    text-align: right;
}
.wp-block-media-text > .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
    align-self: stretch !important;
    position: relative;
    min-width: 0;
    margin: calc(-1 * var(--media-text-overhang)) 0 !important;
    overflow: visible;
    background-image: none !important;
}
.wp-block-media-text > .wp-block-media-text__media > :is(img, a, picture, .img-wrapper, .video-block__player),
.wp-block-media-text > .wp-block-media-text__media > video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
}
.wp-block-media-text .wp-block-media-text__media :is(img, video) {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    position: absolute;
    inset: 0;
    clip: auto !important;
    clip-path: none !important;
    margin: 0 !important;
}
.wp-block-media-text > .wp-block-media-text__media > figcaption {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0.75em 0 0;
    text-align: right;
}
.wp-block-media-text:has(> .wp-block-media-text__media > figcaption) {
    margin-bottom: calc(var(--media-text-overhang) + var(--media-text-caption-height, 4em) + 1em);
}
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media { grid-column: 2; }
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content { grid-column: 1; }
@media (max-width: 600px) {
    .wp-block-media-text.is-stacked-on-mobile { grid-template-columns: 1fr !important; }
	.wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
		width: calc(100% - 30px);
		min-height: 280px;
		aspect-ratio: 4 / 3;
		margin: 15px auto 0 !important;
	}
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
        padding: 32px 24px;
    }
    .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media:has(> figcaption) {
        margin-bottom: calc(var(--media-text-caption-height, 4em) + 1.5em) !important;
    }
}
