/* ===========================================================
   Theme variables
   =========================================================== */
:root {
  /* === Cores (paleta) === */
  --color-primary: #0d6efd;
  --color-secondary: #6c757d;
  --color-accent: #20c997;
  --color-success: #198754;
  --color-info: #0dcaf0;
  --color-warning: #ffc107;
  --color-danger: #dc3545;
  --color-light: #f8f9fa;
  --color-dark: #212529;

  --font-size-base: 1rem;
  --btn-radius: .2rem;
  --input-radius: .2rem;

  --btn-shine-speed: 1.25s;
  --btn-shine-angle: 120deg;
  --btn-shine-opacity: .35;
}


/* ===========================================================
   Bootstrap no CF7
   =========================================================== */

.wpcf7 form .btn {
  padding: .6rem 1rem;
  border-radius: 500px;
  background-color: #1560BD;
  border-color: #1560BD;
  color: #ffffff;
  /* width: 100%; */
}

.wpcf7 form .btn:hover {
  background-color: #137DC5;
  border-color: #137DC5;
}

/* erro */
.wpcf7-not-valid-tip {
  font-size: 0.9rem;
  color: var(--color-danger);
  margin-top: .25rem;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1rem 0 0;
}

.form-control:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  outline: none;
  box-shadow: none;
}

.wpcf7 form .brz-theme-cf7-input:focus {
  border-color: var(--color-dark) !important;
}

/* Input Form */
.wpcf7 form .brz-theme-cf7-input {
  font-size: var(--font-size-base);
  border-radius: var(--btn-radius);
  padding: .8rem 1.25rem;
  border-color: #d7d7d7 !important;
}

/* Esconder spinner padrão */
.wpcf7-spinner,
.wpcf7 .ajax-loader {
  display: none !important;
}

/* Erros de validação (campos faltando/invalidos) */
.wpcf7 form.invalid .wpcf7-response-output {
  background-color: #f8d7da;
  border-color: #f8d7da;
}

/* Falha no envio (erro de servidor/e-mail) */
.wpcf7 form.failed .wpcf7-response-output {
  background-color: #f8d7da;
  border-color: #f8d7da;
}

/* Bloqueado por spam */
.wpcf7 form.spam .wpcf7-response-output {
  background-color: #fff3cd;
  border-color: #fff3cd;
}

/* (Opcional) Sucesso no envio */
.wpcf7 form.sent .wpcf7-response-output {
  background-color: #d1e7dd;
  border-color: #d1e7dd;
}

/* (Opcional) Formulário abortado/cancelado */
.wpcf7 form.aborted .wpcf7-response-output {
  background-color: #cff4fc;
  border-color: #cff4fc;
}

/* Efeito bem sutil no input enquanto consulta */
#cep.is-loading {
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.05) 25%, rgba(0, 0, 0, 0.08) 37%, rgba(0, 0, 0, 0.05) 63%);
  background-size: 400% 100%;
  animation: cepShimmer 1.2s ease-in-out infinite;
}

@keyframes cepShimmer {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: 0 0;
  }
}