let setCookieMessage = 0;
    function setCookie(name, value, days) {
        let shopDomain = window.location.hostname.split('.').slice(-2).join('.'); // Obtém o domínio raiz (meudominio.com)
        let date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        let expires = "; expires=" + date.toUTCString();
        document.cookie = 'chatfy' + "=" + true + expires + "; path=/; domain=." + shopDomain + "; Secure;";
    }
    const FormExtension = {
        name: 'Forms',
        type: 'response',
        match: ({trace}) =>
            trace.type === 'Custom_Form' || trace.payload.name === 'Custom_Form',
        render: ({trace, element}) => {
            const formContainer = document.createElement('form');

            formContainer.innerHTML = `
<style>
label {
  font-size: 0.8em;
  color: #888;
}
input[type="text"] {
  width: 100%;
  border: none;
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.1);
  background: transparent;
  margin: 5px 0;
  outline: none;
  padding: 8px 0; /* Added some padding for better UX */
}
.number, .cep {
  width: 150px;
}
.invalid {
  border-color: red;
}
.submit {
  background: linear-gradient(to right, #2e6ee1, #2e7ff1);
  border: none;
  color: white;
  padding: 10px;
  border-radius: 5px;
  width: 100%;
  cursor: pointer;
}
</style>

<label for="street">Rua</label>
<input type="text" class="street" name="street" required><br><br>

<label for="number">Número</label>
<input type="text" class="number" name="number" required pattern="\\d+" title="Número Inválido"><br><br>

<label for="neighborhood">Bairro</label>
<input type="text" class="neighborhood" name="neighborhood" required><br><br>

<label for="city">Cidade</label>
<input type="text" class="city" name="city" required><br><br>

<label for="state">Estado</label>
<input type="text" class="state" name="state" required><br><br>

<label for="cep">CEP</label>
<input type="text" class="cep" name="cep" required pattern="\\d{5}-?\\d{3}" title="Formato inválido do CEP, formato esperado XXXXX-XXX"><br><br>

<input type="submit" class="submit" value="Enviar">`;

            formContainer.addEventListener('input', function () {
                const fields = ['street', 'number', 'neighborhood', 'city', 'state', 'cep'];
                fields.forEach(field => {
                    const input = formContainer.querySelector(`.${field}`);
                    if (input.checkValidity()) input.classList.remove('invalid');
                });
            });

            formContainer.addEventListener('submit', function (event) {
                event.preventDefault();

                const fields = ['street', 'number', 'neighborhood', 'city', 'state', 'cep'];
                let isValid = true;

                fields.forEach(field => {
                    const input = formContainer.querySelector(`.${field}`);
                    if (!input.checkValidity()) {
                        input.classList.add('invalid');
                        isValid = false;
                    }
                });

                if (!isValid) return;

                formContainer.querySelector('.submit').remove();

                const payload = fields.reduce((acc, field) => {
                    acc[field] = formContainer.querySelector(`.${field}`).value;
                    return acc;
                }, {});

                window.voiceflow.chat.interact({
                    type: 'complete',
                    payload: payload,
                });
            });

            element.appendChild(formContainer);
        },
    };

    staticwidget = false;

    if (staticwidget === true)   {
        var run = 0;
        function excludeDots(){

            const shadowHost = document.querySelector('#voiceflow-chat');
            const shadowRoot = shadowHost.shadowRoot;

            const launcher = shadowRoot.querySelector('.vfrc-widget--launcher.c-PJLV');

            if (launcher && run === 0) {
                launcher.addEventListener('click', () => {
                    setTimeout(() => {
                        const dots = shadowRoot.querySelectorAll('.dot');
                        dots[0].classList.add('highlight');
                        run = run + 1;
                    }, 100); // 1 segundo de atraso antes de esconder as bolinhas
                });
            }
        }
        setTimeout(excludeDots, 1000);


        (function (d, t) {
            var v = d.createElement(t), s = d.getElementsByTagName(t)[0];
            v.onload = function () {
                window.voiceflow.chat.load({"verify":{"projectID":"67aa40fea15c06a2395ca6f0"},"url":"https://general-runtime.voiceflow.com","versionID":"production","assistant":{"title":"Camila ","description":"Digite sua dúvida para ser atendido","image":"https://d2h6cfhq6tgb2e.cloudfront.net/store/2fc739b6-f7d1-4651-bfd5-a538581edb32/logo.png","avatar":"https://d2h6cfhq6tgb2e.cloudfront.net/store/2fc739b6-f7d1-4651-bfd5-a538581edb32/avatar.jpg","color":"#66c0f2","extensions":[FormExtension]},"launch":{"event":{"type":"launch","payload":{"bot_name":"Camila ","nome_ecommerce":"Trendix Promoções","email_ecommerce":"suporte.trendix@gmail.com","telefone_ecommerce":"81994846108","rastreio_link":"https://trendixpromocoes.com/pages/rastrear-pedido","nicho_ecommerce":"Genérica","url_site":"z1vzga-0i.myshopify.com","url_atual":window.location.href,"prazo_rastreio":"3","minDias":7,"maxDias":16,"tituloBotao1":"ajuda_para_comprar","tituloBotao2":"minha_compra","tituloBotao3":"rastrear_pedido"}}}})
            };
            v.src = "https://d2h6cfhq6tgb2e.cloudfront.net/bundle.mjs";
            v.type = "text/javascript";
            window.addEventListener('message', (event) => {
                var data = JSON.parse(event.data);
                if (setCookieMessage < 1 && data['type'] === 'voiceflow:interact') {
                    setCookie("chatfy", true, 1);
                    setCookieMessage++;
                }
            }, false);
            s.parentNode.insertBefore(v, s);
        })(document, 'script');
    } else {

        var run = 0;
        function excludeDots(){

            const shadowHost = document.querySelector('#voiceflow-chat');
            const shadowRoot = shadowHost.shadowRoot;

            const launcher = shadowRoot.querySelector('.vfrc-widget--launcher.c-PJLV');

            if (launcher && run === 0) {
                launcher.addEventListener('click', () => {
                    setTimeout(() => {
                        const dots = shadowRoot.querySelectorAll('.dot');
                        dots[0].classList.add('highlight');
                        run = run + 1;
                    }, 100); // 1 segundo de atraso antes de esconder as bolinhas
                });
            }
        }
        setTimeout(excludeDots, 1000);


        function waitForElement(selector, callback) {
            const interval = setInterval(() => {
                const element = document.querySelector(selector);
                if (element) {
                    clearInterval(interval);
                    callback(element);
                }
            }, 100); // Verifica a cada 100ms
        }

        waitForElement('#voiceflow-chat', (shadowHost) => {
            const shadowRoot = shadowHost.shadowRoot;
            document.getElementById('loading').remove();
            const interval = setInterval(() => {
                const targetElement = shadowRoot.querySelector('.vfrc-launcher.c-bQoszf');
                const dot_element = shadowRoot.querySelector('.green-dot');
                const img = shadowRoot.querySelector('.chatfy-img');


                if (targetElement) {
                    targetElement.classList.add('animated');
                }

                if (dot_element) {
                    setTimeout(() => {
                        clearInterval(interval);
                        dot_element.classList.add('animated');
                    }, 1200);
                }

                if (img) {
                    setTimeout(() => {
                        clearInterval(interval);
                        img.classList.add('animated');
                    }, 1200);
                }
            }, 100);
        });

//endregion



        (function (d, t) {
            var v = d.createElement(t), s = d.getElementsByTagName(t)[0];
            v.onload = function () {
                window.voiceflow.chat.load({"verify":{"projectID":"67aa40fea15c06a2395ca6f0"},"url":"https://general-runtime.voiceflow.com","versionID":"production","assistant":{"title":"Camila ","description":"Digite sua dúvida para ser atendido","image":"https://d2h6cfhq6tgb2e.cloudfront.net/store/2fc739b6-f7d1-4651-bfd5-a538581edb32/logo.png","avatar":"https://d2h6cfhq6tgb2e.cloudfront.net/store/2fc739b6-f7d1-4651-bfd5-a538581edb32/avatar.jpg","color":"#66c0f2","extensions":[FormExtension]},"launch":{"event":{"type":"launch","payload":{"bot_name":"Camila ","nome_ecommerce":"Trendix Promoções","email_ecommerce":"suporte.trendix@gmail.com","telefone_ecommerce":"81994846108","rastreio_link":"https://trendixpromocoes.com/pages/rastrear-pedido","nicho_ecommerce":"Genérica","url_site":"z1vzga-0i.myshopify.com","url_atual":window.location.href,"prazo_rastreio":"3","minDias":7,"maxDias":16,"tituloBotao1":"ajuda_para_comprar","tituloBotao2":"minha_compra","tituloBotao3":"rastrear_pedido"}}}})
            };
            v.src = "https://d2h6cfhq6tgb2e.cloudfront.net/bundle.mjs";
            v.type = "text/javascript";
            window.addEventListener('message', (event) => {
                var data = JSON.parse(event.data)
                if (setCookieMessage < 1 && data['type'] === 'voiceflow:interact') {
                    setCookie("chatfy", true, 1);
                    setCookieMessage++
                }
            }, false);
            s.parentNode.insertBefore(v, s);
        })(document, 'script');
    }