/* Mobile Navigation Menu Fixes */

/* Fix hamburger menu button z-index on mobile */
@media screen and (max-width: 991px) {
  .w-nav-button {
    position: relative !important;
    z-index: 10001 !important;
  }

  /* Force hamburger menu icon to appear above everything */
  .w-nav-button .w-icon-nav-menu {
    position: relative !important;
    z-index: 10002 !important;
  }

  /* Ensure cart doesn't overlap hamburger menu */
  .cart-container {
    z-index: 9998 !important;
  }

  .cart-sidebar {
    z-index: 9998 !important;
  }

  .cart-toggle {
    z-index: 9998 !important;
  }

  /* Target specific cart icon container that's overlapping */
  .cart-icon-container {
    z-index: 9998 !important;
    position: absolute !important;
    right: 60px !important; /* Move cart icon left to make room for hamburger */
  }

  /* Target any cart-related elements that might be overlapping */
  [class*="cart"] {
    z-index: 9998 !important;
  }

  /* Ensure navbar container has proper stacking */
  .navbar.w-nav {
    position: relative !important;
    z-index: 10000 !important;
  }

  .w-nav {
    position: relative !important;
    z-index: 10000 !important;
  }

/* Position the mobile menu below navbar */
  /* Target the open state more specifically */
  .w-nav-menu.w--open {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 90% !important;
    max-width: 400px !important;
    background-color: white !important;
    border: 1px solid #000 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
    padding: 20px !important;
    margin: 0 !important;
    margin-top: 10px !important;
    text-align: center !important;
    z-index: 9999 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Also target data attribute version */
  .w-nav-menu[data-nav-menu-open] {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 90% !important;
    max-width: 400px !important;
    background-color: white !important;
    border: 1px solid #000 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
    padding: 20px !important;
    margin: 0 !important;
    margin-top: 10px !important;
    text-align: center !important;
    z-index: 9999 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Ensure navbar container has relative positioning */
  .navbar.w-nav {
    position: relative !important;
  }

  .w-nav {
    position: relative !important;
  }

  /* Override any hidden states */
  .w-nav[data-collapse="medium"] .w-nav-menu[data-nav-menu-open] {
    display: block !important;
  }

  .nav-menu {
    margin-left: 0 !important;
    text-align: center !important;
  }

  .nav-link, .nav-link-2, .nav-link-3 {
    display: block !important;
    padding: 15px 20px !important;
    margin: 10px 0 !important;
    border-bottom: 1px solid #eee !important;
    text-decoration: none !important;
    color: #000 !important;
    font-size: 18px !important;
    transition: background-color 0.3s ease !important;
  }

  .nav-link:hover, .nav-link-2:hover, .nav-link-3:hover {
    background-color: #f5f5f5 !important;
  }

  .nav-link:last-child, .nav-link-2:last-child, .nav-link-3:last-child {
    border-bottom: none !important;
  }

  /* Remove overlay since menu is now positioned below navbar */
  .w-nav-overlay[data-nav-menu-open] {
    display: none !important;
  }
}

/* Tablet adjustments */
@media screen and (max-width: 767px) {
  .w-nav-menu[data-nav-menu-open] {
    width: 95% !important;
    max-width: 350px !important;
    top: 100% !important;
  }
}

/* Small mobile adjustments */
@media screen and (max-width: 479px) {
  .w-nav-menu[data-nav-menu-open] {
    width: 95% !important;
    max-width: 300px !important;
    top: 100% !important;
    padding: 15px !important;
  }

  .nav-link, .nav-link-2, .nav-link-3 {
    padding: 12px 15px !important;
    font-size: 16px !important;
  }
}
