/* ================================
   FAQ SECTION
================================ */

.tt-faq-section{
    width:100%;
    background:var(--milky);
    padding:100px 20px;
}

.tt-faq-container{
    width:100%;
    max-width:1100px;
    margin:0 auto;
    padding-top: 40px;
}


/* ================================
   HEADER
================================ */

.tt-faq-header{
    max-width:720px;
    margin:0 auto 60px;
    text-align:center;
}

.tt-faq-header span{
    display:inline-block;
    margin-bottom:15px;
    color:var(--light-purple);
    font-size:13px;
    font-weight:700;
    letter-spacing:2.5px;
}

.tt-faq-header h2{
    margin:0 0 18px;
    color:var(--font-purple);
    font-size:clamp(34px,5vw,52px);
    line-height:1.1;
    font-weight:700;
}

.tt-faq-header p{
    margin:0;
    color:var(--font-purple);
    font-size:16px;
    line-height:1.8;
    opacity:.75;
}


/* ================================
   FAQ LIST
================================ */

.tt-faq-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}


/* ================================
   FAQ ITEM
================================ */

.tt-faq-item{
    background:var(--white);
    border:1px solid rgba(47,19,55,.08);
    border-radius:16px;
    overflow:hidden;
    transition:.3s ease;
}

.tt-faq-item:hover{
    border-color:var(--light-purple);
    box-shadow:0 10px 30px rgba(40,11,54,.08);
}


/* ================================
   QUESTION
================================ */

.tt-faq-question{
    width:100%;
    min-height:72px;
    padding:20px 25px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    border:0;
    background:transparent;

    color:var(--font-purple);
    font-size:17px;
    font-weight:600;
    text-align:left;

    cursor:pointer;
}

.tt-faq-icon{
    flex-shrink:0;

    width:34px;
    height:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--purple);
    color:var(--white);

    font-size:22px;
    font-weight:400;

    transition:.35s ease;
}


/* ================================
   ANSWER
================================ */

.tt-faq-answer{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .4s ease;
}

.tt-faq-answer p{
    overflow:hidden;

    margin:0;
    padding:0 25px;

    color:var(--font-purple);
    font-size:15px;
    line-height:1.8;
    opacity:.78;

    transition:.4s ease;
}


/* ================================
   ACTIVE FAQ
================================ */

.tt-faq-item.active{
    border-color:var(--light-purple);
}

.tt-faq-item.active .tt-faq-answer{
    grid-template-rows:1fr;
}

.tt-faq-item.active .tt-faq-answer p{
    padding:0 25px 24px;
}

.tt-faq-item.active .tt-faq-icon{
    background:var(--light-purple);
    transform:rotate(45deg);
}


/* ================================
   TABLET
================================ */

@media(max-width:768px){

    .tt-faq-section{
        padding:75px 16px;
    }

    .tt-faq-header{
        margin-bottom:40px;
    }

    .tt-faq-header h2{
        font-size:36px;
    }

    .tt-faq-question{
        min-height:65px;
        padding:17px 18px;
        font-size:15px;
    }

    .tt-faq-icon{
        width:30px;
        height:30px;
        font-size:20px;
    }

    .tt-faq-item.active .tt-faq-answer p{
        padding:0 18px 20px;
        font-size:14px;
    }
}


/* ================================
   SMALL MOBILE
================================ */

@media(max-width:480px){

    .tt-faq-section{
        padding:60px 12px;
    }

    .tt-faq-header h2{
        font-size:31px;
    }

    .tt-faq-header p{
        font-size:14px;
    }

    .tt-faq-question{
        padding:16px;
        gap:12px;
    }

    .tt-faq-question > span:first-child{
        line-height:1.5;
    }

    .tt-faq-icon{
        width:28px;
        height:28px;
        font-size:18px;
    }

    .tt-faq-item.active .tt-faq-answer p{
        padding-left:16px;
        padding-right:16px;
    }

}