/* ============================
 SESSÃO DE CONTATOS LUCITEC AJUSTADO
   ============================ */
/* ===== ÁREA DE CONTATO ===== */

/* ==============================
   Seção de Contatos - Estilo Premium
   ============================== */

/* ===== Container e Header ===== */
.contact-section {
  padding: 60px 20px;
  background: #f7f7f9; /* fundo suave e elegante */
  font-family: 'Inter', sans-serif;
}

.contact-header {
  text-align: center;
  margin-bottom: 50px;
}

.contact-header .contact-icon {
  color: #14b4c0;
  font-size: 80px;
  margin-bottom: 20px;
}

.contact-header h1 {
  font-size: 2.8rem;
  color: #14b4c0;
  margin-bottom: 10px;
}

.contact-header .subtitle {
  font-size: 1.15rem;
  color: #333;
}

/* ===== Formulário Premium ===== */
.contact-form-card {
  background: rgba(255, 255, 255, 0.95);
  padding: 30px;
  border-radius: 8px; /* cantos levemente arredondados */
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  transition: all 0.3s ease;
}

.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea {
  width: 100%;
  padding: 12px 15px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px; /* cantos leves, padrão quadrado */
  font-size: 1rem;
  transition: 0.3s;
  outline: none;
  height: 45px; 
}

.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus {
  border-color: #14b4c0;
  box-shadow: 0 0 8px rgba(20,180,192,0.3);
}

.contact-form-card textarea {
  min-height: 120px;
  resize: vertical;
}
/* Select específico do País */
.contact-form-card select[name="select_opt"] {
  height: 45px;            /* altura consistente com os outros campos */
  padding: 10px 12px;      /* espaço interno confortável */
  font-size: 1rem;          /* tamanho da fonte igual aos outros inputs */
  border-radius: 4px;       /* cantos leves, quadrado padrão */
  border: 1px solid #ccc;
  background-color: #fff;
  appearance: none;         /* remove a seta padrão do navegador */
  -webkit-appearance: none;
  -moz-appearance: none;
  text-align: left;         /* alinha o texto corretamente */
}


/* Alinhamento checkbox */
.contact-form-card .privacy-line {
  align-items: center;
  font-size: 0.9rem;
  margin-bottom: 20px;
}

.contact-form-card .privacy-line input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

.contact-form-card .privacy-line label a {
  color: #098b94;
  text-decoration: underline;
}

.contact-form-card .privacy-line label a:hover {
  color: #0f7a84;
}

/* Botão Enviar */
.contact-form-card .contact-btn {
  background: #0f7a84;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  padding: 12px 35px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
  float: right;
}

.contact-form-card .contact-btn:hover {
  background: #098b94; /* apenas escurece, texto continua branco */
  transform: translateY(-2px);
}

/* ===== Cards Laterais ===== */
/* Container dos cards */
.contact-cards {
  display: flex;
  gap: 20px;
  flex-wrap: wrap; /* Quebra em telas pequenas */
  justify-content: flex-start; /* Alinhamento ao formulário */
}

/* Cards individuais */
.contact-card {
  flex: 1 1 calc(33.333% - 20px); /* Três cards iguais */
  max-width: 300px;               /* Limite de largura */
  min-height: 180px;              /* Altura uniforme */
  background: #ffffff;
  border: 1px solid #098b94;
  border-radius: 6px; 
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 15px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  cursor: pointer; /* Dá efeito de botão */
}

/* Hover */
.contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.15);
  background-color: #098b94;
  color: #ffffff;
}

/* Ícones */
.contact-card i {
  font-size: 36px; /* Maior e proporcional */
  margin-bottom: 10px;
  color: #098b94;
}

.contact-card:hover i {
  color: #ffffff;
}

/* Títulos */
.contact-card h4 {
  font-size: 1.1rem; /* Menor para caber certinho */
  margin-bottom: 6px;
}

/* Texto interno */
.contact-card p {
  font-size: 0.9rem; 
  line-height: 1.3;
  margin: 0;
}

/* Links de email */
.contact-card p a {
  text-decoration: none;
  color: #0a0a0a;
  transition: all 0.3s;
}

.contact-card p a:hover {
  text-decoration: underline;
  color: #ffffff; /* muda para branco no hover */
}

/* Card de email ocupando toda a largura */
.full-width-card {
  flex: 1 1 100%; /* ocupa toda a linha */
  max-width: 100%;
  min-height: 50px;
}


/* Responsividade */
@media (max-width: 992px) {
  .contact-card {
    flex: 1 1 45%; /* Dois cards por linha */
    min-height: 160px;
  }
}

@media (max-width: 576px) {
  .contact-card {
    flex: 1 1 100%; /* Um card por linha */
    min-height: 140px;
  }
  .contact-card i {
    font-size: 30px;
  }
  .contact-card h4 {
    font-size: 1rem;
  }
  .contact-card p {
    font-size: 0.85rem;
  }
}


/* ===== Responsividade ===== */
@media (max-width: 992px) {
  .contact-form-card .contact-btn {
    float: none;
    width: 100%;
    text-align: center;
  }
  .contact-cards {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
  }
  .contact-card {
    flex: 1 1 calc(50% - 15px);
  }
}

@media (max-width: 576px) {
  .contact-cards {
    flex-direction: column;
  }
  .contact-card {
    flex: 1 1 100%;
  }
}

/* Modal */
.modal {
  display: none; /* escondido inicialmente */
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.6); /* fundo escuro semi-transparente */
}

.modal-content {
  background-color: #fff;
  margin: 15% auto;
  padding: 30px;
  border-radius: 8px;
  width: 90%;
  max-width: 400px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}

.modal-content h3 {
  color: #14b4c0;
  margin-bottom: 10px;
}

.modal-content p {
  color: #333;
  font-size: 1rem;
}

.close-btn {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 1.5rem;
  cursor: pointer;
  color: #333;
}


/* Modal de sucesso estilo Lucitec */
#modalSucesso .modal-content {
  background: rgba(20, 180, 192, 0.95); /* vidro colorido translúcido */
  border-radius: 10px;
  padding: 20px;
  color: #ffffff;
  text-align: center;
  animation: fadeInModal 0.4s ease-in-out;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

#modalSucesso .modal-header {
  border-bottom: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

#modalSucesso .modal-body p {
  font-size: 1.1rem;
  margin-top: 10px;
  line-height: 1.5;
}

#modalSucesso .modal-footer {
  border-top: none;
  justify-content: center;
}

#modalSucesso .btn-secondary {
  background-color: #ffffff;
  color: #14b4c0;
  font-weight: 600;
  border: none;
  padding: 8px 20px;
  border-radius: 5px;
  transition: 0.3s;
}

#modalSucesso .btn-secondary:hover {
  background-color: #14b4c0;
  color: #ffffff;
  cursor: pointer;
}

/* Animação do modal */
@keyframes fadeInModal {
  0% {opacity: 0; transform: translateY(-20px);}
  100% {opacity: 1; transform: translateY(0);}
}


/* Modal de sucesso estilo Lucitec */
#modalSucesso .modal-content {
  background: rgba(20, 180, 192, 0.95); /* vidro colorido translúcido */
  border-radius: 10px;
  padding: 20px;
  color: #ffffff;
  text-align: center;
  animation: fadeInModal 0.4s ease-in-out;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

#modalSucesso .modal-header {
  border-bottom: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

#modalSucesso .modal-body p {
  font-size: 1.1rem;
  margin-top: 10px;
  line-height: 1.5;
}

#modalSucesso .modal-footer {
  border-top: none;
  justify-content: center;
}

#modalSucesso .btn-secondary {
  background-color: #ffffff;
  color: #14b4c0;
  font-weight: 600;
  border: none;
  padding: 8px 20px;
  border-radius: 5px;
  transition: 0.3s;
}

#modalSucesso .btn-secondary:hover {
  background-color: #14b4c0;
  color: #ffffff;
  cursor: pointer;
}

/* Animação do modal */
@keyframes fadeInModal {
  0% {opacity: 0; transform: translateY(-20px);}
  100% {opacity: 1; transform: translateY(0);}
}
