/* --- ESTILO DOS FORMULÁRIOS --- */
.form-container { 
  max-width: 768px; 
  margin: 30px auto; 
  padding: 40px; 
  background-color: #521a87; 
  border-radius: 16px; 
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08); 
}
.form-group:not(:last-child) { 
  margin-bottom: 24px; 
  position: relative; 
}
.form-group label { 
  font-size: 14px; 
  color: white; 
  margin-bottom: 12px; 
  padding: 0 6px; 
  display: block; 
}

/* 1. Estilos EM COMUM para todos os campos (inputs e selects) */
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group select {
    width: 100%;
    border: none;
    background-color: white;
    padding: 0 16px;
    height: 48px;
    font-size: 16px;
    transition: border-color 0.3s;
    border-radius: 8px;
    color: #333; /* Garante que o texto dentro seja legível */
}

/* 2. Estilos APENAS para os campos de seleção (adiciona o chevron) */
.form-group select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23521a87' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1em;
    padding-right: 2.5rem; /* Adiciona um espaço para o texto não ficar embaixo da seta */
}

/* 3. Estilos de FOCO para todos os campos */
.form-group input:focus,
.form-group select:focus {
    outline: 2px solid #ffa52f;
}

/* ESTILO GERAL DOS BOTÕES DE SUBMISSÃO */
.btn-submit-form {
    width: 100%;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #ffa52f;
    color: #521a87;
    border: 1px solid white;
    border-radius: 16px;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
}

.btn-submit-form:hover {
    background-color: #ffb24d;
    transform: translateY(-2px);
}

.lgpd-notice p { 
  font-size: 12px !important; 
  line-height: 125%; 
  color: #b47fe6; 
  margin: 5px 0; 
  text-align: center; 
  display: block; 
}
.lgpd-notice p a { 
  color: #b47fe6; 
  text-decoration: underline; 
}

/* --- ESTILOS DO ÍCONE E POP-UP DE WHATSAPP --- */
.whatsapp-float { 
  position: fixed; 
  bottom: 25px; 
  right: 25px; 
  width: 60px; 
  height: 60px; 
  background-color: #25d366; 
  border-radius: 50%; 
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3); 
  display: flex; 
  justify-content: center; 
  align-items: center; 
  cursor: pointer; 
  z-index: 999; 
  transition: all 0.3s ease-in-out; 
}
.whatsapp-float img { 
  width: 35px; 
  height: 35px; 
}
.whatsapp-float:hover { 
  transform: translateY(-6px); 
}

.popup-overlay { 
  display: none; 
  position: fixed; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  background-color: rgba(0, 0, 0, 0.6); 
  z-index: 1000; 
  justify-content: center; 
  align-items: center; 
}
.popup-overlay.show { 
  display: flex; 
}

.popup-content { 
  background-color: #521a87; 
  padding: 32px; 
  border-radius: 16px; 
  width: 100%; 
  max-width: 580px; 
  position: relative; 
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); 
  animation: fadeIn 0.3s ease-out; 
}
@keyframes fadeIn { 
  from { opacity: 0; transform: scale(0.9); } 
  to { opacity: 1; transform: scale(1); } 
}
.close-button { 
  position: absolute; 
  top: 10px; 
  right: 15px; 
  font-size: 28px; 
  font-weight: bold; 
  color: #b47fe6; 
  background: none; 
  border: none; 
  cursor: pointer; 
}

.popup-content .pop-up-title-container h4 { 
  margin-top: 0; 
  margin-bottom: 16px; 
  text-align: center; 
  font-weight: bold; 
  font-size: 24px; 
  color: #ffa52f; 
}
.popup-content .pop-up-title-container p { 
  text-align: center; 
  font-size: 16px; 
  line-height: 125%; 
  color: #fff; 
  max-width: 320px; 
  margin: 0 auto 24px; 
}

.ico-whatsapp-form { 
  display: inline; 
  width: 24px; 
  height: 24px; 
  margin-right: 8px; 
}

@media screen and (max-width: 768px) {
    .form-container {
        padding: 1.5rem;
    }
    .popup-content {
        width: 95%;
        padding: 1.5rem;
    }
}