.faq-cat { padding: 80px 0; background: var(--color-white); }
.faq-cat--bg-grey { background: var(--color-grey-light-1); }

.faq-cat__grid {
    display: grid;
    grid-template-columns: minmax(260px, 320px) 1fr;
    gap: 60px;
    align-items: start;
}
.faq-cat__nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: calc(var(--header-h) + 24px);
}
.faq-cat__nav-item {
    width: 100%;
    text-align: left;
    padding: 18px 24px;
    background: var(--color-grey-light-1);
    border-radius: var(--radius-md);
    font-size: 16px; line-height: 22px; font-weight: 600;
    color: var(--color-black);
    transition: background-color .2s, color .2s;
}
.faq-cat__nav-item:hover { background: var(--color-grey-light-2); }
.faq-cat__nav-item.is-active {
    background: var(--color-blue);
    color: var(--color-white);
}

.faq-cat__panel { display: none; }
.faq-cat__panel.is-active { display: block; }
.faq-cat__panel-title {
    font-size: 32px; line-height: 40px; font-weight: 700;
    color: var(--color-black);
    margin: 0 0 24px;
}
.faq-cat__list { display: flex; flex-direction: column; gap: 12px; }

@media (max-width: 991px) {
    .faq-cat { padding: 56px 0; }
    .faq-cat__grid { grid-template-columns: 1fr; gap: 24px; }
    .faq-cat__nav { position: static; flex-direction: row; flex-wrap: wrap; }
    .faq-cat__nav-item { width: auto; flex: 1 1 calc(50% - 6px); }
}

@media (max-width: 767px) {
    .faq-cat { padding: 32px 0 40px; }
    .faq-cat__nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 8px;
        margin: 0 calc(var(--container-pad) * -1);
        padding: 0 var(--container-pad) 4px;
        -webkit-overflow-scrolling: touch;
    }
    .faq-cat__nav::-webkit-scrollbar { display: none; }
    .faq-cat__nav { scrollbar-width: none; }
    .faq-cat__nav-item {
        flex: 0 0 auto;
        padding: 14px 20px;
        font-size: 14px; line-height: 20px;
        scroll-snap-align: start;
        white-space: nowrap;
    }
    .faq-cat__panel-title { font-size: 24px; line-height: 32px; margin-bottom: 16px; }
}
