document.addEventListener('DOMContentLoaded', function() {
    const form = document.querySelector('.form-cnpj'); // Seleciona o formulário do Elementor

    form.addEventListener('submit', function(event) {
        const cnpjField = form.querySelector('input[name="form-field-cnpj"]'); // Substitua pelo nome correto do campo CNPJ

        if (!validarCNPJ(cnpjField.value)) {
            event.preventDefault(); // Impede o envio do formulário
            alert('CNPJ inválido. Por favor, insira um CNPJ válido.');
        }
    });

    function validarCNPJ(cnpj) {
        cnpj = cnpj.replace(/[^\d]+/g, '');

        if (cnpj.length !== 14) return false;

        let tamanho = cnpj.length - 2;
        let numeros = cnpj.substring(0, tamanho);
        let digitos = cnpj.substring(tamanho);
        let soma = 0;
        let pos = tamanho - 7;

        for (let i = tamanho; i >= 1; i--) {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2) pos = 9;
        }

        let resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0)) return false;

        tamanho = tamanho + 1;
        numeros = cnpj.substring(0, tamanho);
        soma = 0;
        pos = tamanho - 7;

        for (let i = tamanho; i >= 1; i--) {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2) pos = 9;
        }

        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1)) return false;

        return true;
    }
});