/* ==========================================================================
   【自托管品牌字体 v0.3.44 · 2026-10-11】
   来源：Inter 4 权重 + Playfair Display 700（SIL Open Font License 1.1，可自由自托管）
   为什么：与活站 www.tibettravel.com 品牌字形一致（活站自托管同两款）。
   ⚠️ 全部本地文件，不引用任何境外 CDN / Google Fonts（遵守零 Google 依赖红线）。
   子集：latin（中文走系统 PingFang / Microsoft YaHei 回退）。
   ========================================================================== */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-400.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-500.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-600.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-700.woff2) format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/playfair-700.woff2) format('woff2');}

/* ==========================================================================
   【LEGACY-IMPORTED v0.3.38 · 2026-10-09 · 请勿在此段修改】
   来源：主题 tibettravel/assets/tt.css（早期「框架版」组件样式，部署态 12,319 字节）
   为什么并到这里：主题那份此前被排队加载（handle tibettravel-components），与插件样式表
   重复下载；其中 .tt-itinerary / .tt-day / .tt-day__* / .tt-inquiry h2 / .tt-logo a /
   .tt-card__media img 等规则插件里没有，仍在供样式，因此不能删除。
   处理方式：整段前置（旧在前、新在后 → 级联顺序与覆盖关系逐字不变），PHP 侧已 dequeued。
   ⚠️ 后续所有样式改动请写在本段之后的「版面系统 v2」区域。
   ========================================================================== */
/* ==========================================================================
   Tibet Travel — 组件样式
   品牌色 #8B3A3A · 米白底 · 轻量、留白、可读性优先
   ========================================================================== */

:root {
  --tt-primary: #8B3A3A;
  --tt-primary-dark: #6E2C2C;
  --tt-ink: #1E1A17;
  --tt-muted: #6A615C;
  --tt-paper: #ffffff;
  --tt-sand: #F6F1EA;
  --tt-line: #E6DED5;
  --tt-accent: #B9772B;
  --tt-radius: 3px;
  --tt-shadow: 0 1px 2px rgba(30, 26, 23, .06), 0 8px 24px rgba(30, 26, 23, .05);
  --tt-max: 1240px;
}

/* ---------- 页头 ---------- */
.tt-header { position: sticky; top: 0; z-index: 60; background: var(--tt-paper); border-bottom: 1px solid var(--tt-line); }
.tt-header__bar { padding-top: .7rem; padding-bottom: .7rem; }
.tt-header__in { gap: 1.25rem; align-items: center; }
.tt-logo a { text-decoration: none; letter-spacing: -.01em; }
.tt-nav { display: flex; align-items: center; gap: 1.15rem; flex-wrap: wrap; font-size: .95rem; }
.tt-nav > a { color: var(--tt-ink); text-decoration: none; padding: .25rem 0; border-bottom: 2px solid transparent; }
.tt-nav > a:hover { border-bottom-color: var(--tt-primary); color: var(--tt-primary); }
.tt-nav__cta { background: var(--tt-primary); color: #fff !important; padding: .5rem .95rem !important; border-radius: var(--tt-radius); border-bottom: none !important; font-weight: 600; }
.tt-nav__cta:hover { background: var(--tt-primary-dark); }

.tt-drop { position: relative; }
.tt-drop > summary { list-style: none; cursor: pointer; color: var(--tt-ink); padding: .25rem 0; display: flex; align-items: center; gap: .35rem; }
.tt-drop > summary::-webkit-details-marker { display: none; }
.tt-drop > summary::after { content: "▾"; font-size: .7em; color: var(--tt-muted); }
.tt-drop[open] > summary { color: var(--tt-primary); }
.tt-drop__panel { position: absolute; left: 0; top: calc(100% + .55rem); min-width: 260px; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-radius); box-shadow: var(--tt-shadow); padding: .5rem; display: grid; gap: .1rem; z-index: 70; }
.tt-drop__panel a { display: block; padding: .5rem .6rem; border-radius: var(--tt-radius); text-decoration: none; color: var(--tt-ink); font-size: .95rem; }
.tt-drop__panel a:hover { background: var(--tt-sand); color: var(--tt-primary); }

.tt-durnavwrap { border-top: 1px solid var(--tt-line); background: var(--tt-sand); }
.tt-durnav { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; padding: .5rem 0; font-size: .88rem; }
.tt-durnav__label { text-transform: uppercase; letter-spacing: .08em; font-size: .7rem; color: var(--tt-muted); margin-right: .35rem; }
.tt-durnav a { color: var(--tt-ink); text-decoration: none; padding: .2rem .55rem; border: 1px solid var(--tt-line); background: #fff; border-radius: 999px; }
.tt-durnav a:hover { border-color: var(--tt-primary); color: var(--tt-primary); }
.tt-durnav__sep { width: 1px; height: 18px; background: var(--tt-line); margin: 0 .4rem; }

/* ---------- 主体/正文 ---------- */
.tt-main { padding-top: 2.2rem; padding-bottom: 3rem; }
.tt-title { margin-bottom: 1rem; letter-spacing: -.015em; }
.tt-content { font-size: 1.0625rem; }
.tt-content > * + * { margin-top: 1.15rem; }
.tt-content h2 { margin-top: 2.4rem; margin-bottom: .6rem; }
.tt-content h3 { margin-top: 1.8rem; margin-bottom: .4rem; font-size: 1.2rem; }
.tt-content ul, .tt-content ol { padding-left: 1.25rem; }
.tt-content li + li { margin-top: .35rem; }
.tt-content img { border-radius: var(--tt-radius); height: auto; }
.tt-content a { text-decoration-color: rgba(139, 58, 58, .35); text-underline-offset: 2px; }
.tt-content a:hover { text-decoration-color: var(--tt-primary); }
.tt-content table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tt-content th, .tt-content td { border-bottom: 1px solid var(--tt-line); padding: .6rem .5rem; text-align: left; }

/* Hero */
.tt-hero { margin: 0 0 1.6rem; }
.tt-hero img { width: 100%; height: auto; border-radius: var(--tt-radius); display: block; }
.tt-hero figcaption { font-size: .85rem; color: var(--tt-muted); margin-top: .4rem; }

/* 导语 */
.tt-lede { font-size: 1.2rem; line-height: 1.6; color: #332E2A; }

/* ---------- 事实框 ---------- */
.tt-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .1rem 1.5rem; background: var(--tt-sand); border: 1px solid var(--tt-line); border-radius: var(--tt-radius); padding: 1.1rem 1.25rem; margin: 1.5rem 0; }
.tt-fact { display: flex; gap: .5rem; padding: .35rem 0; border-bottom: 1px dashed var(--tt-line); }
.tt-fact:last-child { border-bottom: 0; }
.tt-fact dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tt-muted); flex: 0 0 42%; }
.tt-fact dd { margin: 0; font-weight: 600; }

/* ---------- 逐日行程 ---------- */
.tt-itinerary { margin: 1.5rem 0; border-top: 2px solid var(--tt-primary); }
.tt-day { border-bottom: 1px solid var(--tt-line); }
.tt-day > summary { display: flex; gap: .9rem; align-items: baseline; cursor: pointer; padding: .85rem .25rem; list-style: none; }
.tt-day > summary::-webkit-details-marker { display: none; }
.tt-day__n { flex: 0 0 auto; font-size: .75rem; letter-spacing: .07em; text-transform: uppercase; color: var(--tt-primary); font-weight: 700; min-width: 4.2rem; }
.tt-day__t { font-family: var(--tt-serif); font-size: 1.1rem; font-weight: 600; }
.tt-day__body { padding: 0 .25rem 1.1rem 5.1rem; }
.tt-day__body p { margin: .4rem 0; }
.tt-day__meta { display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; font-size: .85rem; color: var(--tt-muted); margin-top: .6rem !important; }
.tt-day__meta b { color: #4A423C; font-weight: 600; }

/* ---------- FAQ ---------- */
.tt-faq { margin: 1.4rem 0; }
.tt-faq__item { border: 1px solid var(--tt-line); border-radius: var(--tt-radius); margin-bottom: .5rem; background: #fff; }
.tt-faq__item > summary { cursor: pointer; padding: .85rem 1rem; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.tt-faq__item > summary::-webkit-details-marker { display: none; }
.tt-faq__item > summary::after { content: "+"; color: var(--tt-primary); font-weight: 700; }
.tt-faq__item[open] > summary::after { content: "–"; }
.tt-faq__a { padding: 0 1rem 1rem; color: #3A342F; }
.tt-faq__a p { margin: .4rem 0; }

/* ---------- 列表 ---------- */
.tt-list { margin: .8rem 0; }
.tt-list--check { list-style: none; padding-left: 0; }
.tt-list--check li { position: relative; padding-left: 1.6rem; margin-bottom: .45rem; }
.tt-list--check li::before { content: "✓"; position: absolute; left: 0; color: var(--tt-primary); font-weight: 700; }

/* ---------- 含/不含 ---------- */
.tt-incl { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; margin: 1.4rem 0; }
.tt-incl__col h3 { font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tt-muted); margin-bottom: .5rem; }
.tt-incl__col ul { list-style: none; padding-left: 0; }
.tt-incl__col li { padding-left: 1.1rem; position: relative; }
.tt-incl__col li::before { content: "·"; position: absolute; left: .25rem; color: var(--tt-primary); font-weight: 700; }

/* ---------- 卡片 ---------- */
.tt-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(268px, 1fr)); gap: 1.4rem; margin: 1.5rem 0; }
.tt-card { border: 1px solid var(--tt-line); border-radius: var(--tt-radius); overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.tt-card__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.tt-card__body { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.tt-card__t { margin: 0; font-size: 1.1rem; }
.tt-card__t a { text-decoration: none; color: var(--tt-ink); }
.tt-card__t a:hover { color: var(--tt-primary); }
.tt-card__meta { margin: 0; font-size: .88rem; color: var(--tt-muted); }
.tt-card__price { margin: 0; font-weight: 700; color: var(--tt-primary); }
.tt-btn { display: inline-block; padding: .6rem 1rem; border-radius: var(--tt-radius); text-decoration: none; font-weight: 600; font-size: .93rem; text-align: center; }
.tt-btn--ghost { border: 1px solid var(--tt-primary); color: var(--tt-primary); margin-top: auto; }
.tt-btn--ghost:hover { background: var(--tt-primary); color: #fff; }

/* ---------- 定期出发枢纽 ---------- */
.tt-departures { margin: 1.5rem 0; }
.tt-departures__col { background: var(--tt-sand); border: 1px solid var(--tt-line); border-radius: var(--tt-radius); padding: 1.1rem 1.25rem; margin-bottom: 1.6rem; }
.tt-departures__col h3 { font-size: .95rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tt-muted); margin: .2rem 0 .6rem; }
.tt-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0 0 1rem; }
.tt-chip { display: inline-block; border: 1px solid var(--tt-line); background: #fff; border-radius: 999px; padding: .35rem .85rem; text-decoration: none; color: var(--tt-ink); font-size: .92rem; }
.tt-chip:hover { border-color: var(--tt-primary); color: var(--tt-primary); }
.tt-departures__group { margin: 2rem 0 0; scroll-margin-top: 5rem; }
.tt-departures__note { font-size: .9rem; color: var(--tt-muted); font-style: italic; }

/* ---------- 询单块 ---------- */
.tt-inquiry { background: var(--tt-sand); border: 1px solid var(--tt-line); border-radius: var(--tt-radius); padding: 1.5rem 1.5rem 1.75rem; margin: 2.4rem 0 0; }
.tt-inquiry h2 { margin-top: 0; }
.tt-inquiry__scope { color: #3A342F; }
.tt-inquiry__form { margin-top: 1.2rem; }
.tt-inquiry__form input[type="text"], .tt-inquiry__form input[type="email"], .tt-inquiry__form textarea, .tt-inquiry__form select { width: 100%; padding: .6rem .7rem; border: 1px solid #CFC6BC; border-radius: var(--tt-radius); font: inherit; background: #fff; }
.tt-inquiry__form button, .tt-inquiry__form input[type="submit"] { background: var(--tt-primary); color: #fff; border: 0; padding: .75rem 1.4rem; border-radius: var(--tt-radius); font-weight: 600; cursor: pointer; }
.tt-inquiry__form button:hover { background: var(--tt-primary-dark); }
.tt-form-placeholder { color: var(--tt-muted); font-style: italic; }

/* ---------- 真实案例 ---------- */
.tt-facts--case { background: #fff; }
.tt-case__ref { margin-top: .6rem; font-size: .95rem; }

/* ---------- 相关页 ---------- */
.tt-related { margin-top: 2rem; border-top: 1px solid var(--tt-line); padding-top: 1rem; }
.tt-related h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .07em; color: var(--tt-muted); }
.tt-related ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; }

/* ---------- 页脚 ---------- */
.tt-footer { margin-top: 3rem; border-top: 1px solid var(--tt-line); background: var(--tt-sand); }
.tt-trustbarwrap { padding-top: 1rem; }
.tt-trustbar { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: center; padding: .8rem 0; border-bottom: 1px solid var(--tt-line); }
.tt-trustbar__item { font-size: .9rem; color: #3F3833; display: inline-flex; gap: .4rem; align-items: center; }
.tt-trustbar__ico { color: var(--tt-primary); font-weight: 700; }
.tt-footer__main { padding-top: 2rem; padding-bottom: 1.5rem; }
.tt-footer__cols { gap: 1.5rem; }
.tt-footer h3 { font-size: 1rem !important; letter-spacing: .04em; }
.tt-flist { list-style: none; padding: 0; margin: 0; font-size: .92rem; }
.tt-flist li { margin-bottom: .35rem; }
.tt-flist a { color: #3F3833; text-decoration: none; }
.tt-flist a:hover { color: var(--tt-primary); text-decoration: underline; }
.tt-fcontact { font-size: .92rem; color: #3F3833; }
.tt-fsister { font-size: .85rem; color: var(--tt-muted); border-top: 1px dashed var(--tt-line); padding-top: .7rem; }
.tt-copy { font-size: .82rem; color: var(--tt-muted); margin-top: 1.6rem; padding-top: 1rem; border-top: 1px solid var(--tt-line); }

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
  .tt-header__in { flex-direction: column; align-items: flex-start; }
  .tt-nav { gap: .7rem; font-size: .9rem; }
  .tt-drop__panel { position: static; box-shadow: none; margin-top: .4rem; }
  .tt-day__body { padding-left: .25rem; }
  .tt-durnav { font-size: .82rem; }
}

/* ==========================================================================
   Tibet Travel — 版面系统 v2
   「房子外观」= 统一户型（页面外壳）；字段只负责装修。
   品牌色 #8B3A3A · 米白底 · 编辑感排版 · 留白优先
   命名：.tt-sh__* 为行程页外壳；其余为通用组件
   ========================================================================== */

:root {
  /* 低眩光色板：底色不用纯白、正文不用纯黑、红色只做点缀
     —— 目标是"长时间阅读不累眼"，不是"第一眼最刺眼" */
  --tt-primary: #8B3A3A;        /* 砖红：土色系，明度低，不跳 */
  --tt-primary-dark: #6E2C2C;
  --tt-ink: #24201C;            /* 标题：#000 会发硬，用暖调近黑 */
  --tt-body: #38332E;           /* 正文：与底色对比 ~11:1，清晰但不扎 */
  --tt-muted: #6E655E;
  --tt-paper: #FFFCF8;          /* 卡片：#fff 在长时间阅读下偏亮，压 2% */
  --tt-page: #FAF7F1;           /* 页面底：暖米白，降低整体亮度 */
  --tt-sand: #F5F0E8;
  --tt-sand-2: #EFE7DC;
  --tt-line: #E8E0D6;
  --tt-line-2: #D9CFC3;
  --tt-accent: #A9713A;
  --tt-band: #F3EDE1;           /* 色带：/why-choose-us 交替话题底色，比页面底深一档（报告 46 二轮） */
  --tt-ok: #2F6B3A;

  --tt-r-sm: 6px;
  --tt-r: 10px;
  --tt-r-lg: 18px;
  --tt-radius: 6px;            /* 兼容旧类名 */

  --tt-sh-sm: 0 1px 2px rgba(30, 26, 23, .06);
  --tt-sh: 0 2px 8px rgba(30, 26, 23, .05), 0 16px 40px rgba(30, 26, 23, .07);

  --tt-max: 1240px;
  --tt-hh: 104px;              /* 吸顶页头高度，吸顶元素靠它让位 */
  --tt-serif: "Playfair Display", Georgia, "Iowan Old Style", "Times New Roman", Times, serif;
  --tt-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* 全站正文用 Inter（覆盖 block 主题的默认系统字体；中文回退 PingFang / Microsoft YaHei） */
body { font-family: var(--tt-sans); }

/* ==========================================================================
   1. 页头
   ========================================================================== */
.tt-header { position: sticky; top: 0; z-index: 60; background: var(--tt-paper); border-bottom: 1px solid var(--tt-line); box-shadow: 0 1px 0 rgba(30,26,23,.02); }
/* 页头是插件输出的原生 HTML，结构布局自己负责 */
.tt-header__bar { max-width: var(--tt-max); margin: 0 auto; padding: .85rem 20px; }
.tt-header__in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: nowrap; }
/* v0.3.26：logo 传承活站 = 鸟标（白圆角小方块）+ Skyline / TRAVEL 两行字标（TRAVEL 用品牌金、大字距，仿活站金字） */
.tt-logo { display: flex; align-items: center; gap: .6rem; margin: 0; text-decoration: none; }
.tt-logo__mark { width: 38px; height: 38px; border-radius: 9px; background: #fff; border: 1px solid var(--tt-line); display: block; }
.tt-logo__t { display: flex; flex-direction: column; font-family: var(--tt-serif); line-height: 1.05; }
.tt-logo__t b { font-size: 1.24rem; font-weight: 700; letter-spacing: -.01em; color: var(--tt-ink); }
.tt-logo__t i { font-style: normal; font-size: .6rem; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: var(--tt-accent); margin-top: 3px; }
.tt-nav { display: flex; align-items: center; gap: 1.3rem; flex-wrap: wrap; font-size: .95rem; }
.tt-nav > a { color: var(--tt-ink); text-decoration: none; padding: .3rem 0; border-bottom: 2px solid transparent; font-weight: 500; }
.tt-nav > a:hover { border-bottom-color: var(--tt-primary); color: var(--tt-primary); }
.tt-nav__cta { background: var(--tt-primary); color: #fff !important; padding: .55rem 1.05rem !important; border-radius: var(--tt-r-sm); border-bottom: none !important; font-weight: 600; }
.tt-nav__cta:hover { background: var(--tt-primary-dark); }

.tt-drop { position: relative; }
.tt-drop > summary { list-style: none; cursor: pointer; color: var(--tt-ink); padding: .3rem 0; display: flex; align-items: center; gap: .35rem; font-weight: 500; }
.tt-drop > summary::-webkit-details-marker { display: none; }
.tt-drop > summary::after { content: "▾"; font-size: .7em; color: var(--tt-muted); }
.tt-drop[open] > summary { color: var(--tt-primary); }
.tt-drop__panel { position: absolute; left: 0; top: calc(100% + .6rem); min-width: 280px; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-r); box-shadow: var(--tt-sh); padding: .5rem; display: grid; gap: .1rem; z-index: 70; }
/* 悬停桥（2026-10-07 加宽）：面板用 top: calc(100% + .6rem) 留了 .6rem 视觉空隙，而 .tt-drop 盒子
   高度只等于 summary —— 这段空隙落在盒子之外，鼠标穿过时会触发 mouseleave，面板瞬间关闭。
   用不可见伪元素把空隙整段盖住（留 0.8rem 富余吸收斜线路径），保证指针从标题到面板的路径始终在 .tt-drop 内。 */
.tt-drop__panel::before { content: ""; position: absolute; left: 0; right: 0; top: -1.4rem; height: 1.4rem; }
.tt-drop__panel a { display: block; padding: .5rem .65rem; border-radius: var(--tt-r-sm); text-decoration: none; color: var(--tt-ink); font-size: .95rem; }
.tt-drop__panel a:hover { background: var(--tt-sand); color: var(--tt-primary); }

/* 大菜单（两栏 / 三栏） */
.tt-mega__panel { min-width: 640px; grid-template-columns: 1fr 1fr; gap: .4rem 2rem; padding: 1.15rem 1.35rem; }
.tt-mega__panel--tours { min-width: 720px; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
.tt-mega__panel--guide { min-width: 560px; }
.tt-mega--right > .tt-mega__panel { left: auto; right: 0; }
.tt-mega--center > .tt-drop__panel { left: 50%; transform: translateX(-50%); }
.tt-mega__col { display: grid; gap: .12rem; align-content: start; }
.tt-mega__h { font-size: .67rem; text-transform: uppercase; letter-spacing: .13em; color: var(--tt-muted); margin: 0 0 .5rem; font-weight: 700; }
.tt-mega__h a { color: inherit; text-decoration: none; }
.tt-mega__h a:hover { color: var(--tt-primary); text-decoration: underline; }
.tt-mega__h em { display: block; text-transform: none; letter-spacing: 0; font-size: .72rem; color: var(--tt-muted); font-weight: 400; margin-top: .12rem; }
.tt-mega__col a, .tt-drop__panel > a { display: block; padding: .36rem .55rem; border-radius: var(--tt-r-sm); text-decoration: none; color: var(--tt-ink); font-size: .93rem; line-height: 1.35; }
.tt-mega__col a:hover, .tt-drop__panel > a:hover { background: var(--tt-sand); color: var(--tt-primary); }
.tt-mega__col a span, .tt-drop__panel > a span { display: block; font-size: .78rem; color: var(--tt-muted); margin-top: .08rem; font-weight: 400; }
.tt-mega__lead { font-weight: 600; }
.tt-mega__all { color: var(--tt-primary) !important; font-weight: 600; margin-top: .35rem; }
.tt-mega__grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: .1rem 1.4rem; }
/* Real Tours 窄面板：一级顶栏 > 二级分组标题 > 三级条目缩进（Mark 定：条目不用图片） */
.tt-drop__panel--real { min-width: 340px; max-width: 380px; padding: .5rem .8rem .8rem; }
.tt-drop__panel--real .tt-real__head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .5rem .3rem; border-radius: var(--tt-r-sm); text-decoration: none; color: var(--tt-ink); }
.tt-drop__panel--real .tt-real__head:hover { background: var(--tt-sand); color: var(--tt-primary); }
.tt-drop__panel--real .tt-real__head .tt-real__t { font-weight: 700; }
.tt-drop__panel--real .tt-mega__h { margin: .6rem .3rem .25rem; padding-top: .6rem; border-top: 1px solid var(--tt-line); }
.tt-drop__panel--real .tt-real__item { display: block; padding: .32rem .3rem .32rem 1.15rem; border-radius: var(--tt-r-sm); text-decoration: none; color: var(--tt-ink); }
.tt-drop__panel--real .tt-real__item:hover { background: var(--tt-sand); color: var(--tt-primary); }
.tt-drop__panel--real .tt-real__txt { display: grid; gap: .08rem; }
.tt-drop__panel--real .tt-real__t { font-size: .86rem; font-weight: 500; line-height: 1.35; }
.tt-drop__panel--real .tt-real__s { font-size: .73rem; color: var(--tt-muted); font-weight: 400; }
.tt-drop__panel--real .tt-real__more { display: flex; align-items: center; justify-content: space-between; margin-left: 1.15rem; padding: .38rem .3rem; font-size: .83rem; font-weight: 600; color: var(--tt-primary) !important; text-decoration: none; border-radius: var(--tt-r-sm); }
.tt-drop__panel--real .tt-real__more:hover { background: var(--tt-sand); }
.tt-drop__panel--real .tt-real__arrow { color: var(--tt-muted); font-size: 1.05rem; line-height: 1; }
.tt-drop__panel--real .tt-real__card { display: block; margin-top: .6rem; padding: .6rem .7rem; background: var(--tt-ink); border-radius: var(--tt-r-sm); text-decoration: none; }
.tt-drop__panel--real .tt-real__card .tt-real__t { color: #fff; }
.tt-drop__panel--real .tt-real__card .tt-real__s { color: rgba(255,255,255,.72); }
.tt-drop__panel--real .tt-real__card:hover .tt-real__t { text-decoration: underline; }
/* Tibet Tours 左栏（2026-10-05 Mark 排版稿）：SGD 重点块 + 按天数红色链接流式排列 */
.tt-mega__h--dark { color: var(--tt-ink); font-size: .84rem; letter-spacing: .06em; }
.tt-mega__h--feature { margin-top: .55rem; padding-top: .65rem; border-top: 1px solid var(--tt-line); color: var(--tt-ink); }
.tt-mega__h--feature a { font-size: 1.04rem; font-weight: 800; letter-spacing: .02em; }
.tt-mega__h--feature em { color: var(--tt-primary); font-style: italic; }
.tt-mega__durs-h { margin: .65rem 0 .1rem; font-size: .95rem; font-weight: 700; color: var(--tt-ink); }
.tt-mega__durs { display: grid; gap: .1rem; }
.tt-mega__durs a { display: block; padding: .32rem .55rem .32rem 1.15rem; color: var(--tt-ink); font-weight: 400; font-size: .93rem; background: none; }
.tt-mega__durs a:hover { background: var(--tt-sand); color: var(--tt-primary); }
.tt-drop__panel > a.tt-mega__card { grid-column: 1 / -1; position: relative; padding: .5rem 1.9rem .5rem .7rem; margin-top: .3rem; border: 1px solid var(--tt-line); background: #fff; font-weight: 700; font-size: .88rem; color: var(--tt-primary); }
.tt-drop__panel > a.tt-mega__card:hover { border-color: var(--tt-primary); }
.tt-drop__panel > a.tt-mega__card::after { content: '\203A'; position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); color: var(--tt-muted); font-size: 1.1rem; line-height: 1; }
.tt-drop__panel > a.tt-mega__card span { margin-top: .1rem; font-weight: 400; }
.tt-drop__panel > a.tt-mega__card--now { color: var(--tt-ink); }
.tt-drop__panel > a.tt-mega__card--now span { color: var(--tt-primary); }

.tt-durnavwrap { border-top: 1px solid var(--tt-line); background: var(--tt-sand); }
.tt-durnav { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; max-width: var(--tt-max); margin: 0 auto; padding: .5rem 20px; font-size: .88rem; }
.tt-durnav__label { text-transform: uppercase; letter-spacing: .09em; font-size: .68rem; color: var(--tt-muted); margin-right: .35rem; font-weight: 700; }
.tt-durnav a { color: var(--tt-ink); text-decoration: none; padding: .22rem .6rem; border: 1px solid var(--tt-line-2); background: #fff; border-radius: 999px; }
.tt-durnav a:hover { border-color: var(--tt-primary); color: var(--tt-primary); }
.tt-durnav__sep { width: 1px; height: 18px; background: var(--tt-line-2); margin: 0 .4rem; }

/* ==========================================================================
   2. 主体容器（把默认窄栏放开成 1240）
   ========================================================================== */
/* 外壳页用暖米白底，白卡片浮在上面 —— 留白是底子给的，不靠字号撑 */
body.tt-type-tour, body.tt-type-private_tour, body.tt-type-real_tour,
body.tt-type-hub, body.tt-type-guide { background: var(--tt-page); }
.tt-main { padding-top: 0; padding-bottom: 7rem; }
/* 长文阅读：基准 16px / 行高 26（2026-10-11 Mark 拍板），并用 47em 统一正文列宽 */
.tt-content, .tt-sh__narrative, .tt-day2__c > p { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.tt-title { margin-bottom: 1rem; letter-spacing: -.015em; }
.tt-content { font-size: 16px; line-height: 26px; }
.tt-content > * + * { margin-top: 1.15rem; }
.tt-content h2 { margin-top: 2.4rem; margin-bottom: .6rem; }
.tt-content h3 { margin-top: 1.8rem; margin-bottom: .4rem; font-size: 1.2rem; }
.tt-content ul, .tt-content ol { padding-left: 1.25rem; }
.tt-content li + li { margin-top: .35rem; }
/* 正文文本块统一列宽 ≈ 活站 758px（图片 / 表格 / 栅格不受限） */
.tt-content > p, .tt-content > ul, .tt-content > ol, .tt-content > blockquote, .tt-content > h2, .tt-content > h3 { max-width: 760px; }
.tt-content img { border-radius: var(--tt-r); height: auto; }
.tt-content a { text-decoration-color: rgba(139, 58, 58, .35); text-underline-offset: 2px; }
.tt-content a:hover { text-decoration-color: var(--tt-primary); }
.tt-content table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tt-content th, .tt-content td { border-bottom: 1px solid var(--tt-line); padding: .6rem .5rem; text-align: left; }

/* 外壳自己接管宽度，突破 block 主题的 760px 约束（特异性高于 :where 约束规则） */
.tt-main .tt-sh { width: 100%; max-width: var(--tt-max); margin: 0 auto; padding: 0; box-sizing: border-box; }
/* 外壳页放开 post-content 区块的 760 约束（其他类型页保持窄栏可读） */
body.tt-type-tour .tt-main > .wp-block-post-content,
body.tt-type-tour .entry-content.tt-content,
body.tt-type-private_tour .tt-main > .wp-block-post-content,
body.tt-type-private_tour .entry-content.tt-content,
body.tt-type-real_tour .tt-main > .wp-block-post-content,
body.tt-type-real_tour .entry-content.tt-content { max-width: var(--tt-max) !important; width: 100% !important; }
/* 详情页正文 15px / 行高 25（2026-10-11 Mark 拍板：详情页内容长，字号略收） */
body.tt-type-tour .entry-content.tt-content,
body.tt-type-private_tour .entry-content.tt-content,
body.tt-type-real_tour .entry-content.tt-content { font-size: 15px; line-height: 25px; }

/* ==========================================================================
   3. 行程页外壳
   ========================================================================== */

/* 3.1 主图 —— 宽幅 2.64:1（2026-10-11 Mark 拍板：与活站主图比例对齐，上限 470px 锁定） */
.tt-sh__hero { position: relative; margin: 1.6rem 0 0; border-radius: var(--tt-r-lg); overflow: hidden; background: #2A2521; min-height: clamp(340px, 36vw, 470px); display: flex; align-items: flex-end; box-shadow: var(--tt-sh); }
.tt-sh__heroimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.tt-sh__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,13,11,.30) 0%, rgba(16,13,11,.18) 35%, rgba(16,13,11,.62) 72%, rgba(16,13,11,.88) 100%); }
.tt-sh__heroin { position: relative; z-index: 2; width: 100%; padding: clamp(22px, 3vw, 44px); color: #fff; }
.tt-sh__hero--plain { background: linear-gradient(135deg, #8B3A3A, #5E2424); min-height: 300px; }
/* v0.3.14：无图页的纯色主图色调（Mark 定：藏红与深天蓝都好看；配图未就位前先用纯色） */
.tt-sh__hero--plain.tt-tone--deepsky { background: linear-gradient(135deg, #1F5573, #0B2233); }
.tt-sh__hero--plain.tt-tone--sand    { background: linear-gradient(135deg, #6E5334, #3A2A17); }
.tt-sh__hero--plain.tt-tone--forest  { background: linear-gradient(135deg, #2F5340, #16301F); }
.tt-sh__hero--plain.tt-tone--slate   { background: linear-gradient(135deg, #3B4A55, #1E282F); }
.tt-sh__hero--plain.tt-tone--plum    { background: linear-gradient(135deg, #5A3350, #2E1930); }

.tt-crumb { font-size: .8rem; color: rgba(255,255,255,.82); margin: 0 0 auto; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; padding-bottom: 1.5rem; }
.tt-crumb a { color: rgba(255,255,255,.82); text-decoration: none; }
.tt-crumb a:hover { color: #fff; text-decoration: underline; }
.tt-crumb span { opacity: .55; }

.tt-sh__kick { margin: 0 0 .6rem; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #F0D9A8; }
.tt-sh__h1 { margin: 0 0 1.1rem; font-size: clamp(1.7rem, 3.6vw, 2.9rem); line-height: 1.12; letter-spacing: -.02em; color: #fff; font-family: var(--tt-serif); max-width: 20em; }
.tt-sh__lede { margin: 0 0 1.1rem; font-size: clamp(1rem, 1.4vw, 1.13rem); line-height: 1.6; color: rgba(255,255,255,.94); max-width: 44em; }
.tt-sh__chips { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0 0 1.9rem; }
.tt-sh__chips li { border: 1px solid rgba(255,255,255,.34); background: rgba(255,255,255,.12); backdrop-filter: blur(3px); border-radius: 999px; padding: .32rem .8rem; font-size: .84rem; color: #fff; }
.tt-sh__chips b { font-weight: 700; }
.tt-sh__herocta { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }

.tt-b { display: inline-block; padding: .72rem 1.25rem; border-radius: var(--tt-r-sm); text-decoration: none; font-weight: 600; font-size: .95rem; border: 1px solid transparent; }
.tt-b--solid { background: var(--tt-primary); color: #fff; }
.tt-b--solid:hover { background: var(--tt-primary-dark); color: #fff; }
.tt-b--light { background: #fff; color: var(--tt-ink); }
.tt-b--light:hover { background: var(--tt-sand); color: var(--tt-primary); }
.tt-b--ghost { border-color: rgba(255,255,255,.55); color: #fff; }
.tt-b--ghost:hover { background: rgba(255,255,255,.14); color: #fff; }
.tt-b--sm { padding: .5rem .95rem; font-size: .88rem; }

/* 3.2 信任条 */
.tt-sh__trust { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem 2.4rem; padding: 1.15rem 1.1rem; margin: 0; background: var(--tt-sand); border: 1px solid var(--tt-line); border-top: 0; border-radius: 0 0 var(--tt-r-lg) var(--tt-r-lg); font-size: .88rem; color: #453D36; }
.tt-sh__trust li { display: inline-flex; gap: .45rem; align-items: center; }
.tt-sh__trust li::before { content: "✓"; color: var(--tt-ok); font-weight: 700; }

/* 3.3 吸顶页内导航 */
.tt-sh__sub { position: sticky; top: var(--tt-hh); z-index: 40; margin: 2.6rem 0 0; background: rgba(255,255,255,.94); backdrop-filter: saturate(140%) blur(8px); border: 1px solid var(--tt-line); border-radius: var(--tt-r); box-shadow: var(--tt-sh-sm); }
.tt-sh__subin { display: flex; align-items: center; gap: .4rem 1.5rem; padding: .85rem 1.2rem; flex-wrap: wrap; }
.tt-sh__sublabel { font-family: var(--tt-serif); font-size: .95rem; font-weight: 700; color: var(--tt-ink); margin-right: .3rem; }
.tt-sh__sub a.tt-sh__sublink { color: var(--tt-body); text-decoration: none; font-size: .9rem; padding: .2rem 0; border-bottom: 2px solid transparent; }
.tt-sh__sub a.tt-sh__sublink:hover { color: var(--tt-primary); border-bottom-color: var(--tt-primary); }
.tt-sh__sub .tt-b { margin-left: auto; }

/* 3.4 正文 + 侧栏 */
.tt-sh__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 5rem; margin-top: 3.6rem; align-items: start; }
.tt-sh__aside { position: sticky; top: calc(var(--tt-hh) + 4.6rem); display: grid; gap: 1.5rem; }

.tt-sec { margin: 0 0 6rem; scroll-margin-top: calc(var(--tt-hh) + 4.2rem); }
.tt-sec__h { font-family: var(--tt-serif); font-size: clamp(1.5rem, 2.3vw, 2.05rem); font-weight: 500; margin: 0 0 .4rem; letter-spacing: -.015em; line-height: 1.25; }
.tt-sec__sub { color: var(--tt-muted); font-size: 1rem; line-height: 1.7; margin: -1.4rem 0 2.4rem; max-width: 62ch; }
.tt-sec__h + .tt-sec__rule { width: 44px; height: 2px; background: var(--tt-primary); opacity: .75; margin: 1.1rem 0 2.2rem; }

.tt-lede { font-size: 1.18rem; line-height: 1.65; color: #2F2A26; }
.tt-sh__narrative { font-size: 1.08rem; line-height: 1.92; max-width: 68ch; color: var(--tt-body); }
.tt-sh__narrative > * + * { margin-top: 1.7rem; }
.tt-sh__narrative p { margin: 0; }

/* 亮点 */
.tt-glance { list-style: none; padding: 0; margin: 1.6rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: .7rem 1.6rem; }
.tt-glance li { position: relative; padding-left: 1.9rem; font-size: 1rem; line-height: 1.55; }
.tt-glance li::before { content: "✓"; position: absolute; left: 0; top: .1rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: #EAF2EA; color: var(--tt-ok); font-size: .8rem; display: flex; align-items: center; justify-content: center; font-weight: 700; }

/* 逐日行程（时间轴） */
.tt-days { list-style: none; padding: 0; margin: 0; position: relative; }
.tt-days::before { content: ""; position: absolute; left: 21px; top: 12px; bottom: 12px; width: 2px; background: var(--tt-line); }
/* 逐日行程：默认全部收起，客人先看骨架（住哪／走多远），想看细节再点开
   —— 结构：li > details > (summary 常显 = 日号 + 标题 + 关键信息) + 正文 */
.tt-day2 { position: relative; padding: 0 0 3rem; }
.tt-day2__d, .tt-day2__flat { position: relative; padding-left: 68px; }
.tt-day2__sum { display: block; list-style: none; cursor: pointer; padding-right: 2.6rem; }
.tt-day2__sum::-webkit-details-marker { display: none; }
.tt-day2__sum::marker { content: ""; }
.tt-day2__n { position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--tt-primary); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; line-height: 1.05; box-shadow: 0 0 0 4px #fff; }
.tt-day2__n b { font-size: 1.05rem; letter-spacing: 0; }
.tt-day2__t { margin: .35rem 0 .5rem; font-size: 1.12rem; font-family: var(--tt-serif); transition: color .18s; }
.tt-day2__c > p { margin: .7rem 0; color: var(--tt-body); line-height: 1.85; max-width: 66ch; }
.tt-day2__meta { display: flex; flex-wrap: wrap; gap: .35rem 1.4rem; font-size: .85rem; color: var(--tt-muted); margin: .1rem 0 0; }
.tt-day2__meta b { color: #4A423C; font-weight: 600; }

/* 展开三角 */
.tt-day2__chev { position: absolute; right: .55rem; top: .92rem; width: 8px; height: 8px; border-right: 1.6px solid var(--tt-muted); border-bottom: 1.6px solid var(--tt-muted); transform: rotate(45deg); transition: transform .22s ease, border-color .18s; }
.tt-day2__sum:hover .tt-day2__t, .tt-day2__sum:focus-visible .tt-day2__t { color: var(--tt-primary); }
.tt-day2__sum:hover .tt-day2__chev { border-color: var(--tt-primary); }
.tt-day2__sum:focus-visible { outline: 2px solid var(--tt-primary); outline-offset: 4px; border-radius: 4px; }
.tt-day2__d[open] .tt-day2__chev { transform: rotate(-135deg); }
.tt-day2__d[open] .tt-day2__c { animation: tt-unfold .28s ease both; }
@keyframes tt-unfold { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* 一键展开／收起 */
.tt-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1.2rem 2rem; flex-wrap: wrap; }
.tt-sec__head .tt-sec__h { margin-bottom: 0; }
.tt-sec__head + .tt-sec__rule { width: 44px; height: 2px; background: var(--tt-primary); opacity: .75; margin: 1.1rem 0 2.2rem; }
.tt-days__all { -webkit-appearance: none; appearance: none; background: transparent; border: 1px solid var(--tt-line-2); color: var(--tt-body); font-family: inherit; font-size: .82rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; padding: .5rem 1.1rem; border-radius: 999px; cursor: pointer; white-space: nowrap; transition: border-color .18s, color .18s, background .18s; }
.tt-days__all:hover { border-color: var(--tt-primary); color: var(--tt-primary); background: rgba(139, 58, 58, .04); }
.tt-days__all:focus-visible { outline: 2px solid var(--tt-primary); outline-offset: 2px; }
@media print { .tt-day2__c { display: block !important; } .tt-day2__chev { display: none; } }

/* Days 1–3 摘要卡（2026-10-11：忠于活站，含 Full detail 跳转） */
.tt-d13 { list-style: none; padding: 0; margin: 1.3rem 0 0; border: 1px solid var(--tt-line); border-radius: var(--tt-r); overflow: hidden; background: var(--tt-paper); }
.tt-d13 li { display: flex; flex-wrap: wrap; gap: .3rem .8rem; align-items: baseline; padding: .85rem 1.15rem; border-bottom: 1px solid var(--tt-line); font-size: .95rem; line-height: 1.55; }
.tt-d13 li:last-child { border-bottom: 0; }
.tt-d13 li b { flex: 0 0 auto; min-width: 4.4rem; font-family: var(--tt-sans); font-size: .74rem; letter-spacing: .07em; text-transform: uppercase; color: var(--tt-primary); font-weight: 700; }
.tt-d13__sub { color: var(--tt-muted); font-size: .87rem; }
/* Full detail 按钮的上下留白（紧跟在摘要行之后） */
.tt-content > p:has(> .tt-b) { margin-top: 1rem; }

/* 含 / 不含 */
.tt-incl { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; }
.tt-incl__col { background: var(--tt-paper); border: 1px solid var(--tt-line); border-radius: var(--tt-r); padding: 1.6rem 1.6rem 1.7rem; }
.tt-incl__col h3 { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--tt-muted); margin: 0 0 .7rem; }
.tt-incl__col ul { list-style: none; padding: 0; margin: 0; }
.tt-incl__col li { position: relative; padding-left: 1.5rem; margin-bottom: .7rem; font-size: .97rem; line-height: 1.7; }
.tt-incl__col li::before { position: absolute; left: 0; font-weight: 700; }
.tt-incl__col--yes li::before { content: "✓"; color: var(--tt-ok); }
.tt-incl__col--no li::before { content: "✕"; color: #A8524F; }

/* 图集 */
.tt-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; }
.tt-gallery img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--tt-r); display: block; }
.tt-gallery img:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: 3 / 2; }
.tt-gallery--2 { grid-template-columns: repeat(2, 1fr); }
.tt-gallery--4 { grid-template-columns: repeat(4, 1fr); }

/* FAQ */
.tt-faq { display: grid; gap: .55rem; }
.tt-faq__item { border: 1px solid var(--tt-line); border-radius: var(--tt-r); background: var(--tt-paper); }
.tt-faq__item > summary { cursor: pointer; padding: .95rem 1.1rem; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 1rem; font-size: 1.02rem; }
.tt-faq__item > summary::-webkit-details-marker { display: none; }
.tt-faq__item > summary::after { content: "+"; color: var(--tt-primary); font-weight: 700; }
.tt-faq__item[open] > summary::after { content: "–"; }
.tt-faq__item[open] { border-color: var(--tt-line-2); box-shadow: var(--tt-sh-sm); }
.tt-faq__a { padding: 0 1.1rem 1.15rem; color: var(--tt-body); line-height: 1.85; }
.tt-faq__a p { margin: .4rem 0; }

/* 3.5 侧栏卡片 */
.tt-card { border: 1px solid var(--tt-line); border-radius: var(--tt-r); background: var(--tt-paper); padding: 1.6rem 1.5rem; box-shadow: 0 1px 2px rgba(30,26,23,.03); }
.tt-card__h { font-size: .74rem; text-transform: uppercase; letter-spacing: .11em; color: var(--tt-muted); margin: 0 0 .8rem; font-weight: 700; }
.tt-facts { display: grid; gap: .1rem; margin: 0; }
.tt-fact { display: flex; gap: .8rem; padding: .5rem 0; border-bottom: 1px dashed var(--tt-line); font-size: .92rem; }
.tt-fact:last-child { border-bottom: 0; }
.tt-fact dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--tt-muted); flex: 0 0 40%; padding-top: .15rem; }
.tt-fact dd { margin: 0; font-weight: 600; color: var(--tt-ink); }

.tt-card--enq { border-color: var(--tt-line-2); box-shadow: var(--tt-sh); background: linear-gradient(180deg, #FFFDFA, #FAF6F0); }
.tt-enq__price { font-family: var(--tt-serif); font-size: 1.5rem; margin: 0 0 .2rem; }
.tt-enq__pricenote { margin: 0 0 .9rem; color: var(--tt-muted); font-size: .88rem; }
.tt-card--enq .tt-b { display: block; text-align: center; }
.tt-enq__points { list-style: none; padding: 0; margin: 1rem 0 0; font-size: .86rem; color: #453D36; display: grid; gap: .4rem; }
.tt-enq__points li { display: flex; gap: .45rem; }
.tt-enq__points li::before { content: "✓"; color: var(--tt-ok); font-weight: 700; }
.tt-enq__reply { margin: .9rem 0 0; font-size: .82rem; color: var(--tt-muted); }

/* 3.6 询单带 */
.tt-sh__band { margin: 0 0 6rem; background: linear-gradient(180deg, #F7F2EA, #F2ECE2); border: 1px solid var(--tt-line); border-radius: var(--tt-r-lg); padding: clamp(1.4rem, 2.6vw, 2.4rem); scroll-margin-top: calc(var(--tt-hh) + 4.2rem); }
.tt-sh__band h2 { margin-top: 0; }
.tt-inquiry__scope { color: var(--tt-body); }
.tt-inquiry__reply { margin: .95rem 0 0; font-size: .84rem; color: var(--tt-muted); }
.tt-inquiry__form { margin-top: 1.2rem; }
.tt-inquiry__form input[type="text"], .tt-inquiry__form input[type="email"], .tt-inquiry__form textarea, .tt-inquiry__form select { width: 100%; padding: .62rem .7rem; border: 1px solid #CFC6BC; border-radius: var(--tt-r-sm); font: inherit; background: #fff; }
.tt-inquiry__form button, .tt-inquiry__form input[type="submit"] { background: var(--tt-primary); color: #fff; border: 0; padding: .78rem 1.5rem; border-radius: var(--tt-r-sm); font-weight: 600; cursor: pointer; }
.tt-inquiry__form button:hover { background: var(--tt-primary-dark); }
.tt-form-placeholder { color: var(--tt-muted); font-style: italic; }

/* 3.7 相关行程卡 */
.tt-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(268px, 1fr)); gap: 1.4rem; margin: 1.4rem 0 0; }
.tt-card--tour { padding: 0; overflow: hidden; display: flex; flex-direction: column; border-radius: var(--tt-r); transition: box-shadow .28s ease, transform .28s ease, border-color .28s ease; }
.tt-card--tour .tt-card__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }

/* 相似行程：行程页最底部（询单带之后、页脚之前）
   —— 客人想看更多时直接横向逛，不必退回列表页 */
.tt-cards--tours { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.8rem; margin-top: 1.8rem; }
.tt-sec--similar { margin-bottom: 0; }
.tt-card--tour:hover { box-shadow: var(--tt-sh); transform: translateY(-3px); border-color: var(--tt-line-2); }
.tt-card--tour .tt-card__media { display: block; overflow: hidden; }
.tt-card--tour .tt-card__media img { transition: transform .6s ease; }
.tt-card--tour:hover .tt-card__media img { transform: scale(1.04); }
.tt-card--tour .tt-card__body { padding: 1.15rem 1.25rem 1.3rem; gap: .45rem; }
.tt-card--tour .tt-card__t { font-size: 1.06rem; line-height: 1.38; }
.tt-card--tour .tt-card__meta { font-size: .84rem; line-height: 1.6; }

/* ---------- 12. 亲友结伴卡（goaheadtours 式 group trip）· 政策字段驱动 ---------- */
.tt-gt { display: flex; align-items: center; gap: 1.4rem; padding: 1.5rem 1.7rem; border: 1px solid #EAD9C6; border-radius: var(--tt-r); background: #F8EFE3; }
.tt-gt__ico { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%; background: var(--tt-primary); position: relative; }
.tt-gt__ico::before { content: ""; position: absolute; width: 12px; height: 12px; border-radius: 50%; background: #FFFCF8; left: 13px; top: 13px; box-shadow: 18px 0 0 #FFFCF8; }
.tt-gt__ico::after { content: ""; position: absolute; width: 15px; height: 9px; border-radius: 8px 8px 3px 3px; background: #FFFCF8; left: 11px; top: 29px; box-shadow: 19px 0 0 #FFFCF8; }
.tt-gt__h { margin: 0; font-family: var(--tt-serif); font-size: 1.18rem; color: var(--tt-ink); }
.tt-gt__p { margin: .3rem 0 0; color: var(--tt-body); line-height: 1.65; font-size: .93rem; }
.tt-gt .tt-b { flex: 0 0 auto; }

/* ---------- 13. 沿途住宿卡（goaheadtours 式 hotels） ---------- */
.tt-hotels { display: grid; grid-template-columns: repeat(auto-fit, minmax(268px, 1fr)); gap: 1.4rem; margin: 1.4rem 0 0; }
.tt-hotel { padding: 0; overflow: hidden; display: flex; flex-direction: column; border-radius: var(--tt-r); border: 1px solid var(--tt-line); background: var(--tt-paper); }
.tt-hotel__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.tt-hotel__body { padding: 1.05rem 1.2rem 1.25rem; }
.tt-hotel__t { margin: 0 0 .35rem; font-family: var(--tt-serif); font-size: 1.02rem; color: var(--tt-ink); }
.tt-hotel__body p { margin: 0; color: var(--tt-body); font-size: .9rem; line-height: 1.65; }

/* ---------- 14. 逐日缩略图（收起状态也能扫图选日子） ---------- */
.tt-day2__thumb { position: absolute; right: 2.1rem; top: .1rem; width: 78px; height: 54px; object-fit: cover; border-radius: 8px; border: 1px solid var(--tt-line); }
.tt-day2__thumb ~ .tt-day2__t { padding-right: 92px; }
.tt-day2__thumb ~ .tt-day2__meta { padding-right: 92px; }

/* ---------- 15. 询单表单（Fluent Forms）外观对齐本站 ---------- */
.tt-inquiry__form .fluentform .ff-el-group { margin-bottom: 1.05rem; }
.tt-inquiry__form .fluentform .ff-el-input--label label { display: block; font-size: .88rem; font-weight: 600; color: var(--tt-body); margin-bottom: .32rem; }
.tt-inquiry__form .fluentform input[type="text"],
.tt-inquiry__form .fluentform input[type="email"],
.tt-inquiry__form .fluentform input[type="number"],
.tt-inquiry__form .fluentform input[type="tel"],
.tt-inquiry__form .fluentform textarea,
.tt-inquiry__form .fluentform .ff-el-form-control {
  width: 100%; padding: .78rem .95rem; border: 1px solid var(--tt-line-2); border-radius: var(--tt-r-sm);
  background: var(--tt-paper); color: var(--tt-ink); font-family: inherit; font-size: .95rem; line-height: 1.5; }
.tt-inquiry__form .fluentform input:focus,
.tt-inquiry__form .fluentform textarea:focus,
.tt-inquiry__form .fluentform .ff-el-form-control:focus {
  outline: none; border-color: var(--tt-primary); box-shadow: 0 0 0 3px rgba(139, 58, 58, .10); }
.tt-inquiry__form .fluentform .ff-btn-submit,
.tt-inquiry__form .fluentform button[type="submit"] {
  background: var(--tt-primary) !important; color: #fff !important; border: 1px solid var(--tt-primary) !important;
  border-radius: 999px; padding: .8rem 1.8rem; font-family: inherit; font-size: .95rem; letter-spacing: .01em; cursor: pointer; }
.tt-inquiry__form .fluentform .ff-btn-submit:hover { background: #7A3232 !important; }
.tt-inquiry__form .fluentform .ff-el-is-error input,
.tt-inquiry__form .fluentform .ff-el-is-error textarea { border-color: #C0392B; }
.tt-inquiry__form .fluentform .error { display: block; margin-top: .25rem; color: #A32D2D; font-size: .84rem; }
.tt-inquiry__form .fluentform .ff-name-fields { display: flex; gap: 1rem; }
.tt-inquiry__form .fluentform .ff-name-fields > div { flex: 1 1 0; }
.tt-inquiry__form .fluentform .ff-message-success { border: 1px solid var(--tt-line-2); border-left: 3px solid var(--tt-primary); border-radius: 0 var(--tt-r-sm) var(--tt-r-sm) 0; background: var(--tt-sand); padding: .9rem 1.1rem; }
@media (max-width: 900px) { .tt-cards--tours { grid-template-columns: 1fr; gap: 1.3rem; } }
.tt-card__body { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.tt-card__t { margin: 0; font-size: 1.08rem; font-family: var(--tt-serif); }
.tt-card__t a { text-decoration: none; color: var(--tt-ink); }
.tt-card__t a:hover { color: var(--tt-primary); }
.tt-card__meta { margin: 0; font-size: .88rem; color: var(--tt-muted); }
.tt-card__price { margin: 0 0 .2rem; font-weight: 700; color: var(--tt-primary); }
.tt-btn { display: inline-block; padding: .6rem 1rem; border-radius: var(--tt-r-sm); text-decoration: none; font-weight: 600; font-size: .93rem; text-align: center; }
.tt-btn--ghost { border: 1px solid var(--tt-primary); color: var(--tt-primary); margin-top: auto; }
.tt-btn--ghost:hover { background: var(--tt-primary); color: #fff; }

/* 通用列表 */
.tt-list { margin: .8rem 0; }
.tt-list--check { list-style: none; padding-left: 0; }
.tt-list--check li { position: relative; padding-left: 1.6rem; margin-bottom: .45rem; }
.tt-list--check li::before { content: "✓"; position: absolute; left: 0; color: var(--tt-ok); font-weight: 700; }

/* ---------- 定期出发枢纽（沿用） ---------- */
.tt-departures { margin: 1.5rem 0; }
.tt-departures__col { background: var(--tt-sand); border: 1px solid var(--tt-line); border-radius: var(--tt-r); padding: 1.1rem 1.25rem; margin-bottom: 1.6rem; }
.tt-departures__col h3 { font-size: .95rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tt-muted); margin: .2rem 0 .6rem; }
.tt-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0 0 1rem; }
.tt-chip { display: inline-block; border: 1px solid var(--tt-line); background: #fff; border-radius: 999px; padding: .35rem .85rem; text-decoration: none; color: var(--tt-ink); font-size: .92rem; }
.tt-chip:hover { border-color: var(--tt-primary); color: var(--tt-primary); }
.tt-departures__group { margin: 2rem 0 0; scroll-margin-top: calc(var(--tt-hh) + 4rem); }
.tt-departures__note { font-size: .9rem; color: var(--tt-muted); font-style: italic; }

/* ---------- 兼容旧类 ---------- */
.tt-hero { margin: 0 0 1.6rem; }
.tt-hero img { width: 100%; height: auto; border-radius: var(--tt-r); display: block; }
.tt-hero figcaption { font-size: .85rem; color: var(--tt-muted); margin-top: .4rem; }
.tt-inquiry { background: var(--tt-sand); border: 1px solid var(--tt-line); border-radius: var(--tt-r); padding: 1.5rem 1.5rem 1.75rem; margin: 2.4rem 0 0; }
.tt-facts--case { background: #fff; }
.tt-case__ref { margin-top: .6rem; font-size: .95rem; }
.tt-related { margin-top: 2rem; border-top: 1px solid var(--tt-line); padding-top: 1rem; }
.tt-related h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .07em; color: var(--tt-muted); }
.tt-related ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; }

/* ==========================================================================
   4. 页脚
   ========================================================================== */
.tt-footer { margin-top: 3rem; border-top: 1px solid var(--tt-line); background: var(--tt-sand); }
.tt-trustbarwrap { padding-top: 1rem; }
.tt-trustbar { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: center; padding: .8rem 0; border-bottom: 1px solid var(--tt-line); }
.tt-trustbar__item { font-size: .9rem; color: #3F3833; display: inline-flex; gap: .4rem; align-items: center; }
.tt-trustbar__ico { color: var(--tt-ok); font-weight: 700; }
.tt-footer__main { padding-top: 2rem; padding-bottom: 1.5rem; }
.tt-footer__cols { gap: 1.5rem; }
.tt-footer h3 { font-size: 1rem !important; letter-spacing: .04em; }
.tt-flist { list-style: none; padding: 0; margin: 0; font-size: .92rem; }
.tt-flist li { margin-bottom: .35rem; }
.tt-flist a { color: #3F3833; text-decoration: none; }
.tt-flist a:hover { color: var(--tt-primary); text-decoration: underline; }
.tt-flist__h { font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--tt-muted); margin: 1.15rem 0 .5rem; }
.tt-fcontact { font-size: .92rem; color: #3F3833; }
.tt-fsister { font-size: .85rem; color: var(--tt-muted); border-top: 1px dashed var(--tt-line); padding-top: .7rem; }
.tt-copy { font-size: .82rem; color: var(--tt-muted); margin-top: 1.6rem; padding-top: 1rem; border-top: 1px solid var(--tt-line); }

/* ==========================================================================
   5. 响应式
   ========================================================================== */
@media (max-width: 1080px) {
  :root { --tt-hh: 96px; }
  .tt-sh__grid { grid-template-columns: minmax(0, 1fr) 300px; gap: 2rem; }
}
@media (max-width: 900px) {
  :root { --tt-hh: 118px; }
  .tt-header__in { flex-direction: column; align-items: flex-start; }
  .tt-nav { gap: .7rem; font-size: .9rem; }
  .tt-drop__panel { position: static; box-shadow: none; margin-top: .4rem; }
  .tt-mega__panel, .tt-mega__panel--tours, .tt-mega__panel--guide { min-width: 0; grid-template-columns: 1fr; gap: .2rem; }
  .tt-durnav { font-size: .82rem; }
  .tt-sh__grid { grid-template-columns: 1fr; gap: 2rem; }
  .tt-sh__aside { position: static; }
  .tt-sh__sub { position: static; }
  .tt-sh__sub .tt-b { margin-left: 0; }
  .tt-gallery, .tt-gallery--4 { grid-template-columns: repeat(2, 1fr); }
  .tt-gallery img:first-child { grid-column: span 2; grid-row: auto; }
  .tt-day2__d, .tt-day2__flat { padding-left: 58px; }
  .tt-day2__n { width: 38px; height: 38px; }
  .tt-days::before { left: 18px; }
  .tt-day2__chev { right: .1rem; top: .85rem; }
  .tt-day2__sum { padding-right: 1.8rem; }
  .tt-day2__thumb { right: 1.6rem; width: 58px; height: 42px; top: .15rem; }
  .tt-day2__thumb ~ .tt-day2__t, .tt-day2__thumb ~ .tt-day2__meta { padding-right: 66px; }
  .tt-gt { flex-direction: column; align-items: flex-start; gap: .9rem; padding: 1.3rem 1.2rem; }
  .tt-sh__trust { border-radius: 0 0 var(--tt-r) var(--tt-r); }
}
@media (max-width: 560px) {
  .tt-sh__hero { min-height: 340px; border-radius: var(--tt-r); }
  .tt-sh__heroin { padding: 18px; }
  .tt-sh__chips li { font-size: .78rem; }
  .tt-b { padding: .65rem 1rem; font-size: .9rem; }
}

/* ---------- 10. 安静版 CTA（不催人） ---------- */
.tt-b--quiet { border-color: var(--tt-line-2); color: var(--tt-body); background: var(--tt-paper); }
.tt-b--quiet:hover { border-color: var(--tt-primary); color: var(--tt-primary); }

/* ---------- 11. 热度（Popularity degree）与定制入口 ---------- */
/* 星级 = 有多少客人选过这条线路（不是评价评分），因此用「一档一星」而非精确分数 */
.tt-stars { margin: .15rem 0 .55rem; font-size: 1.2rem; letter-spacing: .14em; line-height: 1; }
.tt-stars__i { color: #DED5C8; }
.tt-stars__i.is-on { color: var(--tt-accent); }
.tt-pop__note { margin: 0; font-size: .84rem; color: var(--tt-muted); line-height: 1.6; }

/* 只出现在私享 / 可定制线路：通向 tailor-made 表单，带上来源页 */
.tt-enq__custom { margin: 1rem 0 0; padding-top: .95rem; border-top: 1px dashed var(--tt-line-2); }
.tt-enq__customlink { display: inline-block; font-weight: 600; color: var(--tt-primary); text-decoration: none; border-bottom: 1px solid rgba(139, 58, 58, .35); padding-bottom: 1px; }
.tt-enq__customlink:hover { border-bottom-color: var(--tt-primary); }
.tt-enq__custom span { display: block; margin-top: .4rem; font-size: .82rem; color: var(--tt-muted); line-height: 1.62; }

/* tailor-made 表单页：顶部回显客人从哪条线路过来 */
.tt-inquiry__from { background: var(--tt-sand); border-left: 3px solid var(--tt-primary); padding: .75rem 1.05rem; border-radius: 0 var(--tt-r-sm) var(--tt-r-sm) 0; font-size: .94rem; margin: 0 0 1.3rem; }
.tt-inquiry__from a { color: var(--tt-primary); font-weight: 600; }
.tt-inquiry__from span { display: block; font-size: .84rem; color: var(--tt-muted); margin-top: .25rem; }
.tt-sh__textlink { color: #fff; text-decoration: none; font-size: .95rem; border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 2px; }
.tt-sh__textlink:hover { border-bottom-color: #fff; }

/* ============ 16. /tour/ 枢纽页（报告 20 九段结构，v0.2.19） ============ */
.tt-page-wide .entry-content.tt-content { max-width: 1240px !important; }
.tt-hub__jump { display: flex; gap: .8rem; margin: 1.4rem 0 2.2rem; }
.tt-hub__jump a { flex: 1; text-align: center; padding: .9rem 1rem; border: 1px solid var(--tt-line); border-radius: var(--tt-r-sm); background: #fff; color: var(--tt-ink); font-weight: 600; text-decoration: none; }
.tt-hub__jump a:hover { border-color: var(--tt-primary); color: var(--tt-primary); }
.tt-hub__sec { margin: 2.6rem 0 3.2rem; scroll-margin-top: calc(var(--tt-hh) + 1.4rem); }
.tt-hub__sec h2 { font-size: 1.5rem; margin: 0 0 1.1rem; color: var(--tt-ink); }
.tt-hub__themes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.tt-hub__theme { position: relative; display: block; border-radius: var(--tt-r-sm); overflow: hidden; text-decoration: none; }
.tt-hub__theme img { width: 100%; aspect-ratio: 14/9; object-fit: cover; display: block; }
.tt-hub__theme-t { position: absolute; left: 0; right: 0; bottom: 1.45rem; padding: 1.8rem .8rem .15rem; background: linear-gradient(transparent, rgba(20,15,10,.78)); color: #fff; font-weight: 600; font-size: .95rem; line-height: 1.25; }
.tt-hub__theme-s { position: absolute; left: 0; right: 0; bottom: 0; padding: .15rem .8rem .6rem; background: linear-gradient(rgba(20,15,10,.78), rgba(20,15,10,.86)); color: #F3EAE0; font-size: .78rem; font-style: italic; line-height: 1.3; }
.tt-hub__theme:hover .tt-hub__theme-t { text-decoration: underline; }
#tt-themes, #tt-duration, #tt-sgd, #tt-private, #tt-reading { scroll-margin-top: calc(var(--tt-hh) + 1.4rem); }
.tt-hub__durs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.tt-hub__dur { display: block; padding: 1.1rem 1.2rem; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-r-sm); text-decoration: none; }
.tt-hub__dur:hover { border-color: var(--tt-primary); }
.tt-hub__durt { display: block; font-weight: 700; font-size: 1.08rem; color: var(--tt-ink); }
.tt-hub__durs2 { display: block; margin-top: .3rem; font-size: .85rem; color: var(--tt-muted); }
.tt-hub__sgd { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.tt-hub__tour { display: block; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-r-sm); overflow: hidden; text-decoration: none; }
.tt-hub__tour img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.tt-hub__tour:hover { border-color: var(--tt-primary); }
.tt-hub__td { display: block; padding: .65rem .8rem 0; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--tt-primary); font-weight: 700; }
.tt-hub__tt { display: block; padding: .25rem .8rem .85rem; font-size: .88rem; line-height: 1.4; color: var(--tt-ink); font-weight: 600; }
.tt-hub__private { background: var(--tt-sand); border-radius: var(--tt-r-sm); padding: 1.6rem 1.8rem; }
.tt-hub__private p { max-width: 760px; }
.tt-hub__plinks { display: flex; gap: 1.6rem; margin-top: .9rem; }
.tt-hub__plinks a { color: var(--tt-primary); font-weight: 700; text-decoration: none; }
.tt-hub__plinks a:hover { text-decoration: underline; }
.tt-hub__note { margin: -.1rem 0 1.1rem; color: var(--tt-muted); font-size: .95rem; max-width: 62ch; }
.tt-hub__read { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem 1.6rem; }
.tt-hub__read a { display: block; padding: .5rem 0; color: var(--tt-ink); text-decoration: none; border-bottom: 1px solid var(--tt-line); }
.tt-hub__read a:hover { color: var(--tt-primary); }
@media(max-width:900px){ .tt-hub__themes,.tt-hub__durs,.tt-hub__read{grid-template-columns:1fr 1fr;} .tt-hub__sgd{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .tt-hub__themes,.tt-hub__durs,.tt-hub__sgd,.tt-hub__read{grid-template-columns:1fr;} }

/* ============ 17. 内容页外壳（hub / guide / story / company）v0.2.25 ============ */
/* 背景与宽度：这几类页面放开块主题的 760 窄栏（正文列宽由 .tt-doc__body 单独收窄） */
body.tt-type-hub, body.tt-type-guide, body.tt-type-story, body.tt-type-company { background: var(--tt-page); }
body.tt-type-hub .tt-main > .wp-block-post-content,
body.tt-type-guide .tt-main > .wp-block-post-content,
body.tt-type-story .tt-main > .wp-block-post-content,
body.tt-type-company .tt-main > .wp-block-post-content,
body.tt-type-hub .entry-content.tt-content,
body.tt-type-guide .entry-content.tt-content,
body.tt-type-story .entry-content.tt-content,
body.tt-type-company .entry-content.tt-content { max-width: var(--tt-max) !important; width: 100% !important; }

/* 标题区：比行程页矮一档，不抢正文 */
.tt-sh__hero--doc { min-height: clamp(260px, 30vw, 380px); }
.tt-sh__hero--doc .tt-sh__lede { max-width: 46rem; }

/* 正文列 */
.tt-doc { padding-top: 2.4rem; }
.tt-doc__body { max-width: 46rem; margin: 0 auto; }
/* 枢纽页要放卡列表，正文列放宽到整壳；文字块仍收在 46rem 并居中，卡列表才吃得开 */
.tt-sh--hub .tt-doc__body { max-width: 74rem; }
.tt-sh--hub .tt-doc__body .tt-content > p,
.tt-sh--hub .tt-doc__body .tt-content > ul,
.tt-sh--hub .tt-doc__body .tt-content > ol,
.tt-sh--hub .tt-doc__body .tt-content > h2,
.tt-sh--hub .tt-doc__body .tt-content > h3 { max-width: 46rem; margin-left: auto; margin-right: auto; }
.tt-doc__body .tt-content { font-size: 1.0625rem; line-height: 1.75; color: var(--tt-body); }
.tt-doc__body .tt-content > * + * { margin-top: 1.1rem; }
.tt-doc__body .tt-content h2 { margin: 2.6rem 0 .7rem; font-size: 1.42rem; color: var(--tt-ink); scroll-margin-top: calc(var(--tt-hh) + 1.4rem); }
.tt-doc__body .tt-content h3 { margin: 1.9rem 0 .5rem; font-size: 1.14rem; color: var(--tt-ink); }
.tt-doc__body .tt-content a { color: var(--tt-primary); text-decoration-color: rgba(139,58,58,.35); text-underline-offset: 2px; }

/* 目录（≥3 个 h2 才出现） */
.tt-doc__toc { max-width: 46rem; margin: 0 auto 2.2rem; padding: 1.1rem 1.4rem; background: var(--tt-paper); border: 1px solid var(--tt-line); border-left: 3px solid var(--tt-primary); border-radius: var(--tt-r-sm); }
.tt-doc__toch { margin: 0 0 .5rem; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tt-muted); font-weight: 700; }
.tt-doc__toc ol { margin: 0; padding-left: 1.2rem; columns: 2; column-gap: 2rem; }
.tt-doc__toc li { margin: .25rem 0; break-inside: avoid; }
.tt-doc__toc a { color: var(--tt-ink); text-decoration: none; font-size: .95rem; }
.tt-doc__toc a:hover { color: var(--tt-primary); text-decoration: underline; }

/* FAQ / 询单带 */
.tt-doc__faq { max-width: 46rem; margin: 3rem auto 0; }
.tt-doc__h2 { font-size: 1.42rem; margin: 0 0 1rem; color: var(--tt-ink); }
.tt-sh--doc .tt-sh__band { max-width: 62rem; margin-left: auto; margin-right: auto; }

/* ============ 18. 枢纽/概览卡列表（[tt_hub_list]）v0.2.25 ============ */
.tt-hl { margin: 3rem 0 3.4rem; }
.tt-hl:first-child { margin-top: 2.4rem; }
.tt-hl__kick { margin: 0 0 .3rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tt-accent); font-weight: 700; }
.tt-hl__h { margin: 0 0 .5rem; font-size: 1.5rem; color: var(--tt-ink); scroll-margin-top: calc(var(--tt-hh) + 1.4rem); }
.tt-hl__note { margin: 0 0 1.6rem; color: var(--tt-muted); font-size: .98rem; max-width: 46rem; line-height: 1.6; }
.tt-hl__list { display: grid; gap: 1.2rem; }
.tt-hl__more { margin-top: 1.2rem; }
.tt-hl__more > summary { list-style: none; cursor: pointer; display: inline-block; padding: .7rem 1.5rem; border: 1px solid var(--tt-line-2); border-radius: 999px; font-size: .9rem; font-weight: 600; color: var(--tt-primary); background: var(--tt-paper); }
.tt-hl__more > summary::-webkit-details-marker { display: none; }
.tt-hl__more > summary:hover { border-color: var(--tt-primary); }
.tt-hl__more[open] > summary { margin-bottom: 1.2rem; }
.tt-hl__list--more { margin-top: 1.2rem; }

/* 行式（主题枢纽：图左文右，与活站 /everest-base-camp-tours 一列到底一致） */
.tt-hl--row .tt-hl__list { grid-template-columns: 1fr; gap: 0; }
.tt-hl--row .tt-hl__row { display: flex; flex-direction: column; gap: 1.1rem; padding: 1.5rem 0; border-bottom: 1px dashed var(--tt-line-2); }
.tt-hl--row .tt-hl__row:first-child { padding-top: .4rem; }
.tt-hl--row .tt-hl__row:last-child { border-bottom: 0; }
.tt-hl__media { display: block; position: relative; border-radius: var(--tt-r); overflow: hidden; background: var(--tt-sand-2); flex: 0 0 auto; }
.tt-hl__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.tt-hl__row:hover .tt-hl__media img { transform: scale(1.03); }
.tt-hl__ph { display: block; width: 100%; aspect-ratio: 16/10; background: linear-gradient(135deg, var(--tt-sand) 0%, var(--tt-sand-2) 100%); }
.tt-hl--row .tt-hl__media { width: 100%; aspect-ratio: 16/9; }
.tt-hl__b { flex: 1 1 auto; min-width: 0; }
.tt-hl__ekick { margin: 0 0 .35rem; font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; color: var(--tt-accent); font-weight: 700; }
.tt-hl__ikick { position: absolute; left: .7rem; top: .7rem; padding: .3rem .75rem; border-radius: 999px; background: rgba(28,22,18,.72); color: #FBF6EE; font-size: .7rem; font-weight: 700; letter-spacing: .02em; backdrop-filter: blur(3px); }
.tt-hl__t { margin: 0 0 .35rem; font-size: 1.14rem; line-height: 1.35; color: var(--tt-ink); }
.tt-hl__t a { color: inherit; text-decoration: none; }
.tt-hl__t a:hover { color: var(--tt-primary); text-decoration: underline; }
.tt-hl__meta { margin: 0 0 .5rem; font-size: .8rem; color: var(--tt-muted); font-weight: 600; }
.tt-hl__d { margin: 0; font-size: .95rem; line-height: 1.62; color: var(--tt-body); }
.tt-hl__route { margin: .8rem 0 0; padding-top: .8rem; border-top: 1px solid var(--tt-line); font-size: .82rem; color: var(--tt-muted); }
.tt-hl__act { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 0; }

/* 网格式（/real-tours 概览：三列卡，图在上） */
.tt-hl--grid .tt-hl__list { grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
.tt-hl--grid .tt-hl__row { display: flex; flex-direction: column; background: var(--tt-paper); border: 1px solid var(--tt-line); border-radius: var(--tt-r); overflow: hidden; box-shadow: var(--tt-sh-sm); transition: box-shadow .25s ease, border-color .25s ease; }
.tt-hl--grid .tt-hl__row:hover { box-shadow: var(--tt-sh); border-color: var(--tt-line-2); }
.tt-hl--grid .tt-hl__media { border-radius: 0; aspect-ratio: 16/10; }
.tt-hl--grid .tt-hl__b { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; }
.tt-hl--grid .tt-hl__d { flex: 1 1 auto; }
.tt-hl--grid .tt-hl__route { font-size: .78rem; color: var(--tt-muted); border-top: 1px solid var(--tt-line); }
.tt-hl--grid .tt-hl__act { margin-top: auto; padding-top: 1rem; }
@media(min-width:760px){
  .tt-hl--row .tt-hl__row { flex-direction: row; gap: 1.6rem; }
  .tt-hl--row .tt-hl__media { width: 300px; aspect-ratio: 4/3; }
}
@media(max-width:900px){ .tt-hl--grid .tt-hl__list { grid-template-columns: 1fr 1fr; } }
@media(max-width:620px){ .tt-hl--grid .tt-hl__list { grid-template-columns: 1fr; } .tt-doc__toc ol { columns: 1; } }

/* ============ 19. 首页外壳（front）v0.3.0 ============ */
/* 板块结构与文案以活站首页 2026-10-06 实测为底稿；四原则：暖米底、留白大、红只点缀、CTA 不催 */
body.tt-type-front { background: var(--tt-page); }
body.tt-type-front .tt-main > .wp-block-post-content,
body.tt-type-front .entry-content.tt-content { max-width: var(--tt-max) !important; width: 100% !important; }
.tt-sh--front { font-size: 1rem; }

/* 1. Hero：整幅图 + 暖色渐晕（不用纯黑遮罩，用茶色压暗保文字可读） */
.tt-home__hero { position: relative; min-height: clamp(480px, 72vh, 720px); display: flex; align-items: center; overflow: hidden; }
.tt-home__heroimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tt-home__heroin { position: relative; z-index: 1; width: 100%; max-width: var(--tt-max); margin: 0 auto; padding: clamp(3.5rem, 9vw, 7rem) 20px; color: #fff; }
.tt-home__heroin .tt-sh__kick { color: #F3DFC7; }
.tt-home__h1 { margin: .2rem 0 1rem; font-family: var(--tt-serif); font-size: clamp(2.1rem, 5vw, 3.4rem); line-height: 1.12; font-weight: 700; max-width: 46rem; text-shadow: 0 1px 14px rgba(30, 22, 14, .45); }
.tt-home__lead { margin: 0 0 1.6rem; max-width: 40rem; font-size: 1.1rem; line-height: 1.65; color: #F6EFE6; text-shadow: 0 1px 10px rgba(30, 22, 14, .5); }
.tt-home__cta { display: flex; flex-wrap: wrap; gap: .8rem; margin: 0 0 2.2rem; }
.tt-home__chips { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.tt-home__chips li { padding: .42rem .95rem; border: 1px solid rgba(255, 255, 255, .38); border-radius: 999px; background: rgba(38, 28, 20, .34); color: #F6EFE6; font-size: .84rem; backdrop-filter: blur(2px); }
.tt-home__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30, 22, 14, .42), rgba(30, 22, 14, .18) 45%, rgba(30, 22, 14, .55)); pointer-events: none; }
.tt-home__hero .tt-home__heroin { z-index: 2; }

/* 2. 通用板块节奏：段间留白大 */
.tt-home__trust { background: var(--tt-sand); }
.tt-home__trust .tt-trustbar, .tt-home__trust [class*=trust] { max-width: var(--tt-max); margin: 0 auto; }
.tt-home__sec { max-width: var(--tt-max); margin: 0 auto; padding: clamp(3rem, 7vw, 5.5rem) 20px; scroll-margin-top: calc(var(--tt-hh) + 1.4rem); }
.tt-home__sec--paper { background: var(--tt-paper); border-top: 1px solid var(--tt-line); border-bottom: 1px solid var(--tt-line); }
.tt-home__sec--sand { background: var(--tt-sand); border-top: 1px solid var(--tt-line); border-bottom: 1px solid var(--tt-line); }
.tt-home__h2 { margin: .25rem 0 .55rem; font-family: var(--tt-serif); font-size: clamp(1.6rem, 3vw, 2.15rem); color: var(--tt-ink); }
.tt-home__sub { margin: 0 0 2.2rem; max-width: 46rem; color: var(--tt-muted); font-size: 1.03rem; line-height: 1.65; }

/* 3. 主题卡：复用 tt-hub__themes，首页 3 列、圆角与阴影略升 */
.tt-home__themes { gap: 1.2rem; }
.tt-home__themes .tt-hub__theme { border-radius: var(--tt-r); box-shadow: var(--tt-sh-sm); transition: transform .25s ease, box-shadow .25s ease; }
.tt-home__themes .tt-hub__theme:hover { transform: translateY(-3px); box-shadow: var(--tt-sh); }

/* 4. 精选小团：2 列大卡（图左文右），比枢纽 4 列小卡更有分量 */
.tt-home__tours { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.tt-home__tour { display: flex; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-r); overflow: hidden; text-decoration: none; box-shadow: var(--tt-sh-sm); transition: box-shadow .25s ease, border-color .25s ease; }
.tt-home__tour:hover { box-shadow: var(--tt-sh); border-color: var(--tt-line-2); }
.tt-home__tour > img { width: 42%; min-height: 220px; object-fit: cover; display: block; flex: 0 0 auto; }
.tt-home__tourin { display: flex; flex-direction: column; padding: 1.2rem 1.35rem 1.3rem; }
.tt-home__tourd { font-size: 1.02rem; font-weight: 700; color: var(--tt-ink); line-height: 1.35; }
.tt-home__tourx { margin-top: .55rem; font-size: .92rem; line-height: 1.6; color: var(--tt-body); }
.tt-home__tourl { margin-top: auto; padding-top: .9rem; font-size: .88rem; font-weight: 600; color: var(--tt-primary); }
.tt-home__more { margin: 1.6rem 0 0; color: var(--tt-muted); font-size: .98rem; }
.tt-home__more a { color: var(--tt-primary); font-weight: 600; text-decoration: none; }
.tt-home__more a:hover { text-decoration: underline; }

/* 5. 目的地：4 列图块，文字浮层 */
.tt-home__dests { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.tt-home__dest { position: relative; display: block; border-radius: var(--tt-r); overflow: hidden; text-decoration: none; box-shadow: var(--tt-sh-sm); }
.tt-home__dest img { width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block; transition: transform .35s ease; }
.tt-home__dest:hover img { transform: scale(1.04); }
.tt-home__destin { position: absolute; inset: auto 0 0 0; padding: 2.2rem 1rem .95rem; background: linear-gradient(transparent, rgba(28, 20, 13, .84)); color: #fff; }
.tt-home__destt { display: block; font-weight: 700; font-size: 1.05rem; }
.tt-home__destx { display: block; margin-top: .25rem; font-size: .8rem; line-height: 1.45; color: #F0E7DB; }

/* 6. 图墙：2 行不规则网格 */
.tt-home__gal { display: grid; grid-template-columns: repeat(4, 1fr); gap: .9rem; }
.tt-home__gal img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; border-radius: var(--tt-r-sm); }
.tt-home__gal img:nth-child(1), .tt-home__gal img:nth-child(8) { grid-column: span 2; aspect-ratio: 2.05/1; }

/* 7. 为什么选我们：2x2 */
.tt-home__why { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem 2.4rem; max-width: 62rem; }
.tt-home__whyi { background: var(--tt-paper); border: 1px solid var(--tt-line); border-left: 3px solid var(--tt-primary); border-radius: var(--tt-r-sm); padding: 1.15rem 1.35rem; }
.tt-home__whyi h3 { margin: 0 0 .4rem; font-size: 1.05rem; color: var(--tt-ink); }
.tt-home__whyi p { margin: 0; font-size: .94rem; line-height: 1.62; color: var(--tt-body); }

/* 8. 客人评价：3 列引言卡 */
.tt-home__revs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
.tt-home__rev { margin: 0; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-r); padding: 1.4rem 1.5rem; display: flex; flex-direction: column; }
.tt-home__rev p { margin: 0; font-size: .98rem; line-height: 1.68; color: var(--tt-body); }
.tt-home__rev footer { margin-top: auto; padding-top: 1rem; display: flex; align-items: baseline; gap: .6rem; }
.tt-home__revn { font-weight: 700; color: var(--tt-ink); font-size: .92rem; }
.tt-home__revl { font-size: .82rem; color: var(--tt-muted); }

/* 9. FAQ / 询单带 */
.tt-home__faq { max-width: 46rem; }
.tt-home__faq .tt-faq { margin-top: .4rem; }
.tt-home__band { max-width: 62rem; margin: 0 auto; padding: 0 20px 4.5rem; }

@media(max-width: 980px) {
	.tt-home__tours { grid-template-columns: 1fr; }
	.tt-home__dests { grid-template-columns: 1fr 1fr; }
	.tt-home__gal { grid-template-columns: 1fr 1fr; }
	.tt-home__revs { grid-template-columns: 1fr; }
	.tt-home__why { grid-template-columns: 1fr; }
	.tt-home__gal img:nth-child(1), .tt-home__gal img:nth-child(8) { grid-column: span 1; aspect-ratio: 4/3; }
}
@media(max-width: 620px) {
	.tt-home__themes { grid-template-columns: 1fr 1fr !important; }
	.tt-home__dests { grid-template-columns: 1fr; }
	.tt-home__tour > img { width: 100%; min-height: 0; aspect-ratio: 16/9; }
	.tt-home__tour { flex-direction: column; }
}

/* ==========================================================================
   20. 分享按钮 + 出行方式切换带（2026-10-07）
   —— 分享：为客人把线路发给朋友商量成团；切换带：Group ⇄ Private 入口互通
   ========================================================================== */
.tt-share { position: relative; display: inline-flex; }
.tt-share__btn { display: inline-flex; align-items: center; gap: .45rem; background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.6); color: #fff; font: inherit; font-size: .95rem; font-weight: 600;
  padding: .62rem 1.05rem; border-radius: var(--tt-r-sm); cursor: pointer; line-height: 1; }
.tt-share__btn:hover { background: rgba(255,255,255,.28); }
.tt-share__pop { position: absolute; z-index: 60; top: calc(100% + .55rem); left: 0; width: 17.6rem;
  background: var(--tt-paper); border: 1px solid var(--tt-line); border-radius: var(--tt-r);
  box-shadow: var(--tt-sh); padding: .95rem 1rem 1rem; text-align: left; }
.tt-share__lbl { margin: 0 0 .6rem; font-size: .74rem; letter-spacing: .07em; text-transform: uppercase; color: var(--tt-muted); }
.tt-share__row { display: flex; flex-wrap: wrap; gap: .38rem; }
.tt-share__i { display: inline-block; font: inherit; font-size: .82rem; font-weight: 600; color: var(--tt-ink);
  text-decoration: none; background: var(--tt-sand); border: 1px solid var(--tt-line); border-radius: 999px;
  padding: .36rem .72rem; cursor: pointer; }
.tt-share__i:hover { background: var(--tt-primary); color: #fff; border-color: var(--tt-primary); }
.tt-share__hint { margin: .6rem 0 0; font-size: .8rem; color: var(--tt-ok); }
.tt-share__cta { margin: .85rem 0 0; padding-top: .75rem; border-top: 1px solid var(--tt-line);
  font-size: .82rem; line-height: 1.6; color: var(--tt-muted); }
.tt-share__cta a { color: var(--tt-primary); }
/* hero 有 overflow:hidden，按钮又在 hero 底部 → 弹层改向上展开，避免被裁切 */
.tt-sh__hero .tt-share__pop { top: auto; bottom: calc(100% + .55rem); }

.tt-band { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem 1.1rem;
  margin: 1.4rem 0 0; padding: 1rem 1.2rem; background: var(--tt-sand);
  border: 1px solid var(--tt-line); border-radius: var(--tt-r); }
.tt-band__lead { font-weight: 700; color: var(--tt-primary); font-size: .92rem; white-space: nowrap; }
.tt-band__desc { flex: 1 1 20rem; color: var(--tt-body); font-size: .92rem; line-height: 1.6; }
.tt-band__cta { font-weight: 600; font-size: .92rem; color: var(--tt-ink); text-decoration: none;
  border-bottom: 1px solid var(--tt-line-2); padding-bottom: 2px; white-space: nowrap; }
.tt-band__cta:hover { color: var(--tt-primary); border-bottom-color: var(--tt-primary); }

@media (max-width: 760px) {
  .tt-band { flex-direction: column; align-items: flex-start; }
  .tt-band__desc, .tt-band__cta { flex: 0 0 auto; white-space: normal; }
  .tt-share__pop { width: min(17.6rem, 80vw); left: auto; right: 0; }
}

/* =========================================================================
   §21 站内提示条（v0.3.9，Mark 定：纯尼泊尔 / 不丹页面「顺路去西藏」提醒）
   用途 = 在 partner 段落的页面上，温柔地把客人引回我们自营的西藏段。
   原则 = 低眩光、不喧哗、不作促销话术（沿用全站安静语气）。
   ========================================================================= */
.tt-remind { margin: 1.7rem 0; padding: 1.05rem 1.25rem 1.1rem 1.35rem;
  background: var(--tt-sand); border: 1px solid var(--tt-line); border-left: 3px solid var(--tt-primary);
  border-radius: var(--tt-r); }
.tt-remind__t { margin: 0 0 .34rem; font-weight: 700; color: var(--tt-primary); font-size: .95rem; letter-spacing: .01em; }
.tt-remind p { margin: 0; color: var(--tt-body); font-size: .93rem; line-height: 1.66; }
.tt-remind p + p { margin-top: .45rem; }
.tt-remind a { color: var(--tt-primary); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--tt-line-2); }
.tt-remind a:hover { border-bottom-color: var(--tt-primary); }
.tt-remind--quiet { background: var(--tt-paper); border-left-color: var(--tt-accent); }
.tt-remind--quiet .tt-remind__t { color: var(--tt-accent); }

/* §21b v0.3.9 修正（既有 bug）：内容页正文的链接色 .tt-doc__body .tt-content a（0,2,1）
   会盖过 .tt-b--solid 的白字（0,1,0）→ 红底红字按钮不可见。凡 doc 页上的实体按钮都要例外。 */
.tt-doc__body .tt-content a.tt-b--solid { color: #fff; }
.tt-doc__body .tt-content a.tt-b--solid:hover { color: #fff; background: var(--tt-primary-dark); }
.tt-doc__body .tt-content a.tt-b--ghost { color: var(--tt-ink); border-color: var(--tt-line-2); }
.tt-doc__body .tt-content a.tt-b--ghost:hover { color: var(--tt-primary); background: var(--tt-sand); }

/* =========================================================================
   §22 枢纽「一眼看清」对照表（v0.3.11）
   Mark 2026-10-07：常规热门线路要"丰富"——品类页先给一张可横向对比的短表。
   数据全部来自各线路页自己的字段，空字段显示 —，绝不编造。
   ========================================================================= */
.tt-glance-overflow { margin: 1.5rem 0 2.1rem; border: 1px solid var(--tt-line);
  border-radius: var(--tt-r); background: var(--tt-paper); overflow-x: auto; }
.tt-glance2 { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 760px; }
.tt-glance2__cap { caption-side: top; text-align: left; padding: .85rem 1rem .15rem;
  font-weight: 700; color: var(--tt-ink); font-size: .95rem; letter-spacing: .01em; }
.tt-glance2 th, .tt-glance2 td { padding: .6rem .9rem; text-align: left;
  border-top: 1px solid var(--tt-line); vertical-align: top; }
.tt-glance2 thead th { font-size: .71rem; text-transform: uppercase; letter-spacing: .08em;
  color: var(--tt-muted); font-weight: 700; border-top: 0; white-space: nowrap; }
.tt-glance2 tbody th { font-weight: 600; width: 27%; }
.tt-glance2 tbody th a { color: var(--tt-ink); text-decoration: none; border-bottom: 1px solid var(--tt-line-2); }
.tt-glance2 tbody th a:hover { color: var(--tt-primary); border-bottom-color: var(--tt-primary); }
.tt-glance2 tbody tr:nth-child(even) { background: rgba(30, 26, 23, .018); }
.tt-glance2 td { color: var(--tt-body); }
@media (max-width: 780px) {
  .tt-glance-overflow { overflow: visible; border: 0; background: none; margin-left: 0; margin-right: 0; }
  .tt-glance2 { min-width: 0; display: block; }
  .tt-glance2__cap { padding: .2rem 0 .6rem; }
  .tt-glance2 thead { display: none; }
  .tt-glance2 tbody, .tt-glance2 tr, .tt-glance2 th, .tt-glance2 td { display: block; width: auto; }
  .tt-glance2 tr { border: 1px solid var(--tt-line); border-radius: var(--tt-r);
    background: var(--tt-paper); margin-bottom: .75rem; padding: .55rem .2rem; }
  .tt-glance2 tbody th { border-top: 0; font-size: 1rem; }
  .tt-glance2 td { border-top: 0; padding: .16rem .95rem; }
  .tt-glance2 td::before { content: attr(data-l) ": "; font-weight: 700; color: var(--tt-muted); }
}

/* =========================================================================
   §23 内容页上的「可定制路线」定制带（v0.3.17）
   Mark 2026-10-07 定：/in-the-footsteps 是故事、也是线路 —— 故事读完后
   给一条安静的出路（一个按钮 + 两三条编辑推荐），不推销。
   位置 = .tt-doc 内、正文之后、FAQ 之前。
   ========================================================================= */
.tt-journey { margin: 2.2rem 0 .4rem; padding: 1.35rem 1.5rem 1.4rem;
  background: var(--tt-sand); border: 1px solid var(--tt-line); border-radius: var(--tt-r); }
.tt-journey__kick { margin: 0 0 .42rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--tt-primary); }
.tt-journey__facts { margin: 0; color: var(--tt-ink); font-size: 1.02rem; line-height: 1.6; }
.tt-journey__facts b { font-weight: 700; }
.tt-journey__links { margin: .55rem 0 0; font-size: .93rem; line-height: 1.7; }
.tt-journey__sep { display: inline-block; margin: 0 .5rem; color: var(--tt-muted); }
.tt-journey__links a { color: var(--tt-primary); font-weight: 600; text-decoration: none;
  border-bottom: 1px solid var(--tt-line-2); }
.tt-journey__links a:hover { border-bottom-color: var(--tt-primary); }
.tt-journey__cta { margin: 1.05rem 0 0; }
.tt-journey__cta a.tt-b--solid, .tt-journey__cta a.tt-b--solid:hover { color: #fff; }

/* =========================================================================
   §24 「还在写」提示块（v0.3.20，2026-10-08 Mark 定）
   故事枢纽页（Sacred Stories / Their Tibet）中尚未写完的部分，
   统一注明 more coming soon —— 不假装完整，也不隐藏缺口。
   ========================================================================= */
.tt-soon { margin: 1.7rem 0 .3rem; padding: .95rem 1.15rem; border: 1px dashed var(--tt-line-2);
  border-radius: var(--tt-r); background: var(--tt-sand); color: var(--tt-body);
  font-size: .94rem; line-height: 1.65; }
.tt-soon__kick { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--tt-primary); margin-bottom: .28rem; }
.tt-soon b { color: var(--tt-ink); }

/* v0.3.22（2026-10-08）：两列网格变体 —— 公司小枢纽这类 4 卡页面用 2×2，不留孤卡 */
.tt-hl--grid2 .tt-hl__list { grid-template-columns: repeat(2, 1fr); }
@media(max-width:900px){ .tt-hl--grid2 .tt-hl__list { grid-template-columns: 1fr 1fr; } }
@media(max-width:620px){ .tt-hl--grid2 .tt-hl__list { grid-template-columns: 1fr; } }

/* =========================================================================
   §25 行程页分享条（v0.3.24，2026-10-08 Mark 定）
   缘由（Mark 原话）：客人不可能在"看到行程的第一秒"就想分享 —— 只有读完、
   心里认可了，才愿意把好东西发给同伴。故整条从第一屏 hero 移到页尾
   「Before you send your inquiry」正上方：浅底、一句克制的引导语 + 一个按钮。
   ========================================================================= */
.tt-sharebar { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem 1.2rem;
  margin: 2.4rem 0 1.6rem; padding: 1.05rem 1.2rem; background: var(--tt-sand);
  border: 1px solid var(--tt-line); border-radius: var(--tt-r); }
.tt-sharebar__t { flex: 1 1 22rem; margin: 0; font-size: .94rem; line-height: 1.6; color: var(--tt-body); }
.tt-sharebar__t b { color: var(--tt-ink); }
/* v0.3.25（Mark 定）：强调「转给同行的人」这一核心动作 —— 品牌暖金 + 粗体。
   为什么不是整句金粉粗体：① 分享条紧邻询单带，全句抢色会压过转化主 CTA；
   ② 浅粉金（如 #E0B0A0）在米底 #F5F0E8 上对比度仅约 1.9:1，不达可读标准；
      品牌暖金 #A9713A 约 4.4:1，粗体达标且不新增第四色。 */
.tt-sharebar__t .tt-sharebar__hi { color: var(--tt-accent); font-weight: 700; }
.tt-sharebar__t .tt-sharebar__lead { color: var(--tt-ink); font-weight: 700; }
.tt-sharebar .tt-share { flex: 0 0 auto; }
/* 浅底变体：hero 那套是白描边白字（为深色主图设计），放到米白页尾会看不见 */
.tt-share--onlight .tt-share__btn { background: transparent; border-color: var(--tt-line-2); color: var(--tt-ink); }
.tt-share--onlight .tt-share__btn:hover { background: var(--tt-primary); border-color: var(--tt-primary); color: #fff; }
/* 弹层向上、向左对齐展开：分享条在页尾（向上不顶出视口底），按钮贴条右缘（向左不被视口截断） */
.tt-sharebar .tt-share__pop { top: auto; bottom: calc(100% + .55rem); left: auto; right: 0; }
@media (max-width: 760px) {
  .tt-sharebar { flex-direction: column; align-items: flex-start; }
  .tt-sharebar .tt-share__pop { left: 0; right: auto; width: min(17.6rem, 84vw); }
}

/* ==========================================================================
   19. Why Choose Us 页（[tt_why] 交叉图文 + [tt_flow] 流程卡链）v0.3.28
   2026-10-09 Mark 口述成页：一页说透「为什么选我们」，左图右文 / 左文右图交替。
   图位在配图换代完成前用品牌色块 + 线性图标占位（与 tt_hero_tone 同一套色）。
   容器放宽：这类页要两栏，46rem 装不下；文字块仍收 46rem 居中，与 hub 页同一手法。
   ========================================================================== */
.tt-sh--wide .tt-doc__body { max-width: 74rem; }
.tt-sh--wide .tt-doc__body .tt-content > p,
.tt-sh--wide .tt-doc__body .tt-content > ul,
.tt-sh--wide .tt-doc__body .tt-content > ol,
.tt-sh--wide .tt-doc__body .tt-content > h2,
.tt-sh--wide .tt-doc__body .tt-content > blockquote { max-width: 46rem; margin-left: auto; margin-right: auto; }
/* v0.3.29（2026-10-09，报告 46）：Mark 要求「一个话题到下一个话题」之间留白更多。
   只作用于含交叉图文 / 流程卡链的页（.tt-sh--wide），不动全站其它内容页的排版节奏。 */
/* v0.3.31（2026-10-09，报告 46 三轮）：Mark 拍板用「色带」方案 —— 交替话题各占一条
   全幅底色带，色带把留白一起染上 → 滚动时视口边缘永远有「色带分界线」，
   一眼知道下面还有内容；间距从 112vh 收到 ~100vh（padding 承担，gap 归零）。
   只作用于 .tt-sh--wide，全站其它页零影响。 */
.tt-sh--wide .tt-doc { padding-top: 3.8rem; }
.tt-sh--wide .tt-doc__body .tt-content > h2 { margin: clamp(2rem, 50vh, 30rem) 0 1.2rem; }
.tt-sh--wide .tt-doc__body .tt-content > .tt-why { margin: 4rem auto 0; }
.tt-sh--wide .tt-doc__body .tt-content > .tt-flow { margin: 4rem auto 1.4rem; }
.tt-sh--wide .tt-doc__body .tt-content h2 + p { margin-top: 1.4rem; }

/* v0.3.29（2026-10-09，报告 46）：Mark 要求「一段到下一段」留白更多 —— 行距 2.2→3.8rem 起 */
/* v0.3.31：行距由 padding 承担（上下各 ~50vh ≈ 一屏），色带才能连成整块 */
.tt-why { display: grid; gap: 0; margin: 3.6rem 0 0; }
.tt-why__row { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(1.7rem, 4.2vw, 3.9rem); align-items: center; padding-block: clamp(3rem, 50vh, 30rem); }
/* 偶数条 = 全幅色带：box-shadow 外扩 + clip-path 收边，色带铺满视口宽 */
.tt-why__row:nth-child(even) { background: var(--tt-band); box-shadow: 0 0 0 100vmax var(--tt-band); clip-path: inset(0 -100vmax); }
/* 首条不留 50vh 顶空（主图下来就要见到内容），顶空只留小段 */
.tt-why__row:first-child { padding-top: clamp(1.5rem, 6vh, 4rem); }
.tt-why__row--flip .tt-why__fig { order: 2; }

/* 图位（配图未就位前的纯色占位） */
.tt-why__fig { position: relative; aspect-ratio: 4 / 3; border-radius: var(--tt-r-lg); overflow: hidden;
  display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.92); }
.tt-why__fig::after { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(255,255,255,.16); border-radius: calc(var(--tt-r-lg) - 5px); pointer-events: none; }
.tt-why__fig.tt-tone--crimson { background: linear-gradient(135deg, #8B3A3A, #5E2424); }
.tt-why__fig.tt-tone--deepsky { background: linear-gradient(135deg, #1F5573, #0B2233); }
.tt-why__fig.tt-tone--sand    { background: linear-gradient(135deg, #6E5334, #3A2A17); }
.tt-why__fig.tt-tone--forest  { background: linear-gradient(135deg, #2F5340, #16301F); }
.tt-why__fig.tt-tone--slate   { background: linear-gradient(135deg, #3B4A55, #1E282F); }
.tt-why__fig.tt-tone--plum    { background: linear-gradient(135deg, #5A3350, #2E1930); }

/* v0.3.34：真照片版图位 —— 照片铺满图位，圆角与阴影同占位版；无内框无水印角标 */
/* v0.3.37（Mark 终裁）：相框彻底去掉 —— 图片按原始比例直接呈现，不再加白衬框，只留柔和投影 */
.tt-why__fig--img { aspect-ratio: auto; margin: 0; align-self: center; overflow: visible; background: none; padding: 0; border-radius: 0; box-shadow: none; }
.tt-why__fig--img::after { content: none; }
.tt-why__img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 10px; box-shadow: 0 16px 38px rgba(30, 26, 23, .16); }

.tt-sh--policy .tt-doc__body .tt-content > h2 { font-size: 1.7rem; text-align: center; margin: 3.4rem 0 .7rem; }
.tt-sh--policy .tt-doc__body .tt-content > h2:first-of-type { margin-top: 1.2rem; }
/* v0.3.37：Payment Guide —— 逐字复刻活站 www.tibettravel.com/tour-company/payment-guide 的版式
   （内容不动，只对齐宽窄与上下空白）：860px 栏宽 / 米色提示带 / 白色方法卡 / FAQ 白底米卡 / 全幅红色 CTA 带 */
.tt-sh--pay .tt-doc__body { max-width: none; }
.tt-sh--pay .tt-doc__body .tt-content { max-width: 53.75rem; margin-inline: auto; }
/* 公司区外壳（:not 链）特异性更高，pay 页用 .tt-sh--pay.tt-sh--company 同级压回 */
.tt-sh--pay.tt-sh--company .tt-doc__body .tt-content > h2 { text-align: center; margin: 2.6rem 0 .9rem; padding-top: 0; border-top: 0; }
.tt-sh--pay.tt-sh--company .tt-doc__body .tt-content > h2:first-of-type { margin-top: 1.4rem; }
.tt-pay-lead { text-align: center; font-size: .95rem; color: #57606A; line-height: 1.85; max-width: 37rem; margin: 0 auto 2.4rem; }
/* 「A note on our name」米色全幅提示带 */
.tt-pay-note { background: #FBF3DC; box-shadow: 0 0 0 100vmax #FBF3DC; clip-path: inset(0 -100vmax); padding: 1.5rem 0; margin: .4rem 0 2.6rem; }
.tt-pay-note p { max-width: 48rem; margin-inline: auto; font-size: .88rem; line-height: 1.85; color: #6B5B33; }
.tt-pay-note .tt-pay-note__h { margin: 0 auto 6px; font-size: .82rem; font-weight: 700; color: #8A6512; }
.tt-pay-method { background: #fff; border: 1px solid #EFE9DC; border-radius: 10px; padding: 1.75rem 1.85rem; margin: 0 0 1.9rem; box-shadow: 0 2px 10px rgba(60, 48, 30, .05); }
.tt-pay-method__h { display: flex; align-items: center; gap: .85rem; flex-wrap: wrap; margin: 0 0 .9rem; }
.tt-pay-method__h h3 { margin: 0; font-size: 1.14rem; color: var(--tt-ink); }
.tt-pay-method__h .tt-pay-ico { font-size: 1.5rem; line-height: 1; }
.tt-pay-badge { font-size: .7rem; font-weight: 700; padding: 3px 10px; border-radius: 20px; white-space: nowrap; }
.tt-pay-badge--green { background: #e8f5e9; color: #2e7d32; }
.tt-pay-badge--blue { background: #e3f2fd; color: #1565c0; }
.tt-pay-badge--orange { background: #fff3e0; color: #e65100; }
.tt-pay-badge--red { background: #fce4e4; color: #B80505; }
.tt-pay-chip { font-size: .78rem; color: #666; background: #f0f0f0; display: inline-block; padding: 3px 10px; border-radius: 20px; margin: 0 0 1rem; }
.tt-pay-method > p { font-size: .92rem; line-height: 1.85; color: #555; margin: 0 0 1.5rem; }
.tt-pay-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: #B45309; font-weight: 700; margin: 0 0 .8rem; }
.tt-pay-tbl { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .9rem; margin: 0 0 1.5rem; }
.tt-pay-tbl td { padding: .68rem .85rem; vertical-align: top; }
.tt-pay-tbl tr:nth-child(even) td { background: #FBF8F0; }
.tt-pay-tbl tr:first-child td:first-child { border-top-left-radius: 8px; }
.tt-pay-tbl tr:first-child td:last-child { border-top-right-radius: 8px; }
.tt-pay-tbl tr:last-child td:first-child { border-bottom-left-radius: 8px; }
.tt-pay-tbl tr:last-child td:last-child { border-bottom-right-radius: 8px; }
.tt-pay-tbl td:first-child { color: #52525B; font-weight: 600; width: 40%; }
.tt-pay-tbl td:last-child { color: #3F3F46; font-weight: 500; }
.tt-pay-callout { background: #FDF8E1; border-radius: 8px; padding: 1.05rem 1.3rem; margin: 0 0 1.5rem; }
.tt-pay-callout--blue { background: #EFF6FF; }
.tt-pay-callout--red { background: #FDF8E1; }
.tt-pay-callout .tt-pay-label { margin-bottom: .65rem; }
.tt-pay-callout--blue .tt-pay-label { color: #1D4ED8; }
.tt-pay-callout--red .tt-pay-label { color: #B80505; }
/* PayPal 官方链接按钮 + 公司 logo（v0.3.42，Option B 核对三件套） */
.tt-pay-btn { display: inline-flex; align-items: center; gap: .6rem; background: #0070BA; color: #fff !important; padding: .7rem 1.5rem .7rem .8rem; border-radius: 999px; font-weight: 700; font-size: .95rem; text-decoration: none; }
.tt-pay-btn:hover { background: #005A96; color: #fff !important; }
.tt-pay-btn__logo { width: 32px; height: 32px; border-radius: 50%; background: #fff; padding: 2px; flex: none; box-sizing: border-box; }
.tt-pay-logo { width: 64px; height: auto; border-radius: 6px; vertical-align: middle; }
/* 反诈警示框（v0.3.41）—— 放在 PayPal 板块标题正下方，做重点提醒 */
.tt-pay-alert { background: #FDF1F0; border: 1px solid #EBC6C2; border-left: 4px solid #B80505; border-radius: 8px; padding: 1.15rem 1.35rem; margin: 0 0 1.5rem; }
.tt-pay-alert__h { margin: 0 0 .6rem; font-size: .95rem; font-weight: 700; color: #8B1A1A; line-height: 1.5; }
.tt-pay-alert p { margin: 0; font-size: .89rem; line-height: 1.85; color: #4A4A4A; }
.tt-pay-alert strong { color: #8B1A1A; }
.tt-pay-callout ul { margin: 0; padding-left: 1.1rem; font-size: .86rem; line-height: 1.9; color: #52525B; }
.tt-pay-qr-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: #B45309; font-weight: 700; text-align: center; margin: 0 0 1rem; }
.tt-pay-qr { text-align: center; margin: 0 0 1rem; }
.tt-pay-qr img { max-width: 300px; width: 100%; border-radius: 8px; box-shadow: 0 4px 16px rgba(0, 0, 0, .12); }
.tt-pay-qr-cap { font-size: .8rem; color: #888; text-align: center; line-height: 1.8; margin: 0 0 1.6rem; }
/* FAQ：白底全幅带 + 米色问答卡（复刻活站白底段落） */
/* FAQ：白底全幅带 + 米色问答卡（复刻活站白底段落） */
.tt-sh--pay .tt-doc__body .tt-content .tt-pay-faqs { background: #fff; box-shadow: 0 0 0 100vmax #fff; clip-path: inset(0 -100vmax); padding: 2.2rem 0 1.1rem; margin: 2.6rem 0 .3rem; }
.tt-sh--pay.tt-sh--company .tt-doc__body .tt-content .tt-pay-faqs > h2 { margin-top: 0; text-align: center; border-top: 0; padding-top: 0; }
.tt-pay-faq { background: #FBF6EA; border: 1px solid #F0E8D5; border-radius: 8px; padding: 1.3rem 1.5rem; margin: 0 0 1rem; }
.tt-pay-faq h4 { font-size: .95rem; color: #27272A; margin: 0 0 .5rem; }
.tt-pay-faq p { margin: 0; font-size: .9rem; line-height: 1.8; color: #52525B; }
/* CTA：全幅红色带 + 金色按钮（复刻活站）—— 特异性压过公司区 h3/p/a 通配规则 */
.tt-sh--pay .tt-pay-cta { background: linear-gradient(135deg, #8B3A3A, #6E2828); box-shadow: 0 0 0 100vmax #7E3131; clip-path: inset(0 -100vmax); border-radius: 0; padding: 3rem 1.5rem; text-align: center; margin: 2.8rem 0 2.6rem; }
.tt-sh--pay.tt-sh--company .tt-doc__body .tt-content .tt-pay-cta h3 { font-family: var(--tt-serif); font-size: 1.7rem; font-weight: 700; color: #fff; margin: 0 0 .75rem; }
.tt-sh--pay.tt-sh--company .tt-doc__body .tt-content .tt-pay-cta p { font-size: .92rem; color: rgba(255, 255, 255, .85); line-height: 1.8; max-width: 30rem; margin: 0 auto 1.5rem; }
.tt-sh--pay.tt-sh--company .tt-doc__body .tt-content .tt-pay-cta a { display: inline-block; background: #C9A43A; color: #2E1A08; padding: .9rem 2.2rem; border-radius: 24px; font-size: .92rem; font-weight: 700; text-decoration: none; }
.tt-sh--pay.tt-sh--company .tt-doc__body .tt-content .tt-pay-cta a:hover { background: #D8B44C; color: #2E1A08; }
@media (max-width: 640px) {
  .tt-pay-method { padding: 1.25rem 1.15rem; }
  .tt-pay-note { padding: 1.2rem 1.15rem; }
  .tt-pay-note p, .tt-pay-note .tt-pay-note__h { max-width: none; margin-left: 0; margin-right: 0; }
  .tt-pay-alert { padding: 1rem 1.1rem; }
}
.tt-why__svg { width: 72px; height: 72px; opacity: .95; }
.tt-why__idx { position: absolute; right: 1.15rem; bottom: .55rem; font-family: var(--tt-serif); font-size: 2.4rem; font-weight: 700; line-height: 1; color: rgba(255,255,255,.2); }

/* 文字侧 —— 用 .tt-doc__body .tt-content 提高特异性，压过正文 h3 通配规则 */
.tt-doc__body .tt-content .tt-why__kick { margin: 0 0 .5rem; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tt-accent); font-weight: 700; }
.tt-doc__body .tt-content .tt-why__h { margin: 0 0 .75rem; font-family: var(--tt-serif); font-size: clamp(1.3rem, 2.1vw, 1.62rem); line-height: 1.28; color: var(--tt-ink); }
.tt-doc__body .tt-content .tt-why__b { margin: 0; font-size: 1.02rem; line-height: 1.72; color: var(--tt-body); }
.tt-doc__body .tt-content .tt-why__note { margin: .95rem 0 0; padding-left: .95rem; border-left: 2px solid var(--tt-line-2); font-size: .92rem; line-height: 1.6; color: var(--tt-muted); }
/* 备注里的链接必须一眼看得出可点（退款卡指向 Terms & Conditions，报告 46） */
.tt-doc__body .tt-content .tt-why__note a { color: var(--tt-primary); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(139,58,58,.45); text-underline-offset: 3px; }
.tt-doc__body .tt-content .tt-why__note a:hover { color: var(--tt-primary-dark); }

@media (max-width: 820px) {
  .tt-why { gap: 0; }
  .tt-why__row { grid-template-columns: 1fr; gap: 1.15rem; padding-block: clamp(2rem, 26vh, 11rem); }
  .tt-sh--wide .tt-doc__body .tt-content > h2 { margin-top: clamp(2rem, 26vh, 11rem); }
  .tt-why__row:first-child { padding-top: 1.5rem; }
  .tt-why__row--flip .tt-why__fig { order: 0; }
  .tt-why__fig { aspect-ratio: 16 / 9; }
  .tt-why__fig--img { aspect-ratio: auto; }
  .tt-why__svg { width: 54px; height: 54px; }
  .tt-why__idx { font-size: 1.7rem; }
}

/* —— 流程卡链 —— */
.tt-flow { margin: 3.4rem 0 1rem; }
.tt-flow__list { list-style: none; margin: 0 auto; padding: 0; max-width: 47rem; }
.tt-flow__step { display: grid; grid-template-columns: 3.1rem minmax(0, 1fr); column-gap: 1.05rem; }
.tt-flow__cell { position: relative; display: flex; justify-content: center; }
.tt-flow__n { flex: 0 0 auto; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--tt-primary); color: #fff;
  font-size: .95rem; font-weight: 700; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(94,36,36,.26); }
.tt-flow__step:not(:last-child) .tt-flow__cell::after { content: ""; position: absolute; left: 50%; top: 3rem; bottom: .35rem; width: 2px; transform: translateX(-50%); background: var(--tt-line-2); }
.tt-flow__step:not(:last-child) .tt-flow__cell::before { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 7px solid var(--tt-line-2); }
.tt-flow__c { background: var(--tt-paper); border: 1px solid var(--tt-line); border-radius: var(--tt-r); box-shadow: var(--tt-sh-sm); padding: 1.25rem 1.5rem; margin-bottom: 2.6rem; }
.tt-doc__body .tt-content .tt-flow__h { margin: 0 0 .45rem; font-size: 1.09rem; line-height: 1.35; color: var(--tt-ink); }
.tt-doc__body .tt-content .tt-flow__b { margin: 0; font-size: .98rem; line-height: 1.68; color: var(--tt-body); }
.tt-flow__alt { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: stretch; margin-top: 1.05rem; }
.tt-flow__sub { background: var(--tt-sand); border: 1px dashed var(--tt-line-2); border-radius: var(--tt-r-sm); padding: .95rem 1.1rem; }
.tt-flow__subh { margin: 0 0 .3rem !important; font-size: .96rem; font-weight: 700; color: var(--tt-ink); }
.tt-flow__subb { margin: 0 !important; font-size: .9rem; line-height: 1.6; color: var(--tt-body); }
.tt-flow__or { align-self: center; width: 1.95rem; height: 1.95rem; border-radius: 50%; background: var(--tt-page); border: 1px solid var(--tt-line-2);
  color: var(--tt-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  display: flex; align-items: center; justify-content: center; }

@media (max-width: 620px) {
  .tt-flow__step { grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: .7rem; }
  .tt-flow__c { padding: 1.05rem 1.15rem; }
  .tt-flow__alt { grid-template-columns: 1fr; }
  .tt-flow__or { justify-self: center; }
}

/* ==========================================================================
   v0.3.32（2026-10-09，报告 47）公司区：Why Us 进导航 + 二级目录 + 数字带 / 要点网格
   + 「像政策文件」的公司区排版。全部只作用公司区，其它版块零影响。
   ========================================================================== */

/* A. 导航里的 Why Us —— 藏红加粗、无底色：突出但不抢实心 CTA */
.tt-nav > a.tt-nav__why { color: var(--tt-primary); font-weight: 700; }
.tt-nav > a.tt-nav__why:hover { border-bottom-color: var(--tt-primary); color: var(--tt-primary); }

/* B. 两栏：正文 + 右侧粘性栏目目录 */
.tt-doc--side { display: flex; align-items: flex-start; gap: clamp(1.6rem, 3.2vw, 3.4rem); max-width: 86rem; margin: 0 auto; }
.tt-doc--side .tt-doc__main { flex: 1 1 auto; min-width: 0; }
.tt-subnav { flex: 0 0 13.5rem; align-self: flex-start; position: sticky; top: calc(var(--tt-hh, 4.6rem) + 1.4rem); }
.tt-subnav__h { margin: 0 0 .75rem; font-size: .67rem; letter-spacing: .15em; text-transform: uppercase; color: var(--tt-muted); font-weight: 700; }
.tt-subnav__list { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--tt-line-2); }
.tt-subnav__list li { margin: 0; }
.tt-subnav__list a { display: block; margin-left: -1px; padding: .42rem 0 .42rem .95rem; border-left: 2px solid transparent;
  font-size: .9rem; line-height: 1.45; color: var(--tt-body); text-decoration: none; }
.tt-subnav__list a:hover { color: var(--tt-primary); border-left-color: var(--tt-line-2); }
.tt-subnav__list .tt-subnav__i--key > a { color: var(--tt-primary); font-weight: 700; }
.tt-subnav__list .is-current > a { color: var(--tt-ink); font-weight: 700; border-left-color: var(--tt-primary); }
@media (max-width: 1024px) {
  .tt-doc--side { flex-direction: column-reverse; align-items: stretch; gap: 1.4rem; }
  .tt-subnav { position: static; flex: 0 0 auto; width: 100%; }
  .tt-subnav__list { display: flex; flex-wrap: wrap; gap: .5rem; border-left: 0; }
  .tt-subnav__list a { margin: 0; padding: .34rem .85rem; border: 1px solid var(--tt-line-2); border-radius: 999px;
    background: var(--tt-paper); font-size: .86rem; }
  .tt-subnav__list .is-current > a { background: var(--tt-primary); border-color: var(--tt-primary); color: #fff; }
}

/* C. 数字带（About） */
.tt-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1rem, 2vw, 2rem);
  max-width: 46rem; margin: 2.2rem auto 0; padding: 1.5rem 0 1.4rem; border-top: 1px solid var(--tt-line); border-bottom: 1px solid var(--tt-line); text-align: center; }
.tt-stats__n { display: block; font-family: var(--tt-serif); font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.1; color: var(--tt-primary); }
.tt-stats__l { display: block; margin-top: .3rem; font-size: .8rem; letter-spacing: .04em; color: var(--tt-muted); }
@media (max-width: 620px) { .tt-stats { grid-template-columns: 1fr 1fr; gap: 1.2rem .8rem; } }

/* D. 要点网格（Our Company：我们怎么做） */
.tt-points { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.3rem, 2.6vw, 2.2rem) clamp(1.4rem, 3vw, 2.6rem); max-width: 46rem; margin: 1.6rem auto 0; }
.tt-doc__body .tt-content .tt-points__h { margin: 0 0 .4rem; font-size: 1.02rem; line-height: 1.35; color: var(--tt-ink); }
.tt-doc__body .tt-content .tt-points__b { margin: 0; font-size: .95rem; line-height: 1.65; color: var(--tt-body); }
@media (max-width: 620px) { .tt-points { grid-template-columns: 1fr; } }

/* E. 公司区排版：像一份公司文件 —— 章节带细线、层级清楚（Why Us 交叉图文页除外） */
.tt-sh--company:not(.tt-sh--wide) .tt-doc__body .tt-content > h2 { margin: 3.4rem 0 .9rem; padding-top: 1.7rem; border-top: 1px solid var(--tt-line); font-size: 1.32rem; }
.tt-sh--company:not(.tt-sh--wide) .tt-doc__body .tt-content > h2:first-of-type { margin-top: 1.8rem; padding-top: 0; border-top: 0; }
.tt-sh--company:not(.tt-sh--wide) .tt-doc__body .tt-content h3 { margin: 1.9rem 0 .5rem; font-size: 1.03rem; font-weight: 700; color: var(--tt-ink); }
.tt-sh--company:not(.tt-sh--wide) .tt-doc__body .tt-content p { line-height: 1.78; }
.tt-sh--company:not(.tt-sh--wide) .tt-doc__body .tt-content ul { margin: 1rem 0 0; padding-left: 0; list-style: none; }
.tt-sh--company:not(.tt-sh--wide) .tt-doc__body .tt-content ul li { position: relative; margin: .55rem 0; padding-left: 1.35rem; font-size: 1rem; line-height: 1.7; color: var(--tt-body); }
.tt-sh--company:not(.tt-sh--wide) .tt-doc__body .tt-content ul li::before { content: ""; position: absolute; left: .2rem; top: .62em; width: .34rem; height: .34rem; border-radius: 50%; background: var(--tt-line-2); }

/* F. 政策页：纸面卡片（T&C / 付款指南） */
.tt-sh--policy .tt-doc__body { max-width: 56rem; background: var(--tt-paper); border: 1px solid var(--tt-line);
  border-radius: var(--tt-r-lg); box-shadow: var(--tt-sh-sm); padding: clamp(1.5rem, 3.4vw, 3rem); }
.tt-sh--policy .tt-doc__toc { background: transparent; border: 1px solid var(--tt-line); border-left: 3px solid var(--tt-primary); }
