Fale com
a gente

Possui alguma dúvida sobre serviços, preços, contrato ou até o que podemos fazer para o seu negócio especificamente? Preencha o formulário e entraremos em contato para te ajudar.

    Preencha os campos abaixo e aguarde que entraremos em contato:

    Passo 1 de 2 Leva menos de 1 minuto
    document.addEventListener('DOMContentLoaded', function () { var step1 = document.getElementById('fi-step-1'); var step2 = document.getElementById('fi-step-2'); var btnNext = document.getElementById('fi-next'); var btnBack = document.getElementById('fi-back'); var fill = document.querySelector('.fi-progress-fill'); var stepNum = document.querySelector('.fi-step-num'); /* ── Avança para o passo 2 ── */ if (btnNext) { btnNext.addEventListener('click', function () { var nameEl = step1.querySelector('input[name="nome"]'); var emailEl = step1.querySelector('input[name="email-comercial"]'); var ok = true; [nameEl, emailEl].forEach(function (el) { if (!el) return; if (!el.value.trim()) { setError(el); ok = false; } else clearError(el); }); if (emailEl && emailEl.value.trim() && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(emailEl.value.trim())) { setError(emailEl); ok = false; } if (!ok) return; step1.classList.add('fi-out'); setTimeout(function () { step1.style.display = 'none'; step1.classList.remove('fi-out'); step2.style.display = 'block'; fill.style.width = '100%'; stepNum.textContent = '2'; }, 180); }); } /* ── Volta para o passo 1 ── */ if (btnBack) { btnBack.addEventListener('click', function () { step2.classList.add('fi-out'); setTimeout(function () { step2.style.display = 'none'; step2.classList.remove('fi-out'); step1.style.display = 'block'; fill.style.width = '50%'; stepNum.textContent = '1'; }, 180); }); } /* ── Helpers de validação visual ── */ function setError(el) { el.classList.add('wpcf7-not-valid'); } function clearError(el) { el.classList.remove('wpcf7-not-valid'); } document.querySelectorAll('.fi-form input, .fi-form select').forEach(function (el) { el.addEventListener('input', function () { clearError(el); }); el.addEventListener('change', function () { clearError(el); }); }); /* ── Oculta banners genéricos do CF7 ── */ function hideBanners() { document.querySelectorAll( '.wpcf7-validation-errors, .wpcf7-response-output, [role="alert"]' ).forEach(function (el) { el.style.display = 'none'; }); } hideBanners(); new MutationObserver(hideBanners).observe(document.body, { childList: true, subtree: true }); document.addEventListener('wpcf7invalid', function () { hideBanners(); /* Se o erro vier de campo no passo 2, exibe o passo 2 */ if (step2.style.display === 'none') { step2.style.display = 'block'; step1.style.display = 'none'; fill.style.width = '100%'; stepNum.textContent = '2'; } }); document.addEventListener('wpcf7spam', hideBanners); document.addEventListener('wpcf7mailfailed', hideBanners); /* ── Máscara de telefone ── */ var telInput = document.querySelector('.fi-form input[type="tel"]'); if (telInput) { telInput.addEventListener('input', function () { var v = this.value.replace(/\D/g, '').slice(0, 11); this.value = v.length <= 10 ? v.replace(/^(\d{2})(\d{4})(\d{0,4})/, '($1) $2-$3') : v.replace(/^(\d{2})(\d{5})(\d{0,4})/, '($1) $2-$3'); }); } /* ── Placeholder visual nos selects ── */ document.querySelectorAll('.fi-form select').forEach(function (sel) { function upd() { sel.style.color = sel.selectedIndex === 0 ? '#adb5b2' : '#5a5f68'; } upd(); sel.addEventListener('change', upd); }); });

    Learn how we helped 100 top brands gain success