// Mobile Navigation Drawer
class NavDrawer {
  constructor(id) {
    this.drawer = document.getElementById(id);
    this.overlay = this.drawer?.querySelector('.drawer-overlay');
    this.content = this.drawer?.querySelector('.drawer-content');
    this.closeBtn = this.drawer?.querySelector('.drawer-close');
    this.isOpen = false;
    
    this.init();
  }
  
  init() {
    if (!this.drawer) return;
    
    // Close button
    this.closeBtn?.addEventListener('click', () => this.close());
    
    // Overlay click
    this.overlay?.addEventListener('click', () => this.close());
    
    // ESC key
    document.addEventListener('keydown', (e) => {
      if (e.key === 'Escape' && this.isOpen) {
        this.close();
      }
    });
    
    // Prevent body scroll when open
    this.drawer.addEventListener('transitionend', () => {
      if (this.isOpen) {
        document.body.style.overflow = 'hidden';
      } else {
        document.body.style.overflow = '';
      }
    });
  }
  
  open() {
    if (!this.drawer) return;
    this.isOpen = true;
    this.drawer.classList.add('drawer-open');
    document.body.style.overflow = 'hidden';
  }
  
  close() {
    if (!this.drawer) return;
    this.isOpen = false;
    this.drawer.classList.remove('drawer-open');
    document.body.style.overflow = '';
  }
  
  toggle() {
    if (this.isOpen) {
      this.close();
    } else {
      this.open();
    }
  }
}

// Initialize drawer on page load
document.addEventListener('DOMContentLoaded', () => {
  window.navDrawer = new NavDrawer('nav-drawer');
});
