.search-container {
  position: relative;
  max-width: 400px;
}

.search-box {
  display: flex;
  align-items: center;
  border-radius: 25px;
  border: 2px solid #ccc;
  background: #fff;
  overflow: hidden;
  transition: border-color 0.3s ease;
}

.search-box.error {
  animation: shake 0.3s;
  border-color: #b00020;
}

@keyframes shake {
  0% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  75% { transform: translateX(-5px); }
  100% { transform: translateX(0); }
}

.search-box input {
  flex: 1;
  padding: 0.6rem 1rem;
  border: none;
  font-size: 1rem;
  outline: none;
}

.search-box button {
  background: #0077b6;
  border: none;
  color: white;
  padding: 0.6rem 1rem;
  cursor: pointer;
  font-size: 1rem;
}

.error-msg {
  color: #b00020;
  font-weight: bold;
  margin-top: 0.5rem;
  display: none;
}

.error-msg.show {
  display: block;
}
