/*=============== HERO SINGLE COURSE ===============*/
.hero__single__course {
    position: relative;
    padding-block: 150.5px 108px;

    .hero__single__course__container {
        display: flex;
        justify-content: center;
        align-items: center;

        .hero__single__course__content {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 28px;
            text-align: center;
            max-width: 948px;
            width: 100%;
            z-index: 5;

            .span {
                position: relative;
                padding: 8px 14px;
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 8px;
                border-radius: 999px;
                font-size: 14px;
                font-weight: var(--font-regular);
                color: #333333;
                border: 1px solid #C2C6D14D;
                box-shadow: 0px 1px 2px 0px #0000000D;
                z-index: 5;
                margin-bottom: 10px;

                i {
                    font-size: 16px;
                    color: var(--orange);
                }

                &::after {
                    content: '';
                    width: 8px;
                    height: 8px;
                    transform: translateY(-50%) translateX(50%);
                    background-color: #E67E22;
                    border-radius: 50%;
                    margin-top: 8px;
                }
            }

            .img {
                position: relative;
                width: 100%;
                max-width: 780px;
                height: 376px;
                margin-bottom: 35px;
                border-radius: 24px;
                box-shadow: 0px 25px 50px -12px #00000040;
                z-index: 1;

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    border-radius: 24px;
                    border: 7px solid #FFFFFF;
                }

                &::before {
                    content: '';
                    position: absolute;
                    bottom: -44px;
                    left: -35px;
                    width: 128px;
                    height: 128px;
                    background-color: var(--orange);
                    border-radius: 50%;
                    filter: blur(20px);
                    z-index: -1;
                    animation: floatAnimation1 3s ease-in-out infinite;
                }

                &::after {
                    content: '';
                    position: absolute;
                    top: -24.5px;
                    right: -24px;
                    width: 128px;
                    height: 128px;
                    background-color: var(--blue);
                    border-radius: 50%;
                    filter: blur(20px);
                    z-index: -1;
                    animation: floatAnimation2 4s ease-in-out infinite;
                }
            }

            h1 {
                font-size: 48px;
                font-weight: var(--font-bold);
                color: #1E293B;
                text-shadow: 4px 4px 0px #0000000D;
                z-index: 2;

                span {
                    color: var(--orange);
                }
            }

            p {
                font-size: 18px;
                font-weight: var(--font-semi-bold);
                color: #6B7280;
                z-index: 2;
            }

            .course__details {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 16px;
                flex-wrap: wrap;

                .course__detail {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    gap: 8px;
                    padding: 12px 20px;
                    background-color: white;
                    color: #4B5563;
                    border-radius: 999px;
                    border: 1px solid #C2C6D133;
                    box-shadow: 0px 1px 2px 0px #0000000D;
                    font-size: 16px;
                    font-weight: var(--font-semi-bold);
                    transition: all 0.3s ease-in-out;
                    z-index: 2;

                    &:nth-child(even) {
                        i {
                            color: var(--blue);
                        }
                    }

                    &:nth-child(odd) {

                        i {
                            color: var(--orange);
                        }
                    }
                }
            }

            a {
                padding: 16px 45.5px;
                background-color: var(--blue);
                color: white;
                border-radius: 999px;
                gap: 12px;
                margin-top: 16px;
                font-size: 20px;
                font-weight: var(--font-bold);
                transition: background-color 0.3s ease-in-out;
                z-index: 2;

                img {
                    width: 20px;
                    height: 20px;
                    transition: filter 0.3s ease-in-out;
                }

                &:hover {
                    background-color: #075C94;
                }
            }
        }
    }

    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180.25deg, #FFFFFF 26.1%, rgba(215, 215, 215, 0.16) 53.92%, #FFFFFF 81.15%);
        z-index: 1;
    }
}

/*=============== COURSE LEVELS ===============*/
.course__levels {
    padding-block: 80px;

    .course__levels__container {

        .course__levels__content {
            display: flex;
            justify-content: center;
            align-items: start;
            flex-direction: column;
            gap: 65px;

            .course__levels__group {
                display: flex;
                justify-content: center;
                align-items: start;
                flex-direction: column;
                gap: 30px;

                .course__levels__header {
                    display: flex;
                    justify-content: start;
                    align-items: start;
                    gap: 28px;

                    .num {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        width: 32px;
                        height: 32px;
                        border-radius: 50%;
                        background-color: var(--blue);
                        font-size: 20px;
                        font-weight: var(--font-semi-bold);
                        color: white;
                    }

                    .text {
                        display: flex;
                        justify-content: center;
                        align-items: start;
                        flex-direction: column;
                        gap: 8px;

                        h2 {
                            font-size: 36px;
                            font-weight: var(--font-semi-bold);
                            color: black;
                            line-height: 1;
                        }

                        span {
                            font-size: 16px;
                            font-weight: var(--font-semi-bold);
                            color: black;
                        }

                        ul {
                            display: flex;
                            justify-content: start;
                            align-items: start;
                            flex-direction: column;
                            gap: 5px;
                            margin-top: 4.5px;

                            li {
                                font-size: 16px;
                                font-weight: var(--font-regular);
                                color: black;
                                position: relative;
                                padding-left: 20px;

                                &::before {
                                    content: '';
                                    position: absolute;
                                    top: 50%;
                                    left: 2px;
                                    transform: translateY(-50%);
                                    width: 4px;
                                    height: 4px;
                                    background-color: black;
                                    border-radius: 50%;
                                }
                            }
                        }
                    }
                }

                .course__levels__cards {
                    display: flex;
                    justify-content: start;
                    align-items: start;
                    flex-direction: column;
                    gap: 40px;

                    .course__level__card {
                        position: relative;
                        display: flex;
                        justify-content: start;
                        align-items: center;
                        gap: 20px;
                        margin-left: 56px;
                        transition: box-shadow 0.3s ease-in-out;


                        .level__card__img {
                            position: relative;
                            width: 283px;
                            height: 222px;
                            box-shadow: 0px 4px 14px 0px #D7D7D799;

                            img {
                                width: 100%;
                                height: 100%;
                                object-fit: cover;
                            }

                            .level {
                                position: absolute;
                                top: 10px;
                                right: 10px;
                                background-color: white;
                                color: black;
                                font-size: 12px;
                                font-weight: var(--font-regular);
                                padding: 5px 11px;
                                border-radius: 999px;
                            }
                        }

                        .level__card__content {
                            padding-block: 24px;
                            padding-inline: 40px;

                            .level__card__text {
                                display: flex;
                                justify-content: center;
                                align-items: start;
                                flex-direction: column;
                                gap: 9.5px;

                                h3 {
                                    font-size: 20px;
                                    font-weight: var(--font-regular);
                                    color: black;
                                }

                                ul {
                                    display: flex;
                                    justify-content: start;
                                    align-items: start;
                                    flex-direction: column;
                                    gap: 5px;

                                    li {
                                        font-size: 14px;
                                        font-weight: var(--font-regular);
                                        color: black;
                                        position: relative;
                                        padding-left: 20px;

                                        &::before {
                                            content: '';
                                            position: absolute;
                                            top: 50%;
                                            left: 2px;
                                            transform: translateY(-50%);
                                            width: 4px;
                                            height: 4px;
                                            background-color: black;
                                            border-radius: 50%;
                                        }
                                    }
                                }

                                p {
                                    font-size: 14px;
                                    font-weight: var(--font-regular);
                                    color: black;
                                }
                            }
                        }

                        &::before {
                            content: '';
                            position: absolute;
                            top: 0;
                            left: -40px;
                            width: 16px;
                            height: 16px;
                            background-color: white;
                            border: 4px solid var(--blue);
                            border-radius: 50%;
                        }

                        &::after {
                            content: '';
                            position: absolute;
                            top: 41.5px;
                            left: -29px;
                            width: 2px;
                            height: 181px;
                            background-color: var(--blue);
                        }

                        &:hover {
                            box-shadow: 0px 1px 41px 0px #4B55631A;
                        }
                    }
                }
            }
        }
    }
}

/*=============== COURSE FOR ===============*/
.course__for {
    padding-block: 96px;
    background-color: #0170BE1A;

    .course__for__container {

        .course__for__content {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 64px;
            text-align: center;

            .course__for__header {
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
                gap: 6px;

                h2 {
                    font-size: 32px;
                    font-weight: var(--font-bold);
                    color: #1E293B;
                }

                p {
                    font-size: 16px;
                    font-weight: var(--font-regular);
                    color: #3F4944;
                }
            }

            .for__cards {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 34px;
                flex-wrap: wrap;
                width: 100%;

                .for__card {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    flex-direction: column;
                    gap: 9px;
                    width: 100%;
                    max-width: 288px;
                    height: 100%;
                    min-height: 230px;
                    padding: 32px 46.5px;
                    background-color: #FFFFFFCC;
                    border-radius: 32px;
                    border: 1px solid #065F461A;
                    box-shadow: 0px 1px 2px 0px #0000000D;
                    backdrop-filter: blur(12px);


                    .icon {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        width: 60px;
                        height: 60px;
                        border-radius: 50%;
                        background-color: var(--blue);

                        i {
                            font-size: 30px;
                            color: #FFFFFF;
                        }
                    }

                    h3 {
                        font-size: 20px;
                        font-weight: var(--font-semi-bold);
                        color: #1E293B;
                    }

                    p {
                        font-size: 14px;
                        font-weight: var(--font-regular);
                        color: #3F4944;
                    }
                }
            }

        }
    }
}

/*=============== QUESTIONS ===============*/
.questions {
    padding-block: 80px 130px;

    .questions__container {

        .questions__content {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 55px;

            .questions__header {
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
                gap: 3px;

                h2 {
                    font-size: 38px;
                    font-weight: var(--font-semi-bold);
                    color: #333333;
                    line-height: 1;
                }

                p {
                    font-size: 22px;
                    font-weight: var(--font-regular);
                    color: #4B5563;
                }
            }

            .questions_accordion {
                display: flex;
                flex-direction: column;
                gap: 16px;
                max-width: 835px;
                margin: 0 auto;

                .question_item {
                    background-color: white;
                    border: 1px solid #F1F2F9;
                    border-radius: 16px;
                    overflow: hidden;
                    padding: 26px 32px;
                    transition: all 0.3s ease;
                    box-shadow: 0px 1px 4px 0px #19213D0F;

                    &.active {
                        border-color: var(--blue);
                        box-shadow: 0px 5px 15px 0px #19213D0F;

                        .question_header {
                            .icon {
                                background-color: var(--blue);
                                color: white;
                                transform: rotate(90deg);
                            }
                        }
                    }

                    &:hover {
                        border-color: var(--blue);
                        box-shadow: 0px 5px 15px 0px #19213D0F;
                    }
                }

                .question_header {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    cursor: pointer;
                    user-select: none;

                    h3 {
                        margin: 0;
                        font-size: 20px;
                        font-weight: var(--font-bold);
                        color: #333333;
                    }

                    .icon {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 35px;
                        height: 35px;
                        border-radius: 50%;
                        background-color: #F3F4F680;
                        box-shadow: 0px 0px 1px 0px #00000030;
                        color: #9CA3AF;
                        transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
                    }
                }

                .question_answer {
                    max-height: 0;
                    overflow: hidden;
                    transition: max-height 0.3s ease-out;

                    p {
                        font-size: 16px;
                        font-weight: var(--font-regular);
                        line-height: 1.6;
                        color: #333333;
                        width: 90%;
                        margin-top: 16px;
                    }
                }
            }

            .btn {
                padding: 12.5px 30.5px;
                background-color: var(--orange);
                color: white;
                border-radius: 8px;
                font-size: 18px;
                font-weight: var(--font-semi-bold);
                transition: background-color 0.3s ease-in-out;

                &:hover {
                    background-color: #C45B11;
                }
            }
        }
    }
}

@media (max-width: 1220px) {

    /*===============HERO SINGLE COURSE===============*/
    .hero__single__course {
        padding-block: 130px 95px;

        .hero__single__course__container {
            .hero__single__course__content {
                max-width: 850px;

                .img {
                    max-width: 720px;
                    height: 350px;
                }

                h1 {
                    font-size: 42px;
                }
            }
        }
    }

    /*=============== COURSE LEVELS ===============*/
    .course__levels {
        .course__levels__container {
            .course__levels__content {
                .course__levels__group {
                    .course__levels__cards {
                        .course__level__card {
                            .level__card__content {
                                padding-inline: 30px;
                            }
                        }
                    }
                }
            }
        }
    }

    /*=============== COURSE FOR ===============*/
    .course__for {
        padding-block: 85px;

        .course__for__container {
            .course__for__content {
                gap: 55px;

                .for__cards {
                    gap: 28px;

                    .for__card {
                        max-width: 280px;
                        padding-inline: 34px;
                    }
                }
            }
        }
    }

    /*===============QUESTIONS===============*/
    .questions {
        padding-block: 70px 110px;

        .questions__container {
            .questions__content {
                .questions_accordion {
                    max-width: 780px;
                }
            }
        }
    }
}

@media (max-width: 991px) {

    /*===============HERO SINGLE COURSE===============*/
    .hero__single__course {
        padding-block: 180px 80px;

        .hero__single__course__container {
            .hero__single__course__content {
                gap: 24px;
                max-width: 730px;

                .img {
                    max-width: 730px;
                    height: 336px;
                    margin-bottom: 25px;
                }

                h1 {
                    font-size: 38px;
                }

                p {
                    font-size: 16px;
                }

                a {
                    font-size: 20px;
                    padding: 15px 40px;
                    width: 100%;
                }
            }
        }
    }

    /*=============== COURSE LEVELS ===============*/
    .course__levels {
        padding-block: 90px;

        .course__levels__container {
            .course__levels__content {
                gap: 55px;

                .course__levels__group {
                    .course__levels__header {
                        .text {
                            h2 {
                                font-size: 30px;
                            }
                        }
                    }

                    .course__levels__cards {
                        .course__level__card {
                            align-items: start;

                            .level__card__img {
                                width: 43%;
                                height: 208px;
                            }

                            .level__card__content {
                                padding-block: 18px;
                                padding-inline: 20px;
                            }
                        }
                    }
                }
            }
        }
    }

    /*=============== COURSE FOR ===============*/
    .course__for {
        padding-block: 70px;

        .course__for__container {
            .course__for__content {
                gap: 45px;

                .course__for__header {
                    h2 {
                        font-size: 28px;
                    }
                }

                .for__cards {
                    gap: 22px;

                    .for__card {
                        max-width: 300px;
                    }
                }
            }
        }
    }

    /*===============QUESTIONS===============*/
    .questions {
        padding-block: 80px 120px;

        .questions__container {
            .questions__content {
                gap: 55px;

                .questions__header {
                    text-align: center;

                    h2 {
                        font-size: 38px;
                    }

                    p {
                        font-size: 22px;
                    }
                }

                .questions_accordion {
                    max-width: 100%;

                    .question_item {
                        padding: 24px 28px;
                    }
                }
            }
        }
    }
}

@media (max-width: 768px) {

    /*===============HERO SINGLE COURSE===============*/
    .hero__single__course {
        padding-block: 145px 65px;

        .hero__single__course__container {
            .hero__single__course__content {
                gap: 20px;

                .span {
                    font-size: 13px;
                    padding: 7px 12px;
                }

                .img {
                    height: 270px;
                    border-radius: 18px;
                    margin-bottom: 18px;

                    img {
                        border-radius: 18px;
                        border-width: 5px;
                    }

                    &::before,
                    &::after {
                        width: 95px;
                        height: 95px;
                    }
                }

                h1 {
                    font-size: 30px;
                }

                p {
                    font-size: 15px;
                }

                .course__details {
                    gap: 12px;

                    .course__detail {
                        font-size: 14px;
                        padding: 10px 16px;
                    }
                }

                a {
                    font-size: 16px;
                    padding: 13px 34px;
                }
            }
        }
    }

    /*=============== COURSE LEVELS ===============*/
    .course__levels {
        padding-block: 55px;

        .course__levels__container {
            .course__levels__content {
                gap: 45px;

                .course__levels__group {
                    gap: 25px;

                    .course__levels__header {
                        gap: 18px;

                        .text {
                            h2 {
                                font-size: 28px;
                            }

                            span {
                                font-size: 14px;
                            }

                            ul {
                                li {
                                    font-size: 14px;
                                }
                            }
                        }
                    }

                    .course__levels__cards {
                        gap: 30px;

                        .course__level__card {
                            flex-direction: column;
                            align-items: start;
                            gap: 15px;
                            margin-left: 42px;

                            .level__card__img {
                                width: 100%;
                                max-width: 320px;
                                height: 210px;
                            }

                            .level__card__content {
                                padding-block: 0;
                                padding-inline: 0;

                                .level__card__text {
                                    h3 {
                                        font-size: 18px;
                                    }

                                    ul {
                                        li {
                                            font-size: 13px;
                                        }
                                    }

                                    p {
                                        font-size: 13px;
                                    }
                                }
                            }

                            &::before {
                                left: -32px;
                            }

                            &::after {
                                left: -21px;
                                height: 90%;
                            }
                        }
                    }
                }
            }
        }
    }

    /*=============== COURSE FOR ===============*/
    .course__for {
        padding-block: 55px;

        .course__for__container {
            .course__for__content {
                gap: 35px;

                .course__for__header {
                    h2 {
                        font-size: 25px;
                    }

                    p {
                        font-size: 14px;
                    }
                }

                .for__cards {
                    gap: 18px;

                    .for__card {
                        max-width: 260px;
                        min-height: 210px;
                        padding: 28px 30px;

                        .icon {
                            width: 52px;
                            height: 52px;

                            i {
                                font-size: 26px;
                            }
                        }

                        h3 {
                            font-size: 18px;
                        }

                        p {
                            font-size: 13px;
                        }
                    }
                }
            }
        }
    }

    /*===============QUESTIONS===============*/
    .questions {
        padding-block: 50px 75px;

        .questions__container {
            .questions__content {
                gap: 35px;

                .questions__header {
                    h2 {
                        font-size: 29px;
                    }

                    p {
                        font-size: 16px;
                    }
                }

                .questions_accordion {
                    gap: 14px;

                    .question_item {
                        padding: 22px 24px;
                        border-radius: 14px;
                    }

                    .question_header {
                        gap: 16px;

                        h3 {
                            font-size: 17px;
                        }

                        .icon {
                            width: 32px;
                            height: 32px;
                            min-width: 32px;
                        }
                    }

                    .question_answer {
                        p {
                            font-size: 14px;
                            width: 100%;
                        }
                    }
                }
            }
        }
    }
}

@media (max-width: 576px) {

    /*===============HERO SINGLE COURSE===============*/
    .hero__single__course {
        padding-block: 120px 55px;

        .hero__single__course__container {
            .hero__single__course__content {
                gap: 28px;

                .span {
                    font-size: 14px;
                    margin-bottom: 4px;
                }

                .img {
                    height: 220px;
                    border-radius: 14px;
                    margin-bottom: 0;

                    img {
                        border-radius: 14px;
                        border-width: 4px;
                    }

                    &::before {
                        width: 70px;
                        height: 70px;
                        bottom: -25px;
                        left: -18px;
                    }

                    &::after {
                        width: 70px;
                        height: 70px;
                        top: -15px;
                        right: -12px;
                    }
                }

                h1 {
                    font-size: 32px;
                }

                p {
                    font-size: 14px;
                }

                .course__details {
                    column-gap: 10px;
                    row-gap: 12px;
                    width: 100%;

                    .course__detail {
                        font-size: 13px;
                        padding: 9px 9px;
                    }
                }

                a {
                    width: 100%;
                    justify-content: center;
                    font-size: 15px;
                    padding: 12px 28px;
                    margin-top: 10px;
                }
            }
        }
    }

    /*=============== COURSE LEVELS ===============*/
    .course__levels {
        padding-block: 45px;

        .course__levels__container {
            .course__levels__content {
                gap: 38px;

                .course__levels__group {
                    gap: 22px;

                    .course__levels__header {
                        gap: 14px;

                        .num {
                            width: 28px;
                            height: 28px;
                            font-size: 16px;
                            min-width: 28px;
                        }

                        .text {
                            h2 {
                                font-size: 20px;
                            }

                            span {
                                font-size: 13px;
                            }

                            ul {
                                li {
                                    font-size: 13px;
                                }
                            }
                        }
                    }

                    .course__levels__cards {
                        gap: 26px;

                        .course__level__card {
                            margin-left: 34px;

                            .level__card__img {
                                max-width: 100%;
                                height: 185px;

                                .level {
                                    font-size: 10px;
                                }
                            }

                            .level__card__content {
                                .level__card__text {
                                    h3 {
                                        font-size: 16px;
                                    }

                                    ul {
                                        li {
                                            font-size: 12px;
                                        }
                                    }

                                    p {
                                        font-size: 12px;
                                    }
                                }
                            }

                            &::before {
                                left: -28px;
                                width: 14px;
                                height: 14px;
                            }

                            &::after {
                                left: -19px;
                            }
                        }
                    }
                }
            }
        }
    }

    /*=============== COURSE FOR ===============*/
    .course__for {
        padding-block: 45px;

        .course__for__container {
            .course__for__content {
                gap: 30px;

                .course__for__header {
                    h2 {
                        font-size: 22px;
                    }

                    p {
                        font-size: 13px;
                    }
                }

                .for__cards {
                    gap: 14px;

                    .for__card {
                        max-width: 100%;
                        min-height: auto;
                        padding: 26px 22px;
                        border-radius: 24px;

                        .icon {
                            width: 48px;
                            height: 48px;

                            i {
                                font-size: 24px;
                            }
                        }

                        h3 {
                            font-size: 16px;
                        }

                        p {
                            font-size: 12px;
                        }
                    }
                }
            }
        }
    }

    /*===============QUESTIONS===============*/
    .questions {
        padding-block: 100px;

        .questions__container {
            .questions__content {
                gap: 55px;

                .questions__header {
                    h2 {
                        font-size: 24px;
                    }

                    p {
                        font-size: 14px;
                        text-align: center;
                    }
                }

                .questions_accordion {
                    gap: 12px;

                    .question_item {
                        padding: 18px;
                        border-radius: 12px;
                    }

                    .question_header {
                        align-items: start;
                        gap: 12px;

                        h3 {
                            font-size: 15px;
                            line-height: 1.4;
                        }

                        .icon {
                            width: 28px;
                            height: 28px;
                            min-width: 28px;
                        }
                    }

                    .question_answer {
                        p {
                            font-size: 13px;
                            margin-top: 12px;
                        }
                    }
                }

                .btn {
                    font-size: 12px;
                }
            }
        }
    }

    .section {
        padding-inline: 1.5rem;
    }
}