.search-container{
  position: relative;
  margin: 10px 0;
  width: 100%;
  max-width: 480px;          /* limita no desktop, libera no mobile */
}

#search-input{
  padding: 8px 15px;
  width: 100%;               /* em vez de 200px fixos */
  border-radius: 20px;
  border: 1px solid #ddd;
  box-sizing: border-box;    /* evita estourar a largura */
  font-size: 16px;           /* legível no mobile */
}

.search-results{
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;                  /* ocupa a mesma largura do input */
  width: auto;               /* nada de 230px fixos */
  max-height: 50vh;          /* metade da tela no celular */
  overflow-y: auto;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  display: none;
  z-index: 1000;
}

.search-results a{
  display: block;
  padding: 10px 14px;
  color: #333;
  text-decoration: none;
}

.search-results a:hover{
  background: #f5f5f5;
}

/* Opcional: afinar no desktop amplo */
@media (min-width: 640px){
  .search-container{ max-width: 420px; }
}
