#gs-search-overlay { position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding-top:80px }
#gs-search-backdrop { position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px) }
#gs-search-modal { position:relative;background:#fff;border-radius:12px;width:min(620px,95vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden }
#gs-search-header { display:flex;align-items:center;padding:16px;border-bottom:1px solid #eee;gap:10px }
#gs-search-input { flex:1;border:none;outline:none;font-size:1.1rem;padding:6px 4px }
#gs-search-close { background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;line-height:1;padding:4px 8px }
#gs-search-close:hover { color:#000 }
#gs-search-body { overflow-y:auto;padding:16px }
.gs-result-count { font-size:.85rem;color:#666;margin-bottom:12px }
.gs-hits { display:flex;flex-direction:column;gap:8px }
.gs-hit { display:flex;gap:12px;align-items:center;padding:10px;border-radius:8px;text-decoration:none;color:inherit;transition:background .15s }
.gs-hit:hover { background:#f5f5f5 }
.gs-hit-img { width:60px;height:60px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#f0f0f0 }
.gs-hit-img img { width:100%;height:100%;object-fit:cover }
.gs-no-img { width:100%;height:100%;background:#e8e8e8 }
.gs-hit-info { display:flex;flex-direction:column;gap:3px;flex:1;min-width:0 }
.gs-hit-name { font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.gs-hit-cat { font-size:.8rem;color:#888 }
.gs-hit-price { font-size:.9rem;font-weight:700;color:#333 }
.gs-compare { font-weight:400;color:#aaa;text-decoration:line-through;font-size:.8rem;margin-right:5px }
.gs-no-results { text-align:center;color:#666;padding:24px 0 }
.gs-view-all { display:block;text-align:center;padding:12px;margin-top:10px;border-top:1px solid #eee;font-size:.9rem;color:inherit;text-decoration:none;font-weight:600 }
.gs-view-all:hover { text-decoration:underline }
.gs-loading { display:flex;justify-content:center;gap:6px;padding:32px }
.gs-loading span { width:10px;height:10px;border-radius:50%;background:#999;animation:gs-bounce .8s infinite alternate }
.gs-loading span:nth-child(2) { animation-delay:.2s }
.gs-loading span:nth-child(3) { animation-delay:.4s }
@keyframes gs-bounce { from{transform:translateY(0);opacity:.5} to{transform:translateY(-10px);opacity:1} }
.gs-search-trigger { background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;color:inherit }