/* =====================================================
   SEQUENT TOURS & TRAVELS
   FILE        : faq.css
   VERSION     : 1.0
   DESCRIPTION : FAQ Page and Accordion
===================================================== */


/* =====================================================
   01. PAGE HERO
===================================================== */

.page-hero{
    width:100%;
    height:300px;
    padding-top:90px;

    display:flex;
    align-items:center;
    justify-content:center;

    position:relative;
    overflow:hidden;

    background:linear-gradient(135deg,#F7F7F7,#FFFFFF);
}

.page-hero::before{
    content:"";
    position:absolute;
    top:-220px;
    left:-220px;
    width:500px;
    height:500px;
    background:rgba(217,119,6,.08);
    border-radius:50%;
    pointer-events:none;
}

.page-hero::after{
    content:"";
    position:absolute;
    right:-260px;
    bottom:-260px;
    width:600px;
    height:600px;
    background:rgba(217,119,6,.05);
    border-radius:50%;
    pointer-events:none;
}

.page-overlay{
    position:relative;
    z-index:2;
    max-width:800px;
    padding:0 24px;
    text-align:center;
}

.page-overlay h1{
    margin:0 0 14px;
    color:#222222;
    font-size:48px;
    font-weight:500;
    line-height:1.2;
}

.page-overlay p{
    margin:0;
    color:#6B7280;
    font-size:16px;
    line-height:1.8;
}


/* =====================================================
   02. FAQ SECTION
===================================================== */

.faq-section{
    width:100%;
    padding:90px 80px 110px;
    background:#FAFAF8;
    overflow:hidden;
}


/* =====================================================
   03. FAQ CONTAINER
===================================================== */

.faq-container{
    width:100%;
    max-width:900px;
    margin:0 auto;

    display:flex;
    flex-direction:column;
    gap:16px;
}


/* =====================================================
   04. FAQ ITEM
===================================================== */

.faq-item{
    width:100%;

    overflow:hidden;

    background:#FFFFFF;

    border:1px solid rgba(0,0,0,.06);
    border-radius:16px;

    box-shadow:0 7px 20px rgba(0,0,0,.035);

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

.faq-item:hover{
    border-color:rgba(217,119,6,.14);

    box-shadow:0 10px 26px rgba(0,0,0,.05);
}

.faq-item.active{
    border-color:rgba(217,119,6,.20);

    box-shadow:
        0 10px 26px rgba(0,0,0,.05),
        0 0 0 1px rgba(217,119,6,.035);
}


/* =====================================================
   05. FAQ QUESTION
===================================================== */

.faq-question{
    width:100%;
    min-height:68px;

    padding:20px 62px 20px 24px;

    position:relative;

    display:flex;
    align-items:center;

    background:#FFFFFF;
    color:#222222;

    border:none;

    font-family:inherit;
    font-size:17px;
    font-weight:600;
    line-height:1.5;

    text-align:left;

    cursor:pointer;
}

.faq-question::before,
.faq-question::after{
    content:"";

    position:absolute;

    top:50%;
    right:25px;

    width:16px;
    height:2px;

    background:#D97706;

    border-radius:10px;

    transform:translateY(-50%);

    transition:transform .3s ease;
}

.faq-question::after{
    transform:
        translateY(-50%)
        rotate(90deg);
}

.faq-item.active .faq-question::after{
    transform:
        translateY(-50%)
        rotate(0deg);
}

.faq-item.active .faq-question{
    color:#D97706;
}


/* =====================================================
   06. FAQ ANSWER
===================================================== */

.faq-answer{
    max-height:0;

    padding:0 24px;

    overflow:hidden;

    background:#FFFFFF;

    transition:
        max-height .35s ease,
        padding .35s ease;
}

.faq-answer p{
    margin:0;

    color:#666666;

    font-size:15px;
    line-height:1.8;
}

.faq-item.active .faq-answer{
    max-height:220px;

    padding:0 24px 22px;
}


/* =====================================================
   07. FAQ CTA
===================================================== */

.about-cta{
    width:calc(100% - 160px);
    max-width:1100px;

    margin:75px auto 0;

    padding:65px 40px;

    position:relative;
    overflow:hidden;

    background:#171C26;

    box-shadow:
        0 12px 30px rgba(0,0,0,.08),
        0 24px 55px rgba(0,0,0,.04);

    text-align:center;
}

.about-cta h2{
    margin:0 0 26px;

    position:relative;
    z-index:2;

    color:#FFFFFF;

    font-size:36px;
    font-weight:500;
    line-height:1.35;
}

.about-cta a{
    min-width:150px;
    min-height:50px;

    padding:14px 28px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    position:relative;
    z-index:2;

    background:#D97706;
    color:#FFFFFF;

    border:1px solid #D97706;
    border-radius:12px;

    font-size:15px;
    font-weight:600;

    text-decoration:none;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

.about-cta a:hover{
    transform:translateY(-3px);

    background:#C96D05;
    color:#FFFFFF;

    box-shadow:0 12px 26px rgba(217,119,6,.18);
}


/* =====================================================
   08. TABLET
===================================================== */

@media(max-width:1024px){

    .faq-section{
        padding:80px 50px 100px;
    }

    .about-cta{
        width:calc(100% - 100px);

        margin-top:65px;
    }

}


/* =====================================================
   09. MOBILE
===================================================== */

@media(max-width:768px){

    .page-hero{
        height:280px;
        padding-top:80px;
    }

    .page-overlay h1{
        font-size:38px;
    }

    .faq-section{
        padding:70px 24px 90px;
    }

    .faq-container{
        gap:14px;
    }

    .faq-question{
        min-height:64px;

        padding:18px 55px 18px 20px;

        font-size:16px;
    }

    .faq-question::before,
    .faq-question::after{
        right:21px;

        width:15px;
    }

    .faq-answer{
        padding:0 20px;
    }

    .faq-item.active .faq-answer{
        padding:0 20px 20px;
    }

    .about-cta{
        width:calc(100% - 48px);

        margin-top:55px;

        padding:55px 28px;

        border-radius:22px;
    }

    .about-cta h2{
        font-size:30px;
    }

}


/* =====================================================
   10. SMALL MOBILE
===================================================== */

@media(max-width:430px){

    .page-hero{
        height:250px;
    }

    .page-overlay{
        padding:0 20px;
    }

    .page-overlay h1{
        font-size:31px;
    }

    .page-overlay p{
        font-size:15px;
    }

    .faq-section{
        padding:60px 20px 80px;
    }

    .faq-item{
        border-radius:14px;
    }

    .faq-question{
        padding:17px 50px 17px 18px;

        font-size:15px;
    }

    .faq-question::before,
    .faq-question::after{
        right:18px;

        width:14px;
    }

    .faq-answer p{
        font-size:14px;

        line-height:1.75;
    }

    .about-cta{
        width:100%;

        margin-top:50px;

        padding:50px 22px;

        border-radius:20px;
    }

    .about-cta h2{
        font-size:27px;
    }

    .about-cta a{
        width:100%;
        max-width:280px;
    }

}

