/*
 * CW Expo Finder — 前台樣式 v0.1.0
 * 品牌色:#0B2A45 deep navy / #1B82C0 ocean blue / #EAF1F6 sea mist / #EBA13C sunrise gold(僅 CTA)
 * 慣例:px + !important + 具體選擇器鏈,避免被主題樣式覆蓋。
 */

/* ---------- 狀態徽章 ---------- */
.cw-expo span.cw-expo-badge {
	display: inline-block !important;
	padding: 4px 14px !important;
	margin: 0 0 16px 0 !important;
	border-radius: 999px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.6 !important;
}
.cw-expo span.cw-expo-badge--upcoming {
	background: #EAF1F6 !important;
	color: #1B82C0 !important;
}
.cw-expo span.cw-expo-badge--past {
	background: #F0F0F0 !important;
	color: #666666 !important;
}
.cw-expo span.cw-expo-badge--tba {
	background: #FDF3E3 !important;
	color: #B87B1F !important;
}

/* ---------- 船長畫重點 ---------- */
.cw-expo aside.cw-expo-highlight {
	background: #EAF1F6 !important;
	border-left: 5px solid #0B2A45 !important;
	border-radius: 8px !important;
	padding: 24px 28px !important;
	margin: 28px 0 !important;
}
.cw-expo aside.cw-expo-highlight h2.cw-expo-highlight-title {
	color: #0B2A45 !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
}
.cw-expo aside.cw-expo-highlight dl {
	margin: 0 !important;
}
.cw-expo aside.cw-expo-highlight dl dt {
	color: #1B82C0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	margin: 12px 0 4px 0 !important;
}
.cw-expo aside.cw-expo-highlight dl dd {
	color: #0B2A45 !important;
	font-size: 16px !important;
	line-height: 1.8 !important;
	margin: 0 !important;
}

/* ---------- 事實資訊表 ---------- */
.cw-expo h2.cw-expo-facts-heading {
	color: #0B2A45 !important;
	font-size: 22px !important;
	margin: 32px 0 12px 0 !important;
}
.cw-expo table.cw-expo-facts {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 0 0 24px 0 !important;
	border: 1px solid #D8E4EE !important;
}
.cw-expo table.cw-expo-facts tr th {
	width: 160px !important;
	background: #EAF1F6 !important;
	color: #0B2A45 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-align: left !important;
	padding: 12px 16px !important;
	border-bottom: 1px solid #D8E4EE !important;
	vertical-align: top !important;
}
.cw-expo table.cw-expo-facts tr td {
	color: #333333 !important;
	font-size: 16px !important;
	padding: 12px 16px !important;
	border-bottom: 1px solid #D8E4EE !important;
	line-height: 1.7 !important;
}
.cw-expo table.cw-expo-facts tr td a {
	color: #1B82C0 !important;
	text-decoration: underline !important;
}

/* ---------- CTA ---------- */
.cw-expo div.cw-expo-cta {
	background: #0B2A45 !important;
	border-radius: 10px !important;
	padding: 28px !important;
	margin: 32px 0 !important;
	text-align: center !important;
}
.cw-expo div.cw-expo-cta p.cw-expo-cta-lead {
	color: #FFFFFF !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	margin: 0 0 18px 0 !important;
}
.cw-expo div.cw-expo-cta a.cw-expo-btn {
	display: inline-block !important;
	padding: 12px 28px !important;
	margin: 6px 8px !important;
	border-radius: 6px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	line-height: 1.5 !important;
}
.cw-expo div.cw-expo-cta a.cw-expo-btn--gold {
	background: #EBA13C !important;
	color: #0B2A45 !important;
}
.cw-expo div.cw-expo-cta a.cw-expo-btn--gold:hover {
	background: #D8902F !important;
}
.cw-expo div.cw-expo-cta a.cw-expo-btn--outline {
	background: transparent !important;
	color: #FFFFFF !important;
	border: 2px solid #FFFFFF !important;
}
.cw-expo div.cw-expo-cta a.cw-expo-btn--outline:hover {
	background: #FFFFFF !important;
	color: #0B2A45 !important;
}

/* ---------- 相關展會 ---------- */
.cw-expo div.cw-expo-related h2 {
	color: #0B2A45 !important;
	font-size: 22px !important;
	margin: 32px 0 12px 0 !important;
}
.cw-expo div.cw-expo-related ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.cw-expo div.cw-expo-related ul li {
	padding: 12px 0 !important;
	border-bottom: 1px solid #EAF1F6 !important;
}
.cw-expo div.cw-expo-related ul li a {
	color: #1B82C0 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
.cw-expo div.cw-expo-related ul li a:hover {
	text-decoration: underline !important;
}
.cw-expo div.cw-expo-related ul li span.cw-expo-related-meta {
	display: block !important;
	color: #666666 !important;
	font-size: 14px !important;
	margin-top: 2px !important;
}

/* ---------- 免責 ---------- */
.cw-expo p.cw-expo-disclaimer {
	color: #999999 !important;
	font-size: 13px !important;
	margin: 24px 0 0 0 !important;
}

/* ---------- 行動版 ---------- */
@media (max-width: 640px) {
	.cw-expo aside.cw-expo-highlight {
		padding: 18px 20px !important;
	}
	.cw-expo table.cw-expo-facts tr th {
		width: 110px !important;
		padding: 10px 12px !important;
		font-size: 14px !important;
	}
	.cw-expo table.cw-expo-facts tr td {
		padding: 10px 12px !important;
		font-size: 15px !important;
	}
	.cw-expo div.cw-expo-cta a.cw-expo-btn {
		display: block !important;
		margin: 8px 0 !important;
	}
}

/* ---------- 前台篩選頁(finder) ---------- */
.cw-expo-finder form.cw-expo-filter {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
	background: #EAF1F6 !important;
	border-radius: 10px !important;
	padding: 18px !important;
	margin: 0 0 24px 0 !important;
}
.cw-expo-finder form.cw-expo-filter select {
	height: 44px !important;
	padding: 8px 12px !important;
	border: 1px solid #C9DAE8 !important;
	border-radius: 6px !important;
	background: #FFFFFF !important;
	color: #0B2A45 !important;
	font-size: 15px !important;
	min-width: 150px !important;
}
.cw-expo-finder form.cw-expo-filter button.cw-expo-filter-submit {
	height: 44px !important;
	padding: 0 24px !important;
	background: #EBA13C !important;
	color: #0B2A45 !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
}
.cw-expo-finder form.cw-expo-filter button.cw-expo-filter-submit:hover {
	background: #D8902F !important;
}
.cw-expo-finder form.cw-expo-filter a.cw-expo-filter-reset {
	color: #1B82C0 !important;
	font-size: 14px !important;
	text-decoration: underline !important;
}
.cw-expo-finder p.cw-expo-count {
	color: #666666 !important;
	font-size: 14px !important;
	margin: 0 0 12px 0 !important;
}
.cw-expo-finder p.cw-expo-empty {
	color: #666666 !important;
	font-size: 16px !important;
	padding: 32px 0 !important;
	text-align: center !important;
}
.cw-expo-finder div.cw-expo-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 16px !important;
}
.cw-expo-finder div.cw-expo-grid a.cw-expo-card {
	display: block !important;
	background: #FFFFFF !important;
	border: 1px solid #D8E4EE !important;
	border-radius: 10px !important;
	padding: 18px !important;
	text-decoration: none !important;
	transition: box-shadow 0.15s ease !important;
}
.cw-expo-finder div.cw-expo-grid a.cw-expo-card:hover {
	box-shadow: 0 4px 14px rgba(11, 42, 69, 0.12) !important;
	border-color: #1B82C0 !important;
}
.cw-expo-finder a.cw-expo-card span.cw-expo-card-title {
	display: block !important;
	color: #0B2A45 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
	margin: 0 0 2px 0 !important;
}
.cw-expo-finder a.cw-expo-card span.cw-expo-card-en {
	display: block !important;
	color: #999999 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	margin: 0 0 10px 0 !important;
}
.cw-expo-finder a.cw-expo-card span.cw-expo-card-meta {
	display: block !important;
}
.cw-expo-finder a.cw-expo-card span.cw-expo-card-meta span {
	display: block !important;
	color: #333333 !important;
	font-size: 14px !important;
	line-height: 1.8 !important;
}
.cw-expo-finder nav.cw-expo-pages {
	margin: 24px 0 0 0 !important;
	text-align: center !important;
}
.cw-expo-finder nav.cw-expo-pages a.cw-expo-page,
.cw-expo-finder nav.cw-expo-pages span.cw-expo-page {
	display: inline-block !important;
	min-width: 38px !important;
	padding: 8px 0 !important;
	margin: 0 3px !important;
	border: 1px solid #D8E4EE !important;
	border-radius: 6px !important;
	color: #1B82C0 !important;
	font-size: 15px !important;
	text-align: center !important;
	text-decoration: none !important;
}
.cw-expo-finder nav.cw-expo-pages span.cw-expo-page--current {
	background: #0B2A45 !important;
	border-color: #0B2A45 !important;
	color: #FFFFFF !important;
}
@media (max-width: 900px) {
	.cw-expo-finder div.cw-expo-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 600px) {
	.cw-expo-finder div.cw-expo-grid {
		grid-template-columns: 1fr !important;
	}
	.cw-expo-finder form.cw-expo-filter select,
	.cw-expo-finder form.cw-expo-filter button.cw-expo-filter-submit {
		width: 100% !important;
	}
}
