1document.addEventListener('DOMContentLoaded', async () => {
2 // Load components first so they are in the DOM before we attach events
3 await loadComponents();
4
5 // Mobile Menu Logic
6 const menuToggle = document.querySelector('.menu-toggle');
7 const navLinks = document.querySelector('.nav-links');
8
9 if (menuToggle && navLinks) {
10 menuToggle.addEventListener('click', () => {
11 menuToggle.classList.toggle('active');
12 navLinks.classList.toggle('active');
13 });
14
15 // Close menu when a link is clicked
16 const navItems = navLinks.querySelectorAll('a');
17 navItems.forEach(item => {
18 item.addEventListener('click', () => {
19 menuToggle.classList.remove('active');
20 navLinks.classList.remove('active');
21 });
22 });
23 }
24
25 // FAQ Accordion Logic
26 const faqQuestions = document.querySelectorAll('.faq-question');
27
28 faqQuestions.forEach(question => {
29 question.addEventListener('click', () => {
30 const answer = question.nextElementSibling;
31
32 // Toggle active state
33 question.classList.toggle('active');
34
35 if (question.classList.contains('active')) {
36 // Expand
37 answer.style.maxHeight = answer.scrollHeight + 'px';
38 } else {
39 // Collapse
40 answer.style.maxHeight = 0;
...
</html>