.archive-search { font: 16px/1.5 Arial, Helvetica, sans-serif; }
.archive-search *, .archive-search-nav { box-sizing: border-box; }
.archive-search h1 { line-height: 1.25; }
.archive-search p { margin: 12px 0; }
.archive-search label { display: block; margin-bottom: 6px; font-weight: bold; }
.search-controls { display: flex; gap: 10px; }
#archive-query {
  min-width: 0;
  flex: 1;
  width: 100%;
  min-height: 44px;
  padding: 10px;
  border: 1px solid #777;
  border-radius: 4px;
  background: #fff;
  color: #222;
  font: inherit;
}
.archive-search button {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #145522;
  border-radius: 4px;
  background: #145522;
  color: #fff;
  font: bold 16px/1.4 Arial, sans-serif;
  cursor: pointer;
}
.archive-search :focus-visible { outline: 3px solid #0054c7; outline-offset: 3px; }
#search-status { min-height: 24px; }
#search-results { padding: 0; margin: 20px 0; list-style: none; }
#search-results li { padding: 14px 0; border-top: 1px solid #ccc; overflow-wrap: anywhere; }
#search-results h2 { font-size: 19px; line-height: 1.4; margin: 0 0 4px; }
#search-results h2 a { display: inline-block; padding: 4px 0; color: #145522; text-decoration: underline; }
#search-results .search-kind { font-size: 14px; color: #555; margin: 4px 0; }
#search-results mark { background: #fff1a5; color: inherit; }
#search-more[hidden] { display: none; }
@media (max-width: 600px) {
  .search-controls { flex-wrap: wrap; }
  #archive-query { flex-basis: 100%; }
}
