.elementor-9007 .elementor-element.elementor-element-c7933a7{--display:flex;--min-height:70px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;box-shadow:0px 0px 10px -5px rgba(0, 0, 0, 0.25);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-9007 .elementor-element.elementor-element-c7933a7:not(.elementor-motion-effects-element-type-background), .elementor-9007 .elementor-element.elementor-element-c7933a7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-9007 .elementor-element.elementor-element-3e64e5fe{--display:flex;--justify-content:center;}.elementor-9007 .elementor-element.elementor-element-7696cfa9 img{width:100%;max-width:80%;}.elementor-9007 .elementor-element.elementor-element-48b5e24a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-9007 .elementor-element.elementor-element-793c4d26 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-menu-toggle{margin-left:auto;background-color:#02010100;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu .elementor-item{font-family:"Noto Sans TC", Sans-serif;font-size:16px;font-weight:400;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );padding-left:10px;padding-right:10px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-primary );}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a, .elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-menu-toggle{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown{background-color:var( --e-global-color-a956de0 );border-style:solid;border-width:1px 1px 1px 1px;border-color:#B4B4B4;border-radius:5px 5px 5px 5px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a:hover,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a:focus,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-menu-toggle:hover,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-menu-toggle:focus{color:var( --e-global-color-primary );}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a:hover,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a:focus,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a.highlighted{background-color:var( --e-global-color-a956de0 );}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a.elementor-item-active{color:var( --e-global-color-primary );}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown .elementor-item, .elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:16px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:5px;border-top-right-radius:5px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--main .elementor-nav-menu--dropdown, .elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu__container.elementor-nav-menu--dropdown{box-shadow:0px 4px 10px -3px rgba(0,0,0,0.5);}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a{padding-left:5px;padding-right:5px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 div.elementor-menu-toggle{color:var( --e-global-color-text );}.elementor-9007 .elementor-element.elementor-element-793c4d26 div.elementor-menu-toggle svg{fill:var( --e-global-color-text );}.elementor-9007 .elementor-element.elementor-element-793c4d26 div.elementor-menu-toggle:hover, .elementor-9007 .elementor-element.elementor-element-793c4d26 div.elementor-menu-toggle:focus{color:var( --e-global-color-primary );}.elementor-9007 .elementor-element.elementor-element-793c4d26 div.elementor-menu-toggle:hover svg, .elementor-9007 .elementor-element.elementor-element-793c4d26 div.elementor-menu-toggle:focus svg{fill:var( --e-global-color-primary );}.elementor-9007 .elementor-element.elementor-element-b90d35a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--padding-top:040px;--padding-bottom:040px;--padding-left:10px;--padding-right:10px;}.elementor-9007 .elementor-element.elementor-element-14494a5c{--display:flex;}.elementor-9007 .elementor-element.elementor-element-f0773cf{text-align:start;}.elementor-9007 .elementor-element.elementor-element-f0773cf .elementor-heading-title{font-size:38px;font-weight:300;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1.7em;letter-spacing:2px;word-spacing:0px;color:#1E1E1E;}.elementor-9007 .elementor-element.elementor-element-3775cb13{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:start;font-size:18px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.7em;letter-spacing:1px;word-spacing:0px;color:#1E1E1E;}.elementor-9007 .elementor-element.elementor-element-3775cb13 > .elementor-widget-container{padding:0% 0% 0% 0%;}.elementor-9007 .elementor-element.elementor-element-150dc38 > .elementor-widget-container{margin:0px 0px -5px 0px;}.elementor-9007 .elementor-element.elementor-element-150dc38.elementor-element{--align-self:stretch;}.elementor-9007 .elementor-element.elementor-element-7e9769ef{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:40px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-9007 .elementor-element.elementor-element-5edff71b{--display:flex;--flex-wrap:wrap;}.elementor-9007 .elementor-element.elementor-element-98b4746{--grid-columns:2;}.elementor-9007 .elementor-element.elementor-element-98b4746 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-9007 .elementor-element.elementor-element-98b4746 .e-loop-item > .elementor-section, .elementor-9007 .elementor-element.elementor-element-98b4746 .e-loop-item > .elementor-section > .elementor-container, .elementor-9007 .elementor-element.elementor-element-98b4746 .e-loop-item > .e-con, .elementor-9007 .elementor-element.elementor-element-98b4746 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-9007 .elementor-element.elementor-element-98b4746 .elementor-pagination{text-align:center;}body:not(.rtl) .elementor-9007 .elementor-element.elementor-element-98b4746 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-9007 .elementor-element.elementor-element-98b4746 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-9007 .elementor-element.elementor-element-98b4746 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-9007 .elementor-element.elementor-element-98b4746 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}.elementor-9007 .elementor-element.elementor-element-3f0b5ac6{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-9007 .elementor-element.elementor-element-107151ad{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-9007 .elementor-element.elementor-element-1ecf41c9.elementor-element{--align-self:stretch;}.elementor-9007 .elementor-element.elementor-element-e2ad575.elementor-element{--align-self:stretch;}.elementor-9007 .elementor-element.elementor-element-4ed89427.elementor-element{--align-self:stretch;}.elementor-9007 .elementor-element.elementor-element-56fd952f.elementor-element{--align-self:stretch;}.elementor-9007 .elementor-element.elementor-element-782763f2{--display:flex;--min-height:36vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-9007 .elementor-element.elementor-element-782763f2:not(.elementor-motion-effects-element-type-background), .elementor-9007 .elementor-element.elementor-element-782763f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-9007 .elementor-element.elementor-element-58ae77d8{--display:flex;}.elementor-9007 .elementor-element.elementor-element-064024c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}body.elementor-page-9007:not(.elementor-motion-effects-element-type-background), body.elementor-page-9007 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(min-width:768px){.elementor-9007 .elementor-element.elementor-element-c7933a7{--content-width:1200px;}.elementor-9007 .elementor-element.elementor-element-3e64e5fe{--width:10%;}.elementor-9007 .elementor-element.elementor-element-b90d35a{--content-width:1220px;}.elementor-9007 .elementor-element.elementor-element-7e9769ef{--content-width:1200px;}.elementor-9007 .elementor-element.elementor-element-3f0b5ac6{--width:40%;}.elementor-9007 .elementor-element.elementor-element-782763f2{--content-width:1200px;}}@media(max-width:1024px) and (min-width:768px){.elementor-9007 .elementor-element.elementor-element-3f0b5ac6{--width:40%;}}@media(max-width:1024px){.elementor-9007 .elementor-element.elementor-element-f0773cf .elementor-heading-title{font-size:30px;line-height:1.5em;letter-spacing:5px;}.elementor-9007 .elementor-element.elementor-element-3775cb13{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;font-size:15px;line-height:1.5em;}.elementor-9007 .elementor-element.elementor-element-7e9769ef{--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:050px;--padding-bottom:050px;--padding-left:20px;--padding-right:20px;}.elementor-9007 .elementor-element.elementor-element-98b4746{--grid-columns:2;}.elementor-9007 .elementor-element.elementor-element-782763f2{--min-height:30vh;}}@media(max-width:767px){.elementor-9007 .elementor-element.elementor-element-c7933a7{--content-width:95%;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-9007 .elementor-element.elementor-element-3e64e5fe{--width:18%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9007 .elementor-element.elementor-element-48b5e24a{--width:54%;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown{border-width:0px 0px 0px 0px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--dropdown a{padding-left:0px;padding-right:0px;padding-top:10px;padding-bottom:10px;}.elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-9007 .elementor-element.elementor-element-793c4d26 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:7px !important;}.elementor-9007 .elementor-element.elementor-element-793c4d26{--nav-menu-icon-size:24px;}.elementor-9007 .elementor-element.elementor-element-b90d35a{--padding-top:30px;--padding-bottom:30px;--padding-left:10px;--padding-right:10px;}.elementor-9007 .elementor-element.elementor-element-f0773cf .elementor-heading-title{font-size:28px;line-height:1.5em;letter-spacing:1px;}.elementor-9007 .elementor-element.elementor-element-3775cb13{width:100%;max-width:100%;font-size:14px;line-height:2em;}.elementor-9007 .elementor-element.elementor-element-3775cb13 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-9007 .elementor-element.elementor-element-150dc38.elementor-element{--align-self:center;}.elementor-9007 .elementor-element.elementor-element-7e9769ef{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-9007 .elementor-element.elementor-element-98b4746{--grid-columns:1;}.elementor-9007 .elementor-element.elementor-element-782763f2{--min-height:0vh;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS *//* ==========================================================
   Taipei Housing｜文章側邊欄 CSS（整合版，只要貼這一份）
   貼到 Elementor 自訂 CSS（或 外觀 > 自訂 > 額外 CSS），
   請先清掉舊的 cat-list / sidebar CSS 再貼。

   內容順序：
     1. 文章分類清單  [cat_list]（.cat-list、展開箭頭）
     2. 側邊欄卡片    標題、一日行程、住宿、標籤、LINE 按鈕
     3. 手機版        右側浮動頁籤＋小視窗（需在側邊欄容器加 CSS 類別 th-sidebar）
     4. 文章內文      長網址、長英文單字自動換行
     5. 文章內頁（A 款）  內文排版、本文目錄、文末 CTA、底部 CTA、桌機側欄黏性
     6. 麵包屑  [th_breadcrumb]

   色票：ink-heading #413423 / ink-body #4A4A4A / accent-camel #CDAE87
        surface-cream #EBE7D0 / surface-cream-light #F7F3E6
        ink-muted #A39C8E / brand-blue-gray #4A5977
   ========================================================== */

/* ==========================================================
   1. 文章分類清單 [cat_list]
   ========================================================== */

/* ---------- 結構 ---------- */
.cat-list,
.cat-list ul { list-style: none; margin: 0; padding: 0; }
.cat-list li { position: relative; margin: 0; }
.cat-list a { display: inline-block; text-decoration: none; }

/* 只有 JS 有載入時才收合，避免 JS 失效時子分類點不到 */
.cat-list--js ul.children { display: none; }
.cat-list--js li.is-open > ul.children { display: block; }

/* ---------- 變數 ----------
   --cat-row    ：單行分類的高度（箭頭按鈕用它對齊文字第一行）
   --cat-indent ：文字左側留給箭頭的空間（無 JS 時為 0）           */
.cat-list {
	--cat-row: 2.8em;
	--cat-indent: 0em;
}
.cat-list--js { --cat-indent: 1.5em; }
.cat-list ul.children { --cat-row: 2.5em; }

/* ---------- 清單本體 ----------
   外框（白底、細框、圓角、內距）與標題，由下方「側邊欄卡片」的 .th-side-card / .th-side-title 提供。 */
.cat-list {
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: .6px;
}
.cat-list > li { border-bottom: 1px solid #EBE7D0; }
.cat-list > li:last-child { border-bottom: 0; }

/* ---------- 連結 ---------- */
.cat-list a {
	position: relative;
	padding: .65em 0 .65em var(--cat-indent);
	color: #413423;
	transition: color .25s ease;
}
.cat-list a::after {
	content: "";
	position: absolute;
	left: var(--cat-indent);
	bottom: .45em;
	width: 0;
	height: 2px;
	background: #CDAE87;
	transition: width .35s ease;
}
.cat-list a:hover::after,
.cat-list a:focus-visible::after { width: 24px; }
.cat-list a:focus-visible {
	outline: 2px solid #4A5977;
	outline-offset: 2px;
	border-radius: 4px;
}

/* ---------- 子分類 ---------- */
.cat-list ul.children {
	margin: 0 0 12px 8px;
	padding-left: 16px;
	border-left: 1px solid #EBE7D0;
	font-size: 14px;
}
.cat-list ul.children a {
	padding-top: .5em;
	padding-bottom: .5em;
	color: #4A4A4A;
}
.cat-list ul.children a::after { bottom: .3em; }
.cat-list ul.children a:hover { color: #413423; }

/* ---------- 展開箭頭 ----------
   用 .cat-list .cat-toggle（兩層 class）＋ all:unset，
   蓋過 Elementor 全域按鈕樣式（底色、padding、min-height）。
   z-index 讓按鈕浮在連結上方，點箭頭才不會誤點到分類連結。 */
.cat-list .cat-toggle {
	all: unset;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--cat-indent);
	height: var(--cat-row);
	color: #A39C8E;
	cursor: pointer;
	border-radius: 4px;
	transition: color .25s ease;
}
.cat-list .cat-toggle::before {
	content: "";
	display: block;
	width: .45em;
	height: .45em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform .2s;
}
.cat-list li.is-open > .cat-toggle::before { transform: rotate(45deg) translate(-.05em, -.05em); }
/* 主題的 button:hover / :focus 樣式權重較高，所以這裡要明確重設 */
.cat-list .cat-toggle:hover,
.cat-list .cat-toggle:focus,
.cat-list .cat-toggle:active {
	background: none;
	box-shadow: none;
	color: #413423;
}
.cat-list li.is-open > .cat-toggle,
.cat-list li.is-open > .cat-toggle:hover { color: #4A5977; }
.cat-list .cat-toggle:focus-visible { outline: 2px solid #4A5977; outline-offset: 0; }

/* ---------- 目前所在分類 ---------- */
.cat-list li.current-cat > a { color: #413423; font-weight: 600; }
.cat-list li.current-cat > a::after { width: calc(100% - var(--cat-indent)); }
.cat-list li.current-cat-parent > a,
.cat-list li.current-cat-ancestor > a { color: #413423; font-weight: 500; }

/* ---------- 文章數（短代碼 show_count="1" 時） ---------- */
.cat-list li { color: #A39C8E; font-size: inherit; }

/* ---------- 手機：加大點擊範圍 ---------- */
@media (max-width: 767px) {
	.cat-list { --cat-row: 3.1em; }
	.cat-list--js { --cat-indent: 2.25em; }
	.cat-list ul.children { --cat-row: 2.9em; }
	.cat-list a { padding-top: .8em; padding-bottom: .8em; }
	.cat-list ul.children a { padding-top: .7em; padding-bottom: .7em; }
	.cat-list a::after { bottom: .6em; }
	.cat-list ul.children a::after { bottom: .5em; }
}

/* ==========================================================
   2. 側邊欄卡片（標題、行程、住宿、標籤、LINE）
   ========================================================== */

.th-side-card {
	box-sizing: border-box;
	padding: 28px;
	background: #FFFFFF;
	border: 1px solid #EBE7D0;
	border-radius: 20px;
	font-size: 15px;
	line-height: 1.7;
	color: #4A4A4A;
}
.th-side-card *,
.th-side-card *::before,
.th-side-card *::after { box-sizing: border-box; }

/* 卡片標題：沿用網站 h3 規格＋駝色短底線 */
.th-side-title {
	position: relative;
	margin: 0 0 20px;
	padding: 0 0 14px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 1.6px;
	color: #413423;
}
.th-side-title::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 32px; height: 3px;
	background: #CDAE87;
}
.th-side-kicker {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	letter-spacing: 3px;
	color: #4A5977;
}
.th-side-text { margin: 0 0 20px; font-size: 14px; line-height: 1.85; }

/* 文章分類：標題下方直接接清單，間距收小一點（清單每列本身已有上下內距） */
.th-side-cats .th-side-title { margin-bottom: 8px; }

/* 一日包車行程 */
.th-side-tours-list { list-style: none; margin: 0 0 16px; padding: 0; }
.th-side-tours-list li { margin: 0; border-bottom: 1px solid #EBE7D0; }
.th-side-tours-list li:last-child { border-bottom: 0; }
.th-side-tours-list a {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 12px 0;
	text-decoration: none;
}
.th-side-num {
	flex: 0 0 auto;
	min-width: 22px;
	padding-top: 2px;
	font-size: 12px;
	letter-spacing: 1px;
	color: #4A5977;
}
.th-side-tour-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.th-side-tour-name {
	position: relative;
	align-self: flex-start;
	padding-bottom: 3px;
	font-size: 15px;
	line-height: 1.5;
	color: #413423;
}
.th-side-tour-name::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 0; height: 2px;
	background: #CDAE87;
	transition: width .35s ease;
}
.th-side-tours-list a:hover .th-side-tour-name::after,
.th-side-tours-list a:focus-visible .th-side-tour-name::after { width: 24px; }
.th-side-tour-meta { font-size: 13px; color: #4A4A4A; }

/* 文字連結「[ 查看全部行程 ]」 */
.th-side-more {
	position: relative;
	display: inline-block;
	padding-bottom: 4px;
	font-size: 13px;
	letter-spacing: 1px;
	color: #413423;
	text-decoration: none;
}
.th-side-more::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 0; height: 2px;
	background: #CDAE87;
	transition: width .35s ease;
}
.th-side-more:hover::after,
.th-side-more:focus-visible::after { width: 24px; }
.th-side-more:hover { color: #413423; }

/* 住宿推薦 CTA：石墨藍底、駝色按鈕（A 款） */
.th-side-stay { background: #4A5977; border-color: #4A5977; color: #EBE7D0; }
.th-side-stay .th-side-kicker { color: #CDAE87; }
.th-side-stay .th-side-title { color: #FFFFFF; }
.th-side-stay .th-side-text { color: #EBE7D0; }
.th-side-stay .th-side-btn,
.th-side-stay .th-side-btn:visited { background: #CDAE87; border-color: #CDAE87; color: #413423; }
.th-side-stay .th-side-btn:hover,
.th-side-stay .th-side-btn:focus-visible { background: #D7BC9B; border-color: #D7BC9B; color: #413423; }
.th-side-stay .th-side-btn:focus-visible { outline-color: #FFFFFF; }

/* 按鈕：主要（石墨藍實心） / 次要（深咖啡外框） */
.th-side-btn {
	display: block;
	padding: 12px 16px;
	border: 1.5px solid #4A5977;
	border-radius: var(--th-btn-radius, 999px);
	background: #4A5977;
	color: #FFFFFF;
	font-size: 15px;
	letter-spacing: 1px;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.th-side-btn:hover,
.th-side-btn:focus-visible { background: #3C4963; border-color: #3C4963; color: #FFFFFF; }
.th-side-btn--outline { background: transparent; border-color: #4A5977; color: #4A5977; }
.th-side-btn--outline:hover,
.th-side-btn--outline:focus-visible { background: #4A5977; border-color: #4A5977; color: #FFFFFF; }
.th-side-btn:focus-visible { outline: 2px solid #4A5977; outline-offset: 2px; }

/* 熱門標籤 */
.th-side-tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.th-side-tag {
	padding: 5px 14px;
	border: 1px solid #EBE7D0;
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: .6px;
	color: #413423;
	text-decoration: none;
	transition: border-color .25s ease, color .25s ease;
}
.th-side-tag:hover,
.th-side-tag:focus-visible { border-color: #CDAE87; color: #413423; }

/* 空容器不佔位（台灣訪客看不到任何東西，也不留空白） */
.th-geo-slot:empty { display: none; }

@media (max-width: 767px) {
	.th-side-card { padding: 24px; }
	.th-side-tours-list a { padding: 14px 0; }
	.th-side-tag { padding: 7px 14px; }
}

/* 台灣訪客：台灣 IP 判斷後沒有內容的空容器，連同外層 Elementor 小工具一起收掉，不留空白 */
.elementor-widget:has(.th-geo-slot:empty):not(:has(.th-side-card)) { display: none; }


/* ==========================================================
   3. 手機版（≤767px）：側邊欄 → 右側浮動頁籤＋小視窗
   用法：在放側邊欄所有區塊的 Elementor 容器加 CSS 類別 th-sidebar
   （JS 會在手機版把該容器搬進小視窗，桌機維持原樣）
   可調整：--th-tab-top（頁籤的預設垂直位置 45%；訪客可上下拖動，位置會記在瀏覽器）
   ========================================================== */

/* 桌機：頁籤與小視窗不存在 */
.th-drawer-tab,
.th-drawer-overlay,
.th-drawer { display: none; }

@media (max-width: 767px) {

	html.th-drawer-lock { overflow: hidden; }

	/* ---- 右側浮動頁籤 ---- */
	/* 選擇器刻意寫兩層，權重才贏得過 Elementor 全域按鈕樣式 */
	.th-drawer-tab.th-drawer-tab {
		all: unset;
		box-sizing: border-box;
		position: fixed;
		right: 0;
		top: var(--th-tab-top, 45%);
		transform: translateY(-50%);
		z-index: 9990;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 36px;
		padding: 14px 0;
		background: #CDAE87;
		color: #413423;
		border: 1px solid rgba(65, 52, 35, .12);
		border-right: 0;
		border-radius: 12px 0 0 12px;
		font-size: 12px;
		letter-spacing: 3px;
		line-height: 1;
		cursor: pointer;
		transition: opacity .25s ease, background .25s ease;
	}
	.th-drawer-tab svg {
		display: block;
		width: 20px;
		height: 20px;
		flex: none;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
	/* 文字直排（只轉內層 span，頁籤高度才會跟著文字長度走） */
	.th-drawer-tab span { writing-mode: vertical-rl; white-space: nowrap; }
	.th-drawer-tab.th-drawer-tab:hover { background: #D7BC9B; color: #413423; box-shadow: none; }
	.th-drawer-tab.th-drawer-tab:focus,
	.th-drawer-tab.th-drawer-tab:active { background: #CDAE87; color: #413423; box-shadow: none; }
	.th-drawer-tab.th-drawer-tab:focus-visible { outline: 2px solid #4A5977; outline-offset: 2px; }
	/* 可上下拖動：不讓瀏覽器把拖動當成捲動 */
	.th-drawer-tab.th-drawer-tab { touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
	.th-drawer-tab.th-drawer-tab.is-dragging { background: #D7BC9B; box-shadow: 0 6px 18px rgba(65, 52, 35, .28); }
	html.th-drawer-lock .th-drawer-tab { opacity: 0; pointer-events: none; }

	/* ---- 背景遮罩 ---- */
	.th-drawer-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 9998;
		background: rgba(65, 52, 35, .45);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease, visibility .3s ease;
	}
	.th-drawer-overlay.is-open { opacity: 1; visibility: visible; }

	/* ---- 小視窗（靠右、垂直置中） ---- */
	.th-drawer {
		display: flex;
		flex-direction: column;
		position: fixed;
		right: 0;
		top: 50%;
		z-index: 9999;
		width: min(88vw, 340px);
		max-height: 80vh;
		max-height: min(80dvh, 640px);
		background: #F7F3E6;
		border-radius: 20px 0 0 20px;
		overflow: hidden;
		transform: translate(100%, -50%);
		visibility: hidden;
		transition: transform .3s ease, visibility .3s ease;
		outline: none;
	}
	.th-drawer.is-open { transform: translate(0, -50%); visibility: visible; }

	.th-drawer-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex: none;
		min-height: 52px;
		padding: 0 8px 0 20px;
		border-bottom: 1px solid #EBE7D0;
	}
	.th-drawer-title { font-size: 15px; letter-spacing: 2px; color: #413423; }

	.th-drawer .th-drawer-close {
		all: unset;
		box-sizing: border-box;
		position: relative;
		width: 44px;
		height: 44px;
		color: #413423;
		cursor: pointer;
		border-radius: 8px;
	}
	.th-drawer .th-drawer-close::before,
	.th-drawer .th-drawer-close::after {
		content: "";
		position: absolute;
		left: 13px; top: 21px;
		width: 18px; height: 2px;
		background: currentColor;
		transform: rotate(45deg);
	}
	.th-drawer .th-drawer-close::after { transform: rotate(-45deg); }
	.th-drawer .th-drawer-close:hover,
	.th-drawer .th-drawer-close:focus,
	.th-drawer .th-drawer-close:active { background: none; box-shadow: none; color: #413423; }
	.th-drawer .th-drawer-close:focus-visible { outline: 2px solid #4A5977; outline-offset: -2px; }

	.th-drawer-body {
		flex: 1 1 auto;
		min-height: 0;
		padding: 12px;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	/* ---- 被搬進小視窗的側邊欄容器：蓋掉 Elementor 容器的寬度／內距／定位 ---- */
	.th-sidebar.th-side-mobile {
		display: block !important;
		position: static !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		background: none !important;
		border: 0 !important;
	}
	.th-side-mobile .elementor-widget { margin: 0 !important; width: 100% !important; }
	.th-side-mobile .elementor-widget-container { margin: 0 !important; padding: 0 !important; }

	/* ---- 區塊 → 以標題收合的手風琴 ---- */
	.th-side-mobile .th-side-card {
		margin: 0 0 10px;
		padding: 0;
		background: #FFFFFF;
		border: 1px solid #EBE7D0;
		border-radius: 14px;
		overflow: hidden;
	}
	.th-side-mobile .th-side-card .th-side-kicker { display: none; }
	.th-side-mobile .th-side-title { margin: 0; padding: 0; }
	.th-side-mobile .th-side-title::after { display: none; }

	.th-side-mobile .th-side-acc {
		all: unset;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		min-height: 52px;
		padding: 14px 18px;
		font-size: 15px;
		line-height: 1.5;
		letter-spacing: 1.6px;
		color: #413423;
		cursor: pointer;
	}
	.th-side-mobile .th-side-acc::after {
		content: "";
		flex: none;
		width: 8px; height: 8px;
		border-right: 2px solid #A39C8E;
		border-bottom: 2px solid #A39C8E;
		transform: rotate(45deg) translate(-2px, -2px);
		transition: transform .2s ease, border-color .2s ease;
	}
	.th-side-mobile .th-side-card:not(.is-collapsed) .th-side-acc::after {
		transform: rotate(-135deg) translate(-2px, -2px);
		border-color: #4A5977;
	}
	.th-side-mobile .th-side-acc:hover,
	.th-side-mobile .th-side-acc:focus,
	.th-side-mobile .th-side-acc:active { background: none; box-shadow: none; color: #413423; }
	.th-side-mobile .th-side-acc:focus-visible { outline: 2px solid #4A5977; outline-offset: -2px; border-radius: 14px; }

	/* 收合：只留標題；展開：內容左右留白 */
	.th-side-mobile .th-side-card.is-collapsed > :not(.th-side-title) { display: none; }
	.th-side-mobile .th-side-card > :not(.th-side-title) { margin-left: 18px; margin-right: 18px; }
	.th-side-mobile .th-side-card > :last-child:not(.th-side-title) { margin-bottom: 18px; }
	.th-side-mobile .th-side-cats .th-side-title { margin-bottom: 0; }
	.th-side-mobile .th-side-toc { background: #FFFFFF; border-color: #EBE7D0; }

	/* 住宿推薦在小視窗裡維持石墨藍（與頁籤的駝色形成呼應） */
	.th-side-mobile .th-side-stay { background: #4A5977; border-color: #4A5977; }
	.th-side-mobile .th-side-stay .th-side-acc,
	.th-side-mobile .th-side-stay .th-side-acc:hover,
	.th-side-mobile .th-side-stay .th-side-acc:focus,
	.th-side-mobile .th-side-stay .th-side-acc:active { color: #FFFFFF; }
	.th-side-mobile .th-side-stay .th-side-acc::after,
	.th-side-mobile .th-side-stay:not(.is-collapsed) .th-side-acc::after { border-color: #CDAE87; }
	.th-side-mobile .th-side-stay .th-side-acc:focus-visible { outline-color: #FFFFFF; }

	@media (prefers-reduced-motion: reduce) {
		.th-drawer, .th-drawer-overlay, .th-drawer-tab,
		.th-side-mobile .th-side-acc::after { transition: none; }
	}
}


/* ==========================================================
   4. 文章內文：長網址／長字串自動換行
   overflow-wrap:anywhere 會讓長網址在容器寬度內折行；
   min-width:0 避免 Elementor 的 flex 容器被長字串撐寬。
   ========================================================== */
.elementor-widget-theme-post-content,
.single-post .entry-content {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: break-word;   /* 舊瀏覽器備援 */
	overflow-wrap: anywhere;
	word-break: break-word;
}
.elementor-widget-theme-post-content a,
.single-post .entry-content a {
	overflow-wrap: anywhere;
}
.elementor-widget-theme-post-content pre,
.single-post .entry-content pre {
	max-width: 100%;
	overflow-x: auto;            /* 程式碼區塊維持橫向捲動，不強制換行 */
}


/* ==========================================================
   5. 文章內頁（A 款）
   5-1 內文排版  5-2 本文目錄  5-3 桌機側欄黏性  5-4 文末／底部 CTA
   可調整：--th-sticky-top（網站固定導覽列的高度，預設 96px）
          --th-btn-radius（按鈕圓角，預設 999px 膠囊；想回到方角改成 8px）
   ========================================================== */
:root { --th-sticky-top: 96px; }

/* ---- 5-1 內文排版：17px／行高 1.95，標題墨色＋駝色短底線 ---- */
.elementor-widget-theme-post-content.elementor-widget p,
.elementor-widget-theme-post-content.elementor-widget li {
	font-size: 17px;
	line-height: 1.95;
	letter-spacing: .5px;
	color: #4A4A4A;
}
.elementor-widget-theme-post-content.elementor-widget p { margin: 0 0 24px; }
.elementor-widget-theme-post-content.elementor-widget strong { color: #413423; }

.elementor-widget-theme-post-content.elementor-widget h2 {
	position: relative;
	margin: 56px 0 18px;
	padding: 0 0 14px;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 1.2px;
	color: #413423;
}
.elementor-widget-theme-post-content.elementor-widget h2::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 48px; height: 3px;
	background: #CDAE87;
}
.elementor-widget-theme-post-content.elementor-widget h3 {
	margin: 36px 0 12px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 1px;
	color: #413423;
}
/* 目錄跳轉時，標題不要被固定導覽列蓋住 */
.elementor-widget-theme-post-content.elementor-widget h2,
.elementor-widget-theme-post-content.elementor-widget h3 { scroll-margin-top: calc(var(--th-sticky-top) + 16px); }

/* 無序清單：駝色圓點（有序清單維持數字） */
.elementor-widget-theme-post-content.elementor-widget ul { margin: 0 0 28px; padding: 0; list-style: none; }
.elementor-widget-theme-post-content.elementor-widget ul > li { position: relative; margin: 0 0 14px; padding-left: 22px; }
.elementor-widget-theme-post-content.elementor-widget ul > li::before {
	content: "";
	position: absolute;
	left: 2px; top: .85em;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #CDAE87;
}
.elementor-widget-theme-post-content.elementor-widget ol { margin: 0 0 28px; padding-left: 1.6em; }
.elementor-widget-theme-post-content.elementor-widget ol > li { margin: 0 0 14px; }

/* 連結：品牌藍灰＋駝色底線 */
.elementor-widget-theme-post-content.elementor-widget p a,
.elementor-widget-theme-post-content.elementor-widget li a {
	color: #4A5977;
	text-decoration: none;
	border-bottom: 1px solid #CDAE87;
	transition: color .25s ease, border-color .25s ease;
}
.elementor-widget-theme-post-content.elementor-widget p a:hover,
.elementor-widget-theme-post-content.elementor-widget li a:hover { color: #413423; border-color: #413423; }

/* 圖片與圖說 */
.elementor-widget-theme-post-content.elementor-widget img[class*="wp-image-"] { max-width: 100%; height: auto; border-radius: 20px; }
.elementor-widget-theme-post-content.elementor-widget figcaption,
.elementor-widget-theme-post-content.elementor-widget .wp-caption-text {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: .6px;
	color: #6F695D;
}

/* 引言 */
.elementor-widget-theme-post-content.elementor-widget blockquote {
	margin: 8px 0 48px;
	padding: 36px 40px;
	background: #F7F3E6;
	border: 0;
	border-radius: 20px;
}
.elementor-widget-theme-post-content.elementor-widget blockquote p {
	margin: 0;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.9;
	letter-spacing: 1px;
	color: #413423;
}
.elementor-widget-theme-post-content.elementor-widget blockquote p + p { margin-top: 16px; }

@media (max-width: 767px) {
	.elementor-widget-theme-post-content.elementor-widget p,
	.elementor-widget-theme-post-content.elementor-widget li { font-size: 16px; line-height: 1.95; letter-spacing: .4px; }
	.elementor-widget-theme-post-content.elementor-widget h2 { margin: 44px 0 16px; font-size: 22px; letter-spacing: 1px; }
	.elementor-widget-theme-post-content.elementor-widget h2::after { width: 40px; }
	.elementor-widget-theme-post-content.elementor-widget h3 { margin: 32px 0 10px; font-size: 18px; }
	.elementor-widget-theme-post-content.elementor-widget blockquote { margin: 0 0 36px; padding: 26px 24px; }
	.elementor-widget-theme-post-content.elementor-widget blockquote p { font-size: 18px; line-height: 1.85; letter-spacing: .8px; }
}

/* ---- 5-2 本文目錄（[th_side_toc]） ---- */
.th-side-toc { background: #F7F3E6; border-color: #F7F3E6; padding-bottom: 22px; }
.th-side-toc[hidden] { display: none !important; }
.th-toc-list { margin: 0; padding: 0; list-style: none; }
.th-toc-list li { margin: 0; padding: 0; border-top: 1px solid #EBE7D0; }
.th-toc-list li:first-child { border-top: 0; }
.th-toc-list a {
	display: flex;
	gap: 12px;
	align-items: baseline;
	padding: 10px 0;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: .6px;
	color: #413423;
	text-decoration: none;
	transition: color .25s ease;
}
.th-toc-n { flex: none; width: 20px; font-size: 12px; letter-spacing: 1px; color: #6F695D; }
.th-toc-list a:hover { color: #4A5977; }
.th-toc-list a.is-active { color: #4A5977; font-weight: 500; }
.th-toc-list a.is-active .th-toc-n { color: #413423; }
.th-toc-list a:focus-visible { outline: 2px solid #4A5977; outline-offset: 2px; border-radius: 4px; }
.th-toc-progress { margin-top: 16px; }
.th-toc-bar { display: block; height: 3px; border-radius: 2px; background: #EBE7D0; overflow: hidden; }
.th-toc-fill { display: block; width: 0; height: 3px; border-radius: 2px; background: #CDAE87; transition: width .15s linear; }
.th-toc-pct { display: block; margin-top: 8px; font-size: 12px; letter-spacing: 1px; color: #6F695D; }

/* ---- 5-3 桌機：側邊欄跟著捲動（容器高度超過視窗時，容器內可獨立捲動） ---- */
@media (min-width: 768px) {
	.th-sidebar {
		position: sticky;
		top: var(--th-sticky-top);
		align-self: flex-start;
		max-height: calc(100vh - var(--th-sticky-top) - 24px);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: #CDAE87 transparent;
	}
}

/* ---- 5-4 CTA：文末（[th_cta_tour]）與底部（[th_cta_line]） ---- */
.th-cta-tour,
.th-cta-line {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}
.th-cta-tour {
	margin: 48px 0 0;
	padding: 32px 36px;
	background: #FFFFFF;
	border: 1px solid #EBE7D0;
	border-radius: 20px;
}
.th-cta-line {
	margin: 0;
	padding: 48px 56px;
	background: #F7F3E6;
	border-radius: 20px;
}
.th-cta-body { flex: 1 1 auto; min-width: 0; }
.th-cta-kicker { display: block; margin-bottom: 8px; font-size: 12px; letter-spacing: 3px; color: #4A5977; }
.th-cta-tour .th-cta-title { margin: 0; font-size: 19px; line-height: 1.6; letter-spacing: 1px; color: #413423; }
.th-cta-line .th-cta-title { margin: 0; font-size: 24px; font-weight: 300; line-height: 1.5; letter-spacing: 1.8px; color: #413423; }

.th-cta-tour .th-cta-btn,
.th-cta-line .th-cta-btn,
.th-cta-tour .th-cta-btn:visited,
.th-cta-line .th-cta-btn:visited {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 28px;
	border: 0;
	border-radius: var(--th-btn-radius, 999px);
	background: #4A5977;
	color: #FFFFFF;
	font-size: 15px;
	letter-spacing: 1.5px;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color .25s ease;
}
.th-cta-tour .th-cta-btn:hover,
.th-cta-line .th-cta-btn:hover,
.th-cta-tour .th-cta-btn:focus-visible,
.th-cta-line .th-cta-btn:focus-visible { background: #3C4963; color: #FFFFFF; }
.th-cta-tour .th-cta-btn:focus-visible,
.th-cta-line .th-cta-btn:focus-visible { outline: 2px solid #4A5977; outline-offset: 2px; }

@media (max-width: 767px) {
	.th-cta-tour { flex-direction: column; align-items: stretch; gap: 14px; margin-top: 36px; padding: 24px; }
	.th-cta-tour .th-cta-title { font-size: 17px; }
	.th-cta-line { flex-direction: column; align-items: stretch; gap: 18px; padding: 32px 24px; text-align: center; }
	.th-cta-line .th-cta-title { font-size: 19px; letter-spacing: 1.2px; }
	.th-cta-tour .th-cta-btn,
	.th-cta-line .th-cta-btn { display: flex; }
}


/* ==========================================================
   6. 麵包屑 [th_breadcrumb]
   ========================================================== */
/* 列表頁標題 [th_archive_title]（tag="h1" 直接輸出時的樣式；放進 Heading 元件的動態標籤時用元件自己的樣式） */
.th-archive-title {
	margin: 0;
	font-family: 'Lato', 'Noto Sans TC', sans-serif;
	font-size: 38px;
	font-weight: 300;
	line-height: 1.7;
	letter-spacing: 2px;
	color: #1E1E1E;
}
@media (max-width: 767px) {
	.th-archive-title { font-size: 28px; line-height: 1.5; letter-spacing: 1.5px; }
}

.th-crumb { font-size: 13px; line-height: 1.7; letter-spacing: .8px; color: #6F695D; }
.th-crumb ol {
	display: flex;
	flex-wrap: nowrap;   /* 維持單行；最後一層（標題）太長時以刪節號收尾 */
	align-items: center;
	overflow: hidden;
	margin: 0;
	padding: 0;
	list-style: none;
}
.th-crumb ol li {
	display: inline-flex;
	align-items: center;
	flex: none;
	margin: 0;
	padding: 0;
	list-style: none;
}
.th-crumb ol li:last-child { flex: 0 1 auto; min-width: 0; }
.th-crumb ol li + li::before { content: "/"; margin: 0 10px; color: #CDAE87; }
.th-crumb ol li a {
	color: #6F695D;
	text-decoration: none;
	transition: color .25s ease;
}
.th-crumb ol li a:hover,
.th-crumb ol li a:focus-visible {
	color: #413423;
	text-decoration: underline;
	text-decoration-color: #CDAE87;
	text-underline-offset: 4px;
}
.th-crumb ol li a:focus-visible { outline: 2px solid #4A5977; outline-offset: 2px; border-radius: 2px; }
/* 目前頁面（文章標題）：太長時以刪節號收尾，不把版面撐亂 */
.th-crumb ol li [aria-current] {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #413423;
}
@media (max-width: 767px) {
	.th-crumb { font-size: 12px; }
	.th-crumb ol li + li::before { margin: 0 8px; }
}


/* ============================================================
 * 7. 文章 meta 列：閱讀時間 [th_reading_time] ＋ 分享 [th_share]
 *    （和 Elementor 的發佈日期並排，建議放在同一個「橫向」容器）
 * ============================================================ */
.th-meta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.5;
	color: #6F695D;
	white-space: nowrap;
}
.th-meta svg {
	width: 16px;
	height: 16px;
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* 分享 */
.th-share { position: relative; }
.th-share > summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	cursor: pointer;
	color: #4A5977;
	font-weight: 500;
	border-radius: 6px;
	transition: color .25s ease;
}
.th-share > summary::-webkit-details-marker { display: none; }
.th-share > summary::marker { content: ""; }
.th-share > summary:hover,
.th-share[open] > summary {
	color: #3C4963;
	text-decoration: underline;
	text-decoration-color: #CDAE87;
	text-underline-offset: 4px;
}
.th-share > summary:focus-visible { outline: 2px solid #4A5977; outline-offset: 3px; }

.th-share-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	z-index: 30;
	min-width: 168px;
	padding: 8px;
	background: #fff;
	border: 1px solid rgba(65, 52, 35, .12);
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(65, 52, 35, .14);
	display: flex;
	flex-direction: column;
	white-space: normal;
}
.th-share.is-right .th-share-menu { left: auto; right: 0; }
.th-share-menu a,
.th-share-menu .th-share-copy {
	all: unset;
	box-sizing: border-box;
	display: block;
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.4;
	color: #413423;
	cursor: pointer;
	transition: background .2s ease;
}
.th-share-menu a:hover,
.th-share-menu .th-share-copy:hover { background: #F7F3E6; }
.th-share-menu a:focus-visible,
.th-share-menu .th-share-copy:focus-visible { outline: 2px solid #4A5977; outline-offset: -2px; }
.th-share-menu .th-share-copy[hidden] { display: none; }
.th-share-status {
	display: block;
	padding: 0 14px;
	font-size: 13px;
	color: #4A5977;
}
.th-share-status:not(:empty) { padding: 10px 14px; }

@media (max-width: 767px) {
	.th-meta { font-size: 13px; }
	.th-share-menu { min-width: 156px; }
}
@media (prefers-reduced-motion: reduce) {
	.th-share > summary, .th-share-menu a, .th-share-menu .th-share-copy { transition: none; }
}

/* ============================================================
 * 8. 上一篇／下一篇（Elementor Pro「Post Navigation」小工具）
 *    使用：小工具 > 進階 > CSS 類別 填入  th-postnav
 *    小工具「樣式」分頁請保持預設，不要另外調顏色／字級，否則會蓋過這裡
 * ============================================================ */
.th-postnav.th-postnav .elementor-post-navigation {
	display: flex;
	gap: 20px;
	overflow: visible;
	padding: 0;
	border: 0;
}
/* 中間分隔線不需要 */
.th-postnav.th-postnav .elementor-post-navigation__separator-wrapper { display: none; }

.th-postnav.th-postnav .elementor-post-navigation__link {
	display: flex;
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	overflow: visible;
	white-space: normal;
}
/* 沒有上一篇或下一篇時，空的那格保留位置，另一張卡片維持半寬 */
.th-postnav.th-postnav .elementor-post-navigation__link a {
	flex: 1 1 auto;
	min-width: 0;
	box-sizing: border-box;
	align-items: center;
	gap: 14px;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid #EBE7D0;
	border-radius: 20px;
	text-decoration: none;
	transition: border-color .25s ease, background-color .25s ease;
}
.th-postnav.th-postnav .elementor-post-navigation__link a:hover,
.th-postnav.th-postnav .elementor-post-navigation__link a:focus-visible {
	border-color: #CDAE87;
	background: #F7F3E6;
}
.th-postnav.th-postnav .elementor-post-navigation__link a:focus-visible {
	outline: 2px solid #4A5977;
	outline-offset: 3px;
}

/* 文字 */
.th-postnav.th-postnav .elementor-post-navigation__link__prev,
.th-postnav.th-postnav .elementor-post-navigation__link__next {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	overflow: visible;
}
.th-postnav.th-postnav .post-navigation__prev--label,
.th-postnav.th-postnav .post-navigation__next--label {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: none;
	line-height: 1.5;
	color: #6F695D;
}
.th-postnav.th-postnav .post-navigation__prev--title,
.th-postnav.th-postnav .post-navigation__next--title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	white-space: normal;
	font-size: 15px;
	line-height: 1.7;
	color: #413423;
	transition: color .25s ease;
}
.th-postnav.th-postnav .elementor-post-navigation__link a:hover .post-navigation__prev--title,
.th-postnav.th-postnav .elementor-post-navigation__link a:hover .post-navigation__next--title {
	color: #4A5977;
}

/* 箭頭 */
.th-postnav.th-postnav .post-navigation__arrow-wrapper {
	flex: none;
	font-size: 18px;
	color: #CDAE87;
	fill: #CDAE87;
	transition: transform .25s ease;
}
.th-postnav.th-postnav .post-navigation__arrow-wrapper i { transform: none; }
.th-postnav.th-postnav .elementor-post-navigation__link a:hover .post-navigation__arrow-prev { transform: translateX(-3px); }
.th-postnav.th-postnav .elementor-post-navigation__link a:hover .post-navigation__arrow-next { transform: translateX(3px); }

@media (max-width: 767px) {
	.th-postnav.th-postnav .elementor-post-navigation { gap: 12px; }
	.th-postnav.th-postnav .elementor-post-navigation__link a { padding: 16px; }
	.th-postnav.th-postnav .post-navigation__arrow-wrapper { display: none; }
	.th-postnav.th-postnav .post-navigation__prev--label,
	.th-postnav.th-postnav .post-navigation__next--label { font-size: 11px; letter-spacing: 1.5px; }
	.th-postnav.th-postnav .post-navigation__prev--title,
	.th-postnav.th-postnav .post-navigation__next--title { font-size: 14px; line-height: 1.6; -webkit-line-clamp: 3; }
}
@media (prefers-reduced-motion: reduce) {
	.th-postnav.th-postnav .elementor-post-navigation__link a,
	.th-postnav.th-postnav .post-navigation__arrow-wrapper,
	.th-postnav.th-postnav .post-navigation__prev--title,
	.th-postnav.th-postnav .post-navigation__next--title { transition: none; }
	.th-postnav.th-postnav .elementor-post-navigation__link a:hover .post-navigation__arrow-prev,
	.th-postnav.th-postnav .elementor-post-navigation__link a:hover .post-navigation__arrow-next { transform: none; }
}


/* ============================================================
 * 9. 文末列 [th_post_foot]：文章標籤＋分享文章
 * ============================================================ */
.th-post-foot {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	column-gap: 24px;
	row-gap: 16px;
	padding-top: 32px;
	border-top: 1px solid #EBE7D0;
}
.th-post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}
.th-post-tag {
	display: inline-block;
	padding: 5px 14px;
	background: #fff;
	border: 1px solid #EBE7D0;
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: .6px;
	color: #413423;
	text-decoration: none;
	transition: border-color .25s ease, background-color .25s ease;
}
.th-post-tag:hover,
.th-post-tag:focus-visible {
	border-color: #CDAE87;
	background: #F7F3E6;
	color: #413423;
}
.th-post-tag:focus-visible { outline: 2px solid #4A5977; outline-offset: 2px; }
/* 分享固定靠右；沒有標籤時也靠右 */
.th-post-foot .th-share { margin-left: auto; letter-spacing: .8px; }  /* 右欄靠右 */
.th-post-foot .th-share > summary { min-height: 33px; padding: 0; box-sizing: border-box; }  /* 與標籤膠囊同高，文字中線對齊 */
.th-post-foot .th-share-menu { top: calc(100% + 8px); }
@media (max-width: 767px) {
	/* 手機：上下排，標籤在上、分享在下並靠左 */
	.th-post-foot { grid-template-columns: minmax(0, 1fr); padding-top: 24px; }
	.th-post-foot .th-share { margin-left: 0; justify-self: start; }
	.th-post-tag { padding: 6px 14px; }
}
@media (prefers-reduced-motion: reduce) { .th-post-tag { transition: none; } }

/* ============================================================
 * 10. 文章總覽頁（分類頁、文章列表頁）
 *     [th_cat_filter] 分類篩選列、[th_post_count] 共 N 篇、Loop 分頁
 * ============================================================ */

/* ---- 篩選列：[th_cat_filter with_count="1"] 的整條外框 ---- */
.th-filter-bar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 28px;
	border-bottom: 1px solid #EBE7D0;
}
.th-filter {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	flex: 1 1 auto;
}
.th-filter .th-filter-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.th-filter .th-filter-list li { margin: 0; padding: 0; list-style: none; }

/* 膠囊（寫兩層 class 贏過 Elementor 的連結樣式） */
.th-filter .th-pill.th-pill {
	display: inline-flex;
	align-items: center;
	padding: 9px 20px;
	background: #fff;
	border: 1px solid #EBE7D0;
	border-radius: 999px;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: .8px;
	color: #413423;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}
.th-filter .th-pill.th-pill:hover {
	border-color: #CDAE87;
	background: #F7F3E6;
	color: #413423;
}
.th-filter .th-pill.th-pill:focus-visible { outline: 2px solid #4A5977; outline-offset: 2px; }
.th-filter .th-pill.th-pill.is-active {
	background: #4A5977;
	border-color: #4A5977;
	color: #fff;
}
/* 路徑上的上層分類（目前在它底下）：米色底＋駝色邊，和「目前所在」的實心藍灰分開 */
.th-filter .th-pill.th-pill.is-trail {
	background: #F7F3E6;
	border-color: #CDAE87;
	color: #413423;
}

/* 第二排：第二層、第三層同一排。開頭有「└」，第三層前面有「›」 */
.th-filter .th-filter-sub { align-items: center; }
.th-filter .th-filter-sub::before {
	content: "\2514";            /* └ */
	flex: none;
	padding: 0 2px 0 14px;
	font-size: 16px;
	line-height: 1;
	color: #CDAE87;
}
.th-filter .th-filter-sub .th-pill.th-pill { padding: 6px 16px; font-size: 13px; }
.th-filter .th-filter-sep {
	flex: none;
	margin: 0 -2px;
	font-size: 18px;
	line-height: 1;
	color: #CDAE87;
}
.th-filter .th-filter-sub .th-pill.th-pill.th-pill--l3 { padding: 5px 14px; font-size: 12.5px; background: #FBF9F1; }
.th-filter .th-filter-sub .th-pill.th-pill.th-pill--l3:hover { background: #F7F3E6; }
.th-filter .th-filter-sub .th-pill.th-pill.th-pill--l3.is-active { background: #4A5977; }

/* 共 N 篇 */
.th-count {
	padding-top: 9px;            /* 和第一排膠囊的文字對齊 */
	font-size: 14px;
	letter-spacing: .8px;
	color: #6F695D;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.th-filter-bar { flex-direction: column; align-items: stretch; gap: 14px; padding-bottom: 20px; }
	.th-filter-bar .th-count { padding-top: 0; }
	/* 手機：分類膠囊不換行，左右滑動 */
	.th-filter .th-filter-list {
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 8px;
		padding-bottom: 2px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.th-filter .th-filter-list::-webkit-scrollbar { display: none; }
	.th-filter .th-pill.th-pill { padding: 9px 18px; flex: none; }
	.th-filter .th-filter-sub .th-pill.th-pill { padding: 6px 14px; }
	.th-filter .th-filter-sub .th-pill.th-pill.th-pill--l3 { padding: 5px 12px; }
	.th-filter .th-filter-sub::before { padding-left: 4px; }
}

/* ---- Loop 分頁（Elementor Pro Loop Grid 的 Pagination，也相容 WordPress 內建分頁） ----
   Elementor「分頁」設定保持預設，不要在樣式分頁另外調顏色／字級，否則會蓋過這裡 */
.elementor-pagination,
.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 64px;
	text-align: center;
}
.elementor-pagination .page-numbers.page-numbers,
.navigation.pagination .page-numbers.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 44px;
	height: 44px;
	margin: 0;
	padding: 0 6px;
	background: #fff;
	border: 1px solid #EBE7D0;
	border-radius: 999px;
	font-size: 15px;
	line-height: 1;
	letter-spacing: .5px;
	color: #413423;
	text-decoration: none;
	transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}
.elementor-pagination a.page-numbers.page-numbers:hover,
.navigation.pagination a.page-numbers.page-numbers:hover {
	border-color: #CDAE87;
	background: #F7F3E6;
	color: #413423;
}
.elementor-pagination a.page-numbers.page-numbers:focus-visible,
.navigation.pagination a.page-numbers.page-numbers:focus-visible {
	outline: 2px solid #4A5977;
	outline-offset: 2px;
}
/* 目前頁 */
.elementor-pagination .page-numbers.page-numbers.current,
.navigation.pagination .page-numbers.page-numbers.current {
	background: #4A5977;
	border-color: #4A5977;
	color: #fff;
}
/* 「…」不要框 */
.elementor-pagination .page-numbers.page-numbers.dots,
.navigation.pagination .page-numbers.page-numbers.dots {
	min-width: 0;
	padding: 0 4px;
	background: transparent;
	border-color: transparent;
	color: #6F695D;
}
/* 上一頁／下一頁：文字較長，用膠囊 */
.elementor-pagination .page-numbers.page-numbers.prev,
.elementor-pagination .page-numbers.page-numbers.next,
.navigation.pagination .page-numbers.page-numbers.prev,
.navigation.pagination .page-numbers.page-numbers.next {
	padding: 0 20px;
	font-size: 14px;
	letter-spacing: 1px;
	color: #4A5977;
}

@media (max-width: 767px) {
	.elementor-pagination,
	.navigation.pagination .nav-links { gap: 8px; margin-top: 48px; }
	.elementor-pagination .page-numbers.page-numbers,
	.navigation.pagination .page-numbers.page-numbers { min-width: 40px; height: 40px; font-size: 14px; }
	.elementor-pagination .page-numbers.page-numbers.prev,
	.elementor-pagination .page-numbers.page-numbers.next,
	.navigation.pagination .page-numbers.page-numbers.prev,
	.navigation.pagination .page-numbers.page-numbers.next {
		min-width: 40px;
		padding: 0;
		font-size: 0;            /* 手機隱藏文字，改用箭頭，才排得進一行 */
	}
	.elementor-pagination .page-numbers.prev::before,
	.navigation.pagination .page-numbers.prev::before { content: "\2039"; font-size: 22px; line-height: 1; }
	.elementor-pagination .page-numbers.next::before,
	.navigation.pagination .page-numbers.next::before { content: "\203A"; font-size: 22px; line-height: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.th-filter .th-pill.th-pill,
	.elementor-pagination .page-numbers.page-numbers,
	.navigation.pagination .page-numbers.page-numbers { transition: none; }
}/* End custom CSS */