@charset "utf-8";

/* common */
@import url("common.css");

/* bread-crumb */
#bread-crumb {
	margin-bottom: 20px;
	font-size: 14px;
	color: #666;
}

#bread-crumb a {
	display: inline-block;
	margin: 0 5px;
	color: #e46815;
}

#bread-crumb a.home {
	margin-left: 0;
}

#bread-crumb span {
	display: inline-block;
	margin-left: 5px;
}

/* main-title */
#main-title {
	margin-bottom: 40px;
	border-bottom: 1px solid #e46815;
	overflow: hidden;
	font-size: 35px;
	color: #e46815;
	line-height: 40px;
}

#main-title span {
	float: left;
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: 2px solid #e46815;
}

/* fill-form */
.fill-form.member {
	max-width: 768px;
	margin: 0 auto 50px auto;
}

.fill-form .form-title {
	margin-bottom: 20px;
	font-size: 25px;
	color: #000;
	line-height: 30px;
}

.fill-form .note {
	margin-bottom: 40px;
	font-size: 15px;
	color: #666;
	line-height: 23px;
	letter-spacing: .5px;
}

.fill-form .note.center {
	text-align: center;
}

.fill-form li {
	margin-bottom: 20px;
}

.fill-form li:last-child {
	margin: 0;
}

.fill-form li span {
	display: block;
	margin-bottom: 10px;
	font-size: 15px;
	color: #333;
}

.fill-form li span b {
	padding-right: 5px;
	color: #DA0404;
}

.fill-form li input[type="text"],
.fill-form li input[type="email"],
.fill-form li input[type="tel"],
.fill-form li input[type="number"],
.fill-form li input[type="password"],
.fill-form li select,
.fill-form li textarea {
	display: block;
	width: 100%;
	height: 50px;
	padding: 10px;
	border: 1px solid #EEE;
	font-size: 15px;
	color: #333;
	box-sizing: border-box;
}

.fill-form li input::-webkit-input-placeholder {
	color: #CCC;
}

.fill-form li textarea {
	height: 300px;
}

.fill-form li label {
	display: inline-block;
	margin: 0 10px 10px 0;
	font-size: 15px;
	line-height: 15px;
}

.fill-form li label input[type="radio"] {
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 5px;
	vertical-align: top;
}

.fill-form li .address {
	overflow: hidden;
}

.fill-form li .address select {
	width: 49%;
	margin-bottom: 15px;
}

.fill-form li .address select.country {
	float: left;
}

.fill-form li .address select.district {
	float: right;
}

.fill-form li.old-pass {
	margin-bottom: 50px;
}

.fill-form li.old-pass span {
	color: #FF0000
}

.fill-form .button {
	margin-top: 50px;
	text-align: center;
}

.fill-form .button button,
.fill-form .button a {
	display: inline-block;
	min-width: 100px;
	margin: 5px;
	padding: 10px 20px;
	background: #e46815;
	border: none;
	border-radius: 3px;
	font-size: 15px;
	color: #FFF;
	line-height: 15px;
	box-sizing: border-box;
	transition: all .3s;
}

.fill-form .button .fb {
	background: #3b5998;
}

.fill-form .button button:hover,
.fill-form .button a:hover {
	background: #333;
}

/* page */
#page {
	margin-top: 50px;
	text-align: center;
}

#page a {
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 0 1px;
	background: #fcfcfc;
	border-radius: 3px;
	font-size: 14px;
	color: #000;
	line-height: 40px;
	transition: all .3s;
}

#page a.prev,
#page a.next {
	width: 80px;
	background: #333;
	color: #FFF;
}

#page a:hover,
#page a.active {
	background: #e46815;
	color: #FFF;
}

/* 登入頁桌機版將社群登入與帳密登入排為左右兩欄。 */
#member-login-layout {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 4%;
}

/* login */
#login {
	width: 48%;
	overflow: hidden;
}

#login .left,
#login .right {
	width: 48%;
	min-height: 500px;
	padding: 50px;
	border: 1px solid #DDD;
	box-sizing: border-box;
}

#login .left {
	width: 100%;
	float: none;
	min-height: 500px;
}

#login .right {
	float: right;
}

/* 社群登入面板固定為桌機左欄，與帳密登入高度一致。 */
#social-login-panel {
	width: 48%;
	min-height: 500px;
	padding: 32px 50px;
	border: 1px solid #DDD;
	background: #fafafa;
	text-align: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* 社群面板標題清楚說明按鈕同時支援登入與加入會員。 */
#social-login-panel .social-login-title {
	font-size: 23px;
	font-weight: bold;
	color: #333;
	line-height: 1.4;
}

/* 社群面板補充首次使用者會自動加入會員。 */
#social-login-panel .social-login-note {
	margin-top: 6px;
	font-size: 15px;
	color: #777;
	line-height: 1.5;
}

/* 社群登入按鈕使用垂直排列，讓三個平台入口容易辨識。 */
#social-login-panel .social-login-buttons {
	max-width: 520px;
	margin: 22px auto 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* 社群登入按鈕提供一致的尺寸、陰影與置中排版。 */
#social-login-panel .social-login-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 50px;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: 6px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	box-shadow: 0 3px 8px rgba(0, 0, 0, .12);
	transition: transform .2s, box-shadow .2s, background .2s;
}

/* 社群登入按鈕滑過時提供輕微浮起回饋。 */
#social-login-panel .social-login-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
}

/* 社群圖示維持固定圓形尺寸，避免文字按鈕寬度不一致。 */
#social-login-panel .social-login-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
}

/* Facebook 按鈕採用品牌藍與白色圖示。 */
#social-login-panel .social-login-button.facebook {
	background: #1877f2;
	color: #fff;
}

/* Facebook 圖示使用較大的小寫字母維持辨識度。 */
#social-login-panel .social-login-button.facebook .social-login-icon {
	font-size: 25px;
}

/* LINE 按鈕採用品牌綠與白色圖示。 */
#social-login-panel .social-login-button.line {
	background: #06c755;
	color: #fff;
}

/* LINE 圖示縮小字級使圓形圖示內文完整可讀。 */
#social-login-panel .social-login-button.line .social-login-icon {
	font-size: 10px;
}

/* Google 按鈕採用白底、灰框與深色文字。 */
#social-login-panel .social-login-button.google {
	background: #fff;
	border-color: #dadce0;
	color: #3c4043;
}

/* Google 圖示採用彩色字重，與白底按鈕形成明確對比。 */
#social-login-panel .social-login-button.google .social-login-icon {
	color: #4285f4;
}

/* Google 按鈕滑過時維持白底並加深邊框。 */
#social-login-panel .social-login-button.google:hover {
	background: #fff;
	border-color: #a8adb4;
	color: #3c4043;
}

/* 手機切換按鈕在桌機版預設不顯示。 */
.fill-form .button .login-mobile-switch {
	/* 桌機維持左右兩欄，不需要額外切換入口。 */
	display: none;
}

/* forget */
#forget {
	max-width: 480px;
	margin: 0 auto;
}

/* news-list */
#news-list dl {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px dashed #CCC;
}

#news-list dt {
	margin-bottom: 30px;
}

#news-list dt a {
	font-size: 25px;
	color: #333;
	font-weight: bold;
	letter-spacing: .5px;
	transition: all .3s;
}

#news-list dt a:hover {
	color: #e46815;
}

#news-list dd .date {
	margin-bottom: 10px;
	font-size: 13px;
	color: #999;
}

#news-list dd p {
	font-size: 15px;
	color: #666;
	line-height: 23px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* about */
#about {
	font-size: 15px;
	color: #666;
	line-height: 25px;
}

#about h2 {
	margin-bottom: 10px;
	font-size: 25px;
	font-weight: normal;
}

#about .map {
	position: relative;
	margin: 50px auto;
	padding-bottom: 52.65%;
}

#about .map iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

/* editor */
#editor {
	font-size: 15px;
	color: #666;
	line-height: 25px;
}

#editor a {
	color: #e46815;
	transition: all .3s;
}

#editor a:hover {
	text-decoration: underline;
}

#editor img {
	display: inline-block;
	max-width: 100%;
	height: auto;
}

#editor .date {
	margin-bottom: 30px;
	font-size: 13px;
	color: #999;
}

#editor h2 {
	margin-bottom: 10px;
	font-size: 25px;
	font-weight: normal;
}

#editor .outdent {
	position: relative;
	padding-left: 15px;
}

#editor .outdent::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 9px;
	display: block;
	width: 6px;
	height: 6px;
	background: #e46815;
	border-radius: 50%;
}

#editor span {
	color: #e46815;
}

/* sitemap */
#sitemap dl {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px dashed #CCC;
}
#sitemap dt {
	margin-bottom: 20px;
}

#sitemap dt a {
	font-size: 25px;
	color: #e46815;
}

#sitemap dt a:hover {
	text-decoration: underline;
}

#sitemap dd ul {
	overflow: hidden;
}

#sitemap dd li {
	position: relative;
	float: left;
	width: 25%;
	margin-bottom: 10px;
}

#sitemap dd li a {
	font-size: 15px;
	color: #333;
	transition: all .3s;
}

#sitemap dd li a::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 0 8px;
	background: #666;
	border-radius: 50%;
	vertical-align: middle;
}

#sitemap dd li img {
	position: absolute;
	left: 0;
	top: 100%;
	display: none;
	max-width: 100%;
	height: auto;
	margin-top: 10px;
	z-index: 1
}

#sitemap dd li a:hover {
	color: #e46815;
}

#sitemap dd li a:hover::before {
	background: #e46815;
}

#sitemap dd li:hover img {
	display: block;

}

/* question */
#question dl {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px dashed #CCC;
}

#question dt {
	margin-bottom: 20px;
	font-size: 25px;
	font-weight: normal;
}

#question dd {
	background: #e99054;
	border-bottom: 1px dashed #f1f1f1;
}

#question dd .title {
	position: relative;
	padding: 20px 40px 20px 20px;
	font-size: 20px;
	color: #FFF;
	cursor: pointer;
}

#question dd .title::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	display: block;
	width: 0;
	height: 0;
	margin-top: -5px;
	border-style: solid;
	border-width: 10px 5px 0 5px;
	border-color: #FFF transparent transparent transparent;
}

#question dd .title.active::after {
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
}

#question dd .content {
	display: none;
	margin-top: 10px;
	padding: 20px;
	background: #f1f1f1;
	font-size: 15px;
	color: #666;
	line-height: 23px;
}

/* order-list */
#order-list {
	width: 100%;
	border-right: 1px solid #f1f1f1;
	border-top: 1px solid #f1f1f1;
	font-size: 15px;
	color: #333;
	line-height: 20px;
	box-sizing: border-box;
}

#order-list thead td {
	background: #e46815;
	border-right: 1px solid #FFF;
	color: #FFF;
}

#order-list tbody tr:nth-child(even) {
	background: #fcfcfc;
}

#order-list tbody td {
	border-left: 1px solid #f1f1f1;
	border-bottom: 1px solid #f1f1f1;
}

#order-list td {
	padding: 15px;
	box-sizing: border-box;
}

#order-list td a {
	color: #e46815;
}

#order-list td a img {
	display: block;
	width: 100%;
	max-width: 100px;
	height: auto;
	transition: all .3s;
}

#order-list td a:hover {
	text-decoration: underline;
}

#order-list td a:hover img {
	opacity: .6;
}

#order-list td .control a {
	display: inline-block;
	margin: 5px 5px 0 0;
	padding: 10px;
	background: #e46815;
	border-radius: 5px;
	font-size: 15px;
	color: #FFF;
	transition: all .3s;
}

#order-list td .control a:hover {
	background: #999;
}

/* RWD */
@media screen and (max-width: 768px) {
	/* 手機版改為社群登入在上、帳密登入在下的單欄排列。 */
	#member-login-layout {
		display: block;
	}

	/* 手機版兩個登入區塊皆使用完整寬度。 */
	#social-login-panel,
	#login {
		width: 100%;
	}

	/* login */
	#login .left,
	#login .right {
		float: none;
		width: 100%;
		min-height: auto;
	}

	/* 手機版縮小社群面板留白，保留按鈕可點擊寬度。 */
	#social-login-panel {
		margin-bottom: 16px;
		min-height: auto;
		padding: 24px 18px;
	}

	/* 手機版降低社群面板標題尺寸避免斷行過多。 */
	#social-login-panel .social-login-title {
		font-size: 20px;
	}

	/* 手機版壓縮登入頁標題下方空白。 */
	#main-title {
		/* 減少登入卡片進入畫面前的垂直距離。 */
		margin-bottom: 16px;
		/* 手機版降低標題高度。 */
		font-size: 30px;
		/* 手機版降低標題行高。 */
		line-height: 34px;
	}

	/* 手機版壓縮登入頁標題底線高度。 */
	#main-title span {
		/* 減少標題底線與登入框之間的距離。 */
		padding-bottom: 6px;
	}

	#login .left {
		margin-bottom: 50px;
	}

	/* 手機版登入框改成緊湊高度。 */
	#login .left,
	#login .right {
		/* 降低登入與註冊框內距讓首屏能看到更多內容。 */
		padding: 22px;
	}

	/* 手機版壓縮登入區小標題。 */
	#login .fill-form .form-title {
		/* 降低小標題下方空白。 */
		margin-bottom: 12px;
		/* 降低小標題字級避免佔滿首屏。 */
		font-size: 22px;
		/* 降低小標題行高。 */
		line-height: 26px;
	}

	/* 手機版壓縮登入說明文字。 */
	#login .fill-form .note {
		/* 降低說明文字下方空白。 */
		margin-bottom: 18px;
		/* 降低說明文字字級。 */
		font-size: 14px;
		/* 降低說明文字行高。 */
		line-height: 20px;
	}

	/* 手機版登入表格列改成緊湊間距。 */
	#login .oFormTableMRwd td {
		/* 降低欄位上下留白。 */
		padding: 6px;
	}

	/* 手機版登入輸入框使用完整寬度。 */
	#login .oFormTableMRwd input[type="email"],
	#login .oFormTableMRwd input[type="password"],
	#login .oFormTableMRwd input[type="text"] {
		/* 讓輸入框不用保留共用表單的 10% 空白。 */
		width: 100%;
		/* 降低輸入框高度。 */
		height: 34px;
		/* 維持輸入框寬度計算穩定。 */
		box-sizing: border-box;
	}

	/* 手機版驗證碼圖片與輸入框靠齊。 */
	#login #verify_code {
		/* 減少驗證碼圖片造成的額外高度。 */
		vertical-align: middle;
	}

	/* 手機版登入按鈕區改成緊湊間距。 */
	#login .fill-form .button {
		/* 降低表單與按鈕之間的大空白。 */
		margin-top: 18px;
	}

	/* 手機版登入按鈕縮小高度。 */
	#login .fill-form .button button,
	#login .fill-form .button a {
		/* 降低按鈕上下留白。 */
		padding: 8px 14px;
		/* 降低按鈕最小寬度避免換行擠壓。 */
		min-width: 84px;
	}

	/* 手機版只在登入狀態顯示登入區塊。 */
	#login[data-active="login"] .left {
		/* 登入狀態保留登入表單。 */
		display: block;
	}

	/* 手機版登入狀態隱藏註冊區塊。 */
	#login[data-active="login"] .right {
		/* 登入狀態不顯示非會員入口。 */
		display: none;
	}

	/* 手機版註冊狀態隱藏登入區塊。 */
	#login[data-active="register"] .left {
		/* 註冊狀態不顯示登入表單。 */
		display: none;
	}

	/* 手機版只在註冊狀態顯示註冊區塊。 */
	#login[data-active="register"] .right {
		/* 註冊狀態保留非會員入口。 */
		display: block;
	}

	/* 手機版顯示登入與註冊切換按鈕。 */
	.fill-form .button .login-mobile-switch {
		/* 手機需要下方切換入口。 */
		display: inline-block;
	}

	/* sitemap */
	#sitemap dd li {
		width: 50%;
	}
}

@media screen and (max-width: 480px) {

	/* main-title */
	#main-title {
		margin-bottom: 10px;
	}
	
	/* fill-form */
	.fill-form li .address select {
		float: none;
		width: 100%;
	}

	/* login */
	#login .left,
	#login .right {
		/* 小手機版進一步降低登入框內距。 */
		padding: 18px;
	}

	/* sitemap */
	#sitemap dd li {
		float: none;
		width: 100%;
	}

	/* order-list */
	#order-list {
		border: 1px solid #f1f1f1;
	}

	#order-list thead {
		display: none;
	}

	#order-list tr {
		border-bottom: 1px solid #f1f1f1;
	}

	#order-list tbody td {
		display: block;
		width: 100%;
		padding: 10px;
		border: none;
	}

	#order-list tbody td::before {
		color: #000;
		font-weight: bold;
	}

	#order-list tbody td:nth-child(1)::before {
		content: "訂單編號：";
	}

	#order-list tbody td:nth-child(2)::before {
		content: "下單時間：";
	}

	#order-list tbody td:nth-child(3)::before {
		content: "訂單狀態：";
	}

	#order-list tbody td:nth-child(4)::before {
		content: "總金額：";
	}
}
