.j2d-faq {max-width:960px;margin:auto;padding:28px 16px 64px;color:var(--j2d-text-primary);line-height:1.65}
.j2d-faq header {padding:28px;border:1px solid var(--j2d-outline);border-radius:20px;background:var(--j2d-surface-container);margin-bottom:24px}
.j2d-faq h1 {font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2}
.faq-eyebrow {color:var(--j2d-primary);font-size:.8rem;font-weight:700;letter-spacing:.06em}
.faq-filters {display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:24px 0}
.faq-filters>div {flex:1 1 240px;min-width:0}
.faq-filters label {display:block;font-weight:600;margin-bottom:6px}
.faq-filters input,.faq-filters select {width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--j2d-outline);border-radius:10px;padding:10px;background:var(--j2d-surface);color:inherit;font:inherit}
.faq-topic {margin:28px 0}.faq-topic h2 {font-size:1.25rem;line-height:1.4}
.j2d-faq details {border:1px solid var(--j2d-outline);border-radius:12px;margin:12px 0;background:var(--j2d-surface)}
.j2d-faq summary {padding:18px;cursor:pointer;font-weight:600;overflow-wrap:anywhere}
.faq-answer {padding:0 20px 16px;overflow-wrap:anywhere}.faq-answer p {margin:8px 0}
.faq-language,.faq-count {font-size:.85rem;color:var(--j2d-text-secondary)}
.faq-pagination {display:flex;gap:12px;margin:24px 0}.faq-contact {padding:24px;background:var(--j2d-surface-container);border-radius:16px}
.j2d-faq summary:focus-visible,.j2d-faq input:focus-visible,.j2d-faq select:focus-visible {outline:3px solid var(--j2d-primary);outline-offset:3px}
@media(max-width:480px) {.j2d-faq header {padding:20px}.faq-filters>div {flex-basis:100%}.faq-filters button {width:100%}}
