.elementor-3979 .elementor-element.elementor-element-7128606{--display:flex;}/* Start custom CSS for html, class: .elementor-element-b4a31f3 *//* === PATCH PARA MOBILE: empilha formulário e bloco lateral === */

/* Container principal */
#contato .row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
  box-sizing: border-box;
  overflow-x: clip; /* evita puxar para os lados */
}

/* Blocos filhos (formulário e lateral) */
#contato .row > div {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/* Mobile: empilha */
@media (max-width: 768px) {
  #contato .row {
    flex-direction: column;
  }

  #contato .row > div {
    width: 100%;
  }

  /* Remove flex fixo no mobile */
  #contato .row > div[style*="flex:1.2"],
  #contato .row > div[style*="flex:1"] {
    flex: 1 1 100%;
  }

  /* Padding seguro no container */
  #contato .container {
    padding-inline: 16px;
  }

  /* Altura automática no mobile */
  #contato .glass {
    height: auto !important;
  }
}

/* Inputs e botão 100% responsivos */
#contato .input,
#contato .btn {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Botão centralizado e sem estouro */
#contato .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  white-space: normal;
  text-align: center;
}

/* Evitar larguras fixas que estouram */
#contato [style*="width"],
#contato [class*="w-"] {
  max-width: 100% !important;
}

/* KPIs ajustados */
#contato .kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
}
#contato .kpi { text-align: center; }

/* Estilo do botão glass — aplicado a todos os .btn exceto os do WhatsApp */
.btn:not(.whatsapp):not([href*="wa.me"]):not([href*="whatsapp.com"]):not([href*="api.whatsapp.com"]),
button:not(.whatsapp):not([href*="wa.me"]):not([href*="whatsapp.com"]):not([href*="api.whatsapp.com"]) {
  --radius: 12px;
  --ring: 2px;
  --blur: 8px;
  --border-opacity: 0.22;
  --border-opacity-hover: 0.95;
  --transition: 220ms;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.5rem;
  border: none;
  background: transparent !important;
  color: #fff;
  font-weight: 500;
  border-radius: var(--radius);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  appearance: none;
  user-select: none;
  touch-action: manipulation;
  isolation: isolate;
  overflow: visible;
  transition: box-shadow var(--transition) ease;
  box-shadow: 0 5px 15px rgba(0,0,0,0.45);
  text-decoration: none;
  font-family: inherit;
  font-size: inherit;
}

/* Aro glass (anel) */
.btn:not(.whatsapp)::before,
button:not(.whatsapp)::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,var(--border-opacity)) 0%,
    rgba(0,0,0,var(--border-opacity)) 50%,
    rgba(255,255,255,calc(var(--border-opacity) * 0.6)) 100%
  );
  padding: var(--ring);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  pointer-events: none;
  z-index: -1;
  opacity: 1;
  transition: background var(--transition) ease, opacity var(--transition) ease;
}

/* Hover: aumenta opacidade da borda */
.btn:not(.whatsapp):hover::before,
button:not(.whatsapp):hover::before {
  background: linear-gradient(
    135deg,
    rgba(255,255,255,var(--border-opacity-hover)) 0%,
    rgba(0,0,0,var(--border-opacity-hover)) 50%,
    rgba(255,255,255,calc(var(--border-opacity-hover) * 0.6)) 100%
  );
  filter: saturate(1.05);
}

/* Hover: sombra externa mais forte */
.btn:not(.whatsapp):hover,
button:not(.whatsapp):hover {
  box-shadow: 0 12px 30px rgba(0,0,0,0.48);
}

/* Active: efeito de "afundar" sem mover o botão */
.btn:not(.whatsapp):active,
button:not(.whatsapp):active {
  box-shadow: 0 8px 18px rgba(0,0,0,0.5);
  transition-duration: 120ms;
}

/* Foco acessível */
.btn:not(.whatsapp):focus-visible,
button:not(.whatsapp):focus-visible {
  outline: 2px solid rgba(255,255,255,0.10);
  outline-offset: 4px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.45), 0 0 0 6px rgba(255,255,255,0.02);
}

/* Remove bordas internas do Firefox */
.btn:not(.whatsapp)::-moz-focus-inner,
button:not(.whatsapp)::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Reduz animações se preferido */
@media (prefers-reduced-motion: reduce) {
  .btn:not(.whatsapp), .btn:not(.whatsapp)::before,
  button:not(.whatsapp), button:not(.whatsapp)::before {
    transition: none !important;
    animation: none !important;
  }
}

/* === PATCH PARA MOBILE: empilha formulário e bloco lateral === */

/* Container principal */
#contato .row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
  box-sizing: border-box;
  overflow-x: clip; /* evita puxar para os lados */
}

/* Blocos filhos (formulário e lateral) */
#contato .row > div {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/* Mobile: empilha */
@media (max-width: 768px) {
  #contato .row {
    flex-direction: column;
  }

  #contato .row > div {
    width: 100%;
  }

  /* Remove flex fixo no mobile */
  #contato .row > div[style*="flex:1.2"],
  #contato .row > div[style*="flex:1"] {
    flex: 1 1 100%;
  }

  /* Padding seguro no container */
  #contato .container {
    padding-inline: 16px;
  }

  /* Altura automática no mobile */
  #contato .glass {
    height: auto !important;
  }
}

/* Inputs e botão 100% responsivos */
#contato .input,
#contato .btn {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Botão centralizado e sem estouro */
#contato .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  white-space: normal;
  text-align: center;
}

/* Evitar larguras fixas que estouram */
#contato [style*="width"],
#contato [class*="w-"] {
  max-width: 100% !important;
}

/* KPIs ajustados */
#contato .kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
}
#contato .kpi { text-align: center; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7128606 */.brand .logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  line-height: 0; /* remove espaço em linha que pode empurrar o SVG para cima */
  background: radial-gradient(60% 60% at 30% 30%, var(--primary) 0%, transparent 60%),
              radial-gradient(60% 60% at 70% 70%, var(--primary-2) 0%, transparent 60%),
              #12121a;
  box-shadow: inset 0 0 20px rgba(255,255,255,0.08), 0 6px 18px rgba(0,0,0,0.45);
}

/* Centraliza e restringe o tamanho do SVG/IMG para caber no box */
.brand .logo svg,
.brand .logo img {
  display: block;
  width: 70%;        /* ajuste percentual para aumentar/diminuir o logo */
  height: 70%;
  max-width: none;
  max-height: none;
  margin: auto;
  pointer-events: none;
  object-fit: contain; /* para <img>, mantém proporção */
}/* End custom CSS */