/* ═══════════════════════════════════════════════════════════════════════════
   ff-post.css — lớp trình bày cho Single Post (FillForm Academy)

   Chia làm 2 phần:
     A. KHUNG   — class do template Theme Builder gắn vào container Elementor.
     B. NỘI DUNG — style cho HTML trong bài, dưới .ff-post-body. Đây là phần
        quyết định "viết bài mới là tự đẹp": chỉ cần HTML ngữ nghĩa + vài class
        opt-in, không phải dựng Elementor cho từng bài.

   Quy ước specificity: mọi selector nội dung nhân đôi class
   (.ff-post-body.ff-post-body) để thắng type scale của Elementor Kit — kit in
   CSS sau và nhắm .elementor-widget-theme-post-content, cùng specificity nếu
   chỉ dùng 1 class. Xem docs/post-template-guide.md.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
	--ff-ink: #0B0E24;
	--ff-body: #3A3F57;
	--ff-body-strong: #2B2F45;
	--ff-muted: #5A6178;
	--ff-faint: #9AA0B8;
	--ff-blue: #0027FF;
	--ff-blue-dark: #001CCB;
	--ff-purple: #5535E6;
	--ff-purple-light: #8B7BFF;
	--ff-indigo: #241873;
	--ff-blue-2: #3D6BFF;
	--ff-blue-subtle: #ECEEFF;
	--ff-border: #E8EAF6;
	--ff-border-light: #F1F3F9;
	--ff-surface: #F7F8FC;
	--ff-navy: #0A0D1F;
	--ff-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	--ff-sans: 'Nunito Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ───────────────────────────────────────────────────────────────────────────
   A. KHUNG
   ─────────────────────────────────────────────────────────────────────────── */

/* HERO ─ gradient 3 chặng + vệt sáng góc phải. Elementor chỉ dựng được gradient
   2 chặng nên phần này để CSS lo, container chỉ giữ padding + bề rộng. */
.ff-post-hero {
	background-image: linear-gradient(170deg, #241873 0%, #0027FF 58%, #3D6BFF 100%) !important;
	position: relative;
	overflow: hidden;
}
.ff-post-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(ellipse 55% 60% at 82% 8%, rgba(139, 123, 255, .42) 0%, transparent 58%);
}
.ff-post-hero > .e-con-inner { position: relative; z-index: 1; }

/* Tiêu đề bài trong hero: cỡ chữ do thiết kế quyết định, không theo type scale
   chung (H1 của kit là 48px, thiết kế post là 42px và co xuống 30px ở mobile). */
.ff-post-hero .ff-post-title,
.ff-post-hero .ff-post-title .elementor-heading-title {
	font-family: var(--ff-sans);
	font-weight: 800;
	font-size: 42px;
	line-height: 1.12;
	letter-spacing: -.03em;
	color: #fff;
	text-wrap: balance;
	margin: 0;
}

.ff-post-hero .ff-post-lede {
	font-size: 18px;
	line-height: 1.65;
	color: rgba(255, 255, 255, .86);
	max-width: 660px;
	margin: 0;
}

/* Badge "SỐ 01 · CHUYÊN MỤC" */
.ff-eyebrow-row { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; }
.ff-eyebrow-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	color: #fff;
	background: rgba(255, 255, 255, .15);
	border: 1px solid rgba(255, 255, 255, .28);
	padding: 6px 14px;
	border-radius: 999px;
	backdrop-filter: blur(6px);
}
.ff-eyebrow-num { font-family: var(--ff-mono); color: #C9CCFF; }
.ff-eyebrow-sub { font-size: 12px; font-weight: 700; color: rgba(255, 255, 255, .72); }

/* Byline: avatar + tên + ngày + phút đọc */
.ff-byline { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ff-byline-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
}
.ff-byline-avatar--text {
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: linear-gradient(135deg, #fff, #C9CCFF);
	font-weight: 800;
	font-size: 16px;
	color: var(--ff-indigo);
}
.ff-byline-text { display: flex; flex-direction: column; line-height: 1.35; }
.ff-byline-name { font-weight: 700; font-size: 14.5px; color: #fff; }
.ff-byline-meta { font-size: 13px; color: rgba(255, 255, 255, .7); }

/* SHELL ─ kéo cột nội dung đè lên 30px cuối của hero (đúng thiết kế). */
.ff-post-shell { margin-top: -30px !important; position: relative; z-index: 2; }

/* Thẻ trắng chứa bài */
.ff-post-card {
	background: #fff;
	border: 1px solid var(--ff-border);
	border-radius: 20px;
	box-shadow: 0 8px 30px rgba(0, 39, 255, .06);
}

/* Sidebar dính theo cuộn */
.ff-post-aside { position: sticky; top: 24px; align-self: start; }

/* TOC ─ mục lục tự sinh (markup [ff_post_toc] + ff-post.js). */
.ff-toc {
	background: #fff;
	border: 1px solid var(--ff-border);
	border-radius: 16px;
	padding: 22px 22px 24px;
	box-shadow: 0 6px 22px rgba(0, 39, 255, .05);
}
.ff-toc-head {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ff-faint);
	margin-bottom: 16px;
}
.ff-toc-list { list-style: none; margin: 0; padding: 0; }
.ff-toc-item { margin: 0; }
.ff-toc-link {
	display: flex;
	gap: 10px;
	align-items: baseline;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ff-body);
	text-decoration: none;
	padding: 7px 0;
	border-bottom: 1px solid var(--ff-border-light);
	transition: color .15s;
}
.ff-toc-item:last-child .ff-toc-link { border-bottom: 0; }
.ff-toc-num { font-family: var(--ff-mono); font-size: 11px; color: var(--ff-blue); flex-shrink: 0; }
.ff-toc-h3 .ff-toc-link { padding-left: 22px; font-weight: 500; color: var(--ff-muted); font-size: 13px; }
.ff-toc-link:hover,
.ff-toc-link.is-active { color: var(--ff-blue); }

/* Thẻ tối "Chuyên mục" dưới TOC */
.ff-post-sidecard {
	background-image: linear-gradient(160deg, #0A0D1F, #141a3d) !important;
	border-radius: 16px;
	color: #fff;
}
.ff-post-sidecard .ff-side-eyebrow,
.ff-post-sidecard .ff-side-eyebrow .elementor-heading-title {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ff-purple-light);
}
.ff-post-sidecard .ff-side-title,
.ff-post-sidecard .ff-side-title .elementor-heading-title {
	font-weight: 800;
	font-size: 17px;
	line-height: 1.25;
	color: #fff;
}
.ff-post-sidecard .ff-side-desc { font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, .6); }
.ff-post-sidecard .ff-side-desc p { margin: 0; }

/* CTA cuối bài.
   Gradient nền vẽ qua ::before (không phải background trên element thật): trong môi
   trường này, background-image dạng gradient đặt thẳng lên một số element Elementor
   bị vô hiệu, còn trên pseudo-element thì luôn hiện. background-color là fallback. */
.ff-post-cta {
	background-color: #0027FF;
	border-radius: 18px;
	position: relative;
	overflow: hidden;
}
.ff-post-cta::before,
.ff-post-cta::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}
.ff-post-cta::before {
	background-image: linear-gradient(135deg, #241873 0%, #0027FF 60%, #3D6BFF 100%);
}
.ff-post-cta::after {
	background-image: radial-gradient(ellipse 60% 90% at 100% 0%, rgba(139, 123, 255, .5) 0%, transparent 55%);
}
.ff-post-cta > .e-con-inner { position: relative; z-index: 1; }
.ff-post-cta .ff-cta-title,
.ff-post-cta .ff-cta-title .elementor-heading-title {
	font-weight: 800;
	font-size: 23px;
	letter-spacing: -.02em;
	color: #fff;
	line-height: 1.25;
}
.ff-post-cta .ff-cta-desc { font-size: 14.5px; line-height: 1.6; color: rgba(255, 255, 255, .82); }
.ff-post-cta .ff-cta-desc p { margin: 0; }

/* Hộp tác giả */
.ff-post-authorbox {
	background: var(--ff-surface);
	border: 1px solid var(--ff-border);
	border-radius: 16px;
}
/* Cột giữa nhận basis 0 + min-width:0 để co lại, giữ nút "Theo dõi" cùng hàng mà
   không tràn thẻ (bẫy min-width:auto của flex). Ép rõ vì preset "grow" của Elementor
   không cho basis co được. Giữ nowrap của row; chỉ xuống dòng ở mobile. */
.ff-post-authorbox .ff-author-info { flex: 1 1 0 !important; min-width: 0; }
.ff-post-authorbox .ff-author-follow { flex: 0 0 auto !important; }
.ff-post-authorbox .ff-author-face {
	position: relative;
	overflow: hidden;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background-color: #0027FF;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ff-post-authorbox .ff-author-face::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(135deg, #0027FF, #5535E6);
}
.ff-post-authorbox .ff-author-face .elementor-widget-container,
.ff-post-authorbox .ff-author-face .elementor-heading-title {
	position: relative;
	z-index: 1;
	margin: 0;
	font-weight: 800;
	font-size: 17px;
	line-height: 1;
	color: #fff;
}
.ff-post-authorbox .ff-author-name,
.ff-post-authorbox .ff-author-name .elementor-heading-title {
	font-weight: 800;
	font-size: 15.5px;
	color: var(--ff-ink);
}
.ff-post-authorbox .ff-author-desc { font-size: 13.5px; line-height: 1.55; color: var(--ff-muted); }
.ff-post-authorbox .ff-author-desc p { margin: 0; }

/* Hàng thẻ #tag */
.ff-tags {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	padding-top: 26px;
	border-top: 1px solid #EEF0F6;
}
.ff-tag {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ff-muted);
	background: var(--ff-border-light);
	border: 1px solid #E4E7F0;
	padding: 5px 13px;
	border-radius: 999px;
	text-decoration: none;
	transition: all .18s;
}
.ff-tag:hover { color: var(--ff-blue); border-color: #C9D0EC; background: var(--ff-blue-subtle); }

/* ───────────────────────────────────────────────────────────────────────────
   B. NỘI DUNG BÀI VIẾT  (.ff-post-body)

   Từ đây trở xuống là "từ vựng" để sinh bài. Viết HTML thường là đủ; các class
   ff-* chỉ dùng khi muốn khối đặc biệt.
   ─────────────────────────────────────────────────────────────────────────── */

.ff-post-body.ff-post-body {
	font-family: var(--ff-sans);
	color: var(--ff-body);
}

/* — Đoạn văn — */
.ff-post-body.ff-post-body p {
	font-size: 16.5px;
	line-height: 1.78;
	color: var(--ff-body);
	margin: 0 0 16px;
}

/* Đoạn mở bài: to & đậm hơn. Tự động cho đoạn đầu tiên, hoặc chủ động bằng
   class .ff-lead ở bất kỳ đâu. */
.ff-post-body.ff-post-body > p:first-child,
.ff-post-body.ff-post-body p.ff-lead {
	font-size: 18.5px;
	line-height: 1.72;
	color: var(--ff-body-strong);
	font-weight: 500;
	margin-bottom: 26px;
}

/* Câu dẫn ngay dưới heading (nhỏ, xám) */
.ff-post-body.ff-post-body p.ff-dek {
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--ff-muted);
	margin: 0 0 26px;
}

.ff-post-body.ff-post-body strong,
.ff-post-body.ff-post-body b { color: var(--ff-ink); font-weight: 700; }

.ff-post-body.ff-post-body a {
	color: var(--ff-blue);
	text-decoration: none;
	border-bottom: 1px solid rgba(0, 39, 255, .28);
	transition: all .18s;
}
.ff-post-body.ff-post-body a:hover { color: var(--ff-blue-dark); border-bottom-color: currentColor; }

/* — Tiêu đề — scroll-margin để TOC nhảy tới không bị header che. */
.ff-post-body.ff-post-body h2,
.ff-post-body.ff-post-body h3,
.ff-post-body.ff-post-body h4 {
	font-family: var(--ff-sans);
	color: var(--ff-ink);
	font-weight: 800;
	scroll-margin-top: 100px;
}
.ff-post-body.ff-post-body h2 { font-size: 27px; letter-spacing: -.02em; margin: 44px 0 8px; }
.ff-post-body.ff-post-body h3 { font-size: 21px; letter-spacing: -.01em; margin: 32px 0 10px; }
.ff-post-body.ff-post-body h4 { font-size: 17.5px; margin: 26px 0 8px; }
.ff-post-body.ff-post-body > *:first-child { margin-top: 0; }

/* — Danh sách — */
.ff-post-body.ff-post-body ul,
.ff-post-body.ff-post-body ol {
	margin: 0 0 18px;
	padding-left: 22px;
	font-size: 16.5px;
	line-height: 1.78;
	color: var(--ff-body);
}
.ff-post-body.ff-post-body li { margin-bottom: 8px; }
.ff-post-body.ff-post-body li::marker { color: var(--ff-blue); font-weight: 700; }

/* — Callout — dùng <blockquote> hoặc <div class="ff-callout"> — */
.ff-post-body.ff-post-body blockquote,
.ff-post-body.ff-post-body .ff-callout {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: #F3F1FF;
	border: 1px solid #E0DAFF;
	border-left: 4px solid var(--ff-purple);
	border-radius: 12px;
	padding: 18px 20px;
	margin: 28px 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ff-body);
	quotes: none;
}
.ff-post-body.ff-post-body blockquote::before,
.ff-post-body.ff-post-body .ff-callout::before {
	content: '';
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235535E6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
}
.ff-post-body.ff-post-body blockquote > *,
.ff-post-body.ff-post-body .ff-callout > * { margin: 0; font-size: inherit; line-height: inherit; }
.ff-post-body.ff-post-body blockquote p + p,
.ff-post-body.ff-post-body .ff-callout p + p { margin-top: 10px; }

/* Biến thể cảnh báo / thành công */
.ff-post-body.ff-post-body .ff-callout--warn {
	background: #FEF7E0;
	border-color: #F7E3B0;
	border-left-color: #D9980E;
}
.ff-post-body.ff-post-body .ff-callout--warn::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9980E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
}
.ff-post-body.ff-post-body .ff-callout--ok {
	background: #E7F6EC;
	border-color: #BCE6CB;
	border-left-color: #1F7A44;
}
.ff-post-body.ff-post-body .ff-callout--ok::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7A44' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}

/* — Từ điển thuật ngữ —
   <div class="ff-terms">
     <div class="ff-term">
       <h3>Cronbach's Alpha <span class="ff-abbr">α</span></h3>
       <p>Định nghĩa…</p>
       <p class="ff-badge">Ngưỡng chấp nhận: <code>α ≥ 0.7</code></p>
     </div>
   </div>
   Số thứ tự do CSS counter sinh — thêm/bớt/đảo thuật ngữ không phải đánh lại số. */
.ff-post-body.ff-post-body .ff-terms {
	display: flex;
	flex-direction: column;
	gap: 18px;
	counter-reset: ffterm;
	margin: 0 0 8px;
}
.ff-post-body.ff-post-body .ff-term {
	position: relative;
	counter-increment: ffterm;
	border: 1px solid var(--ff-border);
	border-radius: 14px;
	padding: 22px 24px 22px 94px;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.ff-post-body.ff-post-body .ff-term:hover {
	border-color: #C9D0EC;
	box-shadow: 0 10px 26px rgba(0, 39, 255, .07);
}
.ff-post-body.ff-post-body .ff-term::before {
	content: counter(ffterm, decimal-leading-zero);
	position: absolute;
	left: 24px;
	top: 22px;
	width: 52px;
	height: 52px;
	border-radius: 13px;
	background: var(--ff-blue-subtle);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ff-mono);
	font-weight: 700;
	font-size: 15px;
	color: var(--ff-blue);
}
.ff-post-body.ff-post-body .ff-term h3 {
	font-size: 19px;
	margin: 0 0 8px;
	letter-spacing: 0;
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}
.ff-post-body.ff-post-body .ff-term p { font-size: 15px; line-height: 1.65; margin: 0 0 12px; }
.ff-post-body.ff-post-body .ff-term > *:last-child { margin-bottom: 0; }

/* Tên đầy đủ / ký hiệu bên cạnh tiêu đề thuật ngữ */
.ff-post-body.ff-post-body .ff-abbr {
	font-family: var(--ff-mono);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ff-purple);
}

/* Chip ngưỡng chấp nhận */
.ff-post-body.ff-post-body .ff-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	background: #E7F6EC;
	border: 1px solid #BCE6CB;
	color: #1F7A44;
	padding: 5px 12px;
	border-radius: 999px;
	line-height: 1.4;
}
.ff-post-body.ff-post-body .ff-badge::before {
	content: '';
	width: 13px;
	height: 13px;
	flex-shrink: 0;
	background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316B364' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
.ff-post-body.ff-post-body .ff-badge code {
	background: none;
	border: 0;
	padding: 0;
	color: inherit;
	font-size: inherit;
}

/* — Bảng ngưỡng tham chiếu nhanh —
   <div class="ff-metrics">
     <div><b>≥ 0.7</b><span>Cronbach's α</span></div>
   </div> */
.ff-post-body.ff-post-body .ff-metrics {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 0 0 8px;
}
.ff-post-body.ff-post-body .ff-metrics > div {
	border: 1px solid var(--ff-border);
	border-radius: 13px;
	padding: 18px 16px;
	background: var(--ff-surface);
	text-align: center;
}
.ff-post-body.ff-post-body .ff-metrics b {
	display: block;
	font-family: var(--ff-mono);
	font-weight: 800;
	font-size: 22px;
	color: var(--ff-blue);
	line-height: 1;
}
.ff-post-body.ff-post-body .ff-metrics span {
	display: block;
	font-size: 12.5px;
	color: var(--ff-muted);
	margin-top: 7px;
	font-weight: 600;
}
/* 2 hoặc 3 ô thì chia đều thay vì để ô lẻ kéo dài */
.ff-post-body.ff-post-body .ff-metrics--3 { grid-template-columns: repeat(3, 1fr); }
.ff-post-body.ff-post-body .ff-metrics--2 { grid-template-columns: repeat(2, 1fr); }

/* — Mã & công thức — */
.ff-post-body.ff-post-body code {
	font-family: var(--ff-mono);
	font-size: .92em;
	background: var(--ff-blue-subtle);
	color: var(--ff-blue);
	padding: 2px 6px;
	border-radius: 5px;
}
.ff-post-body.ff-post-body pre {
	background: var(--ff-navy);
	color: #E6E8F5;
	border-radius: 12px;
	padding: 20px 22px;
	overflow-x: auto;
	margin: 24px 0;
	font-family: var(--ff-mono);
	font-size: 13.5px;
	line-height: 1.65;
}
.ff-post-body.ff-post-body pre code { background: none; color: inherit; padding: 0; }

/* — Bảng — */
.ff-post-body.ff-post-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
	font-size: 15px;
	border: 1px solid var(--ff-border);
	border-radius: 13px;
	overflow: hidden;
}
.ff-post-body.ff-post-body th,
.ff-post-body.ff-post-body td {
	border: 0;
	border-bottom: 1px solid var(--ff-border-light);
	padding: 12px 16px;
	text-align: left;
}
.ff-post-body.ff-post-body th {
	background: var(--ff-surface);
	color: var(--ff-ink);
	font-weight: 800;
	font-size: 13.5px;
	letter-spacing: .01em;
}
.ff-post-body.ff-post-body tr:last-child td { border-bottom: 0; }

/* — Ảnh — */
.ff-post-body.ff-post-body img { max-width: 100%; height: auto; border-radius: 14px; display: block; }
.ff-post-body.ff-post-body figure { margin: 28px 0; }
.ff-post-body.ff-post-body figcaption {
	font-size: 13.5px;
	color: var(--ff-muted);
	text-align: center;
	margin-top: 10px;
}

.ff-post-body.ff-post-body hr {
	border: 0;
	border-top: 1px solid var(--ff-border);
	margin: 36px 0;
}

/* ───────────────────────────────────────────────────────────────────────────
   RESPONSIVE
   Ngưỡng khớp với thiết kế gốc: 1080px bỏ sidebar, 640px thu gọn.
   ─────────────────────────────────────────────────────────────────────────── */

@media (max-width: 1080px) {
	.ff-post-aside { display: none !important; }
}

@media (max-width: 767px) {
	.ff-post-hero .ff-post-title,
	.ff-post-hero .ff-post-title .elementor-heading-title { font-size: 30px; }
	.ff-post-hero .ff-post-lede { font-size: 16.5px; }

	/* Thu gọn padding khung trên mobile (thiết kế: 44px 20px thay vì 52px 56px) */
	.ff-post-shell { padding-left: 16px !important; padding-right: 16px !important; }
	.ff-post-card { padding: 34px 20px 40px !important; }
	.ff-post-hero { padding-left: 20px !important; padding-right: 20px !important; }

	/* Hộp tác giả: cho nút "Theo dõi" xuống dòng ở mobile */
	.ff-post-authorbox { flex-wrap: wrap; }

	.ff-post-body.ff-post-body h2 { font-size: 22px; margin-top: 36px; }
	.ff-post-body.ff-post-body h3 { font-size: 18.5px; }
	.ff-post-body.ff-post-body > p:first-child,
	.ff-post-body.ff-post-body p.ff-lead { font-size: 17px; }
	.ff-post-body.ff-post-body p,
	.ff-post-body.ff-post-body ul,
	.ff-post-body.ff-post-body ol { font-size: 16px; }

	/* Ô số của thuật ngữ chuyển lên trên thay vì đứng cạnh */
	.ff-post-body.ff-post-body .ff-term { padding: 84px 20px 20px; }
	.ff-post-body.ff-post-body .ff-term::before { left: 20px; top: 20px; }

	.ff-post-body.ff-post-body .ff-metrics,
	.ff-post-body.ff-post-body .ff-metrics--3 { grid-template-columns: repeat(2, 1fr); }

	.ff-post-cta .ff-cta-title,
	.ff-post-cta .ff-cta-title .elementor-heading-title { font-size: 20px; }

	/* Bảng rộng cuộn ngang trong khung của nó, không đẩy cả trang */
	.ff-post-body.ff-post-body table { display: block; overflow-x: auto; white-space: nowrap; }
}
