.site-search { display:flex; gap:8px; align-items:center; width:min(100%, 380px); margin:8px 16px; flex-shrink:0; }
.site-search input[type="search"] { flex:1; width:100%; min-width:0; margin:0; padding:10px 12px; border:1px solid #b8bec4; border-radius:6px; background:#fff; color:#212121; font:inherit; font-size:15px; line-height:1.4; text-align:left; }
.site-search button { padding:10px 16px; border:1px solid #fff; border-radius:6px; background:#fff; color:#212121; font:inherit; font-size:15px; line-height:1.4; cursor:pointer; }
.site-search button:hover { background:#e3e8ec; }
.site-search input:focus-visible,.site-search button:focus-visible,.search-results a:focus-visible { outline:3px solid #79bfff; outline-offset:3px; }
.search-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.search-page { margin:0; background:#f5f5f5; color:#212121; font:16px/1.6 Georgia,serif; }
.search-header { background:#212121; color:#fff; padding:20px; display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; }
.search-header a { color:#fff; text-decoration:none; }
.search-header .site-search { margin:0; }
.search-main { max-width:850px; margin:40px auto; padding:0 20px; }
.search-main h1 { margin-bottom:8px; }
.search-results { list-style:none; padding:0; }
.search-results li { background:#fff; border:1px solid #ddd; border-radius:8px; padding:20px; margin:16px 0; }
.search-results h2 { margin:0 0 8px; font-size:22px; }
.search-results a { color:#204f75; }
.search-results p { margin:0; overflow-wrap:anywhere; }
.search-type { font:12px/1.5 Arial,sans-serif; text-transform:uppercase; letter-spacing:1px; color:#555; }
@media(max-width:767px) { .site-search { width:auto; flex-shrink:1; margin:12px 16px; } .search-header .site-search { width:100%; } }
