/* ============================================================
   Honda — Typography nền: map token chữ (design-tokens.css) vào
   phần tử gốc, Astra và block Gutenberg. Dùng CHUNG frontend + editor
   (editor tự thêm tiền tố .editor-styles-wrapper; `body` → khung soạn thảo).

   Specificity — không dùng !important:
   - Bộ chọn lặp lại đúng bộ chọn Astra in ra (`h1, .entry-content :where(h1)`
     = 0,0,1 / 0,1,0) và thắng nhờ nạp SAU CSS inline của Astra.
   - Nạp TRƯỚC components.css: component .vf-* cùng hoặc cao hơn specificity
     luôn thắng file này, nên đây chỉ là mặc định cho chỗ chưa có style riêng.
   - Preset cỡ chữ Gutenberg (.has-*-font-size) dùng !important → vẫn thắng.
   ============================================================ */

body {
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-body);
  line-height: var(--line-height-body);
  color: var(--color-text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.entry-content :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-display);
  font-weight: var(--font-weight-heading);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-normal);
  color: var(--color-text-primary);
  text-wrap: balance;
}
/* H1/H2 IN HOA cần giãn dòng ≥ 1.25: dấu của chữ hoa tiếng Việt (Ấ, Ể, Ặ, Ị) đè lên dòng trên nếu thấp hơn */
h1, h2,
.entry-content :where(h1, h2) { line-height: var(--leading-tight); }

h1, .entry-content :where(h1) { font-size: var(--font-size-h1); }
h2, .entry-content :where(h2) { font-size: var(--font-size-h2); }
h3, .entry-content :where(h3) { font-size: var(--font-size-h3); }
h4, .entry-content :where(h4) { font-size: var(--font-size-h4); }
h5, .entry-content :where(h5) { font-size: var(--font-size-h5); }
h6, .entry-content :where(h6) { font-size: var(--font-size-h6); }

/* Tiêu đề trang/bài và trang lưu trữ của template Astra mặc định —
   lặp đúng bộ chọn Astra in ra (0,3,1 và 0,3,2), thắng nhờ nạp sau */
header.entry-header:not(.related-entry-header) .entry-title,
.ast-archive-title,
body.archive .ast-archive-description .ast-archive-title * {
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-heading);
  line-height: var(--leading-tight);
}

/* Nội dung soạn bằng Gutenberg trong template Astra mặc định */
.ast-single-post .entry-content {
  font-size: var(--text-lg);
  line-height: var(--line-height-prose);
  max-width: var(--container-narrow);
}
.ast-single-post .entry-content :is(h2, h3, h4, h5, h6) {
  margin-block: var(--space-heading-before) var(--space-heading-after);
}

/* H1/H2: 600, viết thường kiểu câu, màu navy (14/10/2026). Trước đây IN HOA đậm 700;
   `.vf-h1--sentence` / `.vf-h2--sentence` còn lại để tương thích, không còn tác dụng riêng. */
h1, h2,
.entry-content :where(h1, h2),
header.entry-header:not(.related-entry-header) .entry-title,
.ast-archive-title {
  font-weight: var(--font-weight-display);
  color: var(--color-text-display);
  text-transform: none;
}

/* Nhãn trường: 600. Astra in `label, legend { font-weight: 500 }` mà font chỉ có file 400/600/700. */
label, legend { font-weight: var(--font-semibold); }

.vf-h1--sentence,
.vf-h2--sentence,
.entry-content :where(h1, h2).vf-h1--sentence,
.entry-content :where(h1, h2).vf-h2--sentence {
  text-transform: none;
  line-height: var(--leading-snug);
}
