/* Two Column Text-Image Layout */
.two-column-section {
    width: 100%;
}

.tcti-row {
    width: 100%;
    position: relative;
    padding:0;
}

.tcti-wrapper {
    display: flex;
    width: 100%;
}

/* Desktop styles */
@media (min-width: 992px) {
    .tcti-wrapper {
        flex-wrap: wrap;
    }

    .tcti-text-col {
        width: 50%;
        text-align: left;
    }

    /* Text on left side (when image is on right - default) */
    .tcti-text-col.text-left {
        padding: 0 40px 0 0;
        margin-left: 0;
    }

    /* Text on right side (when image is on left) */
    .tcti-text-col.text-right {
        padding: 0 0 0 40px;
        margin-left: 50%;
    }

    /* Image on right side (default) */
    .tcti-image-wrapper.image-right {
        position: absolute;
        top: 0;
        right: 0;
        width: 50%;
        height: 100%;
    }

    /* Image on left side */
    .tcti-image-wrapper.image-left {
        position: absolute;
        top: 0;
        left: 0;
        width: 50%;
        height: 100%;
    }

    .tcti-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        object-position: center;
    }

    /* No desktop image - text takes full width */
    .tcti-wrapper.no-image-desktop .tcti-text-col {
        width: 100% ;
        margin-left: 0 ;
        padding: 0 ;
    }

    .tcti-wrapper.no-image-desktop .tcti-image-wrapper,
    .tcti-image-wrapper.no-image-desktop {
        display: none ;
    }

    /* Add bottom padding when no desktop image */
    .tcti-row.no-image-desktop {
        padding-bottom: 50px;
    }
}

/* Tablet Landscape specific - max-height for image */
@media (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
    .tcti-image-wrapper,
    .tcti-image-wrapper.image-right,
    .tcti-image-wrapper.image-left {
        max-height: 600px ;
        overflow: hidden;
    }
}

/* Tablet styles */
@media (min-width: 500px) and (max-width: 991px) {
    .tcti-wrapper {
        flex-direction: column;
    }
    .tcti-row{
        padding: 50px 0 0;
    }

    .tcti-text-col {
        width: 100%;
        padding:0 0 30px;
        margin-left: 0;
        text-align: left;
    }

    .tcti-image-wrapper {
        position: relative;
        width: 100%;
    }

    /* No tablet image - hide image wrapper, remove text padding */
    .tcti-wrapper.no-image-tablet .tcti-text-col {
        padding: 0 ;
    }

    .tcti-wrapper.no-image-tablet .tcti-image-wrapper,
    .tcti-image-wrapper.no-image-tablet {
        display: none ;
    }

    /* Add bottom padding when no tablet image */
    .tcti-row.no-image-tablet {
        padding-bottom: 50px;
    }
}



/* Mobile styles */
@media (max-width: 499px) {
    .tcti-wrapper {
        flex-direction: column;
    }
    .tcti-row{
        padding:0;
    }

    .tcti-text-col {
        width: 100%;
        padding: 0 0 20px;
        margin-left: 0;
        text-align: left;
    }

    .tcti-image-wrapper {
        position: relative;
        width: 100%;
    }

    /* No mobile image - hide image wrapper, remove text padding */
    .tcti-wrapper.no-image-mobile .tcti-text-col {
        padding: 0 ;
    }

    .tcti-wrapper.no-image-mobile .tcti-image-wrapper,
    .tcti-image-wrapper.no-image-mobile {
        display: none ;
    }

    /* Add bottom padding when no mobile image */
    .tcti-row.no-image-mobile {
        padding-bottom: 40px;
    }
}

/* Text content */
.tcti-title {
    margin-bottom: 10px;
    margin-top: 0;
}

.tcti-desc {
    margin-bottom: 0;
}

/* Content column wrapper link fix - only for anchor tags */
a.content-column-wrapper {
    width: 100%;
    display: inline-block;
}

.b-br-8 { border-radius: 8px; }