

#header{position:relative;width:100%;/* border-bottom:1px solid #ebebeb; */}

#header .wrap{position:relative;width:100%;max-width: 1200px;margin: 0px auto;min-height: 130px;background: #ffffff;}

/* ========== 內頁 header（酒紅漸層底、左 Logo + 標題、右側社群／快速連結／搜尋、下方主選單） ========== */
#header:not(.home-topnav) {
	background-color: #5c181c;
	background-image:
		linear-gradient(180deg, #2a0a0d 0%, #3a1116 22%, #401318 30%, #5c181c 48%, #6a1f24 100%),
		url(../../images/header-bg.png);
	background-repeat: no-repeat, repeat;
	background-size: 100% 100%, auto;
}

/* 內頁：單列兩欄 — 左 Logo、右欄（工具列 + 主選單），縮短總高度 */
#header:not(.home-topnav) .wrap.header-inner-wrap {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	gap: 16px 24px;
	min-height: 0;
	padding: 8px 16px 10px;
	box-sizing: border-box;
	background: transparent;
	max-width: 1400px;
}

#header:not(.home-topnav) .header-inner-right {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 4px 0;
	position: relative;
	padding-right: 0;
	box-sizing: border-box;
}

#header:not(.home-topnav) .wrap .logo {
	position: relative;
	top: auto;
	left: auto;
	display: block;
	max-width: 120px;
	height: auto;
}

#header:not(.home-topnav) .header-inner-brand {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	flex: 0 0 auto;
	align-self: center;
	min-width: 0;
}

#header:not(.home-topnav) .site-header-logo-link {
	display: block;
	line-height: 0;
}

#header:not(.home-topnav) .header-inner-tools {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 8px 0;
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 0;
	padding-top: 0;
	box-sizing: border-box;
}

#header:not(.home-topnav) .header-inner-social {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
}

#header:not(.home-topnav) .header-inner-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #d4c5ac;
	font-size: 18px;
	text-decoration: none;
	line-height: 1;
	opacity: 0.92;
	transition: opacity 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

#header:not(.home-topnav) .header-inner-social-link:hover {
	opacity: 1;
	color: #f5ead8;
	transform: translateY(-1px);
}

#header:not(.home-topnav) .header-inner-social-link--muted {
	opacity: 0.35;
	pointer-events: none;
}

#header:not(.home-topnav) .header-inner-quickrow {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 14px 18px;
}

#header:not(.home-topnav) .header-inner-quicklinks {
	position: relative;
	top: auto;
	right: auto;
	left: auto;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
	justify-content: flex-end;
	gap: 4px 8px;
	font-family: 'Noto Sans TC', sans-serif;
	font-size: 15px;
	font-weight: normal;
	letter-spacing: 0.06em;
	white-space: nowrap;
	flex-shrink: 0;
}

#header:not(.home-topnav) .header-inner-quicklinks a {
	color: #d4c5ac;
	text-decoration: none;
	transition: color 0.15s ease;
}

#header:not(.home-topnav) .header-inner-quicklinks a:hover {
	color: #ffffff;
}

#header:not(.home-topnav) .header-inner-qsep {
	color: rgba(232, 212, 184, 0.55);
	user-select: none;
	pointer-events: none;
	margin: 0 2px;
}

#header:not(.home-topnav) .header-inner-search {
	flex: 0 0 auto;
}

#header:not(.home-topnav) .header-inner-search-box {
	display: inline-flex;
	flex-direction: row;
	align-items: stretch;
	box-sizing: border-box;
	min-width: 220px;
	max-width: 320px;
	background: #aa5305;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 2px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
	overflow: hidden;
}

#header:not(.home-topnav) .header-inner-search-box .google_search {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0 12px;
	box-sizing: border-box;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.95);
	font-size: 15px;
	flex: 0 0 auto;
	left: auto;
	top: auto;
}

#header:not(.home-topnav) .header-inner-search-box .google_search i {
	pointer-events: none;
}

#header:not(.home-topnav) .header-inner-search-box input[type='text'] {
	flex: 1 1 auto;
	min-width: 0;
	width: 140px;
	font-size: 14px;
	border: 0;
	border-left: 1px solid rgba(255, 255, 255, 0.12);
	padding: 4px 12px 4px 12px;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.95);
	background: rgba(0, 0, 0, 0.08);
	outline: 0;
	box-sizing: border-box;
}

#header:not(.home-topnav) .header-inner-search-box input[type='text']::placeholder {
	color: rgba(255, 255, 255, 0.75);
}

#header:not(.home-topnav) ul.site-main-nav {
	background: transparent;
	padding: 0 !important;
	margin: 0;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	justify-content: flex-end !important;
	align-items: center;
	flex-wrap: wrap;
	row-gap: 2px;
}

#header:not(.home-topnav) .header-inner-mobile-toggle {
	display: none;
}

#header:not(.home-topnav) ul.site-main-nav > li {
	color: rgba(245, 240, 232, 0.95);
	font-size: 14px;
	padding: 0;
	min-width:90px;
}

#header:not(.home-topnav) ul.site-main-nav > li > a {
	padding: 4px 0.35vw !important;
	letter-spacing: 0.06em !important;
}

#header:not(.home-topnav) ul.site-main-nav > li + li::before,
#header:not(.home-topnav) ul.site-main-nav::before,
#header:not(.home-topnav) ul.site-main-nav::after {
	color: rgba(232, 212, 184, 0.45);
}

#header:not(.home-topnav) ul.site-main-nav > li > a.menu-link-bilingual .menu-title-zh {
	color: rgba(245, 240, 232, 0.88) !important;
}

#header:not(.home-topnav) ul.site-main-nav > li > a.menu-link-bilingual .menu-title-en {
	color: rgba(210, 198, 180, 0.88) !important;
	font-size: 10px !important;
	margin-top: 2px !important;
}

#header:not(.home-topnav) ul.site-main-nav > li > a:hover .menu-title-zh {
	color: #ffffff !important;
}

#header:not(.home-topnav) ul.site-main-nav > li > a:hover .menu-title-en {
	color: #e8d4b8 !important;
}

#header:not(.home-topnav) ul.site-main-nav > li > a {
	color: rgba(245, 240, 232, 0.98);
}

#header:not(.home-topnav) ul.site-main-nav > li > a:hover {
	color: #ffffff;
}

@media screen and (max-width : 1220px) {
	#header:not(.home-topnav) .header-inner-search-box {
		min-width: 180px;
	}
}

@media screen and (max-width : 1024px) {
	#header:not(.home-topnav) .header-inner-quicklinks {
		font-size: 14px;
	}
}

#header.on{ position:fixed; z-index:9998; }

#header .wrap .logo{position:absolute;top: 10px;left: 15px;}

#header .wrap #mobileMenu{display:none;position:absolute;top: 35%;right: 10px;width: 35px;height: 30px;font-size: 25px;color: #3e567c;padding: 6px 8px;border: 2px solid #3e567c;cursor:pointer;border-radius: 5px;}

#header .wrap .nav{position:absolute;top: 40px;right: 15px;height:35px;-webkit-border-radius: 20px;font-size: 16px;font-weight: normal;cursor: pointer;}

#header .wrap .nav i{ font-style:inherit; }

#header .wrap .nav:before{/*content:url(../../images/header-icon-user.png);vertical-align: -70%;padding-right: 8px;*/}

#header .wrap .nav img{vertical-align: middle;margin: 0 5px;}

#header .wrap .nav a{display:inline-block;padding: 0 10px;font-size: 14px;color: #3e567c;text-decoration:none;}

#header .wrap .nav a:last-child{padding: 0 0 0 10px;}

#header .wrap .nav a:hover{ color:#2c3f5a; }



/* 僅套用於 .wrap 內搜尋列；排除內頁 .header-inner-quicklinks（需與搜尋同一列 flex） */
#header .wrap nav:not(.header-inner-quicklinks){position:absolute;top: 80px;right: 20px;width: 570px;text-align: right;padding:0;margin:0;list-style:none;}

#header .wrap nav input[type='text']{box-sizing:border-box;font-size: 15px;border: 1px solid #c4c4c4;padding: 7px 10px 7px 35px;letter-spacing:1px;color:#666;outline:0;width: 320px;background: #ffffff;transition: all 0.5s ease;}

#header .wrap nav span{ position:relative; }

#header .wrap nav span div{color: #3e567c;font-size: 17px;position:absolute;top: 0px;left: 10px;cursor: pointer;}



#header ul.site-main-nav{
   width: 100%;
   /* max-width: 1200px; */
   /* position:absolute; */
   left: 0;
   right: 0;
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 0;
   padding: 0px 0px;
   bottom: 0px;
   list-style: none;
   /* background: #879ab2; */
   display: flex;
   justify-content: center;
   align-items: center;
   /* border: 1px solid #e0e0e0; */
   /* border-radius: 20px; */
   /* box-shadow: 3px 3px 5px rgb(38 38 102 / 10%); */
   /* -webkit-transition: width 0.2s ease-in-out; */
   -moz-transition: width 0.2s ease-in-out;
   -o-transition: width 0.2s ease-in-out;
   /* transition: width 0.2s ease-in-out; */
}

#header ul.site-main-nav > li{position:relative;display:flex;flex-direction:row;align-items:center;font-size: 16px;padding: 0 0.35vw;color: #ffffff;/* font-family: 'Noto Sans TC', sans-serif; */transition: all 0.5s ease;}

#header ul.site-main-nav > li + li::before{/* content:'|'; */color:#cfd6df;font-weight:300;font-size:1.1em;padding:0 0.65vw 0 0.15vw;align-self:center;user-select:none;pointer-events:none;}

#header ul.site-main-nav::before,#header ul.site-main-nav::after{/* content:'|'; */color:#cfd6df;font-weight:300;font-size:1.1em;align-self:center;user-select:none;pointer-events:none;padding:0 0.35vw;}

#header ul.site-main-nav > li:last-child{/* border-right: 1px solid #ebebeb; */}

#header ul.site-main-nav > li:hover{  }

#header ul.site-main-nav > li > a{color: #0d0d0d;font-weight: normal;letter-spacing:3px;/* border-bottom:3px solid #ffffff; */text-decoration:none;display: inline-block;padding: 20px 0.5vw 20px 0.5vw;/* border-right: 1px solid #ffffff; */}

#header ul.site-main-nav > li > a:hover .menu-title-zh{ color:#3e567c; }

#header ul.site-main-nav > li > a:hover .menu-title-en{ color:#8494ae; }

#header ul.site-main-nav > li > a:hover{ /*border-bottom:3px solid #90c31f;*/ }

#header ul.site-main-nav > li > a.menu-link-bilingual{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.25;letter-spacing:1px;}

#header ul.site-main-nav > li > a.menu-link-bilingual .menu-title-zh{display:block;color:#0d0d0d;font-weight: normal;font-size: 1.1em;}

#header ul.site-main-nav > li > a.menu-link-bilingual .menu-title-en{display:block;color:#8494ae;font-weight: normal;font-size:10px;letter-spacing:0.5px;margin-top:2px;}

#header ul.site-main-nav > li:before{/*content:url(../../images/header-icon-flower.png);padding-right:10px;vertical-align: -15%;*/}

#header ul.site-main-nav > li:hover:before{  }

#header ul.site-main-nav > li:last-child a{/* border:0; */}

/* ---- 捲動後吸附於頂部：限制 1400px 置中，左 Logo、右選單 ---- */
#header ul.site-main-nav.on{
	width: 100%;
	max-width: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9998;
	bottom: inherit;
	margin: 0;
	padding: 10px max(20px, calc((100vw - 1400px) / 2)) !important;
	background: #ffffff;
	border-bottom: 1px solid #cccccc;
	border-radius: 0;
	-webkit-border-radius: 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	gap: 12px 18px;
	box-sizing: border-box;
}

/* 吸附列才顯示的左側 Logo（平時隱藏），透過 margin-right:auto 將選單擠到右側 */
#header ul.site-main-nav .sticky-nav-logo-item{
	display: none;
}
#header ul.site-main-nav.on .sticky-nav-logo-item{
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: flex-start;
	margin: 0 auto 0 0;
	padding: 0;
	order: -1;
	list-style: none;
}
#header ul.site-main-nav.on .sticky-nav-logo-item::before,
#header ul.site-main-nav.on .sticky-nav-logo-item::after{
	content: none !important;
	display: none !important;
	padding: 0 !important;
}
#header ul.site-main-nav.on .sticky-nav-logo-item a{
	display: inline-flex;
	align-items: center;
	line-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-decoration: none;
}
#header ul.site-main-nav.on .sticky-nav-logo-item img{
	display: block;
	height: 45px;
	width: auto;
	max-height: 50px;
	max-width: 240px;
	object-fit: contain;
}

/* after 偽元素在吸附列不顯示，避免多餘空白 */
#header ul.site-main-nav.on::after{
	content: none !important;
	display: none !important;
	padding: 0 !important;
}

#header:not(.home-topnav) ul.site-main-nav.on {
	background: linear-gradient(180deg, #2a0a0d 0%, #3a1116 28%, #401318 100%) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.22) !important;
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.18);
}

#header ul.site-main-nav > li ul {

    display: block;

    list-style: none;

    color: #fdf3f2;

    z-index: 99;

    padding: 0px;

    margin: 0;

    display: none;

    position: absolute;

    top: 100%;

    left: 50%; /* 將次選單左側對齊父選單中央 */

    transform: translateX(-50%); /* 以 transform 置中 */

    width: 240px;

    line-height: 25px;

    color: #4D4435;

    background: #ffffff;

    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);

}



#header ul.site-main-nav > li:hover > ul {

    display: block;

}

#header ul.site-main-nav > li ul li{

    position:relative;

    font-weight:normal;

    /*padding: 10px 20px 10px 35px;*/
	padding: 10px 20px 10px 25px;

    text-align:left;

    border-bottom: 1px solid #ebebeb;

}

#header ul.site-main-nav > li ul li:last-child{ border:0; }

#header ul.site-main-nav > li ul li a{

    position:relative;

    display:block;

    color: #0d0d0d !important;

    letter-spacing:3px;

    font-weight: normal;

    text-decoration:none;

    text-align:left;

    border-bottom:0 !important;

    padding: 0 0 0 18px; /* 留出箭頭寬度，使換行文字與第一行對齊 */

}

#header ul.site-main-nav > li ul li a.menu-link-bilingual{display:flex;flex-direction:column;align-items:flex-start;letter-spacing:1px;line-height:1.3;padding-top:2px;padding-bottom:2px;font-weight: normal;}

#header ul.site-main-nav > li ul li a.menu-link-bilingual .menu-title-zh{font-weight: normal !important;}

#header ul.site-main-nav > li ul li a.menu-link-bilingual .menu-title-en{font-size:12px;color:#8f5b63 !important;letter-spacing:0.5px;margin-top:2px;font-weight: normal;}

#header ul.site-main-nav > li ul li a:before{

    position:absolute;

    left:0;

    top:50%;

    transform:translateY(-50%);

    font-family:"Font Awesome 5 Free";

    font-weight:900;

    content:"\f105";

}

#header ul.site-main-nav > li ul li:hover{ background:#f6eeef;}

#header ul.site-main-nav > li ul li a:hover{ color:#7a2a36; }

#header ul.site-main-nav > li ul li a.menu-link-bilingual:hover .menu-title-zh{ color:#7a2a36 !important; }

#header ul.site-main-nav > li ul li a.menu-link-bilingual:hover .menu-title-en{ color:#b17780 !important; }



#header ul.site-main-nav > li > ul > li > ul{display:none;position:absolute;left: 330px;top: 0px;}

#header ul.site-main-nav > li > ul > li:hover ul{ display:block; }



#header ul.site-main-nav > li > ul > li > ul > li > ul{display:none !important;position:absolute;left: 200px;top: 0px;}

#header ul.site-main-nav > li > ul > li > ul > li:hover ul{ display:block !important; }







#mobileMenu {

	 width: 30px;

	 height: 25px;

	 position: absolute;

	 bottom:20px;

	 z-index: 999;

	 cursor: pointer

}

#mobileMenu span {

	 width: 15px;

	 height: 2px;

	 display: block;

	 background: #3e567c;

	 margin-top: 4px;

	 -webkit-transition: 0.7s cubic-bezier(0.18, 1, 0.21, 1);

	 -moz-transition: 0.7s cubic-bezier(0.18, 1, 0.21, 1);

	 -ms-transition: 0.7s cubic-bezier(0.18, 1, 0.21, 1);

	 -o-transition: 0.7s cubic-bezier(0.18, 1, 0.21, 1);

	 transition: 0.7s cubic-bezier(0.18, 1, 0.21, 1);

}

.mobileMenu_spac {

	background: #fff !important

}

#mobileMenu span:first-child {

	margin-top: 0;

}

#mobileMenu .top {

	 position: absolute;

	 top: 10px;

	 -webkit-transform: rotate(225deg);

	 -moz-transform: rotate(225deg);

	 transform: rotate(225deg)

}

#mobileMenu .bottom {

	 position: absolute;

	 top: 10px;

	 margin-top: 0 !important;

	 -webkit-transform: rotate(-225deg);

	 -moz-transform: rotate(-225deg);

	 transform: rotate(-225deg)

}

#mobileMenu .middle {

	opacity: 0

}



@media screen and (max-width : 1220px) {

	#header ul.site-main-nav{}

	#header .wrap .nav{ right:23px; }

	#header .wrap nav{ right:10px; }

}

@media screen and (max-width : 1024px) {

	#header ul.site-main-nav > li{ font-size:14px; }

}

/* 內頁快捷列：僅在手機版與首頁一樣顯示 */
#header:not(.home-topnav) .home-quickbar {
	display: none;
}

@media screen and (max-width : 900px) {



	#header .wrap{min-height:inherit;border-bottom: 1px solid #ebebeb;}

	/* 只隱藏主 logo 區內的搜尋 nav，勿套整個 #header nav（會誤藏 home-quickbar 內的 nav） */
	#header .wrap nav{ display:none; }

	#header .wrap #mobileMenu{display: block;}

	

	#header .wrap .logo{position:inherit;padding: 10px 10px 10px 10px;max-width: 190px;}

	#header .wrap .nav{ display:none; top:35%; width:35px; right:50px; }

	#header .wrap .nav i{ display:none; }

	#header ul{ display:none; }

	#header .wrap .nav{ display:none; }

	/* 內頁：手機頂區＝酒紅列＋ quickbar（#wrapper 第一層為 #header 時；不依賴 body :has） */
	:root {
		--site-topnav-h: 54px;
		--site-quickbar-h: 36px;
	}

	#wrapper:has(> #header:not(.home-topnav)) {
		padding-top: calc(var(--site-topnav-h) + var(--site-quickbar-h));
		box-sizing: border-box;
	}

	#header:not(.home-topnav) {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 9997;
		background: rgba(74, 21, 32, 0.94);
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	/* 內頁手機頂列：與首頁一致（不顯示 Logo，只有酒紅列 + 右側漢堡） */
	#header:not(.home-topnav) .header-inner-brand,
	#header:not(.home-topnav) .header-inner-brand .site-header-logo-link,
	#header:not(.home-topnav) .header-inner-brand img {
		display: none !important;
	}

	#header:not(.home-topnav) .wrap.header-inner-wrap {
		flex: 0 0 auto;
		min-height: var(--site-topnav-h, 54px);
		border-bottom: none;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		padding: 10px 56px 10px 16px;
		box-sizing: border-box;
		max-width: none;
		width: 100%;
		margin: 0;
		background: transparent !important;
		position: relative;
		overflow: visible;
	}

	/* 手機：隱藏桌面社群／快速連結／搜尋（改由 quickbar 呈現）；主選單改由漢堡 */
	#header:not(.home-topnav) .header-inner-tools {
		display: none !important;
	}

	/* 不用 position:relative，否則 absolute 的漢堡會以過窄的右欄為參考而「跑掉」；改由 .wrap 當定位參考（與首頁 nav#header 一致） */
	#header:not(.home-topnav) .header-inner-right {
		flex: 1 1 auto;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		align-self: stretch;
		min-height: 0;
		min-width: 0;
		gap: 0;
		width: 100%;
		max-width: 100%;
		position: static;
	}

	/* 內頁手機：主選單只走側欄漢堡，不可顯示（權重需蓋過 #header ul.site-main-nav 的 display:flex） */
	#header:not(.home-topnav) ul.site-main-nav,
	#header:not(.home-topnav) ul.site-main-nav.on {
		display: none !important;
	}

	/* 內頁手機：捲動後仍維持酒紅頂欄，勿變白底（避免 .header-inner-wrap 看起來像浮在空白上） */
	#header:not(.home-topnav).on {
		background: rgba(74, 21, 32, 0.94) !important;
		border-bottom: none !important;
	}

	#header:not(.home-topnav).on .wrap,
	#header:not(.home-topnav).on .wrap.header-inner-wrap {
		background: transparent !important;
	}

	#header:not(.home-topnav) .wrap #mobileMenu {
		display: flex !important;
		position: absolute;
		right: 14px;
		top: 50%;
		bottom: auto;
		transform: translateY(-50%);
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
		margin: 0;
		font-size: 0;
		color: #fff;
		border: 1px solid rgba(255, 255, 255, 0.4);
		border-radius: 12px;
		background: rgba(0, 0, 0, 0.12);
		-webkit-tap-highlight-color: transparent;
		align-items: center;
		justify-content: center;
		gap: 0;
		flex-direction: column;
		box-sizing: border-box;
	}

	#header:not(.home-topnav) .wrap #mobileMenu span {
		width: 20px;
		height: 2px;
		margin: 0 !important;
		margin-top: 5px !important;
		border-radius: 2px;
		background: rgba(255, 255, 255, 0.92);
		box-sizing: border-box;
		display: block;
	}

	#header:not(.home-topnav) .wrap #mobileMenu span:first-child {
		margin-top: 0 !important;
	}

	/* 漢堡鈕捲動前後同樣式（與未捲動狀態一致） */
	#header:not(.home-topnav).on .wrap #mobileMenu {
		border-color: rgba(255, 255, 255, 0.4);
		background: rgba(0, 0, 0, 0.12);
	}

	#header:not(.home-topnav).on .wrap #mobileMenu span {
		background: rgba(255, 255, 255, 0.92);
	}

	/* 內頁 quickbar：與首頁相同獨立 fixed 列（頂部列下緊貼），避免與 #header flex 嵌套造成差異 */
	#header:not(.home-topnav) .home-quickbar {
		flex: none;
		display: flex;
		flex-direction: row;
		align-items: stretch;
		min-height: var(--site-quickbar-h, 36px);
		position: fixed;
		top: var(--site-topnav-h, 54px);
		left: 0;
		right: 0;
		z-index: 9996;
		box-sizing: border-box;
		overflow: hidden;
		box-shadow: 0 4px 14px rgba(22, 12, 16, 0.14);
		border-bottom: 1px solid rgba(74, 21, 32, 0.18);
	}

	#header:not(.home-topnav) .home-quickbar-links {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		width: auto;
		max-width: none;
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		align-items: stretch;
		margin: 0;
		padding: 0 4px 0 8px;
		box-sizing: border-box;
		background: #2a2627;
	}

	#header:not(.home-topnav) .home-quickbar-links a {
		flex: 1 1 0;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-family: 'Noto Sans TC', sans-serif;
		font-size: 12px;
		font-weight: normal;
		letter-spacing: 0.04em;
		color: rgba(245, 242, 240, 0.92);
		text-decoration: none;
		line-height: 1.15;
		padding: 0 2px;
		border-left: 1px solid rgba(255, 255, 255, 0.08);
		transition: color 0.15s ease, background 0.15s ease;
	}

	#header:not(.home-topnav) .home-quickbar-links a:first-child {
		border-left: 0;
	}

	#header:not(.home-topnav) .home-quickbar-links a:hover {
		color: #fff;
		background: rgba(255, 255, 255, 0.08);
	}

	#header:not(.home-topnav) .home-quickbar-social {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 0 10px 0 10px;
		box-sizing: border-box;
		background: #3a3234;
		min-height: var(--site-quickbar-h, 36px);
		border-left: 1px solid rgba(0, 0, 0, 0.2);
	}

	#header:not(.home-topnav) .home-quickbar-social-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: rgba(232, 215, 190, 0.92);
		font-size: 17px;
		text-decoration: none;
		line-height: 1;
		opacity: 0.9;
		transition: opacity 0.15s ease, color 0.15s ease, transform 0.15s ease;
	}

	#header:not(.home-topnav) .home-quickbar-social-link:hover {
		opacity: 1;
		color: #f0e4d4;
		transform: translateY(-1px);
	}

	#header:not(.home-topnav) .home-quickbar-social-link--muted {
		display: inline-flex;
		opacity: 0.32;
		pointer-events: none;
		color: rgba(232, 215, 190, 0.5);
	}

	/* 內頁手機：捲動不改 quickbar 配色，與頂部停留時一致 */
	/* 手機版內頁 home-quickbar 捲動時維持原配色，不變色 */

}

/* ========== 首頁 Home hero：左欄 + 覆蓋主選單 ========== */

.header--home {
	position: relative;
	--home-sidebar-width: 408px;
}

#home-shell {
	display: block;
	min-height: 0;
	width: 100%;
}

.home-hero-row {
	display: flex;
	align-items: stretch;
	width: 100%;
	box-sizing: border-box;
}

.site-sidebar {
	position: relative;
	flex: 0 0 var(--home-sidebar-width);
	width: var(--home-sidebar-width);
	min-width: var(--home-sidebar-width);
	max-width: var(--home-sidebar-width);
	align-self: stretch;
	display: flex;
	flex-direction: column;
	z-index: 2;
	background: transparent;
	color: #fff;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.site-sidebar-inner {
	padding: 28px 24px 32px 52px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: right;
	flex: 1 1 auto;
	min-height: 100%;
	box-sizing: border-box;
	background:url(../../images/header-bg.png) repeat;
}

.site-sidebar-logo-link {
	display: block;
	margin-bottom: 16px;
	margin-left: auto;
	text-align: right;
}

.site-sidebar-logo {
	max-width: 140px;
	height: auto;
	display: block;
	margin: 0 0 0 auto;
}

.site-sidebar-nav {
	width: 100%;
	max-width: 150px;
	margin-left: auto;
	display: flex;
	flex-direction: column;
	gap: 6px 0;
	margin-bottom: 20px;
}

.site-sidebar-nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: left;
	padding: 10px 8px;
	color: rgba(255, 255, 255, 0.95);
	text-decoration: none;
	font-family: 'Noto Sans TC', sans-serif;
	font-size: 15px;
	font-weight: normal;
	letter-spacing: 0.06em;
	border-radius: 4px;
	transition: color 0.2s ease;
}

.site-sidebar-nav a:hover,
.site-sidebar-nav a:focus-visible {
	color: #fff;
}

.site-sidebar-nav-icon {
	flex: 0 0 0;
	width: 0;
	height: 18px;
	overflow: hidden;
	opacity: 0;
	margin-right: 0;
	background: url(../../images/menu-icon-1.png) no-repeat center;
	background-size: contain;
	transition: flex-basis 0.2s ease, width 0.2s ease, opacity 0.2s ease, margin-right 0.2s ease;
	align-self: center;
}

.site-sidebar-nav a:hover .site-sidebar-nav-icon,
.site-sidebar-nav a:focus-visible .site-sidebar-nav-icon {
	flex-basis: 22px;
	width: 22px;
	opacity: 1;
	margin-right: 10px;
}

.site-sidebar-social {
	display: flex;
	justify-content: flex-end;
	gap: 18px;
	margin-top: auto;
	padding-top: 16px;
	width: 100%;
	max-width: 288px;
	margin-left: auto;
}

.site-sidebar-social a {
	color: #d4c5ac;
	font-size: 18px;
	transition: color 0.2s ease;
}

.site-sidebar-social a:hover {
	color: #d4af37;
}

.home-main-column {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	box-sizing: border-box;
	min-width: 0;
}

.home-hero-stack {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	align-self: stretch;
	display: block;
}

.header--home #header.home-topnav,
.header--home nav#header.home-topnav {
	position: absolute;
	left: 0px;
	right: 0px;
	top: 0px;
	z-index: 30;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	padding: 30px 12px 12px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.12) 55%, transparent 100%);
	box-sizing: border-box;
	min-height: 64px;
}

.header--home #header #mobileMenu {
	position: absolute;
	right: 12px;
	top: 50%;
	bottom: auto;
	transform: translateY(-50%);
	color: #fff;
	display: none;
	z-index: 40;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.12);
	-webkit-tap-highlight-color: transparent;
	align-items: center;
	justify-content: center;
	gap: 0;
	flex-direction: column;
}

.header--home #header #mobileMenu span {
	width: 20px;
	height: 2px;
	margin: 0 !important;
	margin-top: 5px !important;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.92);
	box-sizing: border-box;
}

.header--home #header #mobileMenu span:first-child {
	margin-top: 0 !important;
}

.header--home #header ul.site-main-nav {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 4px 40px 0 40px;
	justify-content: flex-start;
	flex-wrap: wrap;
	row-gap: 4px;
	column-gap: clamp(4px, 1.2vw, 14px);
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
}

.header--home #header ul.site-main-nav.on{flex-wrap: nowrap;gap: 12px 18px;} 
#header ul.site-main-nav.on > li > a.menu-link-bilingual .menu-title-zh{font-size:15px;}

.header--home #header ul.site-main-nav.on > li {
	font-size: 15.4px;
	padding: 0;
	align-items: flex-start;
	min-width:90px;
}
.header--home #header ul.site-main-nav.on > li > a {                                                                                                                                                                  
	   padding: 4px 0.35vw !important;
  }   

.header--home #header ul.site-main-nav > li + li::before,
.header--home #header ul.site-main-nav::before,
.header--home #header ul.site-main-nav::after {
	content: none !important;
	display: none !important;
	padding: 0 !important;
}

/* Home page 捲動吸附列：解除 sticky-nav-logo-item li 上被覆寫的 ::before/::after 隱藏 */
.header--home #header ul.site-main-nav.on .sticky-nav-logo-item{
	display: inline-flex !important;
}

.header--home #header ul.site-main-nav > li > a.menu-link-bilingual {
	align-items: flex-start;
	text-align: left;
}

.header--home #header ul.site-main-nav > li > a.menu-link-bilingual .menu-title-zh {
	color: rgba(255, 255, 255, 0.95) !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
	font-weight: normal !important;
}

.header--home #header ul.site-main-nav > li > a.menu-link-bilingual .menu-title-en {
	color: rgba(255, 255, 255, 0.65) !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
	font-weight: normal !important;
}

.header--home #header ul.site-main-nav > li > a {
	padding: 12px 0.45vw 14px;
}

.header--home #header ul.site-main-nav > li:hover > ul {
	z-index: 100;
}

.header--home #header ul.site-main-nav > li ul {
	background: #fffef8;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

@media screen and (min-width: 901px) {
	.header--home .home-quickbar {
		display: none !important;
	}

	.header--home #header ul.site-main-nav.on {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		top: 0 !important;
		margin: 0 !important;
		padding: 10px max(20px, calc((100vw - 1400px) / 2)) !important;
		justify-content: flex-start !important;
		align-items: center !important;
		background: linear-gradient(180deg, #2a0a0d 0%, #3a1116 28%, #401318 100%) !important;
		border-bottom: 1px solid rgba(0, 0, 0, 0.22) !important;
		box-shadow: 0 6px 22px rgba(0, 0, 0, 0.18) !important;
		z-index: 9998 !important;
	}

	.header--home #header ul.site-main-nav.on > li {
		align-items: center !important;
	}



	.header--home #header ul.site-main-nav.on > li > a.menu-link-bilingual {
		align-items: center !important;
		text-align: center !important;
	}

	.header--home #header ul.site-main-nav.on > li + li::before,
	.header--home #header ul.site-main-nav.on::before,
	.header--home #header ul.site-main-nav.on::after {
		content: none !important;
		display: none !important;
		padding: 0 !important;
	}

	.header--home #header ul.site-main-nav.on > li > a.menu-link-bilingual .menu-title-zh {
		color: rgba(245, 240, 232, 0.88) !important;
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
		font-weight: normal !important;
	}

	.header--home #header ul.site-main-nav.on > li > a.menu-link-bilingual .menu-title-en {
		color: rgba(210, 198, 180, 0.88) !important;
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
		font-weight: normal !important;
	}
}

@media screen and (max-width: 900px) {
	.header--home {
		--home-sidebar-width: 0;
		/* 須與下方 nav#header.home-topnav 實際高度一致，否則 quickbar 的 top 會露出空隙 */
		--home-topnav-h: 54px;
		--home-quickbar-h: 36px;
	}

	.header--home .home-hero-stack {
		padding-top: calc(var(--home-topnav-h) + var(--home-quickbar-h));
	}

	.home-hero-row {
		flex-direction: column;
		align-items: stretch;
	}

	.header--home .site-sidebar {
		display: none !important;
	}

	.home-hero-stack {
		order: 1;
		width: 100%;
	}

	.home-main-column {
		margin-left: 0;
		width: 100%;
	}

	.header--home #header #mobileMenu {
		display: flex;
	}

	.header--home #header ul.site-main-nav {
		display: none !important;
	}

	.header--home #header ul.site-main-nav.on {
		display: none !important;
	}

	.header--home nav#header.home-topnav {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 9997;
		background: rgba(74, 21, 32, 0.94);
		min-height: 54px;
		padding: 10px 56px 10px 16px;
		box-sizing: border-box;
		align-items: center;
	}

	/* 手機版首頁 header 捲動時維持原樣，不變色 */
	.header--home #header.on {
		background: rgba(74, 21, 32, 0.94) !important;
		border-bottom: none;
	}

	.header--home #header.on #mobileMenu {
		border-color: rgba(255, 255, 255, 0.4);
		background: rgba(0, 0, 0, 0.12);
	}

	.header--home #header.on #mobileMenu span {
		background: rgba(255, 255, 255, 0.92);
	}

	.header--home #header #mobileMenu {
		right: 14px;
	}

	.header--home .home-quickbar {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		min-height: var(--home-quickbar-h);
		position: fixed;
		top: var(--home-topnav-h);
		left: 0;
		right: 0;
		z-index: 9996;
		box-sizing: border-box;
		overflow: hidden;
		box-shadow: 0 4px 14px rgba(22, 12, 16, 0.14);
		border-bottom: 1px solid rgba(74, 21, 32, 0.18);
	}

	.header--home .home-quickbar-links {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		align-items: stretch;
		margin: 0;
		padding: 0 4px 0 8px;
		box-sizing: border-box;
		background: #2a2627;
	}

	.header--home .home-quickbar-links a {
		flex: 1 1 0;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-family: 'Noto Sans TC', sans-serif;
		font-size: 12px;
		font-weight: normal;
		letter-spacing: 0.04em;
		color: rgba(245, 242, 240, 0.92);
		text-decoration: none;
		line-height: 1.15;
		padding: 0 2px;
		border-left: 1px solid rgba(255, 255, 255, 0.08);
		transition: color 0.15s ease, background 0.15s ease;
	}

	.header--home .home-quickbar-links a:first-child {
		border-left: 0;
	}

	.header--home .home-quickbar-links a:hover {
		color: #fff;
		background: rgba(255, 255, 255, 0.08);
	}

	.header--home .home-quickbar-social {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 0 10px 0 10px;
		box-sizing: border-box;
		background: #3a3234;
		min-height: var(--home-quickbar-h);
		border-left: 1px solid rgba(0, 0, 0, 0.2);
	}

	.header--home .home-quickbar-social-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: rgba(232, 215, 190, 0.92);
		font-size: 17px;
		text-decoration: none;
		line-height: 1;
		opacity: 0.9;
		transition: opacity 0.15s ease, color 0.15s ease, transform 0.15s ease;
	}

	.header--home .home-quickbar-social-link:hover {
		opacity: 1;
		color: #f0e4d4;
		transform: translateY(-1px);
	}

	.header--home .home-quickbar-social-link--muted {
		display: inline-flex;
		opacity: 0.32;
		pointer-events: none;
		color: rgba(232, 215, 190, 0.5);
	}

	/* 手機版首頁 home-quickbar 捲動時維持原配色，不變色 */
}

/* 手機抽屜：與 footer 同款（後印 logo_img_f） */
.sidenav .head .sidenav-logo-link {
	display: inline-block;
	max-width: calc(100% - 52px);
	vertical-align: middle;
}

.sidenav .head .sidenav-logo-img {
	display: block;
	max-width: 148px;
	max-height: 46px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* ========== 手機版 header 左側 LOGO（桌面版隱藏，僅手機版顯示） ========== */
.mobile-header-logo {
	display: none;
}

@media screen and (max-width: 900px) {
	.mobile-header-logo {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		left: 14px;
		top: 50%;
		transform: translateY(-50%);
		line-height: 0;
		text-decoration: none;
		z-index: 2;
		-webkit-tap-highlight-color: transparent;
	}

	.mobile-header-logo img {
		display: block;
		height: 34px;
		width: auto;
		max-height: 40px;
		object-fit: contain;
	}

	/* 首頁手機版：預留左側 logo 空間，避免與 quickbar 或漢堡重疊 */
	.header--home nav#header.home-topnav {
		padding-left: 62px;
	}

	/* 內頁手機版：讓 .wrap 成為絕對定位參考點（實際上 media query 已設為 flex），並預留左側 logo 空間 */
	#header:not(.home-topnav) .wrap.header-inner-wrap {
		position: relative;
		padding-left: 62px;
	}
}

