/* Reusable V2 search surface. Each route keeps its own query state and handlers. */
.search-v2{position:relative;isolation:isolate;transition:box-shadow 160ms ease,transform 160ms ease}
.search-v2[data-search-sticky]{z-index:24;margin-inline:-4px}
.search-v2[data-search-sticky].is-search-stuck{position:fixed;z-index:40;margin:0;transform:translateZ(0)}
.search-v2[data-search-sticky]:before{content:"";position:absolute;z-index:-1;inset:-8px -8px;border-radius:24px;background:transparent;opacity:0;pointer-events:none;transition:opacity 160ms ease}
.search-v2[data-search-sticky].is-search-stuck:before{opacity:0}
.search-v2 button:not(.search-clear){position:relative}
.search-v2 button:not(.search-clear):before{content:"";position:absolute;left:-16px;top:50%;width:1px;height:36px;translate:0 -50%;background:#d8dfe9;pointer-events:none}
.search-v2-placeholder{height:0}
.search-v2-dock-backdrop{position:fixed;z-index:39;top:0;pointer-events:none;opacity:0;visibility:hidden;background:linear-gradient(to bottom,var(--search-dock-paper,#fffdf9) 0,var(--search-dock-paper,#fffdf9) calc(100% - 28px),color-mix(in srgb,var(--search-dock-paper,#fffdf9) 46%,transparent) calc(100% - 12px),transparent 100%)}
.search-v2-dock-backdrop.is-visible{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){html:not([data-motion-preview="full"]) .search-v2{transition:none}}
@media(max-width:520px){.search-v2 button:not(.search-clear):before{left:-10px;height:30px}}
.voice-search-notice,.voice-search-status{margin:8px 0;font-size:.75rem;line-height:1.45;color:var(--navy-soft,#536c8a);overflow-wrap:anywhere}.voice-search-status:empty{display:none}.voice-search-status[data-voice-state="error"]{color:#b53c18}.voice-search-status[data-voice-state="listening"]{color:var(--orange,#ff571d);font-weight:700}
