/* Language layer: switcher, per-language local fonts, bilingual references, overseas blocks. */

/* Fonts: use what the visitor's own system already has for each script — no web-font download. */
html:lang(zh-CN) body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Source Han Sans SC",system-ui,sans-serif}
html:lang(zh-Hant) body{font-family:"PingFang TC","PingFang HK","Microsoft JhengHei","Noto Sans TC","Noto Sans HK","Source Han Sans TC",system-ui,sans-serif}
html:lang(zh-Hant) .train-origin-intro{font-family:"Songti TC","Noto Serif TC","PMingLiU",serif}
html:lang(en) body{font-family:system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;letter-spacing:0}
html:lang(en) h1,html:lang(en) h2,html:lang(en) .display-title,html:lang(en) .dining-lead h2,html:lang(en) .destination-tile h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:.2px}
html:lang(en) .hero h1{font-size:62px;letter-spacing:.5px;line-height:1.15}
html:lang(en) .train-hero h1{letter-spacing:.5px}
html:lang(en) .card-points li,html:lang(en) .steps p,html:lang(en) .faq-grid p{line-height:1.7}
html:lang(en) .nav-title{font-size:15px}html:lang(en) .site-header nav{gap:12px}
[lang="zh-CN"] .zh-ref,.zh-ref[lang="zh-CN"]{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif}

/* Language switch: a small pill in the header, like the reference site's EN | 简体 */
.lang-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #c9b17e80;border-radius:999px;margin-left:auto;flex-shrink:0}
.lang-switch a{min-width:38px;height:34px;padding:0 10px;display:grid;place-items:center;border-radius:999px;font-size:14px;font-weight:600;line-height:1;color:inherit;opacity:.82;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
.lang-switch a:hover{opacity:1;background:#c9b17e2e}
.lang-switch a[aria-current="true"]{background:var(--gold);color:#12302a;opacity:1}
.site-header.over-hero .lang-switch{border-color:#ffffff55;color:#fff}
.site-header .lang-switch+.header-book{margin-left:14px}
.site-header{gap:18px}
@media(max-width:1050px){.lang-switch{margin-left:auto;order:2}.lang-switch a{min-width:34px;height:32px;padding:0 8px;font-size:13px}.header-book{display:none}.menu-toggle{order:3}}

/* English: Chinese proper names shown small for reference */
.zh-ref{display:block;font-size:13px;font-weight:400;letter-spacing:.5px;opacity:.75;margin-top:4px}
.space-panels .zh-ref{font-size:15px;color:#e6e1d4;opacity:.9}
.hero-zh{font-size:16px;color:var(--champagne);opacity:.95;margin-top:8px}
.route-body .zh-ref{color:#7a857f;margin-top:6px}
.facilities-grid h3>span{display:block}

/* Overseas notice on train pages */
.overseas-note{grid-column:1/-1;background:var(--sand);border-left:3px solid var(--gold);padding:24px 28px;border-radius:0 6px 6px 0}
.overseas-note h2{font-size:20px;margin-bottom:8px}
.overseas-note p{font-size:16px;line-height:1.95;color:var(--muted)}
.overseas-note .plain-link{margin-top:6px;color:var(--forest)}

/* Reassurance row under the steps */
.assurances{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #cbbf9f;border-bottom:1px solid #cbbf9f}
.assurances li{padding:22px 10px;text-align:center}
.assurances li+li{border-left:1px solid #cbbf9f}
.assurances strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:22px;color:var(--forest)}
.assurances span{display:block;font-size:15px;color:var(--muted);margin-top:4px}
.steps-cta .plain-link{font-family:inherit;font-size:16px}

/* Article Markdown elements (same look as the admin preview) */
.reading-body h3{font-size:21px;margin:30px 0 8px}.reading-body h4{font-size:19px;margin:24px 0 6px}
.reading-body ol{padding-left:26px}.reading-body li{margin:6px 0}
.reading-body blockquote{margin:22px 0;padding:8px 22px;border-left:3px solid var(--gold);background:var(--sand);color:#4d5a53}
.reading-body blockquote p{margin:8px 0}
.reading-body hr{border:0;border-top:1px solid var(--line);margin:34px 0}
.reading-body code{background:#efece3;padding:1px 6px;border-radius:3px;font-size:.92em}
.reading-body pre{background:#f3f1ea;padding:16px 18px;border-radius:4px;overflow:auto;font-size:15px}.reading-body pre code{background:none;padding:0}
.reading-body .md-table{overflow-x:auto;margin:22px 0}.reading-body table{border-collapse:collapse;width:100%;font-size:16px;font-variant-numeric:tabular-nums}
.reading-body th,.reading-body td{border:1px solid var(--line);padding:10px 14px;text-align:left}.reading-body th{background:var(--sand);font-weight:600}
.reading-body img{max-width:100%}

/* Automatic train links and "trains in this article" */
.reading-body a.train-link{color:#25583f;text-decoration:none;border-bottom:1px solid #c9b17e}
.related-trains{margin:40px 0 10px;padding-top:24px;border-top:1px solid var(--line)}
.related-trains h2{font-size:20px!important;margin:0 0 14px!important}
.related-trains>div{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.related-trains a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:6px;text-decoration:none!important;color:var(--ink)!important;background:#fff}
.related-trains a:hover{border-color:var(--gold)}
.related-trains strong{display:block;font-size:17px}.related-trains span{display:block;font-size:14px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}
@media(max-width:760px){.related-trains>div{grid-template-columns:1fr}}

/* Article images (admin uploads) and admin preview banner */
.article-figure{margin:30px 0}.article-figure img{width:100%;border-radius:6px}
.article-figure figcaption{font-size:14px;color:var(--muted);margin-top:8px;text-align:center}
.preview-bar{position:sticky;top:0;z-index:200;display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#7a4a10;color:#fff;padding:10px 24px;font:15px/1.4 "PingFang SC","Microsoft YaHei",system-ui,sans-serif;box-shadow:0 2px 10px #0003}
.preview-bar a{color:#fff;text-decoration:none}
.pv-back{background:#fff;color:#7a4a10!important;font-weight:700;padding:8px 16px;border-radius:4px}
.pv-back:hover{background:#f6ead6}
.pv-note{opacity:.9}
.pv-tabs{margin-left:auto;display:inline-flex;gap:4px;background:#ffffff22;border-radius:999px;padding:3px}
.pv-tab{padding:5px 14px;border-radius:999px;font-size:14px}.pv-tab.on{background:#fff;color:#7a4a10!important;font-weight:600}.pv-tab.off{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.preview-bar{padding:8px 12px;gap:10px}.pv-note{display:none}.pv-tabs{margin-left:0}}

/* Footer contact lines */
.footer-note{font-size:13px!important;color:#b9c6bf!important;margin-top:2px}

@media(max-width:760px){.assurances{grid-template-columns:1fr}.assurances li+li{border-left:0;border-top:1px solid #cbbf9f}html:lang(en) .hero h1{font-size:40px}.overseas-note{padding:20px}}
