/* =========================================
   MEDIA TEXT CLEAN CORE
========================================= */

.media-text {
    display: flex;
    gap: 30px;
    align-items: center;

    width: 100%;
    max-width: 848px;

    margin: 30px auto;
    padding: 20px;

    box-sizing: border-box;
}

/* =========================================
   BASE STRUCTURE
========================================= */

.media-text-image,
.media-text-content {
    min-width: 0;
}

/* =========================================
   IMAGE
========================================= */

.media-text-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

/* =========================================
   CONTENT
========================================= */

.media-text-content {
    flex: 1;
}

/* TEXT */
.media-text-body {
    line-height: 1.6;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* =========================================
   SIZE SYSTEM (CLEAN & STABLE)
========================================= */

/* SMALL */
.media-text.media-size-small .media-text-image {
    flex: 0 0 25%;
}

.media-text.media-size-small .media-text-content {
    flex: 1;
}

/* MEDIUM */
.media-text.media-size-medium .media-text-image {
    flex: 0 0 50%;
}

.media-text.media-size-medium .media-text-content {
    flex: 1;
}

/* LARGE */
.media-text.media-size-large .media-text-image {
    flex: 0 0 70%;
}

.media-text.media-size-large .media-text-content {
    flex: 1;
}

/* FULL STACK */
.media-text.media-size-full {
    flex-direction: column;
}

.media-text.media-size-full .media-text-image,
.media-text.media-size-full .media-text-content {
    flex: 1 1 100%;
    width: 100%;
}

/* =========================================
   REVERSE
========================================= */

.media-text.media-reverse {
    flex-direction: row-reverse;
}

/* =========================================
   ALIGN
========================================= */

.media-text.media-align-top {
    align-items: flex-start;
}

.media-text.media-align-center {
    align-items: center;
}

.media-text.media-align-bottom {
    align-items: flex-end;
}

/* =========================================
   FIT SYSTEM (FIXED)
========================================= */

.media-text-image img.media-fit-cover {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.media-text-image img.media-fit-contain {
    object-fit: contain;
    width: 100%;
    height: auto;
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 900px) {

    .media-text {
        flex-direction: column !important;
    }

    .media-text-image,
    .media-text-content {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
}