/* Custom Navigation Menu Styles */

/* Desktop Menu (only ≥768px) */
@media (min-width: 768px) {
  #main-header nav.hidden.md\:flex {
    display: flex;
    align-items: center;
    gap: 2rem; /* space-x-8 */
  }

  /* WordPress 生成的菜单 ul 元素 */
  #main-header nav.hidden.md\:flex > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
  }

  /* WordPress 生成的菜单项 */
  #main-header nav.hidden.md\:flex .menu-item {
    display: block;
    margin-right: 2rem;
    position: relative;
  }

  #main-header nav.hidden.md\:flex .menu-item a {
    font-size: 0.875rem; /* text-sm */
    font-weight: 500;    /* font-medium */
    color: inherit;
    text-decoration: none;
    display: block;
    transition: color .3s ease; /* hover:text-primary */
  }
  #main-header nav.hidden.md\:flex .menu-item a:hover { color: var(--primary); }

  #main-header nav.hidden.md\:flex .menu-item:first-child a { color: var(--primary); }

  /* Login and Register Links - Desktop View */
  #main-header nav.hidden.md\:flex .menu-item.login-link { margin-left: auto; margin-right: 0.25rem; }

  #main-header nav.hidden.md\:flex .menu-item.login-link a {
    font-size: 0.875rem; font-weight: 500; color: inherit;
    display: flex; align-items: center; transition: color .3s ease;
  }
  #main-header nav.hidden.md\:flex .menu-item.login-link a:hover { color: var(--primary); }

  #main-header nav.hidden.md\:flex .menu-item.register-link a {
    background-color: var(--primary); color: #fff; font-weight: 500;
    padding: 0.5rem 1.5rem; border-radius: 9999px; transition: all 0.3s ease;
    display: flex; align-items: center;
  }
  #main-header nav.hidden.md\:flex .menu-item.register-link a:hover {
    background-color: rgba(var(--primary-rgb), 0.9);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--primary-rgb), 0.3);
  }
}

/* Mobile Menu Responsive */
/* Let Tailwind's .hidden class control visibility; don't force display that breaks JS toggling */
#mobile-menu-btn { display: none; }
@media (max-width: 767px) {
  #mobile-menu-btn { display: inline-flex !important; }
  /* Mobile menu stays display:none when it has .hidden; shown only when JS removes it */
  #mobile-menu { display: none; }
  #mobile-menu:not(.hidden) {
    display: block !important;
    /* Ensure long menus are scrollable and not clipped under fixed header */
    max-height: calc(100vh - var(--cc-fixed-top, 72px) - 8px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: max(env(safe-area-inset-bottom, 0px), 12px);
  }
}

#mobile-menu > div {
  display: flex;
  flex-direction: column;
  padding: 0.75rem 0;
  max-height: inherit; /* inherit container's max-height so inner scroll works */
}

/* WordPress鐢熸垚鐨勭Щ鍔ㄨ彍鍗晆l鍏冪礌 */
#mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#mobile-menu .menu-item {
  display: block;
  margin-bottom: 0.25rem;
}

#mobile-menu .menu-item a {
  display: block;
  padding: 0.75rem 1.25rem;
  margin-left: .5rem; /* mx-2 */
  margin-right: .5rem;
  border-radius: .5rem; /* rounded-lg */
  font-size: 0.875rem;
  font-weight: 500;
  color: inherit;
  text-decoration: none;
  transition: background-color .3s ease, color .3s ease;
}
#mobile-menu .menu-item a:hover { background-color: var(--light); }

#mobile-menu .menu-item:first-child a {
  background-color: var(--light);
  color: var(--primary);
}

/* Login and Register Links - Mobile View */
#mobile-menu .menu-item.login-link a {
  background: transparent;
  color: inherit;
  padding: 0.75rem 1.25rem;
  display: flex;
  align-items: center;
}

#mobile-menu .menu-item.register-link a {
  background-color: rgba(var(--primary-rgb), 0.1);
  color: var(--primary);
  padding: 0.75rem 1.25rem;
  display: flex;
  align-items: center;
}

#mobile-menu .menu-item.login-link a:hover {
  background-color: var(--light);
}

#mobile-menu .menu-item.register-link a:hover {
  background-color: var(--primary);
  color: white;
}

/* Sub-menu styles */
.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
  z-index: 1000;
  padding: 10px 0;
}

.sub-menu li {
  padding: 0;
}

.sub-menu a {
  display: block;
  padding: 8px 20px;
  color: #333;
  text-decoration: none;
  transition: all 0.3s ease;
}

.sub-menu a:hover {
  background-color: var(--light);
  color: var(--primary);
}

/* Fix for menu layout */
/* Note: Header layout is now defined directly in header.php to ensure proper centering */
