@charset "UTF-8";

/**
 * Yao Tour — scoped template styles.
 *
 * All selectors scoped to .yao-tour-wrap to prevent theme/plugin collisions.
 * Structure mirrors the original 甘樂文創 frame.css / module.css / style.css.
 */

/* ==========================================================================
   Base resets (scoped)
   ========================================================================== */

.yao-tour-wrap {
	line-height: 1;
}

.yao-tour-wrap .frame-list_4,
.yao-tour-wrap .frame-text_1,
.yao-tour-wrap .frame-wanted_3 {
	font-family: '微軟正黑體', sans-serif;
	box-sizing: border-box;
}

.yao-tour-wrap .frame-list_4 *,
.yao-tour-wrap .frame-text_1 *,
.yao-tour-wrap .frame-wanted_3 * {
	box-sizing: inherit;
}

.yao-tour-wrap .frame-list_4 a,
.yao-tour-wrap .frame-text_1 a,
.yao-tour-wrap .frame-wanted_3 a {
	text-decoration: none;
}

.yao-tour-wrap .frame-list_4 img,
.yao-tour-wrap .frame-text_1 img,
.yao-tour-wrap .frame-wanted_3 img {
	max-width: 100%;
}

.yao-tour-wrap .frame-list_4 h2,
.yao-tour-wrap .frame-list_4 h3,
.yao-tour-wrap .frame-list_4 h4,
.yao-tour-wrap .frame-list_4 h5,
.yao-tour-wrap .frame-list_4 p,
.yao-tour-wrap .frame-text_1 h1,
.yao-tour-wrap .frame-text_1 h2,
.yao-tour-wrap .frame-text_1 h3,
.yao-tour-wrap .frame-text_1 h4,
.yao-tour-wrap .frame-text_1 h5,
.yao-tour-wrap .frame-text_1 p,
.yao-tour-wrap .frame-wanted_3 h2,
.yao-tour-wrap .frame-wanted_3 h3,
.yao-tour-wrap .frame-wanted_3 h4,
.yao-tour-wrap .frame-wanted_3 h5,
.yao-tour-wrap .frame-wanted_3 p {
	margin: 0;
	padding: 0;
}

/* ==========================================================================
   Layout container
   ========================================================================== */

.yao-tour-wrap .layout {
	width: 80%;
	min-width: 1160px;
	max-width: 1680px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   Section title & category tabs
   ========================================================================== */

.yao-tour-wrap .in-title {
	margin: 0 0 36px;
	text-align: center;
}

.yao-tour-wrap .in-title h2 {
	font-size: 36px;
	line-height: 42px;
	letter-spacing: 1px;
	color: #bf272d;
}

.yao-tour-wrap .in-title h3 {
	margin: 24px 0 0;
	font-size: 18px;
	line-height: 26px;
	letter-spacing: 2px;
	color: #000;
}

.yao-tour-wrap .choose-bar {
	width: 100%;
	position: relative;
}

.yao-tour-wrap .choose-bar .wrap {
	width: 60%;
	margin: 24px auto 0;
}

.yao-tour-wrap .choose-bar a {
	display: inline-block;
	margin: 4px;
	padding: 4px 16px;
	border: 1px solid #aaa;
	font-size: 15px;
	font-weight: bold;
	line-height: 25px;
	letter-spacing: 1px;
	color: #000;
	vertical-align: middle;
	transition: 0.2s;
}

.yao-tour-wrap .choose-bar a.active,
.yao-tour-wrap .choose-bar a:hover {
	border-color: transparent;
	color: #fff;
	background: #bf272d;
}

/* ==========================================================================
   Shared: image box (aspect-ratio container)
   ========================================================================== */

.yao-tour-wrap .image-box {
	width: 100%;
	padding-bottom: 60%;
	position: relative;
	overflow: hidden;
}

.yao-tour-wrap .image-box img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

/* ==========================================================================
   Shared: tag area (#hashtag links)
   ========================================================================== */

.yao-tour-wrap .tag-area {
	width: 100%;
	height: 64px;
	overflow: hidden;
}

.yao-tour-wrap .tag-area a {
	height: 24px;
	display: inline-block;
	margin: 8px 8px 0 0;
	padding: 0 6px;
	position: relative;
	z-index: 0;
	font-size: 13px;
	font-weight: bold;
	line-height: 24px;
	letter-spacing: 1px;
	color: #000;
}

.yao-tour-wrap .tag-area a::before,
.yao-tour-wrap .tag-area a::after {
	content: '';
	height: 100%;
	position: absolute;
	top: 0;
	z-index: -1;
}

.yao-tour-wrap .tag-area a::before {
	width: 100%;
	right: 0;
	background: #e4e4e4;
}

.yao-tour-wrap .tag-area a::after {
	width: 0;
	left: 0;
	background: #bf272d;
	transition: width 0.3s 0.3s;
}

.yao-tour-wrap .tag-area a:hover {
	color: #fff;
}

.yao-tour-wrap .tag-area a:hover::before {
	width: 0;
	transition: width 0.3s;
}

.yao-tour-wrap .tag-area a:hover::after {
	width: 100%;
}

/* ==========================================================================
   Shared: "深入瞭解" button
   ========================================================================== */

.yao-tour-wrap .link-box {
	text-align: right;
}

.yao-tour-wrap .link-box a {
	height: 42px;
	display: inline-block;
	padding: 0 36px;
	border-width: 0 1px 1px;
	border-style: solid;
	border-color: #bf272d;
	background: #fff;
	text-align: center;
	transition: 0.4s;
}

.yao-tour-wrap .link-box a::after {
	content: '';
	width: 0;
	height: 0;
	display: inline-block;
	margin: 0 0 0 8px;
	border-width: 6px 0 6px 10px;
	border-style: solid;
	border-color: transparent transparent transparent #bf272d;
	vertical-align: middle;
	transition: 0.4s;
}

.yao-tour-wrap .link-box a:hover {
	background: #bf272d;
}

.yao-tour-wrap .link-box a:hover::after {
	border-color: transparent transparent transparent #fff;
}

.yao-tour-wrap .link-box a:hover p {
	color: #fff;
}

.yao-tour-wrap .link-box p {
	display: inline-block;
	font-size: 15px;
	font-weight: bold;
	line-height: 42px;
	letter-spacing: 2px;
	color: #000;
	vertical-align: middle;
	transition: 0.4s;
}

/* ==========================================================================
   Category page: frame-list_4
   ========================================================================== */

.yao-tour-wrap .frame-list_4 {
	padding: 96px 0;
}

.yao-tour-wrap .frame-list_4 h4 {
	height: 24px;
	margin: 0 0 8px;
	overflow: hidden;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 2px;
	color: #bf272d;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.yao-tour-wrap .frame-list_4 h5 {
	height: 60px;
	margin: 0 0 8px;
	overflow: hidden;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 2px;
	color: #000;
}

.yao-tour-wrap .frame-list_4 .content {
	font-size: 0;
}

.yao-tour-wrap .frame-list_4 .item {
	width: 25%;
	display: inline-block;
	margin: 0 0 36px;
	padding: 0 16px;
	box-sizing: border-box;
	font-size: initial;
	vertical-align: middle;
}

.yao-tour-wrap .frame-list_4 .detail {
	width: 100%;
}

.yao-tour-wrap .frame-list_4 .text-area {
	padding: 18px;
	border-width: 0 1px 1px;
	border-style: solid;
	border-color: #aaa;
	background: #fff;
}

.yao-tour-wrap .frame-list_4 .link-box a {
	padding: 0 18px;
}

/* ==========================================================================
   Detail page: frame-text_1
   ========================================================================== */

.yao-tour-wrap .frame-text_1 {
	padding: 96px 0;
}

.yao-tour-wrap .frame-text_1 h1 {
	margin: 0 0 16px;
	font-size: 36px;
	line-height: 42px;
	letter-spacing: 1px;
	color: #bf272d;
}

.yao-tour-wrap .frame-text_1 .text-title,
.yao-tour-wrap .frame-text_1 .text-inside {
	width: 75%;
	margin-right: auto;
	margin-left: auto;
}

.yao-tour-wrap .frame-text_1 .text-title {
	margin-bottom: 48px;
}

.yao-tour-wrap .frame-text_1 .text-inside,
.yao-tour-wrap .frame-text_1 .text-inside * {
	text-align: left !important;
	font-family: '微軟正黑體', sans-serif !important;
	white-space: normal;
	word-break: break-all;
}

.yao-tour-wrap .frame-text_1 .text-inside p {
	margin: 16px 0;
	font-size: 16px !important;
	font-weight: bold !important;
	line-height: 24px !important;
	letter-spacing: 1px !important;
	color: #333 !important;
}

.yao-tour-wrap .frame-text_1 .text-inside p img,
.yao-tour-wrap .frame-text_1 .image-gallery img {
	width: auto;
	max-width: 100%;
	height: auto;
}

.yao-tour-wrap .frame-text_1 .image-gallery img {
	display: block;
	margin: 16px auto;
}

.yao-tour-wrap .frame-text_1 .video {
	width: 100%;
	height: auto;
	position: relative;
}

.yao-tour-wrap .frame-text_1 .video::after {
	content: '';
	display: block;
	padding-top: 56.25%;
}

.yao-tour-wrap .frame-text_1 .video iframe {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border: 0;
}

/* ==========================================================================
   Detail page: related tours (frame-wanted_3)
   ========================================================================== */

.yao-tour-wrap .frame-wanted_3 {
	padding: 48px 0;
}

.yao-tour-wrap .frame-wanted_3 h4 {
	height: 40px;
	overflow: hidden;
	font-size: 16px;
	line-height: 20px;
	letter-spacing: 1px;
	color: #bf272d;
}

.yao-tour-wrap .frame-wanted_3 h5 {
	height: 54px;
	margin: 8px 0 0;
	overflow: hidden;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 1px;
	color: #333;
}

.yao-tour-wrap .frame-wanted_3 .content {
	width: 80%;
	margin: 0 auto;
	font-size: 0;
}

.yao-tour-wrap .frame-wanted_3 .item {
	width: 33.3%;
	display: inline-block;
	padding: 0 24px;
	box-sizing: border-box;
	font-size: initial;
	vertical-align: middle;
}

.yao-tour-wrap .frame-wanted_3 .detail {
	width: 100%;
	border: 1px solid #ccc;
	background: #fff;
}

.yao-tour-wrap .frame-wanted_3 .text-area {
	padding: 12px 18px 0;
}

.yao-tour-wrap .frame-wanted_3 .tag-area {
	margin: 12px 0 18px;
}

.yao-tour-wrap .frame-wanted_3 .image-box {
	margin: 0 0 12px;
	padding-bottom: 60%;
}

/* Empty state */
.yao-tour-wrap .yao-tour-empty {
	padding: 48px 0;
	font-size: 16px;
	line-height: 24px;
	color: #999;
	text-align: center;
}

/* ==========================================================================
   Responsive — Tablet (1024 – 1279)
   ========================================================================== */

@media screen and (max-width: 1279.97px) and (min-width: 1023.98px) {

	.yao-tour-wrap .layout {
		min-width: 920px;
	}

	.yao-tour-wrap .frame-list_4 .item {
		width: 33.3%;
	}

	.yao-tour-wrap .frame-wanted_3 .content {
		width: 100%;
	}
}

/* ==========================================================================
   Responsive — Mobile & narrow tablet (< 1024)
   ========================================================================== */

@media screen and (max-width: 1023.97px) {

	.yao-tour-wrap .layout {
		min-width: 300px;
		max-width: 640px;
	}

	.yao-tour-wrap .in-title h2 {
		font-size: 28px;
		line-height: 36px;
	}

	.yao-tour-wrap .in-title h3 {
		font-size: 16px;
	}

	.yao-tour-wrap .choose-bar::before {
		content: 'scroll→';
		position: absolute;
		right: 0;
		bottom: 100%;
		font-size: 12px;
		line-height: 24px;
		letter-spacing: 1px;
		color: #bf272d;
	}

	.yao-tour-wrap .choose-bar .wrap {
		width: 100%;
		overflow-x: scroll;
		white-space: nowrap;
	}

	.yao-tour-wrap .frame-list_4,
	.yao-tour-wrap .frame-text_1,
	.yao-tour-wrap .frame-wanted_3 {
		padding: 36px 0;
	}

	.yao-tour-wrap .frame-list_4 .item,
	.yao-tour-wrap .frame-wanted_3 .item {
		width: 100%;
	}

	.yao-tour-wrap .frame-list_4 .link-box a,
	.yao-tour-wrap .frame-wanted_3 .link-box a {
		width: 100%;
		background: #bf272d;
	}

	.yao-tour-wrap .frame-list_4 .link-box a::after,
	.yao-tour-wrap .frame-wanted_3 .link-box a::after {
		border-color: transparent transparent transparent #fff;
	}

	.yao-tour-wrap .frame-list_4 .link-box p,
	.yao-tour-wrap .frame-wanted_3 .link-box p {
		color: #fff;
	}

	.yao-tour-wrap .frame-text_1 h1 {
		font-size: 28px;
		line-height: 36px;
	}

	.yao-tour-wrap .frame-text_1 .text-title,
	.yao-tour-wrap .frame-text_1 .text-inside {
		width: 100%;
	}

	.yao-tour-wrap .frame-wanted_3 .content {
		width: 100%;
	}

	.yao-tour-wrap .frame-wanted_3 .item {
		margin: 24px 0;
	}
}

/* ==========================================================================
   Responsive — Tablet landscape keeps 2-col (768 – 1023)
   ========================================================================== */

@media screen and (max-width: 1023.97px) and (min-width: 768px) {

	.yao-tour-wrap .choose-bar::before {
		display: none;
	}

	.yao-tour-wrap .choose-bar .wrap {
		overflow-x: visible;
		white-space: normal;
	}

	.yao-tour-wrap .frame-list_4 .item,
	.yao-tour-wrap .frame-wanted_3 .item {
		width: 50%;
	}
}
