/* ==========================================================================
   汇路 RemitPath — 站点叠加层（基座 = HTML5 UP「Strongly Typed」）
   只做：字体回退/CJK 字距修正 · 配色微调 · 自定义合规模块（披露条/核对卡/费率表）
   不重写模板骨架，保留其侧栏杂志布局与 Arvo 厚板标题的识别度。
   ========================================================================== */

/* ---------- 字体回退（补 CJK，模板原字体 Arvo / Source Sans Pro 无中文字形） ---------- */
body, input, textarea, select, button {
  font-family: "Source Sans Pro", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
h1, h2, h3, h4, h5, h6, #header h1, #logo {
  font-family: "Arvo", "Noto Serif SC", Georgia, "Songti SC", serif;
}
.mono, .num, code, kbd, .precheck dd .dom {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ---------- CJK 字距与报头尺度修正（模板为拉丁大写排版，CJK 不能照搬大字距） ---------- */
html[lang^="zh"] #header h1 { letter-spacing: 0.18em; }
html[lang^="zh"] #header p  { letter-spacing: 0.12em; }
html[lang^="zh"] h2 { letter-spacing: 0.02em; }
html[lang^="zh"] h3 { letter-spacing: 0.01em; }
html[lang^="zh"] .button, html[lang^="zh"] .box.excerpt .date { letter-spacing: 0.04em; }
html[lang^="zh"] p { text-align: left; }   /* CJK 两端对齐易掉字距，改左对齐 */

/* 报头留白收一点（模板默认 14em 顶部太空） */
#header > .container { padding: 5.5em 0 4em 0; }
@media screen and (max-width: 736px) { #header > .container { padding: 3.5em 0 2.5em 0; } }

/* 标题颜色加深一档（模板 #888 偏浅，手册要更稳） */
h1, h2, h3, h4, h5, h6 { color: #33312e; }
#header h1 { color: #b0432b; }
.box h3 a { color: #33312e; }

/* ---------- 顶部披露条（合规，模板没有，自加在 #header 之上） ---------- */
.disclosure-bar { background: #2a2724; color: #d8d2cc; font-size: 0.62em; line-height: 1.5; }
.disclosure-bar .inner { max-width: 70em; margin: 0 auto; padding: 0.7em 1.5em; display: flex; gap: 0.6em; align-items: center; text-align: left; }
.disclosure-bar .icon { color: #d98a72; flex: none; }
.disclosure-bar .icon:before { padding-right: 0; }
.disclosure-bar a { color: #fff; border-bottom-color: rgba(255,255,255,0.4); }

/* ---------- 签名组件：费率对照表 ---------- */
.ratecard { margin: 0 0 2em; }
.ratecard .cap { display: flex; align-items: baseline; justify-content: space-between; gap: 1em; margin-bottom: 0.8em; flex-wrap: wrap; }
.ratecard .cap b { font-family: "Arvo", "Noto Serif SC", serif; color: #33312e; font-size: 1.05em; }
.ratecard .tag { font-size: 0.6em; letter-spacing: 0.12em; text-transform: uppercase; color: #8a3320; border: 1px solid #e0d7d2; border-radius: 3px; padding: 0.3em 0.8em; white-space: nowrap; }
table.rate { width: 100%; border-collapse: collapse; font-size: 0.82em; margin: 0; }
table.rate caption { caption-side: bottom; text-align: left; color: #9a938d; font-size: 0.85em; margin-top: 0.7em; line-height: 1.5; }
table.rate thead th { text-align: left; font-weight: 600; color: #6f6a65; text-transform: none; letter-spacing: 0; font-size: 0.92em; padding: 0.6em 0.7em; border-bottom: 2px solid #33312e; white-space: nowrap; }
table.rate tbody td { padding: 0.7em 0.7em; border-bottom: 1px solid #e7e2dd; vertical-align: top; }
table.rate tbody tr:last-child td { border-bottom: 1px solid #cfc7c1; }
table.rate .num { font-size: 0.95em; color: #33312e; }
table.rate tr.is-bridge td { background: #f6e8e2; color: #8a3320; }
table.rate tr.is-bridge td:first-child { font-weight: 600; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ---------- 注册前核对卡（首页 · 不露码；做成模板 .box 风格） ---------- */
.precheck { background: #fff; border: solid 2px #e5e5e5; border-radius: 4px; padding: 1.75em; box-shadow: 0.125em 0.175em 0 0 rgba(0,0,0,0.06); }
.precheck > h3 { display: flex; align-items: center; gap: 0.5em; margin-bottom: 0.4em; color: #33312e; letter-spacing: 0.02em; }
.precheck > h3 .fa-solid { color: #b0432b; font-size: 0.9em; }
.precheck .intro { font-size: 0.82em; color: #8a847e; margin: 0 0 1.1em; }
.precheck dl { margin: 0; border-top: 1px solid #e7e2dd; }
.precheck .item { padding: 0.7em 0; border-bottom: 1px solid #e7e2dd; }
.precheck dt { font-size: 0.72em; text-transform: uppercase; letter-spacing: 0.08em; color: #a39b95; margin-bottom: 0.25em; }
.precheck dd { margin: 0; font-size: 0.85em; line-height: 1.6; color: #4a4540; }
.precheck dd .dom { background: #f4efea; padding: 0.05em 0.4em; border-radius: 3px; font-size: 0.92em; color: #8a3320; }
.precheck .disclosure { font-size: 0.72em; color: #a39b95; line-height: 1.55; margin: 1.1em 0 1.2em; }
.precheck .button { width: 100%; }

/* ---------- 路径分流（#features 内，无图卡） ---------- */
.pathcard { text-align: left; height: 100%; }
.pathcard .who { display: inline-block; font-size: 0.62em; letter-spacing: 0.12em; text-transform: uppercase; color: #b0432b; font-weight: 600; margin-bottom: 0.6em; }
.pathcard h3 { margin-bottom: 0.5em; }
.pathcard p { margin-bottom: 1em; }
.pathcard .more { font-size: 0.85em; font-weight: 600; border-bottom: 0; }

/* ---------- 全部指南：编号列表（侧栏/正文通用） ---------- */
.guide-index { counter-reset: gi; margin: 0; }
.guide-index li { counter-increment: gi; border-top: 1px solid #e7e2dd; padding: 1em 0 1em 2.4em; position: relative; }
.guide-index li:last-child { border-bottom: 1px solid #e7e2dd; }
.guide-index li::before { content: counter(gi, decimal-leading-zero); position: absolute; left: 0; top: 1.05em; font-family: "JetBrains Mono", monospace; font-size: 0.8em; color: #b9b1ab; }
.guide-index a.t { font-family: "Arvo", "Noto Serif SC", serif; font-size: 0.98em; color: #33312e; border-bottom: 0; }
.guide-index a.t:hover { color: #b0432b; }
.guide-index .d { display: block; font-size: 0.82em; color: #8a847e; margin-top: 0.25em; }
.guide-index .rt { font-size: 0.72em; color: #b9b1ab; font-family: "JetBrains Mono", monospace; }

/* ---------- 提示框 callout ---------- */
.note { border: solid 2px #e5e5e5; border-radius: 4px; padding: 1em 1.2em; margin: 0 0 2em; background: #fff; font-size: 0.92em; }
.note > strong { color: #33312e; }
.note.caution { border-color: #ead9b0; background: #faf3e2; }
.note.danger  { border-color: #e6c3b9; background: #f9ece8; }

/* ---------- 正文内时间/作者/相关 ---------- */
.byline { font-size: 0.78em; color: #a39b95; letter-spacing: 0.04em; margin: -1em 0 2em; text-transform: none; }
.byline a { color: #6f6a65; }
.toc { background: #fff; border: solid 2px #e5e5e5; border-radius: 4px; padding: 1.25em 1.5em; margin: 0 0 2.5em; font-size: 0.9em; }
.toc b { font-size: 0.7em; text-transform: uppercase; letter-spacing: 0.1em; color: #a39b95; }
.toc ol { margin: 0.7em 0 0; padding-left: 1.4em; }
.toc a { color: #6f6a65; }
.updated { font-size: 0.8em; color: #a39b95; border-top: 1px solid #e7e2dd; padding-top: 1.2em; margin-top: 2.5em; }

/* 作者档 */
.author-card { display: flex; gap: 1.2em; align-items: flex-start; }
.author-card .avatar { flex: none; width: 3.4em; height: 3.4em; border-radius: 50%; background: #f6e8e2; color: #b0432b; display: flex; align-items: center; justify-content: center; font-family: "Arvo","Noto Serif SC",serif; font-weight: 700; font-size: 1.1em; }

/* footer 中的披露/链接列表（替掉模板联系表单后用） */
#footer .foot-links a { color: #b9b1ab; border-bottom: 0; }
#footer .foot-links a:hover { color: #fff; }
#footer .fineprint { font-size: 0.78em; color: #8a847e; line-height: 1.6; }

/* 语言切换在 nav 里的轻样式 */
#nav .lang > a > span { opacity: 0.85; }

/* ---------- 文章页（模板 left-sidebar 变体；统一 logo / 文章 H1 / 侧栏目录） ---------- */
#header #logo { font-family: "Arvo", "Noto Serif SC", Georgia, serif; font-weight: 700; color: #b0432b; font-size: 3em; line-height: 1; letter-spacing: 0.02em; text-transform: uppercase; text-shadow: 0.05em 0.075em 0 rgba(0,0,0,0.1); display: inline-block; }
#header #logo a { border: 0; color: inherit; }
html[lang^="zh"] #header #logo { letter-spacing: 0.16em; }

/* 可见面包屑（schema 已有 BreadcrumbList，这里补 UI） */
.crumbs { font-size: 0.78em; color: #a39b95; margin: 0 0 1.3em; letter-spacing: 0.01em; line-height: 1.5; }
.crumbs a { color: #6f6a65; border-bottom: 0; }
.crumbs a:hover { color: #b0432b; }
.crumbs span { color: #a39b95; }

.post > header { text-align: left; margin-bottom: 1.4em; }
.post > header > h1 { font-size: 2.05em; font-weight: 400; line-height: 1.32; letter-spacing: 0.01em; text-transform: none; color: #2c2a27; margin: 0 0 0.45em; }
.post > header > h1 small { display: block; font-family: "Source Sans Pro","Noto Sans SC",sans-serif; font-size: 0.46em; font-weight: 400; color: #8a847e; letter-spacing: 0.01em; line-height: 1.45; margin-top: 0.7em; text-transform: none; }
.post .lede2 { font-size: 1.08em; color: #5a544e; margin-bottom: 1.6em; }
.post h2 { font-size: 1.3em; font-weight: 400; letter-spacing: 0.01em; text-transform: none; color: #33312e; border-top: 2px solid #e7e2dd; padding-top: 1em; margin: 2.2em 0 0.9em; }
.post h3 { font-size: 1.02em; letter-spacing: 0.01em; text-transform: none; color: #33312e; margin: 1.8em 0 0.7em; }

/* 侧栏盒子（TOC / 核对 / 相关） */
.sidebar-box { background: #fff; border: solid 2px #e5e5e5; border-radius: 4px; padding: 1.4em 1.5em; box-shadow: 0.125em 0.175em 0 0 rgba(0,0,0,0.06); }
.sidebar-box > h3 { font-size: 0.72em; text-transform: uppercase; letter-spacing: 0.12em; color: #a39b95; margin: 0 0 0.9em; }
.sidebar-toc ol { list-style: none; padding: 0; margin: 0; counter-reset: t; }
.sidebar-toc li { counter-increment: t; border-top: 1px solid #efeae5; }
.sidebar-toc li:first-child { border-top: 0; }
.sidebar-toc a { display: block; padding: 0.5em 0 0.5em 2em; position: relative; border: 0; font-size: 0.88em; color: #6f6a65; }
.sidebar-toc a:hover { color: #b0432b; }
.sidebar-toc a::before { content: counter(t, decimal-leading-zero); position: absolute; left: 0; top: 0.5em; font-family: "JetBrains Mono", monospace; font-size: 0.82em; color: #c0b8b2; }
#sidebar.is-sticky { position: -webkit-sticky; position: sticky; top: 1.5em; }

/* ---------- 首页 hero：教育主张(主) + 副位出站卡(§21.5：hero 副位、首屏可见、≤1/3、不露码) ---------- */
body.homepage #header > .container { padding: 2.8em 0 2em; }
#hero { background: #fff; border-bottom: 1px solid #e7e2dd; }
#hero > .container { padding: 2.6em 0 3em; }
.hero-row { display: grid; gap: 2em; align-items: start; }
@media (min-width: 900px) { .hero-row { grid-template-columns: 1.5fr 1fr; column-gap: 3em; } }
.hero-main .eyebrow { font-size: 0.72em; letter-spacing: 0.12em; text-transform: uppercase; color: #b0432b; font-weight: 600; margin: 0 0 0.8em; }
.hero-main h1 { font-size: clamp(1.7em, 1.2em + 1.6vw, 2.45em); font-weight: 400; line-height: 1.28; letter-spacing: 0.01em; text-transform: none; color: #2c2a27; margin: 0 0 0.45em; max-width: 17ch; }
.hero-main .sub { font-size: 1.05em; color: #5a544e; max-width: 46ch; margin: 0 0 1.4em; }
.hero-cta { display: flex; align-items: center; gap: 1.3em; flex-wrap: wrap; }
.hero-cta .hero-link { font-size: 0.92em; color: #6f6a65; border-bottom: 1px solid #d8d2cc; }
.hero-cta .hero-link:hover { color: #b0432b; border-bottom-color: #b0432b; }

.precheck-mini { background: #faf7f4; border: solid 2px #ece4df; border-radius: 4px; padding: 1.3em 1.4em; box-shadow: 0.125em 0.175em 0 0 rgba(0,0,0,0.05); }
.precheck-mini .pm-head { display: flex; align-items: center; gap: 0.5em; font-family: "Arvo","Noto Serif SC",serif; font-size: 1.02em; color: #33312e; margin-bottom: 0.15em; }
.precheck-mini .pm-head .icon { color: #b0432b; }
.precheck-mini .pm-sub { font-size: 0.82em; color: #8a847e; margin: 0 0 0.9em; }
.precheck-mini ul { list-style: none; padding: 0; margin: 0 0 1.1em; }
.precheck-mini li { position: relative; padding: 0.45em 0 0.45em 1.7em; font-size: 0.85em; color: #4a4540; border-top: 1px solid #efe7e1; line-height: 1.5; }
.precheck-mini li:first-child { border-top: 0; }
.precheck-mini li::before { content: "\2713"; position: absolute; left: 0; top: 0.45em; color: #b0432b; font-weight: 700; }
.precheck-mini .dom { font-family: "JetBrains Mono", monospace; color: #8a3320; font-size: 0.9em; }
.precheck-mini .button { width: 100%; }
.precheck-mini .disc { font-size: 0.72em; color: #a39b95; line-height: 1.5; margin: 0.9em 0 0; }

/* ---------- 首页底部「出站卡」（看懂后的下一步；合规不露码） ---------- */
#outbound { background: #eceae4; border-top: 2px solid #e0ded7; }
#outbound > .container { padding: 3.6em 0; }
.outbound-card { max-width: 760px; margin: 0 auto; background: #fff; border: solid 2px #e5e5e5; border-radius: 4px; box-shadow: 0.125em 0.175em 0 0 rgba(0,0,0,0.07); overflow: hidden; }
.outbound-card .oc-head { background: #241f1c; color: #fff; padding: 1.05em 1.6em; display: flex; align-items: center; gap: 0.6em; }
.outbound-card .oc-head .icon { color: #e3a18f; }
.outbound-card .oc-head b { font-family: "Arvo", "Noto Serif SC", serif; font-size: 1.12em; letter-spacing: 0.02em; color: #fff; text-transform: uppercase; }
html[lang^="zh"] .outbound-card .oc-head b { letter-spacing: 0.04em; }
.outbound-card .oc-body { padding: 1.7em 1.6em 0.4em; }
.outbound-card .oc-body p.intro { color: #5a544e; font-size: 0.95em; margin-bottom: 1.5em; }
.oc-grid { display: grid; gap: 1.2em 1.8em; margin: 0 0 1.4em; }
@media (min-width: 560px) { .oc-grid { grid-template-columns: 1fr 1fr; } }
.oc-item dt { font-size: 0.7em; text-transform: uppercase; letter-spacing: 0.09em; color: #a39b95; margin-bottom: 0.3em; }
.oc-item dd { margin: 0; font-size: 0.9em; line-height: 1.6; color: #4a4540; }
.oc-item .dom { font-family: "JetBrains Mono", monospace; background: #f4efea; color: #8a3320; padding: 0.05em 0.4em; border-radius: 3px; font-size: 0.9em; }
.outbound-card .oc-foot { border-top: 1px solid #efeae5; padding: 1.3em 1.6em; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1em; }
.outbound-card .oc-foot .disc { font-size: 0.76em; color: #a39b95; max-width: 40ch; margin: 0; line-height: 1.55; }
.outbound-card .oc-foot .button { margin: 0; flex: none; }

/* go/ 出站说明页 */
.go-wrap { max-width: 640px; margin: 0 auto; }
.leaving { text-align: center; }
.leaving .big-icon { font-size: 2.4em; color: #b0432b; margin-bottom: 0.3em; }
.codecard { background: #fff; border: solid 2px #e5e5e5; border-radius: 4px; box-shadow: 0.125em 0.175em 0 0 rgba(0,0,0,0.07); padding: 1.7em; margin: 1.8em 0; }
.codecard dl { margin: 0; }
.codecard .item { display: grid; grid-template-columns: 9em 1fr; gap: 0.4em 1em; padding: 0.7em 0; border-bottom: 1px solid #efeae5; align-items: baseline; }
.codecard .item:first-child { padding-top: 0; }
.codecard dt { color: #a39b95; font-size: 0.85em; margin: 0; }
.codecard dd { margin: 0; font-size: 0.98em; }
.codecard .code { font-family: "JetBrains Mono", monospace; font-size: 1.05em; color: #8a3320; background: #f4efea; padding: 0.1em 0.5em; border-radius: 3px; }
.copy-btn { font-family: "Source Sans Pro","Noto Sans SC",sans-serif; font-size: 0.8em; border: 1px solid #d8d2cc; background: #faf7f4; color: #6f6a65; border-radius: 4px; padding: 0.2em 0.7em; cursor: pointer; margin-left: 0.5em; }
.copy-btn:hover { border-color: #b0432b; color: #b0432b; }

/* 文章内：CTA 盒、步骤、相关 */
.cta-block { background: #faf6f3; border: solid 2px #ecd9d0; border-radius: 4px; padding: 1.5em; margin: 2.2em 0; }
.cta-block h3 { margin-top: 0; }
.steps { counter-reset: s; list-style: none; padding: 0; margin: 0 0 2em; }
.steps > li { counter-increment: s; position: relative; padding: 0 0 0 2.8em; margin-bottom: 1.1em; }
.steps > li::before { content: counter(s); position: absolute; left: 0; top: -0.1em; width: 1.9em; height: 1.9em; border: 2px solid #b0432b; color: #b0432b; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: "JetBrains Mono", monospace; font-size: 0.85em; }
.checklist { list-style: none; padding: 0; margin: 0 0 2em; }
.checklist li { position: relative; padding-left: 1.8em; margin: 0.5em 0; }
.checklist li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: #b0432b; font-weight: 700; }

/* ---------- 金句带（背景照片 + 深色叠加层，白字始终可读；无图时退化为纯深底） ---------- */
#banner {
  background-color: #241f1c;
  background-image: linear-gradient(rgba(26,21,18,0.72), rgba(26,21,18,0.80)), url("../img/banner.jpg?v=20260619");
  background-size: cover; background-position: center 38%; background-repeat: no-repeat;
  color: #fff; padding: 6em 0; border-top: 0; border-bottom: 0; box-shadow: none;
}
#banner p { font-size: 1.55em; line-height: 1.6; letter-spacing: 0.03em; text-transform: none; color: #f4efe9; text-shadow: 0 1px 2px rgba(0,0,0,0.35); }
#banner strong { color: #f0b9a8; }
html[lang^="zh"] #banner p { letter-spacing: 0.05em; }
@media screen and (max-width: 736px) { #banner { padding: 3em 0; } #banner p { font-size: 1.25em; } }
/* 模板括号装饰用 css/images/bracket.svg（已随基座拷入），保留其手册感 */
#banner > .container:before, #banner > .container:after { background: url("images/bracket.svg"); opacity: 0.18; }

/* ==========================================================================
   上传前优化：图片/Logo 兜底（防缓存混用撑破布局）+ 手机适配
   仅新增防御性样式与小屏调整，不改内容、不改结构。
   ========================================================================== */

/* 图片兜底：任何 <img>（含将来可能新增的 logo/插图）都不撑破布局 */
img { max-width: 100%; height: auto; }
#header #logo img, .brand img, img.logo { max-height: 1.4em; width: auto; vertical-align: middle; }
.post img, #content img, #main img { max-width: 100%; height: auto; }

/* 手机适配：masthead 文字标在小屏缩小，避免「REMITPATH」溢出/撑大 */
@media screen and (max-width: 600px) {
  #header #logo { font-size: 2.1em; }
  html[lang^="zh"] #header #logo { letter-spacing: 0.06em; }
  html[lang="en"] #header #logo { letter-spacing: 0.015em; }
  .post > header > h1 { font-size: 1.55em; }
  .disclosure-bar { font-size: 0.6em; }
  table.rate, .snapshot table { font-size: 0.8rem; }
  table.rate thead th, table.rate tbody td { padding: 0.55em 0.55em; }
  .precheck-mini, .sidebar-box, .outbound-card .oc-body, .codecard { padding-left: 1.1em; padding-right: 1.1em; }
  .crumbs { font-size: 0.72em; }
}
@media screen and (max-width: 380px) {
  #header #logo { font-size: 1.7em; }
  #header > .container { padding: 2.6em 0 2em; }
  .post > header > h1 { font-size: 1.4em; }
  .post > header > h1 small { font-size: 0.5em; }
  table.rate, .snapshot table { font-size: 0.75rem; }
  table.rate thead th, table.rate tbody td { padding: 0.45em 0.4em; }
}
/* 小屏宽表统一横向滚动、不撑破容器 */
.table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
