/* Main Container to contain all cards */
#ldfbt-upsells-widget-container {
    margin-top: inherit;
    display: flex;
    flex-direction: column;
    margin-bottom: 1.6rem;
    border: 1px solid #d1d7dc;
    padding: 15px;
    border-radius: 6px;
}

/* Course Description meta-box labes style */
.sft-upfbt-course-meta-fields-title {
    font-weight: bold;
}

/* Course Description meta-box input boxes style */
.sft-upfbt-course-meta-fields-input {
    width: 100% !important;
}

/* For Product cart pages - Mostly for salient theme and divi theme */
.cart #ldfbt-upsells-widget-container {
    margin-top: 50px;
}

/* Heading - H2 */
#ldfbt-upsells-widget-container-heading {
    /* font-size: x-large; */
    margin: 10px 0px 30px 0px;
}

/* Individual FBT course main container */
.ldfbt-upsells-widget-course-lists {
    position: relative;
    margin-bottom: 20px;
}

/* Course container */
.ldfbt-course-list-data {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 0px 10px;
}

.ldfbt-course-list-data .ldfbt-course-image-wrapper {
    overflow: hidden;
    position: relative;
    /* padding-right: 15px; */

    width: 150px;
    height: 150px;
}

.ldfbt-course-list-data .ldfbt-course-image-wrapper img {
    width: 150px;
    height: 150px;
    object-fit: cover;
}

/* 150px Width and Height Image looks too huje on mobile phones */
/* @media screen and (max-width: 500px) {
    .ldfbt-course-list-data .ldfbt-course-image-wrapper {
        min-width: 115px;
        width: 115px;
    }
} */

/* Salient Theme adds margin-bottom of 15px */
.ldfbt-course-image-wrapper .ldfbt-course-img {
    margin: 0 !important;
}

/* Course details including price and students count */
.ldfbt-course-card {
    flex: 1;
    display: flex;
    justify-content: space-between;
    gap: 25px;
    /* white-space: nowrap; */
}

.ldfbt-course-card .leftCarddata {
    /* width: 65%; */
    flex: 1;
}

.ldfbt-course-card .leftCarddata a {
    text-decoration: none;
}

.ldfbt-course-card .leftCarddata h3.ldfbt-course-title {
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    font-size: 18px;
    line-height: 1.4;
    padding-bottom: 2px;
}

.ldfbt-course-author-title {
    font-size: 12px;
    color: #777;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ldfbt-course-info-container {
    display: flex;
    gap: 20px;
}

/* Custom Hook Container */
.ldfbt-below-course-title-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

/* Custom Hook Container Inner */
.ldfbt-below-course-title {
    padding-top: 0;
    display: inline-flex;
    align-items: center;
}

.ldfbt-course-enroller-count .ldfbt-course-enrolled {
    display: block;
    min-width: 50px;
    text-align: left;
}

/* @media screen and (max-width: 1000px) and (min-width: 750px) {
    .ldfbt-course-enroller-count .ldfbt-course-enrolled {
        min-width: 0px;
    }
} */

.ldfbt-course-enroller-count .ldfbt-course-enrolled svg {
    width: 16px;
    height: 18px;
    margin-top: 5px;
    margin-right: 5px;
    float: left;
}

.ldfbt-course-enrolled .ldfbt-course-enrolled-count {
    font-size: 14px;
    /* line-height: 2.3; */
}

.ldfbt-course-price-container {
    min-width: 50px;
    text-align: right;
    /* line-height: 2.1; */
}

.ldfbt-course-price {
    color: #333;
    font-weight: bold;
}

@media screen and (max-width: 750px) {
    .ldfbt-course-card {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .ldfbt-course-card .leftCarddata {
        width: 100%;
    }

    .ldfbt-course-plus-icon-container {
        display: none !important;
    }

    .ldfbt-course-price-container {
        text-align: left;
    }
}

.ldfbt-course-plus-icon-container {
    z-index: 1;
    position: absolute;
    top: 90%;
    left: 65px;
    display: inline-block;
    cursor: pointer;
    height: 40px;
    width: 40px !important;
    border-radius: 50%;
    background: #f0f0f0;
    box-shadow: 1px 1px 3px #929292;
    font-size: 30px;
    line-height: 38px;
    text-align: center;
}

.ldfbt-course-plus-icon-container.imageWidth-150 {
    left: 55px;
    top: 92%;
}

.ldfbtPriceFtrwrap {
    border-top: 1px solid #d1d7dc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding-top: 10px;
}

.ldfbtPriceFtrwrap__left p {
    margin-bottom: 0px !important;
    padding-bottom: 0px;
}

.ldfbtPriceFtrwrap__left p strong {
    color: #000;
    font-size: 1.2rem;
}

.ldfbtPriceFtrwrap__left p span {
    font-size: inherit;
}

.ldfbtPriceFtrwrap__left p s {
    font-size: inherit;
}

@media screen and (max-width: 660px) {
    .ldfbtPriceFtrwrap {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
}

.ldfbtPriceFtrwrap #ldfbt-course-add-to-cart {
    cursor: pointer;
}

/* Additional CSS classes to handle Divi theme and themes with sidebars */
.ldfbt-course-card-small .ldfbt-course-card {
    flex-direction: column;
    justify-content: flex-start;
    gap: 2px;
}

.ldfbt-course-card-small .ldfbt-course-card .leftCarddata {
    width: 100%;
}

.ldfbt-course-card-small .ldfbt-course-plus-icon-container {
    display: none !important;
}

.ldfbt-course-card-small .ldfbt-course-price-container {
    text-align: left;
}


/* FBT updated design 24-04-2025 */

.leftCarddata .ldups-course-author-name {
    color: #595c73;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
    margin: 0 !important;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    padding: 0;
}

.leftCarddata .sft-upfbt-course-skill-description,
.sft-upfbt-course-skill-description {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}


/* .ldfbt-course-card .leftCarddata {
    max-width: 450px;
} */

.ldfbt-course-card .leftCarddata .sft-upfbt-course-skill-description {
    font-size: 16px;
}

.sft-upfbt-course-details {
    font-size: 14px;
}

.ldfbt-course-card .leftCarddata .sft-upfbt-course-skill-description,
.sft-upfbt-course-details {
    font-weight: 500;
    line-height: 2;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: break-all;
}

.rating-stars-review {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rating-stars-review .rating-stars-wrapper>span,
.rating-avg-count {
    color: #C4710D;
}

.rating-avg-num {
    color: #C4710D;
    font-weight: bold;
}

.ldfbt-course-total-price {
    display: flex;
    gap: 8px;
}

.ldfbtPriceFtrwrap__left {
    display: flex;
    align-items: center;
    line-height: 0;
    padding: 10px 0px;
}

/* Product Description 2 lines */

.sft-product-description{
     overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
}


/* FBT updated design 06-05-2025 */

@media (max-width:830px) {
    .ldfbt-course-list-data .ldfbt-course-card {
        flex-direction: column;
    }

    .ldfbt-course-plus-icon-container {
        display: none;
    }

    .ldfbt-course-list-data .ldfbt-course-image-wrapper {
        min-width: 100px;
        width: 100px;
        height: 100px;
    }

    .ldfbt-course-list-data .ldfbt-course-image-wrapper a img {
        min-width: 100px;
        width: 100px;
        height: 100px;
        object-fit: cover;
    }

    .ldfbt-course-card {
        gap: 5px;
    }

    .ldfbt-course-info-container {
        gap: 15px;
    }

    .ldfbt-course-enroller-count .ldfbt-course-enrolled {
        min-width: 26px;
    }

    .ldfbt-course-card .leftCarddata h3.ldfbt-course-title{
        font-size: 16px;
    }

    .ldfbt-course-card .leftCarddata .sft-upfbt-course-skill-description {
        font-size: 14px;
    }

    .leftCarddata .ldups-course-author-name{
        font-size: 13px;
    }

    .sft-upfbt-course-details {
        font-size: 13px;
    }

}


/* Instruction style
.ldfbt-tooltip-wrap {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.ldfbt-tooltip-icon {
    background: #0073aa;
    color: #fff;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    font-size: 12px;
    display: inline-block;
    text-align: center;
    line-height: 16px;
}

.ldfbt-tooltip-text {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    background-color: #333;
    color: #fff;
    border-radius: 4px;
    padding: 8px;
    top: 24px;
    left: 0;
    width: 220px;
    z-index: 10;
    font-size: 12px;
    transition: opacity 0.3s;
}

.ldfbt-tooltip-wrap:hover .ldfbt-tooltip-text {
    visibility: visible;
    opacity: 1;
} */


.ldfbt-tooltip-wrap {
    position: relative;
    display: inline-block;
}

/* Tooltip icon styling */
.ldfbt-tooltip-icon {
    background: #0073aa;
    color: #fff;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    font-size: 12px;
    display: inline-block;
    text-align: center;
    line-height: 16px;
    cursor: pointer;
}

.ldfbt-tooltip-text {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    background-color: #333;
    color: #fff;
    border-radius: 4px;
    padding: 8px;
    top: 24px;
    left: 0;
    width: 220px;
    z-index: 1000;
    font-size: 12px;
    transition: opacity 0.3s;
    pointer-events: auto;
    cursor: default;
}

.ldfbt-tooltip-text a {
    cursor: pointer;
}

.ldfbt-tooltip-text.visible {
    visibility: visible;
    opacity: 1;
}

/* Show tooltip when hovering either icon or tooltip */
.ldfbt-tooltip-wrap:hover .ldfbt-tooltip-text,
.ldfbt-tooltip-text:hover {
    visibility: visible;
    opacity: 1;
}