/* Search suggestions (assets/js/suggest.js). Positioned by the script; no inline styles in markup. */
.suggest-host { position: relative; }
.suggest-list {
  position: absolute; z-index: 1000; margin: 0; padding: 6px; list-style: none; box-sizing: border-box;
  background: var(--paper, #fff); border: 1px solid var(--line, #d9dee3); border-radius: 20px;
  box-shadow: 0 12px 32px rgba(19, 32, 46, .16);
  max-height: min(70vh, 440px); overflow-y: auto; overscroll-behavior: contain;
}
.suggest-list[hidden] { display: none; }
.suggest-item {
  display: flex; align-items: center; gap: .75rem; min-height: 48px;
  padding: .45rem .75rem; border-radius: 14px; cursor: pointer;
}
.suggest-item.is-active { background: var(--panel, #f2f4f6); }
.suggest-thumb {
  width: 46px; height: 46px; flex: none; border-radius: 12px; object-fit: cover;
  background: var(--panel, #f2f4f6); border: 1px solid var(--line, #d9dee3);
}
.suggest-thumb--none { display: inline-flex; align-items: center; justify-content: center; color: var(--ink-muted, #6b7785); }
.suggest-thumb--none svg { width: 22px; height: 22px; }
.suggest-text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.suggest-label { font-size: .92rem; font-weight: 700; color: var(--ink, #13202e); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suggest-sub { font-size: .78rem; color: var(--ink-muted, #6b7785); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.suggest-badge {
  flex: none; font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  padding: .2em .65em; border-radius: 999px; background: var(--panel, #f2f4f6); color: var(--ink-muted, #6b7785);
}
@media (max-width: 600px) {
  .suggest-list { border-radius: 18px; max-height: 60vh; }
  .suggest-thumb { width: 42px; height: 42px; }
}
