Καλώς ήρθατε στο canna24.gr

CANNA24

Καλώς ήρθατε στο canna24.gr

Εδώ θα βρείτε μια μεγάλη ποικιλία από προϊόντα Κάνναβης.

Οι κατηγορίες και τα προϊόντα μας εμπλουτίζονται καθημερινά. Σας συμβουλεύουμε να γραφτείτε στο newsletter για να λαμβάνετε ειδοποιήσεις  για νέα προϊόντα ή τις προσφορές μας.

Σε περίπτωση που δεν βρείτε αυτό που ψάχνετε   μπορείτε να μας στείλετε ένα μήνυμα ώστε να το προσθέσουμε στα προϊόντα μας.

Εξερευνήστε το eshop μας

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

(function(){ // ύψος sticky header function headerOffset(){ const hw = document.querySelector('.header-wrapper'); return hw ? hw.offsetHeight : 80; } // Smooth scroll με offset function smoothTo(el){ const top = el.getBoundingClientRect().top + window.pageYOffset - headerOffset() - 8; window.scrollTo({ top, behavior: 'smooth' }); } // Κλικ σε link TOC document.addEventListener('click', function(e){ const a = e.target.closest('a.toc-link[href^="#"]'); if(!a) return; e.preventDefault(); const id = a.getAttribute('href').slice(1); let target = document.getElementById(id); // Αν δεν βρεθεί, ψάχνει accordion-item if(!target){ target = document.querySelector('.accordion-item#'+CSS.escape(id)); } if(!target) return; // Αν είναι κλειστό accordion item το ανοίγει const accItem = target.classList.contains('accordion-item') ? target : target.closest('.accordion-item'); if (accItem && !accItem.classList.contains('active')){ const title = accItem.querySelector('.accordion-title, .toggle, [data-toggle]'); if(title) title.click(); setTimeout(function(){ smoothTo(accItem); }, 250); } else { smoothTo(target); } }); // ScrollSpy: ενεργό link const sections = Array.from(document.querySelectorAll('.accordion-item[id], #cookie-settings')); const links = Array.from(document.querySelectorAll('.toc a.toc-link')); function setActive(id){ links.forEach(l => l.classList.toggle('active', l.getAttribute('href')==='#'+id)); } if('IntersectionObserver' in window && sections.length){ const io = new IntersectionObserver((entries)=>{ let best=null, max=0; entries.forEach(en=>{ if(en.isIntersecting && en.intersectionRatio>max){ max=en.intersectionRatio; best=en.target; } }); if(best && best.id) setActive(best.id); }, { rootMargin:`-${headerOffset()+10}px 0px -60% 0px`, threshold:[0.1,0.25,0.5,0.75,1] }); sections.forEach(s=>io.observe(s)); } else { window.addEventListener('scroll', function(){ let cur = sections[0]?.id, off = headerOffset()+20; sections.forEach(s=>{ if(pageYOffset >= s.offsetTop - off) cur = s.id; }); if(cur) setActive(cur); }); } })();