/* Bayin i18n — language toggle + Chinese font rules */
.lang-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  letter-spacing: inherit;
  line-height: 1;
}
.lang-toggle svg { width: 15px; height: 15px; display: block; }
.lang-toggle .lang-toggle-label { font-size: 0.92em; white-space: nowrap; }
.lang-toggle:hover { opacity: 0.75; }

/* Chinese mode typography */
html.zh-mode body,
html.zh-mode body *:not(.lang-toggle svg) {
  font-family: "OPPO Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}
html.zh-mode .zh-serif,
html.zh-mode .zh-serif * {
  font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", serif !important;
}
html.zh-mode body { letter-spacing: 0.01em; }

/* zh mode: homepage scroll-reading headline uses smaller CJK-friendly size */
html.zh-mode .why-headline {
  font-size: clamp(28px, 3.4vw, 52px);
  line-height: 1.4;
  letter-spacing: 0.02em;
}

/* zh mode: CJK headings need more air than latin tight line-heights */
html.zh-mode h1,
html.zh-mode h2,
html.zh-mode h3,
html.zh-mode .chapter-title,
html.zh-mode .eco-footer-title,
html.zh-mode .footer-title {
  line-height: 1.32;
  letter-spacing: 0.01em;
}

/* SACE LADY hero: in zh mode show the real logo PNG instead of serif text */
.heroWord .heroWordLogo { display: none; }
html.zh-mode .heroWord { font-size: 0; }
html.zh-mode .heroWord .heroWordLogo {
  display: inline-block;
  height: clamp(90px, 11vw, 210px);
  width: auto;
}
