/*
Theme Name: 虎甲自然 Kadence Child
Theme URI: https://tbnature.com.tw
Description: 虎甲自然（tbnature.com.tw）Kadence 子主題，所有自訂樣式與功能寫在此處，不修改母主題檔案。
Author: 虎甲自然
Template: kadence
Version: 2.2.4
Text Domain: tbnature-kadence-child
*/

/* 全域樣式變數：CIS-1 正式品牌四色（虎甲自然_CIS品牌識別手冊_0825），版型與間距不動、只換數值 */
:root {
	--tbnature-color-forest: #3C543D;
	--tbnature-color-eco: #40834C;
	--tbnature-color-sprout: #A4C465;
	--tbnature-color-cream: #F4F0E5;

	--tbnature-color-primary: var(--tbnature-color-eco);
	--tbnature-color-primary-dark: var(--tbnature-color-forest);
	--tbnature-color-accent: var(--tbnature-color-sprout);
	--tbnature-color-text: #2A2A2A;
	--tbnature-color-bg: var(--tbnature-color-cream);
	--tbnature-color-border: #E4DFCF;
	--tbnature-color-surface: #FFFFFF;
	--tbnature-color-muted: #6B6B63;
	--tbnature-color-primary-soft: #E9F1E7;
	--tbnature-content-width: 1140px;
	--tbnature-prose-width: 760px;
	--tbnature-radius: 6px;
	--tbnature-shadow: 0 2px 12px rgba(42, 42, 42, 0.08);

	--tbnature-font-base: 'Noto Sans TC', -apple-system, BlinkMacSystemFont, "Microsoft JhengHei", sans-serif;
	--tbnature-font-size-base: 16px;
	--tbnature-line-height-base: 1.7;

	--tbnature-space-xs: 0.5rem;
	--tbnature-space-sm: 1rem;
	--tbnature-space-md: 1.5rem;
	--tbnature-space-lg: 2.5rem;
	--tbnature-space-xl: 4rem;
}

body {
	font-family: var(--tbnature-font-base);
	font-size: var(--tbnature-font-size-base);
	line-height: var(--tbnature-line-height-base);
	color: var(--tbnature-color-text);
	background-color: var(--tbnature-color-bg);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--tbnature-font-base);
	color: var(--tbnature-color-text);
	font-weight: 700;
	line-height: 1.3;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }

a {
	color: var(--tbnature-color-primary);
}

a:hover {
	color: var(--tbnature-color-primary-dark);
}

/* 按鈕：涵蓋自訂 class、WordPress 核心區塊按鈕、Elementor 按鈕，改這裡即全站生效 */
.tbnature-btn,
.wp-block-button__link,
.elementor-button {
	display: inline-block;
	background-color: var(--tbnature-color-primary);
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: var(--tbnature-space-xs) var(--tbnature-space-md);
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.tbnature-btn:hover,
.wp-block-button__link:hover,
.elementor-button:hover {
	background-color: var(--tbnature-color-primary-dark);
	color: #fff;
}
.tbnature-btn--ghost,
.tbnature-btn--ghost:hover {
	background-color: transparent;
	color: var(--tbnature-color-primary);
	border: 1px solid var(--tbnature-color-primary);
}
.tbnature-btn--ghost:hover {
	background-color: var(--tbnature-color-primary-soft);
}
.tbnature-btn--block {
	display: block;
	text-align: center;
}
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
/* ── Header（UI-2） ───────────────────────────────────── */
.tbnature-header {
	background-color: var(--tbnature-color-surface);
	border-bottom: 1px solid var(--tbnature-color-border);
	position: sticky;
	top: 0;
	z-index: 100;
}
.tbnature-header__inner {
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: var(--tbnature-space-sm) var(--tbnature-space-md);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tbnature-space-md);
}
.tbnature-header__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--tbnature-color-primary);
	text-decoration: none;
}
.tbnature-header__brand img,
.tbnature-header__brand .custom-logo {
	max-height: 56px;
	width: auto;
	display: block;
}
.tbnature-header__logo {
	display: flex;
	align-items: center;
}
.tbnature-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	/* UI-18：9 項選單在 1140px 版心內排不下 1.5rem 間距，收為 1rem */
	gap: var(--tbnature-space-sm);
}
.tbnature-nav__list a {
	color: var(--tbnature-color-text);
	text-decoration: none;
	/* UI-11b 曾放大三成（20.8px），但選單增為 9 項後每項被擠成兩行，UI-18 改為 17.6px（仍較原始 16px 大一成）並禁止項目內換行 */
	font-size: 1.1rem;
	white-space: nowrap;
	font-weight: 500;
	padding: var(--tbnature-space-xs) 0;
	border-bottom: 2px solid transparent;
	display: inline-block;
}
.tbnature-nav__list a:hover,
.tbnature-nav__list .current-menu-item > a {
	color: var(--tbnature-color-primary);
	border-bottom-color: var(--tbnature-color-primary);
}
/* 第二層選單：桌機用懸停展開，行動版改為直接展開的縮排清單 */
.tbnature-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: var(--tbnature-space-xs) 0;
	position: absolute;
	min-width: 180px;
	background-color: var(--tbnature-color-surface);
	border: 1px solid var(--tbnature-color-border);
	border-radius: var(--tbnature-radius);
	box-shadow: var(--tbnature-shadow);
	display: none;
}
.tbnature-nav__list > li {
	position: relative;
}
.tbnature-nav__list > li:hover > .sub-menu,
.tbnature-nav__list > li:focus-within > .sub-menu {
	display: block;
}
.tbnature-nav__list .sub-menu a {
	display: block;
	padding: var(--tbnature-space-xs) var(--tbnature-space-sm);
	border-bottom: none;
}
.tbnature-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	background: none;
	border: 1px solid var(--tbnature-color-border);
	border-radius: var(--tbnature-radius);
	cursor: pointer;
}
.tbnature-nav-toggle__bar {
	display: block;
	width: 22px;
	height: 2px;
	margin: 0 auto;
	background-color: var(--tbnature-color-text);
}
/* ── Footer（UI-2） ───────────────────────────────────── */
.tbnature-footer {
	background-color: var(--tbnature-color-primary-dark);
	color: #EDEAE2;
	margin-top: var(--tbnature-space-xl);
}
.tbnature-footer a {
	color: #EDEAE2;
	text-decoration: none;
}
.tbnature-footer a:hover {
	color: #fff;
	text-decoration: underline;
}
.tbnature-footer__inner {
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: var(--tbnature-space-xl) var(--tbnature-space-md) var(--tbnature-space-lg);
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: var(--tbnature-space-lg);
}
/* 未設定聯絡方式時中欄不輸出，改兩欄版面，避免第三軌留白 */
.tbnature-footer__inner--no-contact {
	grid-template-columns: 1.4fr 1fr;
}
.tbnature-footer__logo {
	height: 96px;
	width: auto;
	display: block;
	margin-bottom: var(--tbnature-space-sm);
}
.tbnature-footer__title {
	display: block;
	font-weight: 700;
	font-size: 1.05rem;
	margin: 0 0 var(--tbnature-space-sm);
	color: #fff;
	text-decoration: none;
}
a.tbnature-footer__title::after {
	content: '›';
	display: inline-block;
	margin-left: 0.35em;
	font-weight: 400;
}
a.tbnature-footer__title:hover {
	text-decoration: underline;
}
.tbnature-footer__desc {
	margin: 0;
	line-height: 1.9;
	opacity: 0.9;
}
.tbnature-footer__list,
.tbnature-footer__social,
.tbnature-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tbnature-footer__list li,
.tbnature-footer__social li,
.tbnature-footer__menu li {
	margin-bottom: var(--tbnature-space-xs);
}
.tbnature-footer__label {
	display: inline-block;
	min-width: 4.5em;
	opacity: 0.75;
}
.tbnature-footer__menu {
	margin-top: var(--tbnature-space-md);
	padding-top: var(--tbnature-space-sm);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.tbnature-footer__hint {
	margin: 0;
	opacity: 0.7;
	font-size: 0.9rem;
}
.tbnature-footer__bar {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	text-align: center;
	padding: var(--tbnature-space-sm) var(--tbnature-space-md);
	font-size: 0.9rem;
	opacity: 0.8;
}
.tbnature-footer__bar p {
	margin: 0;
}
/* ── 首頁（UI-3） ─────────────────────────────────────── */
.tbnature-hero {
	background-color: var(--tbnature-color-primary);
	color: #fff;
	background-size: cover;
	background-position: center;
}
.tbnature-hero--image {
	position: relative;
}
/* 有背景圖時壓一層暗色，確保文字對比足夠 */
.tbnature-hero--image::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(31, 63, 42, 0.62);
}
.tbnature-hero__inner {
	position: relative;
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: calc(var(--tbnature-space-xl) * 1.6) var(--tbnature-space-md);
}
.tbnature-hero__title {
	color: #fff;
	max-width: 18em;
	margin: 0 0 var(--tbnature-space-md);
}
.tbnature-hero__sub {
	max-width: 34em;
	margin: 0 0 var(--tbnature-space-lg);
	font-size: 1.1rem;
	line-height: 1.9;
	opacity: 0.95;
}
.tbnature-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--tbnature-space-sm);
	margin: 0;
}
/* 主視覺按鈕改用米白底、深綠字：淺色 CTA 在深色主視覺（純色或壓暗照片）上都維持足夠對比 */
.tbnature-hero .tbnature-btn {
	background-color: var(--tbnature-color-cream);
	color: var(--tbnature-color-forest);
}
.tbnature-hero .tbnature-btn:hover {
	background-color: #fff;
	color: var(--tbnature-color-forest);
}
.tbnature-hero .tbnature-btn--ghost,
.tbnature-hero .tbnature-btn--ghost:hover {
	background-color: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.75);
}
.tbnature-hero .tbnature-btn--ghost:hover {
	background-color: rgba(255, 255, 255, 0.12);
}
.tbnature-section {
	padding: var(--tbnature-space-xl) 0;
}
.tbnature-section--brand {
	background-color: var(--tbnature-color-primary-soft);
}
.tbnature-section__inner {
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: 0 var(--tbnature-space-md);
}
.tbnature-section__head {
	margin-bottom: var(--tbnature-space-lg);
}
.tbnature-section__title {
	margin: 0 0 var(--tbnature-space-xs);
}
.tbnature-section__lead {
	margin: 0;
	color: var(--tbnature-color-muted);
}
.tbnature-section__more {
	margin: var(--tbnature-space-lg) 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--tbnature-space-sm);
}
/* flex 容器內 <br> 不會強制換行，改用 flex-basis:100% 讓註記永遠獨立一行 */
.tbnature-section__note {
	flex-basis: 100%;
	margin: 0;
}
.tbnature-feature__title {
	font-size: 1.15rem;
	margin: 0 0 var(--tbnature-space-xs);
	color: var(--tbnature-color-primary);
}
.tbnature-feature p {
	margin: 0;
	line-height: 1.9;
}
.tbnature-empty {
	color: var(--tbnature-color-muted);
	background-color: var(--tbnature-color-primary-soft);
	border-radius: var(--tbnature-radius);
	padding: var(--tbnature-space-lg);
	text-align: center;
	margin: 0;
}
/* ── 卡片與清單 ───────────────────────────────────────── */
.tbnature-grid {
	display: grid;
	gap: var(--tbnature-space-md);
}
.tbnature-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tbnature-list {
	display: flex;
	flex-direction: column;
	gap: var(--tbnature-space-md);
}
.tbnature-card {
	background-color: var(--tbnature-color-surface);
	border: 1px solid var(--tbnature-color-border);
	border-radius: var(--tbnature-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.tbnature-card__media {
	display: block;
	/* 這是包住縮圖的連結，底線得在連結本身關掉——text-decoration 會傳給子層，子層關不掉 */
	text-decoration: none;
	aspect-ratio: 16 / 10;
	background-color: var(--tbnature-color-primary-soft);
	overflow: hidden;
}
.tbnature-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.tbnature-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: var(--tbnature-color-muted);
	font-size: 0.9rem;
}
.tbnature-card__body {
	padding: var(--tbnature-space-md);
	display: flex;
	flex-direction: column;
	gap: var(--tbnature-space-xs);
	flex: 1;
}
.tbnature-card__title {
	font-size: 1.2rem;
	margin: 0;
	line-height: 1.5;
}
.tbnature-card__title a {
	text-decoration: none;
	color: var(--tbnature-color-text);
}
.tbnature-card__title a:hover {
	color: var(--tbnature-color-primary);
}
/* UI-9：課程系列與標籤徽章，卡片與單頁共用 */
.tbnature-course-badges {
	list-style: none;
	margin: 0 0 var(--tbnature-space-xs);
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--tbnature-space-xs);
}
.tbnature-course-badges__item {
	font-size: 0.875rem;
	padding: 3px 12px;
	border-radius: 999px;
	background-color: var(--tbnature-color-primary-soft);
	color: var(--tbnature-color-primary-dark);
}
.tbnature-course-badges__item--series {
	background-color: var(--tbnature-color-primary-dark);
	color: #fff;
	font-weight: 600;
}
/* UI-13b：徽章文字實際落在 <li> 內的 <a> 上，需明確覆寫連結色與底線，四態一致，不因點擊過而變色 */
.tbnature-course-badges__item a,
.tbnature-course-badges__item a:visited {
	color: var(--tbnature-color-primary-dark);
	text-decoration: none;
}
.tbnature-course-badges__item--series a,
.tbnature-course-badges__item--series a:visited {
	color: #fff;
}
.tbnature-course-badges__item a:hover {
	text-decoration: underline;
}
.tbnature-course-badges__item a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
.tbnature-card__meta {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
	color: var(--tbnature-color-muted);
}
.tbnature-card__date {
	font-size: 0.9rem;
	color: var(--tbnature-color-muted);
}
.tbnature-card__excerpt {
	margin: 0;
	line-height: 1.85;
}
.tbnature-card__link {
	margin-top: auto;
	padding-top: var(--tbnature-space-xs);
	font-weight: 500;
	text-decoration: none;
}
.tbnature-card__link::after {
	content: " →";
}
/* ── 內頁與單篇（UI-4、UI-6） ─────────────────────────── */
.tbnature-page__head,
.tbnature-archive .tbnature-page__head {
	background-color: var(--tbnature-color-primary-soft);
	border-bottom: 1px solid var(--tbnature-color-border);
}
.tbnature-page__head-inner {
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: var(--tbnature-space-xl) var(--tbnature-space-md);
}
.tbnature-page__title {
	margin: 0;
}
.tbnature-page__lead,
.tbnature-page__date {
	display: block;
	margin: var(--tbnature-space-xs) 0 0;
	color: var(--tbnature-color-muted);
}
.tbnature-page__eyebrow {
	margin: 0 0 var(--tbnature-space-xs);
	font-size: 0.9rem;
}
.tbnature-page__eyebrow a {
	text-decoration: none;
}
.tbnature-page__body,
.tbnature-archive__body {
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: var(--tbnature-space-xl) var(--tbnature-space-md);
}
/* 課程列表：課程行事曆改側欄呈現（UI-9），主欄與側欄並排 */
.tbnature-archive__layout {
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: var(--tbnature-space-xl) var(--tbnature-space-md);
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: var(--tbnature-space-xl);
	align-items: start;
}
.tbnature-archive__main {
	min-width: 0;
}
.tbnature-page__content {
	max-width: var(--tbnature-prose-width);
}
.tbnature-prose > * + * {
	margin-top: var(--tbnature-space-md);
}
.tbnature-prose p {
	line-height: 1.95;
}
.tbnature-prose h2 {
	margin-top: var(--tbnature-space-lg);
	font-size: 1.6rem;
}
.tbnature-prose h3 {
	margin-top: var(--tbnature-space-lg);
	font-size: 1.3rem;
}
.tbnature-prose img {
	max-width: 100%;
	height: auto;
	border-radius: var(--tbnature-radius);
}
.tbnature-prose ul,
.tbnature-prose ol {
	padding-left: 1.4em;
	line-height: 1.95;
}
.tbnature-prose table {
	width: 100%;
	border-collapse: collapse;
}
.tbnature-prose th,
.tbnature-prose td {
	padding: var(--tbnature-space-xs) var(--tbnature-space-sm);
	border: 1px solid var(--tbnature-color-border);
	text-align: left;
}
.tbnature-prose th {
	background-color: var(--tbnature-color-primary-soft);
}
.tbnature-prose blockquote {
	margin: 0;
	padding: var(--tbnature-space-sm) var(--tbnature-space-md);
	border-left: 4px solid var(--tbnature-color-primary);
	background-color: var(--tbnature-color-primary-soft);
	font-style: italic;
}
.tbnature-prose blockquote p {
	margin: 0;
}
.tbnature-contact-list {
	margin-top: var(--tbnature-space-lg);
	border-top: 1px solid var(--tbnature-color-border);
	padding-top: var(--tbnature-space-md);
}
.tbnature-contact-list dt {
	font-weight: 700;
	color: var(--tbnature-color-primary);
	margin-top: var(--tbnature-space-sm);
}
.tbnature-contact-list dd {
	margin: 0;
}
.tbnature-contact-list dd a + a {
	margin-left: var(--tbnature-space-sm);
}
.tbnature-page__nav,
.tbnature-course__nav {
	max-width: var(--tbnature-content-width);
	margin: var(--tbnature-space-xl) auto 0;
	padding-top: var(--tbnature-space-md);
	border-top: 1px solid var(--tbnature-color-border);
	display: flex;
	justify-content: space-between;
	gap: var(--tbnature-space-md);
	flex-wrap: wrap;
}
.tbnature-page__nav a,
.tbnature-course__nav a {
	text-decoration: none;
}
.pagination,
.navigation.pagination {
	margin-top: var(--tbnature-space-lg);
}
.nav-links {
	display: flex;
	gap: var(--tbnature-space-xs);
	flex-wrap: wrap;
}
.nav-links .page-numbers {
	display: inline-block;
	padding: var(--tbnature-space-xs) var(--tbnature-space-sm);
	border: 1px solid var(--tbnature-color-border);
	border-radius: var(--tbnature-radius);
	text-decoration: none;
}
.nav-links .page-numbers.current {
	background-color: var(--tbnature-color-primary);
	border-color: var(--tbnature-color-primary);
	color: #fff;
}
/* ── 課程頁（UI-5） ───────────────────────────────────── */
.tbnature-course__head {
	background-color: var(--tbnature-color-primary-soft);
	border-bottom: 1px solid var(--tbnature-color-border);
}
.tbnature-course__head-inner {
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: var(--tbnature-space-xl) var(--tbnature-space-md);
}
.tbnature-course__eyebrow {
	margin: 0 0 var(--tbnature-space-xs);
	font-size: 0.9rem;
}
.tbnature-course__eyebrow a {
	text-decoration: none;
}
.tbnature-course__title {
	margin: 0;
}
.tbnature-course__lead {
	margin: var(--tbnature-space-sm) 0 0;
	max-width: 40em;
	color: var(--tbnature-color-muted);
	line-height: 1.9;
}
.tbnature-course__media {
	max-width: var(--tbnature-content-width);
	margin: var(--tbnature-space-lg) auto 0;
	padding: 0 var(--tbnature-space-md);
}
.tbnature-course__media img {
	width: 100%;
	height: auto;
	border-radius: var(--tbnature-radius);
	display: block;
}
.tbnature-course__body {
	max-width: var(--tbnature-content-width);
	margin: 0 auto;
	padding: var(--tbnature-space-xl) var(--tbnature-space-md);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: var(--tbnature-space-lg);
	align-items: start;
}
.tbnature-course__aside {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: var(--tbnature-space-md);
}
.tbnature-course__portrait {
	text-align: center;
}
.tbnature-course__portrait img {
	display: block;
	width: 160px;
	height: 160px;
	margin: 0 auto;
	object-fit: cover;
	border-radius: 50%;
}
.tbnature-course__facts {
	background-color: var(--tbnature-color-surface);
	border: 1px solid var(--tbnature-color-border);
	border-radius: var(--tbnature-radius);
	padding: var(--tbnature-space-md);
}
.tbnature-course__facts-title {
	font-size: 1.1rem;
	margin: 0 0 var(--tbnature-space-sm);
	padding-bottom: var(--tbnature-space-xs);
	border-bottom: 1px solid var(--tbnature-color-border);
}
.tbnature-course__facts dl {
	margin: 0;
}
.tbnature-course__facts dt {
	font-size: 0.85rem;
	color: var(--tbnature-color-muted);
	margin-top: var(--tbnature-space-sm);
}
.tbnature-course__facts dt:first-of-type {
	margin-top: 0;
}
.tbnature-course__facts dd {
	margin: 0;
	font-weight: 500;
	line-height: 1.7;
}
.tbnature-course__facts-empty {
	color: var(--tbnature-color-muted);
	font-weight: 400;
}
/* 報名區塊：未來接報名表單或金流時沿用此容器樣式 */
.tbnature-course__signup {
	background-color: var(--tbnature-color-primary-soft);
	border-radius: var(--tbnature-radius);
	padding: var(--tbnature-space-md);
}
.tbnature-course__signup-note {
	margin: var(--tbnature-space-xs) 0 0;
	font-size: 0.9rem;
	color: var(--tbnature-color-muted);
	text-align: center;
}
/* ── 首頁四宮格（CIS-4／討論 10） ─────────────────────── */
.tbnature-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
/* ── 服務內容系列圖片（CT-2／CT-12） ──────────────────── */
.tbnature-series-media {
	margin: var(--tbnature-space-md) 0;
	border-radius: var(--tbnature-radius);
	overflow: hidden;
}
.tbnature-series-media img {
	width: 100%;
	height: auto;
	display: block;
}
/* ── 服務內容頁四項配圖（UI-11d）：來源解析度不一，統一撐滿並裁切固定比例避免版面參差 ── */
.page-id-24 .tbnature-prose figure.wp-block-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}
/* ── 課程行事曆（CT-5，UI-9 改側欄） ───────────────────── */
.tbnature-calendar {
	position: sticky;
	top: var(--tbnature-space-md);
}
.tbnature-calendar__month {
	background-color: var(--tbnature-color-surface);
	border: 1px solid var(--tbnature-color-border);
	border-radius: var(--tbnature-radius);
	padding: var(--tbnature-space-md);
	margin-bottom: var(--tbnature-space-sm);
}
.tbnature-calendar__month-title {
	margin: 0 0 var(--tbnature-space-sm);
	font-size: 1.1rem;
	color: var(--tbnature-color-primary);
}
.tbnature-calendar__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tbnature-calendar__list li {
	display: flex;
	align-items: baseline;
	gap: var(--tbnature-space-sm);
	padding: var(--tbnature-space-xs) 0;
	border-bottom: 1px dashed var(--tbnature-color-border);
}
.tbnature-calendar__date {
	color: var(--tbnature-color-muted);
	font-size: 0.9rem;
	white-space: nowrap;
	flex-shrink: 0;
}
.tbnature-calendar__title {
	font-size: 0.95rem;
}
/* ── 響應式（UI-8） ───────────────────────────────────── */
img,
video,
iframe {
	max-width: 100%;
	height: auto;
}
@media (max-width: 1024px) {
	.tbnature-grid--3,
	.tbnature-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.tbnature-course__body {
		grid-template-columns: minmax(0, 1fr);
	}
	.tbnature-course__aside {
		position: static;
	}
	.tbnature-archive__layout {
		grid-template-columns: minmax(0, 1fr);
	}
	.tbnature-calendar {
		position: static;
	}
	.tbnature-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* UI-18：改為 1024px 才收成漢堡選單。9 項選單在 901～1024px 之間無論怎麼縮都排不下，硬排只會再度擠成兩行 */
@media (max-width: 1024px) {
	.tbnature-nav-toggle {
		display: flex;
	}
	.tbnature-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background-color: var(--tbnature-color-surface);
		border-bottom: 1px solid var(--tbnature-color-border);
		box-shadow: var(--tbnature-shadow);
		display: none;
	}
	.tbnature-nav.is-open {
		display: block;
	}
	.tbnature-header__inner {
		position: relative;
	}
	.tbnature-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: var(--tbnature-space-xs) var(--tbnature-space-md) var(--tbnature-space-sm);
	}
	.tbnature-nav__list a {
		padding: var(--tbnature-space-sm) 0;
		border-bottom: 1px solid var(--tbnature-color-border);
	}
	.tbnature-nav__list .sub-menu {
		position: static;
		display: block;
		border: none;
		box-shadow: none;
		padding: 0 0 0 var(--tbnature-space-md);
	}
}
@media (max-width: 640px) {
	h1 { font-size: 1.9rem; }
	h2 { font-size: 1.5rem; }
	h3 { font-size: 1.25rem; }
	.tbnature-grid--3,
	.tbnature-grid--4 {
		grid-template-columns: minmax(0, 1fr);
	}
	.tbnature-footer__inner {
		grid-template-columns: minmax(0, 1fr);
		padding-top: var(--tbnature-space-lg);
	}
	.tbnature-hero__inner {
		padding: var(--tbnature-space-xl) var(--tbnature-space-sm);
	}
	.tbnature-hero__sub {
		font-size: 1rem;
	}
	.tbnature-hero__actions .tbnature-btn {
		flex: 1 1 100%;
		text-align: center;
	}
	.tbnature-section {
		padding: var(--tbnature-space-lg) 0;
	}
	.tbnature-section__inner,
	.tbnature-page__head-inner,
	.tbnature-page__body,
	.tbnature-archive__body,
	.tbnature-course__head-inner,
	.tbnature-course__body,
	.tbnature-course__media {
		padding-left: var(--tbnature-space-sm);
		padding-right: var(--tbnature-space-sm);
	}
	.tbnature-page__head-inner,
	.tbnature-course__head-inner {
		padding-top: var(--tbnature-space-lg);
		padding-bottom: var(--tbnature-space-lg);
	}
}
/* 團隊介紹（UI-11e）：10 位成員改格狀排列，否則直式堆疊會讓頁面長到近 6000px。
   內文容器寬度以 !important 放寬，是為了蓋掉 page.php 給一般內文的窄欄寬（760px）——
   團隊格狀需要整個內容寬度才排得下三欄。 */
.tbnature-team {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--tbnature-space-lg) var(--tbnature-space-md);
}
/* 區塊編輯器輸出群組時會再包一層 inner-container，成員因此不是格線的直接子元素、
   全部擠在第一欄；改用 display:contents 讓那層不參與版面。 */
.tbnature-team > .wp-block-group__inner-container {
	display: contents;
}
/* 內文欄寬是為長文設計的 760px，格狀需要整個內容寬度才排得開 */
.tbnature-prose:has(.tbnature-team) {
	max-width: var(--tbnature-content-width);
}
/* 首頁課程區（UI-11c）：改為左圖右清單的單一整欄，不再逐班顯示卡片 */
.tbnature-season {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--tbnature-space-lg);
	/* 不用 align-items:start，讓左側圖片撐滿整列高度，右欄下方才不會出現空白（G 回饋第 4 項） */
	align-items: stretch;
	background: var(--tbnature-color-surface);
	border: 1px solid var(--tbnature-color-border);
	border-radius: var(--tbnature-radius);
	padding: var(--tbnature-space-lg);
	box-shadow: var(--tbnature-shadow);
}
.tbnature-season__media img {
	width: 100%;
	height: 100%;
	max-height: 420px;
	object-fit: cover;
	border-radius: var(--tbnature-radius);
	display: block;
}
.tbnature-season__series + .tbnature-season__series {
	margin-top: var(--tbnature-space-md);
	padding-top: var(--tbnature-space-md);
	border-top: 1px solid var(--tbnature-color-border);
}
.tbnature-season__series-title {
	margin: 0 0 var(--tbnature-space-xs);
	font-size: 1.125rem;
	color: var(--tbnature-color-primary-dark);
}
.tbnature-season__tagline {
	font-size: 0.9375rem;
	font-weight: 400;
	color: var(--tbnature-color-muted);
	margin-left: 0.5em;
}
.tbnature-season__classes {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--tbnature-space-xs) var(--tbnature-space-sm);
}
.tbnature-season__classes a {
	display: inline-block;
	padding: 0.15rem 0.6rem;
	border: 1px solid var(--tbnature-color-border);
	border-radius: 999px;
	background: var(--tbnature-color-primary-soft);
	color: var(--tbnature-color-primary-dark);
	text-decoration: none;
	font-size: 0.9375rem;
}
.tbnature-season__classes a:hover,
.tbnature-season__classes a:focus-visible {
	background: var(--tbnature-color-primary);
	border-color: var(--tbnature-color-primary);
	color: #fff;
}
@media (max-width: 782px) {
	.tbnature-season {
		grid-template-columns: 1fr;
		padding: var(--tbnature-space-md);
	}
	.tbnature-season__media img {
		max-height: 240px;
	}
}
.tbnature-team__member {
	text-align: center;
}
.tbnature-team__member .tbnature-team__photo {
	margin: 0 auto var(--tbnature-space-sm);
}
.tbnature-team__member .tbnature-team__photo img {
	display: block;
	width: 200px;
	height: 200px;
	margin: 0 auto;
	object-fit: cover;
	border-radius: 50%;
}
.tbnature-team__member h2 {
	font-size: 1.25rem;
	margin: 0 0 0.25rem;
}
.tbnature-team__member p {
	margin: 0;
	color: var(--tbnature-color-muted);
	font-size: 0.9375rem;
}
@media (max-width: 1024px) {
	.tbnature-team {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.tbnature-team {
		grid-template-columns: 1fr;
	}
}
/* ── 首頁課程側記單卡（UI-12d） ─────────────────────────── */
.tbnature-section__single {
	max-width: 480px;
}
/* ── 首頁學員回饋輪播（UI-12e） ─────────────────────────── */
.tbnature-section--reviews {
	background-color: var(--tbnature-color-primary-soft);
}
.tbnature-reviews {
	display: flex;
	align-items: center;
	gap: var(--tbnature-space-md);
	max-width: 640px;
}
.tbnature-reviews__viewport {
	flex: 1;
	min-width: 0;
	text-align: center;
}
.tbnature-reviews__slide {
	display: none;
}
.tbnature-reviews__slide.is-active {
	display: block;
}
.tbnature-reviews__quote {
	margin: 0 0 var(--tbnature-space-sm);
	border: 0;
	padding: 0;
	font-size: 1.15rem;
	line-height: 1.9;
	font-style: italic;
}
.tbnature-reviews__rating {
	margin: 0 0 var(--tbnature-space-xs);
	color: var(--tbnature-color-primary);
	letter-spacing: 0.15em;
}
.tbnature-reviews__name {
	margin: 0;
	color: var(--tbnature-color-muted);
	font-size: 0.9375rem;
}
.tbnature-reviews__arrow {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border-radius: 50%;
	border: 1px solid var(--tbnature-color-border);
	background-color: var(--tbnature-color-surface);
	color: var(--tbnature-color-forest);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}
.tbnature-reviews__arrow:hover {
	background-color: var(--tbnature-color-primary);
	color: #fff;
	border-color: var(--tbnature-color-primary);
}
@media (max-width: 600px) {
	.tbnature-reviews {
		gap: var(--tbnature-space-sm);
	}
	.tbnature-reviews__quote {
		font-size: 1.05rem;
	}
}
/* === 更新日誌 ===
[2026-09-01] [v3.10] 首頁四宮格（我們重視什麼）拿掉標題上方的 01/02/03/04 編號，
                    移除 front-page.php 對應輸出與 .tbnature-keyword__index 這條死掉的樣式規則，
                    只留標題與描述文字。檔頭 Theme Version 同步 bump 到 2.2.4。
[2026-09-01] [v3.9] UI-18：主選單字級由 1.3rem 降為 1.1rem、項目間距由 1.5rem 收為 1rem 並禁止項目內換行，
                    修正選單增為 9 項後每項被壓成兩行的問題；漢堡選單斷點由 900px 提高到 1024px，
                    901～1024px 之間 9 項橫排怎麼縮都排不下。檔頭 Theme Version 同步 bump 到 2.2.3。
[2026-09-01] [v3.8] UI-13b：徽章文字實際落在 <a> 上，補 .tbnature-course-badges__item a 系列規則
                    （link／visited／hover／focus 四態一致，不因點擊過變色），修正系列徽章被 Kadence
                    連結色與底線蓋掉、深綠字疊深綠底幾乎不可讀的問題；hover 加底線、focus 加外框做為
                    可辨識回饋；檔頭 Theme Version 同步 bump 到 2.2.2。
[2026-09-01] [v3.7] tb_verify 複驗修正（第 18 輪）：檔頭 Theme Version 補 bump 到 2.2.1，
                    上次改動只動了更新日誌內部版號、忘了同步 Theme Version，導致瀏覽器與
                    WP Super Cache 對回訪者繼續吃快取的舊 style.css，UI-14d 的箭頭沒生效。
[2026-09-01] [v3.6] UI-14d：頁尾「聯絡我們」補常駐箭頭符號（::after），不必 hover 或滑鼠移入
                    即可看出是連結，與旁邊非連結的「追蹤我們」明顯不同。
[2026-09-01] [v3.5] UI-14c：新增 .tbnature-section__note，讓 flex 容器內的註記文字強制獨立一行。
[2026-09-01] [v3.4] UI-13d：頁尾「聯絡我們」標題改為連結時補 display:block; text-decoration:none，
                    hover 才出現底線，避免變成連結後版面跳掉或看起來像一般內文連結。
[2026-09-01] [v3.3] UI-13b：系列／難度／地點徽章字級與 padding 加大（0.8rem→0.875rem），
                    系列徽章加粗字重；色彩對比度本身達標（白字對深綠底約 8.4:1），問題出在
                    文字過小、筆畫過細，加大加粗後可讀性改善，色彩不變。
[2026-09-01] [v3.2] UI-13a：新增課程單頁的圓形小圖樣式（右欄資訊方塊上方，160x160）。
[2026-09-01] [v3.1] UI-13c：團隊照片補 display:block; margin:0 auto，修正圖片被 Gutenberg 核心樣式
                    蓋成滿寬 block 後靠左顯示、與置中文字對不齊的問題（L 以參考線截圖指出）。
[2026-09-01] [v3.0] tb_verify 複驗修正（第 15 輪）：課程側記單卡與學員回饋輪播改回與上方區塊一致的
                    靠左版面（拿掉 margin auto 置中）；引言拿掉繼承自 Kadence blockquote 的左側裝飾線與內距。
[2026-09-01] [v2.9] UI-12d／UI-12e：新增首頁課程側記單卡置中版面，與學員回饋輪播（箭頭、引言、星等、身分標示）樣式。
[2026-09-01] [v2.8] UI-11d：服務內容頁四項配圖統一撐滿寬度並裁切固定比例，避免來源解析度不一造成版面參差。
[2026-08-30] [v2.7] UI-11b：主選單字級放大三成（16px → 20.8px）；
                    UI-11c：新增首頁課程區的左圖右清單版面與班別膠囊樣式；
                    UI-11e：新增團隊介紹的格狀排版與圓形頭像樣式。
[2026-08-27] [v2.6] UI-9 複驗修正（修 1）：拿掉 1024px 以下 .tbnature-calendar 的 order:-1，
                    修正行動版行事曆排到課程卡片前面、要滑過整段行事曆才看得到課程的迴歸。
[2026-08-27] [v2.5] CT-14：頁尾 Logo 改直式完整組合尺寸；UI-9：課程行事曆改側欄兩欄版面、
                    新增課程系列與標籤徽章樣式。
[2026-08-26] [v2.4] 刪除從 v2.0 起就缺選擇器、從未生效的內容容器覆寫死碼（verify 回報）。
[2026-08-26] [v2.3] CIS-1：全站色票換成品牌正式四色；CIS-2：新增頁首／頁尾 Logo 圖片樣式；
                    CIS-4：新增首頁四宮格；CT-2／CT-12：新增服務內容系列圖片樣式；CT-5：新增課程行事曆樣式；
                    CT-8：內頁文字新增表格與引言樣式。
[2026-08-26] [v2.2] 新增沒有聯絡方式時的頁尾兩欄版面（verify 回報）。
[2026-08-25] [v2.1] 修正課程卡片「圖片準備中」佔位文字帶預設底線，看起來像壞掉的連結。
[2026-08-25] [v2.0] UI-2～UI-6、UI-8：新增 Header／Footer、首頁、內頁、課程頁、公告版型的樣式，
                    卡片與清單元件，以及桌機／平板／手機三段響應式規則。
[2026-08-25] [v1.1] UI-1：建立全域樣式變數（色彩、字型、間距）與標題、連結、按鈕的基礎樣式。
[2026-08-25] [v1.0] 建立子主題骨架，尚無自訂樣式。
*/
