--> // ── Image Gallery ────────────────────────────────────────── // const mainImg = document.getElementById('dp-main-img'); // const thumbBtns = document.querySelectorAll('.dp-thumb'); // const imgSrcs = Array.from(thumbBtns).map(t => t.dataset.src); // let currentIdx = 0; // function setActiveThumb(idx) { // thumbBtns.forEach(t => t.classList.remove('dp-thumb-active')); // if (thumbBtns[idx]) thumbBtns[idx].classList.add('dp-thumb-active'); // } // function switchImage(idx) { // currentIdx = ((idx % imgSrcs.length) + imgSrcs.length) % imgSrcs.length; // mainImg.style.opacity = 0; // setTimeout(() => { // mainImg.src = imgSrcs[currentIdx]; // mainImg.style.opacity = 1; // setActiveThumb(currentIdx); // }, 180); // } // thumbBtns.forEach((thumb, i) => thumb.addEventListener('click', () => switchImage(i))); // document.getElementById('dp-img-prev').addEventListener('click', () => switchImage(currentIdx - 1)); // document.getElementById('dp-img-next').addEventListener('click', () => switchImage(currentIdx + 1)); // document.getElementById('dp-thumb-prev').addEventListener('click', () => switchImage(currentIdx - 1)); // document.getElementById('dp-thumb-next').addEventListener('click', () => switchImage(currentIdx + 1)); // ── Quantity ─────────────────────────────────────────────── // const qtyVal = document.getElementById('dp-qty-val'); // document.getElementById('dp-qty-minus').addEventListener('click', () => { // let v = parseInt(qtyVal.textContent); // if (v > 1) qtyVal.textContent = v - 1; // }); // document.getElementById('dp-qty-plus').addEventListener('click', () => { // qtyVal.textContent = parseInt(qtyVal.textContent) + 1; // }); // ── Size Selection ───────────────────────────────────────── // document.querySelectorAll('.dp-size-btn').forEach(btn => { // btn.addEventListener('click', function () { // // Only toggle within the same row // const row = this.closest('.dp-size-row'); // row.querySelectorAll('.dp-size-btn').forEach(b => b.classList.remove('dp-size-active')); // this.classList.add('dp-size-active'); // }); // }); // ── Tabs ─────────────────────────────────────────────────── // document.querySelectorAll('.dp-tab').forEach(tab => { // tab.addEventListener('click', function () { // document.querySelectorAll('.dp-tab').forEach(t => t.classList.remove('dp-tab-active')); // document.querySelectorAll('.dp-tab-panel').forEach(p => p.classList.remove('dp-tab-panel-active')); // this.classList.add('dp-tab-active'); // document.getElementById('panel-' + this.dataset.tab).classList.add('dp-tab-panel-active'); // }); // }); // // ── Wishlist Toggle ──────────────────────────────────────── // function toggleWish(btn) { // const icon = btn.querySelector('i'); // icon.classList.toggle('fa-regular'); // icon.classList.toggle('fa-solid'); // icon.style.color = icon.classList.contains('fa-solid') ? '#e53e3e' : ''; // } // const wishBtn = document.getElementById('dp-wishlist-btn'); // if (wishBtn) wishBtn.addEventListener('click', () => toggleWish(wishBtn)); // document.querySelectorAll('.dp-card-wish').forEach(btn => btn.addEventListener('click', (e) => { // e.stopPropagation(); // toggleWish(btn); // })); // ── Add to Cart ──────────────────────────────────────────── // const cartBtn = document.getElementById('dp-add-cart-btn'); // cartBtn.addEventListener('click', function () { // const orig = this.innerHTML; // this.innerHTML = ' Added to Cart!'; // this.style.background = '#2a7d4f'; // setTimeout(() => { // this.innerHTML = orig; // this.style.background = ''; // }, 1800); // }); // // -->