.site-search {
  position:relative;
  flex:1;
  margin:8px 16px;
  min-width:0}
.site-search input {
  width:100%;
  padding:9px 12px;
  border:1px solid #767676;
  border-radius:4px;
  font:inherit;
  background:#fff;
  color:#27262b}
.site-search-panel {
  position:absolute;
  z-index:100;
  top:100%;
  right:0;
  width:min(760px,calc(100vw - 32px));
  max-height:75vh;
  overflow:auto;
  background:#fff;
  color:#27262b;
  border:1px solid #767676;
  border-radius:4px;
  padding:16px;
  box-shadow:0 4px 12px #0003}
.site-search-panel[hidden],.site-search [hidden] {
  display:none}
.site-search-filters {
  display:flex;
  gap:12px;
  flex-wrap:wrap}
.site-search-filters label {
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:120px}
.site-search select,.site-search button {
  font:inherit;
  padding:5px;
  color:#27262b;
  background:#fff;
  border:1px solid #767676;
  border-radius:3px}
.site-search-actions {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-top:12px}
.site-search-results {
  padding-left:24px}
.site-search-results li {
  margin:16px 0}
.site-search-results p {
  margin:4px 0}
.site-search-meta {
  font-size:12px;
  color:#59565f}
.site-search-results mark {
  background:#fff0a6;
  color:#27262b}
.site-search a:focus-visible,.site-search button:focus-visible,.site-search input:focus-visible,.site-search select:focus-visible {
  outline:3px solid #7253ed;
  outline-offset:2px}
@media(max-width:799px) {
  /* Keep search reachable without expanding the entire mobile navigation. */
  .side-bar + .main .main-header {
    display:block}
  .site-search {
  margin:8px}
.site-search-panel {
  width:calc(100vw - 32px);
  max-height:70vh}
.site-search-filters {
  gap:8px}
.site-search-filters label {
  min-width:90px}
}

