.top-bar {
	height:10px;
	background:#00337c;
	position:fixed;
	top:0; left:0;
	width:100%;
	z-index:9999;
}

.header-all {
    position:fixed;
	top:10px;
	left:0;
	width:100%;
    height:80px;
	background:#fff;
    border-bottom:2px solid #3d3d3d;
    z-index:9998;
}

body { 
	padding-top:90px !important;
}

.header-all .container {
    margin:0 auto;
	padding:0 60px;
	height:100%;
    display:flex;
	justify-content:space-between;
	align-items:center;
}

.logo {
	flex-shrink:0;
	min-width:200px;
}
.logo img { height:60px;
	width:auto;
	max-width:none;
	object-fit:contain;
	display:block;
}

.top-right {
display:flex;
flex-direction:column;
justify-content:space-between;
height:100%; padding:5px 0 10px 0;
box-sizing:border-box;
}

.top-links { font-size:15px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-left:auto !important; justify-content:flex-end !important; }
.text-btn { color:#333; text-decoration:none; }
.sep { color:#ccc; }
.main-nav-buttons { display:flex; gap:24px; flex-wrap:wrap; justify-content:flex-end; }
.nav-btn {
    display:flex; align-items:center; justify-content:center;
    height:30px; width:120px; padding:0 5px;
    color:#fff; font-weight:bold; font-size:16px;
    border-radius:2px; text-decoration:none;
    transition:all .25s ease;
padding-bottom: 2px;
}
.nav-btn.c1 { background:#003172; }
.nav-btn.c2 { background:#053e72; }
.nav-btn.c3 { background:#0b5c7c; }
.nav-btn.c4 { background:#19838e; }
.nav-btn:hover { background:#fff !important; border:2px solid; color:inherit !important; }
.nav-btn.c1:hover { border-color:#003172 !important; color:#003172 !important; }
.nav-btn.c2:hover { border-color:#053e72 !important; color:#053e72 !important; }
.nav-btn.c3:hover { border-color:#0b5c7c !important; color:#0b5c7c !important; }
.nav-btn.c4:hover { border-color:#19838e !important; color:#19838e !important; }
/* 白色長條 */
.subnav-bar {
    position:fixed; top:90px; left:0; width:100%;
    height:0; overflow:hidden; background:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,0.12);
    transition:height .35s ease; z-index:9997;
}
.subnav-bar.active {
height:40px;
}
.subnav-bar .container {
padding:0 60px;
height:100%;
display:flex;
align-items:center;
justify-content: flex-end;
}
.subnav-links {
display:flex;
gap:36px;
}
.subnav-links a {
color:#333;
font-size:15px;
font-weight:500;
text-decoration:none;
padding:8px 0;
}
.subnav-links a:hover {
color:#00337c;
}
/* 語言下拉選單 */
.language-dropdown { position:relative; display:inline-block; }
.lang-trigger { background:none; border:none; padding:0 5px 0 10px; font-size:15px; color:#333; cursor:pointer; display:flex; align-items:center; height:32px; }
.dropdown-arrow { margin-left:6px; font-size:12px; transition:transform .3s; }
#lang-menu { display:none; position:absolute; top:100%; right:0; min-width:100%; width:max-content; background:#fff; border-radius:4px; box-shadow:0 8px 20px rgba(0,0,0,0.15); margin-top:0px; z-index:10000; }
#lang-menu.active { display:block; }
.lang-menu a { display:block; padding:10px 20px; color:#333; text-decoration:none; font-size:14px; text-align:center; white-space:nowrap; }
.lang-menu a:hover { background:#f0f8ff; }
/* 三部分獨立字體設定（根據語系自動切換） */
#site-header .top-links, #site-header .text-btn, #site-header .lang-trigger {
    font-family: 'AlibabaPuHuiTi-SemiBold', 'Noto Sans SC', sans-serif !important;
    font-size: 15px !important;
    color: #333 !important;
}
#site-header.lang-hk .top-links, #site-header.lang-hk .text-btn, #site-header.lang-hk .lang-trigger {
    font-family: 'AlibabaSansHK-Bold', 'Noto Sans TC', sans-serif !important;
    font-size: 15px !important;
    color: #333 !important;
}
#site-header.lang-en .top-links, #site-header.lang-en .text-btn, #site-header.lang-en .lang-trigger {
    font-family: 'Roboto-black', "Arial", system-ui, sans-serif !important;
    font-size: 15px!important;
    color: #707070!important;
    letter-spacing: 0px !important;
    font-weight: 700 !important;
}
#site-header .nav-btn {
    font-family: 'AlibabaPuHuiTi-SemiBold', 'Noto Sans SC', sans-serif !important;
    font-size: 17px !important;
    letter-spacing: 1px !important;
}
#site-header.lang-hk .nav-btn {
    font-family: 'AlibabaSansHK-Bold', 'Noto Sans TC', sans-serif !important;
    font-size: 17px !important;
    letter-spacing: 1.5px !important;
}
#site-header.lang-en .nav-btn {
    font-family: 'Roboto-black', 'Arial', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0px !important;
}
#subnav-links a, #subnav-links.lang-cn a {
    font-family: 'AlibabaPuHuiTi-Bold', 'Noto Sans SC', sans-serif !important;
    font-size: 16px !important;
    color: #222 !important;
}
#subnav-links.lang-hk a {
    font-family: 'AlibabaSansHK-Bold', 'Noto Sans TC', sans-serif !important;
    font-size: 16px !important;
    color: #222 !important;
}
#subnav-links.lang-en a {
    font-family: 'AlibabaPuHuiTi-Bold', 'Roboto', system-ui, sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #3d3d3d !important;
    letter-spacing: 0.5px !important;
}
/* ==================== 手機漢堡選單（≤1120px） ==================== */
.mobile-toggle {
    display: none;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    padding: 10px 0;
}
.mobile-toggle span {
    width: 30px; height: 3px; background: #00337c; border-radius: 3px; transition: 0.3s;
}
.mobile-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(8px,8px); }
.mobile-toggle.active span:nth-child(2) { opacity: 0; }
.mobile-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(7px,-7px); }
.mobile-menu-wrapper {
    position: fixed;
    top: 80px;
    right: 0;
    width: 100%;
    max-width: 260px;
    z-index: 700;
}
.mobile-menu {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    background: #fff;
    box-shadow: -6px 6px 20px rgba(0,0,0,0.15);
    border-radius: 0 0 0 12px;
    transition: max-height 0.4s ease;
}
.mobile-menu.active { max-height: 80vh; }
.mobile-menu-content { padding: 20px 30px; }
/* 主選單項目與子選單項目高度完全一致 */
.mobile-menu-item,
.mobile-submenu a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    font-size: 17px;
    color: #5d5d5d;
    border-bottom: 1px solid #5d5d5d;
    cursor: pointer;
    line-height: 1.2;
}
/* 學生生活無底線 + 子選單最後一項無底線 */
.mobile-menu-item:last-of-type,
.mobile-submenu a:last-child {
    border-bottom: none !important;
}
/* 加號縮小 */
.mobile-menu-item.has-submenu .toggle-icon {
    font-weight: bold;
    font-size: 18px;
    color: #5d5d5d;
}
.mobile-submenu {
    display: none;
    padding-left: 0;
    background: #fff;
}
.mobile-submenu.active { display: block; }
.mobile-submenu a {
    text-decoration: none !important;
}
.mobile-submenu a:hover { color: #00337c; }
/* 手機語言區：靠右 + margin 0 + padding 與主項目一致 */
.mobile-lang {
    margin-top: 30px;
    padding: 15px 0;
    text-align: right;
    font-size: 15px;
    color: #5d5d5d;
}
.mobile-lang a {
    color: #00337c;
    margin: 0;
    text-decoration: none;
}
.mobile-lang a:hover { text-decoration: underline; }
/* 1120px 以下顯示漢堡 + 超過 1120px 強制隱藏漢堡選單（即使 active class 存在） */
@media (max-width: 1120px) {
    .desktop-only { display: none !important; }
    .mobile-toggle { display: flex !important; }
    .subnav-bar { display: none !important; }
		.header-all .container {
		padding: 0 30px;
	}
}
@media (min-width: 1121px) {
    .mobile-toggle { display: none !important; }
    .mobile-menu-wrapper { display: none !important; }
    .mobile-menu { display: none !important; }
    #mobile-toggle.active,
    #mobile-menu.active {
        display: none !important;
    }
}