/* Estilos para o seletor de telefone internacional */
.phone-input-container {
  display: flex;
  width: 100%;
  margin-bottom: 15px;
}

.country-select {
  width: 160px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px 0 0 4px;
  padding: 10px;
  font-size: 14px;
  text-overflow: ellipsis;
  height: 42px; /* Altura fixa para corresponder ao campo de telefone */
  box-sizing: border-box;
}

.country-select option {
  padding: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.phone-input {
  flex: 1;
  border: 1px solid #ddd;
  border-left: none;
  border-radius: 0 4px 4px 0;
  padding: 10px;
  font-size: 14px;
  height: 42px; /* Altura fixa para corresponder ao seletor de país */
  box-sizing: border-box;
}

.input-error {
  border-color: #ff4444;
}

.error-message {
  color: #ff4444;
  font-size: 12px;
  margin-top: 5px;
  margin-bottom: 10px;
  display: none;
  width: 100%;
  position: relative;
  clear: both;
}

.error-message.visible {
  display: block;
}

/* Correção específica para o campo de telefone */
.phone-input-container {
  position: relative;
  margin-bottom: 25px; /* Espaço extra para a mensagem de erro */
}

.phone-input-container .error-message {
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
  z-index: 1;
}

/* Regras específicas para dispositivos móveis */
@media (max-width: 767.98px) {
  .phone-input-container {
    margin-bottom: 30px; /* Mais espaço em telas menores */
  }
  
  .phone-input-container .error-message {
    bottom: -25px; /* Posicionamento ajustado para telas menores */
    font-size: 11px; /* Texto ligeiramente menor para caber melhor */
    line-height: 1.3; /* Melhor espaçamento entre linhas */
  }
  
  /* Garantir que o campo de telefone tenha altura suficiente em dispositivos móveis */
  .phone-input {
    min-height: 44px; /* Altura mínima para facilitar o toque */
    font-size: 16px; /* Tamanho de fonte que evita zoom automático em iOS */
  }
  
  /* Ajuste para o seletor de país em dispositivos móveis */
  .country-select {
    min-height: 44px; /* Altura mínima para facilitar o toque */
    font-size: 16px; /* Tamanho de fonte que evita zoom automático em iOS */
  }
}

/* Estilos para os ícones de bandeira */
.flag-icon {
  margin-right: 8px;
  width: 20px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
}

/* Melhorias no formulário de contato */
#contact-form input,
#contact-form textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.3s;
}

#contact-form input:focus,
#contact-form textarea:focus {
  border-color: #1f333a;
  outline: none;
}

#form-status {
  margin-top: 15px;
  padding: 10px;
  border-radius: 4px;
  font-size: 14px;
}

#form-status.success {
  background-color: #e8f5e9;
  color: #4CAF50;
}

#form-status.error {
  background-color: #ffebee;
  color: #ff4444;
}
