/* ===== css reset === start ====== */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}
body {
	line-height: 1;
}
ol,
ul {
	list-style: none;
}
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

.row > * {
	padding: 0;
}
/* ===== css reset === end ====== */

/* ========== 全域樣式 ========== */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

#app {
	overflow-x: hidden;
	width: 100%;
	font-size: 20px;
	position: relative;
}
.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(images/bg/overlay.jpg) no-repeat center top;
	background-size: cover;
	z-index: 0;
	pointer-events: none;
}

.btn {
	border-radius: 16px;
	border: 3px solid transparent;
	background: linear-gradient(180deg, #edc888 0%, #ffcf8d 50%, #ce9049 100%) padding-box,
		linear-gradient(0deg, #ebdb9a 0%, #ffe9c4 50%, #bd711b 100%) border-box;
	color: #a62324;
	color: white;
}

@media (min-width: 1085px) and (max-width: 1439px) {
	html {
		font-size: 22px;
	}
}

@media (min-width: 1920px) {
	html {
		font-size: 24px;
	}
}
@media screen and (max-width: 1440px) {
	html {
		font-size: 1.388888vw;
	}
}
@media screen and (max-width: 1200px) {
	html {
		font-size: 1.953123vw;
	}
}

/* 手機版跟網頁版不同時使用 */
@media screen and (max-width: 768px) {
	html {
		font-size: 4.67289vw;
	}
	.pc {
		display: none !important;
	}
	.mobile {
		display: block;
	}
}

@media (min-width: 769px) {
	.pc {
		display: block;
	}
	.mobile {
		display: none !important;
	}
}

body {
	font-family: 'Noto Sans TC', sans-serif;
	overflow-x: hidden;
	background: #e8f4f8;
	width: 100%;
	max-width: 100vw;
}

@media (min-width: 768px) {
	.container,
	.container-md,
	.container-sm {
		max-width: 100%;
	}
}

/* 文字有黃色線條 */
.highlight {
	position: relative;
	z-index: 1;
}

.highlight::after {
	content: '';
	position: absolute;
	top: 50%;
	left: -3%;
	width: 110%;
	height: 110%;
	z-index: -1;
	background-image: url(images/icon/yellow_highlight.png);
	background-repeat: no-repeat;
	background-size: contain;
}
/* 文字有黃色線條 長的 */
.highlight-l {
	position: relative;
	z-index: 1;
}
.highlight-l::after {
	content: '';
	position: absolute;
	top: 40%;
	left: -3%;
	width: 105%;
	height: 50%;
	z-index: -1;
	background-image: url(images/icon/yellow_highlight.png);
	background-repeat: no-repeat;
	background-size: cover;
}
.bold {
	font-weight: 500;
}

/* ========== 導航列樣式 ========== */
.navbar {
	border-bottom: 1px solid #fff;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgba(240, 240, 240, 0.75) 100%);
	backdrop-filter: blur(7.5px);
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 1001;
	padding: 0;
}
.navbar .navbar-container {
	margin: 0.65em 2em;
	position: relative;
	z-index: 1004;
}

/* Logo 區塊容器 */
.navbar-logos {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1005;
}

.navbar-logo-item {
	height: 2rem;
	display: flex;
	align-items: center;
	gap: 1.25em;
}

.navbar-logo-item img {
	height: 100%;
	width: auto;
	object-fit: contain;
}
.navbar-logo-item img:nth-child(1) {
	height: 1.45em;
}
.navbar-logo-item img:nth-child(2) {
	height: 2.55em;
}

.navbar-nav {
	gap: 0.8em;
}

.navbar-nav .nav-link {
	color: #090909;
	text-align: center;
	font-size: 0.9em;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin: 1.5em 0em;
	padding: 0;
}

@media (min-width: 992px) {
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 0.5em !important;
		padding-left: 0.5em !important;
		margin: 0.5em 0em;
	}

	.navbar-logo-item {
		height: 1.5rem;
	}
}

/* ========== 漢堡按鈕切換樣式 ========== */
.navbar-toggler {
	border: none;
	padding: 0;
	position: relative;
	width: 42px;
	height: 35px;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1005;
}

.navbar-toggler:focus {
	box-shadow: none;
}

/* 漢堡圖標和叉叉圖標的基本樣式 */
.navbar-toggler .hamburger-icon,
.navbar-toggler .close-icon {
	position: absolute;
	transition: all 0.3s ease;
}

/* 預設顯示漢堡，隱藏叉叉 */
.navbar-toggler .hamburger-icon {
	opacity: 1;
	transform: rotate(0deg);
}

.navbar-toggler .close-icon {
	opacity: 0;
	transform: rotate(-90deg);
}

/* 展開時顯示叉叉，隱藏漢堡 */
.navbar-toggler[aria-expanded='true'] .hamburger-icon {
	opacity: 0;
}

.navbar-toggler[aria-expanded='true'] .close-icon {
	opacity: 1;
}

/* 手機版調整 */
@media (max-width: 768px) {
	.navbar-toggler {
		width: 1.8rem;
		height: 1.5rem;
	}

	.navbar-toggler .hamburger-icon {
		width: 1.8rem;
		height: auto;
	}

	.navbar-toggler .close-icon {
		width: 1.7rem;
		height: auto;
	}
}

/* ========== 回到頂部按鈕 ========== */
.back-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 3.6em;
	height: 3.6em;
	background: url(images/icon/GoTop.png) center/cover no-repeat;
	color: white;
	border: none;
	border-radius: 50%;
	font-size: 20px;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s;
	z-index: 999;
}

.back-to-top.show {
	opacity: 1;
	visibility: visible;
}

.back-to-top:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

/* ========== 官網購票按鈕 ========== */
.back-to-top.ticket-wrapper {
	/* background: #000; */
	bottom: 113px;
	z-index: 999;
}
.back-to-top.ticket-wrapper a {
	/* background: #000; */
	color: white;
	text-decoration: none;
	font-size: 15px;
	bottom: 114px;
	z-index: 999;
	letter-spacing: 0.1em;
}

@media (max-width: 992px) {
	.back-to-top.ticket-wrapper {
		bottom: 94px;
	}
}

/* ========== 主視覺區塊 ========== */
.hero-section {
	min-height: 42em;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 80px;
}

.hero-content {
	z-index: 2;
	text-align: center;
	color: #8b6f47;
	margin: 0 2em;
}

.hero-content .hero-subtitle {
	color: #000;
	text-align: center;
	font-size: 1.1rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.hero-content .hero-title img {
	width: 100%;
}

.hero-description {
	font-size: 1.2rem;
	margin-bottom: 2em;
	line-height: 1.8;
	color: #000;
}

.hero-description .rotate {
	display: inline-block;
	font-size: 1.4rem;
	width: 2.5rem;
	height: 2.5rem;
	background-color: #c11e31;
	border-radius: 50%;
	margin: 0.2rem;
	transform: rotate(-15deg);
	color: #fff;
	font-weight: 700;
	line-height: 2.4rem;
}
.hero-description .red {
	color: #c11e31;
	font-size: 1.3rem;
	font-weight: 700;
}

.btn-start {
	font-size: 1.2rem;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s;
	position: relative;
	border-radius: 20px;
}
.btn-start img {
	position: static;
	width: 100%;
}
.btn-start p {
	position: absolute;
	/* width: 100%; */
	top: 50%;
	left: 50%;
	transform: translate(-60%, -50%);
	color: #915f39;
	text-align: center;
	font-size: 1.3rem;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.btn-start p::before {
	content: '';
	position: absolute;
	width: 50%;
	height: 50%;
	top: 50%;
	left: 100%;
	transform: translate(10%, -50%);
	background: url(images/icon/button-img.png) no-repeat;
	background-size: contain;
	border-radius: 50%;
	z-index: 2;
	animation: pulse 2s infinite;
}

.btn-start::after {
	content: '';
	position: absolute;
	z-index: 3;
	top: -100%;
	left: 78%;
	width: 8.5rem;
	aspect-ratio: 68 / 79;
	background-image: url(images/icon/pic_dice.png);
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

.btn-start:hover {
	border-radius: 20px;
}

/* ========== 區塊標題樣式 ========== */
.section-title {
	display: flex;
	justify-content: center;
	height: 6.75rem;
}

.section-title::after {
	display: none;
}

/* ========== 即刻啟程區塊 ========== */
.destinations-section {
	min-height: 35rem;
	/* margin-top: -2px; */
	/* aspect-ratio: 72 / 35; */
	/* background: url(images/bg/bg-2.jpg) no-repeat; */
	background-size: 100%;
	background-position: top center;
	position: relative;
	display: flex;
	justify-content: center;
}


.section-container {
	width: 40.45em;
	margin: 0 30rem;
	display: flex;
	padding: 0;
	--bs-gutter-x: 5em;
	position: relative;
}

@media (min-width: 767px) and (max-width: 768px) {
	.section-container {
		width: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 2em;
	}
	.section-container-div {
		width: 69%;
	}
	.destination-icon {
		top: -0.2em;
	}
}

.section-container-div {
	display: flex;
	flex-direction: column !important;
	justify-content: center;
}

.big-cloud-deco {
	position: absolute;
	bottom: -69%;
	left: 0%;
	width: 26.8em;
	height: 300px;
	background-image: url('images/destinations/destinations_cloud.png');
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 4;
	pointer-events: none;
}

.destination-card {
	padding: 0;
	background: url(images/flight_op_bg.png) no-repeat;
	background-position: top center;
	background-size: contain;
	height: 18.55em;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: all 0.4s;
	position: relative;
	overflow: visible;
	cursor: pointer;
	z-index: 2;
}

.destination-card::before {
	display: none;
}

.destination-card:hover {
	transform: translateY(-10px) scale(1.02);
}

.destination-icon {
	border-radius: 20px;
	margin-bottom: 30px;
	position: absolute;
	z-index: 3;
	bottom: -6em;
	overflow: visible;
	pointer-events: none;
}

.destination-name {
	color: #fff;
	font-size: 2.2em;
	font-style: normal;
	font-weight: 100;
	line-height: 1.1em;
}

.destination-subtitle {
	color: #f7deb1;
	text-align: center;
	font-family: 'Montserrat';
	font-size: 0.8em;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.destination-slash {
	margin: 1.2em 0;
	color: #fff;
	font-weight: 100;
}

/* 桌面版保持垂直佈局 */
.destination-info {
	margin: 3.2em auto;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}

.destination-text {
	display: contents;
}

.btn-detail {
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 6.3em;
	height: 1.8em;
	font-size: 0.9em;
	font-weight: 200;
	color: #fff;
	border-radius: 24px;
	border: 1px solid #fff;
	line-height: 1;
}
.btn-detail {
	margin: 0;
	line-height: 1;
}

.btn-detail span {
	display: flex;
	align-items: center;
}

.btn-detail:hover {
	transform: scale(1.05);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
	background: #f8f8f8;
	color: #000;
}

/* ========== 航班資訊彈窗 ========== */
.flight-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.87);
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1.1em 0.6em;
	/* overflow-y: auto; */
}
.flight-modal-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 48rem;
	max-height: 29.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flight-modal-overlay.active {
	display: flex;
}

.flight-modal-container {
	position: relative;
	width: 100%;
	height: 29.6rem;
	max-width: 48rem;
	max-height: 29.6rem;
	overflow: visible;
	overflow-y: hidden;
	margin: auto;
	border-radius: 32px;
	background: linear-gradient(180deg, #7d583f 0%, #a2846d 100%);
}

.flight-modal {
	border-radius: 30px;
	color: white;
	backdrop-filter: blur(10px);
	position: relative;
	display: flex;
	gap: 0px;
}

.flight-modal-left {
	position: absolute;
	top: -5%;
	left: 2%;
	z-index: 10;
	width: auto;
	pointer-events: auto;
}

.flight-modal-right {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 2em 0em 0em 9em;
	width: 100%;
}

.flight-modal-right .modal-title {
	color: #fff;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.flight-modal-right .modal-title span {
	color: #ffe59c;
}

.flight-modal-content {
	margin-top: 1.6rem;
	overflow-y: auto;
	height: calc(29.6rem - 1rem - 2rem - 1.6rem - 0.6rem);
	padding-right: 2rem;
}

.modal-close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	background: white;
	color: #8b6f47;
	border: none;
	border-radius: 50%;
	font-size: 24px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	transition: all 0.3s;
}

.modal-close:hover {
	transform: rotate(90deg);
}

/* ========== 航班彈窗左右切換箭頭 ========== */
.modal-nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3em;
	height: 3em;
	background: none;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2002;
	transition: all 0.3s;
	color: #fbfbfb;
}

.modal-nav-btn:hover:not(:disabled) {
	transform: translateY(-50%) scale(1.1);
}

.modal-nav-btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
	color: #999;
}

.modal-nav-prev {
	left: -4em;
}

.modal-nav-next {
	right: -4rem;
}

/* 手機版調整 */
@media (max-width: 768px) {
	.modal-nav-btn {
		width: 2.5em;
		height: 2.5em;
	}

	.modal-nav-prev {
		left: -0.5rem;
	}

	.modal-nav-next {
		right: -0.5rem;
	}
}

.modal-header-logo h3 {
	font-size: 2rem;
	font-weight: 900;
	color: white;
	margin: 0;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
	letter-spacing: 10px;
}

.modal-title {
	color: #fff;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.flight-group {
	border-radius: 16px;
	background: linear-gradient(180deg, #79563e 0%, rgba(121, 86, 62, 0) 100%);
	padding: 0.8rem 1.2rem;
	overflow-y: auto;
}

.flight-group-wrapper {
	display: flex;
	gap: 1.2rem;
}

.flight-departure-section {
	display: flex;
	flex-direction: column;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
}

.flight-schedules-section {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.flight-schedules-div {
	display: flex;
	gap: 1.2em;
	flex-direction: column;
}

.flight-schedules-div .flight-schedule-schedule .flight-day-label {
	display: inline-block;
	height: auto;
	width: auto;
	margin-bottom: 0.3em;
}

.flight-schedules-div .flight-schedule-schedule .flight-day-label .flight-day {
	padding: 0.2em 0.4em;
}

.flight-schedules-div .flight-schedule-schedule {
	position: relative;
}
.flight-schedules-div .flight-schedule-schedule:nth-child(even)::before {
	position: absolute;
	content: '';
	width: 100%;
	height: 1px;
	top: -0.6em;
	background: rgba(255, 255, 255, 0.2);
}

.flight-schedule-row {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	position: relative;
}

.flight-schedule-row:last-child {
	margin-bottom: 0;
}

.flight-schedule-row:nth-child(even)::before {
	position: absolute;
	content: '';
	top: -0.6em;
	width: 100%;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
}

.flight-schedule-header {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 200px;
	padding-top: 20px;
	align-items: flex-start;
}

.flight-departure-title {
	color: #fff;
	font-size: 1.3rem;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.flight-departure-subtitle {
	color: #fff;
	text-align: center;
	font-size: 0.6rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.flight-departure-star {
	line-height: 0rem;
}

.flight-day-label {
	display: flex;
	align-items: center;
	width: 1.3rem;
	height: 100%;
	background: #cfa64c;
}

.flight-day {
	width: 100%;
	height: 100%;
	border-radius: 50px;
	background: #fff;
	color: #090909;
	text-align: center;
	font-size: 0.9rem;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.flight-table {
	width: 100%;
	text-align: center;
	border-collapse: separate;
	border-spacing: 0.1rem;
}

.flight-table td {
	background: rgba(255, 255, 255, 0.12);
	vertical-align: middle;
}
.flight-table td:nth-child(1) {
	width: 4.5rem;
}
.flight-table td:nth-child(2),
.flight-table td:nth-child(3) {
	width: 5.65rem;
}

.flight-table td:nth-child(4) {
	width: 7.3rem;
}

.flight-code,
.airport-code,
.flight-time {
	font-family: 'Montserrat', sans-serif;
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	white-space: nowrap;
}
.airport-name {
	text-align: center;
	font-size: 0.8rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

@media (min-width: 1440) {
	.airport-name {
		font-size: 0.8rem;
	}
}

/* ========== 星期標籤在 Table 內的樣式 ========== */
.flight-table-with-day {
	width: 100%;
}

.flight-day-cell {
	background: transparent !important;
	padding: 0 !important;
	vertical-align: middle;
	width: 1.3rem;
}

.flight-day-cell .flight-day-label {
	width: 1.3rem;
	height: 100%;
	min-height: 3em;
	background: #cfa64c;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flight-day-cell .flight-day {
	width: 100%;
	height: 100%;
	border-radius: 50px;
	background: #fff;
	color: #090909;
	text-align: center;
	font-size: 0.9rem;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.5em;
	line-height: 1.2;
}

/* 手機版調整 */
@media (max-width: 768px) {
	.flight-day-cell {
		width: 3.75rem;
	}

	.flight-day-cell .flight-day-label {
		width: 3.75rem;
	}

	.flight-day-cell .flight-day {
		font-size: 0.8rem;
	}
}

.airport-code {
	font-size: 0.6em;
}

.flight-route-text {
	gap: 0.25rem;
	position: relative;
}
/* 飛機圖示浮在間隙上 */
.flight-route-to::before {
	content: '';
	position: absolute;
	left: -0.48rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.85rem;
	height: 1.25rem;
	background-image: url('images/icon/ion_airplane.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 10;
}

.flight-arrow {
	text-align: center;
	font-size: 1.25rem;
}

/* 左側小島裝飾 */
.modal-decoration-left {
	position: fixed;
	left: 0;
	bottom: 0em;
	width: 40%;
	aspect-ratio: 24 / 13;
	pointer-events: none;
	z-index: 5;
	background-size: contain;
	background-repeat: no-repeat;
}

/* 右側飛機裝飾 */
.modal-decoration-right {
	position: fixed;
	right: 4%;
	bottom: 4%;
	width: 38%;
	aspect-ratio: 433 / 141;
	pointer-events: none;
	z-index: 5;
	background-size: contain;
	background-repeat: no-repeat;
}
/* ========== 特色必訪區塊 ========== */
.features-section {
	position: relative;
	min-height: 35rem;
}
@media (max-width: 1440) {
	.features-section {
		height: 55rem;
	}
}

.features-section .features-container {
	position: relative;
	z-index: 2;
	margin-bottom: 2.5em;
	padding-top: 2rem;
}

.features-cloud {
	position: absolute;
	bottom: -29%;
	right: 0%;
	width: 29.55rem;
	height: 21.8rem;
	background-image: url(images/bg/bg-3-1.png);
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 1;
	pointer-events: none;
}



.features-section .features-container .section-title-p {
	color: #090909;
	font-size: 0.9em;
	font-style: normal;
	font-weight: 400;
	line-height: 25px;
	letter-spacing: 0.48px;
	padding: 1.2em 0;
}

.feature-card {
	background: white;
	border-radius: 12px;
	margin: 0em 3em;
	transition: all 0.3s;
	position: relative;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.feature-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.feature-icon {
	width: 22.5em;
	aspect-ratio: 45 / 43;
	background-position: top;
	background-size: cover;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
}

@media (min-width: 997px) {
	.feature-icon::before {
		content: '';
		position: absolute;
		background-image: url(images/features-swiper/spec_paper.png);
		height: 21.5em;
		width: 2.95em;
		top: 0;
		right: -2%;
		z-index: -1;
	}
}

.feature-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.2em;
	z-index: 1;
}
.feature-bg {
	margin: 0.8em auto 0em auto;
	height: 4em;
	width: 100%;
	background: url(images/features-swiper/spec_tag.png) no-repeat;
	background-size: cover;
	display: inline-block;
	margin-bottom: 15px;
}

.feature-title {
	color: #090909;
	display: flex;
	height: 4em;
	align-items: center;
	margin-left: 2em;
	font-size: 0.9em;
	font-style: normal;
	font-weight: 400;
	padding-right: 1em;
	line-height: 25px;
}

.feature-subtitle {
	font-size: 1.2rem;
	font-weight: 700;
	color: #d4a574;
	margin-bottom: 7.5em;
}

.feature-description {
	color: #666;
	font-size: 0.8em;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.8px;
	margin-left: 1em;
	margin-top: 1.2em;
	height: calc(100% - 4em);
	position: relative;
	padding: 0.4em 0em;
	line-height: 1.48em;
	letter-spacing: -0.65px;
}

.feature-description p::before {
	position: absolute;
	content: '';
	width: 0.2em;
	height: 12em;
	border-radius: 4px;
	border: 1px solid #ddcfa4;
	left: -3%;
	top: 0;
}

.features-decoration-image {
	position: absolute;
	bottom: -19%;
	right: 4%;
	width: 20.65em;
	height: 13.6em;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 10;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
@media (max-width: 1220px) {
	.features-decoration-image {
		bottom: -21%;
		right: 2%;
	}
}
@media (max-width: 1160px) {
	.features-decoration-image {
		bottom: -21%;
		right: 0%;
	}
}

@media (max-width: 997px) {
	.features-decoration-image {
		display: none;
	}
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: var(--swiper-pagination-bottom, 0px);
}

.swiper-pagination-bullet-active {
	width: 0.8em;
	border-radius: 8px;
	background: #915f39;
}

/* Swiper 特色必訪樣式 */
.featuresSwiper {
	width: 54em;
	height: 22.7em;
	max-width: 100%;
	padding-bottom: 60px;
	overflow: hidden;
}

.swiper {
	overflow: hidden;
}

/* 特色必訪不使用半透明效果 */
.featuresSwiper .swiper-slide {
	opacity: 1 !important;
	height: 100%;
	width: 15em;
}

/* ========== 統一 Swiper 箭頭樣式（兩個區塊）========== */
.tours-swiper-wrapper {
	width: 100%;
}
/* 基礎樣式 - 適用於特色必訪和推薦行程 */
.tours-swiper-wrapper .swiper-button-next,
.tours-swiper-wrapper .swiper-button-prev,
.featuresSwiper .swiper-button-next,
.featuresSwiper .swiper-button-prev {
	color: #3f464b;
	background: white;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	transition: all 0.3s;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

/* 箭頭圖標樣式 */
.tours-swiper-wrapper .swiper-button-next:after,
.tours-swiper-wrapper .swiper-button-prev:after,
.featuresSwiper .swiper-button-next:after,
.featuresSwiper .swiper-button-prev:after {
	font-size: 0.8em;
	font-weight: 900;
}

/* 禁用狀態 - 兩個區塊都適用 */
.tours-swiper-wrapper .swiper-button-disabled,
.featuresSwiper .swiper-button-disabled {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
	background: #ccc;
	color: #999;
}

/* Hover 狀態 - 兩個區塊都適用 */
.tours-swiper-wrapper .swiper-button-next:not(.swiper-button-disabled):hover,
.tours-swiper-wrapper .swiper-button-prev:not(.swiper-button-disabled):hover,
.featuresSwiper .swiper-button-next:not(.swiper-button-disabled):hover,
.featuresSwiper .swiper-button-prev:not(.swiper-button-disabled):hover {
	transform: scale(1.1);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* ========== 推薦行程區塊 ========== */
.tours-section {
	height: 50rem;
	overflow: visible;
	position: relative;
	z-index: 1;
}

.tours-section .container {
	padding-top: 4rem;
	overflow: visible;
	position: relative;
	z-index: 2;
}

/* 推薦行程手機版 Slide 半透明效果 */
.toursSwiper .swiper-slide {
	transition: opacity 0.4s ease;
}

@media (max-width: 768px) {
	.toursSwiper .swiper-slide:not(.swiper-slide-active) {
		opacity: 0.4;
	}
}

/* 分頁按鈕 */
.tour-tabs {
	width: 24em;
	margin: auto;
	display: flex;
	justify-content: center;
	gap: 50px;
	margin-bottom: 50px;
	flex-wrap: wrap;
	position: relative;
	border-bottom: 2px solid #333;
	padding-bottom: 0;
}

.tour-tab-btn {
	background: transparent;
	padding: 0em 1.5em 1em 1.5em;
	border-radius: 0;
	border: none;
	cursor: pointer;
	transition: all 0.3s;
	position: relative;
	color: #090909;
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
}

.tour-tab-btn:hover {
	color: #090909;
	font-weight: 700;
}

.tour-tab-btn.active {
	color: #090909;
	font-weight: 700;
}

/* 紅色移動指示線 */
.tour-tab-indicator {
	position: absolute;
	bottom: -0.3em;
	height: 10px;
	width: 116px;
	background-image: url('images/icon/rec_tab_line.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	left: 0;
	transform: translateX(-50%);
}

.tours-section .toursSwiper {
	width: 100%;
	max-width: 51.8em;
	height: auto;
	overflow: hidden;
	position: relative;
	margin: 1em auto;
	z-index: 3;
}

/* 推薦行程箭頭定位 - 桌面版 */
@media (min-width: 997px) {
	.tours-swiper-wrapper .swiper-button-next {
		right: 9%;
		top: 50%;
		transform: translateY(-50%);
		z-index: 100;
		position: absolute;
		margin-top: 0;
	}

	.tours-swiper-wrapper .swiper-button-prev {
		left: 8%;
		top: 50%;
		transform: translateY(-50%);
		z-index: 100;
		position: absolute;
		margin-top: 0;
	}
}

/* 推薦行程箭頭隱藏 - 平板和手機版 */
@media (max-width: 996px) {
}

.toursSwiper .tour-card {
	width: 15rem;
	height: 21.3rem;
	background: white;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s;
	display: flex;
	flex-direction: column;
	border: 4px solid #fff;
}

@media (min-width: 1441px) {
	.toursSwiper .tour-card {
		width: 18rem;
		height: 26.3rem;
	}
}

@media (min-width: 1900px) {
	.tours-swiper-wrapper {
		width: 73%;
		margin: auto;
		padding-left: 4%;
	}
	.toursSwiper .tour-card {
		width: 16rem;
		height: 24rem;
	}
	/* .tours-swiper-wrapper .swiper-button-next {
        right: 11%;} */
}

@media (min-width: 1920px) {
	.tours-swiper-wrapper {
		width: 80%;
		margin: auto;
		padding-left: 1%;
	}
	.toursSwiper .tour-card {
		width: 12rem;
		height: 17rem;
	}
	.tours-swiper-wrapper .swiper-button-prev {
		left: 12%;
	}
	.tours-swiper-wrapper .swiper-button-next {
		right: 13%;
	}

}

@media (min-width: 1920px) {
	.tours-swiper-wrapper {
		width: 73%;
	}
}
.toursSwiper .tour-image {
	width: 100%;
	aspect-ratio: 3 / 2;
	/* height: 150px; */
	background-size: cover;
}

.toursSwiper .tour-content {
	padding: 1.2em 0.8em;
	flex: 1;
	display: flex;
	flex-direction: column;
	position: relative;
	justify-content: space-between;
}

.toursSwiper .tour-tag {
	display: flex;
	padding: 0.6em 1em;
	justify-content: center;
	align-items: center;
	gap: 10px;
	position: absolute;
	top: -1em;
	left: 10px;
	z-index: 1;
	border-radius: 40px;
	border: 1px solid #fff;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(5px);
	color: #090909;
	text-align: center;
	font-size: 0.7em;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.toursSwiper .tour-title {
	color: #090909;
	font-size: 1em;
	font-style: normal;
	font-weight: 700;
	line-height: 25px;
	height: 2em;
	margin-bottom: 1.2em;
}

.toursSwiper .tour-info {
	color: #666;
	font-size: 0.8em;
	font-style: normal;
	font-weight: 400;
	line-height: 1.25em;
	padding-left: 0.5em;
	height: 4em;
	position: relative;
	border-left: 1px solid #915f39;
}

.toursSwiper .tour-price {
	display: flex;
	align-items: center;
	justify-content: end;
	align-items: end;
	padding-top: 15px;
}

.toursSwiper .tour-price .price-twd {
	color: #090909;
	text-align: right;
	font-family: 'Montserrat';
	font-size: 0.8em;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

.toursSwiper .tour-price .price-tag {
	color: #c11e31;
	text-align: right;
	font-family: 'Montserrat';
	font-size: 1.6em;
	font-style: normal;
	font-weight: 600;
	line-height: 0.7em;
	padding: 0 0.2em;
}

.toursSwiper .price-unit {
	color: #090909;
	text-align: right;
	font-family: 'Noto Sans TC';
	font-size: 0.7em;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

/* ========== 推薦行程 RWD 設定 ========== */

/* 桌面版 (> 996px): 3 張卡片 + 16px 間距 */
@media (min-width: 996px) {
	.tours-section .toursSwiper {
		width: 48.8em;
		height: 22.3em;
	}

	.toursSwiper {
		--swiper-space-between: 16px;
	}
}

/* 平板版 (996px 以下): 2 張卡片 */
@media (max-width: 1199px) {
	.tours-section .toursSwiper {
		width: 100%;
		max-width: 650px;
		height: auto;
		margin: 1em auto;
	}

	.toursSwiper {
		--swiper-space-between: 16px;
	}

	.toursSwiper .swiper-slide {
		width: 300px;
		height: auto;
	}

	.toursSwiper .tour-card {
		width: 300px;
		height: 426px;
		margin-bottom: 1.5rem;
	}

	.tours-section {
		padding: 1.2em 1em 17em 1em;
	}
		.flight-modal-left {
    position: absolute;
    top:-5%;
    left: 10%;
	}
}

@media (min-width: 768px) and (max-width: 996px) {
	.tours-section .toursSwiper {
		width: 300px;
		max-width: 300px;
		height: auto;
		margin: 1em auto;
	}

	.tours-swiper-wrapper {
		width: 67%;
		margin: auto;
	}
}

@media (max-width: 992px) {
	.navbar-toggler {
		margin: 0.8em;
	}
}

/* 手機版 (< 768px): 1 張卡片 */
@media (max-width: 768px) {
	.tours-section .toursSwiper {
		width: 100%;
		max-width: 320px;
		height: auto;
		margin: 1em auto;
	}

	.toursSwiper {
		--swiper-space-between: 16px;
	}

	.toursSwiper .swiper-slide {
		width: 15em;
		height: auto;
	}

	.toursSwiper .tour-card {
		width: 15em;
		height: 21.3em;
	}

	.tours-section {
		padding: 1.2em 1em 17em 1em;
	}

	.tour-image {
		height: 200px;
		background-size: cover;
	}
}

/* ========== 彈窗 RWD 設定 ========== */
/* 手機版航班彈窗調整 */
@media (max-width: 768px) {
	/* 航班資訊彈窗 */
	.flight-modal-overlay {
		justify-content: center;
		align-items: center;
		max-width: 100%;
		max-height: 100%;
		margin: auto;
		overflow: scroll;
	}

	.flight-modal-wrapper {
		max-width: 100%;
		max-height: 100%;
	}

	.flight-modal-container {
		max-width: 93vw;
		max-height: 82vh;
		height: auto;
		overflow: hidden;
	}

	.flight-modal {
		padding: 1rem;
		overflow-y: auto;
		max-height: 90vh;
	}

	.flight-modal {
		flex-direction: column;
		gap: 20px;
		height: 680px;
		position: relative;
		overflow: visible;
		display: flex;
	}
	.flight-modal {
		width: 100%;
		padding: 2.8em 0em 0em 0em;
	}

	.flight-modal-left {
		display: flex;
		justify-content: center;
		position: absolute;
		/* margin: 0 1em 0 -1em; */
		top: 3%;
		left: 0;
		width: 100%;
		z-index: 10;
	}

	.destination-label-img {
		max-width: 100%;
		height: auto;
	}

	.flight-modal-right {
		padding: 0;
		overflow-y: auto;
		max-height: 73vh;
	}

	.flight-modal-content {
		height: auto;
		overflow-y: auto;
		padding: 0 1em;
	}

	/* 確保裝飾圖片不干擾操作 */
	.modal-decoration-left,
	.modal-decoration-right {
		display: none;
	}
	.flight-table td:nth-child(1),
	.flight-table td:nth-child(2),
	.flight-table td:nth-child(3) {
		width: 5.57em;
	}

	.flight-table td:nth-child(4) {
		width: 7.5em;
	}

	.modal-title {
		text-align: center;
	}

	.modal-title.mobile {
		font-size: 0.9em;
	}
	.flight-group {
		padding: 0.6em;
		margin-bottom: 0.4em;
	}
	.flight-group-wrapper {
		flex-direction: column;
	}

	.flight-day-label {
		display: flex;
		align-items: center;
		width: auto;
		height: auto;
		background: #cfa64c;
	}
	.flight-day {
		font-size: 0.7em;
		padding: 0.1em 0.8em;
	}

	.flight-schedules-div .flight-schedule-schedule .flight-day-label .flight-day {
		padding: 0.2em 0.8em;
	}
	.flight-departure-section {
		display: flex;
		flex-direction: row;
		position: relative;
	}
	.flight-departure-title {
		font-size: 0.9em;
	}
	.flight-departure-star {
		position: absolute;
		top: 110%;
	}

	.flight-schedules-div {
		display: flex;
		flex-direction: column;
		gap: 1.2em;
	}

	.flight-schedule-row {
		gap: 0.6em;
		flex-direction: column;
	}

	.flight-schedule-row:nth-child(even)::before {
		content: '';
		width: 100%;
		height: 1px;
		top: -0.6em;
		background: rgba(255, 255, 255, 0.2);
	}

	.flight-code,
	.flight-route-text .airport-name {
		font-size: 0.7em;
	}
	.flight-route-text .airport-code {
		font-size: 0.5em;
	}
	.flight-time {
		font-size: 0.7em;
	}
	.tours-swiper-wrapper {
		padding: 0 0 0 1em;
	}
}

@media (max-width: 1200px) {
	.flight-modal-container {
		max-width: 80vw;
		max-height: 73vh;
	}
	.modal-close {
		position: fixed;
		top: 12%;
		right: 10%;
	}

	.modal-nav-prev {
		left: 0em;
	}
	.modal-nav-next {
		right: 0rem;
	}
}

@media (max-width: 1076px) {
	.flight-modal-container {
		position: fixed;

		max-width: 80vw;
		max-height: 73vh;
	}
	.modal-close {
		position: fixed;
		top: 11vh;
		right: 9vw;
	}
}

@media (max-width: 1003px) {
	.flight-modal-container {
		position: fixed;
		max-width: 80vw;
		max-height: 73vh;
	}
	.modal-close {
		position: fixed;
		top: 12vh;
		right: 9%;
	}
}

@media (max-width: 768px) {
	.hero-content-top {
		width: 100%;
		margin: auto;
	}
	.modal-close {
		position: fixed;
		top: 7vh;
		right: 4vw;
		z-index: 2001;
		width: 2.33em;
		height: 2.33em;
	}

	.flight-modal-container {
		top: 3em;
		position: fixed;
		max-width: 93vw;
		max-height: 80vh;
	}
}
@media (min-width: 1021px) and (max-width: 1137px) {
	.navbar .navbar-container {
		margin: 0.65em 1em;
	}
	.navbar-expand-lg .navbar-nav .nav-link {
		padding: 0.5em;
	}
	.navbar-nav {
		gap: 0em;
	}
}
@media (min-width: 1083px) and (max-width: 1021px) {
	.navbar-expand-lg .navbar-nav .nav-link {
		padding: 0.5em;
		margin: 0;
	}
}
@media (min-width: 992px) and (max-width: 1084px) {
	.navbar .navbar-container {
		margin: 0.65em 1em;
	}
	.navbar-nav {
		gap: 0em;
	}
}
/* 平板及手機版 (< 996px): 直式布局 - 上到下: 圖 > before > 文字 */
@media (max-width: 991px) {
	.navbar {
		z-index: 1002;
	}
	.navbar-collapse {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(232, 244, 248, 0.98);
		backdrop-filter: blur(3px);
		z-index: 998;
		/* padding-top: 80px; */
		overflow-y: auto;
		display: none;
		padding-top: calc(1.95em + 0.65em + 0.65em);
	}

	.navbar-collapse.show {
		display: flex !important;
		justify-content: flex-start;
		align-items: start;
	}

	.navbar-collapse::before {
		content: '';
		bottom: 0;
		left: 0;
		position: absolute;
		width: 100%;
		height: 100%;
		background: url(images/bg/meun-bg.png) no-repeat;
		background-size: contain;
		background-position: bottom;
		pointer-events: none;
	}

	.navbar-nav {
		width: 100%;
		padding-top: 2em;
		height: calc(100vh - calc(1.95em + 0.65em + 0.65em));
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
		background: transparent;
		border-radius: 0;
		align-items: center;
	}

	/* 當選單開啟時，禁用 body 滾動 */
	body.menu-open {
		overflow: hidden;
		position: fixed;
		width: 100%;
		height: 100vh;
	}

	.navbar-nav .nav-link {
		width: 10.9em;
		aspect-ratio: 283 / 86;
		margin: 0;
		padding: 0;
		border: none;
		background-image: url('images/icon/button.png');
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #915f39;
		text-decoration: none;
		transition: all 0.3s ease;
		border-bottom: none;
		color: #744528;
		text-align: center;
		font-size: 1.1em;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
	}

	.navbar-nav .nav-link:hover,
	.navbar-nav .nav-link:active {
		background-image: url('images/icon/button_hover.png');
		color: #fff;
		transform: scale(1.02);
	}

	/* 回到頂部按鈕 */
	.back-to-top {
		width: 3.6em;
		height: 3.6em;
		bottom: 20px;
		right: 20px;
		font-size: 18px;
	}

	.swiper {
		height: auto;
	}
	.feature-card {
		flex-direction: column;
		height: auto;
	}

	.feature-icon {
		width: 100%;
		height: auto;
		margin-bottom: 0;
		z-index: 1;
	}

	.feature-icon::before {
		content: '';
		position: absolute;
		background-image: url(images/features-swiper/spec_paper_m.png);
		height: 100%;
		width: 100%;
		bottom: -45%;
		right: 0;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		z-index: -1;
	}

	.feature-content {
		width: 100%;
		padding: 1.5em 1em;
		order: 3;
		z-index: 1;
	}

	.feature-bg {
		margin: 0em auto 0 auto;
		padding: 1em 0em;
		height: auto;
		width: 100%;
		background: url(images/features-swiper/spec_tag.png) no-repeat;
		background-size: cover;
		display: block;
		margin-bottom: 1em;
	}

	.feature-title {
		height: auto;
		margin-left: 0;
		font-size: 0.95em;
		line-height: 1.5;
		padding-right: 0;
		margin: 0 2em;
	}

	.feature-description {
		margin-left: 0;
		margin-top: 1em;
		height: auto;
	}

	.feature-description p::before {
		display: none;
	}

	.featuresSwiper {
		width: 69%;
		max-width: 100%;
		padding-bottom: 15px;
	}
}

/* ========== 頁尾樣式 ========== */
.footer {
	position: relative;
	background: #413b37;
	color: white;
	padding: 0.6em 0;
	text-align: center;
}

.copyright {
	color: rgba(255, 255, 255, 0.6);
	text-align: center;
	leading-trim: both;
	text-edge: cap;
	font-family: Montserrat;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.7px;
}

/* ========== 手機版樣式 (768px以下) ========== */
@media (max-width: 768px) {
	.overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(images/bg/overlay-m.png) no-repeat;
		background-position: top left;
		background-size: cover;
		z-index: 0;
		pointer-events: none;
	}

	.container {
		padding-left: 0px;
		padding-right: 0px;
		max-width: 100%;
	}

	.navbar .navbar-container {
		margin: 0.65em 1.2em;
		height: 1.95em;
		align-items: center;
	}
	/* Logo區塊 */
	.navbar-logos {
		gap: 10px;
	}

	.navbar-logo-item {
		height: 30px;
		gap: 0.6em;
	}
	.navbar-logo-item {
		height: 1.95em;
	}
	.navbar-logo-item img:nth-child(1) {
		width: 6em;
	}
	.navbar-logo-item img:nth-child(3) {
		width: 3.6em;
	}

	.navbar-toggler {
		padding: 0;
	}
	.navbar-toggler-icon {
		width: 1.5rem;
		height: 1.5rem;
		margin-top: -0.5rem;
	}

	/* ========== 手機版全頁面選單（新增/修改） ========== */

	/* 主視覺 */
	.hero-section {
		align-items: start;
	}

	.hero-title {
		font-size: 2.5rem;
	}
	.hero-content {
		margin: 0 0em;
		height: calc(100vh - 5em);
	}
	.hero-content .hero-title img {
		width: 100%;
		max-width: 340px;
	}
	.hero-content .hero-subtitle {
		font-size: 0.9em;
	}
	.hero-content a {
		margin-top: 5em;
	}

	.hero-description {
		font-size: 1rem;
	}

	.btn-start {
		padding: 1.2em 1.75em;
	}
	.btn-start p {
		transform: translate(-65%, -50%);
		font-size: 1rem;
	}

	.btn-start::after {
    top: -50%;
    left: 70%;
    width: 6.5rem;
	}

	.section-container {
		width: auto;
	}

	/* 區塊標題 */
	.section-title {
		height: auto;
		margin: 0 3.2rem;
		font-size: 2rem;
		margin-bottom: 0.2em;
		z-index: 2;
	}
	.section-title img {
		width: 100%;
	}

	.destination-card {
		padding: 0;
		margin: 0 1.2em 0 1.3em;
		aspect-ratio: 189 / 59;
		aspect-ratio: 189 / 59;
		background: url(images/flight_op_bg_m.png) no-repeat;
		height: auto;
		width: 80%;
		background-size: contain;
		margin: auto;
	}

	.destination-icon {
		position: absolute;
		top: 0.8em;
		left: 15px;
		width: 6.7rem;
		height: 6.2rem;
		margin-bottom: 0;
		margin-right: 15px;
		flex-shrink: 0;
	}

	.destination-info {
		width: 100%;
		margin: 0;
		padding: 0 1.275em 0 0;
		flex: 1;
		display: flex;
		flex-flow: row;
		align-items: center;
		justify-content: end;
		gap: 0.6em;
	}
	.destination-text-m {
		width: 30%;
	}

	.destination-subtitle {
		font-size: 0.7em;
	}
	.destination-name {
		font-size: 1.6em;
		text-align: center;
	}

	.btn-detail {
		width: 5.875em;
		height: 1.75em;
		font-size: 0.8em;
	}

	.feature-card {
		margin: 0 2.2em;
	}

	.feature-content {
		z-index: 1;
	}

	.feature-card {
		flex-direction: column;
		margin: 0 2.2em;
	}
	.features-section .features-container .section-title-p {
		padding: 0 0 1.2em 0;
	}

	.feature-content {
		padding: 0em 1.2em 1.05em 1.2em;
		margin-top: -0.6em;
	}
	.feature-bg {
		margin: 0;
		font-size: 0.9em;
		width: 100%;
		height: 4.8em;
		background-image: url(images/features-swiper/spec_tag_m.png);
		background-size: cover;
		display: flex;
		justify-content: center;
		padding: 0 0.6em;
	}

	.swiper {
		height: 38em;
	}

	.feature-description {
		color: #666;
		font-size: 0.8em;
		font-style: normal;
		font-weight: 400;
		letter-spacing: 0.8px;
		margin-left: 1em;
		margin-top: 1.2em;
		height: calc(100% - 4em);
		position: relative;
		padding: 0.4em 0em;
		line-height: 1.2em;
		letter-spacing: 0px;
	}

	.feature-description::before {
		position: absolute;
		content: '';
		width: 0.2em;
		height: 100%;
		border-radius: 4px;
		border: 1px solid #ddcfa4;
		left: -7%;
		top: 0;
	}

	.tour-tabs {
		width: 100%;
		gap: 3px;
	}

	.tour-tab-indicator {
		height: 6px;
		bottom: -0.2em;
	}

	/* 頁尾 */
	.footer {
		padding: 0.8rem 0;
	}
	.footer .container .copyright {
		font-size: 0.5rem;
	}
}

/* ========== 平板樣式 (419px - 768px) ========== */
@media (min-width: 576px) and (max-width: 768px) {
	.overlay {
		background-size: cover;
	}
}

/* 手機小屏幕 */
@media (max-width: 600px) {
	.swiper {
		height: 38em;
	}

	.featuresSwiper {
		width: 100%;
		max-width: 100%;
		padding-bottom: 23em;
	}

	.feature-title {
		font-size: 0.9em;
	}

	.feature-description {
		font-size: 0.75em;
	}
}

@media (max-width: 434px) {
	.destination-name {
		font-size: 1.4em;
		text-align: center;
	}

	.swiper {
		height: 35em;
	}

	.feature-card {
		flex-direction: column;
		margin: 0 0.8em;
	}
	.feature-title {
		margin: 0.5em 0;
	}

	.tours-swiper-wrapper {
		padding: 0 0 0 1em;
	}
}
@media (max-width: 383px) {
	.destination-name {
		font-size: 1em;
		text-align: center;
	}
	.destination-subtitle {
		font-size: 0.6em;
	}
	.btn-detail {
		width: 5.875em;
		height: 1.75em;
		font-size: 0.7em;
	}
}

@media (max-width: 375px) {
	.navbar-logos {
		height: 1.5em;
	}
	.navbar-logo-item {
		height: 1.5em;
	}
	.navbar-logo-item {
		gap: 0.3em;
	}
	.navbar-logo-item img:nth-child(1) {
		height: 1em;
	}
	.navbar .navbar-container {
		margin: 0.65em 0.8em;
	}
	.tours-swiper-wrapper {
		padding: 0 0 0 -0.5em;
	}
	.tours-swiper-wrapper .swiper-button-next {
		right: 0;
	}
	.tours-swiper-wrapper .swiper-button-prev {
		left: 0em;
	}
}

/* ========== 超小尺寸手機樣式 (360px以下) ========== */
@media (max-width: 360px) {
	.destination-name {
		font-size: 0.8em;
		text-align: center;
	}
	.destination-subtitle {
		font-size: 0.5em;
	}
	.btn-detail {
		width: 5.875em;
		height: 1.75em;
		font-size: 0.6em;
	}
	.container {
		padding-left: 10px;
		padding-right: 10px;
	}

	.flight-item {
		grid-template-columns: 50px 1fr 25px 1fr 85px;
		gap: 5px;
		padding: 10px;
		font-size: 0.8rem;
	}

	.flight-code {
		font-size: 0.85rem;
	}

	.flight-time {
		font-size: 0.8rem;
	}

	.flight-modal {
		width: 100%;
		padding: 50px 10px 20px;
	}

	.flight-group {
		padding: 15px 10px;
	}

	.modal-title {
		font-size: 1rem;
		line-height: 1.5;
	}

	.feature-icon {
		height: 10.75em;
	}
	.feature-bg {
		height: 3.8em;
	}
	.feature-title {
		font-size: 0.8em;
	}
	.feature-description {
		font-size: 0.6em;
	}

	.swiper {
		height: 30em;
	}
}

/* ========== 動畫效果 ========== */
@keyframes float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-20px);
	}
}

.float-animation {
	animation: float 3s ease-in-out infinite;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fade-in-up {
	animation: fadeInUp 0.8s ease-out;
}
