.rich-text-layout.has-section-image.image-right {
    grid-template-columns: minmax(0, 1fr) minmax(240px, var(--rich-image-width, 40%));
    grid-template-areas: "copy image";
}

.rich-text-layout.has-section-image.image-left {
    grid-template-columns: minmax(240px, var(--rich-image-width, 40%)) minmax(0, 1fr);
    grid-template-areas: "image copy";
}

.rich-text-layout.has-section-image.align-start { align-items: start; }
.rich-text-layout.has-section-image.align-center { align-items: center; }
.rich-text-layout.has-section-image.align-end { align-items: end; }

.rich-text-layout.image-top,
.rich-text-layout.image-bottom,
.rich-text-layout.image-full {
    display: flex;
    align-items: stretch;
}

.rich-text-layout.image-top,
.rich-text-layout.image-full { flex-direction: column; }
.rich-text-layout.image-bottom { flex-direction: column-reverse; }

.rich-text-layout.image-top .rich-section-image img,
.rich-text-layout.image-bottom .rich-section-image img,
.rich-text-layout.image-full .rich-section-image img { max-height: 620px; }

.rich-text-layout .rich-section-image img {
    object-position: center var(--rich-image-focus, center);
}

@media (max-width: 850px) {
    .rich-text-layout.has-section-image.image-right,
    .rich-text-layout.has-section-image.image-left {
        grid-template-columns: 1fr;
        grid-template-areas: "image" "copy";
        align-items: stretch;
    }
}
