/* CAIEES Child Theme — Typography (rev 2026-05c) */

:root {
  --caiees-font-zh: "等线", "DengXian", "Microsoft YaHei UI", "微软雅黑", "PingFang SC", "苹方-简", "Source Han Sans CN", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --caiees-font-en: "Inter", "Segoe UI", "Helvetica Neue", Arial, "Liberation Sans", sans-serif;
  --caiees-font-ru: "Times New Roman", "PT Serif", "Liberation Serif", Georgia, serif;
  --caiees-font-mono: "JetBrains Mono", "SFMono-Regular", "Consolas", "Liberation Mono", Menlo, monospace;
}

html body,
html body input,
html body button,
html body select,
html body textarea,
html body .entry-content,
html body .entry-content p,
html body .ast-container,
html body article, html body div, html body span, html body li, html body td, html body th, html body label,
html body figcaption, html body blockquote {
  font-family: var(--caiees-font-zh) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .entry-title, html body .ast-site-title, html body .site-title,
html body .wp-block-heading, html body .wp-block-button__link,
html body button, html body .button,
html body .nav-menu, html body .menu, html body nav, html body header {
  font-family: var(--caiees-font-zh) !important;
  font-feature-settings: "kern" 1, "calt" 1;
}

html[lang^="ru"] body,
html[lang^="ru"] body *,
html[lang^="ru"] body h1, html[lang^="ru"] body h2, html[lang^="ru"] body h3,
html[lang^="ru"] body .entry-title, html[lang^="ru"] body .ast-site-title,
html[lang^="ru"] body .wp-block-heading, html[lang^="ru"] body .wp-block-button__link {
  font-family: var(--caiees-font-ru) !important;
}

html[lang^="en"] body,
html[lang^="en"] body *,
html[lang^="en"] body h1, html[lang^="en"] body h2, html[lang^="en"] body h3,
html[lang^="en"] body .entry-title, html[lang^="en"] body .ast-site-title,
html[lang^="en"] body .wp-block-heading, html[lang^="en"] body .wp-block-button__link {
  font-family: var(--caiees-font-en) !important;
}

html body code, html body pre, html body kbd, html body samp, html body tt {
  font-family: var(--caiees-font-mono) !important;
}

body { font-size: 16px; line-height: 1.8; color: #1f2937; }
.entry-content p { line-height: 1.85; margin-bottom: 1.25em; }
html[lang^="zh"] .entry-content p { line-height: 1.9; }
html[lang^="ru"] .entry-content p { line-height: 1.7; text-align: justify; hyphens: auto; -webkit-hyphens: auto; }

.entry-content a {
  color: #1d4ed8; text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease;
}
.entry-content a:hover, .entry-content a:focus { border-bottom-color: currentColor; }

::selection { background: #1d4ed8; color: #fff; }

/* ===== Hide page title on home + key content pages ===== */
body.home .entry-header, body.home h1.entry-title,
body.page-id-2 .entry-header, body.page-id-2 h1.entry-title,
body.page-id-115 .entry-header, body.page-id-115 h1.entry-title,
body.page-id-122 .entry-header, body.page-id-122 h1.entry-title,
body.page-id-68 .entry-header, body.page-id-68 h1.entry-title,
body.page-id-145 .entry-header, body.page-id-145 h1.entry-title,
body.page-id-284 .entry-header, body.page-id-284 h1.entry-title,
body.page-id-287 .entry-header, body.page-id-287 h1.entry-title,
body.page-id-306 .entry-header, body.page-id-306 h1.entry-title,
body.page-id-308 .entry-header, body.page-id-308 h1.entry-title,
body.page-id-310 .entry-header, body.page-id-310 h1.entry-title,
body.page-id-312 .entry-header, body.page-id-312 h1.entry-title,
body.page-id-314 .entry-header, body.page-id-314 h1.entry-title,
body.page-id-316 .entry-header, body.page-id-316 h1.entry-title,
body.page-id-318 .entry-header, body.page-id-318 h1.entry-title,
body.page-id-320 .entry-header, body.page-id-320 h1.entry-title,
body.page-id-322 .entry-header, body.page-id-322 h1.entry-title,
body.page-id-325 .entry-header, body.page-id-325 h1.entry-title,
body.page-id-327 .entry-header, body.page-id-327 h1.entry-title {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Make full-width groups break out of Astra's narrow content container */
.alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

/* Wider content on desktop, comfortable reading width */
@media (min-width: 992px) {
  body.page .entry-content {
    max-width: 100%;
  }
}
