/* Simplified Chinese (/zh/) overrides — 2026-10-21
   - No Google Fonts: Latin brand fonts are self-hosted (fonts-local.css);
     Chinese text uses the reader's system CJK fonts (fast, reliable in mainland China).
   - Chinese has no true italics and uppercase/letter-spacing tuned for Latin
     looks wrong on CJK, so those are neutralised. */
:root {
  --font-display: 'Cormorant Garamond', 'Noto Serif SC', 'Noto Serif CJK SC', 'Source Han Serif SC', 'Songti SC', 'STSong', 'SimSun', serif;
  --font-body: 'Inter', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', 'Noto Sans CJK SC', 'Source Han Sans SC', sans-serif;
}
html[lang^="zh"] body {
  line-height: 1.85;
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}
html[lang^="zh"] h1,
html[lang^="zh"] h2,
html[lang^="zh"] h3,
html[lang^="zh"] .display {
  line-height: 1.35;
  letter-spacing: 0.02em;
  text-align: start;
  font-weight: 600;
}
/* Justify only long-form body paragraphs; never headings, buttons or short labels */
html[lang^="zh"] main p:not([class*="eyebrow"]):not(.center) {
  text-align: justify;
  text-justify: inter-ideograph;
}
html[lang^="zh"] .center,
html[lang^="zh"] [style*="text-align:center"],
html[lang^="zh"] [style*="text-align: center"] { text-align: center !important; }
html[lang^="zh"] em,
html[lang^="zh"] i,
html[lang^="zh"] [style*="font-style:italic"],
html[lang^="zh"] .display em,
html[lang^="zh"] .hero h1 em,
html[lang^="zh"] .page-hero h1 em,
html[lang^="zh"] .pullquote,
html[lang^="zh"] .excerpt p {
  font-style: normal !important;
}
html[lang^="zh"] .display em,
html[lang^="zh"] h1 em,
html[lang^="zh"] h2 em { color: var(--color-primary); }
html[lang^="zh"] .eyebrow,
html[lang^="zh"] [class*="eyebrow"] {
  letter-spacing: 0.12em;
  text-transform: none;
}
html[lang^="zh"] p,
html[lang^="zh"] li { max-width: 42em; }
html[lang^="zh"] .nav-primary a { letter-spacing: 0.06em; text-transform: none; }

/* WeChat contact block (zh) */
.wechat-contact { display: flex; gap: 1rem; align-items: center; margin-top: 0.75rem; }
.wechat-contact img { width: 96px; height: 96px; border-radius: 6px; background: #fff; padding: 4px; }
.wechat-contact .wechat-id { font-family: var(--font-body); color: var(--color-text); }

/* WeChat IDs must display exactly as typed: stop Inter turning "2x3" into "2×3" */
[translate="no"], .wechat-id strong, .wechat-cta strong, .wechat-note strong {
  font-feature-settings: "calt" 0;
  font-variant-ligatures: none;
  white-space: nowrap;
}
.wechat-apply img { width: 132px; height: 132px; }
.wechat-contact a { flex: none; line-height: 0; }
html[lang^="zh"] main .wechat-contact p { text-align: start !important; }
@media (max-width: 480px) { .wechat-apply { align-items: flex-start; } .wechat-apply img { width: 112px; height: 112px; } }
/* Footer WeChat block: keep ID on its own line; stack QR above text when the footer column is narrow (tablet) */
.site-footer .wechat-contact .wechat-id { min-width: 0; }
.site-footer .wechat-contact .wechat-id strong { display: inline-block; }
@media (min-width: 721px) and (max-width: 1100px) {
  .site-footer .wechat-contact { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
}
