/*=============================================
 * header.css - Header & Navigation
 * 头部导航样式，子页面共用
 *=============================================*/

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #103682;
    border-bottom: 1px solid rgba(255,255,255,0.3);
    transition: background var(--transition-normal), box-shadow var(--transition-normal);
}

/* 二级页面：header 在 toolbar 下方，吸顶跟随固定 toolbar（高64px）滚动保持可见 */
.sub-page .site-header {
    position: sticky;
    top: 64px;
    margin-top: 64px;
    z-index: 1000;
    background: #0f3baa;
}

.sub-page .main-nav .nav-list {
    padding-left: 50px;
}

/* 会议页无顶部 toolbar：header 先随文档流滚动，超出视口顶部后吸顶固定 */
.sub-page.conference-page .site-header {
    position: sticky;
    top: 0;
    margin-top: 0;
    z-index: 1000;
}

/* 会议页锚点跳转时预留吸顶导航高度，避免标题被遮挡 */
.sub-page.conference-page [id] {
    scroll-margin-top: 80px;
}

.site-header.scrolled {
    background: #103682;
    backdrop-filter: blur(10px);
    box-shadow: var(--shadow-md);
}

/* 顶部工具栏 */
.header-toolbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    z-index: 1001;
    background: #0f3baa;
    padding: 10px 0;
    box-sizing: border-box;
}

/* 二级页面：toolbar 底部白线 */
.sub-page .header-toolbar {
    border-bottom: 1px solid #3a5eb9;
    height: 64px;
}

.sub-page .toolbar-btn {
    width: 40px;
    height: 40px;
}



.header-toolbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.toolbar-left {
    flex: 1;
    display: flex;
    align-items: center;
}

.toolbar-logo {
    display: inline-block;
}

.toolbar-logo img {
    display: block;
    height: 30px;
    width: auto;
}

.toolbar-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.countdown-badge {
    display: inline-block;
    background: linear-gradient(to bottom, #03d0ff 30%, #ffeb3b 30%);
    color: #0f3baa;
    padding: 3px 12px;
    border-radius: 3px;
    font-family: 'MiSans', sans-serif;
    font-size: clamp(14px, 0.606vw, 28px);
    font-weight: 500;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.toolbar-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: rgba(255,255,255,0.15);
    border: none;
    border-radius: 4px;
    color: rgba(255,255,255,0.8);
    cursor: pointer;
    transition: all var(--transition-fast);
    padding: 0;
}

.toolbar-btn:hover {
    color: var(--color-white);
    background: rgba(255,255,255,0.25);
}

.toolbar-btn img {
    width: 20px;
    height: 20px;
    display: block;
}

/* 移动端菜单按钮（工具栏内） */
.toolbar-btn.mobile-menu-btn .close-icon {
    display: none;
}
.toolbar-btn.mobile-menu-btn.active .menu-icon {
    display: none;
}
.toolbar-btn.mobile-menu-btn.active .close-icon {
    display: block;
}

/* 顶部语言切换栏 */
.header-top {
    background: rgba(0, 0, 0, 0.15);
    padding: 6px 0;
    font-size: 0.8rem;
}

.header-top .container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--space-md);
}

.header-top a,
.header-top .lang-toggle {
    color: rgba(255,255,255,0.7);
    font-size: 0.8rem;
    transition: color var(--transition-fast);
}

.header-top a:hover,
.header-top .lang-toggle:hover {
    color: var(--color-white);
}

.lang-switch {
    display: flex;
    align-items: center;
    gap: 6px;
}

.lang-switch .lang-item {
    padding: 2px 8px;
    border-radius: 3px;
    cursor: pointer;
    color: rgba(255,255,255,0.6);
    transition: all var(--transition-fast);
    font-size: 0.78rem;
    font-weight: 500;
}

.lang-switch .lang-item.active {
    color: var(--color-white);
    background: var(--color-accent);
}

.lang-switch .lang-sep {
    color: rgba(255,255,255,0.3);
    font-size: 0.75rem;
}

/* 主导航栏 */
.header-main {
    padding: 0;
}

.header-main .container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 72px;
}

/* 主导航 */
.main-nav {
    width: 100%;
}

.main-nav .nav-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 80%;
}

.main-nav .nav-list li {
    list-style: none;
    position: relative;
}

.main-nav .nav-list a {
    display: inline-block;
    padding: 22px 6px;
    color: rgba(255,255,255,0.85);
    font-family: 'MiSans', sans-serif;
    font-size: clamp(16px, 0.839vw, 34px);
    font-weight: 400;
    letter-spacing: 0.5px;
    transition: color var(--transition-fast);
    white-space: nowrap;
}

.main-nav .nav-list a:hover,
.main-nav .nav-list a.active {
    color: var(--color-white);
}

/* 箭头仅在有子菜单时显示 */
.main-nav .nav-list li:has(.sub-menu li) > a::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background: url('../../nav_arrow_bt.png') no-repeat center;
    background-size: contain;
    margin-left: 4px;
    vertical-align: middle;
    opacity: 0.7;
}

.main-nav .nav-list li:has(.sub-menu li) > a:hover::after,
.main-nav .nav-list li:has(.sub-menu li) > a.active::after {
    opacity: 0.9;
}

/* ===== 下拉子菜单（白底黑字风格） ===== */
.main-nav .nav-list .sub-menu {
    position: absolute;
    top: calc(100% - 12px);
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    min-width: 220px;
    padding: 0;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 1001;
}

/* 顶部三角箭头 */
.main-nav .nav-list .sub-menu::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
}

.main-nav .nav-list li:has(.sub-menu li):hover > .sub-menu {
    opacity: 1;
    visibility: visible;
}

.main-nav .nav-list .sub-menu li {
    display: block;
}

.main-nav .nav-list .sub-menu li + li {
    border-top: 1px solid #f0f0f0;
}

.main-nav .nav-list .sub-menu a {
    display: block;
    padding: 10px 24px;
    font-size: 1rem;
    text-transform: none;
    letter-spacing: 0.2px;
    color: #333;
    white-space: nowrap;
    transition: all var(--transition-fast);
    text-decoration: none;
}

.main-nav .nav-list .sub-menu a:hover {
    background: #f5f5f5;
    color: #0c8720;
}

/* 高亮项（绿色） */
.main-nav .nav-list .sub-menu a.highlight {
    color: #2a9d4f;
    padding-left: 32px;
}

/* 禁用项（灰色） */
.main-nav .nav-list .sub-menu a.disabled {
    color: #aaa;
    pointer-events: none;
    cursor: default;
}

.main-nav .nav-list .sub-menu a::after {
    display: none;
}

/* ===== 三级子菜单：直接显示在所属二级菜单下方，加大左缩进 ===== */
.main-nav .nav-list .sub-menu li:has(.sub-sub-menu li) {
    position: relative;
}

/* 二级菜单中有三级子项的，不显示右侧箭头（因为三级在下方展开） */
.main-nav .nav-list .sub-menu li:has(.sub-sub-menu li) > a::after {
    display: none;
}

/* 首页：下拉面板中带三级子项的条目（本身不可点击），鼠标手势为普通箭头（非手指） */
.home .main-nav .nav-list .sub-menu li:has(.sub-sub-menu li) > a {
    cursor: default;
}

/* 三级菜单：在文档流中，始终显示 */
.main-nav .nav-list .sub-sub-menu {
    position: static;
    background: transparent;
    min-width: auto;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    display: block;
    z-index: auto;
    margin-left: 0;
}

.main-nav .nav-list .sub-sub-menu li {
    display: block;
}

.main-nav .nav-list .sub-sub-menu li + li {
    border-top: 1px solid #f5f5f5;
}

.main-nav .nav-list .sub-sub-menu a {
    display: block;
    padding: 10px 24px 10px 36px;
    font-size: 0.95rem;
    color: #555;
    white-space: nowrap;
    text-decoration: none;
    background: #fafafa;
}

.main-nav .nav-list .sub-sub-menu a:hover {
    background: #f0f0f0;
    color: #0c8720;
}

.main-nav .nav-list .sub-sub-menu a::after {
    display: none;
}

/* ===== 下拉面板圆角跟随：首行/末行本身也带圆角 =====
   面板（.sub-menu）本身有 10px 圆角，但没有 overflow:hidden（否则顶部小三角会被裁掉）。
   因此首行/末行的块级背景（hover 的 #f5f5f5、三级项的 #fafafa）会画成直角、盖住面板圆角。
   这里给首/末行补上同样的圆角，视觉上就始终是圆角。 */
.main-nav .nav-list .sub-menu > li:first-child > a {
    border-radius: 10px 10px 0 0;
}

/* 末行是普通二级项（模板里每个二级项都带一个 .sub-sub-menu，可能是空的，
   所以必须判断它“有子项”，否则末项匹配不到这条规则） */
.main-nav .nav-list .sub-menu > li:last-child:not(:has(.sub-sub-menu li)) > a {
    border-radius: 0 0 10px 10px;
}

/* 末行含三级子项时，面板最底部是三级链接，圆角落在它上面 */
.main-nav .nav-list .sub-menu > li:last-child > .sub-sub-menu > li:last-child > a {
    border-radius: 0 0 10px 10px;
}


/* 移动端菜单按钮 */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    z-index: 1001;
}

.mobile-menu-btn span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--color-white);
    margin: 5px 0;
    transition: all var(--transition-fast);
}

.mobile-menu-btn.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu-btn.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-btn.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* 移动端菜单 */
.mobile-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-primary);
    padding: 80px var(--space-md) var(--space-md);
    overflow-y: auto;
    z-index: 1002;
}

.mobile-nav-close {
    position: absolute;
    top: 12px;
    right: 16px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.1);
    border: none;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
}

.mobile-nav.open {
    display: block;
}

.mobile-nav .nav-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mobile-nav .nav-list a {
    display: block;
    padding: 14px 20px;
    color: rgba(255,255,255,0.85);
    font-size: 1rem;
    font-weight: 500;
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.mobile-nav .nav-list li:has(.sub-menu li) > a::after {
    content: '▾';
    margin-left: 6px;
    font-size: 0.65em;
    opacity: 0.5;
}

/* 移动端子菜单 */
.mobile-nav .nav-list .sub-menu {
    padding-left: 16px;
    display: none;
}

.mobile-nav .nav-list li.open > .sub-menu {
    display: block;
}

.mobile-nav .nav-list .sub-menu a {
    font-size: 0.92rem;
    padding: 10px 20px 10px 36px;
    opacity: 0.75;
}

/* 移动端三级菜单 */
.mobile-nav .nav-list .sub-menu .sub-menu {
    padding-left: 12px;
}

.mobile-nav .nav-list .sub-menu .sub-menu a {
    font-size: 0.85rem;
    padding: 8px 20px 8px 48px;
    opacity: 0.65;
}

.mobile-nav .nav-list .sub-menu li:has(.sub-menu li) > a::after {
    content: '▾';
    margin-left: 6px;
    font-size: 0.65em;
    opacity: 0.5;
}

.mobile-nav .nav-list a:hover,
.mobile-nav .nav-list a.active {
    background: rgba(255,255,255,0.08);
    color: var(--color-white);
}


