.faq-section {
    padding: 70px 0;
    background: #fff;
}

/* MAIN HEADING */
.faq-section .faq-main-title {
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 10px;
}

/* DIVIDER */
.faq-section .faq-divider {
    border: none;
    border-top: 1px solid #e5e5e5;
    margin: 15px 0 40px;
}

/* TRAINING TITLE */
.faq-section .faq-training-title {
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 8px;
}

/* TRAINING DESCRIPTION */
.faq-section .faq-training-desc {
    font-size: 20px;
    margin-bottom: 35px;
}

/* FAQ CARD */
.faq-section .faq-item {
    background: #fff;
    border-radius: 35px;
    margin-bottom: 20px;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.06);
    transition: all 0.25s ease;
    border: 2px solid transparent;
}

/* QUESTION BUTTON */
.faq-section .faq-question {
    width: 100%;
    border: none;
    background: none;
    padding: 22px 24px;
    text-align: left;
    font-weight: 700;
    font-size: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

/* PLUS ICON */
.faq-section .faq-plus {
    width: 20px;
    height: 20px;
    position: relative;
    transition: transform 0.3s ease;
}

.faq-section .faq-plus::before,
.faq-section .faq-plus::after {
    content: "";
    position: absolute;
    background: #000;
    transition: all 0.3s ease;
}

/* horizontal line */
.faq-section .faq-plus::before {
    width: 20px;
    height: 2px;
    top: 9px;
    left: 0;
}

/* vertical line */
.faq-section .faq-plus::after {
    width: 2px;
    height: 20px;
    left: 9px;
    top: 0;
}

/* ANSWER */
.faq-section .faq-answer {
    font-size: 20px;
    padding: 0 24px 22px;
}

/* ACTIVE QUESTION */
.faq-section .faq-question:not(.collapsed) {
    color: #ff7a00;
}

/* PLUS ROTATES TO X */
.faq-section .faq-question:not(.collapsed) .faq-plus {
    transform: rotate(45deg);
}

.faq-section .faq-question:not(.collapsed) .faq-plus::before,
.faq-section .faq-question:not(.collapsed) .faq-plus::after {
    background: #ff7a00;
}

/* ORANGE BORDER WHEN OPEN */
.faq-section .faq-item:has(.faq-question:not(.collapsed)) {
    border-color: #ff7a00;
    box-shadow: none;
}

/* SMOOTH COLLAPSE */
.faq-section .collapse {
    transition: height 0.35s ease;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .faq-section .faq-main-title {
        font-size: 35px;
    }

    .faq-section .faq-training-title {
        font-size: 27px;
    }

    .faq-section .faq-training-desc {
        font-size: 20px;
    }

    .faq-section .faq-question {
        font-size: 20px;
        padding: 18px;
    }

    .faq-section .faq-answer {
        font-size: 20px;
    }
}
