/* ==========================================================================
   contato.css — página Contato (page ID 48)
   ========================================================================== */

.contato {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
  padding-block: var(--esp-16);
  background-color: var(--nexa-texto);
  isolation: isolate;
}

/* A imagem entra como sobreposição a 90%, como no Elementor */
.contato::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url('../../img/fundo-form-contato.webp');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.9;
}

.contato__titulo {
  font-size: var(--texto-secao);
  font-weight: var(--peso-medio);
  color: var(--nexa-branco);
  text-align: left;
  padding-top: var(--esp-12);
}

/* Largura total do contêiner: no Elementor o `_element_custom_width`
   deste bloco não se aplica (falta `_element_width: initial`). */
.contato__intro {
  width: 100%;
  color: var(--nexa-branco);
  padding-bottom: var(--esp-12);
}

/* Bloco de contato direto — alinhado à direita */
.contato__direto {
  width: 100%;
  align-self: flex-end;
  text-align: right;
  color: var(--nexa-branco);
  padding-bottom: var(--esp-12);
}

.contato__subtitulo {
  font-size: 24px;
  font-weight: var(--peso-semi);
  color: var(--nexa-branco);
  margin-bottom: var(--esp-2);
}

.contato__direto .texto a {
  color: var(--nexa-azul-claro);
}

.contato__direto .texto a:hover {
  color: var(--nexa-branco);
}

/* Formulário sobre a foto ------------------------------------------------- */

.contato__form {
  width: 100%;
  gap: var(--esp-6);
}

.contato__form .campo__label {
  font-size: 18px;
  font-weight: var(--peso-semi);
  color: var(--nexa-branco);
  padding-bottom: 8px;
  padding-left: 20px;
}

.contato__form .campo__controle {
  background-color: rgba(255, 255, 255, 0.8);
  border-color: var(--nexa-azul-claro);
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-radius: var(--raio-campo);
  color: var(--nexa-texto);
  font-style: italic;
  box-shadow: none;
}

.contato__form .campo__controle::placeholder {
  color: rgba(29, 29, 27, 0.55);
}

.contato__form .campo__controle:focus {
  background-color: var(--nexa-branco);
  border-color: var(--nexa-primario);
  box-shadow: 0 0 0 3px rgba(0, 242, 255, 0.45);
}

.contato__form .campo--grupo {
  border: 0;
  margin: 0;
  padding: 0;
}

.contato__form .opcao {
  color: var(--nexa-branco);
  font-size: 1rem;
}

.contato__form .botao {
  justify-self: center;
  width: fit-content;
  background-color: #94CC2F;
  color: var(--nexa-branco);
}

.contato__sigilo {
  text-align: center;
  font-size: 16px;
  font-weight: var(--peso-normal);
  color: var(--nexa-branco);
  padding: 0 10px;
  margin-top: var(--esp-12);
  /* filete verde à esquerda, como no original */
  border-left: 3px solid #487C1B;
}

.contato__sigilo a {
  color: var(--nexa-branco);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 1366px) {
  .contato__titulo {
    text-align: center;
    padding-top: var(--esp-8);
  }
}

@media (max-width: 767px) {
  .contato__intro {
    text-align: justify;
    font-size: 1rem;
  }

  .contato__direto {
    margin-top: var(--esp-10);
    font-size: 1rem;
  }

  .contato__form .botao {
    width: 100%;
  }

  .contato__sigilo {
    font-size: 12px;
    padding-top: var(--esp-6);
  }
}
