.td_site_branding img {
    max-height: 74px;
    width: auto;
}

/*
    Missing spacing utilities used across the CBS Online / Subscription
    pages. The base theme (style.css) only auto-generates td_mb_* and
    td_height_* (1-99px, then a generator bug from ~100px on — see the
    duplicate ".td_height_100" rules around style.css:1328-1390, which
    silently made td_height_112/120 no-ops). It never generated any
    td_px_*/td_py_*/td_mt_* classes at all, so every one of these was
    rendering as a complete no-op (zero padding/margin) despite looking
    like real utility classes. Defined once here so every page using them
    is fixed at once, matching the td_mb_{n} { margin-bottom: {n}px } style
    already established in style.css.
*/
.td_px_20 { padding-left: 20px; padding-right: 20px; }
.td_px_30 { padding-left: 30px; padding-right: 30px; }
.td_px_35 { padding-left: 35px; padding-right: 35px; }
.td_px_40 { padding-left: 40px; padding-right: 40px; }

.td_py_10 { padding-top: 10px; padding-bottom: 10px; }
.td_py_15 { padding-top: 15px; padding-bottom: 15px; }
.td_py_30 { padding-top: 30px; padding-bottom: 30px; }
.td_py_35 { padding-top: 35px; padding-bottom: 35px; }
.td_py_40 { padding-top: 40px; padding-bottom: 40px; }
.td_py_45 { padding-top: 45px; padding-bottom: 45px; }
.td_py_50 { padding-top: 50px; padding-bottom: 50px; }
.td_py_60 { padding-top: 60px; padding-bottom: 60px; }

.td_mt_10 { margin-top: 10px; }
.td_mt_20 { margin-top: 20px; }
.td_mt_25 { margin-top: 25px; }
.td_mt_40 { margin-top: 40px; }

.td_height_120 { height: 120px; }
@media (max-width: 991px) {
    .td_height_120 { height: 60px; }
}

.td_filter_category a.active {
    background-color: var(--accent-color);
    color: #fff;
}

.write_review_box_reting_icon li i.active {
    color: #ecc800 !important;
}

.instructors_details_skil_bar_bg,
.instructors_details_skil_bar_over {
    animation: none !important;
}

.td_testimonial_with_shape {
    background-image: url(../img/home_4/testimonial_bg.png);
}

.qs-h1-testimonial_dots .td_pagination.td_style_1 li.slick-active button {
    transform: scale(1.34);
    background-color: var(--white-color);
}

.qs-instructor-card_h1 .qs-instructor-card_h1_img {
    width: 100%;
    height: 392px;
}

.td_about.td_style_1 .td_circle_text span {
    animation: rotate-anim 40s linear infinite;
}

.qs-custom-min-width-1 {
    width: 684px;
}


/* bordered team section */


/* bordered team section end*/

.td_card.td_style_5 .td_card_thumb .add_to_wishlist.active .td_cart_wishlist_icon,
.td_card.td_style_3 .add_to_wishlist.active .td_cart_wishlist_icon {
    background-color: #fff;
}

.td_card.td_style_5 .td_card_thumb .add_to_wishlist.active .td_cart_wishlist_icon svg,
.td_card.td_style_3 .add_to_wishlist.active .td_cart_wishlist_icon svg {
    stroke: none;
    fill: currentColor;
    color: #fd4746;
    transition: all linear 0.5s;
}

.td_team.td_style_3 .td_team_thumb.qs-shaped-border {
    border-radius: 37% 63% 42% 58% / 57% 33% 67% 43%;
    border: 3px dashed #a089fe;
}

.td_team.td_style_3 .td_team_thumb.qs-shaped-border .qs-team-thumb-wrapper {
    width: 100%;
    height: 100%;
    border-radius: 37% 63% 42% 58% / 57% 33% 67% 43%;
    border: 5px solid transparent;
    overflow: hidden;
}

.td_card.td_style_3 .td_card_thumb {
    width: 100%;
    aspect-ratio: 410/276;
}

.td_card.td_style_3 .td_card_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*currency and language*/

.top_bar-curr-lang-wrapper {
    display: flex;
    gap: 20px;
    align-items: center;
}

.top_bar-curr-lang-wrapper .curr-wrapper,
.top_bar-curr-lang-wrapper .lang-wrapper {
    display: flex;
    align-items: center;
}

.top_bar-curr-lang-wrapper .separator {
    color: white;
}

.top_bar-curr-lang-wrapper_s3 .separator {
    color: #000;
}

.curr-wrapper .curr-select,
.lang-wrapper .lang-select {
    background: none;
    color: white;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    text-overflow: "";
    cursor: pointer;
    font-size: 14px;
    padding: 0 10px;
}

.top_bar-curr-lang-wrapper_s3 .curr-wrapper .curr-select,
.top_bar-curr-lang-wrapper_s3 .lang-wrapper .lang-select {
    color: #000;
}

.curr-wrapper .curr-select:focus,
.lang-wrapper .lang-select:focus {
    outline: none;
    border: none;
}

.td_nav_list_wrap .top_bar-curr-lang-wrapper {
    display: none;
}

.td_nav_list_wrap.td_active .top_bar-curr-lang-wrapper {
    display: flex;
    padding: 12px;
}

.td_nav_list_wrap .curr-wrapper .curr-select,
.td_nav_list_wrap .lang-wrapper .lang-select {
    color: #000;
}

.td_nav_list_wrap .top_bar-curr-lang-wrapper .separator {
    color: #000;
}

.td_nav_list_wrap .top_bar-curr-lang-wrapper_s3 .curr-wrapper .curr-select,
.td_nav_list_wrap .top_bar-curr-lang-wrapper_s3 .lang-wrapper .lang-select {
    color: #fff;
}

.td_nav_list_wrap .top_bar-curr-lang-wrapper_s3 .separator {
    color: #fff;
}

.td_hero_icon_btns {
    display: flex;
    gap: 27px;
}

.td_iconbox.td_style_2 .td_iconbox_subtitle span {
    background-color: transparent;
    color: var(--accent-color);
}

.td_iconbox.td_style_2 .td_iconbox_subtitle span {
    background-color: transparent;
    color: var(--accent-color);
}

.td_iconbox.td_style_2:hover .td_iconbox_subtitle span {
    background-color: transparent;
    color: #fff;
}

.td_post.td_style_1 .td_post_label {
    background: #ffffff54;
}

.td_card.td_style_3 .td_card_category {
    box-shadow: none;
}

.td_heading_bg.td_heading_bg_forth {
    background-color: #150005 !important;
}

.td_team.td_style_1.td_style-home-four .td_team_info {
    border-radius: 10px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
}

.td_team.td_style_1.td_style-home-four:hover .td_team_info {
    animation: none;
}

.td_team.td_style_1.td_style-home-four:hover .td_team_info {
    background: #890c25;
}

.td_team.td_style_1.td_style-home-four:hover .td_team_info .td_team_member_title {
    color: #fff;
}

.td_team.td_style_1.td_style-home-four:hover .td_team_info .td_team_member_designation {
    color: #fff;
}

.td_blog_details_head .td_blog_details_img_main {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.td_blog_details_head .td_blog_details_img_wrapper {
    width: 100%;
    aspect-ratio: 890 / 570;
}

div.edc-searchbar-clickaway {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background: transparent;
}

div.edc-searchbar-clickaway.active {
    display: block;
}

div.edc-searchbar-clickaway {
    display: none;
}

.td_tab_links.td_style_2 li a {
    font-size: 18px;
}

.home-three-auth-btn-group .td_btn.td_style_1.td_type_1 {
    box-shadow: none;
    border: 1px solid var(--accent-color);
}

.home-three-auth-btn-group .td_btn.td_style_1.td_type_1.td_with_shadow::after {
    display: none;
}

.home-three-auth-btn-group .td_btn.td_style_1.td_with_shadow::after {
    display: none;
}

.home-three-auth-btn-group .td_btn.td_style_1 .td_btn_in {
    padding: 10px 25px;
}

.td_course_details .td_tab_links.td_style_2.td_type_2 {
    overflow-x: auto;
}

#edc-pd-btns-contain {
    scroll-snap-type: x mandatory;
}

.scroll-section {
    scroll-snap-align: start;
}

.edc-pd-tab-btns-wrapper .edc-pd-tab-btn-prev,
.edc-pd-tab-btns-wrapper .edc-pd-tab-btn-next {
    background: #000;
    border: none;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5555px;
    color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.edc-pd-tab-btns-wrapper .edc-pd-tab-btn-prev {
    left: -7px;
}

.edc-pd-tab-btns-wrapper .edc-pd-tab-btn-next {
    right: -7px;
}

.edc-pd-tab-btns-wrapper .edc-pd-tab-btn-prev svg,
.edc-pd-tab-btns-wrapper .edc-pd-tab-btn-next svg {
    width: 16px;
    height: 16px;
}

.td_team.td_style_1:hover .td_team_info {
    animation: none;
    box-shadow: 0px 4px 0px 0px #D2C9FE;
}

.td_post.td_style_1 .td_post_info {
    border: 1px solid #E6E0FF;
    padding: 20px 30px 30px;
}

.comment-list .comment-meta+p {
    color: var(--body-color)
}

.td_page_heading .breadcrumb-item {
    font-weight: 400;
}

.td_faq_1_img {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.td_faq_2_img {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.curr-wrapper .curr-select option,
.lang-wrapper .lang-select option {
    color: var(--heading-color);
}

.td_sign_thumb {
    padding-left: 0;
    padding-right: 44px;
}

.contact_modal .modal-body .form-control,
.td_form_field {
    box-shadow: none;
    border: 1px solid #E6E0FF;
    padding: 14px 18px;
}

.contact_modal .modal-body .form-control:focus,
.td_form_field:focus {
    border: 1px solid #6440fb;
}

.td_form_card.td_style_1 .td_form_card_bottom {
    flex-direction: column;
}

.edc-auth-btn {
    width: 100%;
}

.edc-line-sperator {
    width: 137px;
    height: 1px;
    background: #E6E0FF;
}

.td_card.td_style_7 .td_card_video_block img {
    width: 100%;
}

.td_page_heading {
    min-height: 451px;
}

.td_card.td_style_5 .td_card_review .td_heading_color,
.td_card.td_style_3 .td_card_review .td_heading_color {
    color: var(--body-color) !important;
    opacity: 100;
}

.td_card.td_style_5 .td_card_meta li span,
.td_card.td_style_3 .td_card_meta li span {
    color: var(--body-color) !important;
    opacity: 100;
}

.td_card.td_style_3 .td_card_subtitle.td_heading_color {
    color: var(--body-color) !important;
    opacity: 100;
}

.td_team.td_style_1 .td_team_member_designation.td_heading_color {
    color: var(--body-color) !important;
    opacity: 100;
}

.td_style_1.td_type_1 .td_testimonial_meta_right .td_heading_color {
    color: var(--body-color) !important;
    opacity: 100;
}

.td_post.td_style_1.td_type_1 .td_post_subtitle.td_heading_color {
    color: var(--body-color) !important;
    opacity: 100;
}

.td_post.td_style_1 .td_post_subtitle.td_heading_color {
    color: var(--body-color) !important;
    opacity: 100;
}

.contact_modal.contact_modal_page .modal-content {
    background: #f9f9fa;
}

.contact_modal .modal-content {
    background: #f9f9fa;
}

.contact_modal_form_inner .form-control {
    border-radius: 30px !important;
}

.contact_modal_form_inner textarea.form-control {
    border-radius: 20px !important;
}

.fm-pd {
    padding: 0 18px 0 18px !important;
    background-position: calc(100% - 20px) calc(1em - 6px), calc(100% + -15px) calc(1em - 6px) !important;
}


/* responsive */

@media screen and (min-width: 992px) {
    .td_height_100 {
        height: 100px;
    }
}

@media screen and (min-width: 1200px) {
    .td_site_header.td_style_1.td_type_3 .td_nav_list_wrap_in {
        display: flex;
        align-items: center;
        gap: 100px;
    }
    .td_site_header.td_style_1 .td_main_header_in,
    .td_theme_2 .td_site_header.td_style_1 .td_top_header_in {
        flex-wrap: nowrap;
    }
}

@media (max-width: 1536px) {}

@media (max-width: 1280px) {}

@media (max-width: 1170px) {}

@media (max-width: 1024px) {
    .td_theme_3 .td_site_header.td_style_1 .td_main_header_right {
        padding-right: 30px;
    }
    .td_sign_thumb {
        padding-right: 0px;
    }
}

@media (max-width: 768px) {
    .td_theme_3 .td_site_header.td_style_1 .td_main_header_right {
        padding-right: 20px;
    }
    .td_tab_links.td_style_2.td_type_2 a {
        padding: 8px 24px;
    }
    .td_course_details .td_tab_links.td_style_2.td_type_2 {
        margin-bottom: 20px;
    }
    .td_tab_links.td_style_2.td_type_2 {
        gap: 0;
    }
    .td_sign_thumb {
        display: none;
    }
}

@media (max-width: 640px) {
    .td_type_3 .top_bar-curr-lang-wrapper {
        display: none;
    }
    .td_btns_group {
        gap: 30px 20px;
    }
    .td_site_header.td_style_1.td_type_2 .td_wishlist_btn {
        display: none;
    }
    .td_hero_icon_btns {
        display: flex;
        gap: 10px;
    }
    .td_faq_1 .td_faq_1_right {
        margin-top: 0;
    }
    .instructors {
        padding: 50px 0;
    }
    .edc-line-sperator {
        display: none;
    }
    .td_form_card.td_style_1 {
        padding: 20px 20px;
    }
    .td_fs_20.td_fs_sm_16 {
        font-size: 16px;
    }
    .td_course_details .audio-item {
        display: block;
    }
}
/* ========== Navbar Alignment Fix ========== */
.td_site_header.td_style_1 .td_main_header_in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap !important;
}

.td_site_header.td_style_1 .td_main_header_left {
    flex: 0 0 auto;
}

.td_site_header.td_style_1 .td_main_header_center {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.td_site_header.td_style_1 .td_main_header_right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 15px;
}

.td_nav_list {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: nowrap;
}

.td_nav_list > li {
    white-space: nowrap;
}

.td_nav_list > li > a {
    padding: 8px 12px;
    font-size: 14px;
    display: block;
    transition: color 0.3s ease;
}

/* Mobile responsive */
@media (max-width: 1199px) {
    .td_site_header.td_style_1 .td_main_header_in {
        flex-wrap: wrap !important;
    }
    .td_nav_list {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }
}

/* ═════════════════════════════════════════════════════
   BUG FIXES — CBS Online & Shared Components
   ═════════════════════════════════════════════════════ */

/* ─── BUG 1: Hero badge overlapping CTA button ───
   The .td_hero_trust_line badge was positioned absolutely (via a theme
   ancestor) and its longer text caused it to overflow into the CTA button.
   Fix: make it part of normal flow with its own spacing, not absolute. */
.td_hero_trust_line {
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px !important;
    margin-bottom: 20px !important;
    line-height: 1.6 !important;
}

/* ─── BUG 2: "Most Popular" badge clipping plan title ───
   The .td_featured_badge is position:absolute;top:-12px which overlaps the
   card content because there's no padding-top reservation. Fix: increase
   the card's padding-top to clear the badge, applied via a shared selector. */
.td_pricing_card.td_style_1 {
    padding-top: 40px !important;
}
.td_pricing_card.td_style_1.td_featured_pricing {
    padding-top: 48px !important;
}
.td_hero_btn_group {
    margin-top: 0 !important;
}
.td_featured_badge {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: var(--accent-color, #045227) !important;
    color: #fff !important;
    padding: 6px 22px !important;
    border-radius: 0 0 20px 20px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    z-index: 5 !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}

/* ─── BUG 3: Orphaned "View Full Plans & Pricing" button ───
   The button sits alone with excess whitespace. Fix: tighten spacing to
   visually associate it with the pricing cards section. */
.td_pricing_section_footer {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}
.td_pricing_section_footer .td_btn {
    margin-top: 0 !important;
}

/* ─── BUG 4: Excess empty space in CTA banner ───
   The CTA has min-height:714px but only ~200px of content. Fix: use
   padding instead of min-height so it sizes to content. */
.td_cta.td_style_1 {
    min-height: auto !important;
    padding: 60px 40px !important;
}
.td_cta.td_style_1.td_py_60 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

/* ─── BUG 5: Gradient background on hero ───
   The hero uses a purple gradient. Replace with flat solid colour using
   the site's primary green (#045227). */
.td_hero.td_style_1.td_type_1.td_hero_slider[style*="background"] {
    background-color: #045227 !important;
    background-image: none !important;
}
/* Also override the inline style directly */
section.td_hero.td_hero_slider[style*="linear-gradient"],
section.td_hero.td_hero_slider[style*="gradient"] {
    background: #045227 !important;
}
.td_hero.td_style_1::before {
    background: #033a1c !important;
    opacity: 0.6 !important;
}
.cta-btn-group a,
.td_cta_btn_group a {
    margin: 0 8px;
}
