/*=========================================
    FAQ
=========================================*/

.faq{

    max-width:900px;

    margin:auto;

}

.faq-list{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.faq-item{

    position:relative;

    transition:
        border-color .35s,
        transform .35s,
        box-shadow .35s;

    border:1px solid var(--color-border);

    border-radius:18px;

    overflow:hidden;

    background:var(--color-surface);

}

.faq-item::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(255,212,0,.05),
        transparent 70%
    );

    opacity:0;

    transition:.35s;

    pointer-events:none;

}

.faq-item.active::before{

    opacity:1;

}

.faq-question{

    width:100%;

    padding:28px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:none;

    border:none;

    color:var(--color-text);

    cursor:pointer;

    font-size:1.1rem;

    text-align:left;

    transition:background .3s;

}

.faq-item:hover .faq-question{

    background:rgba(255,212,0,.025);

}

.faq-question span:first-child{

    transition:.3s;

}

.faq-item.active .faq-question span:first-child{

    color:var(--color-primary);

}

.faq-icon{

    width:34px;

    height:34px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,212,0,.08);

    border:1px solid rgba(255,212,0,.15);

    flex-shrink:0;

    font-size:1.8rem;

    color:var(--color-primary);

    transition:
        transform .35s,
        color .35s;

}

.faq-item.active .faq-icon{

    transform:rotate(45deg) scale(1.15);

    color:var(--color-primary);

    background:rgba(255,212,0,.16);

}

.faq-answer{

    max-height:0;

    overflow:hidden;

    opacity:0;

    transition:

        max-height .35s ease,

        opacity .25s ease;

    padding: 0 28px;

}

.faq-answer p{

    margin: 0;
    
    padding-bottom: 28px;

    color:var(--color-text-secondary);

    line-height:1.8;

}

.faq-item.active{

    border-color:rgba(255,212,0,.35);

    box-shadow:0 18px 40px rgba(0,0,0,.22);

}

.faq-item.active .faq-answer{

    border-bottom:1px solid rgba(255,255,255,.06);

    max-height:220px;

    opacity:1;

}

.faq-question:focus-visible{

    outline:2px solid var(--color-primary);

    outline-offset:4px;

}

.faq-item.active .faq-icon{

    transform:rotate(45deg);

    text-shadow:0 0 15px rgba(255,212,0,.4);

}