/*
Theme Name: TaiwanHair 2026
Theme URI: https://www.taiwanhair.com.tw/
Author: 萌髮植髮診所
Description: 萌髮植髮診所 2026 新版自製主題。深藍/金/米白設計語言,Header 與 Footer 強調 ABHRS 認證、FISHRS 院士與 21 年經驗。
Version: 0.1.0
Requires PHP: 8.2
Text Domain: taiwanhair-2026
*/

/* ===== Design tokens ===== */
:root {
  --c-primary: #1a365d;
  --c-primary-dark: #0f2440;
  --c-primary-light: #2a4a7f;
  --c-gold: #c8a35f;
  --c-gold-light: #dbb878;
  --c-gold-dark: #7d6118;
  --c-brand-brown: #6b5847;
  --c-mark-gold: #d9b96f;
  --c-ivory: #f7f5f0;
  --c-footer-bg: #1a1a2e;
  --c-text: #2d3748;
  --c-text-light: #566573;
  --c-line: #ece7dc;
  --font-sans: "Noto Sans TC", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif: "Noto Serif TC", "Noto Sans TC", serif;
}

/* ===== Base ===== */
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--c-text);
  background: #fff;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--c-gold-dark); text-decoration: none; }
a:hover { color: var(--c-gold); }
h1, h2, h3, h4 { font-family: var(--font-serif); color: var(--c-primary); line-height: 1.35; }
.wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 999px; font-weight: 700; cursor: pointer; transition: all .25s;
  min-height: 44px; padding: 12px 28px; font-size: 16px; border: 0;
}
.btn-gold-dark { background: var(--c-gold-dark); color: #fff; }
.btn-gold-dark:hover { background: #8a6a24; color: #fff; }
.btn-gold { background: var(--c-gold); color: var(--c-primary-dark); box-shadow: 0 8px 24px rgba(200,163,95,.35); }
.btn-gold:hover { background: var(--c-gold-light); color: var(--c-primary-dark); }
.btn-outline-navy { border: 1.5px solid var(--c-primary); color: var(--c-primary); background: transparent; }
.btn-outline-navy:hover { background: var(--c-primary); color: #fff; }
.btn-ghost-white { border: 1px solid rgba(255,255,255,.45); color: #fff; background: transparent; }
.btn-ghost-white:hover { border-color: #fff; color: #fff; }
.icon { width: 1.15em; height: 1.15em; flex: none; }

/* ===== Credential top band ===== */
.cred-band {
  position: sticky; top: 0; z-index: 120;
  display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap;
  background: var(--c-primary-dark); padding: 9px 16px;
}
.cred-band span { font-size: 13px; letter-spacing: .05em; color: var(--c-gold-light); font-weight: 500; display: inline-flex; align-items: center; gap: 7px; }
.cred-band .sep { width: 1px; height: 14px; background: rgba(219,184,120,.35); padding: 0; }

/* ===== Header(白底,固定於認證帶下方,縮小高度) ===== */
.site-header { position: sticky; top: 41px; z-index: 100; background: #fff; border-bottom: 1px solid var(--c-line); }
.site-header .bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 90px; transition: height .25s ease; }
body.th-scrolled .site-header .bar { height: 60px; }
.brand-group { display: flex; align-items: center; gap: 18px; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { height: 56px; width: auto; transition: height .25s ease; }
body.th-scrolled .brand-mark { height: 40px; }
.brand-text { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; }
.brand-name { font-family: var(--font-serif); font-size: 26px; font-weight: 700; letter-spacing: .08em; margin-right: -.08em; color: var(--c-brand-brown); line-height: 1.2; transition: font-size .25s ease; }
body.th-scrolled .brand-name { font-size: 20px; }
.brand-sub { font-size: 10px; letter-spacing: .16em; color: var(--c-brand-brown); font-weight: 500; white-space: nowrap; transition: font-size .25s ease; }
body.th-scrolled .brand-sub { font-size: 7.5px; }
.main-nav .nav-list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.main-nav li { position: relative; }
.main-nav a { display: block; padding: 10px 11px; font-size: 15px; font-weight: 500; color: var(--c-text); border-radius: 8px; white-space: nowrap; }
.main-nav a:hover { color: var(--c-primary); background: rgba(26,54,93,.05); }
.main-nav .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; background: #fff; list-style: none; margin: 0; padding: 8px; border: 1px solid var(--c-line); border-radius: 12px; box-shadow: 0 14px 30px rgba(26,54,93,.12); }
.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display: block; }
.main-nav .sub-menu a { font-size: 14px; padding: 10px 12px; white-space: normal; color: var(--c-text); }
.main-nav .sub-menu a:hover { color: var(--c-primary); background: rgba(26,54,93,.05); }
.header-cert { height: 56px; width: auto; transition: height .25s ease; }
body.th-scrolled .header-cert { height: 42px; }
.menu-toggle { display: none; background: none; border: 0; padding: 10px; cursor: pointer; color: var(--c-primary); }

/* ===== Hero ===== */
.hero { background: linear-gradient(115deg, var(--c-primary-dark) 0%, var(--c-primary) 55%, var(--c-primary-light) 100%); color: #fff; padding: 88px 0 72px; }
.hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.eyebrow { display: flex; align-items: center; gap: 12px; font-size: 14px; letter-spacing: .22em; color: var(--c-gold-light); font-weight: 500; }
.eyebrow::before { content: ""; width: 36px; height: 1px; background: var(--c-gold-light); }
.hero h1 { font-size: 48px; color: #fff; margin: 18px 0; }
.hero-cred { font-size: 16px; letter-spacing: .06em; color: var(--c-gold-light); font-weight: 500; margin-bottom: 14px; }
.hero-desc { font-size: 16px; color: rgba(255,255,255,.78); max-width: 540px; margin-bottom: 28px; }
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.hero-media img { border-radius: 16px; display: block; width: 100%; object-fit: cover; }

/* ===== Hero(現站背景圖版,文字區用新設計) =====
   下列 body 前綴為覆寫 hero.css(自外掛移植,載入順序在本檔之後)所需 */
body .th-hero, body .th-announcement-bar { width: 100%; margin-left: 0; }
body .th-hero { font-family: var(--font-sans); }
/* 分割式頁面 hero(米白卡片、左文右圖;版型參考 m-bald 頁,配色轉為主題色系) */
.th-pagehero-split { padding: 28px 0 8px; background: #fff; }
.th-pgs-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: center; background: linear-gradient(135deg, #f7f5f0 0%, #fdfbf6 100%); border: 1px solid var(--c-line); border-radius: 26px; padding: clamp(30px, 5vw, 64px); }
.th-pgs-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .2em; color: var(--c-gold-dark); margin: 0 0 12px; }
.th-pgs-copy h1 { font-size: clamp(34px, 4.6vw, 52px); letter-spacing: .02em; margin: 0 0 18px; }
.th-pgs-lead { font-size: 16.5px; line-height: 1.9; color: var(--c-text); margin: 0 0 6px; }
.th-pgs-pills { display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0 14px; }
.th-pgs-pills span { background: #fff; border: 1px solid var(--c-gold); border-radius: 999px; padding: 7px 14px; font-size: 13px; font-weight: 700; color: var(--c-primary); }
.th-pgs-note { font-size: 13px; color: var(--c-text-light); margin: 0; }
.th-pgs-media { margin: 0; }
.th-pgs-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; box-shadow: 0 20px 50px rgba(26,54,93,.14); }

.th-hero--page { min-height: 0; }
.th-hero--page .th-hero-content { padding: 72px 24px; }
.th-hero--page .th-hero-text h1 { font-size: 38px; line-height: 1.4; }
.th-hero-text .eyebrow { color: var(--c-gold-light); }
.th-hero-text .eyebrow::before { background: var(--c-gold-light); }
.th-hero-text h1 { font-family: var(--font-serif); font-size: 48px; line-height: 1.25; color: #fff; margin: 18px 0; }
.th-hero-text .hero-actions { margin-top: 24px; }

/* ===== Stats bar ===== */
.stats { background: var(--c-primary-dark); border-top: 1px solid rgba(219,184,120,.25); color: #fff; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 26px 12px; text-align: center; border-right: 1px solid rgba(255,255,255,.08); }
.stat:last-child { border-right: 0; }
.stat b { font-size: 18px; }
.stat .num { font-size: 30px; font-weight: 700; color: var(--c-gold); font-variant-numeric: tabular-nums; }
.stat small { font-size: 12px; color: rgba(255,255,255,.55); }

/* ===== 頁內導覽(hero 下方,樣式參考 mle.com.tw 的 sticky jump links) ===== */
html { scroll-behavior: smooth; }
.th-anchornav { position: sticky; top: 102px; z-index: 90; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--c-line); backdrop-filter: blur(6px); }
.th-anchornav ol { display: flex; gap: 36px; list-style: none; margin: 0; padding: 0; overflow-x: auto; counter-reset: anchornav; -webkit-overflow-scrolling: touch; }
.th-anchornav li { flex: 0 0 auto; counter-increment: anchornav; }
.th-anchornav a { display: flex; align-items: baseline; gap: 7px; padding: 15px 0; font-size: 15px; font-weight: 600; color: var(--c-text-light); border-bottom: 2px solid transparent; white-space: nowrap; }
.th-anchornav a::before { content: counter(anchornav) "."; font-family: var(--font-serif); font-weight: 700; color: var(--c-gold); }
.th-anchornav a:hover, .th-anchornav a.is-active { color: var(--c-primary); border-color: var(--c-gold); }
section[id], .ez-toc-section, [id^="info"], [id^="fue-"], .th-has-page-hero .mht-section { scroll-margin-top: 168px; }
.th-has-page-hero #ez-toc-container, .th-has-page-hero .mht-toc { display: none; }
/* ===== M型禿頁(mht)內容:統一為主題文章格式(原自帶樣式表已於渲染時移除) ===== */
.mht-page { color: var(--c-text); font-size: 16.5px; line-height: 1.85; }
.mht-page h2 { text-align: center; }
.th-has-page-hero .entry-content .mht-page h2 { border-left: 0; padding-left: 0; }
.mht-page h3 { font-size: 20px; }
.mht-kicker, .mht-eyebrow { display: none; }
.th-has-page-hero .entry-content .mht-cta h2::before { content: none; }
.mht-cta h2 { margin-top: 0; }
.mht-section { padding: 8px 0 26px; border: 0; }
.mht-snapshot { background: #faf8f4; border: 1px solid var(--c-line); border-radius: 14px; padding: 26px 30px 18px; margin: 34px 0; }
.mht-snapshot h2, .th-has-page-hero .entry-content .mht-snapshot h2 { font-size: 24px; margin: 0 0 6px; text-align: center; border-left: 0; padding-left: 0; }
.th-has-page-hero .entry-content .mht-snapshot h2::before { content: none; }
.th-has-page-hero .entry-content .mht-snapshot h2::after { content: ""; display: block; width: 48px; height: 3px; background: var(--c-gold); border-radius: 2px; margin: 12px auto 0; }
.mht-snapshot__grid { list-style: none; margin: 14px 0 0; padding: 0; }
.mht-snapshot__grid li { position: relative; padding: 5px 0 5px 20px; }
.mht-snapshot__grid li::before { content: ""; position: absolute; left: 2px; top: 16px; width: 7px; height: 7px; border-radius: 50%; background: var(--c-gold); }
.mht-snapshot__grid strong { color: var(--c-primary); margin-right: .5em; }
.mht-snapshot__grid span { color: var(--c-text-light); font-size: 15px; }
.mht-callout { background: var(--c-ivory); border-left: 4px solid var(--c-gold); border-radius: 0 12px 12px 0; padding: 18px 24px; margin: 26px auto; max-width: 900px; }
.mht-columns { display: block; }
.mht-columns > * { margin-bottom: 18px; }
.mht-table-wrap { overflow-x: auto; margin: 24px 0; }
.mht-page table { width: 100%; min-width: 560px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--c-line); border-radius: 12px; overflow: hidden; background: #fff; }
.th-has-page-hero .entry-content .mht-page th { background: var(--c-primary); color: #fff; padding: 12px 16px; font-size: 14.5px; text-align: left; border: 0; }
.th-has-page-hero .entry-content .mht-page td { padding: 12px 16px; font-size: 14.5px; border: 0; border-top: 1px solid var(--c-line); background: #fff; }
.mht-page tbody tr:nth-child(even) td { background: #fbfaf7; }
.mht-timeline, .mht-risk-grid { list-style: none; margin: 22px 0; padding: 0; display: grid; gap: 12px; }
.mht-risk-grid { grid-template-columns: repeat(2, 1fr); }
.mht-timeline > li, .mht-risk-grid > li, .mht-panel { background: #fff; border: 1px solid var(--c-line); border-radius: 12px; padding: 16px 20px; }
.mht-feature figure { margin: 18px 0; }
.mht-feature figure img { width: 100%; height: auto; border-radius: 12px; }
.mht-timeline strong, .mht-risk-grid strong, .mht-panel strong { color: var(--c-primary); }
.mht-equation { background: #faf8f4; border: 1px solid var(--c-line); border-radius: 12px; padding: 18px 22px; text-align: center; margin: 22px 0; }
.mht-case-card { background: #fff; border: 1px solid var(--c-line); border-radius: 14px; padding: 24px 26px; margin: 24px 0; }
.mht-case-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 16px 0; }
.mht-case-gallery img { width: 100%; height: auto; border-radius: 10px; }
.mht-compare { max-width: 620px; margin: 22px auto; }
.mht-compare__viewport { position: relative; border-radius: 12px; overflow: hidden; user-select: none; }
.mht-compare__viewport img { display: block; width: 100%; height: auto; }
.mht-compare__before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--compare-position, 50%)) 0 0); }
.mht-compare__label { position: absolute; bottom: 12px; padding: 5px 12px; background: rgba(20,20,20,.75); color: #fff; font-size: 12px; font-weight: 600; border-radius: 4px; pointer-events: none; z-index: 2; }
.mht-compare__label--before { left: 12px; }
.mht-compare__label--after { right: 12px; }
.mht-compare__line { position: absolute; top: 0; bottom: 0; left: var(--compare-position, 50%); width: 2px; margin-left: -1px; background: #fff; box-shadow: 0 0 6px rgba(0,0,0,.35); pointer-events: none; }
.mht-compare__line span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; background: rgba(0,0,0,.25); color: #fff; display: flex; align-items: center; justify-content: center; }
.mht-compare__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; touch-action: none; z-index: 3; }
.mht-compare__help { text-align: center; font-size: 12.5px; color: var(--c-text-light); margin-top: 8px; }
.mht-faqs { display: flex; flex-direction: column; gap: 12px; margin: 22px 0; }
.mht-faq { border: 1px solid var(--c-line); border-radius: 12px; background: #fdfcfa; }
.mht-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 22px; font-size: 16px; font-weight: 700; color: var(--c-primary); min-height: 44px; }
.mht-faq summary::-webkit-details-marker { display: none; }
.mht-faq summary::after { content: "\2304"; color: var(--c-gold); font-size: 18px; line-height: 1; transition: transform .2s; }
.mht-faq[open] summary::after { transform: rotate(180deg); }
.mht-faq > *:not(summary) { padding: 0 22px 16px; color: var(--c-text-light); font-size: 15px; margin: 0; }
.mht-cta { text-align: center; background: #faf8f4; border: 1px solid var(--c-line); border-radius: 14px; padding: 28px; margin: 30px 0; }
.mht-button { display: inline-flex; align-items: center; gap: 8px; background: var(--c-gold-dark); color: #fff !important; border-radius: 999px; padding: 13px 28px; font-weight: 700; min-height: 44px; }
.mht-button:hover { background: #8a6a24; }
.mht-disclaimer, .mht-source-line, .mht-note { font-size: 13px; color: var(--c-text-light); }
/* 誰適合評估:兩組對照卡 */
.mbc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.mbc-panel { border-radius: 14px; padding: 22px 24px; border: 1px solid; }
.mbc-panel--go { background: rgba(46,133,85,.06); border-color: rgba(46,133,85,.3); }
.mbc-panel--wait { background: rgba(192,86,33,.05); border-color: rgba(192,86,33,.28); }
.mbc-panel h3 { display: flex; align-items: center; gap: 8px; font-size: 17px; margin: 0 0 12px; }
.mbc-panel--go h3 { color: #2e8555; }
.mbc-panel--wait h3 { color: #c05621; }
.mbc-panel h3 svg { width: 20px; height: 20px; flex: none; }
.mbc-panel ul { list-style: none; margin: 0; padding: 0; }
.mbc-panel li { position: relative; padding: 5px 0 5px 18px; font-size: 15px; line-height: 1.8; color: var(--c-text); }
.mbc-panel--go li::before, .mbc-panel--wait li::before { content: ""; position: absolute; left: 0; top: 15px; width: 7px; height: 7px; border-radius: 50%; }
.mbc-panel--go li::before { background: #2e8555; }
.mbc-panel--wait li::before { background: #c05621; }

@media (max-width: 640px) {
	.mht-risk-grid { grid-template-columns: 1fr; }
	.mbc-grid { grid-template-columns: 1fr; }
}

/* 100vw 滿版元素比視窗多一個捲軸寬;全站裁掉水平溢位(clip 不影響 sticky) */
html { overflow-x: clip; }
/* mht 自製視覺頁內的建議區樣式修正(蓋過 mht 的 h3/p 規則) */
.mht-page .fw-advice h3 { font-family: var(--font-sans); font-size: 19px; color: var(--c-primary); margin: 0; letter-spacing: 0; }
.mht-page .fw-advice p { font-size: 15px; line-height: 1.9; color: var(--c-text-light); margin: 0 0 12px; }
.mht-page .fw-advice { margin: 0 0 40px; }

/* ===== 診所摘要句(answer-ready,導覽下方) ===== */
.intro-brief { background: #fff; border-bottom: 1px solid var(--c-line); padding: 26px 0; }
.intro-brief p { max-width: 920px; margin: 0 auto; text-align: center; font-size: 15px; line-height: 1.95; color: var(--c-text-light); }

/* ===== 術式比較表 ===== */
.cmp-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cmp-table { width: 100%; min-width: 820px; border-collapse: separate; border-spacing: 0; border: 1px solid var(--c-line); border-radius: 14px; overflow: hidden; }
.cmp-table thead th { background: var(--c-primary); color: #fff; padding: 15px 18px; font-size: 15px; font-weight: 700; text-align: left; }
.cmp-table thead th:first-child { background: var(--c-primary-dark); }
.cmp-table tbody th { background: var(--c-ivory); color: var(--c-primary); font-weight: 700; font-size: 14.5px; padding: 13px 18px; text-align: left; white-space: nowrap; border-top: 1px solid var(--c-line); vertical-align: top; }
.cmp-table tbody td { padding: 13px 18px; font-size: 14.5px; line-height: 1.75; color: var(--c-text); border-top: 1px solid var(--c-line); vertical-align: top; }
.cmp-table tbody tr:nth-child(even) td { background: #fbfaf7; }

/* ===== Sections ===== */
.section { padding: 84px 0; }
.section-ivory { background: var(--c-ivory); }
.section-navy { background: linear-gradient(115deg, var(--c-primary-dark) 0%, var(--c-primary) 100%); color: #fff; }
.section-head { text-align: center; margin-bottom: 44px; }
.section-head .kicker { font-size: 13px; letter-spacing: .24em; color: var(--c-gold); font-weight: 700; }
.section-head h2 { font-size: 34px; margin: 10px 0 8px; }
.section-navy .section-head h2 { color: #fff; }
.section-head p { color: var(--c-text-light); margin: 0; }
.section-navy .section-head p { color: rgba(255,255,255,.65); }

/* Services */
.cards-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.svc-card { background: #fff; border-radius: 14px; overflow: hidden; border-top: 3px solid var(--c-gold); box-shadow: 0 4px 20px rgba(26,54,93,.06); display: flex; flex-direction: column; }
.svc-media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--c-ivory); }
.svc-media > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.svc-body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.svc-card h3 { font-family: var(--font-sans); font-size: 20px; margin: 0; }
.svc-card p { font-size: 15px; color: var(--c-text-light); margin: 0; flex: 1; }
.svc-card .more { font-size: 14px; font-weight: 700; }

/* Before/After 對比滑桿 */
.th-ba { position: relative; width: 100%; height: 100%; user-select: none; }
.th-ba .th-ba-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.th-ba .th-ba-top { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.th-ba-divider { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: #fff; box-shadow: 0 0 6px rgba(0,0,0,.35); }
.th-ba-handle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; background: rgba(0,0,0,.25); backdrop-filter: blur(2px); color: #fff; display: flex; align-items: center; justify-content: center; }
.th-ba-label { position: absolute; bottom: 12px; padding: 5px 12px; background: rgba(20,20,20,.75); color: #fff; font-size: 12px; font-weight: 600; border-radius: 4px; letter-spacing: .04em; pointer-events: none; }
.th-ba-label-b { left: 12px; }
.th-ba-label-a { right: 12px; }
.th-ba-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; touch-action: none; }
.th-ba-range:focus-visible ~ .th-ba-divider .th-ba-handle,
.th-ba:has(.th-ba-range:focus-visible) .th-ba-handle { outline: 2px solid var(--c-gold); outline-offset: 2px; }

/* Doctor */
.doctor-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: center; }
.doctor-photo img { border-radius: 16px; display: block; width: 100%; }
.doctor-intro { font-size: 16px; line-height: 1.9; max-width: 600px; margin: 10px 0 4px; }
.doctor-list { list-style: none; padding: 0; margin: 18px 0; display: flex; flex-direction: column; gap: 12px; }
.doctor-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.75; max-width: 620px; }
.doctor-list .year-chip { flex: none; min-width: 58px; text-align: center; padding: 3px 10px; border: 1px solid var(--c-gold); border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--c-gold-dark); background: rgba(200,163,95,.08); margin-top: 2px; }
.doctor-note { font-size: 13px; line-height: 1.8; color: var(--c-text-light); max-width: 620px; border-left: 3px solid var(--c-line); padding-left: 14px; margin: 4px 0 20px; }
.doctor-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.doctor-ext { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; }

/* Process(首頁):深藍卡片格 */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.step { background: rgba(255,255,255,.05); border: 1px solid rgba(219,184,120,.3); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.step-media { aspect-ratio: 4 / 3; overflow: hidden; }
.step-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.step-body { padding: 22px 22px 26px; flex: 1; }
.step .no { font-family: var(--font-serif); font-size: 32px; font-weight: 700; color: var(--c-gold); display: block; line-height: 1; }
.step h3 { font-family: var(--font-sans); font-size: 18px; color: #fff; margin: 10px 0; }
.step p { font-size: 14px; color: rgba(255,255,255,.65); margin: 0; }

/* 時間軸格式(左圓形 STEP 徽章 + 連接線,右白卡;用於療程頁流程段) */
.tl-head { margin-bottom: 44px; }
.tl-head .kicker { font-size: 13px; letter-spacing: .24em; color: var(--c-gold); font-weight: 700; }
.tl-head h2 { font-size: 40px; margin: 10px 0 0; }
.tl { display: flex; flex-direction: column; gap: 36px; max-width: 1080px; }
.tl-item { display: grid; grid-template-columns: 96px 1fr; gap: 34px; position: relative; }
.tl-item::before { content: ""; position: absolute; left: 47px; top: 96px; bottom: -36px; width: 2px; background: var(--c-line); }
.tl-item:last-child::before { display: none; }
.tl-badge { position: relative; z-index: 1; width: 96px; height: 96px; border-radius: 50%; background: var(--c-primary); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; box-shadow: 0 6px 18px rgba(26,54,93,.22); }
.tl-badge small { font-size: 12px; letter-spacing: .14em; color: var(--c-gold-light); font-weight: 700; }
.tl-badge b { font-size: 30px; line-height: 1; font-family: var(--font-serif); }
.tl-card { background: #fff; border: 1px solid var(--c-line); border-radius: 16px; padding: 30px 34px; box-shadow: 0 6px 24px rgba(26,54,93,.07); display: flex; align-items: center; gap: 28px; }
.tl-card ul { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tl-card ul li { position: relative; padding-left: 20px; font-size: 14.5px; line-height: 1.75; color: var(--c-text); }
.tl-card ul li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--c-gold); }
.tl-card .tl-more { display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; }
/* 直排版時間軸:圖片整張全寬放在文字下方 */
.tl--stack .tl-card { flex-direction: column; align-items: stretch; gap: 20px; }
.tl--stack .tl-card .tl-thumb { width: 100% !important; max-width: 100%; height: auto !important; aspect-ratio: auto; border-radius: 12px; }
.tl-badge--sub b { font-size: 20px; }
.tl-text { flex: 1; }
.tl-card h3 { font-family: var(--font-sans); font-size: 20px; color: var(--c-primary); margin: 0 0 10px; }
.tl-card p { font-size: 15.5px; line-height: 1.9; color: var(--c-text-light); margin: 0; }
.tl-card .tl-thumb { width: 200px !important; height: 150px !important; max-width: 200px; object-fit: cover; border-radius: 12px; flex: none; }

/* Articles */
.post-card { background: #fff; border: 1px solid var(--c-line); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 20px rgba(26,54,93,.06); display: flex; flex-direction: column; transition: box-shadow .25s, transform .25s; }
.post-card:hover { box-shadow: 0 12px 30px rgba(26,54,93,.13); transform: translateY(-3px); }
.post-card:hover h3 a { color: var(--c-gold-dark); }
.post-card-date { font-size: 12.5px; color: var(--c-text-light); }
.post-card .thumb { display: block; aspect-ratio: 16/9; background: linear-gradient(160deg, #ece7dc, #ddd4c2); }
.post-card .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card .body { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.post-card .cat { font-size: 12px; letter-spacing: .08em; color: var(--c-gold); font-weight: 700; }
.post-card h3 { font-family: var(--font-sans); font-size: 18px; margin: 0; }
.post-card h3 a { color: var(--c-primary); }
.post-card p { font-size: 14px; color: var(--c-text-light); margin: 0; flex: 1; }
.articles-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; }
.articles-head .section-head { text-align: left; margin: 0; }

/* FAQ */
.faq { max-width: 880px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.faq details { border: 1px solid var(--c-line); border-radius: 12px; background: #fff; }
.faq details[open] { border-color: var(--c-gold); }
.faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 26px; font-size: 17px; font-weight: 700; color: var(--c-primary); min-height: 44px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "\2304"; color: var(--c-gold); font-size: 20px; line-height: 1; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(180deg); }
.faq .answer { padding: 0 26px 22px; font-size: 15px; color: var(--c-text-light); }

/* CTA band */
.cta-band { background: linear-gradient(115deg, var(--c-primary) 0%, var(--c-primary-light) 100%); color: #fff; padding: 64px 0; }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.cta-text { max-width: 660px; }
.cta-inner h2 { color: #fff; font-size: 28px; margin: 0 0 12px; }
.cta-highlight { display: inline-flex; align-items: center; gap: 9px; color: var(--c-gold-light); font-size: 17px; font-weight: 700; margin: 0 0 12px; }
.cta-highlight::before { content: ""; width: 26px; height: 1px; background: var(--c-gold-light); flex: none; }
.cta-inner p { color: rgba(255,255,255,.7); margin: 0; font-size: 15px; line-height: 1.9; }
.cta-actions { display: flex; gap: 14px; flex-wrap: wrap; flex: none; max-width: 100%; min-width: 0; }
@media (max-width: 640px) {
  .cta-inner { display: block; }
  .cta-actions { margin-top: 22px; flex-direction: column; align-items: stretch; }
  .cta-actions .btn { width: 100%; }
}

/* ===== Footer ===== */
.site-footer { background: var(--c-footer-bg); color: #fff; }
.foot-cred { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding: 40px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.foot-cred .item { display: flex; align-items: center; justify-content: center; gap: 13px; }
.foot-cred .icon { width: 40px; height: 40px; color: var(--c-gold); flex: none; }
.foot-cred .cred-abhrs { flex: none; color: var(--c-gold); font-family: var(--font-serif); font-weight: 700; font-size: 14px; letter-spacing: .06em; line-height: 1; border: 1.5px solid var(--c-gold); border-radius: 10px; padding: 11px 9px; }
.foot-cred b { font-size: 16px; display: block; }
.foot-cred small { font-size: 12px; color: rgba(255,255,255,.5); }
.foot-cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 44px; padding: 48px 0; }
.foot-cols h3 { font-size: 15px; color: #fff; font-family: var(--font-sans); margin: 0 0 6px; }
.foot-brand { font-family: var(--font-serif); font-size: 21px; font-weight: 700; color: var(--c-gold); margin: 0 0 8px; }
.foot-cols ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.foot-cols a, .foot-cols li { font-size: 14px; color: rgba(255,255,255,.65); }
.foot-cols a:hover { color: var(--c-gold); }
.foot-info li { display: flex; align-items: center; gap: 9px; }
.foot-info .icon { color: var(--c-gold); }
.foot-lang { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: 13px; }
.foot-lang .current { color: var(--c-gold); font-weight: 700; }
.foot-lang a { color: rgba(255,255,255,.5); }
.foot-lang a:hover { color: var(--c-gold); }
.foot-legal { text-align: center; padding: 18px 0 30px; border-top: 1px solid rgba(255,255,255,.1); }
.foot-legal .disclaimer { font-size: 12px; color: rgba(255,255,255,.45); max-width: 720px; margin: 0 auto 8px; }
.foot-legal .copy { font-size: 13px; color: rgba(255,255,255,.45); }

/* ===== Content pages (single/page) ===== */
.content-area { padding: 56px 0; }
.entry { max-width: 820px; margin: 0 auto; }
.entry-title { font-size: 34px; margin: 0 0 10px; }
.entry-meta { font-size: 14px; color: var(--c-text-light); margin-bottom: 28px; }
.entry-content { font-size: 17px; }
.entry-content h2 { font-size: 26px; margin-top: 44px; border-left: 4px solid var(--c-gold); padding-left: 14px; }
.entry-content h3 { font-size: 21px; margin-top: 32px; }
.entry-content img { border-radius: 10px; }
.entry-content table { border-collapse: collapse; width: 100%; overflow-x: auto; display: block; }
/* Smush lazyload 佔位寬度會蓋過 max-width,強制回收(防 1600px 原圖溢出版面) */
.entry-content img.lazyload, .entry-content img.lazyloaded { max-width: 100% !important; height: auto; }
.entry-content figure.wp-block-image img { border-radius: 12px; }
.entry-content th, .entry-content td { border: 1px solid var(--c-line); padding: 10px 14px; font-size: 15px; text-align: left; }
.entry-content th { background: var(--c-ivory); color: var(--c-primary); }
.entry-content blockquote { border-left: 4px solid var(--c-gold); margin: 24px 0; padding: 4px 20px; color: var(--c-text-light); background: var(--c-ivory); border-radius: 0 10px 10px 0; }

/* ===== 療程頁中段內容:文章閱讀版式(僅 .th-has-page-hero 頁面) =====
   舊 Astra 時代的 Gutenberg 區塊在此統一收斂為主題的閱讀設計;
   Astra 色票類別(has-ast-global-color-*)已失效,在這裡重新映射。 */
.th-has-page-hero .content-area { padding-top: 24px; }
.th-has-page-hero .entry { max-width: 880px; }
.th-has-page-hero .entry-content > * { margin-left: auto; margin-right: auto; }
.th-has-page-hero .entry-content .alignfull,
.th-has-page-hero .entry-content .alignwide { max-width: 100%; margin-left: 0; margin-right: 0; }

/* 色票映射:舊深色底上的白字改回繼承;舊淺灰底改為米白卡片 */
.th-has-page-hero .entry-content .has-ast-global-color-0-color { color: inherit !important; }
.th-has-page-hero .entry-content .has-ast-global-color-8-color { color: var(--c-text-light) !important; }
/* 大區塊不上底色(特別區域需要卡片感時另用專屬 class) */
.th-has-page-hero .entry-content .wp-block-group.has-background {
	background: transparent !important;
	border: 0;
	border-radius: 0;
	padding: 0 !important;
	margin-top: 34px;
	margin-bottom: 34px;
}
.th-has-page-hero .entry-content .wp-block-group.has-background h2,
.th-has-page-hero .entry-content .wp-block-group.has-background h3 { margin-top: 0; border-left: 0; padding-left: 0; }

/* media-text:圖文並排卡片,手機直排 */
.th-has-page-hero .entry-content .wp-block-media-text { gap: 26px; margin: 30px 0; align-items: center; }
.th-has-page-hero .entry-content .wp-block-media-text .wp-block-media-text__media img { border-radius: 12px; width: 100%; height: auto; }
@media (max-width: 640px) {
	.th-has-page-hero .entry-content .wp-block-media-text { display: block; }
	.th-has-page-hero .entry-content .wp-block-media-text .wp-block-media-text__content { padding: 14px 0 0; }
}

/* 表格:比照比較表的輕量版 */
.entry-content figure.wp-block-table { margin: 28px 0; overflow-x: auto; }
.entry-content .wp-block-table table { display: table; width: 100%; min-width: 560px; border: 1px solid var(--c-line); border-collapse: separate; border-spacing: 0; border-radius: 12px; overflow: hidden; background: #fff; }
.entry-content .wp-block-table th { background: var(--c-primary); color: #fff; border: 0; font-size: 14.5px; padding: 12px 14px; }
.entry-content .wp-block-table td { border: 0; border-top: 1px solid var(--c-line); font-size: 14.5px; background: #fff; padding: 11px 14px; }
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(even) td { background: #fbfaf7; }

/* 按鈕:統一為主題膠囊 */
.th-has-page-hero .entry-content .wp-block-button__link {
	background: var(--c-gold-dark); color: #fff; border-radius: 999px;
	padding: 12px 26px; font-size: 15px; font-weight: 700; min-height: 44px;
	transition: background .25s;
}
.th-has-page-hero .entry-content .wp-block-button__link:hover { background: #8a6a24; color: #fff; }
.th-has-page-hero .entry-content .is-style-outline .wp-block-button__link { background: transparent; border: 1.5px solid var(--c-primary); color: var(--c-primary); }

/* 分隔線:每個主章節(H2)前統一顯示點狀「···」;零散的舊 hr 隱藏 */
.th-has-page-hero .entry-content hr.wp-block-separator { display: none; }
.th-has-page-hero .entry-content h2::before { content: "···"; display: block; text-align: center; color: var(--c-gold); font-size: 26px; font-weight: 700; letter-spacing: 16px; padding-left: 16px; line-height: 1; margin-bottom: 30px; }
.th-has-page-hero .entry-content .wp-block-quote { border-left: 4px solid var(--c-gold); background: var(--c-ivory); border-radius: 0 10px 10px 0; padding: 14px 22px; color: var(--c-text); }

/* 對比滑桿與圖片:縮窄置中,不滿版 */
.th-has-page-hero .entry-content .wp-block-gutsliders-before-after { border-radius: 12px; overflow: hidden; margin: 26px auto; max-width: 620px; }

/* Yoast FAQ 區塊 */
.entry-content .schema-faq-section { border: 1px solid var(--c-line); border-radius: 12px; background: #fdfcfa; padding: 18px 22px; margin: 0 0 14px; }
.entry-content .schema-faq-question { display: block; font-size: 17px; font-weight: 700; color: var(--c-primary); margin-bottom: 8px; }
.entry-content .schema-faq-answer { font-size: 15px; color: var(--c-text-light); margin: 0; }

/* 舊左右欄一律改單欄直排(文章形式) */
.th-has-page-hero .entry-content .wp-block-columns { display: block; }
.th-has-page-hero .entry-content .wp-block-column { width: 100% !important; flex-basis: auto !important; margin: 0 0 18px; }
.th-has-page-hero .entry-content .wp-block-column:last-child { margin-bottom: 0; }

/* 置中標題不帶金色左線 */
.th-has-page-hero .entry-content h2.has-text-align-center { border-left: 0; padding-left: 0; }

/* 段落節奏 */
.th-has-page-hero .entry-content h2 { margin-top: 56px; }
/* 療程頁區塊標題統一置中(比照 FUE 頁 has-text-align-center 樣式) */
.th-has-page-hero .entry-content .mht-section > h2 { text-align: center; border-left: 0; padding-left: 0; }
.th-has-page-hero .entry-content .tl-card h3,
.th-has-page-hero .entry-content .fw-card h3,
.th-has-page-hero .entry-content .fw-advice h3 { margin-top: 0; }
.th-has-page-hero .entry-content > p, .th-has-page-hero .entry-content li { font-size: 16.5px; }

/* ===== FUE 快速重點卡(特別區域:米白金卡片) ===== */
.fue-quick { background: #faf8f4; border: 1px solid var(--c-line); border-radius: 14px; padding: 26px 30px 18px; margin: 10px 0 40px; }
.fue-quick h2, .th-has-page-hero .entry-content .fue-quick h2 { margin-top: 0; font-size: 24px; }
.th-has-page-hero .entry-content .fue-quick h2::before { content: none; }
.th-has-page-hero .entry-content .fue-quick h2::after { content: ""; display: block; width: 48px; height: 3px; background: var(--c-gold); border-radius: 2px; margin: 12px auto 0; }
.fq-list { list-style: none; margin: 14px 0 0; padding: 0; }
.fq-list li { position: relative; padding: 5px 0 5px 20px; font-size: 15.5px; line-height: 1.85; color: var(--c-text); }
.fq-list li::before { content: ""; position: absolute; left: 2px; top: 16px; width: 7px; height: 7px; border-radius: 50%; background: var(--c-gold); }
.fq-list strong { color: var(--c-primary); }
.fq-review { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--c-line); font-size: 13px; color: var(--c-text-light); }
@media (max-width: 640px) {
	.fue-quick { padding: 20px 18px 14px; }
}

/* ===== FUE「是什麼」卡片區(SVG 圖示 + 卡牌) ===== */
.fw-ba { max-width: 620px; margin: 26px auto 30px; aspect-ratio: 3 / 2; border-radius: 14px; overflow: hidden; }
.fw-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 30px 0; }
.fw-card { background: #fff; border: 1px solid var(--c-line); border-radius: 14px; padding: 24px 26px; box-shadow: 0 4px 18px rgba(26,54,93,.05); }
.fw-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: rgba(200,163,95,.12); color: var(--c-gold-dark); margin-bottom: 12px; }
.fw-icon svg { width: 24px; height: 24px; }
.fw-card h3 { font-family: var(--font-sans); font-size: 17px; color: var(--c-primary); margin: 0 0 8px; }
.fw-card .fw-card-img { display: block; width: 100%; height: auto; border-radius: 10px; margin: 0 0 14px; }
.fw-card p { font-size: 14.5px; line-height: 1.8; color: var(--c-text-light); margin: 0; }
.fw-advice { background: #faf8f4; border: 1px solid var(--c-line); border-radius: 16px; padding: 26px 30px; margin: 30px 0; }
.fw-advice-head { display: flex; align-items: center; gap: 18px; margin-bottom: 14px; }
.th-has-page-hero .entry-content img.fw-advice-avatar { width: 72px !important; height: 72px !important; max-width: 72px; border-radius: 50% !important; object-fit: cover; border: 2px solid var(--c-gold); flex: none; }
.fw-advice-tag { display: inline-block; border: 1px solid var(--c-gold); color: var(--c-gold-dark); background: #fff; border-radius: 999px; padding: 3px 12px; font-size: 12.5px; font-weight: 700; margin-bottom: 8px; }
.fw-advice h3 { font-family: var(--font-sans); font-size: 19px; color: var(--c-primary); margin: 0; }
.fw-advice-btn { margin-top: 6px; font-size: 15px; }
.fw-advice p { font-size: 15px; line-height: 1.9; color: var(--c-text-light); margin: 0 0 12px; }
.fw-advice p:last-child { margin-bottom: 0; }
.fw-advice-list { list-style: none; margin: 0 0 14px; padding: 0; }
.fw-advice-list li { position: relative; padding: 5px 0 5px 20px; font-size: 15px; line-height: 1.85; color: var(--c-text); }
.fw-advice-list li::before { content: ""; position: absolute; left: 2px; top: 16px; width: 7px; height: 7px; border-radius: 50%; background: var(--c-gold); }
.fw-advice-list strong { color: var(--c-primary); }
@media (max-width: 640px) {
	.fw-cards { grid-template-columns: 1fr; }
}

/* ===== FUE 術後恢復階段列表 ===== */
.rt-stages { display: flex; flex-direction: column; gap: 12px; margin: 26px 0; }
.rt-stage { display: grid; grid-template-columns: 150px 1fr; gap: 18px; align-items: start; background: #fff; border: 1px solid var(--c-line); border-radius: 12px; padding: 16px 20px; }
.rt-when { display: inline-flex; align-items: center; justify-content: center; background: var(--c-primary); color: #fff; border-radius: 999px; padding: 7px 12px; font-size: 13.5px; font-weight: 700; white-space: nowrap; }
.rt-body p { margin: 0; }
.rt-what { font-size: 15px; line-height: 1.8; color: var(--c-text); }
.rt-care { font-size: 13.5px; line-height: 1.75; color: var(--c-text-light); margin-top: 4px !important; }
.rt-care strong { color: var(--c-gold-dark); }
@media (max-width: 640px) {
	.rt-stage { grid-template-columns: 1fr; gap: 8px; }
	.rt-when { justify-self: start; }
}

/* ===== FUE 費用精簡區 ===== */
.fue-cost-cta { text-align: center; margin: 26px 0 6px; }

/* ===== FUE 優缺點對照卡 ===== */
.fue-proscons { --pc-pro: #2e8555; --pc-con: #c05621; }
.pc-figure { margin: 26px auto; }
.pc-figure img { display: block; width: 100%; border-radius: 14px; }
/* 情境照與對比滑桿同寬置中;說明圖不加此 class(權重需高於 WP 全域版面的 :root :where 規則) */
.pc-figure--scene, .th-has-page-hero .entry-content .pc-figure--scene { max-width: 620px; }
.pc-legend { display: grid; grid-template-columns: 130px 1fr 1fr; gap: 14px; margin: 26px 0 10px; }
.pc-legend span { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 700; }
.pc-legend svg { width: 18px; height: 18px; }
.pc-legend-pro { color: var(--pc-pro); }
.pc-legend-con { color: var(--pc-con); }
.pc-rows { display: flex; flex-direction: column; gap: 12px; }
.pc-row { display: grid; grid-template-columns: 130px 1fr 1fr; gap: 14px; align-items: stretch; }
.pc-topic { display: flex; align-items: center; justify-content: center; text-align: center; background: var(--c-primary); color: #fff; border-radius: 12px; font-size: 15px; font-weight: 700; padding: 14px 10px; }
.pc-pro, .pc-con { border-radius: 12px; padding: 14px 18px; border: 1px solid; }
.pc-pro { background: rgba(46,133,85,.06); border-color: rgba(46,133,85,.3); }
.pc-con { background: rgba(192,86,33,.05); border-color: rgba(192,86,33,.28); }
.pc-cell-label { display: none; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.pc-cell-label svg { width: 16px; height: 16px; }
.pc-pro .pc-cell-label { color: var(--pc-pro); }
.pc-con .pc-cell-label { color: var(--pc-con); }
.pc-pro p, .pc-con p { font-size: 14.5px; line-height: 1.8; margin: 0; color: var(--c-text); }
@media (max-width: 760px) {
	.pc-legend { display: none; }
	.pc-row { grid-template-columns: 1fr; gap: 10px; }
	.pc-topic { justify-content: flex-start; text-align: left; padding: 10px 16px; }
	.pc-cell-label { display: inline-flex; }
}

/* ===== 吳文藝醫師介紹頁(post 12)專屬樣式(套 FUE 頁主題外殼:hero+導覽由 single.php 輸出) ===== */
/* 區塊標題比照 FUE 頁置中;錨點預留 sticky header 高度 */
.postid-12 .entry-content > h2 { text-align: center; border-left: 0; padding-left: 0; }
.postid-12 .entry-content h2[id] { scroll-margin-top: 168px; }
/* 認證數字帶 → 深藍金統計列 */
.postid-12 .entry-content .wp-block-group.has-background:has(.wp-block-columns.are-vertically-aligned-center) {
	background: linear-gradient(115deg, var(--c-primary-dark) 0%, var(--c-primary) 100%) !important;
	border: 0;
	padding: 34px 30px !important;
}
.postid-12 .wp-block-group.has-background:has(.are-vertically-aligned-center) h3 { color: var(--c-gold) !important; font-family: var(--font-serif); font-size: 30px !important; margin: 0; border-left: 0; padding-left: 0; }
.postid-12 .wp-block-group.has-background:has(.are-vertically-aligned-center) p { color: rgba(255,255,255,.75) !important; font-size: 14px; margin: 6px 0 0; }
/* 資格/需求兩欄 → 白卡 */
.postid-12 .entry-content > .wp-block-columns { gap: 18px; }
.postid-12 .entry-content > .wp-block-columns > .wp-block-column { background: #fff; border: 1px solid var(--c-line); border-radius: 14px; padding: 24px 26px; box-shadow: 0 4px 18px rgba(26,54,93,.05); }
.postid-12 .entry-content > .wp-block-columns > .wp-block-column h3 { margin-top: 0; font-size: 18px; color: var(--c-primary); }
/* 證書與學術相簿:圓角統一 */
.postid-12 .wp-block-gallery img { border-radius: 12px; }
.postid-12 .wp-block-gallery figure { margin: 0; }

/* ===== 彙整頁(分類/標籤)標題與分頁 ===== */
.archive-head { text-align: center; margin: 16px 0 40px; }
.archive-head h1 { font-size: 34px; margin: 0; }
.archive-head h1::after { content: ""; display: block; width: 48px; height: 3px; background: var(--c-gold); border-radius: 2px; margin: 14px auto 0; }
.archive-desc { max-width: 720px; margin: 18px auto 0; color: var(--c-text-light); font-size: 15.5px; }
.archive-pagination { margin-top: 44px; }
.archive-pagination .nav-links { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; }
.archive-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 14px;
	border: 1px solid var(--c-line); border-radius: 999px; background: #fff;
	font-size: 15px; font-weight: 600; color: var(--c-primary); text-decoration: none;
	transition: all .2s;
}
.archive-pagination a.page-numbers:hover { border-color: var(--c-gold); color: var(--c-gold-dark); background: #faf8f4; }
.archive-pagination .page-numbers.current { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.archive-pagination .page-numbers.dots { border: 0; background: transparent; min-width: 24px; padding: 0; color: var(--c-text-light); }
.archive-pagination .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ===== 文章頁尾相關文章 ===== */
.related-posts { max-width: 880px; margin: 56px auto 64px; }
.related-posts > h2 { text-align: center; font-size: 26px; margin: 0 0 6px; }
.related-posts > h2::after { content: ""; display: block; width: 48px; height: 3px; background: var(--c-gold); border-radius: 2px; margin: 12px auto 26px; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.related-card { background: #fff; border: 1px solid var(--c-line); border-radius: 14px; overflow: hidden; transition: box-shadow .25s, transform .25s; }
.related-card:hover { box-shadow: 0 10px 28px rgba(26,54,93,.12); transform: translateY(-3px); }
.related-card a { display: block; color: inherit; }
.related-card img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.related-thumb-fallback { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; background: #faf8f4; color: var(--c-gold); }
.related-thumb-fallback svg { width: 40px; height: 40px; }
.related-card h3 { font-family: var(--font-sans); font-size: 15.5px; line-height: 1.6; color: var(--c-primary); margin: 14px 16px 6px; }
.related-card:hover h3 { color: var(--c-gold-dark); }
.related-date { display: block; font-size: 12.5px; color: var(--c-text-light); margin: 0 16px 16px; }
@media (max-width: 780px) { .related-grid { grid-template-columns: 1fr; } .related-card img, .related-thumb-fallback { aspect-ratio: 16 / 7; } }

/* ===== 文章頁強調區塊卡片化(灰底 group / media-text → 主題米白卡) ===== */
.single .entry-content .wp-block-group.has-background {
	background: #faf8f4 !important;
	border: 1px solid var(--c-line);
	border-radius: 16px;
	padding: 28px 30px;
	margin: 32px 0;
}
.single .entry-content .wp-block-group.has-background h2,
.single .entry-content .wp-block-group.has-background h3 { margin-top: 0; color: var(--c-primary); }
.single .entry-content .wp-block-group.has-background .wp-block-columns { align-items: center; }
.single .entry-content .wp-block-group.has-background figure { margin: 0; }
.single .entry-content .wp-block-group.has-background img { border-radius: 12px; }
.single .entry-content .wp-block-media-text.has-background {
	background: #faf8f4 !important;
	border: 1px solid var(--c-line);
	border-radius: 16px;
	overflow: hidden;
	margin: 32px 0;
}
.single .entry-content .wp-block-media-text__content { padding: 26px 30px; }
.single .entry-content .wp-block-media-text__content h2,
.single .entry-content .wp-block-media-text__content h3 { margin-top: 0; border-left: 0; padding-left: 0; }
.single .entry-content .wp-block-media-text__media img { border-radius: 0; }

/* ===== Easy TOC 目錄改版(淺色系統:米白底、深藍連結、金色編號) ===== */
.entry-content #ez-toc-container,
#ez-toc-container {
	background: #faf8f4;
	border: 1px solid var(--c-line);
	border-radius: 14px;
	padding: 26px 28px 20px;
	box-shadow: none;
	width: 100%;
	margin: 28px 0;
}
#ez-toc-container .ez-toc-title,
#ez-toc-container p.ez-toc-title {
	color: var(--c-primary);
	font-family: var(--font-serif);
	font-size: 20px;
	font-weight: 700;
	display: block;
	margin-bottom: 6px;
}
#ez-toc-container ul.ez-toc-list { margin-top: 8px; }
#ez-toc-container ul li { line-height: 1.5; }
#ez-toc-container ul.ez-toc-list a,
#ez-toc-container a.ez-toc-link {
	display: inline-block;
	padding: 9px 0;
	color: var(--c-primary);
	font-size: 15.5px;
	font-weight: 500;
	text-decoration: none;
	border-bottom: 2px solid transparent;
}
#ez-toc-container ul.ez-toc-list a:hover,
#ez-toc-container a.ez-toc-link:hover {
	color: var(--c-gold-dark);
	border-bottom-color: var(--c-gold);
}
div.ez-toc-counter nav ul li a::before { color: var(--c-gold-dark) !important; font-weight: 700; }
#ez-toc-container .ez-toc-toggle, #ez-toc-container .ez-toc-btn { color: var(--c-text); }

/* ===== 404 ===== */
.error404-box { text-align: center; padding: 100px 24px; }
.error404-box .code { font-family: var(--font-serif); font-size: 84px; font-weight: 700; color: var(--c-gold); line-height: 1; }

/* ===== Responsive ===== */
@media (max-width: 1200px) {
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; padding: 12px 16px 18px; border-bottom: 1px solid var(--c-line); box-shadow: 0 12px 24px rgba(26,54,93,.08); max-height: calc(100vh - 130px); overflow-y: auto; }
  .main-nav.open { display: block; }
  .main-nav .nav-list { flex-direction: column; align-items: stretch; gap: 0; }
  .main-nav a { padding: 13px 12px; min-height: 44px; white-space: normal; }
  /* 手機版選單只列主項目,子選單不顯示(hover/focus 也不展開) */
  .main-nav .sub-menu,
  .main-nav li:hover > .sub-menu,
  .main-nav li:focus-within > .sub-menu { display: none; }
  .menu-toggle { display: block; }
}
@media (max-width: 1100px) {
  .header-cert { height: 44px; }
  .hero-grid, .doctor-grid { grid-template-columns: 1fr; gap: 36px; }
  .hero h1 { font-size: 36px; }
  .cards-3 { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .foot-cred { grid-template-columns: 1fr; gap: 14px; }
  .foot-cred .item { justify-content: flex-start; }
  .foot-cols { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 640px) {
  .site-header { top: 35px; }
  .site-header .bar { height: 80px; }
  body.th-scrolled .site-header .bar { height: 54px; }
  body.th-scrolled .brand-mark { height: 28px; }
  body.th-scrolled .brand-name { font-size: 16px; }
  body.th-scrolled .header-cert { height: 32px; }
  .cred-band { gap: 12px; flex-wrap: nowrap; padding: 8px 10px; }
  .cred-band span { font-size: 12px; white-space: nowrap; }
  .cred-band .cred-exp { display: none; }
  .th-anchornav { top: 89px; }
  .th-anchornav ol { gap: 24px; padding: 0 4px; }
  .th-anchornav a { font-size: 14px; padding: 13px 0; }
  section[id], .ez-toc-section, [id^="info"], [id^="fue-"], .th-has-page-hero .mht-section { scroll-margin-top: 146px; }
  .brand-group { gap: 10px; }
  .brand { gap: 8px; }
  .brand-mark { height: 50px; }
  .brand-name { font-size: 21px; letter-spacing: .06em; }
  .brand-sub { font-size: 8px; letter-spacing: .14em; }
  .header-cert { height: 46px; }
  .hero { padding: 48px 0 40px; }
  .hero h1 { font-size: 30px; }
  .th-hero-text h1 { font-size: 30px; }
  .th-hero--page .th-hero-text h1 { font-size: 24px; }
  .th-hero--page .th-hero-content { padding: 44px 20px; }
  .th-pgs-grid { grid-template-columns: 1fr; }
  .th-pgs-media { order: -1; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.08); }
  .cards-3, .steps { grid-template-columns: 1fr; }
  .tl { gap: 24px; }
  .tl-item { grid-template-columns: 56px 1fr; gap: 16px; }
  .tl-item::before { left: 27px; top: 56px; bottom: -24px; }
  .tl-badge { width: 56px; height: 56px; }
  .tl-badge small { font-size: 8px; letter-spacing: .08em; }
  .tl-badge b { font-size: 20px; }
  .tl-card { flex-direction: column; align-items: stretch; padding: 20px 20px 22px; gap: 14px; }
  .tl-card .tl-thumb { width: 100% !important; max-width: 100%; height: auto !important; aspect-ratio: 4 / 3; order: -1; }
  .tl--stack .tl-card .tl-thumb { aspect-ratio: auto; order: 0; }
  .tl-badge--sub small { display: none; }
  .tl-head h2 { font-size: 28px; }
  .section { padding: 52px 0; }
  .section-head h2 { font-size: 26px; }
  .articles-head { flex-direction: column; align-items: flex-start; gap: 18px; }
  .entry-title { font-size: 26px; }
}

/* 三欄圖示/圖卡(髮際線修復頁好處、成因、服務區) */
.fw-cards--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .fw-cards--3 { grid-template-columns: 1fr; } }
