56
function toggleServices() {
var list = document.getElementById('mobileServices');
var arrow = document.querySelector('.mm-arrow');
list.classList.toggle('open');
if (arrow) arrow.textContent = list.classList.contains('open') ? '▴' : '▾';
}
function toggleMenu() {
var menu = document.getElementById('mobileMenu');
var btn = document.getElementById('hamburger');
var isOpen = menu.classList.contains('open');
if (isOpen) {
menu.classList.remove('open');
btn.classList.remove('active');
document.body.style.overflow = '';
setTimeout(function() { menu.style.display = 'none'; }, 300);
} else {
menu.style.display = 'flex';
void menu.offsetHeight;
menu.classList.add('open');
btn.classList.add('active');
document.body.style.overflow = 'hidden';
}
}
document.getElementById('hamburger').addEventListener('click', toggleMenu);
document.addEventListener('click', function(e) {
var menu = document.getElementById('mobileMenu');
var btn = document.getElementById('hamburger');
if (!menu.contains(e.target) && !btn.contains(e.target) && menu.classList.contains('open')) {
menu.classList.remove('open');
btn.classList.remove('active');
setTimeout(function() { menu.style.display = 'none'; }, 300);
document.body.style.overflow = '';
}
});