document.addEventListener("DOMContentLoaded", function () {

    const MOBILE_MAX = 1024;

    function isMobile() {
        return window.innerWidth <= MOBILE_MAX;
    }

    // Aplica os toggles apenas no menu mobile
    function applyMobileMenuToggle() {
        if (!isMobile()) return;

        const container = document.querySelector('.gdlr-core-mobile-menu, .gdlr-side-menu');

        if (!container) return;

        const anchors = container.querySelectorAll('.menu-item-has-children > a');

        anchors.forEach(a => {

            if (a.dataset.toggleApplied) return;
            a.dataset.toggleApplied = "1";

            a.addEventListener("click", function (e) {

                if (!isMobile()) return;

                e.preventDefault();

                const li = this.parentElement;
                const submenu = li.querySelector(".sub-menu");

                li.classList.toggle("menu-open");

                if (submenu) {
                    if (li.classList.contains("menu-open")) {
                        submenu.style.display = "block";
                        submenu.style.maxHeight = submenu.scrollHeight + "px";
                    } else {
                        submenu.style.maxHeight = "0px";
                        setTimeout(() => {
                            if (!li.classList.contains("menu-open")) {
                                submenu.style.display = "none";
                            }
                        }, 250);
                    }
                }
            });
        });
    }

    // A chave: detectar quando o menu mobile ABRE
    function hookMenuOpening() {
        const mobileButton = document.querySelector('.gdlr-header-hamburger, .gdlr-mobile-menu-button');

        if (!mobileButton) return;

        mobileButton.addEventListener("click", function () {
            setTimeout(() => {
                applyMobileMenuToggle();
            }, 200); // o Kingster precisa de tempo para gerar o menu
        });
    }

    hookMenuOpening();

    // Reaplicar em mudanças de layout
    window.addEventListener("resize", function () {
        if (isMobile()) {
            setTimeout(applyMobileMenuToggle, 300);
        }
    });

});