/* Site-owned overrides. Everything under src/assets/ other than this file is a
   captured build artifact and gets overwritten by the capture scripts, so put
   hand-written CSS here. Loaded last, after the captured page head. */

/* ---------- Knowledge-base search ----------
   Replaces the theme's WordPress-backed search. Deliberately plain: it borrows
   the theme's type and sits inside its layout, so only the parts the theme has
   no equivalent for are styled here. */
.kb-suggest {
  position: absolute; z-index: 50; left: 0; right: 0; top: 100%;
  background: #fff; border: 1px solid #dcd9d4; border-top: 0;
  border-radius: 0 0 4px 4px; box-shadow: 0 6px 20px rgba(0,0,0,.08);
  max-height: 22rem; overflow-y: auto;
}
.kb-suggest__item, .kb-suggest__all {
  display: block; padding: .6rem .8rem; text-decoration: none;
  border-bottom: 1px solid #f0eeea; color: #333;
}
.kb-suggest__item:last-of-type { border-bottom: 0; }
.kb-suggest__item:hover, .kb-suggest__item:focus,
.kb-suggest__all:hover, .kb-suggest__all:focus { background: #f6f4f1; }
.kb-suggest__title { display: block; font-weight: 600; line-height: 1.3; }
.kb-suggest__cat { display: block; font-size: .78rem; color: #7a746c; margin-top: .15rem; }
.kb-suggest__all { font-size: .85rem; color: #b35a0f; background: #faf8f6; }

.kb-search-page__form { display: flex; gap: .5rem; margin: 0 0 2rem; flex-wrap: wrap; }
.kb-search-page__label {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
.kb-search-page__form input {
  flex: 1 1 18rem; padding: .6rem .75rem; font: inherit;
  border: 1px solid #dcd9d4; border-radius: 4px;
}
.kb-search-page__form input:focus-visible { outline: 2px solid #b35a0f; outline-offset: 1px; }
.kb-search-page__form button {
  padding: .6rem 1.2rem; font: inherit; font-weight: 600; cursor: pointer;
  color: #fff; background: #b35a0f; border: 0; border-radius: 4px;
}
.kb-search-page__form button:hover { background: #994d0d; }

.kb-results { list-style: none; margin: 0; padding: 0; }
.kb-result { padding: 1rem 0; border-bottom: 1px solid #eceae6; }
.kb-result__title { font-size: 1.05rem; font-weight: 600; text-decoration: none; }
.kb-result__cat { display: block; font-size: .78rem; color: #7a746c; margin: .2rem 0; }
.kb-result__excerpt { margin: .35rem 0 0; color: #55504a; line-height: 1.5; }
.kb-results__empty { color: #55504a; }
