const form = document.querySelector('#search-form');
const input = document.querySelector('#search-input');
const cards = [...document.querySelectorAll('.resource-card')];
const status = document.querySelector('#search-message');
const empty = document.querySelector('#empty-state');
function normalize(value) { return value.toLocaleLowerCase('pt-PT').normalize('NFD').replace(/[\u0300-\u036f]/g, ''); }
function filterCards(term) {
  const query = normalize(term.trim());
  let matches = 0;
  cards.forEach(card => {
    const visible = !query || normalize(card.dataset.title).includes(query);
    card.hidden = !visible;
    if (visible) matches++;
  });
  empty.hidden = matches !== 0;
  status.textContent = query ? `${matches} categoria(s) encontrada(s).` : '';
}
form.addEventListener('submit', event => {
  event.preventDefault();
  filterCards(input.value);
  document.querySelector('#recursos').scrollIntoView({behavior:'smooth'});
});
input.addEventListener('input', () => filterCards(input.value));
document.querySelectorAll('[data-year]').forEach(link => link.addEventListener('click', () => {
  input.value = link.dataset.year + '.º ano';
  filterCards(link.dataset.year);
}));
const menuButton = document.querySelector('.menu-toggle');
const nav = document.querySelector('#main-nav');
menuButton.addEventListener('click', () => {
  const open = nav.classList.toggle('open');
  menuButton.setAttribute('aria-expanded', String(open));
  menuButton.setAttribute('aria-label', open ? 'Fechar menu' : 'Abrir menu');
});
nav.querySelectorAll('a').forEach(link => link.addEventListener('click', () => { nav.classList.remove('open'); menuButton.setAttribute('aria-expanded','false'); }));
document.querySelector('#year').textContent = new Date().getFullYear();
