.search-box {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
}

.search-input-wrap {
  display: flex;
  align-items: center;
  background: var(--bg-elevated);
  border-radius: var(--radius-xl);
  border: 2px solid var(--stone);
  overflow: hidden;
  transition: all var(--transition);
  box-shadow: var(--shadow-md);
}

.search-input-wrap:hover {
  border-color: var(--gold-300);
  box-shadow: var(--shadow-lg), var(--shadow-gold);
}

.search-input-wrap:focus-within {
  border-color: var(--gold);
  box-shadow: var(--shadow-lg), 0 0 0 4px rgba(201, 169, 110, 0.2);
  transform: translateY(-2px);
}

.search-icon {
  padding: 0 6px 0 16px;
  color: var(--text-tertiary);
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.search-input-wrap input {
  flex: 1;
  border: none;
  padding: 20px 16px;
  font-size: 1rem;
  font-family: inherit;
  background: transparent;
  color: var(--text-primary);
  outline: none;
  min-width: 0;
}

.search-input-wrap input::placeholder {
  color: var(--text-tertiary);
}

.search-input-wrap button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  margin: 6px;
  border: none;
  border-radius: calc(var(--radius-xl) - 6px);
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-500) 100%);
  color: var(--text-inverse);
  font-size: 0.95rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  min-height: 48px;
}

.search-input-wrap button::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--gold-500) 0%, var(--gold) 100%);
  opacity: 0;
  transition: opacity var(--transition-fast);
}

.search-input-wrap button:hover::after { opacity: 1; }
.search-input-wrap button > * { position: relative; z-index: 1; }

.search-input-wrap button:hover {
  box-shadow: var(--shadow-gold);
  transform: translateY(-1px);
}

.search-input-wrap button:active { transform: translateY(0); }
.btn-nearme { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 6px; border: 2px solid var(--stone); border-radius: calc(var(--radius-xl) - 6px); background: var(--bg-elevated); color: var(--navy); font-size: 1.3rem; cursor: pointer; transition: all var(--transition-fast); flex-shrink: 0; }
.btn-nearme:hover { border-color: var(--gold); background: var(--gold-100); transform: translateY(-1px); }
.btn-nearme.active { border-color: var(--gold); background: var(--gold); color: white; }
@media (max-width: 480px) {
  .search-input-wrap { flex-direction: column; border-radius: var(--radius-lg); }
  .search-input-wrap input { width: 100%; padding: 16px 16px 8px; }
  .btn-nearme { order: -1; align-self: flex-end; width: 44px; height: 44px; margin: 6px 6px 0; font-size: 1.1rem; }
  .search-input-wrap button { width: calc(100% - 12px); margin: 0 6px 6px; border-radius: var(--radius-sm); justify-content: center; }
}
