/* Mobile Menu Fixes - Simplified Version */
/* Remove all previous code and start fresh */

/* Basic styling for mobile menu - applies to all screen sizes */
.main-header__nav.is-active {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  background-color: rgb(6 6 6 / 99%) !important;
  z-index: 1090 !important;
  overflow-y: auto !important;
}

/* Primary menu container with improved spacing */
.main-header__nav.is-active #primary-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 90% !important; /* Reduced width for better spacing */
  max-width: 500px !important;
  height: 100% !important;
  gap: 2rem !important;
}

/* Menu items with better spacing */
.main-header__nav.is-active .menu-item {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
  margin-bottom: 20px !important; /* Increased spacing between items */
  width: 100% !important;
  padding: 0 15px !important; /* Added padding on sides */
}

/* Menu links with improved styling */
.main-header__nav.is-active .nav-link {
  font-size: 2rem !important;
  color: #fff !important;
  text-align: center !important;
  display: block !important; /* Full width links */
  width: 100% !important;
  padding: 15px 20px !important; /* Increased padding */
  border-radius: 10px !important;
  transition: all 0.2s ease !important;
}

.main-header__nav.is-active .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
  transform: translateY(-3px) !important;
}

/* Body fixed when menu is open */
body.no-scroll {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
}

/* Fix z-index issues */
.main-header, .main-header__layout {
  z-index: 1100 !important;
}

/* Better centered hamburger icon */
.main-header__nav-trigger {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: none !important;
  border: none !important;
  padding: 0.75rem !important;
  cursor: pointer !important;
  z-index: 1500 !important;
  margin-top: -5px !important; /* Move up slightly */
  height: 40px !important;
}

/* Hamburger icon fixes */
.main-header__nav-trigger-icon {
  position: relative !important;
  display: block !important;
  background-color: transparent !important;
}

.main-header__nav-trigger-icon .bar {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  background-color: #fff !important;
  margin: 5px 0 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.main-header__nav-trigger.is-active .bar1 {
  transform: translateY(7px) rotate(45deg) !important;
}

.main-header__nav-trigger.is-active .bar2 {
  opacity: 0 !important;
}

.main-header__nav-trigger.is-active .bar3 {
  transform: translateY(-7px) rotate(-45deg) !important;
}

/* Mobile-specific styles (up to 767px) */
@media (max-width: 767px) {
  .main-header__nav.is-active #primary-menu {
    margin-right: 5vw !important;
    transform: translateX(-10vw) !important; /* Dynamic centering adjustment */
    position: relative !important;
  }
  
  /* Alternative approach using flexbox centering */
  .main-header__nav.is-active {
    justify-content: center !important;
    align-items: center !important;
  }
  
  .main-header__nav.is-active #primary-menu {
    margin-left: auto !important;
    margin-right: auto !important;
    transform: translateX(-5vw) !important; /* Fine-tune centering */
  }
}



/* Desktop-specific hamburger menu additions (768px and above) */
@media (min-width: 1400px) {
  /* Additional desktop-specific styles can be added here */
  /* These will override or enhance the base mobile styles on desktop */
  .main-header__nav.is-active {
    width: 150vw !important;
    margin-left: -30vw !important;
  }
  /* Example: Different font size for desktop */
  .main-header__nav.is-active .nav-link {
    font-size: 2.5rem !important; /* Larger font for desktop */
  }
  
  /* Example: Different spacing for desktop */
  .main-header__nav.is-active .menu-item {
    margin-bottom: 30px !important; /* More spacing on desktop */
  }
  
  /* Example: Different background opacity for desktop */
  .main-header__nav.is-active {
    background-color: rgb(6 6 6 / 95%) !important; /* Slightly more transparent on desktop */
  }
} 

@media (min-width: 1600px) {
  /* Additional desktop-specific styles can be added here */
  /* These will override or enhance the base mobile styles on desktop */
  .main-header__nav.is-active {
    width: 150vw !important;
    margin-left: -42vw !important;
  }
  /* Example: Different font size for desktop */
  .main-header__nav.is-active .nav-link {
    font-size: 2.5rem !important; /* Larger font for desktop */
  }
  
  /* Example: Different spacing for desktop */
  .main-header__nav.is-active .menu-item {
    margin-bottom: 30px !important; /* More spacing on desktop */
  }
  
  /* Example: Different background opacity for desktop */
  .main-header__nav.is-active {
    background-color: rgb(6 6 6 / 95%) !important; /* Slightly more transparent on desktop */
  }
} 


@media (min-width: 2150px) {
  /* Additional desktop-specific styles can be added here */
  /* These will override or enhance the base mobile styles on desktop */
  .main-header__nav.is-active {
    width: 200vw !important;
    margin-left: -75vw !important;
  }
  /* Example: Different font size for desktop */
  .main-header__nav.is-active .nav-link {
    font-size: 2.5rem !important; /* Larger font for desktop */
  }
  
  /* Example: Different spacing for desktop */
  .main-header__nav.is-active .menu-item {
    margin-bottom: 30px !important; /* More spacing on desktop */
  }
  
  /* Example: Different background opacity for desktop */
  .main-header__nav.is-active {
    background-color: rgb(6 6 6 / 95%) !important; /* Slightly more transparent on desktop */
  }
} 

@media (min-width: 2400px) {
  /* Additional desktop-specific styles can be added here */
  /* These will override or enhance the base mobile styles on desktop */
  .main-header__nav.is-active {
    width: 200vw !important;
    margin-left: -80vw !important;
  }
  /* Example: Different font size for desktop */
  .main-header__nav.is-active .nav-link {
    font-size: 2.5rem !important; /* Larger font for desktop */
  }
  
  /* Example: Different spacing for desktop */
  .main-header__nav.is-active .menu-item {
    margin-bottom: 30px !important; /* More spacing on desktop */
  }
  
  /* Example: Different background opacity for desktop */
  .main-header__nav.is-active {
    background-color: rgb(6 6 6 / 95%) !important; /* Slightly more transparent on desktop */
  }
} 