.search-overlay {
  position: fixed; inset: 0; z-index: 300;
  background: rgba(20,20,25,.65);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 80px;
  opacity: 0; pointer-events: none;
  transition: opacity .2s;
}
.search-overlay.open { opacity: 1; pointer-events: auto; }

.search-box {
  width: min(600px, 92vw);
  background: #fff; border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(0,0,0,.35);
  transform: translateY(-12px);
  transition: transform .22s cubic-bezier(.25,0,.1,1);
}
.search-overlay.open .search-box { transform: translateY(0); }

.search-input-wrap {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(64,67,78,.08);
}
.search-input-wrap > svg { color: #9496A0; flex-shrink: 0; }

#searchInput {
  flex: 1; border: none; outline: none;
  font-family: 'Lora', serif; font-size: 16px; color: #40434E;
  background: none;
}
#searchInput::placeholder { color: #C0C2C8; }

.search-close-btn {
  width: 32px; height: 32px; border-radius: 50%; border: none; background: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #9496A0; flex-shrink: 0;
  transition: background .15s;
}
.search-close-btn:hover { background: #F7F7F5; }

.search-results { max-height: 55vh; overflow-y: auto; padding: 6px 0; }

.search-hint, .search-empty {
  padding: 32px 20px; text-align: center;
  font-family: 'Lora', serif; font-size: 13px; color: #C0C2C8; font-style: italic;
}
.search-empty { color: #9496A0; }

.search-item {
  display: flex; align-items: center; gap: 14px;
  padding: 11px 20px; cursor: pointer;
  transition: background .15s;
  text-decoration: none; color: inherit;
  border-bottom: 1px solid rgba(64,67,78,.04);
}
.search-item:last-child { border-bottom: none; }
.search-item:hover { background: #F7F7F5; }

.search-item-img {
  width: 52px; height: 52px; border-radius: 10px;
  background: #F7F7F5; flex-shrink: 0; overflow: hidden;
}
.search-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.search-item-name { font-family: 'Lora', serif; font-size: 14px; font-weight: 600; color: #40434E; line-height: 1.3; }
.search-item-price { font-family: 'Lora', serif; font-size: 13px; color: #9496A0; margin-top: 3px; }
