// assets/js/pages/legal.js - minimal fallback for legal pages document.addEventListener('DOMContentLoaded', () => { // replace feather icons if available (use centralized loader if present) if (typeof window.ensureFeather === 'function') { window.ensureFeather().then(() => { try { if (window.feather && feather.replace) feather.replace(); } catch (e) {} }).catch(()=>{}); } else if (window.feather && feather.replace) { try { feather.replace(); } catch (e) { /* ignore */ } } // theme fallback (will be overwritten by assets/js/main.js if present) const html = document.documentElement; if (!html.getAttribute('data-theme')) { const saved = localStorage.getItem('theme'); const validTheme = ['dark', 'light'].includes(saved) ? saved : 'dark'; html.setAttribute('data-theme', validTheme); } const themeToggle = document.getElementById('theme-toggle'); if (themeToggle) themeToggle.addEventListener('click', () => { const newTheme = html.getAttribute('data-theme') === 'dark' ? 'light' : 'dark'; html.setAttribute('data-theme', newTheme); localStorage.setItem('theme', newTheme); }); // navbar scrolled const navbar = document.getElementById('navbar'); if (navbar) window.addEventListener('scroll', () => navbar.classList.toggle('scrolled', window.scrollY > 50)); // mobile toggle (minimal) const mobileToggle = document.getElementById('mobile-toggle'); const navLinks = document.getElementById('nav-links'); if (mobileToggle && navLinks) mobileToggle.addEventListener('click', () => { mobileToggle.classList.toggle('active'); navLinks.classList.toggle('active'); }); });