.faq-hub {
    position: relative;
}

.faq-hub__header {
    text-align: center;
    max-width: 850px;
    margin: 0 auto 50px;
}

.faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 10px 18px;

    border-radius: 999px;

    background: rgba(210,243,65,.08);

    border: 1px solid rgba(210,243,65,.2);

    color: #d2f341;

    font-weight: 700;

    margin-bottom: 22px;
}

.faq-hub__header h2 {
    color: #fff;
    font-size: clamp(36px,5vw,60px);
    font-weight: 900;
    line-height: 1.3;
    margin-bottom: 20px;
}

.faq-hub__header h2 span {
    color: #d2f341;
}

.faq-hub__header p {
    color: rgba(255,255,255,.7);
    font-size: 16px;
    line-height: 2;
    margin-bottom: 35px;
}

.faq-search {
    max-width: 700px;
    margin: auto;

    display: flex;
    align-items: center;
    gap: 12px;

    padding: 10px;

    border-radius: 22px;

    background: rgba(255,255,255,.03);

    border: 1px solid rgba(210,243,65,.15);

    backdrop-filter: blur(15px);
}

.faq-search i {
    color: #d2f341;
    font-size: 22px;
    margin-right: 10px;
}

.faq-search input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;

    color: #fff;
}

.faq-search button {
    border: none;

    background: #d2f341;

    color: #111;

    font-weight: 800;

    padding: 12px 24px;

    border-radius: 14px;

    transition: .3s;
}

.faq-search button:hover {
    transform: translateY(-2px);
}

.faq-category-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;

    margin-bottom: 40px;
}

.faq-category-tabs button {
    background: rgba(255,255,255,.03);

    border: 1px solid rgba(210,243,65,.15);

    color: rgba(255,255,255,.75);

    padding: 10px 18px;

    border-radius: 999px;

    transition: .3s;
}

.faq-category-tabs button:hover,
.faq-category-tabs button.active {
    background: rgba(210,243,65,.1);

    border-color: rgba(210,243,65,.3);

    color: #d2f341;
}

.faq-list {
    max-width: 950px;
    margin: auto;
}

.faq-card {
    margin-bottom: 18px;

    border-radius: 24px;

    overflow: hidden;

    background: linear-gradient(
        135deg,
        rgba(255,255,255,.02),
        rgba(255,255,255,.01)
    );

    border: 1px solid rgba(210,243,65,.12);

    transition: .35s;
}

.faq-card:hover {
    transform: translateY(-4px);

    border-color: rgba(210,243,65,.3);

    box-shadow: 0 0 35px rgba(210,243,65,.08);
}

.faq-card__question {
    width: 100%;

    background: none;

    border: none;

    color: #fff;

    font-weight: 800;

    font-size: 18px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 28px;
}

.faq-card__icon {
    width: 48px;
    height: 48px;

    border-radius: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(210,243,65,.08);

    color: #d2f341;
}

.faq-card__answer {
    padding: 0 28px 28px;
}

.faq-card__answer p {
    color: rgba(255,255,255,.75);

    line-height: 2;

    margin: 0;
}

.faq-card__answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;

    transition:
        max-height .35s ease,
        opacity .35s ease,
        padding .35s ease;

    padding: 0 30px;
}

.faq-card.active .faq-card__answer {
    max-height: 300px;
    opacity: 1;
    padding: 0 30px 25px;
}

.faq-empty-state{

    position:relative;

    overflow:hidden;

    max-width:700px;

    margin:40px auto;

    padding:50px 35px;

    text-align:center;

    border-radius:32px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.02)
    );

    border:1px solid rgba(210,243,65,.08);

    backdrop-filter:blur(12px);
}

.faq-empty-state__glow{

    position:absolute;

    top:-120px;

    left:50%;

    transform:translateX(-50%);

    width:240px;

    height:240px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(210,243,65,.12),
        transparent 70%
    );

    pointer-events:none;
}

.faq-empty-state__icon{

    width:90px;

    height:90px;

    margin:0 auto 25px;

    border-radius:24px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    rgba(210,243,65,.08);

    border:1px solid rgba(210,243,65,.12);

    color:#d2f341;

    font-size:34px;

    animation:faqFloat 3s ease-in-out infinite;
}

@keyframes faqFloat{

    0%,100%{

        transform:translateY(0);
    }

    50%{

        transform:translateY(-8px);
    }

}

.faq-empty-state h3{

    color:#fff;

    font-size:28px;

    font-weight:800;

    margin-bottom:15px;
}

.faq-empty-state p{

    color:#9ca3af;

    line-height:2;

    max-width:500px;

    margin:0 auto;
}

.faq-empty-state__btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:28px;

    padding:14px 24px;

    border-radius:16px;

    background:#d2f341;

    color:#111;

    font-weight:700;

    text-decoration:none;

    transition:.3s;
}

.faq-empty-state__btn:hover{

    transform:translateY(-3px);

    color:#111;

    box-shadow:
    0 10px 25px rgba(210,243,65,.25);
}