.faq-tools { padding: 40px 0 0; }
.faq-search { max-width: 840px; margin-bottom: 28px; }
.faq-search__label { display: block; font-size: 20px; font-weight: 700; margin-bottom: 12px; }
.faq-search__field { display: flex; align-items: center; gap: 12px; padding: 8px 10px 8px 18px; border: 1px solid var(--color-border); border-radius: 14px; background: #fff; }
.faq-search__field:focus-within { border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-soft); }
.faq-search__icon { width: 22px; height: 22px; flex-shrink: 0; color: var(--color-text-muted); }
.faq-search__input { width: 100%; min-width: 0; border: 0; background: transparent; padding: 10px 0; font: inherit; font-size: 16px; color: var(--color-text); }
.faq-search__input:focus { outline: none; }
.faq-search__reset { flex-shrink: 0; padding: 10px 14px; border: 0; border-radius: 9px; background: var(--color-primary-soft); color: var(--color-primary-dark); cursor: pointer; font-size: 14px; font-weight: 600; }
.faq-search__reset:disabled { opacity: .45; cursor: default; }
.faq-search__help, .faq-search__status { font-size: 14px; color: var(--color-text-muted); margin-top: 10px; }
.faq-search__status { font-weight: 600; color: var(--color-text); }
.faq-search__empty { margin-top: 18px; padding: 18px 20px; border-radius: 12px; background: var(--color-bg-tint); color: var(--color-text-muted); }
.faq-tools .doc-tabs { margin-bottom: 0; }
.faq-tools + .section { padding-top: 40px; }
.faq-question { display: flex; align-items: center; gap: 16px; flex: 1; min-width: 0; margin: 0; font: inherit; }
.faq-permalink { display: inline-flex; margin: 0 24px 22px 72px; color: var(--color-primary-dark); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.faq-topics { margin: 26px 0 28px; }
.faq-topics__title { margin-bottom: 12px; font-size: 15px; font-weight: 700; }
.faq-topics ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
.faq-topics a { display: inline-flex; align-items: baseline; gap: 8px; color: var(--color-primary-dark); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.faq-topics a::before { content: "→"; text-decoration: none; }
.faq-page h2[id], .faq-page details[id] { scroll-margin-top: calc(var(--header-h) + 24px); }
@media (max-width: 600px) {
  .faq-tools { padding-top: 28px; }
  .faq-search__field { gap: 8px; padding-left: 12px; }
  .faq-search__reset { padding: 10px; }
  .faq-search__help { font-size: 13px; }
  .faq-permalink { margin-left: 24px; }
  .faq-topics ul { grid-template-columns: 1fr; }
}
