/* ================================================================
   LYKOS WINERY — shared scripts · Built by GX Studio
   ================================================================ */
(function(){
  var header = document.getElementById('header');
  var onScroll = function(){ header.classList.toggle('is-scrolled', window.scrollY > 34); };
  window.addEventListener('scroll', onScroll, { passive:true });
  onScroll();

  var toggle = document.getElementById('navToggle');
  var nav = document.getElementById('nav');
  if(toggle && nav){
    toggle.addEventListener('click', function(){
      var open = nav.classList.toggle('is-open');
      toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
    });
    nav.addEventListener('click', function(e){
      if(e.target.tagName === 'A'){ nav.classList.remove('is-open'); toggle.setAttribute('aria-expanded','false'); }
    });
  }

  if('IntersectionObserver' in window){
    var io = new IntersectionObserver(function(entries){
      entries.forEach(function(entry){
        if(entry.isIntersecting){ entry.target.classList.add('is-visible'); io.unobserve(entry.target); }
      });
    }, { threshold:.1 });
    document.querySelectorAll('.reveal').forEach(function(el){ io.observe(el); });
  } else {
    document.querySelectorAll('.reveal').forEach(function(el){ el.classList.add('is-visible'); });
  }

  /* Εικόνες: πρώτα το τοπικό αρχείο, μετά η φωτογραφία από το
     υπάρχον site τους (data-remote). */
  document.querySelectorAll('img[data-remote]').forEach(function(img){
    img.addEventListener('error', function handler(){
      img.removeEventListener('error', handler);
      img.src = img.getAttribute('data-remote');
    });
    if(img.complete && img.naturalWidth === 0){
      img.src = img.getAttribute('data-remote');
    }
  });

  /* Φίλτρα καταλόγου κρασιών (krasia.html) */
  var filters = document.querySelectorAll('.filter');
  var wines = document.querySelectorAll('.wine-card');
  if(filters.length && wines.length){
    filters.forEach(function(btn){
      btn.addEventListener('click', function(){
        filters.forEach(function(b){ b.classList.remove('is-active'); });
        btn.classList.add('is-active');
        var f = btn.getAttribute('data-filter');
        wines.forEach(function(card){
          var cats = (card.getAttribute('data-cat') || '').split(' ');
          card.classList.toggle('is-hidden', f !== 'all' && cats.indexOf(f) === -1);
        });
      });
    });
  }

  var yearEl = document.getElementById('year');
  if(yearEl){ yearEl.textContent = new Date().getFullYear(); }
})();
