@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Syne:wght@400..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

.static-pg {
    font-family: "poppins", sans-serif!important;
}

.font-poppins {
    font-family: "poppins", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
}
.font-mulish {
    font-family: "mulish", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
}

.bg-warning-light {
    background: #FFDA4A!important;
}

.text-warning-light {
 color: #FFDA4A!important;
}

.btn-warning-light {
    background: #FFDA4A!important;
}

.btn-warning-light:hover {
    background: #FFDA4ACE!important;
}

.btn-outline-warning-light {
    border: 1px solid #FFDA4A;
    background: transparent;
}

.btn-outline-warning-light:hover {
    background: #FFDA4A!important;
}

.static-pg .form-control:focus {
    box-shadow: none!important;
}

#courseDetailSectionRow p {
    line-height: 1.6;
}

#OnlineCourseBanner .rounded-table-wrapper {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* Optional: To round the first and last headers if needed */
#OnlineCourseBanner .rounded-table-wrapper thead th:first-child {
    border-top-left-radius: 8px;
}

#OnlineCourseBanner .rounded-table-wrapper thead th:last-child {
    border-top-right-radius: 8px;
}

#OnlineCourseBanner {
    background: #f2f2f2;
    background-image:url('https://media.hazwoper-osha.com/wp-content/uploads/2025/03/1741862060/online-courses-bg.webp') ;
}

#OnlineCourseBanner .quantity {
    display: inline-flex;
    align-items: end;
    background: #fff;
    height: 100%;
    border: 1px solid #C1C1C1;
    padding: 2px;
}

#OnlineCourseBanner .col-lg-6.col-xl-6.col-xxl-7 ul {
    list-style: none;
    padding-left: 0px;
}

#OnlineCourseBanner .col-lg-6.col-xl-6.col-xxl-7 ul li {
    position: relative;
    padding-left: 25px;
    line-height: 1.4;
    margin-bottom: 10px
}

#OnlineCourseBanner .col-lg-6.col-xl-6.col-xxl-7 ul li::before {
    content: "";
    position: absolute;
    left: 5px;
    transform: translateY(-50%);
    width: 8px;
    height: 6px;
    background: #FFC107;
    box-shadow: 0px 0px 3px 3px #ffcb0057;
    margin-top: 10px;
}

#OnlineCourseBanner .quantity button {
    background-color: #000;
    color: white;
    border: none;
    padding: 0px 7px;
    height: 28px;
}

#OnlineCourseBanner .quantity button:hover {
    background-color: #000000c7;
    color: white;
}

#OnlineCourseBanner .roi-product-qty {
    width: 45px;
    outline: none;
    color: #000;
    padding: 0;
    height: 28px;
}

#OnlineCourseBanner .course-add-to-cart {
    background: #f8f9fa;
    padding-top: 7em;
    border: 1px solid #d5d5d5;
    box-shadow: 0px 7px 28.2px 0px #00000017
}

@media (max-width: 600px) {
    #OnlineCourseBanner .course-add-to-cart {
        padding-top: 0;
        border:none
    }
}

#OnlineCourseBanner .course-add-to-cart >.position-absolute {
    top: -16px;
    display: block;
}
@media (max-width: 600px) {
    #OnlineCourseBanner .course-add-to-cart >.position-absolute {
        display: none;
    }
}

/* Mobile Tier Pricing Styles */
  #OnlineCourseBanner .mobile-tier-header {
    display: flex;
    position: absolute;
    z-index: 10;
    bottom: 0;
    flex-direction: column;
    border-radius: 10px 0px 0px 10px;
    box-shadow: -2px 0px 5px -1px #c1c1c1
  }
  
  #OnlineCourseBanner .mobile-tier-header-cell {
    flex: 1;
    font-weight: bold;
    padding: 5px;
    text-align: center;
  }
  
  #OnlineCourseBanner .mobile-tier-scroller {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-left: 70px;
    box-shadow: 7px 7px 5px -8px #c1c1c1;
    border-radius: 10px;
    background: linear-gradient(180deg, #e6e6e6 50%, #ffffff 50%);
  }
  
  #OnlineCourseBanner .mobile-tier-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 55px;
  }
  
  #OnlineCourseBanner .mobile-tier-cell:nth-child(1) {
    padding: 5px;
    text-align: center;
  }
  #OnlineCourseBanner .mobile-tier-cell:nth-child(2) {
    padding: 5px;
    text-align: center;
  }
  
  /* Desktop styles - hide mobile version */
  @media (min-width: 1200px) {
    #OnlineCourseBanner .mobile-tier-container {
      display: none;
    }
  }

#OnlineCourseBanner .course-ceu-cart {
    left: -45px;
    padding: 15px;
    top: 11px;
    background: #FFDA4A;
    width: max-content;
    height: auto;
}

#OnlineCourseBanner .course-cart-price {
    width: 225px;
    border-radius: 0px 15px 0px 0px;
    padding-left: 40px;
    padding-right: 20px;
    background: #434343;
    color: white;
    font-size: 16px;
    font-weight: 600;
}

#OnlineCourseBanner .course-cart-hour {
    width: 225px;
    border-radius: 0px 0px 15px 0px;
    margin-top: 7px;
    background: #008000;
    color: white;
    font-size: 16px;
    font-weight: 600;
    text-align-last: start;
    padding: 5px 15px 5px 50px;
} 
@media (max-width: 600px) {
    #OnlineCourseBanner .fixed-mobile{
        position: fixed;
        bottom: 0;
        background:white;
        left:0;
        width: 100%;
        box-shadow: 0px 0px 3px 1px rgb(179, 179, 179);
        z-index: 110;
    }
}
@media (max-width: 600px) {
    #OnlineCourseBanner .btns.remove-br .add_to_cart_button{
        width: 95%;
    }
}
#OnlineCourseBanner .nav-tabs {
    border-bottom: none;
}

#OnlineCourseBanner .nav-tabs>li {
    margin-bottom: 10px;
}

#OnlineCourseBanner .nav-tabs>li>a {
    color: #666;
    font-weight: 600;
    padding: 8px 20px;
    border: none;
    transition: all 0.3s ease-in-out;
}

#OnlineCourseBanner .nav-tabs>li.active>a,
#OnlineCourseBanner .nav-tabs>li>a:hover {
    color: #000 !important;
    background: transparent;
    position: relative;
}

#OnlineCourseBanner .nav-tabs>li.active>a::after,
#OnlineCourseBanner .nav-tabs>li>a:hover::after {
    content: "";
    background: #FFDA4A;
    height: 3px;
    position: absolute;
    width: 60px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%) scale(1);
    transition: transform 0.3s ease-in-out;
}

#OnlineCourseBanner .nav-tabs>li:not(.active)>a::after {
    transform: translateX(-50%) scale(0);
}

#OnlineCourseBanner .for-business .card-body{
    position: absolute;
    left: -193px;
    bottom: 0;
    font-size: 12px;
    bottom: -4rem;
}
@media (max-width: 1200px) {
    #OnlineCourseBanner .for-business .card-body{
        position: static;
    }
}

#customers-bought h3 a {
    color: #fff;
}

#customers-bought h3 a:hover {
    color: #ffffffb8;
    text-decoration-line: underline!important;
}

#customers-bought .bundle_check {
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    display: inline-block;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    border: none;
}

/* Custom checkmark */
#customers-bought .bundle_check:checked::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 14px;
    color: black;
    background: #FFDA4A;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 5px;
}

/* Optional: Hover effect */
#customers-bought .bundle_check:hover {
    filter: brightness(90%);
}

.course-hour-title{
    background: linear-gradient(to right, #ffcb00 10%, #ffcb00 20%, #ffcb00 30%, #ffcb00 40%, #ffffff 50%, #ffcb00 60%, #ffcb00 70%, #ffcb00 80%, #ffcb00 90%, #ffcb00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 300% auto;
    animation: textShine 5s ease-in-out 2 alternate;
    filter: drop-shadow(1px 2px 1px #808080b1);
}
@keyframes textShine {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 100% 50%;
    }
}

#courseCustomerTestiminial {
    background: #DDD;
}

#courseCustomerTestiminial .border-s-lg {  
    border-left: none;
}  

@media (min-width: 992px) {
    #courseCustomerTestiminial .border-s-lg {  
        border-left: 2px solid #a5a5a5;
    }  
}  

@media (max-width: 575px) {
    #courseCustomerTestiminial a img.iacet-img {
        width: 105px;
    }
}
@media (max-width: 475px) {
    #courseCustomerTestiminial a img.iacet-img {
        width: 75px;
    }
}

#courseReviewCard .reviews_quotes .slick-dots li button:before {
    opacity: .9;
    width: 20px;
    height: 4px;
    background: #adadad;
    content: '';
    border-radius: 0px;
}

#courseReviewCard .reviews_quotes .slick-dots {
    text-align: start;
}

#courseReviewCard .reviews_quotes .slick-dots li.slick-active button:before {
    opacity: 1;
    background: #ffcf45
}
#courseCustomerTestiminial .testimonial-img {
    height: 40px;
    width: 40px;
    border-radius: 50%;
    margin-right: 10px;
}

#courseFacts .fact-card {
    display: flex;
    align-items: center;
    border-radius: 10px;
}
#courseFacts .fact-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 70px;
    padding: 0px 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out;
    overflow: hidden;
    position: relative;
}

#courseFacts .fact-card {
    background: #d9d9d92e;
    border-radius: 10px;
}

#courseFacts .fact-card .fs-6 {
    min-height: 0.1rem;
}

#courseFacts .fact-icon img {
    width: 45px;
    height: 45px;
    object-fit: contain;
    position: absolute;
}

#courseFacts .devices-icons {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #fff;
    box-shadow: 0px 0px 3px 2px rgb(255 255 255 / 42%);
    transition: transform 0.3s ease-in-out;
    overflow: hidden;
    position: relative;
}

#courseFacts .devices-icons:hover {
    transform: scale(1.1);
    transition: 0.2s;
}

#courseFacts .devices-icons img {
    width: 20px;
    height: 24px;
    object-fit: contain;
    position: absolute;
}

#courseDetailSection {
    background: #F1F1F1;
}

#courseDetailSection #customers-bought {
    background: #DDDDDD;
    border-radius: 8px;
    box-shadow: 0 4px 5px 1px rgba(0, 0, 0, 0.2);
    color: #373737;
}
#courseDetailSection .nav-tabs .nav-link {
    background: #f8f9fa;
    color: #000;
    border-radius: 5px;
    margin-right: 5px;
}
#courseDetailSection .nav-tabs .nav-link.active {
    background: #ffc107;
    color: #000;
}

#courseTabContent #faqs #faqAccordion .card-header h5 button {
    white-space: normal;
}

#ideal-training-section {
    padding: 50px 0;
    background-color: #f9f9f9;
}

#ideal-training-section .pricing-slider {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, #77c043, #ffcc00, #ff5733);
    height: 16px;
    border-radius: 4px;
    position: relative;
    width: 76%;
}

#ideal-training-section .slider-marker {
    width: 16px;
    height: 40px;
    background: linear-gradient(90deg, #9DA8C6 0%, #BAC3D8 251.36%);
    position: absolute;
    top: -11px;
    border-radius: 4px;
}

#ideal-training-section .slider-marker:nth-child(1) { left: -5%;top: -45px;width: 100px;background: transparent;font-weight: 600;color: #6c757d;font-size: 14px;}
#ideal-training-section .slider-marker:nth-child(2) { left: 0%; }
#ideal-training-section .slider-marker:nth-child(3) { left: 33%; }
#ideal-training-section .slider-marker:nth-child(4) { left: 66%; }
#ideal-training-section .slider-marker:nth-child(5) { left: 99%; }
#ideal-training-section .slider-marker:nth-child(6) { left: 94%;top: -45px;width: 104px;background: transparent;font-weight: 600;color: #6c757d;font-size: 14px; }

#ideal-training-section .training-card img {
    width: 50px;
    height: 50px;
}

@media (max-width: 992px) {
    #ideal-training-section .training-card img {
        width: 35px;
        height: 35px;
    }
}

@media (min-width: 320px) and (max-width: 992px) {
    #ideal-training-section .ideal-training-ruler{
        height: 80%;
        max-width: 75px;
    }
}

#ideal-training-section .ideal-training-ruler{
    max-width: 62px;
}

#ideal-training-section .btn.btn-warning-light.text-dark a {
    color: #222!important;
}

/* Large devices (tablets) */
@media (min-width: 320px) and (max-width: 991px) {
    #ideal-training-section .training-card .btn.btn-warning-light.px-4.text-dark.custom-button-1 {
        margin-top: 1rem!important; /* Applies to large devices */
    }
}

/* Larger screens (desktops) */
@media (min-width: 992px) {
    #ideal-training-section .training-card .btn.btn-warning-light.px-4.text-dark.custom-button-1 {
        margin-top: 2.8rem!important; /* Applies to larger screens */
    }
}

#ideal-training-section .training-card .custom-button-1 {
    color: #212529 !important;
    line-height: 1px !important;
    height: auto !important;
    background: #FFDA4A !important;
    font-weight: 400 !important;
    border-radius: .3rem !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    padding: 0.4rem 0.4rem !important;
    margin-bottom: 14px !important;
    font-family: "poppins", sans-serif !important;
    min-width: 160px !important;
}

#ideal-training-section .training-card .custom-button button {
    color: #212529 !important;
    line-height: 1px !important;
    height: 1.7rem !important;
    background: #FFDA4A !important;
    font-weight: 400 !important;
    border-radius: .3rem !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    padding: 0.4rem 0.4rem !important;
    margin-bottom: 14px !important;
    font-family: "poppins", sans-serif !important;
    min-width: 160px !important;
}

#ideal-training-section .training-card .custom-button button:hover,
#ideal-training-section .training-card .custom-button-1:hover {
    background: #FFDA4ACE!important;
}

#price-match-section {
    background-color: #FFDA4A;
    padding: 40px 0 0px 0px;
}

#price-match-section .price-match-text h2 {
    font-weight: 700;
    text-align: center;
}

#price-match-section .price-match-text h1 {
    font-weight: 900;
    color: #000;
    text-align: center;
}

#price-match-section .price-match-text p {
    font-size: 1rem;
    text-align: center;
    color: #222;
    max-width: 600px;
    margin: 0 auto;
}

#price-match-section .phone-box {
    background-color: white;
    padding: 10px 15px;
    display: inline-flex;
    align-items: center;
    border-radius: 5px;
    margin: 15px 0px;
    font-weight: 600;
}

#price-match-section .phone-box i {
    font-size: 25px;
    margin-right: 8px;
    color: #000;
}

#price-match-section .worker-image {
    max-width: 255px;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 0;
}

@media (max-width: 768px) {
    #price-match-section .worker-image {
        max-width: 70%;
        display: block;
        margin: 20px auto 0;
    }
}

#courseDetailSection #courseTabs .nav-item .nav-link {
    background: transparent;
    color: #000;
    border: none;
    border-radius: 0.25rem;
    transition: background 0.3s, color 0.3s;
}

#courseDetailSection #courseTabs .nav-link.active {
    background: #ffe16a;
    transition: background 0.3s, transform 0.5s;
    transform: translateY(-2px);
    box-shadow: rgba(0, 0, 0, 0.25) 0px 4px 1px -3px, rgba(0, 0, 0, 0.1) 0px -5px 3px 1px inset;
}

#courseDetailSection #customers-bought .card-container {
    display: none;
}

#courseDetailSection #customers-bought i{
    height: 22px;
    width: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#courseTabContent #syllabus h5 {
    background: #FFEC99;
}

#courseTabContent #faqs .accordion .card {
    border: 0px;
}

#courseTabContent #faqs .accordion .card-header {
    background-color: #e1e1e1;
    color: black;
    cursor: pointer;
    padding: 15px;
    border-radius: 10px 10px 0px 0px;
    margin-bottom: 0px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 3px 3px 3px 0px #c7c7c7;
}
#courseTabContent #faqs .accordion .card-body {
    background-color: #ededed;
    padding: 15px;
    border-radius: 0px 0px 10px 10px;
    display: none;
    box-shadow: 3px 3px 3px 0px #c7c7c7;
}
#courseTabContent #faqs .accordion .btn-link {
    color: black;
    text-decoration: none;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 0;
    font-size: 1rem;
}
#courseTabContent #faqs .accordion .btn-link:hover {
    text-decoration: underline;
}
#courseTabContent #faqs .accordion .fa {
    margin-left: 10px;
}

#courseReviewCard .testimonial-comment {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 73px;
    margin-bottom: 10px;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: #8c8c8c transparent
}

#courseReviewCard .testimonial-comment::-webkit-scrollbar {
    width: 8px;
}

#relatedCourses .course-card {
    transition: transform 0.3s;
    border-radius: 10px;
}
#relatedCourses .course-card:hover {
    transform: scale(1.02);
}
#relatedCourses .course-details {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

#relatedCourses .course-info .card-title a {
    font-size: 16px;
    color: black
}

#relatedCourses .course-info .card-title:hover a {
    color: #6c757d;
    text-decoration: underline!important;
}

#relatedCourses .course-image {
    width: 90px;
    height: 90px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f8f8;
    position: relative;
}
#relatedCourses .course-image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    transition: 0.3s ease;
    object-fit: cover;
}

#relatedCourses .course-image i {
    font-size: 36px;
    color: #6c757d;
}
#relatedCourses .add-to-cart {
    bottom: 0;
    position: absolute;
    border-radius: 10px 0px 10px 0px;
	right: 0;
}

/* Course Catalog Components - Standardized UI */
.catalog-page .search-wrapper input,
.catalog-page .filter-sidebar,
.catalog-page .course-card,
.catalog-page .catalog-sort-btn {
    background: #ffffff;
    border: 1.5px solid #dbe0e6;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.catalog-page .search-wrapper input:hover,
.catalog-page .search-wrapper input:focus,
.catalog-page .filter-sidebar:hover,
.catalog-page .course-card:hover,
.catalog-page .catalog-sort-btn:hover {
    border-color: #f4a125 !important;
    box-shadow: 0 10px 25px rgba(244, 161, 37, 0.12) !important;
}

.catalog-page .search-wrapper input {
    border-radius: 15px;
}

.catalog-page .catalog-container {
    background-color: #fcfcfc;
    padding: 2rem 0 5rem 0;
    min-height: 100vh;
}

.catalog-page .search-wrapper {
    position: relative;
    width: 100%;
}

.catalog-page .search-wrapper i {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 20px;
    z-index: 10;
}

.catalog-page .filter-sidebar {
    border-radius: 24px;
    padding: 10px 16px 10px 20px;
    scrollbar-width: thin;
    scrollbar-color: #f4a12520 transparent;
    max-height: 800px;
    overflow-y: auto;
    position: relative;
}

.catalog-page .filter-group {
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #f1f5f9;
}

.catalog-page .filter-group:last-child {
    border-bottom: none;
}

.catalog-page .filter-sidebar-header {
    position: sticky;
    top: -16px;
    background: white;
    z-index: 10;
    margin-top: -1rem;
    padding-top: 1rem;
    margin-inline: -1rem;
    padding-inline: 1rem;
}

.catalog-page .filter-group .filter-header {
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
}

.catalog-page .filter-group .filter-header:hover span {
    color: #f4a125 !important;
}

.catalog-page .filter-group .filter-header:hover i {
    color: #f4a125 !important;
}

.catalog-page .filter-group .filter-header i {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.catalog-page .filter-group .filter-header[aria-expanded="false"] i,
.catalog-page .filter-group .filter-header.collapsed i {
    transform: rotate(-90deg);
}

.catalog-page .custom-check .form-check-input {
    width: 1.15rem;
    height: 1.15rem;
    border: 2px solid #e0e4e8;
    border-radius: 6px;
    margin-top: 0.15rem;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    z-index: 2;
}

.catalog-page .custom-check .form-check-input:checked {
    background-color: #f4a125;
    border-color: #f4a125;
}

.catalog-page .custom-check .form-check-label {
    font-size: 0.85rem !important;
    color: #64748b !important;
    font-weight: 400 !important;
}

.catalog-page .custom-check {
    position: relative;
    transition: all 0.2s ease;
    padding: 2px 15px 2px 27px;
    margin-left: -8px;
    margin-right: -8px;
    border-radius: 8px;
}

.catalog-page .custom-check:hover {
    background-color: #f4a12508;
}

.catalog-page .custom-check .form-check-label::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    cursor: pointer;
    z-index: 1;
}

.catalog-page .filter-header span {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    text-transform: capitalize;
}

/* Accordion Headers - 100% Perfect Reference Match */
.catalog-page .category-toggle-header {
    background: #ffffff !important;
    border-radius: 16px !important;
    border-left: 6px solid #f4a125 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.04) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.catalog-page .category-toggle-header:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

.catalog-page .category-toggle-header i {
    font-size: 0.9rem;
    color: #94a3b8;
}

.catalog-page .course-card {
    border-radius: 20px;
    overflow: hidden;
    padding: 5px;
}

.catalog-page .course-card h3 {
    font-size: 0.95rem;
    font-weight: 600 ;
    color: #1e293b ;
    line-height: 1.5;
    margin-bottom: 12px;
}

.catalog-page .course-item {
    position: relative;
    z-index: 1;
}

.catalog-page .course-item:hover {
    z-index: 100;
}


/* ===== Active Filter Pills - Professional 2-inline + hover more ===== */
.catalog-page .catalog-active-filters {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    /* Removed overflow: hidden to allow dropdown visibility */
}

.catalog-page .filter-pill {
    background: #fff4e6;
    color: #f4a125;
    padding: 3px 10px;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: space-between; /* Push icon to the end */
    border: 1px solid rgba(244, 161, 37, 0.2);
    white-space: nowrap;
    flex-shrink: 0;
    max-width: 180px; 
}

.catalog-page .filter-pill span {
    display: inline-block;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-page .filter-pill i {
    margin-left: 8px; /* Standardized gap */
    cursor: pointer;
    font-size: 0.6rem;
    opacity: 0.7;
    transition: opacity 0.2s;
    flex-shrink: 0;
}

.catalog-page .filter-pill i:hover {
    opacity: 1;
}

.catalog-page .filter-sidebar-header {
    position: sticky;
    top: -16px;
    background: white;
    z-index: 10;
    margin-top: -1rem;
    padding-top: 1rem;
    margin-inline: -1rem;
    padding-inline: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 0.5rem;
}

.catalog-page .clear-all-filters {
    padding: 0;
    color: #f4a125 !important;
    font-size: 0.75rem !important;
    text-decoration: none !important;
    font-weight: 700;
    border: none;
    background: transparent;
    margin-left: auto;
    transition: opacity 0.2s ease;
}

.catalog-page .clear-all-filters:hover {
    opacity: 0.8 !important;
}

.catalog-page .filter-sidebar::-webkit-scrollbar {
    width: 4px;
}

.catalog-page .filter-sidebar::-webkit-scrollbar-thumb {
    background-color: #f4a12540;
    border-radius: 10px;
}

.catalog-page .more-filters-wrapper {
    position: relative;
    flex-shrink: 0;
    padding-bottom: 20px; /* Stronger bridge for hover */
    margin-bottom: -20px;
    z-index: 1000;
}

.catalog-page .more-filters-tag {
    cursor: pointer;
    background: #fef3c7;
    color: #92400e;
    padding: 3px 12px;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    transition: all 0.2s ease;
    border: 1px solid #fcd34d;
    white-space: nowrap;
}

.catalog-page .more-filters-tag:hover {
    background: #fcd34d;
}

.catalog-page .more-filters-dropdown {
    position: absolute;
    top: calc(100% - 10px); 
    left: 0;
    background: #ffffff;
    border: 1px solid #dbe0e6;
    border-radius: 12px;
    padding: 12px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
    z-index: 1050;
    min-width: 260px;
    max-height: 400px; /* Make it scrollable */
    overflow-y: auto;
    display: none;
    flex-direction: column;
    gap: 8px;
}

.catalog-page .more-filters-wrapper:hover .more-filters-dropdown {
    display: flex;
}

/* Invisible bridge to prevent hover loss */
.catalog-page .more-filters-dropdown::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 20px;
}

.catalog-page .more-filters-dropdown .filter-pill {
    max-width: 100%;
    width: 100%;
    font-size: 0.72rem;
}

/* ===== Catalog Sort Dropdown - Custom (No Bootstrap conflict) ===== */
.catalog-page .catalog-sort-dropdown {
    position: relative;
    display: inline-block;
}

.catalog-page .catalog-sort-btn {
    display: inline-flex;
    align-items: center;
    max-width: 220px;
    overflow: hidden;
}

.catalog-page .catalog-sort-btn span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 150px;
    font-size: 0.72rem;
}

.catalog-page .catalog-sort-menu {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    background: #ffffff;
    border-radius: 12px;
    min-width: 220px;
    list-style: none;
    padding: 8px;
    margin: 0;
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
    z-index: 1060;
    display: none;
}

.catalog-page .catalog-sort-dropdown.open .catalog-sort-menu {
    display: block;
}

.catalog-page .catalog-sort-menu .dropdown-item {
    padding: 5px 12px;
    font-size: 0.72rem;
    color: #475569;
    border-radius: 8px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
}

.catalog-page .catalog-sort-menu .dropdown-item:hover {
    background: #f4a12508;
    color: #f4a125;
}

.catalog-page .catalog-sort-menu .dropdown-item.active {
    background: #fff4e6;
    color: #f4a125;
    font-weight: 600;
}



/* ===== Course Card Hover - Hide ONLY enroll, show popup ===== */
.catalog-page .course-item:hover .course-card .catalog-enroll-btn {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;
}

.catalog-page .course-item:not(:hover) .course-card .catalog-enroll-btn {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s ease;
}

/* Professional Filter Counts and Ellipsis */
.catalog-page .filter-sidebar .form-check-label {
    display: flex;
    align-items: center;
    width: 100% !important;
    justify-content: space-between;
    cursor: pointer;
}

.catalog-page .filter-sidebar .filter-label-text {
    max-width: 80%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11.5px;
    display: inline-block;
}

.catalog-page .filter-sidebar .filter-count {
    font-size: 10px;
    color: #64748b;
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 20px;
    font-weight: 700;
    margin-left: 8px; /* Use margin instead of absolute positioning */
    transition: all 0.2s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 25px;
    height: 20px;
    /* Removed position: absolute and right: -10px */
}

/* Ensure custom-check doesn't overflow */
.catalog-page .custom-check {
    position: relative;
    transition: all 0.2s ease;
    padding: 4px 10px 4px 30px;
    margin-left: 0;
    margin-right: 0;
    border-radius: 8px;
    width: 100%;
    overflow: hidden;
}

.catalog-page .filter-checkbox:checked + .form-check-label .filter-count {
    background: #f4a12520;
    color: #f4a125;
}

/* Remove old count display rule */
.catalog-page .filter-sidebar .custom-check .form-check-label .text-secondary.small.opacity-50 {
    display: none;
}


.catalog-page .btn-add-cart {
    background: #f4a125;
    color: white;
    border: none;
    font-weight: 600;
    padding: 5px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-size: 12px;
}

.catalog-page .btn-add-cart:hover {
    background: #e39218;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(244, 161, 37, 0.3);
}

.catalog-page .btn-view-details {
    background: #ffffff;
    color: #475569;
    border: 1px solid #dbe0e6;
    font-weight: 600;
    padding: 5px;
    border-radius: 12px;
    font-size: 0.8rem;
    transition: all 0.3s ease;
}

.catalog-page .course-price {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
}

.catalog-page .enroll-link {
    font-size: 0.8rem;
    font-weight: 600;
    color: #f4a125;
}

.catalog-page .course-meta {
    font-size: 0.75rem;
    color: #94a3b8;
    margin-bottom: 5px;
    display: flex;
    gap: 15px;
}

.catalog-page .btn-view-details:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.text-truncate-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Custom Tooltip Hook for JS */
.custom-tooltip-wrapper {
    position: relative;
    cursor: help;
}

.body-tooltip {
    position: absolute;
    background: #1e293b;
    color: white;
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
    z-index: 9999;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}

/* Tooltip Arrow */
.body-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #1e293b;
}

/* Media queries consolidated below */

/* New In-Card Hover Reveal Styles - Ultra Compact */
.catalog-page .course-card {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    cursor: pointer;
}
.catalog-page .catalog-course-title:hover {
    color: #FFDA4A !important;
}

/* .course-card .card-front-content {
    transition: all 0.4s ease;
} */

.catalog-page .course-card:hover .card-front-content {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-5px);
}

.catalog-page .course-card .course-card-reveal {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px);
    z-index: 2;
    background: #000;
}

.catalog-page .course-card:hover .course-card-reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
	padding: 5px;
}

.catalog-page .reveal-background {
    background-size: cover;
    background-position: center;
    filter: brightness(0.65);
    transition: transform 0.6s ease;
}

.catalog-page .course-card:hover .reveal-background {
    transform: scale(1.05);
}

.catalog-page .reveal-overlay {
    background: #353535cc;
}

.catalog-page .reveal-content h4 {
    text-shadow: 0 1px 3px rgba(0,0,0,0.9);
}

/* Compact Buttons and Badges */
.catalog-page .course-card .badge {
    font-weight: 500;
}



@media (max-width: 991px) {
    .catalog-page .filter-sidebar {
        margin-bottom: 2rem;
    }

    /* ===== Mobile Course Card - Clean White Card (No Image/Overlay) ===== */
    .catalog-page .course-card {
        padding: 0 !important;
        border-radius: 16px !important;
        overflow: hidden;
        box-shadow: 0 2px 12px rgba(0,0,0,0.06);
        border: 1.5px solid #dbe0e6 !important;
        transition: all 0.3s ease;
    }

    .catalog-page .course-card:active {
        border-color: #f4a125 !important;
    }

    /* Hide front content on mobile - reveal takes over */
    .catalog-page .course-card .card-front-content {
        display: none !important;
    }

    /* Show reveal as the primary card on mobile */
    .catalog-page .course-card .course-card-reveal {
        position: relative !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        display: flex !important;
        flex-direction: column !important;
        background: #ffffff !important;
        z-index: 1;
    }

    /* Hide image background and dark overlay on mobile */
    .catalog-page .course-card .course-card-reveal .reveal-background,
    .catalog-page .course-card .course-card-reveal .reveal-overlay {
        display: none !important;
    }

    /* Reveal content - clean white layout */
    .catalog-page .course-card .course-card-reveal .reveal-content {
        position: relative !important;
        color: #1e293b !important;
        padding: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    /* Title - dark text on white */
    .catalog-page .course-card .course-card-reveal .reveal-content h4 {
        color: #1a1a1a !important;
        font-size: 0.92rem !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
        margin-bottom: 5px !important;
        text-shadow: none !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* Metadata row (hours, flags, price) */
    .catalog-page .course-card .course-card-reveal .reveal-content .reveal-meta-row {
        color: #6b7280 !important;
        font-size: 0.78rem !important;
    }

    .catalog-page .course-card .course-card-reveal .reveal-content .meta-info-row {
        width: 100%;
        color: #6b7280 !important;
    }

    .catalog-page .course-card .course-card-reveal .reveal-content .meta-info-row span,
    .catalog-page .course-card .course-card-reveal .reveal-content .meta-info-row div {
        color: #6b7280 !important;
    }

    /* Price on mobile reveal */
    .catalog-page .course-card .course-card-reveal .reveal-content .reveal-price {
        width: 100%;
        color: #1a1a1a !important;
        font-size: 1.1rem !important;
        font-weight: 800 !important;
        margin-top: 5px;
        padding-top: 5px;
        border-top: 1px solid #f3f4f6;
    }

    /* Clock and globe icons on white bg */
    .catalog-page .course-card .course-card-reveal .reveal-content .far.fa-clock,
    .catalog-page .course-card .course-card-reveal .reveal-content .fa.fa-globe {
        color: #f4a125 !important;
    }

    /* Button row - side by side */
    .catalog-page .course-card .course-card-reveal .reveal-content .mt-auto.d-flex.gap-1 {
        gap: 8px !important;
        margin-top: 0 !important;
    }

    /* Detail button on mobile */
    .catalog-page .course-card .course-card-reveal .reveal-content .mt-auto .btn-outline-light {
        background: #f8f9fa !important;
        color: #374151 !important;
        border: 1px solid #e5e7eb !important;
        font-size: 0.78rem !important;
        font-weight: 600 !important;
        border-radius: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.2s ease;
    }

    .catalog-page .course-card .course-card-reveal .reveal-content .mt-auto .btn-outline-light:hover {
        background: #f0f0f0 !important;
    }

    /* Cart button on mobile */
    .catalog-page .course-card .course-card-reveal .reveal-content .mt-auto .btn-warning {
        background: #f4a125 !important;
        color: #000000 !important;
        border: none !important;
        font-size: 0.78rem !important;
        font-weight: 600 !important;
        border-radius: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.2s ease;
    }

    .catalog-page .course-card .course-card-reveal .reveal-content .mt-auto .btn-warning:hover {
        background: #e39218 !important;
    }

    /* Prevent hover effects on mobile */
    .catalog-page .course-card:hover .card-front-content {
        display: none !important;
    }
    .catalog-page .course-card:hover .course-card-reveal {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .catalog-page .filter-mobile-btn {
        background-color: #FFDA4A !important;
        border-color: #FFDA4A !important;
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
    }
    .catalog-page .filter-mobile-btn i {
        color: #fff !important;
        font-size: 1.2rem;
    }
    
    /* Manual Offcanvas Support */
    .offcanvas-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1040;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.3) !important;
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        opacity: 1 !important;
    }
    .catalog-page .offcanvas.show {
        visibility: visible;
        transform: none;
        z-index: 9999 !important;
        box-shadow: 10px 0 30px rgba(0,0,0,0.1);
    }

    /* Active Filters Mobile Optimization */
    #catalogHeader {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 15px;
        margin-bottom: 5px;
    }

    @media (min-width: 768px) {
        #catalogHeader {
            flex-direction: row !important;
            align-items: center !important;
            justify-content: space-between !important;
        }
        #resultsSortContainer {
            width: auto !important;
        }
    }
    #activeFiltersContainer {
        width: 100% !important;
        order: -1;
    }
    #resultsSortContainer {
        width: 100% !important;
        margin: 0 !important;
    }
    .catalog-page .catalog-active-filters {
        justify-content: start !important;
        width: 100%;
        margin-top: 5px;
    }
    .catalog-page .more-filters-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .catalog-page .more-filters-dropdown {
        left: 50% !important;
        transform: translateX(-50%) !important;
        right: auto !important;
        text-align: left;
    }
    .catalog-page .filter-pill {
        padding: 6px 12px;
        font-size: 0.85rem;
    }

    /* Mobile Filter Row Polish */
    #mobileFilterArea .custom-check {
        padding: 2px 0px 2px 25px;
        margin-bottom: 6px !important;
        border-radius: 12px;
        transition: all 0.2s ease;
        border: 1px solid transparent;
        display: flex;
        align-items: center;
        position: relative;
    }

    #mobileFilterArea .custom-check:active {
        background-color: #f4a12508;
        border-color: #f4a12520;
    }

    #mobileFilterArea .filter-checkbox {
        margin-right: 14px;
        margin-top: 0;
        width: 1.25rem;
        height: 1.25rem;
        flex-shrink: 0;
        z-index: 2;
    }

    #mobileFilterArea .form-check-label {
        flex-grow: 1;
        width: 97% !important;
        margin-bottom: 0;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        z-index: 1;
    }

    #mobileFilterArea .filter-label-text {
        font-size: 0.9rem !important;
        color: #334155 !important;
        font-weight: 500 !important;
        pointer-events: none;
    }

    #mobileFilterArea .filter-count {
        font-size: 0.75rem;
        padding: 2px 10px;
        pointer-events: none;
        background: #f1f5f9;
        color: #64748b;
        border-radius: 20px;
        font-weight: 700;
        height: 30px;
        width: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        right: 0px;
    }

    #mobileFilterArea .filter-checkbox:checked + .form-check-label .filter-label-text {
        color: #f4a125 !important;
        font-weight: 600 !important;
    }

    #mobileFilterArea .filter-checkbox:checked + .form-check-label .filter-count {
        background: #f4a12520;
        color: #f4a125;
    }

    #mobileFilterArea .filter-sidebar {
        max-height: none;
        overflow: visible;
        padding: 0;
        border: none;
        box-shadow: none;
    }
    
    #mobileFilterArea .filter-group {
        border-bottom: 1px solid #f1f5f9 !important;
        padding-bottom: 12px !important;
        margin-bottom: 12px !important;
    }

    #mobileFilterArea .filter-sidebar-header {
        position: relative;
        top: 0;
        margin: 0 0 15px 0;
        padding: 0;
        background: transparent;
    }

    #mobileFilterArea .clear-all-filters {
        font-size: 0.85rem !important;
        color: #f4a125 !important;
    }

    #filterOffcanvas.offcanvas {
        width: 90% !important;
        max-width: 90vw !important;
        height: 100vh !important;
        max-height: 100vh !important;
        visibility: visible !important;
    }

    #filterOffcanvas .offcanvas-body {
        padding: 0 !important;
        overflow: hidden !important;
        display: flex;
        flex-direction: column;
    }

    #mobileFilterArea {
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    #mobileFilterArea .filter-sidebar {
        flex: 1;
        overflow-y: auto !important;
        padding: 15px !important;
        max-height: calc(100vh - 70px) !important; /* Subtract header height */
        scrollbar-width: thin;
        scrollbar-color: #f4a12540 transparent;
    }

    /* Match Desktop Scrollbar Exactly */
    #mobileFilterArea .filter-sidebar::-webkit-scrollbar {
        width: 4px;
        display: block !important;
    }

    #mobileFilterArea .filter-sidebar::-webkit-scrollbar-thumb {
        background-color: #f4a12540 !important;
        border-radius: 10px;
    }

    #mobileFilterArea .filter-sidebar::-webkit-scrollbar-track {
        background: transparent;
    }
}

body.offcanvas-open {
    overflow: hidden !important;
    width: 100%;
}

/* Global Filter Pill Styles */
.catalog-page .filter-pill {
    display: inline-flex;
    align-items: center;
    background: #fff8e6;
    color: #b45309;
    border: 1px solid #fde68a;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.catalog-page .filter-pill i {
    cursor: pointer;
    margin-left: 8px;
    font-size: 0.8rem;
    padding: 2px;
    border-radius: 50%;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}
.catalog-page .filter-pill i:hover {
    background: #fdf2f2;
    color: #dc2626;
}
.catalog-active-filters {
    flex-wrap: wrap;
    gap: 8px;
}

/* More Filters Dropdown Support */
.catalog-page .more-filters-wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
}
.catalog-page .more-filters-tag {
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    transition: all 0.2s;
}
.catalog-page .more-filters-dropdown {
    display: none;
    position: absolute;
    top: 60%;
    right: 0; /* Prevent cutting off on right edge */
    background: white;
    border: 1px solid #fde68a;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    z-index: 1000;
    padding: 12px;
    border-radius: 12px;
    min-width: 220px;
    margin-top: 8px;
}
.catalog-page .more-filters-wrapper.active .more-filters-dropdown {
    display: block;
}
.catalog-page .more-filters-dropdown .filter-pill {
    margin-right: 0;
    display: flex;
    justify-content: space-between;
}

    /* Filter Scrollbar Support */
    .catalog-page #filterOffcanvas .offcanvas-body {
        overflow-y: auto !important;
        scrollbar-width: thin;
        scrollbar-color: #FFDA4A #f8f9fa;
    }
    .catalog-page #filterOffcanvas .offcanvas-body::-webkit-scrollbar {
        width: 6px;
        display: block !important;
    }
    .catalog-page #filterOffcanvas .offcanvas-body::-webkit-scrollbar-track {
        background: #f8f9fa;
    }
    .catalog-page #filterOffcanvas .offcanvas-body::-webkit-scrollbar-thumb {
        background-color: #FFDA4A;
        border-radius: 20px;
    }

#relatedCourses .nav-button {
    width: 30px;
    height: 30px;
    background-color: #f1f1f1;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
    padding: 0;
}
#relatedCourses .nav-button:hover {
    background-color: #f8f9fa;
}
#relatedCourses .prev-button {
    left: -10px;
}
#relatedCourses .next-button {
    right: -10px;
}
#relatedCourses .nav-button i {
    color: #6c757d;
    font-size: 1.2rem;
}
#relatedCourses .card {
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    background: #f1f1f1;
}
#relatedCourses .course-info {
    flex: 1;
    padding-left: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
#relatedCourses .slider-container {
    position: relative;
    padding: 0 20px;
}
#relatedCourses #courseContainer {
    transition: transform 0.5s ease;
}
#relatedCourses .course-info .course-price-and-hour {
    font-size: 16px;
}

#relatedCourses .text-truncate-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 59px;
}

/* Sidebar & Collapse Fixes */
.catalog-page .filter-sidebar .collapse {
    position: static !important; /* Force content flow */
    visibility: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.catalog-page .filter-sidebar .collapse.show {
    display: block !important;
}

.catalog-page .filter-sidebar .filter-group {
    position: relative;
    z-index: 1;
}

/* Utility styles removed - consolidated above */

.head-clear {
    float: right;
    margin-right: 5px;
}
.table-striped {
    --bs-table-striped-bg: #f5f5f5 !important;
}

#infoPopup .close {
    position: absolute;
    right: 20px;
    top: 10px;
    z-index: 1;
    background: #c0c0c0;
    opacity: 0.8!important;
    padding: 0px 5px;
}

#breadcrumbs-section{
    background: #F1F1F1;
}

#breadcrumbs-section .container-xxl .breadcrumb-container.theme1 ul {
    border: none;
    box-shadow: none;
    background: #F1F1F1;
}

#breadcrumbs-section .alert-show.container {
    display:none
}

.typeform-button:hover {
    background: #555554;
    color: white;
    border-color: inherit !important;
}

.custom-img {
  height: 55px;         
  width: auto;           
  object-fit: contain;   
}

#activeFiltersContainer {
    transition: all 0.3s ease;
}

#activeFiltersPills {
    flex-wrap: wrap;
    gap: 8px;
}


@media (max-width: 767.98px) {
  .image-wrapper {
    width: 50%;           
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* Overview Content Reorganization */
#overview-content-wrapper {
  display: flex;
  flex-direction: column;
}

@media (max-width: 767.98px) {
  #overview-content-wrapper .overview-lists {
    display: none; /* Hide lists on mobile */
  }
  
  /* Full width for media on mobile */
  .overview-iframe-wrapper iframe {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 235px !important;
    height: auto !important;
  }
}

/* Styling for overview content */
.overview-iframe-wrapper iframe {
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 420px;
  border: none;
  border-radius: 15px;
}

.overview-image-wrapper img {
  height: auto;
  border-radius: 0.5rem;
}

#customers-bought h2 {
    color: #373737;
}

#learning-objective-content ul li {
    line-height: 1.5;
    margin-bottom: 6px;
}
    
/* Download Sample Button Styles */
.download-sample-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  padding: 0.375rem 0.75rem;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.download-sample-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.download-sample-btn:active {
  transform: translateY(0);
}

.download-sample-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.download-sample-btn .fa-download {
  margin-right: 0.25rem;
}


.sbox {
    margin: 10px 0;
    background: #fff;
    padding: 10px 18px;
    box-shadow: 0 0 0px 1px rgba(20,23,28,.1), 0 3px 1px 0 rgba(20,23,28,.1);
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateY(0) translateX(0) scale(1);
    position: relative;
    z-index: 1;
}

/* When any sbox is hovered, make all other sboxes lightly dull */
.sbox:hover ~ .sbox,
.sbox:has(~ .sbox:hover) {
    opacity: 0.8;
    filter: brightness(0.98) blur(0px);
    transform: translateY(2px) scale(0.1);
    box-shadow: 0 0 0px 1px rgba(20, 23, 28, .08), 0 1px 1px 0 rgba(20, 23, 28, .08);
}

/* Alternative approach using parent container */
.my-4:has(.sbox:hover) .sbox {
    opacity: 0.9;
    filter: brightness(0.98) blur(0px);
    transform: translateX(-5px) scale(0.99);
    box-shadow: 0 0 0px 1px rgba(20, 23, 28, .08), 0 1px 1px 0 rgba(20, 23, 28, .08);
}

/* The hovered sbox itself gets subtle glow effect */
.sbox:hover {
    opacity: 1 !important;
    filter: brightness(1.02) blur(0px) !important;
    transform: translateY(-3px) translateX(2px) scale(1) !important;
    box-shadow: 
    0 5px 10px rgba(255, 205, 5, 0.25),
    0 3px 7px rgba(0, 0, 0, 0.1),
    0 0 0 0px rgba(255, 205, 5, 0.4),
    inset 0 0px 11px rgba(255, 255, 255, 0.8) !important;
    z-index: 100 !important;
}

.sbox:nth-child(1) {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

.sbox .download-sample-btn {
  margin-left: auto;
}

/* Responsive adjustments */
@media (max-width: 576px) {
  .download-sample-btn {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
  }
}

/* desktop default */
.w-desktop-50 {
  width: 50%;
}

/* when image is hidden (iPad & mobile) */
@media (max-width: 991.98px) {
  .w-desktop-50 {
    width: 100%;
  }
}