/* =========================
   RESET & BASE
========================= */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    min-height: 100vh;
    background:
    radial-gradient(
        circle at top center,
        rgba(84,130,179,.18),
        transparent 28%
    ),
    radial-gradient(
        circle at left center,
        rgba(84,130,179,.10),
        transparent 18%
    ),
    radial-gradient(
        circle at bottom right,
        rgba(194,232,255,.07),
        transparent 22%
    ),
    radial-gradient(
        circle at right top,
        rgba(84,130,179,.12),
        transparent 18%
    ),

    radial-gradient(
        circle at bottom left,
        rgba(84,130,179,.08),
        transparent 20%
    ),

    radial-gradient(
        circle at center,
        rgba(84,130,179,.05),
        transparent 30%
    ),
    #0d1628;
    font-family: 'Poppins', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
}

/* =========================
   FAQ CONTAINER
========================= */
.container{
    width: 100%;
    max-width: 760px;
    background: #052759;
    border: 1px solid rgba(194,232,255,.00);
    box-shadow: 0 10px 40px rgba(0,0,0,.45);
    border-radius: 24px;
    padding: 40px;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(12px);
}

.container::before{
    content: '';
    position: absolute;
    width: 300px;
    height: 300px;
    background:
    radial-gradient(
        rgba(84,130,179,.12),
        transparent 70%
    );
    top: -120px;
    right: -120px;
    pointer-events: none;
}

/* =========================
   FAQ HEADER
========================= */
.faq-header{
    margin-bottom: 35px;
}

.faq-header h1{
    font-size: 2.4rem;
    font-weight: 600;
    color: #FDFDFA;
    margin-bottom: 8px;
}

.faq-header p{
    color: #c2e8ff;
    font-size: .95rem;
}

/* =========================
   ACCORDION LAYOUT
========================= */
.accordion{
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.accordion-item{
    background: #041c40;
    border: 1px solid rgba(194,232,255,.08);
    border-radius: 18px;
    overflow: hidden;
    transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

/* =========================
   ACCORDION QUESTION
========================= */
.accordion-question{
    width: 100%;
    background: transparent;
    color: #FDFDFA;
    border-radius: 16px;
    border: 1px solid rgba(194,232,255,.08);
    padding: 18px 22px;
    font-size: 1.1rem;
    font-family: inherit;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition:
    background 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.accordion-question:hover{
    background: rgba(84,130,179,.12);
    border-color: #5482B3;
    box-shadow:
    0 0 30px rgba(84,130,179,.12);
    transform: translateY(-2px);
}

.accordion-question i{
    font-size: 1rem;
    transition: 
    background 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

/* =========================
   ACCORDION ANSWER
========================= */
.accordion-answer{
    background: transparent;
    border-radius: 16px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0 24px;
    transition:
    max-height 0.4s ease,
    opacity 0.3s ease,
    padding 0.3s ease;
}

.accordion-answer p{
    font-size: 1.2rem;
    line-height: 1.7;
    color: #c2e8ff;
}

/* =========================
   ACCORDION STATES
========================= */
.accordion-item.active i{
    color: #7DA0CA;
}

.accordion-item.active .accordion-question i{
    transform: rotate(180deg);
}

.accordion-item.active .accordion-question{
    background: rgba(84,130,179,.12);
    border-color: #5482B3;
    box-shadow:
    0 0 30px rgba(84,130,179,.12);
}

.accordion-item.active .accordion-answer{
    max-height: 300px;
    opacity: 1;
    padding: 0 24px 24px 24px;
}

/* =========================
   RESPONSIVE
========================= */
/* MOBILE FAQ */
@media (max-width: 768px){

    .container{
        padding: 25px;
    }

    .faq-header h1{
        font-size: 1.9rem;
    }

    .accordion-question{
        font-size: 1rem;
        padding: 16px 18px;
    }

    .accordion-answer p{
        font-size: 1rem;
    }

}