document.addEventListener('DOMContentLoaded', function () { const toggle = document.querySelector('.elementor-menu-toggle'); const dropdown = document.querySelector('.elementor-nav-menu--dropdown'); if (!toggle || !dropdown) return; const CLOSE_DURATION = 600; // match your closing transition time in ms const observer = new MutationObserver(function () { const isOpen = toggle.getAttribute('aria-expanded') === 'true'; if (isOpen) { dropdown.style.display = 'flex'; // force reflow so the transition actually triggers void dropdown.offsetWidth; dropdown.classList.add('menu-open'); } else { dropdown.classList.remove('menu-open'); setTimeout(function () { dropdown.style.display = 'none'; }, CLOSE_DURATION); } }); observer.observe(toggle, { attributes: true, attributeFilter: ['aria-expanded'] }); });