/* ==========================================================
   FAQ PAGE
========================================================== */

.faq-page {
    padding: clamp(48px, 6vw, 80px) 0 clamp(64px, 8vw, 100px);
}

.faq-page__header {
    max-width: none;
    margin: 0 0 40px;
    text-align: left;
}

.faq-page__title {
    margin: 0 0 16px;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
}

.faq-page__intro {
    color: var(--color-text-light);
    font-size: 16px;
    line-height: 1.65;
}

.faq-page__categories-nav {
    max-width: 860px;
    margin: 0 auto 48px;
    padding: 20px 24px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: #fff;
    box-shadow: 0 12px 35px rgba(36, 61, 43, .06);
}

.faq-page__categories-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.faq-page__categories-nav a {
    color: var(--color-brand-primary);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.faq-page__categories-nav a:hover {
    text-decoration: underline;
}

.faq-page__categories-nav a:focus-visible {
    outline: 3px solid var(--color-brand-primary);
    outline-offset: 2px;
    border-radius: 3px;
}

.faq-page__category {
    max-width: 860px;
    margin: 0 auto;
    padding-top: 40px;
    scroll-margin-top: 24px;
}

.faq-page__category-title {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.faq-page__category-title::before {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--color-brand-primary);
    content: "";
}

.faq-page__category + .faq-page__category {
    border-top: 1px solid var(--color-border);
}

.faq-page__category-title {
    margin: 0 0 20px;
    font-size: 22px;
}

.faq-page__empty {
    max-width: 640px;
    margin: 0 auto;
    padding: 40px 20px;
    border: 2px dashed var(--color-border);
    border-radius: var(--radius-lg);
    text-align: center;
    background: var(--color-background);
}

.faq-page__footer {
    max-width: 860px;
    margin: 56px auto 0;
    padding-top: 40px;
    border-top: 1px solid var(--color-border);
    text-align: center;
}

.faq-page__footer p {
    margin: 0 0 18px;
    color: var(--color-text-light);
}

.faq-page__footer-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

@media (max-width: 767px) {
    .faq-page {
        padding: 40px 0 64px;
    }

    .faq-page__category {
        padding-top: 32px;
    }
}
