/* ══ 導覽列右側群組（連結+搜尋+CTA 靠右對齊）══ */
.nav-right{ display:flex; align-items:center; gap:28px; }

/* ══ 搜尋圖示 ══ */
.nav-search-btn{ background:none; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; color:var(--text); transition:background .2s,color .2s; padding:0; flex-shrink:0; }
.nav-search-btn:hover{ background:var(--green-xlight); color:var(--green-dark); }

/* ══ 搜尋覆蓋層 ══ */
.search-overlay{ display:none; position:fixed; inset:0; background:rgba(28,28,26,.75); backdrop-filter:blur(4px); z-index:1500; padding:90px 6% 40px; overflow-y:auto; }
.search-overlay.open{ display:block; }
.search-box{ max-width:920px; margin:0 auto; }
.search-input-wrap{ position:relative; margin-bottom:28px; }
.search-input{ width:100%; padding:18px 52px 18px 22px; border-radius:12px; border:none; font-family:inherit; font-size:17px; background:#fff; box-shadow:0 12px 40px rgba(0,0,0,.25); }
.search-input:focus{ outline:2px solid var(--green); }
.search-close{ position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; font-size:26px; line-height:1; color:var(--text-muted); cursor:pointer; padding:6px; }
.search-close:hover{ color:var(--text); }
.search-results{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.search-result-card{ background:#fff; border-radius:12px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .2s; display:block; }
.search-result-card:hover{ transform:translateY(-4px); }
.search-result-thumb{ aspect-ratio:4/3; background-size:cover; background-position:center; position:relative; }
.search-result-chip{ position:absolute; left:10px; bottom:10px; background:linear-gradient(120deg,var(--green-dark),var(--green)); color:#fff; font-size:11px; font-weight:600; padding:4px 10px; border-radius:6px; }
.search-result-body{ padding:20px 24px; }
.search-result-client{ font-size:12px; color:var(--green-dark); font-weight:600; margin-bottom:3px; }
.search-result-title{ font-size:14px; font-weight:600; margin-bottom:6px; line-height:1.4; color:var(--text); }
.search-result-desc{ font-size:12px; color:var(--text-mid); line-height:1.6; }
.search-hint{ text-align:center; color:rgba(255,255,255,.75); padding:40px 0; font-size:14px; }
@media(max-width:768px){ .search-results{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .search-results{ grid-template-columns:1fr; } .search-overlay{ padding:80px 5% 30px; } }
