/* nav-dropdown.css — 共享下拉菜单样式 */

.nav-dropdown { position: relative; }

.nav-dropdown-toggle {
  display: inline-flex; align-items: center; gap: 4px;
  background: none; border: none; cursor: pointer;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 0.9rem; font-weight: 500;
  padding: 8px 16px; border-radius: 8px;
  font-family: inherit;
  transition: background 0.3s cubic-bezier(0.4,0,0.2,1), color 0.3s cubic-bezier(0.4,0,0.2,1);
}
.nav-dropdown-toggle:hover,
.nav-dropdown.open > .nav-dropdown-toggle { color: #fff; background: rgba(255,255,255,0.1); }
.nav-dropdown-toggle.active { color: #fff; background: rgba(255,255,255,0.1); }
.nav-dropdown-toggle::after {
  content: ''; display: inline-block;
  width: 6px; height: 6px; border: 2px solid currentColor;
  border-left: 0; border-top: 0;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s;
  margin-left: 2px;
}
.nav-dropdown.open > .nav-dropdown-toggle::after { transform: rotate(-135deg) translateY(0); }

.nav-dropdown-menu {
  position: absolute; top: calc(100% + 8px); left: 0;
  min-width: 200px;
  background: #012180;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 8px;
  list-style: none;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
  z-index: 1010;
}
.nav-dropdown:hover > .nav-dropdown-menu,
.nav-dropdown.open > .nav-dropdown-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.nav-dropdown-menu li { list-style: none; }
.nav-dropdown-menu a {
  display: block; padding: 10px 12px; border-radius: 6px;
  color: rgba(255,255,255,0.85); text-decoration: none;
  font-size: 0.88rem; font-weight: 500;
  transition: background 0.2s, color 0.2s;
}
.nav-dropdown-menu a:hover { background: rgba(255,255,255,0.08); color: #fff; }

/* 移动端：下拉展开为 inline 堆叠 */
.nav-mobile-menu .nav-mobile-dropdown-label {
  display: block; color: rgba(255,255,255,0.5);
  font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em;
  padding: 16px 0 8px 0;
}
.nav-mobile-menu .nav-mobile-dropdown-item {
  padding-left: 16px;
}

/* 移动端菜单：可滚动兜底 + 二级目录折叠(accordion) —— 由 nav-dropdown.js 增强结构 */
.nav-mobile-menu {
  max-height: calc(100dvh - 72px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
/* 父级(有二级)与展开箭头同一行 */
.nav-mobile-row {
  display: flex; align-items: stretch;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.nav-mobile-row > a { flex: 1; border-bottom: none !important; }
.nav-mobile-caret {
  flex: 0 0 48px; background: none; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.55); padding: 0; font-family: inherit;
}
.nav-mobile-caret::before {
  content: ''; width: 8px; height: 8px;
  border: 2px solid currentColor; border-left: 0; border-top: 0;
  transform: rotate(45deg) translateY(-2px); transition: transform 0.25s;
}
.nav-mobile-caret.open::before { transform: rotate(-135deg) translateY(2px); }
/* 二级容器：默认折叠 */
.nav-mobile-sub {
  max-height: 0; overflow: hidden;
  transition: max-height 0.28s cubic-bezier(0.4,0,0.2,1);
}
.nav-mobile-sub.open { max-height: 480px; }

@media (max-width: 768px) {
  .nav-dropdown-toggle::after { display: none; }
  .nav-dropdown-menu { display: none; }
}

/* EN top nav is denser (extra "One-Stop Services" item) — tighten so the row
   never overflows / wraps. Scoped to English pages via html[lang="en"];
   .nav-cta keeps its own !important padding. */
html[lang="en"] .nav-links { gap: 2px; }
html[lang="en"] .nav-links a { padding-left: 9px; padding-right: 9px; }
html[lang="en"] .nav-dropdown-toggle::after { margin-left: 3px; }
