/* ==========================================================
   CHINMUN ERP
   FAQ PAGE
========================================================== */


/* ==========================================================
   PAGE
========================================================== */

.faq-page {

    position: relative;

    overflow: hidden;

}


/* ==========================================================
   BACKGROUND EFFECTS
========================================================== */

.faq-orb {

    position: absolute;

    border-radius: 50%;

    pointer-events: none;

    filter: blur(110px);

    opacity: 0.18;

    z-index: 0;

}


.faq-orb-one {

    width: 420px;

    height: 420px;

    top: 120px;

    left: -180px;

    background: #7c3aed;

}


.faq-orb-two {

    width: 500px;

    height: 500px;

    top: 900px;

    right: -250px;

    background: #2563eb;

}


.faq-grid-bg {

    position: absolute;

    inset: 0;

    pointer-events: none;

    opacity: 0.22;

    z-index: 0;

    background-image:

        linear-gradient(
            rgba(255,255,255,0.035) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,0.035) 1px,
            transparent 1px
        );

    background-size:

        70px 70px;

    mask-image:

        linear-gradient(
            to bottom,
            black,
            transparent 80%
        );

}


/* ==========================================================
   HERO
========================================================== */

.faq-hero {

    position: relative;

    z-index: 1;

    padding:

        70px 0
        70px;

}


.faq-hero-content {

    max-width: 850px;

}


.faq-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding:

        9px
        16px;

    border:

        1px solid
        rgba(139,92,246,0.28);

    border-radius: 999px;

    background:

        rgba(124,58,237,0.08);

    color:

        #c4b5fd;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.16em;

}


.faq-eyebrow-dot {

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background:

        #8b5cf6;

    box-shadow:

        0 0 15px
        rgba(139,92,246,0.9);

}


.faq-hero h1 {

    margin:

        26px 0
        24px;

    max-width: 800px;

    font-family:

        'Space Grotesk',
        sans-serif;

    font-size:

        clamp(
            42px,
            7vw,
            86px
        );

    line-height: 0.98;

    letter-spacing:

        -0.055em;

    color:

        #ffffff;

}


.faq-hero h1 span {

    display: block;

    background:

        linear-gradient(
            135deg,
            #8b5cf6,
            #6366f1,
            #38bdf8
        );

    -webkit-background-clip:

        text;

    background-clip:

        text;

    -webkit-text-fill-color:

        transparent;

}


.faq-hero > .container > .faq-hero-content > p {

    max-width: 680px;

    color:

        rgba(226,232,240,0.72);

    font-size:

        17px;

    line-height:

        1.8;

}


/* ==========================================================
   HERO STATS
========================================================== */

.faq-hero-stats {

    display: flex;

    flex-wrap: wrap;

    gap: 14px;

    margin-top: 48px;

}


.faq-hero-stat {

    min-width: 150px;

    padding:

        18px
        22px;

    border:

        1px solid
        rgba(255,255,255,0.08);

    border-radius: 18px;

    background:

        rgba(255,255,255,0.025);

    backdrop-filter:

        blur(14px);

}


.faq-hero-stat strong {

    display: block;

    margin-bottom: 4px;

    color:

        #ffffff;

    font-size: 23px;

    font-weight: 700;

}


.faq-hero-stat span {

    color:

        rgba(226,232,240,0.55);

    font-size: 12px;

}


/* ==========================================================
   MAIN SECTION
========================================================== */

.faq-main-section {

    position: relative;

    z-index: 1;

    padding:

        40px 0
        70px;

}


.faq-layout {

    display: grid;

    grid-template-columns:

        280px
        minmax(0, 1fr);

    gap:

        70px;

    align-items:

        start;

}


/* ==========================================================
   SIDEBAR
========================================================== */

.faq-sidebar-sticky {

    position: sticky;

    top: 110px;

}


.faq-sidebar-label {

    margin-bottom: 18px;

    color:

        rgba(148,163,184,0.7);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.18em;

}


.faq-category-list {

    display: flex;

    flex-direction: column;

    gap: 7px;

}


.faq-category {

    width: 100%;

    display: grid;

    grid-template-columns:

        28px
        1fr
        auto;

    align-items: center;

    gap: 10px;

    padding:

        14px
        14px;

    border:

        1px solid
        transparent;

    border-radius: 14px;

    background:

        transparent;

    color:

        rgba(226,232,240,0.62);

    font-family:

        inherit;

    font-size: 13px;

    text-align: left;

    cursor: pointer;

    transition:

        0.25s ease;

}


.faq-category:hover {

    color:

        #ffffff;

    background:

        rgba(255,255,255,0.04);

}


.faq-category.active {

    color:

        #ffffff;

    border-color:

        rgba(139,92,246,0.35);

    background:

        linear-gradient(
            135deg,
            rgba(124,58,237,0.18),
            rgba(59,130,246,0.06)
        );

    box-shadow:

        inset 0 1px 0
        rgba(255,255,255,0.04);

}


.faq-category-icon {

    width: 28px;

    height: 28px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    background:

        rgba(255,255,255,0.05);

    color:

        #a78bfa;

    font-size: 13px;

}


.faq-category small {

    color:

        rgba(148,163,184,0.45);

    font-size: 10px;

}


.faq-category.active small {

    color:

        #a78bfa;

}


/* ==========================================================
   SIDEBAR HELP
========================================================== */

.faq-sidebar-help {

    margin-top: 34px;

    padding:

        24px;

    border:

        1px solid
        rgba(255,255,255,0.08);

    border-radius: 22px;

    background:

        linear-gradient(
            145deg,
            rgba(124,58,237,0.13),
            rgba(15,23,42,0.2)
        );

}


.faq-sidebar-help-icon {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 18px;

    border-radius: 13px;

    background:

        rgba(139,92,246,0.16);

    color:

        #c4b5fd;

    font-size: 20px;

    font-weight: 700;

}


.faq-sidebar-help h3 {

    margin-bottom: 8px;

    color:

        #ffffff;

    font-size: 16px;

}


.faq-sidebar-help p {

    margin-bottom: 20px;

    color:

        rgba(226,232,240,0.58);

    font-size: 12px;

    line-height: 1.7;

}


.faq-sidebar-help-btn {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding:

        11px
        13px;

    border-radius: 10px;

    background:

        rgba(255,255,255,0.06);

    color:

        #ffffff;

    font-size: 12px;

    font-weight: 600;

    transition:

        0.25s ease;

}


.faq-sidebar-help-btn:hover {

    transform:

        translateY(-2px);

    background:

        rgba(139,92,246,0.22);

    color:

        #ffffff;

}


/* ==========================================================
   FAQ CONTENT
========================================================== */

.faq-content {

    min-width: 0;

}


.faq-category-content {

    display: none;

    animation:

        faqFadeIn
        0.35s ease;

}


.faq-category-content.active {

    display: block;

}


@keyframes faqFadeIn {

    from {

        opacity: 0;

        transform:
            translateY(12px);

    }

    to {

        opacity: 1;

        transform:
            translateY(0);

    }

}


/* ==========================================================
   SECTION HEADING
========================================================== */

.faq-section-heading {

    display: flex;

    justify-content: space-between;

    gap: 40px;

    align-items: flex-end;

    padding-bottom: 32px;

    margin-bottom: 18px;

    border-bottom:

        1px solid
        rgba(255,255,255,0.08);

}


.faq-section-heading > div > span {

    display: block;

    margin-bottom: 10px;

    color:

        #8b5cf6;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.18em;

}


.faq-section-heading h2 {

    margin: 0;

    color:

        #ffffff;

    font-family:

        'Space Grotesk',
        sans-serif;

    font-size:

        clamp(
            30px,
            4vw,
            48px
        );

    letter-spacing:

        -0.04em;

}


.faq-section-heading > p {

    max-width: 300px;

    margin: 0;

    color:

        rgba(226,232,240,0.55);

    font-size: 13px;

    line-height: 1.7;

}


/* ==========================================================
   FAQ LIST
========================================================== */

.faq-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}


.faq-item {

    border:

        1px solid
        rgba(255,255,255,0.08);

    border-radius: 18px;

    background:

        rgba(255,255,255,0.018);

    overflow: hidden;

    transition:

        0.3s ease;

}


.faq-item:hover {

    border-color:

        rgba(139,92,246,0.2);

}


.faq-item.active {

    border-color:

        rgba(139,92,246,0.32);

    background:

        linear-gradient(
            135deg,
            rgba(124,58,237,0.09),
            rgba(255,255,255,0.02)
        );

}


.faq-question {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    padding:

        24px
        26px;

    border: none;

    background: transparent;

    color:

        #ffffff;

    font-family:

        inherit;

    font-size:

        15px;

    font-weight:

        600;

    text-align: left;

    cursor: pointer;

}


.faq-question > span {

    flex: 1;

}


.faq-icon {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 10px;

    background:

        rgba(255,255,255,0.05);

    color:

        #a78bfa;

    font-size: 20px;

    font-weight: 400;

    transition:

        0.25s ease;

}


.faq-item.active .faq-icon {

    background:

        rgba(139,92,246,0.18);

    transform:

        rotate(180deg);

}


.faq-answer {

    max-height: 0;

    overflow: hidden;

    transition:

        max-height
        0.35s ease;

}


.faq-answer-inner {

    padding:

        0
        26px
        25px;

}


.faq-answer p {

    max-width: 760px;

    margin: 0;

    color:

        rgba(226,232,240,0.62);

    font-size: 14px;

    line-height: 1.85;

}


/* ==========================================================
   CTA
========================================================== */

.faq-cta-section {

    position: relative;

    z-index: 1;

    padding:

        0
        0
        70px;

}


.faq-cta {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 50px;

    padding:

        55px
        60px;

    border:

        1px solid
        rgba(139,92,246,0.22);

    border-radius: 30px;

    overflow: hidden;

    background:

        linear-gradient(
            135deg,
            rgba(124,58,237,0.18),
            rgba(37,99,235,0.07),
            rgba(255,255,255,0.02)
        );

}


.faq-cta::before {

    content: '';

    position: absolute;

    width: 400px;

    height: 400px;

    top: -250px;

    right: -120px;

    border-radius: 50%;

    background:

        rgba(139,92,246,0.25);

    filter:

        blur(80px);

    pointer-events: none;

}


.faq-cta-content {

    position: relative;

    z-index: 1;

    max-width: 620px;

}


.faq-cta-label {

    margin-bottom: 14px;

    color:

        #a78bfa;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.18em;

}


.faq-cta h2 {

    margin:

        0
        0
        16px;

    color:

        #ffffff;

    font-family:

        'Space Grotesk',
        sans-serif;

    font-size:

        clamp(
            32px,
            4vw,
            52px
        );

    line-height: 1.05;

    letter-spacing:

        -0.045em;

}


.faq-cta h2 span {

    color:

        #a78bfa;

}


.faq-cta p {

    margin: 0;

    color:

        rgba(226,232,240,0.62);

    font-size: 14px;

    line-height: 1.8;

}


.faq-cta-actions {

    position: relative;

    z-index: 1;

    display: flex;

    flex-direction: column;

    gap: 14px;

    min-width: 200px;

}


.faq-cta-primary {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

}


.faq-cta-secondary {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding:

        13px
        20px;

    border:

        1px solid
        rgba(255,255,255,0.1);

    border-radius: 12px;

    color:

        rgba(255,255,255,0.85);

    font-size: 13px;

    font-weight: 600;

    transition:

        0.25s ease;

}


.faq-cta-secondary:hover {

    border-color:

        rgba(139,92,246,0.45);

    background:

        rgba(139,92,246,0.08);

    color:

        #ffffff;

    transform:

        translateY(-2px);

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1100px) {


    .faq-layout {

        grid-template-columns:

            230px
            minmax(0, 1fr);

        gap: 40px;

    }


    .faq-category {

        padding:

            12px;

        font-size: 12px;

    }


}


/* ==========================================================
   MOBILE / TABLET
========================================================== */

@media (max-width: 991px) {


    .faq-hero {

        padding:

            70px 0
            70px;

    }


    .faq-layout {

        grid-template-columns:

            1fr;

        gap: 50px;

    }


    .faq-sidebar-sticky {

        position: static;

    }


    .faq-category-list {

        display: grid;

        grid-template-columns:

            repeat(
                2,
                minmax(0, 1fr)
            );

    }


    .faq-sidebar-help {

        display: none;

    }


    .faq-section-heading {

        margin-bottom: 20px;

    }


    .faq-cta {

        flex-direction: column;

        align-items: flex-start;

    }


    .faq-cta-actions {

        flex-direction: row;

        width: 100%;

    }


    .faq-cta-actions > * {

        flex: 1;

    }


}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 640px) {


    .faq-hero {

        padding:

            70px 0
            55px;

    }


    .faq-hero h1 {

        font-size:

            43px;

    }


    .faq-hero > .container > .faq-hero-content > p {

        font-size: 14px;

    }


    .faq-hero-stats {

        display: grid;

        grid-template-columns:

            repeat(
                3,
                minmax(0, 1fr)
            );

        gap: 8px;

    }


    .faq-hero-stat {

        min-width: 0;

        padding:

            13px
            10px;

    }


    .faq-hero-stat strong {

        font-size: 17px;

    }


    .faq-hero-stat span {

        font-size: 9px;

        line-height: 1.4;

    }


    .faq-category-list {

        grid-template-columns:

            1fr;

    }


    .faq-section-heading {

        flex-direction: column;

        align-items: flex-start;

        gap: 15px;

        padding-bottom: 22px;

    }


    .faq-section-heading h2 {

        font-size: 32px;

    }


    .faq-section-heading > p {

        font-size: 12px;

    }


    .faq-question {

        padding:

            19px
            17px;

        gap: 15px;

        font-size: 13px;

    }


    .faq-icon {

        width: 30px;

        height: 30px;

        font-size: 17px;

    }


    .faq-answer-inner {

        padding:

            0
            17px
            20px;

    }


    .faq-answer p {

        font-size: 12px;

        line-height: 1.75;

    }


    .faq-main-section {

        padding-bottom: 90px;

    }


    .faq-cta-section {

        padding-bottom: 90px;

    }


    .faq-cta {

        padding:

            35px
            22px;

        border-radius: 22px;

    }


    .faq-cta h2 {

        font-size: 34px;

    }


    .faq-cta p {

        font-size: 12px;

    }


    .faq-cta-actions {

        flex-direction: column;

    }


}