/* Shared project search */
.searchOverlay { position:fixed; inset:0; z-index:1000; display:flex; align-items:flex-start; justify-content:center; padding-top:88px; background:rgba(0,0,0,.18); backdrop-filter:blur(4px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, visibility .18s ease; }
.searchOverlay.isOpen { opacity:1; visibility:visible; pointer-events:auto; }
.searchPanel { width:min(560px,calc(100vw - 40px)); background:var(--yellow); color:var(--navy); padding:20px; position:relative; box-shadow:0 12px 50px rgba(0,0,0,.25); }
.searchClose { position:absolute; right:14px; top:10px; border:0; background:none; font:inherit; font-size:22px; color:var(--navy); cursor:pointer; }
.searchLabel { display:block; font-size:11px; margin-bottom:8px; text-transform:uppercase; }
.projectSearch { width:100%; box-sizing:border-box; border:0; border-bottom:1px solid var(--navy); background:transparent; color:var(--navy); font:inherit; font-size:22px; padding:5px 0 8px; outline:none; }
.projectSearch::placeholder { color:rgba(0,35,48,.48); }
.searchResults { margin-top:14px; max-height:55vh; overflow:auto; }
.searchResult { display:flex; justify-content:space-between; gap:20px; width:100%; box-sizing:border-box; background:transparent; color:var(--navy); text-align:left; text-decoration:none; font:inherit; padding:10px 0; cursor:pointer; border:0; border-bottom:1px solid rgba(0,35,48,.16); transition:padding-left .16s ease; }
.searchResult:hover { padding-left:6px; }
.searchResultMeta { opacity:.55; font-size:11px; white-space:nowrap; }
.searchEmpty { font-size:13px; opacity:.65; padding:12px 0; }
@media(max-width:650px){ .searchOverlay{padding-top:70px;} .searchPanel{width:calc(100vw - 28px);padding:16px;} .projectSearch{font-size:19px;} }
