/* Navbar Styling */
nav.navbar.fixed-top.navbar-light.navbar-expand {
    background-image: url('/theme/moove/pix/Background.png') !important;
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    background-size: cover !important;
    background-attachment: fixed !important;
}

/* Global Background and Layout */
body,
#page,
#region-main,
.container-fluid,
header#page-header {
    background-image: url('/theme/moove/pix/Background.png') !important;
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    background-size: cover !important;
    background-attachment: fixed !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

header#page-header,
#page-header,
.container-fluid {
    background-color: transparent !important;
}

header#page-header::before,
header#page-header::after,
.container-fluid::before,
.container-fluid::after {
    background: transparent !important;
    box-shadow: none !important;
}

/* Button Styling */
button.py-3.w-100.btn.btn-outline-primary.btn-lg {
    border: 1px solid #ff9999;
}

.btn.btn-outline-primary {
    background-color: #FFFFFF;
    border: 1px solid #FFFFFF;
    padding: 8px 16px;
    color: #ff6666;
    transition: all 0.3s ease;
}

/* .btn.btn-outline-primary:hover {
    background-color: #ff9999;
    color: #fff;
    border-color: #ff6666;
} */

button.btn-lg.btn-danger.py-3.w-100 {
    outline: none !important;
    border: none;
    font-size: 18px;
    font-weight: bold;
}

a.btn-lg.btn-primary.w-100.py-3.mt-3.hidden.d-lg-block,
a.btn-lg.btn-primary.w-100.h-100.py-3.mt-3 {
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    background: #233B74;
    outline: none;
    box-shadow: none;
}

a.btn-lg.btn-primary.w-100.h-100.py-3.mt-3.d-none.d-sm-block {
    font-size: 18px;
    font-weight: bold;
}

/* Course Card Styling */
.course-card {
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 10px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}

.course-card:hover {
    transform: translateY(-5px);
}

.card {
    background-color: #fff;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-color: #ff9999;
}

.card-body {
    background: #FFFFFF;
}

.card--title,
h6.card-title.pt-2,
.card-title.text-center.font-weight-bold {
    margin: 0;
    font-size: 18px;
    font-weight: bold;
}

.card-title.text-center.font-weight-bold {
    font-size: 14px;
}

/* Price Tag and Button */
.price-tag {
    border-radius: 6px;
    background: #233B74;
    color: #FFFFFF;
    padding: 5px 10px;
    font-weight: bold;
    display: inline-block;
    width: 100%;
    font-size: 14px;
    text-align: center;
}

.price-btn {
    background-color: #f47b8a;
    color: #fff;
    font-weight: bold;
}

/* Sidebar */
.sidebar {
    border-radius: 12px;
    margin-left: 20px;
}

/* Header and Banner */
.header {
    background-color: #fcebed;
    padding: 10px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.banner {
    height: 250px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
}

.banner img {
    max-height: 100%;
}

/* Profile and Navigation */
.nav-button {
    background-color: transparent;
    border: none;
    font-size: 24px;
}

.profile-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.profile-info img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

img.d-block.w-100 {
    border-radius: 8px;
}

img.IMG_HOT {
    height: 50px;
}

/* Form Container */
.form-container {
    background-color: #f97eaa;
    border-radius: 20px;
    max-width: 400px;
    margin: 30px auto;
    padding: 30px 25px 40px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.form-container img {
    max-width: 100%;
    border-radius: 10px;
    margin-bottom: 15px;
}

.form-title {
    font-weight: 900;
    font-size: 26px;
    color: #1a237e;
    margin-bottom: 15px;
}

.countdown {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

.countdown span {
    background-color: #e53935;
    color: white;
    font-weight: 900;
    font-size: 24px;
    width: 45px;
    height: 45px;
    line-height: 45px;
    border-radius: 10px;
    display: inline-block;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
}

button.btn-submit {
    background: linear-gradient(135deg, #f85888, #f97eaa);
    font-weight: 900;
    font-size: 18px;
    border-radius: 15px;
    padding: 12px 0;
    width: 100%;
    border: none;
    color: white;
    box-shadow: 0 4px 10px rgba(249, 126, 170, 0.6);
    transition: background 0.3s ease;
}

button.btn-submit:hover {
    background: linear-gradient(135deg, #f97eaa, #f85888);
}

textarea.form-control {
    resize: vertical;
    min-height: 80px;
}

.custom-btn {
    background-color: #d91f62;
    color: white;
    font-weight: 700;
    font-size: 16px;
    border-radius: 12px;
    box-shadow: 0 6px 12px rgba(217, 31, 98, 0.5);
    text-transform: uppercase;
    border: none;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    white-space: nowrap;
    transition: background-color 0.3s ease;
}

.custom-btn:hover {
    background-color: #c21a56;
    text-decoration: none;
}

/* Modal Styling */
.modal-body .col-md-5,
.modal-body .col-md-7 {
    width: 100%;
    padding: 10px 0;
}

.modal-header {
    border-bottom: none;
    padding: 20px 30px;
    position: relative;
    margin-left: 25%;
}

.modal-header .close {
    font-size: 30px;
    position: absolute;
    right: 20px;
    top: 15px;
    color: #666;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.modal-content.p-3 {
    min-width: 650px;
    border-radius: 10px;
}

button.btn-close.ms-auto.me-2.mt-2 {
    width: 40px;
    height: 15px;
    z-index: 999;
}

#submitActiveModal {
    width: 50%;
    padding: 12px;
    font-size: 18px;
    border-radius: 10px;
    background-color: #3333ff;
    border: none;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

#submitActiveModal:hover {
    background-color: #3333ff;
    transform: translateY(-2px);
}

h5#purchaseModalLabel {
    color: #FF5F7A;
    font-family: "Roboto";
    font-size: 24px;
}

h5#modalCourseName {
    color: #414042;
    font-family: 'Roboto';
    font-size: 20px;
    font-weight: 700;
}

p#modalCourseDescription {
    color: #414042;
    font-family: 'Roboto';
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

button#modalCoursePrice {
    width: 220px;
    height: 60px;
    border-radius: 6px;
    background: #C94648;
    border: 1px solid #ffffff;
    font-weight: bold;
}

p#contextModal {
    color: #000;
    font-family: 'ROBOTO';
    font-size: 15px;
    font-weight: 400;
}

#coupon_code {
    font-size: 18px;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #ced4da;
    text-align: center;
    height: 50px;
    transition: border-color 0.3s ease;
}

#coupon-error {
    font-size: 14px;
    padding: 10px;
    border-radius: 8px;
    color: red;
}

.g-recaptcha {
    margin: 20px auto !important;
    display: flex;
    justify-content: center;
}

/* Course List Container */
.course-list-container {
    padding-bottom: 60px;
    height: 80vh;
    height: calc(80 * var(--vh, 1vh));
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

.hide-scrollbar::-webkit-scrollbar,
.modal-body::-webkit-scrollbar {
    display: none;
}

.hide-scrollbar,
.modal-body {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* General Layout */
html,
body {
    height: max-content !important;
    overflow: unset !important;
}

#page.drawers .main-inner {
    width: 100%;
    border-radius: .5rem;
    background: #EFF9FF !important;
    margin-top: 0;
    margin-bottom: 0;
    flex: 1 0 auto;
}

#region-main,
div#page-content {
    background-color: #EFF9FF !important;
}

#region-main {
    overflow-y: visible;
}

/* Typography */
p.mb-1.fw-bold {
    color: #414042;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 600 !important;
    line-height: normal;
}

label.fw-bold.title {
    color: #414042;
    font-family: 'Roboto';
    font-size: 20px;
    font-style: normal;
    font-weight: 600 !important;
    line-height: normal;
}

p.text-warning.mb-1.pt-2 {
    font-size: 15px;
}

/* Focus and Accessibility */
#navbar a button:focus,
button:focus,
#user-menu-toggle:focus,
#user-menu-toggle:focus-visible,
.dropdown-item:focus,
.dropdown-item:focus-visible,
.carousel-navigation-link:focus,
.carousel-navigation-link:focus-visible,
.btn:focus,
.btn:focus-visible,
.popover-region-toggle.nav-link.icon-no-margin {
    outline: none !important;
    box-shadow: none !important;
}

.price-tag a:focus,
.price-tag a:active {
    outline: none !important;
    box-shadow: none !important;
}

.btn-no-shadow {
    box-shadow: none !important;
}

/* Hide Specific Elements */
.list-group-item[href="https://topik4u.vn/my/courses.php"],
a[href="https://topik4u.vn/user/preferences.php"],
#accessibilitysettings-control,
.usermenu .dropdown-menu a[href*="user/files.php"],
.usermenu .dropdown-menu a[href*="grade/report"],
.usermenu .dropdown-menu a[href*="calendar"],
.usermenu .dropdown-menu a[href*="report"],
a[href*="my/courses.php"],
.search-form {
    display: none !important;
}

/* Course Title */
.course-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.title-wrapper.expanded .course-title {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

.primary-navigation, .usertour{
    display: none !important;
}

body::-webkit-scrollbar {
  display: none;
}

body {
  scrollbar-width: none;
}

body {
  -ms-overflow-style: none;
}

#page {
    height: max-content !important;
}

.list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #f66 !important;
    border-color: #f66 !important;
}

.usermenu .login a {
    display: inline-block !important;
    color: #fff;
    background-color: #f6657c;
    padding: 8px 12px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    margin-top: 20px;
    margin-right: 20px;
}

/* #courseModal{
    width: 100%;
    padding: 0 20px;
}

.modal-course{
    max-width: 100% !important;
    min-width: 100% !important;
}

.modal.show .modal-dialog{
    min-width: 90%;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
} */

#modalCourseDescription > p:nth-child(1) > span > iframe{
    width: 100% !important;
}

@media (max-width: 576px) {
    #modalCourseImage {
        max-height: 150px;
    }

    #modalBuyButton {
        font-size: 0.9rem;
        padding: 0.6rem 1rem;
    }

    .modal-content {
        padding: 1rem !important;
    }

    p.text-warning.mb-1.pt-2 {
        font-size: 13px;
    }

    .descriptionCourse {
        margin-bottom: 20px;
    }

    p#modalCourseDescription {
        color: #414042;
        font-family: 'Roboto';
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 160%;
    }

    .modal-content.p-3 {
        min-width: 300px;
        border-radius: 10px;
    }

    input#affiliate-code {
        border-radius: 20px;
        border: 1px solid #C94648;
        text-align: center;
        font-weight: 400;
    }

    .course-modal .modal-dialog {
        margin: 1rem;
    }

    .course-modal .modal-content {
        padding: 1rem;
    }

    .course-modal img#modalCourseImage {
        width: 80%;
        max-height: 200px;
    }

    .course-modal #modalCourseName {
        font-size: 1.1rem;
    }

    .course-modal .small {
        font-size: 0.9rem;
    }

    .course-modal .title_description {
        font-size: 0.9rem;
        line-height: 1.4;
    }

    .course-modal .btn-primary {
        width: 100%;
        font-size: 1rem;
        padding: 0.75rem;
    }

    /* Giảm khoảng cách giữa các cột */
    .course-modal .row.g-4 {
        row-gap: 1rem;
    }

    .btn.btn-outline-primary,
    .btn.btn-outline-primary:hover,
    .btn.btn-outline-primary:focus,
    .btn.btn-outline-primary:active {
        background-color: #fff !important;
        border: 1px solid #FFFFFF !important;
        font-size: 13px;
        border-radius: 5px;
        height: 55px;
        padding: 8px 0px;
        color: #ff6666 !important;
        transition: all 0.3s ease;
    }

    .footer-menu {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        font-size: 13px;
        background-color: #FFFFFF;
        padding: 0;
        z-index: 9;
    }

    h4.title_mobile{
        font-size: 15px;
        font-weight: bold;
        margin-top: 0px;
    }

    .course-list-container {
        height:unset;
        overflow-y: unset;
        -webkit-overflow-scrolling: unset;
        touch-action: unset;
    }

    .modal-dialog-centered{
        z-index: 15;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .pagelayout-standard #page.drawers .main-inner,
    body.limitedwidth #page.drawers .main-inner,
    #page.drawers .main-inner,
    .moove-container-fluid,
    .container-fluid,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 100% !important;
        padding: 0;
        margin: 0;
    }

    li.nav-item,
    .footer-menu {
        display: none;
    }

    .footer-menu {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        font-size: 15px;
        background-color: #FFFFFF;
        padding: 0;
        z-index: 9;
    }

    .btn.btn-outline-primary,
    .btn.btn-outline-primary:hover,
    .btn.btn-outline-primary:focus,
    .btn.btn-outline-primary:active {
        background-color: #fff !important;
        border: 1px solid #FFFFFF !important;
        font-size: 13px;
        border-radius: 5px;
        height: 55px;
        padding: 8px 9px;
        color: #ff6666 !important;
        transition: all 0.3s ease;
    }

    .container-fluid {
        padding-bottom: 60px;
    }

    .course-list-container{
        padding-left: 5px;
        padding-right: 5px;
    }

    h4.title_mobile{
        font-size: 15px;
        font-weight: bold;
        margin-top: 0px;
    }

    .modal-dialog {
        max-width: 86%;
        margin: 1.75rem auto;
    }

    .course-list-container {
        height:unset;
        overflow-y: unset;
        -webkit-overflow-scrolling: unset;
        touch-action: unset;
    }

    .modal-dialog-centered{
        z-index: 15;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
   .pagelayout-standard #page.drawers .main-inner,
    body.limitedwidth #page.drawers .main-inner,
    #page.drawers .main-inner,
    .moove-container-fluid,
    .container-fluid,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 100% !important;
        padding: 0;
        margin: 0;
    }

    li.nav-item,
    .footer-menu {
        display: none;
    }

    .footer-menu {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        font-size: 15px;
        background-color: #FFFFFF;
        padding: 0;
        z-index: 9;
    }

    .btn.btn-outline-primary,
    .btn.btn-outline-primary:hover,
    .btn.btn-outline-primary:focus,
    .btn.btn-outline-primary:active {
        background-color: #fff !important;
        border: 1px solid #FFFFFF !important;
        font-size: 13px;
        border-radius: 5px;
        height: 55px;
        padding: 8px 9px;
        color: #ff6666 !important;
        transition: all 0.3s ease;
    }

    .container-fluid {
        padding-bottom: 60px;
    }

    .course-list-container{
        padding-left: 5px;
        padding-right: 5px;
    }

    .navbar-toggler{
        display: block !important;
    }

    .navbar-brand{
        display: none !important;
    }

    h4.title_mobile{
        font-size: 15px;
        font-weight: bold;
        margin-top: 0px;
    }

    .modal-dialog {
        max-width: 80%;
        margin: 1.75rem auto;
    }

    .course-list-container {
        height:unset;
        overflow-y: unset;
        -webkit-overflow-scrolling: unset;
        touch-action: unset;
    }

    .modal-dialog-centered{
        z-index: 15;
    }
}

@media (min-width: 992px) and (max-width: 1439.98px) {
    .modal-content {
        min-width: 650px;
        border-radius: 25px;
    }

    a.btn-lg.btn-primary.w-100.h-100.py-3.mt-3.hidden.d-lg-block {
        font-size: 15px;
        font-weight: bold;
    }

    h4.title_mobile {
        font-size: 15px;
        font-weight: bold;
    }

    h6.card-title.pt-2 {
        font-weight: bold;
    }

    span.login.pl-2 {
        margin-right: 20px;
    }

    a {
        color: #f6657c;
        text-decoration: none;
    }

    a.chinhsachcuatoi {
        float: right;
        font-size: 12px;
    }

    .container-fluid {
        max-width: 100% !important;
    }

    button.active.py-3.w-100.btn.btn-outline-primary.btn-lg {
        font-size: 1.26rem;
    }

     button.py-3.w-100.btn.btn-outline-primary.btn-lg {
        font-size: 1.26rem;
    }

    .sidebar{
        margin-left: 2px;
    }

    .navbar-brand {
        width: 100%;
    }

    .logo_lms {
        width: 80% !important;
        margin-left: 25px;
        height: 140px;
        margin-top: 85px;
    }

    .enter-book{
        font-size: 0.5rem !important;
    }

    .enter-code{
        padding: 9px !important;
        font-size: 0.7rem !important;
    }

    .combo-course{
        font-size: 0.8rem !important;
    }

    .title_mobile{
        margin-top: 0;
    }

    /* .modal.show .modal-dialog{
        min-width: 75%;
        max-width: 75%;
        margin-left: auto;
        margin-right: auto;
    } */

    #page-header{
        margin-bottom: 10px !important;
    }

}

@media (min-width: 1200px) and (max-width: 1439.98px) {
    .navbar-brand {
        width: 100%;
    }

    .logo_lms {
        width: 80% !important;
        margin-left: 29px;
        height: 140px;
        margin-top: 85px;
    }

    h4.title_mobile{
        font-size: 15px;
        font-weight: bold;
        margin-top: 0px;
    }

    #page-header{
        margin-bottom: 10px !important;
    }
}

@media (min-width: 1440px) {
    h4.title_mobile{
        font-size: 15px;
        font-weight: bold;
        margin-top: 0px;
    }
    .container-fluid {
        padding: unset !important;

        max-width: 100% !important;
    }

    button.active.py-3.w-100.btn.btn-outline-primary.btn-lg {
        background: linear-gradient(135deg, #C94648, #E9744D) !important;
        font-size: 17px;
        color: #ffffff !important;
    }

    button.py-3.w-100.btn.btn-outline-primary.btn-lg {
        color: #C94648 !important;
        background: #FDEFEB !important;
        font-size: 17px;
    }

    .card-title.text-center.font-weight-bold {
        font-size: 14px;
    }

    button.btn-lg.btn-danger.py-3.w-100 {
        font-size: 18px;
    }

    a.btn-lg.btn-primary.w-100.h-100.py-3.mt-3.d-none.d-sm-block {
        font-size: 18px;
    }

    .course-title {
        font-size: 0.75rem !important;
    }

    p.text-warning.mb-1.pt-2 {
        font-size: 15px;
    }

    .price-tag {
        font-size: 12px;
    }

    .col-md-3 {
        flex: unset;
        max-width: unset;
    }

    .list-container {
        padding-right: 25px;
    }

    #navbar nav a button {
        font-size: 22px;
    }

    #page-wrapper>nav>a {
        width: 14.5% !important;
    }

    .logo_lms {
        width: 100% !important;
        height: 135px !important;
        margin-top: 90px;
        border-radius: 5px;
        z-index: 0;
    }

    .col-md-3.col-lg-2.d-none.d-md-block {
        margin-top: 47px !important;
        padding-top: 0;
    }

    h6.card-title.text-center.course-title.text-truncate.toggle-title.pt-1 {
        font-size: 18px !important;
        font-weight: 500;
    }

    .col-md-3.col-lg-2.d-none.d-md-block {
        padding-top: 7px;
    }

    .logo_lms {
        margin-left: 37px !important;
    }

    button.active.py-3.w-100.btn.btn-outline-primary.btn-lg {
        color: #fff !important;
        background: linear-gradient(135deg, #C94648, #E9744D) !important;
    }

    button.py-3.w-100.btn.btn-outline-primary.btn-lg {
        color: #C94648 !important;
        background: #FDEFEB !important;
    }

    #user-action-menu .dropdown-item:hover {
        background-color: #ff0000;
        color: #fff !important;
    }

    i.fa.fa-headphones {
        margin-left: -22px !important;
    }

    h2#swal2-title {
        font-size: 20px;
    }

    .list-container {
        padding-right: 25px;
    }

    .navbar-left{
        padding-left: 7px !important;
    }

    /* .modal.show .modal-dialog{
        min-width: 75%;
        max-width: 75%;
        margin-left: auto;
        margin-right: auto;
    } */
}


@media (min-width: 992px) {
    button.active.py-3.w-100.btn.btn-outline-primary.btn-lg {
        color: #fff !important;
        font-weight: bold;
        background: linear-gradient(135deg, #C94648, #E9744D) !important;
        border: 1px solid #C94648 !important;
        font-family: Poppins, sans-serif;
    }

    button.py-3.w-100.btn.btn-outline-primary.btn-lg {
        color: #C94648 !important;
        background: #FDEFEB !important;
        border: 1px solid #C94648 !important;
        font-family: Poppins, sans-serif;
    }
}