.image-text-block{
    width:100%;
}

.image-text-container{
    height:100%;
}

.image-text-inner{
    display:flex;
    align-items:stretch;
    gap:20px;
}

.content-side,
.image-side{
    flex:1;
    min-width:0;
}

.content-side{
    display:flex;
    min-height:100%;
}

.content-side-inner{
    width:100%;
    display:flex;
    flex-direction:column;
}
.content-side-inner{
    align-items:flex-start;
}

.content-side.vertical-top{
    align-items:stretch;
}

.content-side.vertical-top .content-side-inner{
    justify-content:flex-start;
    margin-top:0;
    margin-bottom:auto;
}

.content-side.vertical-center{
    align-items:stretch;
}

.content-side.vertical-center .content-side-inner{
    justify-content:center;
    margin-top:auto;
    margin-bottom:auto;
}

.content-side.vertical-bottom{
    align-items:stretch;
}

.content-side.vertical-bottom .content-side-inner{
    justify-content:flex-end;
    margin-top:auto;
    margin-bottom:0;
}

.section-title{
    line-height:1.2;
    font-weight: 600;
    margin:0 0 24px;	
}

.section-description{
    font-size:16px;
    line-height:1.8;
    margin-bottom:10px;
}

.section-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 28px;
    border-radius:30px;
    text-decoration:none;
    font-weight:600;
    transition:all .3s ease;
    width:auto;
}

.section-btn:hover{
    transform:translateY(-2px);
    opacity:.92;
}

.image-side{
    box-sizing:border-box;
}

.image-side img{
    width:100%;
    height:auto;
    object-fit:contain;
}

.image-left .content-side{
    order:2;
}

.image-left .image-side{
    order:1;
}

.ratio-60-40 .content-side{
    flex:0 0 60%;
}

.ratio-60-40 .image-side{
    flex:0 0 40%;
}

.ratio-40-60 .content-side{
    flex:0 0 40%;
}

.ratio-40-60 .image-side{
    flex:0 0 60%;
}

.ratio-50-50 .content-side,
.ratio-50-50 .image-side{
    flex:0 0 50%;
}

.hover-zoom img{
    transition:transform .45s ease;
}

.hover-zoom:hover img{
    transform:scale(1.05);
}

@media (max-width: 768px){

    .image-text-container{
        /* padding:24px !important; */
    }

    .image-text-inner{
        display:flex;
        flex-direction:column !important;
        gap:24px;
    }

    .content-side,
    .image-side,
    .ratio-60-40 .content-side,
    .ratio-60-40 .image-side,
    .ratio-40-60 .content-side,
    .ratio-40-60 .image-side,
    .ratio-50-50 .content-side,
    .ratio-50-50 .image-side{
        width:100%;
        flex:0 0 100%;
    }

    /* Title stays first */
    .section-title{
        margin-bottom:20px;
        font-size:var(--mobile-title-size) !important;
    }

    /* Image should come below title */
    .image-side{
        order:1 !important;
        width:100%;
        display:block;
        padding: 0;
    }

    .image-side img{
        width:100%;
        height:auto;
        display:block;
        object-fit:cover;
    }

    /* Content should come after image */
    .content-side{
        order:2 !important;
        width:100%;
    }

    /* Reset desktop reverse layout */
    .image-left .content-side,
    .image-left .image-side{
        order:unset;
    }

    /* Mobile vertical align should behave naturally */
    .content-side.vertical-top .content-side-inner,
    .content-side.vertical-center .content-side-inner,
    .content-side.vertical-bottom .content-side-inner{
        margin-top:0;
        margin-bottom:0;
    }

    .content-side.vertical-top,
    .content-side.vertical-center,
    .content-side.vertical-bottom{
        justify-content:flex-start !important;
    }
}

.ratio-70-30 .content-side{
    flex:0 0 70%;
}
.ratio-70-30 .image-side{
    flex:0 0 30%;
}

.ratio-30-70 .content-side{
    flex:0 0 30%;
}
.ratio-30-70 .image-side{
    flex:0 0 70%;
}

.ratio-80-20 .content-side{
    flex:0 0 80%;
}
.ratio-80-20 .image-side{
    flex:0 0 20%;
}

.ratio-20-80 .content-side{
    flex:0 0 20%;
}
.ratio-20-80 .image-side{
    flex:0 0 80%;
}