const langButtons=()=>document.querySelectorAll('[data-lang-toggle]');
function mountSharedLayout(){
const current=document.body.dataset.page;
const header=document.querySelector('#shared-header');
if(header)header.outerHTML=``;
const footer=document.querySelector('#shared-footer');
if(footer)footer.outerHTML=``;
}
function setLanguage(lang){
document.documentElement.lang=lang;document.documentElement.dir=lang==='ar'?'rtl':'ltr';document.body.classList.toggle('is-ar',lang==='ar');document.title=lang==='ar'?document.body.dataset.titleAr:document.body.dataset.titleEn;
document.querySelectorAll('[data-en][data-ar]').forEach(el=>{el.innerHTML=lang==='ar'?el.dataset.ar:el.dataset.en});
document.querySelectorAll('.logo-mark').forEach(mark=>mark.textContent='ف');
document.querySelectorAll('[data-alt-en][data-alt-ar]').forEach(el=>el.alt=lang==='ar'?el.dataset.altAr:el.dataset.altEn);
langButtons().forEach(btn=>{
btn.textContent=lang==='ar'?'English':'Arabic';
btn.setAttribute('aria-label',lang==='ar'?'Switch to English':'Switch to Arabic');
});
localStorage.setItem('elfakhri-language',lang);
}
document.addEventListener('DOMContentLoaded',()=>{
mountSharedLayout();
setLanguage(localStorage.getItem('elfakhri-language')||'en');
langButtons().forEach(btn=>btn.addEventListener('click',()=>setLanguage(document.documentElement.lang==='ar'?'en':'ar')));
const header=document.querySelector('.header'),menu=document.querySelector('.menu');menu?.addEventListener('click',()=>header.classList.toggle('open'));document.querySelectorAll('.header nav a').forEach(a=>a.addEventListener('click',()=>header.classList.remove('open')));
const observer=new IntersectionObserver(es=>es.forEach(e=>{if(e.isIntersecting){e.target.classList.add('visible');observer.unobserve(e.target)}}),{threshold:.1});document.querySelectorAll('.reveal').forEach(el=>observer.observe(el));
});