/* ==========================================================
   FAQ SECTION
========================================================== */

.faq{

    position:relative;

    padding:120px 0;

    overflow:hidden;

}

.faq::before{

    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    background:

    radial-gradient(circle at top right,
    rgba(255,140,66,.08),
    transparent 35%),

    radial-gradient(circle at bottom left,
    rgba(255,255,255,.04),
    transparent 30%);

}

.faq .container{

    position:relative;

    z-index:2;

}


/* ==========================================================
   TITLE
========================================================== */

.faq .section-title{

    text-align:center;

    margin-bottom:70px;

}

.faq .section-title span{

    display:inline-block;

    color:var(--primary);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:.85rem;

    margin-bottom:18px;

}

.faq .section-title h2{

    color:#fff;

    font-size:clamp(2rem,5vw,3.2rem);

    margin-bottom:18px;

}

.faq .section-title p{

    max-width:700px;

    margin:auto;

    color:#000000;

    line-height:1.8;

}


/* ==========================================================
   CONTAINER
========================================================== */

.faq-container{

    max-width:950px;

    margin:auto;

    display:flex;

    flex-direction:column;

    gap:20px;

}


/* ==========================================================
   ITEM
========================================================== */

.faq-item{

    background:#FFFFFF;

    border:1px solid

    #000000;

    border-radius:20px;

    overflow:hidden;

    backdrop-filter:blur(12px);

    transition:

    transform .35s,

    border-color .35s,

    box-shadow .35s;

}

.faq-item:hover{

    transform:translateY(-5px);

    border-color:

    rgba(249,155,29,.7);

    box-shadow:

    0 20px 45px

    rgba(249,155,29,.20);

}


/* ==========================================================
   QUESTION
========================================================== */

.faq-question{

    width:100%;

    background:none;

    border:none;

    outline:none;

    cursor:pointer;

    color:#F99B1D;

    padding:28px 30px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    text-align:left;

    font-size:1.08rem;

    font-weight:600;

    transition:.35s;

}

.faq-question:hover{

    color:#F99B1D;

}

.faq-question i{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:

    rgba(249,155,29,.12);

    color:#F99B1D;

    transition:.4s;

}


/* ==========================================================
   ANSWER
========================================================== */

.faq-answer{

    display:grid;

    grid-template-rows:0fr;

    transition:
    grid-template-rows .45s ease,
    padding .45s ease;

    padding:0 30px;

}

.faq-answer p{

    overflow:hidden;

    color:#000000;

    line-height:1.9;

    font-size:.98rem;

    padding-bottom:0;

}


/* ==========================================================
   ACTIVE ITEM
========================================================== */

.faq-item.active{

    border-color:

    rgba(249,155,29,.75);

    box-shadow:

    0 20px 45px

    rgba(249,155,29,.20);

}

.faq-item.active .faq-answer{

    grid-template-rows:1fr;

    padding:0 30px 28px;

}

.faq-item.active .faq-question{

    color:#F99B1D;

}

.faq-item.active .faq-question i{

    transform:rotate(45deg);

    background:#F99B1D;

    color:#fff;

}


/* ==========================================================
   BORDER GLOW
========================================================== */

.faq-item{

    position:relative;

}

.faq-item::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:inherit;

    padding:1px;

    background:

    linear-gradient(
    135deg,
    rgba(249,155,29,.65),
    transparent,
    rgba(0,0,0,.08));

    -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

    mask-composite:exclude;

    opacity:0;

    transition:.35s;

    pointer-events:none;

}

.faq-item:hover::before,

.faq-item.active::before{

    opacity:1;

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:992px){

    .faq{

        padding:100px 0;

    }

    .faq-container{

        gap:18px;

    }

}

@media (max-width:768px){

    .faq{

        padding:80px 0;

    }

    .faq-question{

        padding:22px;

        font-size:1rem;

    }

    .faq-answer,

    .faq-item.active .faq-answer{

        padding-left:22px;

        padding-right:22px;

    }

    .faq-question i{

        width:38px;

        height:38px;

        font-size:.9rem;

    }

}

@media (max-width:576px){

    .faq-question{

        gap:14px;

        font-size:.95rem;

    }

    .faq-answer p{

        font-size:.92rem;

        line-height:1.8;

    }

}


/* ==========================================================
   PERFORMANCE
========================================================== */

.faq-item,

.faq-question,

.faq-question i,

.faq-answer{

    will-change:

    transform,

    opacity;

}

.faq-item{

    contain:layout paint;

}