.site-search { max-width: 980px; margin: 0 auto 5rem; }
.site-search form { display: flex; flex-wrap: wrap; gap: .85rem; align-items: end; padding: 1.4rem; background: var(--soft, #dcedfa); border: 1px solid var(--line, #bfd5e5); border-radius: 18px; }
.site-search label { display: grid; gap: .4rem; font-weight: 600; font-size: .9rem; }
.site-search .search-query { flex: 1 1 100%; }
.site-search input, .site-search select { font: inherit; color: #172e3a; background: #fff; border: 1px solid #a8c2ce; border-radius: 8px; padding: .75rem; min-width: 0; max-width: 100%; }
.site-search input { width: 100%; box-sizing: border-box; font-size: 1.1rem; }
.site-search input:focus-visible, .site-search select:focus-visible, .site-search button:focus-visible { outline: 3px solid #3781a0; outline-offset: 3px; }
.site-search button { font: inherit; cursor: pointer; border: 1px solid #1c5973; border-radius: 8px; padding: .75rem 1.1rem; background: #1c5973; color: #fff; }
.site-search-status { margin: 1.5rem 0 .5rem; color: #496674; }
.site-search-result { padding: 1.25rem 0; border-bottom: 1px solid #d8e3e8; overflow-wrap: anywhere; }
.site-search-result h2 { margin: 0 0 .5rem; font-size: 1.3rem; line-height: 1.4; }
.site-search-result p { margin: .4rem 0; }
.site-search-meta { font-size: .8rem; color: #627781; }
.site-search [data-search-more] { margin: 1.5rem 0; }
.site-search [hidden] { display: none; }
@media(max-width: 600px) { .site-search form { padding: 1rem; } .site-search label:not(.search-query) { flex: 1 1 100%; } .site-search form button { width: 100%; } }
