.header-search { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0; border:1px solid rgb(255 255 255 / .5); border-radius:4px; color:inherit; background:transparent; font-size:18px; }
.site-header.is-scrolled .header-search { border-color:var(--line); }
.header-search:hover { background:rgb(129 172 255 / .12); }
.search-dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 48px); margin: max(24px, 12svh) auto auto; padding:26px; border:1px solid var(--line); border-radius:6px; background:#fff; box-shadow:0 20px 60px rgb(9 24 46 / .2); overflow-y:auto; }
.search-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:22px; }
.search-dialog-head h2 { font-size:24px; }
.search-dialog-head .icon-button { width:36px; height:36px; flex-shrink:0; }
.search-input-wrap { display:flex; align-items:center; gap:12px; padding:0 14px; border:1px solid var(--line); border-radius:4px; background:var(--pale); color:var(--blue); }
.search-input-wrap:focus-within { border-color:var(--blue); outline:2px solid rgb(40 93 183 / .15); }
.search-input-wrap input { width:100%; min-width:0; height:50px; border:0; outline:0; background:transparent; color:var(--navy); font-size:16px; }
.search-input-wrap input::placeholder { color:#52647d; font-size:13px; }
.search-status { margin:15px 0 0; font-size:12px; line-height:1.7; }
.search-results { max-height:min(380px,45dvh); overflow-y:auto; margin-top:12px; overscroll-behavior:contain; }
.search-results a { display:flex; align-items:center; gap:14px; min-height:64px; padding:12px 8px; border-bottom:1px solid var(--line); }
.search-results a:hover, .search-results a:focus-visible { background:var(--pale); color:var(--navy); outline-offset:-3px; }
.search-results a > i { color:var(--blue); font-size:20px; flex-shrink:0; }
.search-results a > span { min-width:0; }
.search-results strong { display:block; color:var(--navy); font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.search-results small { display:block; font-size:10px; margin-top:3px; }
@media(min-width:992px) {
    .navbar-row { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:20px; }
    .navbar-row > .brand { justify-self:start; }
    .desktop-nav { justify-self:center; gap:18px; }
    .header-actions { justify-self:end; gap:8px; }
    .header-search { width:40px; height:40px; font-size:16px; }
    .header-actions .header-call { height:40px; }
}
@media(max-width:767.98px) { .site-header .brand-art { width:min(182px,calc(100vw - 204px)); } .search-dialog { padding:20px; margin-top:24px; } .search-dialog-head h2 { font-size:21px; } }
