/* The search controls follow the retained site's restrained palette and type. */
.fi-page-widgets { box-sizing: border-box; width: 100%; max-width: 980px; min-width: 0; margin: 32px auto; }
.blog-search, .blog-search-results { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; text-align: left; }
.blog-search *, .blog-search-results * { box-sizing: border-box; }
.blog-search[hidden],
.blog-directory[hidden],
.blog-search-results[hidden],
.blog-search-empty[hidden] { display: none !important; }
.blog-search {
  margin: 0 0 34px;
  padding: 24px;
  border: 1px solid #cbd8e2;
  background: #f4f7fa;
  color: #293947;
}
#blog-search-heading {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  color: #293947;
  counter-increment: none;
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: normal;
}
#blog-search-heading::before,
#blog-search-results-heading::before,
#blog-search-results .entry h3::before { display: none; content: none; }
.blog-search-label { display: block; margin-bottom: 8px; font-size: 14px; }
.blog-search-controls { display: flex; align-items: stretch; gap: 10px; }
.blog-search-controls input,
.blog-search-controls button {
  box-sizing: border-box;
  min-height: 48px;
  border: 1px solid #8099ac;
  border-radius: 2px;
  background: #fff;
  color: #293947;
  font: inherit;
  font-size: 16px;
  line-height: 1.5;
}
.blog-search-controls input { flex: 1 1 220px; min-width: 0; width: 100%; padding: 10px 12px; }
.blog-search-controls input::placeholder { color: #526574; opacity: 1; }
.blog-search-controls button { flex: 0 0 auto; padding: 10px 21px; cursor: pointer; }
.blog-search-controls #blog-search-button { border-color: #293947; font-weight: 700; }
.blog-search-controls button:hover { background: #edf3f7; }
.blog-search-controls input:focus-visible,
.blog-search-controls button:focus-visible { outline: 2px solid #1b425d; outline-offset: 3px; }
.blog-search #blog-search-help,
.blog-search #blog-search-status { margin: 12px 0 0; color: #4e5e6b; font-size: 14px; line-height: 1.7; }
.blog-search #blog-search-status { color: #293947; }
#blog-search-results { margin: 0 0 34px; clear: both; color: #293947; }
#blog-search-results-heading { margin: 0 0 24px; padding: 0; border: 0; color: #293947; counter-increment: none; font-family: inherit; font-weight: 700; font-size: 22px; line-height: 1.5; letter-spacing: normal; }
#blog-search-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; min-width: 0; }
#blog-search-results .entry { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: start; gap: 18px; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 0 0 20px; border: 0; border-bottom: 1px solid #cbd8e2; background: transparent; float: none; text-align: left; }
#blog-search-results .entry__thumb { display: block; width: 100%; min-width: 0; margin: 0; padding: 0; aspect-ratio: 3 / 2; overflow: hidden; }
#blog-search-results .entry__thumb img { display: block; width: 100%; height: 100%; max-width: 100%; margin: 0; object-fit: cover; }
#blog-search-results .entry__content { width: 100%; min-width: 0; margin: 0; padding: 0; }
#blog-search-results .entry h3 { margin: 0 0 8px; padding: 0; border: 0; color: #293947; font-family: inherit; font-size: 18px; font-weight: 700; line-height: 1.65; letter-spacing: normal; }
#blog-search-results .entry__title { display: inline; color: #1b425d; font-family: inherit; font-size: inherit; font-weight: 700; line-height: inherit; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
#blog-search-results .entry__time { margin: 12px 0 0; padding: 0; color: #4e5e6b !important; font-size: 12px; line-height: 1.7; }
#blog-search-results .blog-search-excerpt { margin: 8px 0; padding: 0; color: #4e5e6b; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
#blog-search-results .blog-search-empty { margin: 16px 0 36px; padding: 20px 0; color: #293947; font-size: 16px; line-height: 1.9; }
#blog-search-results a:focus-visible { outline: 2px solid #1b425d; outline-offset: 3px; }
.blog-search-noscript { margin-bottom: 24px; font-size: 14px; line-height: 1.8; }
@media (max-width: 600px) {
  .blog-search { padding: 20px 16px; }
  .blog-search-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .blog-search-controls input { grid-column: 1 / -1; }
  .blog-search-controls button { padding: 10px 16px; }
  #blog-search-heading, #blog-search-results-heading { font-size: 21px; }
  #blog-search-results .entry { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  #blog-search-results .entry__thumb { max-width: 360px; }
}
