/* Phase 3 search page. Prefix .bs-*; relies on ../fbe.css only for header/footer/typography. Mobile first, no animations. */
.bs {
  --bs-ink: #222;
  --bs-muted: #5a5a5a;
  --bs-line: #dcdcdc;
  --bs-accent: #1473e6;
  --bs-accent-ink: #fff;
  --bs-bg-soft: #f6f8fb;
}
.bs article { margin: 0 4% 0 4%; left: 0; max-width: 760px; }
.bs-title { font-size: 26px; line-height: 1.2; margin: 12px 0 16px; letter-spacing: 0; }
.bs-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.bs-form { display: flex; flex-direction: column; gap: 10px; font-size: 16px; }
.bs-input {
  box-sizing: border-box; width: 100%; margin: 0; padding: 16px 16px; font: 18px/1.3 Helvetica, Arial, sans-serif; color: var(--bs-ink);
  border: 2px solid #6b7685; border-radius: 10px; background: #fff; -webkit-appearance: none; appearance: none;
}
.bs-input::placeholder { color: #6b7280; opacity: 1; }
.bs-button {
  padding: 15px 22px; font: 600 18px/1.2 Helvetica, Arial, sans-serif; color: var(--bs-accent-ink); background: var(--bs-accent);
  border: 2px solid var(--bs-accent); border-radius: 10px; cursor: pointer; -webkit-appearance: none; appearance: none;
}
.bs-button:hover { background: #0e58b3; border-color: #0e58b3; }
.bs-input:focus-visible, .bs-button:focus-visible, .bs-chip:focus-visible, .bs-more:focus-visible, .bs-link:focus-visible, .bs-skip:focus-visible {
  outline: 3px solid #ff9f1a; outline-offset: 2px;
}
@media (min-width: 640px) { .bs-form { flex-direction: row; } .bs-input { flex: 1; } .bs-title { font-size: 32px; } }

.bs-examples { margin: 14px 0 6px; font-size: 14px; color: var(--bs-muted); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bs-chip {
  padding: 7px 12px; font: 14px/1.2 Helvetica, Arial, sans-serif; color: #1a4a8a; background: var(--bs-bg-soft); border: 1px solid #7f9bc0; border-radius: 999px; cursor: pointer;
  -webkit-appearance: none; appearance: none;
}
.bs-chip:hover { background: #e8f0fb; }

.bs-results { margin-top: 18px; }
.bs-status { margin: 0 0 10px; font-size: 16px; color: var(--bs-muted); min-height: 1.4em; }
.bs-list { list-style: none; margin: 0; padding: 0; }
.bs-item { padding: 16px 0; border-top: 1px solid var(--bs-line); }
.bs-item:first-child { border-top: 0; }
.bs-ref { margin: 0 0 6px; font-size: 18px; font-weight: 700; color: var(--bs-ink); }
.bs-text { margin: 0 0 10px; font: 19px/1.55 Georgia, "Times New Roman", serif; color: var(--bs-ink); max-width: 38em; }
.bs-text i { font-style: italic; }
.bs-note { margin: 0 0 8px; font-size: 14px; color: var(--bs-muted); }
.bs-link { display: inline-block; padding: 9px 14px; font-size: 15px; color: var(--bs-accent); text-decoration: none; border: 1px solid #4d86d4; border-radius: 8px; background: #fff; }
.bs-link:hover { background: #eef4fd; color: #0e58b3; }
.bs-more { margin: 14px 0; padding: 12px 20px; font: 16px/1.2 Helvetica, Arial, sans-serif; background: #fff; color: var(--bs-accent); border: 2px solid var(--bs-accent); border-radius: 10px; cursor: pointer; }
.bs-hints { margin-top: 20px; padding: 14px 16px; background: var(--bs-bg-soft); border: 1px solid #d7e0ec; border-radius: 10px; }
.bs-hints h2 { margin: 0 0 8px; font-size: 16px; }
@media (prefers-contrast: more) { .bs-note, .bs-status, .bs-examples { color: #222; } }

/* topics (Phase 4) */
.bs-topic { margin: 6px 0 18px; padding: 14px 16px 6px; background: var(--bs-bg-soft); border: 1px solid #d7e0ec; border-radius: 12px; }
.bs-topic-title { margin: 0; font-size: 22px; line-height: 1.2; color: var(--bs-ink); }
.bs-topic-sub { margin: 4px 0 6px; font-size: 15px; color: var(--bs-muted); }
.bs-preview { margin: 8px 0; padding: 8px 10px; font-size: 14px; color: #5b3a00; background: #fff4d6; border: 1px solid #e2c36b; border-radius: 8px; }
.bs-vn { font: 600 13px/1 Helvetica, Arial, sans-serif; color: var(--bs-muted); vertical-align: super; }
.bs-titem .bs-text { font-size: 18px; }
.bs-others { margin: 14px 0 0; font-size: 17px; color: var(--bs-ink); }

.bs-hl { background: #fff2b3; color: inherit; padding: 0 1px; border-radius: 2px; }

/* the site stylesheet gives sections an explicit display, which would defeat the hidden attribute (an empty topic box showed up on every non-topic search) */
.bs [hidden] { display: none !important; }

.bs-topics-link { margin: 14px 0 0; font-size: 16px; }
.bs-all { margin: 10px 0 14px; }
