.component-image-with-text {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.component-image-with-text-content {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    max-width: 30rem;
}


.component-image-with-text-image-img {
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--large-radius);
}

@media (min-width: 992px) {

    :root {
        --image-gap: 4rem;
    }

    .component-image-with-text {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "left right";
        grid-gap: 2rem;
    }

    .component-image-with-text-image-left {
        --image: left;
        --content: right;
        --content-margin-left: var(--image-gap);
        --content-margin-right: 0;
    }

    .component-image-with-text-image-right {
        --image: right;
        --content: left;
        --content-margin-right: var(--image-gap);
        --content-margin-left: 0;
    }

    .component-image-with-text-image {
        grid-area: var(--image);
    }

    .component-image-with-text-content {
        margin-left: var(--content-margin-left);
        margin-right: var(--content-margin-right);
        grid-area: var(--content);
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 4rem;
        margin-bottom: 4rem;
        justify-content: center;
    }

    .component-image-with-text-image-img {
        aspect-ratio: unset;
        width: 100%;
        height: 100%;
        object-fit: cover;
        overflow: hidden;
    }

}
