/* FAQ page */
.faq-hero { padding-block: 56px 8px; }
.faq-search {
  max-width: 520px; margin: 32px auto 0; position: relative;
}
.faq-search input {
  width: 100%; font: inherit; font-size: 15px; padding: 14px 16px 14px 46px;
  border-radius: var(--radius-pill); border: 1px solid hsl(var(--line-strong));
  background: hsl(var(--surface)); color: hsl(var(--ink));
}
.faq-search input:focus { outline: none; border-color: hsl(var(--accent)); box-shadow: 0 0 0 3px hsl(var(--accent) / 0.15); }
.faq-search svg { position: absolute; left: 16px; top: 50%; translate: 0 -50%; width: 18px; height: 18px; color: hsl(var(--ink-subtle)); }

.faq-page-layout { padding-block: 48px 88px; }
.faq-cat { margin-top: 48px; }
.faq-cat:first-child { margin-top: 0; }
.faq-cat-title { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.faq-cat-title .icon-badge { width: 36px; height: 36px; }
.faq-cat-title .icon-badge svg { width: 18px; height: 18px; }
.faq-empty { text-align: center; padding: 60px 20px; color: hsl(var(--ink-subtle)); display: none; }
