/**
 * Sống Lành — Hệ thống chữ
 * Playfair Display (serif) cho tiêu đề, Be Vietnam Pro (sans) cho thân bài.
 * Cả hai đều có đầy đủ dấu tiếng Việt — Jost/Marcellus của theme gốc thì không.
 */

/* Nền chỉ đặt trên <body>. Đặt background-color lên widget sẽ vẽ một khối
   màu đặc sau chữ, nuốt mất ảnh nền của section bên dưới. */
body { background-color: var(--sl-bg); }

body,
button, input, select, optgroup, textarea,
.elementor-widget-text-editor,
.elementor-widget-cs_text-editor {
  font-family: var(--sl-font-body);
  font-size: var(--sl-fs-body);
  line-height: var(--sl-lh-body);
  color: var(--sl-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.post-title, .page-title, .entry-title,
.elementor-heading-title,
.widget-title, .related-posts-title, .comment-reply-title {
  font-family: var(--sl-font-display);
  font-weight: 400;
  line-height: var(--sl-lh-display);
  letter-spacing: -.01em;
  color: var(--sl-text);
  text-wrap: balance;          /* tránh tiêu đề rớt 1 chữ xuống dòng cuối */
}

h1, .page-title { font-size: var(--sl-fs-h1); }
h2 { font-size: var(--sl-fs-h2); }
h3 { font-size: var(--sl-fs-h3); }
h4 { font-size: var(--sl-fs-h4); }
h5, h6 { font-size: 1.0625rem; letter-spacing: 0; }

p { text-wrap: pretty; }

/* Nhãn viết hoa: category, metadata, nút phụ ------------------------ */
.sl-eyebrow,
.cat-links,
.meta-item,
.article-footer-title,
.post-footer .read-more-btn {
  font-family: var(--sl-font-body);
  font-size: var(--sl-fs-meta);
  font-weight: 600;
  letter-spacing: var(--sl-ls-meta);
  text-transform: uppercase;
  line-height: 1.4;
}

.cat-links, .cat-links a { color: var(--sl-green); }
.meta-item, .post-meta, time { color: var(--sl-muted); }

/* Liên kết trong nội dung: gạch chân mảnh, dày lên khi hover -------- */
.entry-content a:not(.button):not(.wp-block-button__link) {
  color: var(--sl-green-deep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
  text-decoration-color: var(--sl-border-strong);
  transition: text-decoration-color var(--sl-dur-fast) var(--sl-ease);
}
.entry-content a:not(.button):not(.wp-block-button__link):hover {
  text-decoration-color: currentColor;
}

/* Trạng thái focus cho bàn phím — bắt buộc cho accessibility -------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--sl-green-deep);
  outline-offset: 3px;
  border-radius: 2px;
}

/* Blockquote kiểu editorial ----------------------------------------- */
.entry-content blockquote {
  font-family: var(--sl-font-display);
  font-size: var(--sl-fs-h3);
  line-height: 1.35;
  font-style: italic;
  color: var(--sl-green-deep);
  border: 0;
  border-left: 1px solid var(--sl-border-strong);
  margin: var(--sl-space-block) 0;
  padding: .25rem 0 .25rem clamp(1.25rem, 3vw, 2.5rem);
}
