/**
 * 全站框架壳层：统一顶栏 + 统一二级栏
 * 四模块共用同一视觉，不再给乐天单独一套顶栏皮肤
 */

:root {
  --site-nav-h: var(--nav-h, 64px);
  --site-subnav-h: 44px;
  --site-max-w: var(--max-w, 1180px);
  --site-bg: #F4F7FB;
  --site-text: #152033;
  --site-text2: #4A5D73;
  --site-border: #D5DEEA;
  --site-sky: #2F7FD4;
}

/* —— 主顶栏（全站唯一风格） —— */
#mainNav {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  z-index: 50 !important;
  height: var(--site-nav-h) !important;
  min-height: var(--site-nav-h) !important;
  max-height: var(--site-nav-h) !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  overflow: hidden !important;
  transform: none !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid var(--site-border) !important;
  padding: 0 max(24px, calc((100vw - var(--site-max-w)) / 2));
}

#mainNav .nav-logo {
  flex: 0 0 auto;
  white-space: nowrap;
}

#mainNav .nav-links {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  min-width: 0;
  overflow: hidden;
}

#mainNav .nav-links a {
  color: var(--site-text2);
  padding: 6px 10px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  text-decoration: none;
  border-radius: 6px;
}

#mainNav .nav-links a:hover,
#mainNav .nav-links a:focus-visible {
  color: var(--site-text);
}

#mainNav .nav-links a.nav-active,
.mobile-menu a.nav-active {
  color: var(--site-text) !important;
  background: rgba(47, 127, 212, 0.12);
}

#mainNav .hamburger {
  flex: 0 0 auto;
  margin-left: 8px;
}

@media (max-width: 900px) {
  #mainNav {
    padding: 0 20px;
  }
  #mainNav .nav-links {
    display: none !important;
  }
  #mainNav .hamburger {
    display: flex !important;
  }
}

/* —— 二级栏（模块内栏目，风格统一） —— */
.site-subnav,
.rakuten-subnav {
  position: sticky;
  top: var(--site-nav-h);
  z-index: 40;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--site-border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.site-subnav-inner,
.rakuten-subnav-inner {
  max-width: var(--site-max-w);
  margin: 0 auto;
  padding: 8px max(24px, calc((100vw - var(--site-max-w)) / 2));
  display: flex;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
}

.site-subnav-link,
.rakuten-subnav .rakuten-topnav-tab {
  display: inline-flex;
  align-items: center;
  color: var(--site-text2);
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 6px;
  white-space: nowrap;
}

.site-subnav-link:hover,
.rakuten-subnav .rakuten-topnav-tab:hover {
  color: var(--site-text);
  background: rgba(21, 32, 51, 0.04);
}

.site-subnav-link.is-active,
.rakuten-subnav .rakuten-topnav-tab.rakuten-nav-active {
  color: var(--site-sky) !important;
  background: rgba(47, 127, 212, 0.12) !important;
  font-weight: 600;
}

.rakuten-subnav .rakuten-topnav-tabs {
  display: inline-flex;
  gap: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

/* 乐天改用 sticky 后，取消旧 fixed 顶栏预留空白 */
body.rakuten-erp {
  padding-top: 0 !important;
}

/* CMS */
body.cms-page {
  margin: 0;
  background: var(--site-bg);
  color: var(--site-text);
}

body.cms-page .ticker {
  display: none !important;
}

body.cms-page .cms-main {
  padding-top: 0 !important;
}
