/* =========================================
GLOBAL
========================================= */

body{
    background:#eef3f1;
    font-family:var(--font-body);
    color:#101828;
}

.container{
    width:100%;
    max-width:1400px;
    margin:auto;
    padding:0 70px;
}

/* =========================================
COMMON
========================================= */

.section-heading{
    margin-bottom:50px;
}

.section-heading span,
.faq-hero-content span,
.faq-cta-content span{

    position:relative;

    display:inline-block;

    color:var(--accent);

    font-size:13px;
    font-weight:700;

    letter-spacing:4px;

    margin-bottom:18px;

    padding-top:30px;
}

.section-heading span::before,
.faq-hero-content span::before,
.faq-cta-content span::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:78px;
    height:5px;

    border-radius:100px;

    background:var(--accent);
}

.section-heading h2{
    font-size:46px;
    line-height:1.08;

    color:#005b4f;

    letter-spacing:-2px;

    max-width:720px;
}

/* =========================================
BUTTONS
========================================= */

.primary-btn,
.secondary-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:210px;
    height:56px;

    border-radius:999px;

    font-size:15px;
    font-weight:700;

    transition:all 0.35s ease;

    text-decoration:none;
}

/* PRIMARY */

.primary-btn{
    background:var(--primary-500);
    color:#ffffff;
}

.primary-btn:hover{

    background:var(--accent);

    transform:translateY(-4px);
}

/* SECONDARY */

.secondary-btn{

    background:#ffffff;

    color:#005b4f;

    border:1px solid #d7dfdc;
}

.secondary-btn:hover{

    background:var(--accent);

    border-color:var(--accent);

    color:#ffffff;

    transform:translateY(-4px);
}

/* =========================================
HERO
========================================= */

.faq-hero{
    padding:60px 0 90px;
}

.faq-hero-wrapper{

    display:grid;
    grid-template-columns:1fr 0.9fr;

    gap:60px;

    align-items:center;
}

.faq-hero-content h1{

    font-size:58px;
    line-height:1;

    color:#005b4f;

    margin-bottom:26px;

    letter-spacing:-2px;
}

.faq-hero-content p{

    color:var(--text-light);

    font-size:16px;
    line-height:1.9;

    max-width:560px;

    margin-bottom:34px;
}

.faq-hero-buttons{

    display:flex;
    gap:18px;

    flex-wrap:wrap;
}

/* HERO CARD */

.faq-hero-card{

    display:flex;
    flex-direction:column;

    gap:24px;
}

.faq-mini-card{

    background:#ffffff;

    border-radius:28px;

    padding:30px;

    display:flex;
    align-items:center;

    gap:20px;

    box-shadow:
    0 12px 35px rgba(0,0,0,0.04);

    transition:all 0.35s ease;
}

.faq-mini-card:hover{

    transform:translateY(-8px);
}

.faq-mini-card i{

    width:72px;
    height:72px;

    border-radius:22px;

    background:#eef8f6;

    color:var(--primary-500);

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:26px;

    transition:0.35s ease;
}

.faq-mini-card:hover i{

    background:var(--accent);

    color:#ffffff;
}

.faq-mini-card h4{

    font-size:24px;

    color:#005b4f;

    margin-bottom:8px;
}

.faq-mini-card p{

    color:var(--text-light);

    line-height:1.8;
}

/* =========================================
FAQ SECTION
========================================= */

.faq-section{
    padding-bottom:90px;
}

.faq-wrapper{

    display:flex;
    flex-direction:column;

    gap:22px;
}

.faq-item{

    background:#ffffff;

    border-radius:26px;

    overflow:hidden;

    box-shadow:
    0 12px 35px rgba(0,0,0,0.04);

    transition:all 0.35s ease;
}

.faq-item:hover{

    transform:translateY(-4px);
}

.faq-question{

    padding:30px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    cursor:pointer;
}

.faq-question h3{

    font-size:24px;

    color:#005b4f;
}

.faq-question i{

    width:50px;
    height:50px;

    border-radius:50%;

    background:#eef8f6;

    color:var(--primary-500);

    display:flex;
    align-items:center;
    justify-content:center;

    transition:0.35s ease;
}

.faq-item.active .faq-question i{

    background:var(--accent);

    color:#ffffff;

    transform:rotate(45deg);
}

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height 0.4s ease;
}

.faq-answer p{

    padding:0 30px 30px;

    color:var(--text-light);

    line-height:1.9;

    max-width:900px;
}

.faq-item.active .faq-answer{

    max-height:300px;
}

/* =========================================
CATEGORY
========================================= */

.faq-category-section{
    padding-bottom:90px;
}

.faq-category-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:24px;
}

.faq-category-card{

    background:#ffffff;

    border-radius:28px;

    padding:36px;

    text-align:center;

    transition:all 0.35s ease;

    box-shadow:
    0 12px 35px rgba(0,0,0,0.04);
}

.faq-category-card:hover{

    transform:translateY(-8px);
}

.faq-category-card i{

    width:74px;
    height:74px;

    border-radius:50%;

    background:#eef8f6;

    color:var(--primary-500);

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;

    margin:0 auto 24px;

    transition:0.35s ease;
}

.faq-category-card:hover i{

    background:var(--accent);

    color:#ffffff;
}

.faq-category-card h3{

    font-size:24px;

    color:#005b4f;

    margin-bottom:14px;
}

.faq-category-card p{

    color:var(--text-light);

    line-height:1.8;
}

/* =========================================
CTA
========================================= */

.faq-cta-section{
    padding-bottom:90px;
}

.faq-cta-box{

    background:#ffffff;

    border-radius:34px;

    padding:60px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    gap:40px;

    transition:all 0.35s ease;

    box-shadow:
    0 15px 40px rgba(0,0,0,0.04);
}

.faq-cta-box:hover{

    transform:translateY(-4px);
}

.faq-cta-content h2{

    font-size:44px;
    line-height:1.08;

    color:#005b4f;

    letter-spacing:-2px;

    max-width:620px;
}

.faq-cta-buttons{

    display:flex;
    gap:18px;
}

/* =========================================
RESPONSIVE
========================================= */

@media(max-width:1100px){

    .faq-hero-wrapper,
    .faq-category-grid{
        grid-template-columns:1fr;
    }

    .faq-hero-content h1,
    .section-heading h2,
    .faq-cta-content h2{

        font-size:42px;
    }
}

@media(max-width:768px){

    .container{
        padding:0 24px;
    }

    .faq-hero{
        padding:40px 0 70px;
    }

    .faq-hero-content h1,
    .section-heading h2,
    .faq-cta-content h2{

        font-size:34px;
    }

    .faq-cta-box{

        padding:40px 28px;

        flex-direction:column;

        align-items:flex-start;
    }

    .faq-hero-buttons,
    .faq-cta-buttons{

        flex-direction:column;

        width:100%;
    }

    .primary-btn,
    .secondary-btn{

        width:100%;
    }
}
/* =========================================
FINAL ORANGE HOVER FIX
========================================= */

/* BUTTONS */

.primary-btn,
.secondary-btn{

    transition:all 0.35s ease !important;

    box-shadow:none !important;

    background-image:none !important;
}

/* PRIMARY BUTTON */

.primary-btn:hover{

    background:var(--accent) !important;

    color:#ffffff !important;

    border-color:var(--accent) !important;

    transform:translateY(-4px) !important;

    box-shadow:none !important;
}

/* SECONDARY BUTTON */

.secondary-btn:hover{

    background:var(--accent) !important;

    color:#ffffff !important;

    border-color:var(--accent) !important;

    transform:translateY(-4px) !important;

    box-shadow:none !important;
}

/* FAQ MINI CARDS */

.faq-mini-card{

    transition:all 0.35s ease !important;
}

.faq-mini-card:hover{

    transform:translateY(-8px) !important;
}

.faq-mini-card:hover i{

    background:var(--accent) !important;

    color:#ffffff !important;
}

/* FAQ ITEMS */

.faq-item{

    transition:all 0.35s ease !important;
}

.faq-item:hover{

    transform:translateY(-4px) !important;
}

.faq-question i{

    transition:all 0.35s ease !important;
}

.faq-item:hover .faq-question i{

    background:var(--accent) !important;

    color:#ffffff !important;
}

/* CATEGORY CARDS */

.faq-category-card{

    transition:all 0.35s ease !important;
}

.faq-category-card:hover{

    transform:translateY(-8px) !important;
}

.faq-category-card:hover i{

    background:var(--accent) !important;

    color:#ffffff !important;
}

/* CTA */

.faq-cta-box{

    transition:all 0.35s ease !important;
}

.faq-cta-box:hover{

    transform:translateY(-4px) !important;
}