/* Suggestions inherit the portal palette and typography, including dark mode. */
.search-suggest {
  --suggest-bg: var(--bs-body-bg, #fff);
  --suggest-text: var(--bs-body-color, #1c3d5a);
  --suggest-muted: var(--bs-secondary-color, #52677a);
  --suggest-border: var(--bs-border-color, #cbd6df);
  --suggest-active: var(--bs-tertiary-bg, #edf3f8);
  --suggest-focus: var(--bs-primary, #35679e);
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}
.search-suggest > input { width: 100%; box-sizing: border-box; }
.search-suggest__panel {
  position: absolute;
  z-index: 1040;
  inset: calc(100% + .25rem) 0 auto;
  min-width: 100%;
  border: 1px solid var(--suggest-border);
  border-radius: .25rem;
  background: var(--suggest-bg);
  color: var(--suggest-text);
  box-shadow: 0 .3rem 1rem rgb(0 0 0 / .12);
  max-height: min(28rem, 60vh);
  overflow-y: auto;
}
.search-suggest__panel[hidden] { display: none; }
/* The sidebar flyout is portalled beyond the rail's scroll/transform boundaries.
   JavaScript supplies viewport-clamped geometry and the original host's palette. */
.search-suggest__panel--floating {
  position: fixed;
  z-index: 20002;
  inset: auto;
  min-width: 0;
  box-sizing: border-box;
}
.search-suggest__panel ul { margin: 0; padding: .25rem; list-style: none; }
.search-suggest__panel a[role='option'] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .25rem .75rem;
  padding: .6rem .65rem;
  min-height: 2.75rem;
  align-items: center;
  color: var(--suggest-text);
  text-decoration: none;
  line-height: 1.4;
  font-size: .95rem;
  border-radius: .2rem;
}
.search-suggest__panel a[role='option']:hover,
.search-suggest__panel a[aria-selected='true'] { background: var(--suggest-active); }
.search-suggest__panel a[aria-selected='true'] { outline: 2px solid var(--suggest-focus); outline-offset: -2px; }
.search-suggest__title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-suggest__type { color: var(--suggest-muted); font-size: .8rem; white-space: nowrap; }
.search-suggest__all { border-top: 1px solid var(--suggest-border); font-weight: 600; }
.search-suggest__status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (forced-colors: active) { .search-suggest__panel a[aria-selected='true'] { outline-color: Highlight; } }
