.site-search { min-width: 0; }
.site-search label { display: block; font-size: 12px; color: #5D6971; margin-bottom: 4px; }
.site-search-controls { display: flex; gap: 8px; min-width: 0; }
.site-search input { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #E6E2DC; border-radius: 3px; padding: 9px 12px; font: inherit; color: #102C3C; background: #fff; }
.site-search input:focus-visible { outline: 2px solid #102C3C; outline-offset: 2px; }
.site-search .button { flex-shrink: 0; min-height: 44px; }
.header-search-band { border-top: 1px solid #E6E2DC; background: #FBFAF7; }
.header-search-shell { padding-block: 18px; }
.header-search { display: grid; grid-template-columns: minmax(150px, .35fr) minmax(0, 1.65fr); gap: 22px; align-items: center; width: 100%; min-width: 0; }
.header-search label { margin: 0; color: #102C3C; font-family: Georgia, "Times New Roman", serif; font-size: 1.18rem; line-height: 1.2; }
.header-search .site-search-controls { min-width: 0; }
.header-search input { min-height: 54px; padding: 13px 16px; border-color: #CFC9BF; font-size: 1rem; }
.header-search .button { min-width: 178px; min-height: 54px; }
.header-search-suggestions { grid-column: 2; display: grid; margin-top: -14px; border: 1px solid #E6E2DC; border-radius: 3px; background: #fff; box-shadow: 0 8px 22px rgba(16, 44, 60, .09); overflow: hidden; }
.header-search-suggestions[hidden] { display: none; }
.header-search-suggestion { display: grid; gap: 2px; min-height: 54px; padding: 10px 14px; border-bottom: 1px solid #E6E2DC; color: #102C3C; text-decoration: none; }
.header-search-suggestion:last-child { border-bottom: 0; }
.header-search-suggestion:hover, .header-search-suggestion:focus-visible { background: #F5F2ED; outline: 2px solid #102C3C; outline-offset: -2px; }
.header-search-suggestion strong { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.header-search-suggestion small { color: #5D6971; }
.site-search-results { max-width: 760px; margin-bottom: 24px; }
.site-search-list { display: grid; gap: 16px; margin: 24px 0; }
.site-search-list h2 { font-size: 26px; overflow-wrap: anywhere; }
.site-search-list p { overflow-wrap: anywhere; }
.site-search-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
@media (max-width: 760px) {
    .header-search { grid-template-columns: minmax(0, 1fr); gap: 9px; }
    .header-search-suggestions { grid-column: 1; margin-top: 0; }
}
@media (max-width: 430px) {
    .header-search-shell { padding-block: 14px; }
    .site-search-controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .site-search .button { width: 100%; padding-left: 12px; padding-right: 12px; }
}
