.img-txt-mod-outr-wrp {
    width: 100%;
    max-width: 100vw;
    padding-inline: 4vw;
    box-sizing: border-box;
    overflow: hidden;
}

.text-img-inner {
    --text-img-object-position: center center;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    gap: 4vw;
    width: 100%;
    max-width: 100%;
}

.text-img-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-block: 4vw;
    padding-inline: 0;
}

.text-img-text {
    color: var(--module-text);
}

.text-img-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: clamp(480px, 55vw, 760px);
    padding: 40px 0;
    box-sizing: border-box;
    overflow: hidden;
}

.text-img-image {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 6px;
    object-fit: cover;
    object-position: var(--text-img-object-position);
}

.text-img-layout-text-right .text-img-media {
    order: -1;
}

.text-img-btn-wrp {
    margin-top: 32px;
}


.text-img-pos-top-left {
    --text-img-object-position: left top;
}

.text-img-pos-top-center {
    --text-img-object-position: center top;
}

.text-img-pos-top-right {
    --text-img-object-position: right top;
}

.text-img-pos-center-left {
    --text-img-object-position: left center;
}

.text-img-pos-center {
    --text-img-object-position: center center;
}

.text-img-pos-center-right {
    --text-img-object-position: right center;
}

.text-img-pos-bottom-left {
    --text-img-object-position: left bottom;
}

.text-img-pos-bottom-center {
    --text-img-object-position: center bottom;
}

.text-img-pos-bottom-right {
    --text-img-object-position: right bottom;
}

@media (max-width: 767px) {

    .text-img-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .text-img-content {
        padding-block: 40px 0;
        padding-inline: 0;
    }

    .text-img-media {
        min-height: 70vw;
    }

    .text-img-fit-contain .text-img-image {
        max-height: 70vw;
    }
        .text-img-content {
        order: 1;
    }

    .text-img-media {
        order: 2;
    }

    .text-img-layout-text-right .text-img-media {
        order: 2;
    }
}

.text-img-fit-cover .text-img-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.text-img-fit-contain .text-img-image {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: clamp(480px, 55vw, 760px);
    object-fit: contain;
}

.text-img-fit-contain .text-img-media {
    background: var(--module-background, var(--color-white));
}