﻿@charset "utf-8";
*{	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing:border-box;
}

:root {
  --light-blue: #d5efff;
  --primary-navy: #0b2a4a;
  --middle-navy: #124272;
  /* --light-navy-transparent: #2b81d8d6; */
  --light-navy-transparent: #2b81d8e7;
  --middle-navy-transparent: #124272d6;
  --orange-transparent: #ff6b02d1;

  --light-yellow: #ffee7c; 
  --middle-yellow: #f5e107;

  --primary-red: #c41919;
  --text-white: #ffffff;
  --dark: #212529;
}


html, body, [id^="page_"]{/*id開頭為page_*/
	width: 100%;
	height: auto;
}
body{
	font-family: Arial, Helvetica,"Microsoft JhengHei","華文細黑", STHeiti, MingLiu, sans-serif;
	background-color: var(--light-blue);
    color: var(--dark);
}
a{text-decoration:none; color:#434343;}

/* 主圖 */
.banner_area{
	width: 100%;
}
.header{
	width: 100%;
	height:550px;
	background: url(../images/header_bg.jpg) center top;
	background-size: cover;
	position: relative;
	overflow:hidden!important;
}
.header > img{
	display: block;
	position: absolute;
}

.logo {
    color: #ffffff !important;
    font-family: Microsoft JhengHei;
    font-size: 1.7rem;
    font-weight: 900;
}

.navbar{
	width: 100%;
	height: 56px;
	background-color: var(--primary-navy);
	position: sticky;
	top: 0;
	z-index: 1000;
}

.navbar-dark .navbar-nav .nav-link{
	color: var(--light-yellow);
}

#japan-product, #korea-product, #northeast-asia-product, #southeast-asia-product, #china-product, #america-canada-product, #eur-product, #mea-product, #island-product{
    scroll-margin-top: 120px;
}
/*==============================================================*/
/*節慶選單*/
.festival-menu{
	right:0;
	left:0;
	z-index: 50;
	background: #d2d2d2;
	/* border-bottom: 3px solid #005a87; */
}
ul.festival-menu-inner{
	width: 1000px;
	margin: 0 auto;
	padding-left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
ul.festival-menu-inner>li{
	width: 100%;
	text-align: center;
	display: flex;
}
ul.festival-menu-inner>li>a{
	display: block;
    width: 100%;
    font-size: 1.2rem;
	padding: 1rem 0;
	font-weight: 700;
}
ul.festival-menu-inner>li:hover>a{
	color:#434343;
	background-color: #eeeeee;
}
ul.festival-menu-inner>li:hover>a[title="敬請期待"]{
	background: url('../images/wait-1.png') no-repeat center bottom 2px #eeeeee;
}
ul.festival-menu-inner>li>a>span.festival-date{
	display: block;
	font-size: .8rem;
}
ul.festival-menu-inner>li.main-festival>a{
	color:white;
	background: url('../images/triangle.png') no-repeat center bottom 2px #fda35e;
}
.festival-name-mobile{
	display: none;
}
/*節慶選單結束*/
/* 選單 */
#SHOWMENU{
	width: 100%;
    height: auto;
    background-color: var(--light-navy-transparent);

	position: sticky;
	top: 56px;
	z-index: 1;
}
ul.maintabs{
	width: 1000px;
    height: auto;
    margin: 0px auto;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
}
ul.maintabs > li{width:calc(100% / 8);}

ul.maintabs > li > a{
	display: block;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    line-height: 45px;
    color: white;
	padding: 0 .5rem;
}
ul.maintabs > li > a:hover{
	color: var(--light-yellow);
}
ul.maintabs > li.active > a{
	color: var(--light-yellow);
    background-color: rgba(0,107,50,0.7);
}

/*內容區*/
.contentwraper{
	width: 100%;
	height: auto;
	background-attachment: fixed;
	background-size: cover;}
.content{
	width: 1200px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 0;
}
.contentwraper h1{
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
    color: var(--text-white);
}
/*內容標題*/
.bar{
    margin: 1.5rem auto;
	display:block;
	text-indent: -9999px;
	width: 1000px;
	height: 185px;
	background-repeat: no-repeat;}

/*商品*/
.goodswraper{
	width: 100%;
    margin-bottom: 1rem;
    border-radius: 5px;
	padding: .5rem;
	background-color: white;
	border: 2px solid #f5e107;
	position: relative;
}
.good{
	padding:.5rem;border-bottom: 1px dotted #8a8989;transition: all .5s linear;}
.good:hover{
	background-color:rgb(225, 228, 248);
}
a.tours{
    margin-bottom: 0.5rem;
}
span.location {
    position: absolute;
	background: #ff6b02;
    padding: 0.4rem;
    border-radius: 0.5rem;
    color: white;
    font-weight: bold;
	font-size: .9rem;
    margin: 0.25rem;
	display: block;
}
a.tours>h2.name{
	font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0;
    display: initial;
}
a.tours:hover > h2{
	text-decoration: underline;
}
.pinner{
	text-align: right;}	
.price{
	font-size: 0.7rem;
    color: #c41919;
    font-weight: 800;
    display: inline-block;
    margin-top: 0;
}
.price>span{
	font-size:1.3rem;}
.price:hover{color: rgb(133, 36, 36);}
.date{
}
a.day{font-size: 1.1rem; color:#535353;}
a.day:hover{color: rgb(133, 36, 36);text-decoration: underline;}
.date a.more{
	color:#535353;
	display: inline-block;
}	
.date a.more:hover{
	color: #553411;
	text-decoration: underline;
}
span.start{
	display: inline-block;
    margin-right: .5rem;
    font-size: .75rem;
}

/* gotop */
#gotop {
   width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-color: var(--primary-red);
    color: white;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
    z-index: 1001;
    position: fixed;
    bottom: 80px;
    right: 20px;
    border-radius: 50%;
    display: none;
    transition: all 0.5s linear;
}
#gotop:hover {
	background-color: var(--middle-navy);
}
#gotop i{
    font-size: 1.8rem;
	padding-top: 10px;
}

/* 其他 */
.clear{clear: both;}
@media screen and (max-width: 999px){
body{
	background-color: var(--light-blue);
}	

.navbar-dark .navbar-toggler-icon {
	background-image: url(../images/bars-solid.svg);
}

#japan-product, #korea-product, #northeast-asia-product, #southeast-asia-product, #china-product, #america-canada-product, #eur-product, #mea-product, #island-product{
	scroll-margin-top: 70px;
}

/*主選單按鈕*/
a.mainbtn{
	display: block;
    width: 2rem;
    height: 2rem;
    background: url(../images/bars-solid.svg);
    background-size: contain;
    position: fixed;
    z-index: 1200;
    top: 45px;
    right: 5px;
    cursor: pointer;}
#gotop{
	   right: 1rem;bottom: 1rem;}		
/* 主圖 */
.banner_area{height: auto;
        padding-top: 0;}
.header{
	width: 100%;
	position: initial;
	height: auto;
	background: none;
    padding-bottom: 0;
}
/* .festival-menu{display: none;} */
ul.festival-menu-inner{
	width: 100%;
	/* margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	padding: 0.5rem 0; */
}
ul.festival-menu-inner>li>a{
	padding:6px 0 14px 0;
}
ul.festival-menu-inner>li>a>span.festival-date{
	margin-top: 3px;
	line-height: 1.2;
}
ul.festival-menu-inner>li>a>span.festival-name-pc{
	display: none;
}
ul.festival-menu-inner>li.main-festival>a{
	color:white;
	background: url('../images/triangle.png') no-repeat center bottom 2px #fda35e;
	background-size: 14px auto;
}
ul.festival-menu-inner>li>a>span.festival-name-mobile{
	display: inline !important;
	font-size: 1.1rem;
	font-weight: bold;
}
/* 選單 */
#SHOWMENU{
	width: 100%;
	height: 100%;
	display: none;
    position: fixed;
    top: 56px;
    padding: 2rem;
    z-index: 9999;
    margin: 0;
	background-color: var(--primary-navy);
   }
#SHOWMENU.show{
	display: block;
}
ul.maintabs{
	width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
	padding: 1.2rem 0;}
ul.maintabs>li{
	width: 100%;
	margin-bottom: 0.5rem;
	border-left:none;
	}
ul.maintabs>li>a{
    width: 100%;
    height:auto;
	line-height: 50px;
    font-size: 1.4rem;
    font-weight: bold;
    padding:0;
}
/*內容區*/
.contentwraper{
	width: 100%;
	height: auto;
	background-color: var(--middle-navy);}
.content{
	width: 100%;
	margin: 0 auto;
	padding: 1rem;
}
/*內容標題*/
.bar{
    margin: 0.5rem auto 1rem;
    display: block;
    text-indent: 0;
    width: 100%;
    height: auto;
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 3rem;
    border-radius: 1rem;
    color: white;
    background-image: none;
}
/*商品*/
.goodswraper{width: 100%;}
.good {
    padding: 0.75rem 0;
}
a.tours h2{font-size: 1.2rem;}
/* gotop */
#gotop {bottom: 80px; right: 10px;}
}

/*==============================================================*/
/* 2026 雙十國慶連休專案 - 覆蓋與新增樣式 */
/*==============================================================*/

/* 主視覺 Banner（雙十出國） */
.header{
	background: #0b2a4a;
	display: block;
	padding: 0;
	height: auto;
	overflow: hidden !important;
}
/* banner 圖填滿 .header */
.header .banner-calendar{
	display: block !important; position: static !important;
	width: 100%; max-width: none; height: auto;
	border-radius: 0; box-shadow: none;
}

/* 內容標題（無標題圖，改為文字型） */
.contentwraper .bar{
	text-indent: 0 !important;
	background: var(--primary-navy);
	color: var(--light-yellow);
	width: 100%;
	height: auto;
	line-height: 3.4rem;
	font-size: 1.9rem;
	letter-spacing: .4rem;
	text-align: center;
	border-radius: 14px;
	margin: 2rem auto 1.5rem;
}

/* 國慶請假攻略區塊 */
.leave-guide-box{
	background: var(--light-blue);
	border: 2px solid var(--middle-yellow);
	border-radius: 14px;
	padding: 1.5rem;
	text-align: center;
	margin-bottom: 1.5rem;
}
.leave-guide-title{ font-size: 1.6rem; font-weight: 800; color: #0b2a4a; margin: 0 0 .5rem; }
.leave-guide-desc{ font-size: 1.05rem; color: #c41919; font-weight: 700; }

/* 主題引言 */
.theme-lead{ text-align: center; margin: 1.5rem 0; }
.theme-lead-title{ font-size: 1.6rem; font-weight: 800; color: #205a86; margin: 0 0 .75rem; letter-spacing: .2rem; color: var(--text-white); text-shadow: 3px 3px 3px #131313;}
.theme-lead > p{ font-size: 1rem; line-height: 1.9; color: #434343; max-width: 860px; margin: 0 auto; text-align: center; color: var(--text-white); text-shadow: 3px 3px 3px #131313;}

/* 主題區塊（電腦版：左文 + 右行程卡片） */
.theme-block{
	display: flex;
	align-items: center;
	gap: 1.75rem;
	background: var(--light-blue);
	border: 2px solid var(--middle-yellow);
	border-radius: 14px;
	padding: 1.5rem;
	margin-bottom: 1.25rem;
}
.theme-text{ flex: 1 1 42%; }
.theme-title{ font-size: 1.2rem; font-weight: 800; color: #0b2a4a; margin: 0 0 .75rem; line-height: 1.6; }
.theme-text > p{ font-size: .98rem; line-height: 1.9; color: #434343; margin: 0; }
.theme-tag{
	display: inline-block;
	background: var(--primary-red);
	color: #fff;
	font-size: .85rem;
	font-weight: 700;
	padding: .2rem .75rem;
	border-radius: 15px;
	margin-bottom: .75rem;
}
.theme-cards{ flex: 1 1 58%; display: flex; gap: 1rem; flex-wrap: wrap; }
.theme-card{
	flex: 1 1 calc(50% - .5rem);
	min-width: 180px;
	display: flex;
	flex-direction: column;
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	overflow: hidden;
	background: #fafafa;
	transition: box-shadow .3s ease;
}
.theme-card:hover{ box-shadow: 0 6px 18px rgba(0,0,0,.15); }
.theme-card-link{ display: block; }
.theme-card-link > img{ width: 100%; height: 200px; object-fit: cover; display: block; background-color: #ddd; }
.theme-card-name{
	font-size: 1rem; font-weight: 700; color: #333; margin: 0; padding: .75rem .75rem .5rem;
	line-height: 1.5;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.theme-card-btn{
	display: block; margin: auto .75rem .75rem; padding: .5rem 0;
	text-align: center; font-weight: 700; color: #fff;
	background: #ff6b02; border-radius: 8px; transition: background .3s ease;
}
.theme-card-btn:hover{ background: #d95a00; color: #fff; }

/* 手機版覆蓋 */
@media screen and (max-width: 999px){
    .theme-lead > p{ font-size: 1rem; line-height: 1.9; color: #434343; max-width: 860px; margin: 0 auto; text-align: left; color: var(--text-white); }
	.contentwraper h1{ 
		font-size: 1.6rem;
		margin: 1rem 0; 
	}
	.leave-guide-box { padding: 1rem; }
	.leave-guide-desc{ font-size: 1rem; }
	.header{ padding: 0; }
	ul.maintabs > li{ width: 100%; }

	.contentwraper .bar{
		font-size: 1.4rem;
		line-height: 3rem;
		letter-spacing: .2rem;
		margin: 1rem auto;
        padding: 0.5rem;
	}

	.theme-block{ flex-direction: column; gap: 1rem; padding: 1rem; }
	.theme-text{ flex: 1 1 auto; }
	.theme-cards{ flex: 1 1 auto; width: 100%; }
	.theme-card{ flex: 1 1 100%; }
	.theme-card-link > img{ height: 180px; }
	.theme-lead-title{ font-size: 1.35rem; }
}

/*==============================================================*/
/* 產品卡片 UI 優化（ucShowGrup 新版樣式，若使用 card 版型時套用） */
/*==============================================================*/
.card .date-box{
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
}
.card .date-box > .flt{
	float: none;
}
.card .date-box > .flt > .more:nth-last-child(1){
	font-size: .8rem;
	color: var(--primary-red);	
}
.card .date-box > .flt:first-child{
	flex: 0 0 auto;
}
.card .price span.price.fz-15{
	color: var(--primary-red);
	font-size: 1.5rem;
	font-weight: 800;
}
.card .price span.price.fz-15::before{
	content: "$";
	font-size: 1rem;
	font-weight: 700;
	margin-right: .25rem;
}
.card .price span.text-nowrap{
	color: #333;
}
.card-body h5{
	font-size: 1.1rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
}
.card-body span.tag {
    font-size: .8rem;
    color: #0096f2;
    border: 1px solid #0096f2;
    padding: 0.2rem 0.5rem;
    border-radius: 20px;
    margin-right: 8px;
    line-height: 30px;
}

/*==============================================================*/
/* 表尾宣告（footer 使用的樣式，取自共用 ucFoot） */
/*==============================================================*/
.ilogo {
	width: 110px;
	height: auto;
	clear: both;
}
footer {
	font-size: .9rem;
	line-height: 1.6em;
}
footer span {
	clear: both;
	display: block;
	padding-top: .6rem;
	margin-bottom: 0.3rem;
	font-weight: 900;
}
.bg-foot {
    background-color: #f8f8f8;
}
.footer-ul{
	margin: 0;
	padding-left:0;
}
.bg-primary {
    background-color: #d82a43!important;
}
.copyright {
    font-size: 13px;
	text-align: center;
	color: white;
}
.pt-15 {
    padding-top: 15px;
}
.pb-15 {
    padding-bottom: 15px;
}
#back-top{
	display: none;
}
@media (max-width: 576px) {
	footer {
		text-align: center;
	}
}

