/* =====================================
   FAQ PREMIUM • UNIQUE SPA DESIGN
   Custom by ChatGPT
===================================== */


/* ================= HERO ================= */

.faq-hero{
    padding:140px 0 110px;
    background:linear-gradient(135deg,#f8f9ff,#eef2ff,#f6f7fb);
    text-align:center;
    position:relative;
    overflow:hidden;
}

/* decor glow */
.faq-hero:before{
    content:"";
    position:absolute;
    width:600px;
    height:600px;
    background:radial-gradient(circle,#d4a37333,transparent 60%);
    top:-200px;
    left:-150px;
}

.faq-hero-inner{
    max-width:760px;
    margin:auto;
    position:relative;
    z-index:2;
}

.faq-hero h1{
    font-size:48px;
    font-weight:300;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:18px;
    color:#0c1451;
}

/* vàng spa line */
.faq-hero h1:after{
    content:"";
    width:70px;
    height:3px;
    background:#d4a373;
    display:block;
    margin:18px auto 0;
    border-radius:20px;
}

.faq-sub{
    font-size:19px;
    color:#666;
}

.faq-small{
    margin-top:8px;
    font-size:14px;
    color:#999;
}


/* ================= MAIN ================= */

.faq-main{
    padding:100px 0;
    background:#fff;
}

.faq-wrap{
    max-width:920px;
    margin:auto;
}


/* ================= GROUP ================= */

.faq-group{
    margin-bottom:80px;
}

.faq-group-title{
    font-size:22px;
    font-weight:600;
    margin-bottom:28px;
    position:relative;
    padding-left:18px;
    color:#0c1451;
}

/* decor line trái */
.faq-group-title:before{
    content:"";
    position:absolute;
    left:0;
    top:5px;
    width:4px;
    height:22px;
    background:#d4a373;
    border-radius:20px;
}


/* ================= BOX ================= */

.faq-box{
    display:flex;
    flex-direction:column;
    gap:18px;
}


/* ================= ITEM ================= */

.faq-item{
    background:#fff;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    overflow:hidden;
    transition:.35s;
}

.faq-item:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 45px rgba(0,0,0,.09);
}


/* ================= QUESTION ================= */

.faq-q{
    width:100%;
    padding:22px 26px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:none;
    border:none;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    text-align:left;
    color:#222;
}

/* icon tròn vàng */
.faq-q i{
    width:30px;
    height:30px;
    border-radius:50%;
    background:#d4a373;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    transition:.35s;
}


/* ================= ANSWER ================= */

.faq-a{
    max-height:0;
    overflow:hidden;
    opacity:0;
    padding:0 26px;
    color:#666;
    line-height:1.8;
    transition:all .45s ease;
}

/* active state */

.faq-item.active .faq-a{
    max-height:260px;
    opacity:1;
    padding:0 26px 22px;
}

.faq-item.active i{
    transform:rotate(180deg);
}


/* ================= CONTACT ================= */

.faq-contact{
    padding:110px 0;
    background:linear-gradient(135deg,#f6f7fb,#f1f3ff);
    text-align:center;
}

.faq-contact h2{
    font-size:34px;
    font-weight:500;
    margin-bottom:12px;
    color:#0c1451;
}

.faq-contact-grid{
    margin-top:55px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
}


/* card */

.faq-contact-card{
    padding:42px 22px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 15px 45px rgba(0,0,0,.06);
    transition:.35s;
}

.faq-contact-card:hover{
    transform:translateY(-6px);
    box-shadow:0 25px 70px rgba(212,163,115,.25);
}


/* icon */

.faq-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    background:#d4a373;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin:0 auto 16px;
}


/* ================= MOBILE ================= */

@media(max-width:992px){

    .faq-hero h1{
        font-size:30px;
    }

    .faq-contact-grid{
        grid-template-columns:1fr;
    }

    .faq-q{
        font-size:15px;
    }
}