@font-face {
	font-family: 'SweiCurveSansCJKtc-Regular';
	src: url(https://cdn.jsdelivr.net/gh/max32002/swei-curve-sans@2.129/WebFont/CJK%20TC/SweiCurveSansCJKtc-Regular.woff2) format("woff2"), url(https://cdn.jsdelivr.net/gh/max32002/swei-curve-sans@2.129/WebFont/CJK%20TC/SweiCurveSansCJKtc-Regular.woff) format("woff");
}

img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body {
	font-family: Microsoft JhengHei;
	background-image: url(../images/bg.jpg);
	background-color: #a30206;
	background-size: contain;
	box-sizing: content-box;
	background-attachment: fixed;
}

.desktop {
	display: block;
}

.mobile {
	display: none;
}

.section_title {
	top: -3.5vw;
	left: 50%;
	transform: translate(-50%, 0);
	position: absolute;
	z-index: 1;
	margin: 0;
	width: 700px;
	height: 200px;
	padding: 60px 0 60px 0;
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;
	font-weight: bolder;
	letter-spacing: 0;
	line-height: 1.5;
	letter-spacing: -0.2rem;
	text-align: center;
}

.section_title h1 {
	font-family: 'SweiCurveSansCJKtc-Regular';
	font-weight: bolder;
	font-size: 3.6rem;
	line-height: 1.5;
	letter-spacing: -0.05rem;
	text-align: center;
	color: #000;
}

.section_title p {
	white-space: nowrap;
	position: absolute;
	letter-spacing: 0;
	border-radius: 5rem;
	font-size: 1.6rem;
	display: block;
	width: fit-content;
	transform: translateX(-50%);
	padding: 0.5rem 1rem 0.3rem;
	left: 50%;
	border: 2px solid transparent;
	background: linear-gradient(#000, #000) padding-box, linear-gradient(45deg, #FCEC96, #D4AF37, #FCEC96) border-box;
	color: #fff;
	border-radius: 50px;
}

.section_title span {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bolder;
	background: #f9e36f;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
	margin: 0 0.2rem 0 0.2rem;
}

.section_title .color01 {
	color: #f01818;
	margin: 0 0.3rem 0;
}

.section_title .color02 {
	color: #7023d9;
	margin: 0 0.3rem 0;
}

.section_title .color03 {
	color: #f01818;
	margin: 0 0.3rem 0;
}

.section_title .color04 {
	color: #0e55ff;
	margin: 0 0.3rem 0;
}

.section_title .color05 {
	color: #d3511d;
	margin: 0 0.3rem 0;
}

.section_title .color06 {
	color: #3135b9;
	margin: 0 0.3rem 0;
}

.section_title .color07 {
	color: #972727;
	margin: 0 0.3rem 0;
}

/* 商品卡定義 */
.productInfo {
	margin: 1.2rem auto;
	width: 100%;
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
}

.price-container {
	display: flex;
	/* 使用 Flexbox 來排列子元素 */
	flex-direction: row;
	/* 將子元素垂直堆疊 */
	justify-content: flex-end;
	/* 將內容對齊到底部 */
	align-items: flex-end;
	/* 將項目對齊到容器的起始邊 */
}

.productname-label {
	color: #000;
	font-weight: 600;
	font-size: 1.1rem;
	margin: 0 0.5rem;
	line-height: 1.2;
	text-align: center;
}

.product-tag {
	display: flex;
	/* 用 flex 控制置中 */
	justify-content: center;
	/* 水平置中 */
	align-items: center;
	/* 垂直置中 */
	flex-wrap: wrap;
	width: 70px;
	height: 75px;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
	background: rgb(0, 0, 0, 0.7);
	background-color: #d22c2c;
	font-weight: bolder;
	color: #fff;
	border: initial;
	box-shadow: initial;
	padding: 10px;
	position: absolute;
	border-radius: 0 0 20px 20px;
	top: 0;
	left: 1vw;
	font-size: 0.75rem;
}

.product-tag span {
	background-clip: text;
	color: #e8d077;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	font-weight: bolder;
	letter-spacing: -0.1rem;
	font-size: 1.3rem;
}

.product-tag b {
	padding: 0 0.5rem;
	font-weight: bolder;
	font-size: 1rem;
	background-clip: text;
	color: #e8d077;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
}

.brand-label {
	font-size: 0.8vw;
	color: #fff;
	background-color: #000;
	text-transform: uppercase;
	padding: 0.5rem 0.8rem;
	margin: 0 0.8rem 0.6rem;
	border-radius: 5rem;
}

.brand-label span {
	font-weight: bolder;
	color: #d8151e;
}

.full-price-label {
	text-decoration: line-through;
	color: gray;
	font-size: 1rem;
	/* 設置原價的字體大小 */
	margin-right: 0.3rem;
	/* 添加右邊距以分開原價和特價 */
	line-height: 1.3;
}

.sale-price-label {
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	margin-top: 0.3rem;
	color: #d8151e;
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: -0.1rem;
	font-style: italic;
}

.sale-price-label span {
	margin-right: 0.2rem;
	font-size: 1.3rem;
	letter-spacing: normal;
}

.grid-container {
	padding: 2rem 8rem 0;
	display: grid;
	gap: 1.2rem;
	/* 設定格子之間的間距 */
	align-items: anchor-center;
}

.grid-container .pic img {
	display: block;
	object-fit: cover;
}

.shadowFx {
	box-shadow: 0 30px 5px -15px rgb(0, 0, 0, 0.3);
}

.boxFx {
	border: #000 solid 1px;
	transition: all 0.3s;
	border-radius: 40px;
	box-shadow: 0 20px 0 0 rgba(0, 0, 0, 0.15);
}

.boxFx:hover {
	transform: scale(0.95);
	/* 添加縮小效果 */
	transition: all 0.1s;
	/* 可以根據需要調整時間 */
}

.shop-more-wrapper {
	text-align: center;
	margin: 2rem 0 0;
	padding-bottom: 2rem;
}

.shop-more-btn {
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	display: inline-block;
	border-radius: 50px;
	background: linear-gradient(to top, #e2a823, #fff89c);
	background: url(../images/btn_bg.jpg) center center no-repeat;
	color: #000;
	font-size: 1.4rem;
	padding: 1.2rem 1.5rem;
	text-decoration: none;
	letter-spacing: -0.05rem;
	font-weight: bolder;
	margin: 0 0.3vw;
}

.shop-more-btn span {
	color: #d8151e;
}

.shop-more-btn::after {
	margin-left: 1rem;
	display: inline-block;
	font: 25px FontAwesome;
	content: "\f0da";
}

.shop-more-btn:hover {
	transform: translateY(-8px) scale(1.05);
}

.eventContainer {
	margin: 4vw 12vw;
	align-content: center;
	position: relative;
	z-index: 1;
}

.style-wrap {
	position: relative;
	padding-top: 150px;
	padding-bottom: 200px;
}

.wrap-bg {
	background: url(../images/wp_c_bg.png) repeat-y;
	background-size: 100%;
	max-width: 1400px;
	margin: auto;
}

.style-wrap::before {
	/* 頂部背景 */
	content: '';
	position: absolute;
	top: 0;
	background: url(../images/wp_t_bg.png) bottom center no-repeat;
	background-size: contain;
	height: 150px;
	width: 100%;
}

.style-wrap::after {
	/* 底部背景 */
	content: '';
	position: absolute;
	bottom: 0;
	background: url(../images/wp_b_bg.png) top center no-repeat;
	background-size: contain;
	height: 200px;
	width: 100%;
}

.flexBox {
	box-sizing: border-box;
	overflow: hidden;
	padding-bottom: 1rem;
}

.section-subheader {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
}

.section-title-image img {
	height: auto;
	width: fit-content;
}

.btn-shop-more {
	letter-spacing: -0.05rem;
	padding: 10px 25px 10px 15px;
	/* 調整左邊距以容納三角形icon */
	background-color: #000;
	color: #ffffe9;
	font-size: 1.2rem;
	text-decoration: none;
	border-radius: 0.6rem;
	white-space: nowrap;
	transition: background-color 0.3s;
	position: relative;
	/* 為了讓三角形icon能夠正確定位 */
}

.btn-shop-more::after {
	content: '';
	position: absolute;
	right: 8px;
	/* 調整三角形icon的位置 */
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 8px solid #fff;
	/* 三角形icon的樣式 */
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}

.btn-shop-more:hover {
	background-color: #333;
}

.Box_bg {
	background-color: #fff;
	background-image: url(../images/discount_bg.png);
	background-size: cover;
	background-position: bottom;
}

.discountBlock {
	margin-top: -36vw;
}

.discountBlock .title {
	font-family: monospace;
	color: #fff;
	font-weight: 300;
	font-size: 1.65rem;
	letter-spacing: -0.1rem;
	width: 100%;
	padding: 2rem 0 1.3rem;
	margin: 0 0 2rem;
	text-align: center;
	background-color: #d8151e;
	background: url(../images/discount_title_bg.png);
	background-position: center;
	background-size: 100% auto;
	border-bottom: 2px #000 solid;
}

.discountBlock h1 {
	font-weight: bolder;
	color: #000;
	font-size: 1.6rem;
	letter-spacing: 0.05rem;
	margin-bottom: 0.6rem;
	padding: 0 0.5rem 0.4rem;
	font-family: 'SweiCurveSansCJKtc-Regular';
	background: linear-gradient(transparent 45%, #efe39f 0%);
}

.discountBlock p {
	margin: 0 0.3rem 1.5rem;
	line-height: 1.5;
	text-align: center;
	font-weight: 600;
	font-size: 1.3rem;
	letter-spacing: -0.05rem;
}

.discountBlock p span {
	font-size: 0.55rem;
	letter-spacing: -0.03rem;
	margin: 0 0.1rem;
}

.discountBlock b {
	line-height: 1.3;
	color: #d8151e;
	font-size: 1.55rem;
	font-weight: 600;
	letter-spacing: -0.1rem;
	margin: 1rem 0.3rem 0 0;
	font-family: Verdana, Geneva, Tahoma, sans-serif;
}

.discountBlock p a {
	color: #000;
	text-decoration: underline;
}

/* 版面多一排 banner */
.discountBlock .grid-container {
	background: none;
	display: grid;
	padding: 0;
	gap: 1.2rem;
	align-items: stretch;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	grid-template-areas:
		"item01 item02 item03 item04"
		"item05 item06 item07 item08";
}

/* 8 張卡片維持原對應 */
.discountBlock .grid-container>.flexBox:nth-child(1) {
	grid-area: item01;
}

.discountBlock .grid-container>.flexBox:nth-child(2) {
	grid-area: item02;
}

.discountBlock .grid-container>.flexBox:nth-child(3) {
	grid-area: item03;
}

.discountBlock .grid-container>.flexBox:nth-child(4) {
	grid-area: item04;
}

.discountBlock .grid-container>.flexBox:nth-child(5) {
	grid-area: item05;
}

.discountBlock .grid-container>.flexBox:nth-child(6) {
	grid-area: item06;
}

.discountBlock .grid-container>.flexBox:nth-child(7) {
	grid-area: item07;
}

.discountBlock .grid-container>.flexBox:nth-child(8) {
	grid-area: item08;
}

.discountBlock .gift-icon {
	height: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.discountBlock .gift-icon img {
	width: 3.5vw;
	height: auto;
}

.hotTrendingPicksBlock .section_title {
	background-image: url(../images/section_title_bg.png);
}

.hotTrendingPicksBlock .gridBox {
	position: relative;
	overflow: hidden;
	background-color: #fffff0;
	text-align: center;
}

.hotTrendingPicksBlock .grid-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-areas:
		"item01 item01 item05 item05"
		"item02 item04 item06 item07"
		"item03 item04 item06 item08";
	margin: 0 auto;
}

.hotTrendingPicksBlock .grid-container>div {
	height: 100%;
}

.hotTrendingPicksBlock .brand-label {
	position: absolute;
	bottom: 0.5rem;
	border: rgb(255, 255, 255, 0.5) solid 1px;
}

.hotTrendingPicksBlock .grid-container .gridBox {
	padding: 0;
}

.hotTrendingPicksBlock .grid-container .item01 {
	grid-area: item01;
}

.hotTrendingPicksBlock .grid-container .item02 {
	grid-area: item02;
}

.hotTrendingPicksBlock .grid-container .item03 {
	grid-area: item03;
}

.hotTrendingPicksBlock .grid-container .item04 {
	grid-area: item04;
}

.hotTrendingPicksBlock .grid-container .item05 {
	grid-area: item05;
}

.hotTrendingPicksBlock .grid-container .item06 {
	grid-area: item06;
}

.hotTrendingPicksBlock .grid-container .item07 {
	grid-area: item07;
}

.hotTrendingPicksBlock .grid-container .item08 {
	grid-area: item08;
}




.beautySkinLuckGuideBlock .section_title {
	background-image: url(../images/section_title_bg.png);
}

.beautySkinLuckGuideBlock .gridBox {
	position: relative;
	overflow: hidden;
	background-color: #fff;
	text-align: center;
}

.beautySkinLuckGuideBlock .grid-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-areas:
		"item01 item02 item04 item05"
		"item03 item03 item06 item06";
	margin: 0 auto;
}

.beautySkinLuckGuideBlock .grid-container>div {
	height: 100%;
}

.beautySkinLuckGuideBlock .grid-container .item01 {
	grid-area: item01;
	padding-bottom: 0;
}

.beautySkinLuckGuideBlock .grid-container .item02 {
	grid-area: item02;
}

.beautySkinLuckGuideBlock .grid-container .item03 {
	grid-area: item03;
}

.beautySkinLuckGuideBlock .grid-container .item04 {
	grid-area: item04;
	padding-bottom: 0;
}

.beautySkinLuckGuideBlock .grid-container .item05 {
	grid-area: item05;
}

.beautySkinLuckGuideBlock .grid-container .item06 {
	grid-area: item06;
}

.healingPrescriptionBlock .section_title {
	background-image: url(../images/section_title_bg.png);
}

.healingPrescriptionBlock .productImg {
	object-fit: contain;
	box-sizing: border-box;
}

/* 1. 設定圖片容器為相對定位，讓內部文字可以參照此範圍 */
.healingPrescriptionBlock .img-wrapper {
	position: relative;
	width: 100%;
}

.goodLuckGuideBlock .section_title {
	background-image: url(../images/section_title_bg.png);
}

.goodLuckGuideBlock .productImg {
	object-fit: contain;
	box-sizing: border-box;
}

/* 1. 設定圖片容器為相對定位，讓內部文字可以參照此範圍 */
.goodLuckGuideBlock .img-wrapper {
	position: relative;
	width: 100%;
}

/* 2. 折扣文字層樣式 */
.features-overlay {
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	text-align: center;
	top: 0;
	left: 0;
	width: 100%;
	padding: 1.2rem 1rem;
	color: #000;
	font-weight: bolder;
	box-sizing: border-box;
	pointer-events: none;
	letter-spacing: -0.01rem;
	font-size: 1.5rem;
}

.features-overlay.gold {
	border-bottom: 3px solid;
	background: linear-gradient(45deg, #FFD837 0%, #fffacd 50%, #FFD837 100%);
	border-image: linear-gradient(45deg, #fffacd 0%, #c9a61b 50%, #fffacd 100%) 1;
}

.features-overlay.pink {
	border-bottom: 3px solid;
	background: linear-gradient(45deg, #ff8daf 0%, #fff0f3 50%, #ff8daf 100%);
	border-image: linear-gradient(45deg, #fff0f3 0%, #e85b7e 50%, #fff0f3 100%) 1;
}

.goodLuckGuideBlock .gridBox {
	position: relative;
	overflow: hidden;
	background-color: #fff;
	text-align: center;
}

.goodLuckGuideBlock .grid-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-areas:
		"item01 item02 item04 item06"
		"item01 item03 item05 item06";
	margin: 0 auto;
}

.goodLuckGuideBlock .grid-container>div {
	height: 100%;
}

.goodLuckGuideBlock .grid-container .item01 {
	grid-area: item01;
}

.goodLuckGuideBlock .grid-container .item02 {
	grid-area: item02;
}

.goodLuckGuideBlock .grid-container .item03 {
	grid-area: item03;
}

.goodLuckGuideBlock .grid-container .item04 {
	grid-area: item04;
}

.goodLuckGuideBlock .grid-container .item05 {
	grid-area: item05;
}

.goodLuckGuideBlock .grid-container .item06 {
	grid-area: item06;
}

.relationshipLuckGuideBlock .section_title {
	background-image: url(../images/section_title_bg.png);
}

.relationshipLuckGuideBlock .productImg {
	object-fit: contain;
	box-sizing: border-box;
}

.relationshipLuckGuideBlock .gridBox {
	position: relative;
	overflow: hidden;
	background-color: #fff;
	text-align: center;
}

.relationshipLuckGuideBlock .grid-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-areas:
		"item01 item02 item04 item05"
		"item03 item02 item04 item06";
	margin: 0 auto;
}

.relationshipLuckGuideBlock .grid-container>div {
	height: 100%;
}

.relationshipLuckGuideBlock .grid-container .item01 {
	grid-area: item01;
}

.relationshipLuckGuideBlock .grid-container .item02 {
	grid-area: item02;
}

.relationshipLuckGuideBlock .grid-container .item03 {
	grid-area: item03;
}

.relationshipLuckGuideBlock .grid-container .item04 {
	grid-area: item04;
}

.relationshipLuckGuideBlock .grid-container .item05 {
	grid-area: item05;
}

.relationshipLuckGuideBlock .grid-container .item06 {
	grid-area: item06;
}

.tab-container {
	flex-wrap: wrap;
	/* 允許換行 */
	display: flex;
	/* 使用 Flexbox */
	justify-content: center;
	/* 水平置中 */
	margin: 0 30px 30px;
	/* 可選：添加上下邊距 */
	gap: 5px;
}

.tab-button {
	font-family: 'SweiCurveSansCJKtc-Regular';
	font-weight: bold;
	letter-spacing: 0.01rem;
	border: #000 2px solid;
	background: #fff;
	color: #000;
	font-size: 1.3rem;
	padding: 15px 25px;
	/* 按鈕內邊距 */
	cursor: pointer;
	/* 鼠標懸停時顯示手型 */
	border-radius: 50px;
	white-space: nowrap;
}

.tab-button:hover {
	transform: translateY(-6px);
}

.tab-button.active {
	color: #000;
	background: linear-gradient(to top, #e7d023, #ede289);
	position: relative;
	/* 為偽元素定位提供參考 */
}

.springFestivalEssentialsBlock .section_title {
	background-image: url(../images/section_title_bg.png);
}

.springFestivalEssentialsBlock .productImg {
	object-fit: contain;
	box-sizing: border-box;
}

.springFestivalEssentialsBlock .gridBox {
	position: relative;
	overflow: hidden;
	background-color: #fff;
	text-align: center;
}

.springFestivalEssentialsBlock .grid-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-areas:
		"item01 item02 item03"
		"item04 item05 item06";
	margin: 0 auto;
}

.springFestivalEssentialsBlock .grid-container>div {
	height: 100%;
}

.springFestivalEssentialsBlock .productname-label {
	font-size: 1.5rem;
}

.springFestivalEssentialsBlock .grid-container .item01 {
	grid-area: item01;
}

.springFestivalEssentialsBlock .grid-container .item02 {
	grid-area: item02;
}

.springFestivalEssentialsBlock .grid-container .item03 {
	grid-area: item03;
}

.springFestivalEssentialsBlock .grid-container .item04 {
	grid-area: item04;
}

.springFestivalEssentialsBlock .grid-container .item05 {
	grid-area: item05;
}

.springFestivalEssentialsBlock .grid-container .item06 {
	grid-area: item06;
}

.springFestivalEssentialsBlock .grid-container .item07 {
	grid-area: item07;
}

.springFestivalEssentialsBlock .grid-container .item08 {
	grid-area: item08;
}


.giftLuckGuideBlock .section_title {
	background-image: url(../images/section_title_bg.png);
}

.giftLuckGuideBlock .grid-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0 auto;
}

.giftLuckGuideBlock .grid-container .text-container {
	color: #000;
	position: absolute;
	width: 80%;
	left: 50%;
	bottom: 1.6rem;
	transform: translateX(-50%);
	z-index: 2;
}

.giftLuckGuideBlock .grid-container h2 {
	font-size: 1.4rem;
	margin: 0.6rem 0 0;
}

.giftLuckGuideBlock .grid-container p {
	z-index: 2;
	font-size: 1rem;
}

.giftLuckGuideBlock .grid-container .gridBox {
	overflow: hidden;
	background-color: #fff;
	position: relative;
}

.giftLuckGuideBlock .grid-container .gridBox img:not(.shopNow img) {
	width: 100%;
	height: 100%;
	display: block;
}

.giftLuckGuideBlock .grid-container .gridBox .shopNow {
	position: absolute;
	bottom: 20px;
	/* 距離底部的距離 */
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}

.giftLuckGuideBlock .grid-container .gridBox .shopNow img {
	width: 100%;
	height: auto;
}

.wealthLuckGuideBlock .section_title {
	background-image: url(../images/section_title_bg.png);
}

.wealthLuckGuideBlock .grid-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0 auto;
}

.wealthLuckGuideBlock .grid-container .text-container {
	color: #000;
	position: absolute;
	width: 80%;
	left: 50%;
	bottom: 1.6rem;
	transform: translateX(-50%);
	z-index: 2;
}

.wealthLuckGuideBlock .grid-container h2 {
	font-size: 1.4rem;
	margin: 0.6rem 0 0;
}

.wealthLuckGuideBlock .grid-container p {
	z-index: 2;
	font-size: 1rem;
}

.wealthLuckGuideBlock .grid-container .gridBox {
	overflow: hidden;
	background-color: #fff;
	position: relative;
}

.wealthLuckGuideBlock .grid-container .gridBox img:not(.shopNow img) {
	width: 100%;
	height: 100%;
	display: block;
}

.wealthLuckGuideBlock .grid-container .gridBox .shopNow {
	position: absolute;
	bottom: 20px;
	/* 距離底部的距離 */
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}

.wealthLuckGuideBlock .grid-container .gridBox .shopNow img {
	width: 100%;
	height: auto;
}

.brandHighlight .section_title {
	background-image: url(../images/section_title_bg.png);
}

.brandHighlight .grid-container {
	grid-template-columns: repeat(4, 1fr);
}

.brandHighlight .content {
	align-items: normal;
	box-sizing: border-box;
}

.brandHighlight .grid-item {
	background-color: #fff;
}

.brandHighlight .brandTitleTag {
	color: #d8151e;
	display: inline-block;
	font-size: 1.05rem;
	line-height: 1.5rem;
	border-width: 1px;
	border-style: solid;
	border-color: #d8151e;
	border-image: initial;
	padding: 0.1vw 0.5vw;
	width: fit-content;
	margin: auto;
}

.brandHighlight .brandTitleTag.none {
	line-height: 1.5rem;
	visibility: hidden;
}

.brandHighlight .brandTitle {
	font-family: 'Noto Serif TC', sans-serif;
	font-size: 1.5rem;
	font-weight: bolder;
	color: #000;
	margin: 0.75rem 0;
}

.brandHighlight .brandTitle02 {
	color: #000;
	font-size: 1rem;
	font-weight: 500;
}

.brandHighlight .pic {
	border-top: 1px solid #9b9b9b;
	margin-top: 1vw;
}

.brandHighlight .actionBtn {
	text-decoration: none;
	filter: none;
}

.brandHighlight .actionBtn:hover {
	transform: scale(1);
}

.eventHighlight .section_title {
	background-image: url(../images/section_title_bg.png);
}

.eventHighlight .grid-item {
	background-color: #f0f0f0;
	padding-bottom: 2rem;
}

.eventHighlight h2 {
	padding: 0.8rem;
	font-size: 1.25rem;
	line-height: 1.3;
	color: #d8151e;
	font-weight: bolder;
}

.eventHighlight p {
	line-height: 1.5rem;
	margin: 0 auto 1rem auto;
	color: #333;
}

/*******************follow us*******************/
.fu_wrap {
	width: 100%;
	height: auto;
	position: relative;
	padding: 0;
}

.fu {
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.fu_title {
	width: 88%;
	max-width: 750px;
	height: auto;
	margin: 0px auto 1.25vw auto;
}

.fu_flexG4_container {
	border-radius: 0;
	margin: 2vw auto 0;
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	justify-content: space-around;
	transition: 0.2s;
	padding: 0 20%;
	box-sizing: border-box;
	background-color: #fff;
	position: relative;
}

.fu_flexG4_container::after {
	content: '';
	width: 18vw;
	height: 3vw;
	background-image: url(../images/social_title.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: -1.2vw;
	left: 50%;
	z-index: 1;
	margin-left: -9vw;
}

.fu_flexG4_container a,
.fu_flexG4_container img {
	width: 100%;
	height: auto;
	display: block;
}

a.fu_flexG4_item {
	border-radius: 2%;
	flex-basis: 22%;
	text-align: center;
}

.fu_item_info {
	width: 80%;
	margin: 2vw auto;
	color: #555;
}

.fu_item_icon img {
	width: 32%;
	margin: 0 auto;
}

.fu_item_name {
	font-size: 1.2vw;
	padding: 0.5% 1.5%;
	margin: 5% 0;
	font-weight: 600;
}

.fu_item_account {
	font-size: 0.8vw;
	line-height: 1.5em;
	margin-bottom: 10%;
}

.fu_item_cta {
	font-size: 1vw;
	line-height: 3vw;
	border-top: 1px solid #ccc;
	transition: 0.2s;
}

.fu_item_cta:hover {
	color: #d64930;
}


.grid-item {
	overflow: hidden;
	text-align: center;
}

.eventHighlight .grid-container {
	grid-template-columns: repeat(4, 1fr);
}

.content {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.actionBtn {
	text-decoration: none;
	filter: none;
	transform: scale(1);
	transition: all 0.3s;
}

.actionBtn:hover {
	transform: scale(1.05);
	transition: all 0.1s;
}

.shopNow {
	/*font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;*/
	font-size: 1.1rem;
	font-weight: 600;
	color: #fff;
	/*border: #000 2px solid;*/
	border-radius: 50px;
	padding: 1rem 1.5rem;
	letter-spacing: -0.05rem;
	background-color: #d64930;
	background: linear-gradient(to top, #1fe776, #91eeba);
	background: linear-gradient(to top, #000, #3f5971);
	background: #060423;
	/*background: linear-gradient(to top, #d64930, #ed664e);*/
}

.shopNow::after {
	margin-left: 0.5rem;
	display: inline-block;
	font: 1rem FontAwesome;
	content: "\f0da";
}

.shopNow_b {
	width: 100%;
	font-size: 1rem;
	font-weight: bold;
	padding: 1.3rem 0;
	color: #fff;
	background: #000;
}

.learnMore_b {
	width: fit-content;
	font-size: 1.05rem;
	font-weight: bold;
	padding: 0.75rem 1rem;
	color: #fff;
	background: #000;
}

.learnMore_b::after {
	margin-left: 0.75rem;
	display: inline-block;
	font: 15px FontAwesome;
	content: "\f0da";
}

.shopMore {
	display: block;
	width: fit-content;
	font-size: 1.5rem;
	border-radius: 50px;
	border: #edd2ae solid 2px;
	padding: 0.75rem 1.5rem;
	color: #edd2ae;
	background: rgba(0, 0, 0, 0.8);
	margin: auto auto 0.5rem;
}

.event-info {
	color: #333;
	font-weight: bold;
	margin: 1rem 0 0.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.boxShadow {
	box-shadow: 0.75rem 0.75rem 0px rgba(0, 0, 0, 0.1);
}

/* =========================================
   漂浮金幣特效設定
   ========================================= */

/* 1. 金幣容器：固定在視窗最上層，且不阻擋滑鼠點擊 */
.floating-decor {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 10;
	pointer-events: none;
	overflow: hidden;

	/* 新增：預設隱藏並設定過場動畫 */
	opacity: 0;
	visibility: hidden;
	/* 隱藏時不佔用渲染資源 */
	transition: opacity 0.6s ease, visibility 0.6s ease;
}

/* 新增：當加上 show 這個 class 時顯示 */
.floating-decor.show {
	opacity: 1;
	visibility: visible;
}

/* 2. 金幣基礎設定 */
.floating-decor .coin {
	position: absolute;
	object-fit: contain;
	opacity: 0.9;
	animation: floating ease-in-out infinite;
	/* 套用浮動動畫 */
}

/* 3. 定義浮動動畫 (上下輕微漂浮) */
@keyframes floating {
	0% {
		transform: translateY(0px) rotate(0deg);
	}

	50% {
		transform: translateY(-15px) rotate(5deg);
	}

	100% {
		transform: translateY(0px) rotate(0deg);
	}
}

/* =========================================
   個別金幣位置與大小 (參考 Mockup 配置)
   ========================================= */

/* 左上角 - 大顆模糊 */
.coin-1 {
	top: -5%;
	left: 5%;
	width: 10vw;
	animation-duration: 4s;
	/* 動畫速度 */
}

/* 右上角 - 中等清晰 */
.coin-2 {
	top: 40%;
	left: -3%;
	width: 8vw;
	animation-duration: 5s;
	animation-delay: 1s;
	/* 延遲開始，讓動畫交錯 */
}

/* 左側中下 - 小顆清晰 */
.coin-3 {
	top: 40%;
	right: -2%;
	width: 5vw;
	transform: rotate(-15deg);
	animation-duration: 4.5s;
}

/* 右側底部 - 大顆模糊 */
.coin-4 {
	bottom: 25%;
	right: 5%;
	width: 12vw;
	filter: blur(1px);
	animation-duration: 6s;
}

/* 右側中間點綴 - 極模糊 (製造遠近感) */
.coin-5 {
	top: 40%;
	right: 5%;
	width: 4vw;
	filter: blur(3px);
	opacity: 0.7;
	animation-duration: 5.5s;
}

/* response */

@media (max-width: 1440px) {
	.brand-label {
		font-size: 0.85rem;
		padding: 0.45rem 0.8rem;
		margin: 0 0.5rem 0.3rem;
	}

	.product-tag {
		width: 5vw;
		height: 5vw;
		font-size: 0.8vw;
		padding: 1vw 0.5vw;
		right: 0;
		top: 0;
	}

	.product-tag span {
		font-size: 1.6vw;
	}

	.product-tag b {
		font-size: 1.2vw;
		line-height: 1.2;
	}

	.section_title {
		top: -5vw;
		padding: 4rem 0 2rem;
		box-sizing: border-box;
	}

	.section_title h1 {
		font-size: 3.6rem;
	}

	.section-subheader {
		width: 90%;
		margin: auto;
	}

	.eventContainer {
		margin: 3% 5%;
	}

	.grid-container {
		width: 100%;
		margin: auto;
		gap: 0.8rem;
		padding: 0 6.5vw;
	}

	.productname-label {
		font-size: 1.3vw;
		margin: 0.5vw;
	}

	.imageBlock {
		width: 90%;
		margin: auto;
	}

	.discountBlock {
		margin-top: -32vw;
		margin-bottom: 5vw;
	}

	.discountBlock .eventContainer {
		max-width: 80%;
		margin: auto;
	}

	.discountBlock .grid-container {
		gap: 0.8rem;
	}

	.discountBlock .title {
		padding: 1.5rem 0;
		background-size: cover;
	}

	.discountBlock h1 {
		font-size: 2vw;
		margin-bottom: 1vw;
	}

	.discountBlock p,
	.discountBlock b {
		font-size: 1.6vw;
		line-height: 1.5;
	}

	.discountBlock .gift-icon img {
		width: 3.6vw;
		height: auto;
	}

	.tab-container {
		gap: 0.2vw;
	}

	.tab-button {
		font-size: 1.5vw;
		white-space: nowrap;
		padding: 0.6vw 1.2vw;
	}

	.eventHighlight h2 {
		font-size: 1.2rem;
		line-height: 1.3;
		padding: 1rem 0.6rem;
	}

	.brandHighlight .grid-container {
		grid-template-columns: repeat(3, 1fr);
		/* 螢幕小於max-width時，變為三欄 */
	}

	.full-price-label {
		font-size: 1vw;
	}

	.sale-price-label {
		margin: auto;
		font-size: 2.2vw;
	}

	.sale-price-label span {
		font-size: 1.4vw;
	}

	a.fu_flexG4_item {
		flex-basis: 32%;
	}

	.fu_flexG4_container {
		padding: 0;
	}
}

@media (max-width: 1024px) {
	.product-tag {
		width: 8vw;
		height: 8vw;
		font-size: 1.8vw;
	}

	.product-tag span {
		font-size: 2.5vw;
	}

	.product-tag b {
		font-size: 1.8vw;
	}

	.boxFx:hover,
	.shop-more-btn:hover,
	.btn-shop-more:hover,
	.actionBtn:hover {
		transform: scale(1);
	}

	.shop-more-btn {
		font-size: 1.5rem;
		padding: 1rem 1.5rem;
	}

	.section_title {
		margin: 0 auto;
	}

	.section_title h1 {
		letter-spacing: -0.15rem;
		font-size: 3.6rem;
	}

	.discountBlock .grid-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas:
			"item01 item02"
			"item03 item04"
			"item05 item06"
			"item07 item08";
	}

	.discountBlock h1 {
		font-size: 3.6vw;
		margin-bottom: 3vw;
	}

	.discountBlock p,
	.discountBlock b {
		font-size: 2.8vw;
	}

	.discountBlock .gift-icon img {
		width: 8vw;
		height: auto;
	}

	.beautySkinLuckGuideBlock .grid-container {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
			"item01 item02"
			"item03 item03"
			"item04 item05"
			"item06 item06";
	}

	.goodLuckGuideBlock .grid-container {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
			"item01 item02"
			"item01 item03"
			"item04 item06"
			"item05 item06";
	}

	.features-overlay {
		font-size: 3.2vw;
		letter-spacing: 0;
	}

	.relationshipLuckGuideBlock .grid-container {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
			"item01 item02"
			"item03 item02"
			"item04 item05"
			"item04 item06";
	}

	.productname-label {
		font-size: 2vw;
	}

	.springFestivalEssentialsBlock .grid-container {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
			"item01 item02"
			"item03 item04"
			"item05 item06"
			"item07 item08";
	}

	.springFestivalEssentialsBlock .productname-label {
		font-size: 2.4vw;
	}

	.hotTrendingPicksBlock .grid-container {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas:
			"item01 item01"
			"item05 item05"
			"item02 item04"
			"item03 item04"
			"item06 item07"
			"item06 item08";
	}

	.tab-container {
		margin: 0 10vw 2vw;
		gap: 0.5vw;
	}

	.tab-button {
		font-size: 2.2vw;
		white-space: nowrap;
		padding: 1vw 2vw;
	}

	.giftLuckGuideBlock .grid-container {
		grid-template-columns: repeat(2, 1fr);
	}

	.wealthLuckGuideBlock .grid-container {
		grid-template-columns: repeat(2, 1fr);
	}

	.eventHighlight .grid-container {
		grid-template-columns: repeat(2, 1fr);
	}

	.eventHighlight h2 {
		line-height: 1.3;
	}

	.brandHighlight .grid-container {
		grid-template-columns: repeat(2, 1fr);
		/* 螢幕小於max-width時，變為兩欄 */
	}

	.full-price-label {
		font-size: 2vw;
	}

	.sale-price-label {
		font-size: 3.6vw;
	}

	.sale-price-label span {
		font-size: 2.2vw;
	}

	.floating-decor {
		display: none !important;
	}
}

@media(max-width: 768px) {
	.desktop {
		display: none;
	}

	.mobile {
		display: block;
	}

	.boxFx {
		box-shadow: 0 15px 0 -5px rgba(0, 0, 0, 0.2);
	}

	.productInfo {
		margin: 3vw auto;
	}

	.style-wrap {
		position: relative;
		padding-top: 33vw;
		padding-bottom: 0;
	}

	.wrap-bg {
		background: url(../images/wp_c_bg.png) repeat-y;
		background-size: 100%;
		max-width: 100%;
		margin: auto;
	}

	.style-wrap::before {
		/* 頂部背景 */
		content: '';
		position: absolute;
		top: 0;
		background: url(../images/wp_t_bg.png) bottom center no-repeat;
		background-size: contain;
		height: 33vw;
		width: 100%;
	}

	.style-wrap::after {
		/* 底部背景 */
		content: '';
		position: absolute;
		bottom: -200px;
		background: url(../images/wp_b_bg.png) top center no-repeat;
		background-size: contain;
		width: 100%;
	}

	.discountBlock .eventContainer {
		max-width: 100%;
		margin: auto 5%;
	}

	.eventContainer {
		margin: 15% 5%;
	}

	.grid-container {
		gap: 1.8vw;
	}

	.section-subheader {
		width: 90%;
		margin: auto;
	}

	.section-title-image img {
		width: 100%;
	}

	.section_title {
		width: 100%;
		height: auto;
		padding: 8vw 0;
	}

	.section_title h1 {
		letter-spacing: 0;
		font-size: 7vw;
	}

	.section_title b {
		letter-spacing: -0.2vw;
	}

	.section_title p {
		border: 1px solid transparent;
		width: fit-content;
		font-size: 3vw;
		padding: 1vw 2vw;
	}

	.btn-shop-more {
		font-size: 1rem;
	}

	.discountBlock {
		margin-top: 0;
		margin-bottom: 0;
	}

	.discountBlock .title {
		font-size: 4vw;
		padding: 3.6vw;
		margin-bottom: 3vw;
	}

	.discountBlock .grid-container {
		gap: 0.6rem;
	}

	.discountBlock p,
	.discountBlock b {
		font-size: 2.8vw;
		margin-bottom: 2vw;
	}

	.discountBlock p span {
		font-size: 2vw;
		margin: 0 0.1rem;
	}

	.imageBlock {
		margin: 0 auto 5vw;
	}

	.shopNow {
		font-size: 3.2vw;
		padding: 2.5vw 3.6vw;
	}

	.product-tag {
		width: 13vw;
		height: auto;
		font-size: 2.5vw;
		padding: 2.5vw;
		/* 內邊距 */
		position: absolute;
	}

	.product-tag span {
		font-size: 3.4vw;
		margin: auto;
	}

	.product-tag b {
		font-size: 3.2vw;
		line-height: 1.2;
	}

	.brand-label {
		font-size: 2.6vw;
		padding: 1.2vw 2vw;
		margin-bottom: 2vw;
	}

	.productname-label {
		font-size: 2.6vw;
		font-weight: bold;
	}


	.springFestivalEssentialsBlock .productname-label {
		font-size: 3.6vw;
	}

	.tab-container {
		margin: 0 5vw 3vw;
	}

	.tab-button {
		font-size: 3.2vw;
		white-space: nowrap;
		padding: 1.2vw 2.4vw;
	}

	.full-price-label {
		text-align: center;
		font-size: 2.6vw;
	}

	.productname-label {
		margin: 0 2vw;
	}

	.sale-price-label {
		font-size: 4.6vw;
	}

	.sale-price-label span {
		margin-right: 0.5vw;
		font-size: 3.6vw;
	}

	.beautySkinLuckGuideBlock .product-tag {
		padding: 1.2vw;
		width: 15vw;
		height: 15vw;
		right: 2vw;
	}

	/*******************follow us*******************/
	.fu_title {
		width: 96%;
		margin: 3vw auto;
	}

	.fu_flexG4_container {
		flex-wrap: wrap;
		justify-content: space-around;
		margin: 8vw auto 0;
		padding: 2vw;
	}

	.fu_flexG4_container::after {
		width: 42vw;
		height: 7vw;
		top: -5vw;
		margin-left: -21vw;
	}

	a.fu_flexG4_item {
		margin: 1vw 0;
		/*宮格與下方版位間距-可調整*/
		flex-basis: 32%;
	}

	.fu_item_name {
		font-size: 3vw;
		padding: 0.5% 1.5%;
		margin: 5% 0;
		font-weight: 600;
	}

	.fu_item_account {
		font-size: 2vw;
		line-height: 1.5em;
		margin-bottom: 10%;
	}

	.fu_item_cta {
		font-size: 2vw;
		line-height: 6vw;
		border-top: 1px solid #ccc;
	}
}

@media(max-width: 500px) {
	.full-price-label {
		font-size: 4.2vw;
	}

	.sale-price-label {
		font-size: 5.5vw;
	}

	.brand-label {
		letter-spacing: 0.1vw;
		font-size: 2.2vw;
		padding: 1.5vw 2.2vw;
		margin-bottom: 2vw;
	}

	.shop-more-wrapper {
		text-align: center;
		margin: 3vw 0 0;
	}

	.shop-more-btn {
		font-size: 4vw;
		padding: 2vw 3.5vw;
	}

	.shop-more-btn::after {
		margin-left: 3vw;
		font: 5vw FontAwesome;
	}

	.boxFx {
		border-radius: 10vw;
	}

	.shopNow {
		font-size: 3vw;
		padding: 3vw 5vw;
	}

	.section_title p {
		padding: 0.5vw 2vw;
	}

	.eventContainer {
		padding: 0;
	}

	.flexBox {
		padding-bottom: 3vw;
	}

	.discountBlock .title {
		font-size: 4.5vw;
		padding: 4.5vw;
		margin-bottom: 2vw;
	}

	.discountBlock h1 {
		white-space: nowrap;
		font-size: 4.2vw;
		margin: 3vw;
	}

	.discountBlock p,
	.discountBlock b {
		font-size: 3.2vw;
		margin-bottom: 2vw;
	}

	.event-info {
		font-size: 3vw;
		margin: 3vw 0 0;
	}

	.features-overlay {
		font-size: 4vw;
		padding: 3vw;
	}

	.brandHighlight .grid-container {
		gap: 1.8vw;
	}

	.brandHighlight .grid-container .gridBox {
		border-radius: 8vw;
	}

	.brandHighlight .brandTitle {
		font-size: 4.2vw;
	}

	.brandHighlight .brandTitle02 {
		padding: 0 3vw 3vw;
		line-height: 1.5;
		font-size: 3vw;
		letter-spacing: 0;
	}

	.shopNow_b {
		font-size: 3.6vw;
		padding: 3vw;
	}

	.eventHighlight .grid-container {
		gap: 1.8vw;
		grid-template-columns: 1fr;
	}

	.eventHighlight h2 {
		line-height: 1.2;
		padding: 5vw;
		font-size: 5vw;
	}

	.eventHighlight p {
		font-size: 3.2vw;
		line-height: 1.2;
	}

	.productname-label {
		margin-bottom: 1vw;
	}
}