.basic_2cols {
    overflow: hidden;

    &:not([data-color]),
    &[data-color="#ffffff"],
    &[data-color="#d9d9d9"] {
        .section__title {
            * {
                &:not(.surtitre) {
                    color: var(--main-color-1);
                }
            }
        }
    }

    .basic_2cols__content {
        display: flex;
        position: relative;
        gap: 60px;
        flex-direction: column;
        align-items: center;

        &.reverse {
            flex-direction: column-reverse;
        }

        &+.basic_2cols__content {
            margin-top: 80px;
        }

        @media (min-width: 992px) {
            flex-direction: row;

            &.reverse {
                flex-direction: row-reverse;
            }
        }

        &:has(.basic_2cols__media.cover) {
            align-items: stretch !important;

            img {
                object-fit: cover !important;
                object-position: center 20%;
            }
        }

        .basic_2cols__para {
            position: relative;
            z-index: 3;
            flex: 1;
            height: fit-content;

            >*:first-child {
                margin-top: 0;
            }

            h2,
            h3,
            h4 {
                margin: 16px 0 10px 0;
            }

            p:last-child {
                margin-bottom: 0;
            }

            .section__btn {
                margin: 0px;
            }

            .cta {
                margin-top: 0px !important;
            }

            .title_basictwocols {
                width: fit-content;
                position: relative;

                *:not(.surtitre) {
                    color: var(--main-color-1) !important;
                    color: var(--main-color-1) !important;
                    margin-bottom: 30px !important;
                    width: fit-content !important;
                }

                .surtitre {
                    width: fit-content;
                    top: 0 !important;
                    transform: translate(-50%, -50%) !important;
                    width: 100% !important;
                    left: 50% !important;
                    display: flex !important;
                    align-items: center !important;
                    justify-content: center !important;

                }
            }
        }

        .basic_2cols__media {
            position: relative;
            margin-top: 16px;
            flex: 1;
            display: flex;

            @media (min-width: 768px) {
                margin-top: 0;
            }

            &.cover {
                img {
                    -o-object-fit: contain;
                    object-fit: contain;
                }
            }

            &:not(.cover) {
                height: 100%;
            }

            img {
                display: block;
                height: 100%;
                -o-object-fit: contain;
                object-fit: contain;
                -o-object-position: center;
                object-position: center;
                width: 100%;
                border-radius: var(--border-radius);

                @media (max-width: 991px) {
                    max-height: 400px;
                }
            }

            p {
                position: absolute;
                bottom: 0;
                background: var(--grey);
                left: 50%;
                transform: translate(-50%);
                font-family: var(--title-font);
                color: var(--main-color-2);
                min-width: 80%;
                border-radius: var(--border-radius) var(--border-radius) 0 0;
                margin: 0;
                font-size: 16px;
                line-height: normal;
                padding: 20px 20px 0 20px;

                @media (min-width: 992px) {
                    font-size: 24px;
                    line-height: 32px;
                    padding: 40px 40px 0 40px;
                }
            }
        }
    }
}