/* ===== Global JS (lightweight slider) ===== */ (function(){ const slider = document.getElementById('treatmentsSlider'); if(!slider) return; const viewport = slider.querySelector('.treat-viewport'); const track = slider.querySelector('.treat-track'); const prevBtn = slider.querySelector('.treat-nav.prev'); const nextBtn = slider.querySelector('.treat-nav.next'); function stepSize(){ const first = track.children[0]; const gap = parseFloat(getComputedStyle(track).gap) || 0; return first.getBoundingClientRect().width + gap; } function updateButtons(){ // small tolerance for floating point const maxScroll = track.scrollWidth - viewport.clientWidth - 2; prevBtn.disabled = viewport.scrollLeft <= 2; nextBtn.disabled = viewport.scrollLeft >= maxScroll; } function move(dir){ viewport.scrollBy({ left: dir * stepSize(), behavior: 'smooth' }); } prevBtn.addEventListener('click', ()=>move(-1)); nextBtn.addEventListener('click', ()=>move(1)); viewport.addEventListener('scroll', updateButtons, { passive:true }); window.addEventListener('resize', updateButtons); // init updateButtons(); })();