/* Các biến :root được sinh duy nhất từ inc/enqueue.php để Customizer không bị đè. */

/* ==================================================
   1. THIẾT LẬP CHUNG
================================================== */

body {
	background: var(--body-bg); /* Màu nền ngoài web */
	color: var(--text-color); /* Màu chữ mặc định */
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; /* Font hệ thống */
	font-size: 16px; /* Cỡ chữ cơ bản */
	line-height: 1.7; /* Giãn dòng dễ đọc */
}

a {
	color: var(--accent-color); /* Màu link */
	text-decoration: none; /* Bỏ gạch chân mặc định */
}

a:hover {
	text-decoration: underline; /* Hover có gạch chân nhẹ */
}

input,
textarea,
select,
button {
	font: inherit; /* Dùng cùng font với website */
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
textarea,
select {
	width: 100%; /* Rộng hết khung */
	border: 1px solid #d8c7b3; /* Viền mặc định */
	border-radius: 10px; /* Bo góc */
	padding: 10px 12px; /* Khoảng cách trong ô */
	background: #ffffff; /* Nền trắng */
}

button,
input[type="submit"] {
	border: 0; /* Bỏ viền */
	border-radius: 999px; /* Bo tròn */
	background: var(--accent-color); /* Nền màu nhấn */
	color: #ffffff; /* Chữ trắng */
	padding: 10px 18px; /* Khoảng cách nút */
	font-weight: 700; /* In đậm */
	cursor: pointer; /* Con trỏ bấm */
}

/* ==================================================
   2. KHUNG ĐÓNG HỘP TOÀN WEB
================================================== */

.site-box {
	max-width: var(--site-width); /* Độ rộng tối đa */
	margin: 0 auto; /* Căn giữa web */
	background: var(--site-bg); /* Nền khung web */
	min-height: 100vh; /* Cao tối thiểu bằng màn hình */
}

/* ==================================================
   3. HEADER
================================================== */

.site-header {
	background: var(--header-bg); /* Nền header */
	border-bottom: 1px solid var(--border-color); /* Viền dưới */
	transition: box-shadow 0.2s ease; /* Mượt khi sticky */
}

.site-header.is-sticky {
	position: sticky; /* Dính khi cuộn */
	top: 0; /* Dính trên cùng */
	z-index: 999; /* Nằm trên nội dung */
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); /* Bóng khi dính */
}

.site-header-main {
	display: grid; /* Chia header thành 3 cột */
	grid-template-columns: 260px 1fr 260px; /* Logo trái, menu giữa, search phải */
	grid-template-areas: "brand nav search"; /* Vùng layout */
	align-items: center; /* Căn giữa dọc */
	gap: 20px; /* Khoảng cách cột */
	padding: 18px 24px; /* Padding header */
}

.site-branding {
	grid-area: brand; /* Cột logo */
	display: flex; /* Xếp logo/tên/slogan */
	flex-direction: column; /* Xếp dọc */
	align-items: flex-start; /* Desktop căn trái */
	min-width: 0; /* Tránh vỡ layout */
}

.site-title {
	margin: 0; /* Xóa margin */
	font-size: 26px; /* Cỡ tên web */
	font-weight: 700; /* Đậm */
	line-height: 1.2; /* Chiều cao dòng */
}

.site-title a {
	color: var(--text-color); /* Màu tên web */
	text-decoration: none; /* Bỏ gạch chân */
}

.site-description {
	display: block; /* Nằm dòng riêng */
	margin: 4px 0 0; /* Cách tên web */
	font-size: 14px; /* Cỡ slogan */
	line-height: 1.4; /* Giãn dòng */
	color: var(--muted-color); /* Màu phụ */
}

.custom-logo-link {
	display: block; /* Logo nằm riêng */
}

.custom-logo {
	display: block; /* Bỏ khoảng trắng dưới ảnh */
	max-height: 70px; /* Giới hạn chiều cao */
	width: auto; /* Giữ tỉ lệ */
}

.main-navigation {
	grid-area: nav; /* Cột menu */
	text-align: center; /* Căn giữa menu */
}

.primary-menu {
	display: flex; /* Menu ngang */
	justify-content: center; /* Căn giữa */
	align-items: center; /* Căn giữa dọc */
	gap: 24px; /* Khoảng cách mục */
	margin: 0; /* Xóa margin */
	padding: 0; /* Xóa padding */
	list-style: none; /* Bỏ dấu chấm */
}

.primary-menu li {
	position: relative; /* Chuẩn bị menu con */
	margin: 0; /* Xóa margin */
	padding: 0; /* Xóa padding */
}

.primary-menu a {
	display: block; /* Tạo vùng bấm */
	color: var(--text-color); /* Màu chữ menu */
	text-decoration: none; /* Bỏ gạch chân */
	font-size: 16px; /* Cỡ menu */
	font-weight: 500; /* Độ đậm */
	line-height: 1.4; /* Giãn dòng */
}

.primary-menu a:hover {
	color: var(--accent-color); /* Hover đổi màu */
}

.header-search {
	grid-area: search; /* Cột search */
}

.header-search form {
	display: flex; /* Căn form */
	justify-content: flex-end; /* Đẩy sang phải */
	margin: 0; /* Xóa margin */
}

.header-search input[type="search"] {
	width: 100%; /* Rộng theo khung */
	max-width: 230px; /* Giới hạn */
	padding: 8px 12px; /* Padding */
	border: 1px solid var(--border-color); /* Viền */
	border-radius: 999px; /* Bo tròn */
	font-size: 14px; /* Cỡ chữ */
}

.header-search input[type="submit"],
.header-search button {
	display: none; /* Ẩn nút submit header */
}

.menu-toggle {
	display: none; /* Desktop ẩn */
	width: 38px; /* Rộng nút */
	height: 38px; /* Cao nút */
	padding: 0; /* Xóa padding */
	border: 0; /* Xóa viền */
	background: transparent; /* Nền trong suốt */
	cursor: pointer; /* Con trỏ bấm */
}

.menu-toggle span {
	display: block; /* Mỗi span là 1 gạch */
	width: 24px; /* Dài gạch */
	height: 2px; /* Dày gạch */
	margin: 5px auto; /* Khoảng cách */
	background: var(--text-color); /* Màu gạch */
}

/* ==================================================
   4. BÀI VIẾT HÀNG ĐẦU
================================================== */

.top-posts-bar {
	display: flex; /* Nhãn + danh sách ngang */
	align-items: center; /* Căn giữa dọc */
	gap: 14px; /* Khoảng cách */
	padding: 9px 24px; /* Padding */
	border-top: 1px solid var(--border-color); /* Viền trên */
	overflow: hidden; /* Ẩn tràn */
}

.top-posts-label {
	flex: 0 0 auto; /* Nhãn cố định */
	padding: 5px 10px; /* Padding nhãn */
	background: var(--accent-color); /* Nền nhãn */
	color: #ffffff; /* Chữ trắng */
	font-size: 14px; /* Cỡ chữ */
	font-weight: 600; /* Đậm */
	border-radius: 4px; /* Bo góc */
	white-space: nowrap; /* Không xuống dòng */
}

.top-posts-marquee {
	flex: 1 1 auto; /* Chiếm phần còn lại */
	min-width: 0; /* Tránh vỡ layout */
	overflow: hidden; /* Ẩn tràn */
	white-space: nowrap; /* Không xuống dòng */
}

.top-posts-scroll {
	display: flex; /* 2 dải nối nhau */
	width: max-content; /* Rộng theo nội dung */
	animation: topPostsScroll var(--top-posts-speed, 28s) linear infinite; /* Chạy ngang */
}

.top-posts-marquee:hover .top-posts-scroll {
	animation-play-state: paused; /* Hover thì dừng */
}

.top-posts-track {
	display: flex; /* Bài ngang */
	align-items: center; /* Căn giữa dọc */
	flex: 0 0 auto; /* Không co */
}

.top-posts-track a {
	display: inline-flex; /* Link gọn */
	align-items: center; /* Căn icon */
	color: var(--text-color); /* Màu chữ */
	text-decoration: none; /* Bỏ gạch chân */
	font-size: 14px; /* Cỡ chữ */
	line-height: 1.4; /* Giãn dòng */
}

.top-posts-track a::after {
	content: "✦"; /* Biểu tượng ngăn cách */
	display: inline-block; /* Hiển thị riêng */
	margin: 0 16px; /* Khoảng cách */
	color: var(--accent-color); /* Màu icon */
	font-size: 12px; /* Cỡ icon */
}

.top-posts-track a:hover {
	color: var(--accent-color); /* Hover đổi màu */
}

@keyframes topPostsScroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ==================================================
   5. LAYOUT CHÍNH + SIDEBAR
================================================== */

.site-main {
	padding: 32px 24px 48px; /* Khoảng cách vùng chính */
}

.content-sidebar-layout,
.layout-with-sidebar {
	display: grid; /* Chia nội dung + sidebar */
	grid-template-columns: minmax(0, 1fr) 320px; /* Nội dung trái, sidebar phải */
	gap: 32px; /* Khoảng cách */
	align-items: start; /* Căn đầu */
}

.main-content,
.content-area {
	min-width: 0; /* Chống vỡ layout */
}

.site-sidebar {
	width: 100%; /* Rộng hết cột */
	min-width: 0; /* Chống vỡ layout */
}

.site-sidebar .widget {
	margin-bottom: 24px; /* Khoảng cách widget */
	padding: 18px; /* Padding widget */
	border: var(--sidebar-border); /* Viền tùy biến */
	border-radius: var(--sidebar-radius); /* Bo góc tùy biến */
	background: var(--sidebar-widget-bg); /* Nền tùy biến */
}

.site-sidebar .widget-title {
	margin: 0 0 12px; /* Cách danh sách */
	padding-bottom: 8px; /* Cách viền */
	border-bottom: 1px solid var(--border-color); /* Viền dưới */
	font-size: 18px; /* Cỡ tiêu đề */
	font-weight: 700; /* Đậm */
	color: var(--sidebar-title-color); /* Màu tùy biến */
}

.site-sidebar ul {
	margin: 0; /* Xóa margin */
	padding: 0; /* Xóa padding */
	list-style: none; /* Bỏ dấu chấm */
}

.site-sidebar li {
	padding: 8px 0; /* Khoảng cách */
	border-bottom: 1px solid var(--border-color); /* Viền ngăn cách */
}

.site-sidebar li:last-child {
	border-bottom: 0; /* Bỏ viền cuối */
}

.site-sidebar a {
	color: var(--text-color); /* Màu link */
	text-decoration: none; /* Bỏ gạch chân */
	font-size: 15px; /* Cỡ chữ */
	line-height: 1.5; /* Giãn dòng */
}

.site-sidebar a:hover {
	color: var(--accent-color); /* Hover đổi màu */
}

/* ==================================================
   6. FOOTER
================================================== */

.site-footer {
	border-top: 1px solid var(--border-color); /* Viền trên */
	background: var(--header-bg); /* Nền footer */
}

.site-footer-inner {
	padding: 24px; /* Padding footer */
}

.footer-slogan {
	margin-bottom: 16px; /* Cách dòng dưới */
	text-align: center; /* Căn giữa */
	font-size: 15px; /* Cỡ chữ */
	color: var(--muted-color); /* Màu phụ */
	line-height: 1.6; /* Giãn dòng */
}

.footer-bottom {
	display: flex; /* Copyright trái, menu phải */
	justify-content: space-between; /* Đẩy 2 bên */
	align-items: center; /* Căn giữa dọc */
	gap: 20px; /* Khoảng cách */
}

.site-info {
	font-size: 14px; /* Cỡ chữ */
	color: var(--muted-color); /* Màu phụ */
}

.footer-menu {
	display: flex; /* Menu ngang */
	align-items: center; /* Căn giữa dọc */
	gap: 18px; /* Khoảng cách */
	margin: 0; /* Xóa margin */
	padding: 0; /* Xóa padding */
	list-style: none; /* Bỏ dấu chấm */
}

.footer-menu a {
	color: var(--text-color); /* Màu link */
	text-decoration: none; /* Bỏ gạch chân */
	font-size: 14px; /* Cỡ chữ */
}

.footer-menu a:hover {
	color: var(--accent-color); /* Hover đổi màu */
}

/* ==================================================
   7. RESPONSIVE
================================================== */

@media (max-width: 900px) {
	.content-sidebar-layout,
	.layout-with-sidebar {
		grid-template-columns: 1fr; /* Một cột */
		gap: 24px; /* Giảm khoảng cách */
	}
}

@media (max-width: 768px) {
	.site-header-main {
		grid-template-columns: 1fr auto 1fr; /* Search trái, logo giữa, nút phải */
		grid-template-areas:
			"search brand toggle"
			"nav nav nav";
		gap: 12px; /* Khoảng cách */
		padding: 14px 16px; /* Padding mobile */
	}

	.site-branding {
		align-items: center; /* Căn giữa */
		text-align: center; /* Căn chữ */
	}

	.site-title { font-size: 22px; }
	.site-description { font-size: 12px; }

	.custom-logo {
		max-height: 54px; /* Logo nhỏ hơn */
		margin: 0 auto; /* Căn giữa */
	}

	.header-search form { justify-content: flex-start; }

	.header-search input[type="search"] {
		max-width: 130px; /* Thu nhỏ search */
		padding: 7px 10px; /* Gọn hơn */
		font-size: 13px; /* Nhỏ hơn */
	}

	.menu-toggle {
		display: block; /* Hiện nút */
		grid-area: toggle; /* Bên phải */
		justify-self: end; /* Căn phải */
	}

	.main-navigation {
		display: none; /* Ẩn menu */
		grid-area: nav; /* Dòng dưới */
		text-align: left; /* Căn trái */
	}

	.site-header.menu-open .main-navigation { display: block; }

	.primary-menu { display: block; }

	.primary-menu li {
		border-top: 1px solid var(--border-color); /* Viền menu mobile */
	}

	.primary-menu a { padding: 10px 0; }

	.top-posts-bar {
		padding: 8px 16px; /* Giảm padding */
		gap: 10px; /* Giảm gap */
	}

	.top-posts-label,
	.top-posts-track a { font-size: 13px; }

	.top-posts-track a::after { margin: 0 12px; }

	.site-main { padding: 24px 16px 40px; }

	.site-footer-inner {
		padding: 20px 16px; /* Gọn footer */
		text-align: center; /* Căn giữa */
	}

	.footer-bottom {
		flex-direction: column; /* Xếp dọc */
		justify-content: center; /* Căn giữa */
		gap: 12px; /* Khoảng cách */
	}

	.footer-menu {
		justify-content: center; /* Căn giữa */
		flex-wrap: wrap; /* Cho xuống dòng */
		gap: 12px; /* Gap mobile */
	}
}

/* ==================================================
   BỔ SUNG TOÀN TRANG - BIẾN TÙY BIẾN / BREADCRUMB / MODAL
================================================== */

.site-box {
	max-width: var(--site-width);
	margin: 0 auto;
	background: var(--site-bg);
}

.site-breadcrumb {
	margin: 0 0 18px;
	padding: 10px 0;
	font-size: 14px;
	color: var(--muted-color);
}

.site-breadcrumb a {
	color: var(--accent-color);
	text-decoration: none;
}

.site-breadcrumb a:hover {
	text-decoration: underline;
}

.breadcrumb-separator {
	margin: 0 8px;
	color: var(--muted-color);
}

.header-auth {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-self: end;
}

.header-auth__button,
.header-auth__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 14px;
	border: 1px solid var(--accent-color);
	border-radius: 999px;
	background: var(--accent-color);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.header-auth__button--outline {
	background: transparent;
	color: var(--accent-color);
}

.header-auth__user {
	font-size: 14px;
	color: var(--muted-color);
}

.site-auth-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
}

.site-auth-modal.is-open {
	display: block;
}

.site-auth-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.46);
}

.site-auth-modal__dialog {
	position: relative;
	width: min(520px, calc(100% - 32px));
	max-height: calc(100vh - 48px);
	overflow: auto;
	margin: 24px auto;
	padding: 26px;
	border-radius: var(--card-radius);
	background: #fff;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);
}

.site-auth-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: #f5f1ea;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.site-auth-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 20px;
	padding-right: 42px;
}

.site-auth-tabs__button {
	flex: 1 1 0;
	padding: 10px 12px;
	border: 1px solid var(--border-color);
	border-radius: 999px;
	background: #fff;
	font-weight: 700;
	cursor: pointer;
}

.site-auth-tabs__button.is-active {
	border-color: var(--accent-color);
	background: var(--accent-color);
	color: #fff;
}

.site-auth-panel {
	display: none;
}

.site-auth-panel.is-active {
	display: block;
}

.site-auth-title {
	margin: 0 0 18px;
	font-size: 24px;
	line-height: 1.35;
}

.site-auth-form label {
	display: block;
	margin-bottom: 14px;
	font-weight: 600;
}

.site-auth-form input {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 11px 13px;
	border: 1px solid var(--border-color);
	border-radius: 10px;
	font: inherit;
}

.site-auth-submit {
	width: 100%;
	padding: 12px 18px;
	border: 0;
	border-radius: 999px;
	background: var(--accent-color);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.site-auth-note {
	margin: 16px 0 0;
	color: var(--muted-color);
}

.site-auth-note button {
	border: 0;
	background: transparent;
	color: var(--accent-color);
	font-weight: 700;
	cursor: pointer;
}

body.auth-modal-open {
	overflow: hidden;
}

.site-header.is-sticky,
.tai-lieu-header.is-sticky {
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.site-header-main {
	grid-template-columns: 250px 1fr auto auto;
	grid-template-areas: "brand nav search auth";
}

.header-search {
	grid-area: search;
}

.header-auth {
	grid-area: auth;
}

@media (max-width: 980px) {
	.site-header-main {
		grid-template-columns: 1fr auto 1fr;
		grid-template-areas:
			"search brand toggle"
			"auth auth auth"
			"nav nav nav";
	}

	.header-auth {
		justify-content: center;
	}
}

/* Layout không sidebar */
.content-sidebar-layout.has-no-sidebar {
	grid-template-columns: minmax(0, 1fr);
}

.content-sidebar-layout.has-no-sidebar .main-content {
	max-width: 920px;
	width: 100%;
	margin: 0 auto;
}

/* ==================================================
   FINAL OVERRIDES - HEADER, DROPDOWN, STICKY, SOCIAL, SHARE
================================================== */

/* Header chính: chỉ dòng 1 dính, không dính thanh Bài viết hàng đầu */
.site-header {
	position: static !important;
	background: var(--header-bg, #ffffff);
}

.site-header.is-sticky {
	position: static !important;
	box-shadow: none !important;
}

.site-header.is-sticky .site-header-main {
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.site-header-main {
	min-height: var(--header-main-height, 68px);
	padding-top: 10px;
	padding-bottom: 10px;
	background: var(--header-bg, #ffffff);
}

.site-header-left {
	grid-area: search;
	min-width: 0;
}

.header-search input[type="search"] {
	max-width: 220px;
}

.site-description {
	font-size: var(--slogan-font-size, 13px);
	color: var(--slogan-color, var(--muted-color));
}

.primary-menu a,
.tai-lieu-menu a {
	font-size: var(--menu-font-size, 15px);
	color: var(--menu-color, var(--text-color));
}

.top-posts-label {
	background: var(--top-posts-bg, var(--accent-color));
}

/* Mạng xã hội dưới ô tìm kiếm */
.header-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.3;
}

.header-socials__link {
	color: var(--muted-color);
	text-decoration: none;
}

.header-socials__link:hover {
	color: var(--accent-color);
}

/* Menu thả xuống nhiều tầng */
.primary-menu li,
.tai-lieu-menu li {
	position: relative;
}

.primary-menu .sub-menu,
.tai-lieu-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	display: none;
	min-width: 210px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: var(--header-bg, #ffffff);
	border: 1px solid var(--border-color);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.primary-menu .sub-menu .sub-menu,
.tai-lieu-menu .sub-menu .sub-menu {
	top: -8px;
	left: 100%;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu,
.tai-lieu-menu li:hover > .sub-menu,
.tai-lieu-menu li:focus-within > .sub-menu {
	display: block;
}

.primary-menu .sub-menu a,
.tai-lieu-menu .sub-menu a {
	padding: 8px 14px;
	white-space: nowrap;
	text-align: left;
}

/* Sidebar dính theo bài trên desktop */
@media (min-width: 901px) {
	.content-sidebar-layout .site-sidebar {
		position: sticky;
		top: 92px;
		align-self: start;
	}
}

/* Footer nhận tùy biến */
.site-footer {
	background: var(--footer-bg, #ffffff);
	color: var(--footer-text-color, var(--muted-color));
	font-size: var(--footer-font-size, 14px);
}

.site-footer a,
.footer-menu a {
	color: var(--footer-text-color, var(--text-color));
}

/* Sidebar nhận tùy biến */
.site-sidebar,
.site-sidebar a {
	color: var(--sidebar-text-color, var(--text-color));
	font-size: var(--sidebar-font-size, 15px);
}

/* Nút chia sẻ */
.share-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 18px 0 24px;
}

.share-buttons__label {
	font-weight: 700;
	color: var(--muted-color);
}

.share-buttons__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border: 1px solid var(--border-color);
	border-radius: 999px;
	background: #ffffff;
	color: var(--text-color);
	font-size: 13px;
	text-decoration: none;
}

.share-buttons__link:hover {
	border-color: var(--accent-color);
	color: var(--accent-color);
}

@media (max-width: 768px) {
	.site-header-main {
		min-height: auto;
	}

	.primary-menu .sub-menu,
	.tai-lieu-menu .sub-menu {
		position: static;
		display: block;
		min-width: 0;
		padding: 0 0 0 14px;
		border: 0;
		box-shadow: none;
	}

	.header-socials {
		display: none;
	}
}


/* ==================================================
   FINAL FIX 5 - HEADER ĐÚNG BỐ CỤC, MENU MŨI TÊN, ICON TRÒN
================================================== */

/* Header bài viết thường: chỉ dòng chính dính, không dính Bài viết hàng đầu */
.site-header {
	position: static !important;
	background: var(--header-bg, #ffffff);
}

.site-header.is-sticky {
	position: static !important;
	box-shadow: none !important;
}

.site-header.is-sticky .site-header-main {
	position: sticky;
	top: 0;
	z-index: 999;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.site-header-main {
	display: grid !important;
	grid-template-columns: 260px minmax(0, 1fr) 260px !important;
	grid-template-areas: "brand nav search" !important;
	align-items: center;
	gap: 20px;
	min-height: var(--header-main-height, 64px);
	padding: 10px 24px;
	background: var(--header-bg, #ffffff);
}

.site-branding {
	grid-area: brand !important;
	align-items: flex-start;
	text-align: left;
}

.main-navigation {
	grid-area: nav !important;
	text-align: center;
}

.site-header-right,
.site-header-left {
	grid-area: search !important;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	min-width: 0;
}

.header-search form {
	justify-content: flex-end;
}

.header-search input[type="search"] {
	max-width: 220px;
}

/* Icon mạng xã hội ở header */
.header-socials {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 7px;
	margin-top: 7px;
}

.header-socials__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--border-color, #e5e5e5);
	border-radius: 50%;
	background: #ffffff;
	color: var(--text-color, #222222);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: all 0.18s ease;
}

.header-socials__link:hover {
	border-color: var(--accent-color, #8b3a3a);
	background: var(--accent-color, #8b3a3a);
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-1px);
}

/* Menu đa tầng có mũi tên */
.primary-menu .menu-item-has-children > a,
.tai-lieu-menu .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.primary-menu .menu-item-has-children > a::after,
.tai-lieu-menu .menu-item-has-children > a::after {
	content: "▾";
	font-size: 11px;
	line-height: 1;
	opacity: 0.75;
}

.primary-menu .sub-menu .menu-item-has-children > a::after,
.tai-lieu-menu .sub-menu .menu-item-has-children > a::after {
	content: "›";
	margin-left: auto;
}

.primary-menu .sub-menu,
.tai-lieu-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	display: none;
	min-width: 210px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: var(--header-bg, #ffffff);
	border: 1px solid var(--border-color, #e5e5e5);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.primary-menu .sub-menu .sub-menu,
.tai-lieu-menu .sub-menu .sub-menu {
	top: -8px;
	left: 100%;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu,
.tai-lieu-menu li:hover > .sub-menu,
.tai-lieu-menu li:focus-within > .sub-menu {
	display: block;
}

.primary-menu .sub-menu a,
.tai-lieu-menu .sub-menu a {
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 8px 14px;
	white-space: nowrap;
	text-align: left;
}

/* Nút chia sẻ cuối bài dạng icon tròn */
.share-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 26px 0 28px;
}

.share-buttons__label {
	margin-right: 2px;
	font-weight: 700;
	color: var(--muted-color, #666666);
}

.share-buttons__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--border-color, #e5e5e5);
	border-radius: 50%;
	background: #ffffff;
	color: var(--text-color, #222222);
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: all 0.18s ease;
}

.share-buttons__link:hover {
	border-color: var(--accent-color, #8b3a3a);
	background: var(--accent-color, #8b3a3a);
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-2px);
}

.share-buttons__link--linkedin { font-size: 12px; }
.share-buttons__link--ganjing { width: 46px; border-radius: 999px; font-size: 11px; }

@media (max-width: 768px) {
	.site-header-main {
		grid-template-columns: 1fr auto 1fr !important;
		grid-template-areas:
			"search brand toggle"
			"nav nav nav" !important;
		gap: 12px;
		padding: 12px 16px;
	}

	.site-branding {
		align-items: center;
		text-align: center;
	}

	.site-header-right,
	.site-header-left {
		align-items: flex-start;
	}

	.header-search input[type="search"] {
		max-width: 130px;
	}

	.header-socials {
		display: none;
	}

	.primary-menu .sub-menu,
	.tai-lieu-menu .sub-menu {
		position: static;
		display: block;
		min-width: 0;
		padding: 0 0 0 14px;
		border: 0;
		box-shadow: none;
	}
}

/* ==================================================
   FINAL FIX 6 - TÁCH HEADER CHÍNH VÀ KHỐI BÀI VIẾT HÀNG ĐẦU
================================================== */

/* Header chính là khối riêng: logo | menu | tìm kiếm + mạng xã hội */
.site-header {
	position: static !important;
	z-index: auto !important;
	background: var(--header-bg, #ffffff) !important;
	border-bottom: 1px solid var(--border-color, #e5e5e5) !important;
	box-shadow: none !important;
}

/* Khi cuộn: chỉ header chính dính, không dính Bài viết hàng đầu */
.site-header.is-sticky {
	position: sticky !important;
	top: 0 !important;
	z-index: 1000 !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Không dùng sticky cho phần tử con nữa để tránh bị giới hạn trong header */
.site-header.is-sticky .site-header-main {
	position: static !important;
	top: auto !important;
	box-shadow: none !important;
}

/* Dòng header chính theo bố cục chuẩn */
.site-header-main {
	display: grid !important;
	grid-template-columns: 260px minmax(0, 1fr) 260px !important;
	grid-template-areas: "brand nav search" !important;
	align-items: center !important;
	gap: 20px !important;
	min-height: var(--header-main-height, 64px) !important;
	padding: 10px 24px !important;
	background: var(--header-bg, #ffffff) !important;
}

.site-branding {
	grid-area: brand !important;
	align-items: flex-start !important;
	text-align: left !important;
}

.main-navigation {
	grid-area: nav !important;
	text-align: center !important;
}

.site-header-right,
.site-header-left {
	grid-area: search !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	justify-content: center !important;
	min-width: 0 !important;
}

.header-search {
	width: 100% !important;
}

.header-search form {
	justify-content: flex-end !important;
}

.header-search input[type="search"] {
	max-width: 220px !important;
}

/* Khối Bài viết hàng đầu là khối riêng, không sticky */
.site-header-stream,
.top-posts-bar {
	position: relative !important;
	top: auto !important;
	z-index: 1 !important;
	box-shadow: none !important;
}

/* Mạng xã hội header dạng icon tròn */
.header-socials {
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center !important;
	gap: 7px !important;
	margin-top: 7px !important;
}

.header-socials__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border: 1px solid var(--border-color, #e5e5e5) !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: var(--text-color, #222222) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: all 0.18s ease !important;
}

.header-socials__link:hover {
	border-color: var(--accent-color, #8b3a3a) !important;
	background: var(--accent-color, #8b3a3a) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-1px) !important;
}

/* Menu nhiều tầng có mũi tên rõ ràng */
.primary-menu .menu-item-has-children > a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
}

.primary-menu .menu-item-has-children > a::after {
	content: "▾" !important;
	font-size: 11px !important;
	line-height: 1 !important;
	opacity: 0.75 !important;
}

.primary-menu .sub-menu .menu-item-has-children > a::after {
	content: "›" !important;
	margin-left: auto !important;
}

.primary-menu .sub-menu {
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	z-index: 1005 !important;
	display: none !important;
	min-width: 210px !important;
	margin: 0 !important;
	padding: 8px 0 !important;
	list-style: none !important;
	background: var(--header-bg, #ffffff) !important;
	border: 1px solid var(--border-color, #e5e5e5) !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08) !important;
}

.primary-menu .sub-menu .sub-menu {
	top: -8px !important;
	left: 100% !important;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
	display: block !important;
}

.primary-menu .sub-menu a {
	display: flex !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 8px 14px !important;
	white-space: nowrap !important;
	text-align: left !important;
}

/* Nút chia sẻ cuối bài dạng icon tròn */
.share-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 28px 0 !important;
}

.share-buttons__label {
	margin-right: 2px !important;
	font-weight: 700 !important;
	color: var(--muted-color, #666666) !important;
}

.share-buttons__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	border: 1px solid var(--border-color, #e5e5e5) !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: var(--text-color, #222222) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: all 0.18s ease !important;
}

.share-buttons__link:hover {
	border-color: var(--accent-color, #8b3a3a) !important;
	background: var(--accent-color, #8b3a3a) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-2px) !important;
}

.share-buttons__link--linkedin { font-size: 12px !important; }
.share-buttons__link--ganjing { width: 46px !important; border-radius: 999px !important; font-size: 11px !important; }

@media (max-width: 768px) {
	.site-header-main {
		grid-template-columns: 1fr auto 1fr !important;
		grid-template-areas:
			"search brand toggle"
			"nav nav nav" !important;
		gap: 12px !important;
		padding: 12px 16px !important;
	}

	.site-branding {
		align-items: center !important;
		text-align: center !important;
	}

	.site-header-right,
	.site-header-left {
		align-items: flex-start !important;
	}

	.header-search input[type="search"] {
		max-width: 130px !important;
	}

	.header-socials {
		display: none !important;
	}

	.primary-menu .sub-menu {
		position: static !important;
		display: block !important;
		min-width: 0 !important;
		padding: 0 0 0 14px !important;
		border: 0 !important;
		box-shadow: none !important;
	}
}


/* ==================================================
   CUSTOMIZER + SEO/MOBILE OPTIMIZATION PATCH 1.1.2
================================================== */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; line-height: var(--body-line-height, 1.7); }
img, svg, video, iframe, embed, object { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6,
.site-title, .entry-title, .archive-title, .single-entry-title,
.related-posts-title, .widget-title {
	font-family: var(--heading-font-family, var(--body-font-family));
}
code, kbd, samp, pre, .wp-block-code, .wp-block-preformatted {
	font-family: var(--mono-font-family, Consolas, Monaco, "Courier New", monospace);
}
pre, .wp-block-code {
	overflow-x: auto;
	max-width: 100%;
	-webkit-overflow-scrolling: touch;
}
.site-header-main {
	min-height: var(--header-main-height, 68px) !important;
	padding: var(--header-padding-y, 10px) var(--header-padding-x, 24px) !important;
}
.custom-logo { max-height: var(--logo-max-height, 70px) !important; }
.primary-menu a,
.tai-lieu-menu a {
	font-family: var(--menu-font-family, var(--body-font-family));
	font-size: var(--menu-font-size, 15px);
	color: var(--menu-color, var(--text-color));
}
.primary-menu a:hover,
.primary-menu a:focus,
.tai-lieu-menu a:hover,
.tai-lieu-menu a:focus {
	color: var(--menu-hover-color, var(--accent-color));
}
.site-description {
	font-size: var(--slogan-font-size, 13px);
	color: var(--slogan-color, var(--muted-color));
}
.top-posts-label {
	background: var(--top-posts-bg, var(--accent-color));
	color: var(--top-posts-text-color, #ffffff);
}
.top-posts-scroll a,
.top-posts-track a { color: var(--top-posts-link-color, var(--text-color)); }
.site-sidebar .widget {
	margin-bottom: var(--sidebar-widget-gap, 20px);
	background: var(--sidebar-widget-bg, #ffffff);
	border-radius: var(--sidebar-radius, 12px);
}
.site-sidebar a { color: var(--sidebar-link-color, var(--text-color)); }
.single-entry-title {
	font-size: clamp(28px, 4vw, var(--single-title-font-size, 36px));
	color: var(--single-title-color, var(--text-color));
}
.single-entry-meta, .post-card-meta, .archive-description, .related-card-meta {
	color: var(--meta-color, var(--muted-color));
}
.single-entry-content, .entry-content {
	font-family: var(--content-font-family, var(--body-font-family));
	line-height: var(--content-line-height, 1.8);
}
.single-entry-content {
	max-width: var(--single-content-width, 760px);
	font-size: var(--single-content-font-size, 18px);
}
.single-entry-content > * { max-width: 100%; }
.site-footer {
	background: var(--footer-bg, #ffffff);
	color: var(--footer-text-color, var(--muted-color));
	font-size: var(--footer-font-size, 14px);
}
.site-footer a,
.footer-menu a { color: var(--footer-link-color, var(--footer-text-color)); }
@media (max-width: 900px) {
	.content-sidebar-layout,
	.content-sidebar-layout.has-sidebar,
	.content-sidebar-layout.has-no-sidebar { display: block; }
	.main-content,
	.site-sidebar {
		width: 100%;
		max-width: 100%;
	}
	.site-sidebar {
		position: static;
		margin-top: 24px;
	}
}
@media (max-width: 768px) {
	.site-box {
		width: 100%;
		max-width: 100%;
	}
	.site-header-main {
		grid-template-columns: auto 1fr auto !important;
		grid-template-areas:
			"brand brand toggle"
			"search search search"
			"nav nav nav" !important;
		gap: 10px !important;
		padding: 10px 14px !important;
	}
	.site-branding {
		align-items: flex-start !important;
		text-align: left !important;
	}
	.site-title { font-size: 22px; }
	.site-description { font-size: min(var(--slogan-font-size, 13px), 13px); }
	.menu-toggle {
		grid-area: toggle;
		display: inline-flex;
		justify-self: end;
	}
	.site-header-right,
	.site-header-left {
		grid-area: search !important;
		align-items: stretch !important;
		width: 100%;
	}
	.header-search input[type="search"] {
		max-width: none !important;
		width: 100% !important;
	}
	.main-navigation {
		grid-area: nav !important;
		display: none;
		width: 100%;
	}
	.site-header.menu-open .main-navigation { display: block; }
	.primary-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		text-align: left;
	}
	.primary-menu a { padding: 10px 0; }
	.site-main {
		padding-left: 14px;
		padding-right: 14px;
	}
	.single-entry-content { font-size: clamp(16px, 4vw, var(--single-content-font-size, 18px)); }
}

/* ==================================================
   CUSTOMIZER TYPOGRAPHY PATCH 1.1.3
   Nguồn chính là biến CSS sinh từ inc/enqueue.php.
================================================== */
body {
	font-family: var(--body-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
	font-size: var(--body-font-size, 16px);
	font-weight: var(--body-font-weight, 400);
	line-height: var(--body-line-height, 1.7);
}

h1, h2, h3, h4, h5, h6,
.site-title, .entry-title, .archive-title, .single-entry-title,
.related-posts-title, .widget-title {
	font-family: var(--heading-font-family, var(--body-font-family));
	font-weight: var(--heading-font-weight, 700);
	line-height: var(--heading-line-height, 1.3);
}

h1 { font-size: var(--h1-font-size, 40px); }
h2 { font-size: var(--h2-font-size, 30px); }
h3 { font-size: var(--h3-font-size, 24px); }

.entry-content,
.single-entry-content,
.post-card-excerpt,
.archive-description {
	font-family: var(--content-font-family, var(--body-font-family));
	font-weight: var(--content-font-weight, 400);
	line-height: var(--content-line-height, 1.8);
}

.single-entry-title {
	font-size: clamp(28px, 4vw, var(--single-title-font-size, 36px));
	font-weight: var(--single-title-font-weight, var(--heading-font-weight, 700));
	color: var(--single-title-color, var(--text-color));
}

.primary-menu a,
.tai-lieu-menu a {
	font-family: var(--menu-font-family, var(--body-font-family));
	font-size: var(--menu-font-size, 15px);
	font-weight: var(--menu-font-weight, 600);
	color: var(--menu-color, var(--text-color));
}

.site-sidebar .widget {
	color: var(--sidebar-text-color, var(--text-color));
}

.site-sidebar .widget-title,
.site-sidebar .widgettitle {
	color: var(--sidebar-title-color, var(--text-color));
}

@media (max-width: 768px) {
	h1 { font-size: clamp(28px, 8vw, var(--h1-font-size, 40px)); }
	h2 { font-size: clamp(24px, 6.5vw, var(--h2-font-size, 30px)); }
	h3 { font-size: clamp(20px, 5.5vw, var(--h3-font-size, 24px)); }
}

/* ==================================================
   FINAL PATCH 1.1.6 - HEADER AUTH + TRA CỨU KHÔNG SEARCH
================================================== */
.site-header-main {
	grid-template-columns: 260px minmax(0, 1fr) 260px !important;
	grid-template-areas: "brand nav auth" !important;
}

.site-header-right,
.site-header-left {
	grid-area: auth !important;
	align-items: flex-end !important;
}

.site-header .header-search {
	display: none !important;
}

.site-header .header-auth {
	display: inline-grid !important;
	grid-template-columns: repeat(2, max-content);
	align-items: center;
	justify-content: end;
	gap: 0;
	padding: 3px;
	border: 1px solid var(--auth-button-border, #0b83c5);
	border-radius: 999px;
	background: var(--auth-button-wrap-bg, #ffffff);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.site-header .header-auth__button,
.site-header .header-auth__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 13px;
	border: 0;
	border-radius: 999px;
	background: var(--auth-button-bg, #0b83c5);
	color: var(--auth-button-text, #ffffff);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: none;
}

.site-header .header-auth__button--outline {
	background: transparent;
	color: var(--auth-button-outline-text, #0b83c5);
}

.site-header .header-auth__user {
	padding: 0 10px;
	color: var(--auth-button-outline-text, #0b83c5);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.tai-lieu-section-title {
	margin: 0 0 18px;
	color: #3b2617;
	font-size: 24px;
	line-height: 1.35;
}

.tai-lieu-filter-form select {
	flex: 1 1 180px;
	min-width: 160px;
}

.tai-lieu-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	color: #8a765f;
	font-size: 13px;
	font-weight: 700;
}

.tai-lieu-card__excerpt {
	margin: -6px 0 16px;
	color: #6b5745;
	font-size: 14px;
	line-height: 1.6;
}

@media (max-width: 768px) {
	.site-header-main {
		grid-template-columns: 1fr auto !important;
		grid-template-areas:
			"brand toggle"
			"auth auth"
			"nav nav" !important;
	}

	.site-header-right,
	.site-header-left {
		grid-area: auth !important;
		align-items: flex-start !important;
		width: 100%;
	}

	.site-header .header-auth {
		justify-self: start;
	}
}

/* ==================================================
   PATCH 1.1.9 - CUSTOMIZER HOME / ARCHIVE / SEO MOBILE
================================================== */
.site-auth-message {
	margin: 0 0 16px;
	padding: 10px 12px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}

.site-auth-message--success {
	border: 1px solid #b8dfc1;
	background: #f0fff4;
	color: #176c35;
}

.site-auth-message--error {
	border: 1px solid #f0c3c3;
	background: #fff5f5;
	color: #9b1c1c;
}

.site-auth-floating-message {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 10000;
	max-width: min(360px, calc(100% - 36px));
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.18);
}

.post-tags a,
.tai-lieu-card__meta a {
	color: inherit;
	text-decoration: none;
}

.post-tags a:hover,
.tai-lieu-card__meta a:hover {
	text-decoration: underline;
}

.tai-lieu-card__meta-item:not(:last-child)::after,
.post-card-meta span:not(:last-child)::after {
	content: "•";
	margin-left: 6px;
	color: var(--muted-color, #666666);
}

.home-site-search__form input[type="search"],
.home-site-search__form button,
.tai-lieu-filter-form select,
.tai-lieu-filter-form button,
.tai-lieu-filter-form__reset {
	min-height: 44px;
}

@media (max-width: 768px) {
	.site-auth-modal__dialog {
		width: min(100% - 24px, 520px);
		max-height: calc(100dvh - 24px);
		margin: 12px auto;
		padding: 20px;
	}

	.site-auth-tabs {
		padding-right: 34px;
	}

	.tai-lieu-filter-form select,
	.tai-lieu-filter-form button,
	.tai-lieu-filter-form__reset {
		flex-basis: 100%;
		width: 100%;
	}

	.tai-lieu-card__meta,
	.post-card-meta {
		gap: 5px;
		line-height: 1.55;
	}
}

/* ==================================================
   PATCH 1.3.0 - HONEYPOT FORM CHỐNG SPAM
================================================== */
.sachyhctvn-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ==================================================
   PATCH 1.4.0 - KHỐI TÌM KIẾM TOÀN TRANG DÙNG CHUNG
================================================== */
.home-site-search,
.site-search-box {
	margin: 0 0 18px;
	padding: 18px;
	border: 1px solid #e2d6c4;
	border-radius: var(--tai-lieu-radius, var(--card-radius, 18px));
	background: #fffdf8;
}

.site-search-box--single-post,
.site-search-box--single-tai-lieu,
.site-search-box--search-results,
.site-search-box--no-results {
	margin-top: 22px;
	margin-bottom: 24px;
}

.home-site-search__form,
.site-search-box__form {
	display: flex;
	align-items: center;
	gap: 12px;
}

.home-site-search__form input[type="search"],
.site-search-box__form input[type="search"] {
	flex: 1 1 auto;
	width: 100%;
	min-height: 44px;
	padding: 9px 14px;
	border: 1px solid #cdbfa8;
	border-radius: 999px;
	background: #ffffff;
	color: #4a2f1b;
	font-size: 15px;
}

.home-site-search__form input[type="search"]:focus,
.site-search-box__form input[type="search"]:focus {
	border-color: var(--accent-color, #8b3a3a);
	outline: 2px solid rgba(139, 58, 58, 0.12);
	outline-offset: 2px;
}

.home-site-search__form button,
.site-search-box__form button {
	min-height: 44px;
	padding: 9px 22px;
	border: 0;
	border-radius: 999px;
	background: #4a2f1b;
	color: #ffffff;
	font-weight: 700;
	cursor: pointer;
}

.home-site-search__form button:hover,
.home-site-search__form button:focus,
.site-search-box__form button:hover,
.site-search-box__form button:focus {
	background: #2f1d10;
}

.no-posts-search .home-site-search,
.no-posts-search .site-search-box {
	margin-bottom: 0;
}

@media (max-width: 640px) {
	.home-site-search__form,
	.site-search-box__form {
		align-items: stretch;
		flex-direction: column;
	}

	.home-site-search__form button,
	.site-search-box__form button {
		width: 100%;
	}
}

/* Cảnh báo y tế dùng chung cho post, tài liệu và CPT YHCT */
.sachyhctvn-medical-warnings {
	margin: 28px 0;
	display: grid;
	gap: 14px;
}

.sachyhctvn-medical-warning {
	padding: 18px;
	border: 1px solid var(--border-color);
	border-left: 4px solid #d97706;
	border-radius: var(--card-radius);
	background: #fff8ed;
}

.sachyhctvn-medical-warning__title {
	margin: 0 0 10px;
	font-size: 1.25rem;
	line-height: 1.35;
}

.sachyhctvn-medical-warning p:first-child {
	margin-top: 0;
}

.sachyhctvn-medical-warning p:last-child {
	margin-bottom: 0;
}

/* ==================================================
   PATCH 1.5.0 - HOME THEO MẪU: HEADER + HERO FULL NGANG + SIDEBAR CARD
================================================== */
.site-box {
	max-width: none;
	background: #f7f8f3;
}

.site-header {
	background: #ffffff !important;
	border-bottom: 1px solid rgba(17, 65, 35, 0.12);
}

.site-header .site-header-main {
	max-width: 1320px;
	margin: 0 auto;
	grid-template-columns: 260px minmax(0, 1fr) 230px !important;
	min-height: 72px;
	padding: 10px 24px;
	box-shadow: none !important;
}

.site-title,
.site-title a {
	color: #123f23;
	font-size: 28px;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.site-description {
	color: #45634d;
	font-size: 13px;
	font-weight: 500;
}

.custom-logo {
	max-height: 52px;
}

.primary-menu {
	gap: 28px;
}

.primary-menu a,
.tai-lieu-menu a {
	position: relative;
	color: #1f2f24;
	font-size: 15px;
	font-weight: 700;
}

.primary-menu > li > a::before,
.tai-lieu-menu > li > a::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -12px;
	height: 2px;
	border-radius: 99px;
	background: transparent;
}

.primary-menu > li.current-menu-item > a::before,
.primary-menu > li > a:hover::before,
.tai-lieu-menu > li.current-menu-item > a::before,
.tai-lieu-menu > li > a:hover::before {
	background: #0f6d36;
}

.site-header .header-auth {
	border: 0;
	background: transparent;
	box-shadow: none;
	padding: 0;
}

.site-header .header-auth__button,
.site-header .header-auth__link {
	min-height: 38px;
	padding: 0 17px;
	background: #0f5b2d;
	color: #ffffff;
	font-size: 14px;
	box-shadow: 0 6px 16px rgba(15, 91, 45, .18);
}

.header-socials__link {
	width: 31px;
	height: 31px;
	border-color: #dbe8de;
	background: #f8fbf8;
	color: #0f5b2d;
}

.site-main.yhct-home-page--full-hero {
	padding: 0 0 48px;
	background: #f6f7f2;
}

.yhct-home-hero--wide {
	position: relative;
	min-height: var(--yhct-home-hero-height, 320px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 54px 24px 46px;
	background-image:
		linear-gradient(90deg, rgba(8, 31, 16, .78), rgba(8, 31, 16, .46)),
		radial-gradient(circle at 16% 30%, rgba(75, 140, 76, .45), transparent 30%),
		linear-gradient(135deg, #102214, #36421c 48%, #7d5d34);
	background-size: cover;
	background-position: center;
	color: #ffffff;
	overflow: hidden;
}

.yhct-home-hero--wide::before,
.yhct-home-hero--wide::after {
	content: "";
	position: absolute;
	pointer-events: none;
	opacity: .28;
}

.yhct-home-hero--wide::before {
	left: -40px;
	bottom: -40px;
	width: 310px;
	height: 210px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,255,255,.28), transparent 66%);
}

.yhct-home-hero--wide::after {
	right: 0;
	top: 0;
	width: 38%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.16));
}

.yhct-home-hero--wide .yhct-home-hero__inner {
	position: relative;
	z-index: 1;
	width: min(100%, 760px);
	text-align: center;
}

.yhct-home-hero--wide h1 {
	margin: 0 0 10px;
	color: #ffffff;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(34px, 4vw, 52px);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: .01em;
	text-shadow: 0 2px 18px rgba(0,0,0,.28);
}

.yhct-home-hero--wide p {
	margin: 0 0 25px;
	color: rgba(255,255,255,.9);
	font-size: clamp(15px, 1.6vw, 18px);
	font-weight: 500;
}

.yhct-home-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 132px 64px;
	align-items: stretch;
	max-width: 720px;
	margin: 0 auto;
	padding: 0;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 18px 50px rgba(0,0,0,.24);
	overflow: hidden;
}

.yhct-home-search input[type="search"],
.yhct-home-search select,
.yhct-home-search button {
	min-height: 58px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.yhct-home-search input[type="search"] {
	padding: 0 22px;
	color: #263a2b;
	font-size: 16px;
}

.yhct-home-search select {
	border-left: 1px solid #e7ece6;
	padding: 0 14px;
	background: #fff;
	color: #263a2b;
	font-weight: 700;
}

.yhct-home-search button {
	background: #0f6d36;
	color: #ffffff;
	font-size: 0;
	border-radius: 0;
}

.yhct-home-search button::before {
	content: "🔍";
	font-size: 19px;
}

.yhct-home-keywords {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
	color: rgba(255,255,255,.88);
	font-size: 14px;
	font-weight: 700;
}

.yhct-home-keywords a {
	padding: 5px 15px;
	border: 1px solid rgba(255,255,255,.34);
	border-radius: 999px;
	background: rgba(255,255,255,.08);
	color: #ffffff;
	text-decoration: none;
	backdrop-filter: blur(3px);
}

.yhct-home-keywords a:hover {
	background: rgba(255,255,255,.18);
	text-decoration: none;
}

.yhct-home-layout--after-hero {
	max-width: 1240px;
	margin: 28px auto 0;
	padding: 0 24px;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 28px;
}

.yhct-home-section {
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid rgba(25,70,37,.10);
	border-radius: 16px;
	background: rgba(255,255,255,.92);
	box-shadow: 0 8px 26px rgba(12, 44, 22, .04);
}

.yhct-home-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 16px;
}

.yhct-home-section__head h2 {
	position: relative;
	margin: 0;
	padding-left: 28px;
	color: #143d22;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.yhct-home-section__head h2::before {
	content: "☘";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #0f6d36;
	font-size: 18px;
}

.yhct-home-section__head a {
	color: #0f6d36;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.yhct-home-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.yhct-home-card {
	position: relative;
	min-width: 0;
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
	transition: transform .18s ease, box-shadow .18s ease;
}

.yhct-home-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(10, 50, 24, .10);
}

.yhct-home-card__thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 8.5;
	background: #eff5ee;
	overflow: hidden;
}

.yhct-home-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.yhct-home-card:hover .yhct-home-card__thumb img {
	transform: scale(1.04);
}

.yhct-home-card__placeholder {
	display: grid;
	place-items: center;
	height: 100%;
	font-size: 42px;
	color: #6f9d77;
	background: linear-gradient(135deg, #eaf4e9, #fff7e6);
}

.yhct-home-card__body {
	padding: 10px 2px 2px;
}

.yhct-home-card__label {
	display: inline-flex;
	margin: 0 0 6px;
	padding: 3px 9px;
	border-radius: 999px;
	background: #f3ead9;
	color: #86602a;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.yhct-home-card__title {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.45;
}

.yhct-home-card__title a {
	color: #1c2e22;
	text-decoration: none;
}

.yhct-home-card__title a:hover {
	color: #0f6d36;
}

.yhct-home-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	color: #718175;
	font-size: 13px;
}

.yhct-home-rank-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.yhct-home-card--rank {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.yhct-home-card--rank .yhct-home-card__thumb {
	aspect-ratio: 1 / 1;
	border-radius: 10px;
}

.yhct-home-card__rank {
	position: absolute;
	left: 6px;
	top: 6px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #0f6d36;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.yhct-home-card--rank .yhct-home-card__label {
	display: none;
}

.yhct-home-card--rank .yhct-home-card__title {
	font-size: 14px;
}

.yhct-home-empty {
	padding: 18px;
	border: 1px dashed rgba(15, 109, 54, .28);
	border-radius: 12px;
	background: #fbfdf9;
	color: #5b6f60;
	font-size: 14px;
}

.site-sidebar.sticky-sidebar {
	position: sticky;
	top: 92px;
	align-self: start;
}

.site-sidebar .widget,
.site-sidebar .sidebar-widget {
	margin: 0 0 18px;
	padding: 18px;
	border: 1px solid rgba(25,70,37,.10);
	border-radius: 16px;
	background: rgba(255,255,255,.94);
	box-shadow: 0 8px 26px rgba(12, 44, 22, .04);
}

.site-sidebar .widget-title,
.site-sidebar .widgettitle {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	color: #143d22;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.site-sidebar li {
	padding: 10px 0;
	border-color: #edf1ec;
}

.yhct-popular-list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: yhct-popular;
}

.yhct-popular-list li {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
}

.yhct-popular-list li::before {
	counter-increment: yhct-popular;
	content: counter(yhct-popular);
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #edf4ea;
	color: #0f6d36;
	font-size: 12px;
	font-weight: 800;
}

.sidebar-ad-widget {
	padding: 0 !important;
	overflow: hidden;
}

.yhct-default-ad {
	position: relative;
	min-height: 184px;
	padding: 26px 22px;
	border-radius: 16px;
	background:
		radial-gradient(circle at 88% 78%, rgba(180,125,53,.28), transparent 35%),
		linear-gradient(135deg, #f5ead1, #f6fbef 64%, #e8f4df);
	color: #244027;
	overflow: hidden;
}

.yhct-default-ad::after {
	content: "";
	position: absolute;
	right: -24px;
	bottom: -36px;
	width: 170px;
	height: 130px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(127,87,30,.28), transparent 68%);
}

.yhct-default-ad__badge {
	display: inline-flex;
	margin-bottom: 14px;
	padding: 3px 9px;
	border-radius: 999px;
	background: rgba(255,255,255,.72);
	color: #7c612d;
	font-size: 12px;
	font-weight: 800;
}

.yhct-default-ad strong {
	display: block;
	max-width: 210px;
	margin-bottom: 6px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 26px;
	line-height: 1.22;
	color: #174122;
}

.yhct-default-ad p {
	position: relative;
	z-index: 1;
	max-width: 210px;
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.45;
}

.yhct-default-ad a {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 15px;
	border-radius: 8px;
	background: #0f6d36;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.yhct-filter-links a,
.tag-cloud-link {
	display: inline-flex;
	margin: 0 6px 8px 0;
	padding: 6px 10px;
	border-radius: 999px;
	background: #f1f7ef;
	color: #174122 !important;
	font-size: 13px !important;
	font-weight: 700;
	text-decoration: none;
}

.tag-cloud-link:hover,
.yhct-filter-links a:hover {
	background: #dfeee0;
	text-decoration: none;
}

@media (max-width: 1180px) {
	.yhct-home-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.yhct-home-rank-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.site-header .site-header-main {
		grid-template-columns: 1fr auto !important;
		grid-template-areas:
			"brand toggle"
			"auth auth"
			"nav nav" !important;
	}
	.yhct-home-layout--after-hero {
		display: block;
	}
	.site-sidebar.sticky-sidebar {
		position: static;
		margin-top: 24px;
	}
}

@media (max-width: 700px) {
	.yhct-home-hero--wide {
		padding: 38px 16px 34px;
		min-height: 260px;
	}
	.yhct-home-search {
		grid-template-columns: 1fr;
		border-radius: 14px;
	}
	.yhct-home-search input[type="search"],
	.yhct-home-search select,
	.yhct-home-search button {
		min-height: 50px;
	}
	.yhct-home-search select {
		border-left: 0;
		border-top: 1px solid #e7ece6;
	}
	.yhct-home-grid,
	.yhct-home-rank-grid {
		grid-template-columns: 1fr;
	}
	.yhct-home-card--rank {
		grid-template-columns: 92px minmax(0, 1fr);
	}
	.yhct-home-layout--after-hero {
		padding: 0 14px;
		margin-top: 18px;
	}
}

/* PATCH v29.9 - Clone giao diện mẫu: hero nền ảnh thật, header social, bỏ top-posts */
.top-posts-bar,
.site-header-stream.top-posts-bar { display: none !important; }

.site-box { max-width: none !important; }
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255,255,255,.98) !important;
	border-bottom: 1px solid rgba(22,76,38,.12);
	box-shadow: 0 2px 16px rgba(21,58,30,.05);
}
.site-header-main {
	max-width: 1320px !important;
	min-height: 74px !important;
	margin: 0 auto !important;
	padding: 10px 26px !important;
	display: grid !important;
	grid-template-columns: 278px minmax(0,1fr) auto !important;
	align-items: center !important;
	gap: 22px !important;
	background: transparent !important;
}
.site-branding { min-width: 0 !important; }
.site-logo,
.site-title--default-logo a {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none !important;
}
.site-title__mark {
	width: 54px;
	height: auto;
	object-fit: contain;
	display: block;
}
.site-title,
.site-title a {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 29px !important;
	line-height: 1.1;
	font-weight: 800 !important;
	color: #174426 !important;
	letter-spacing: .04em;
}
.site-description {
	margin-top: 3px;
	padding-left: 66px;
	color: #415b46 !important;
	font-size: 13px !important;
	font-weight: 500;
	line-height: 1.25;
}
.main-navigation { justify-self: center !important; }
.primary-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 28px !important;
}
.primary-menu a {
	padding: 26px 0 20px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .01em;
	color: #17291e !important;
	text-decoration: none !important;
}
.primary-menu > li > a::before { bottom: 9px !important; height: 2px !important; }
.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-ancestor > a,
.primary-menu > li > a:hover { color:#0f6d36 !important; }
.primary-menu .sub-menu {
	border: 1px solid rgba(28,82,43,.12);
	border-radius: 12px;
	box-shadow: 0 14px 34px rgba(13,55,25,.12);
	overflow: hidden;
}
.primary-menu .sub-menu a { padding: 11px 15px !important; font-weight: 700 !important; }
.site-header-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	white-space: nowrap;
}
.header-socials {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-right: 14px;
	border-right: 1px solid #dce8de;
}
.header-socials__link {
	width: 32px !important;
	height: 32px !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #dbe9de !important;
	border-radius: 999px !important;
	background: #f7fbf7 !important;
	color: #0f6d36 !important;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none !important;
}
.header-auth { gap: 0 !important; }
.header-auth__button--outline { display: none !important; }
.site-header .header-auth__button,
.site-header .header-auth__link {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	min-height: 42px !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: #0f5b2d !important;
	color: #fff !important;
	font-weight: 800 !important;
	box-shadow: 0 8px 20px rgba(15,91,45,.18) !important;
}
.site-header .header-auth__button::before,
.site-header .header-auth__link::before { content: "♙"; font-size: 16px; line-height: 1; }

.site-main.yhct-home-page--full-hero {
	padding: 0 0 48px !important;
	background: #f6f7f2 !important;
}
.yhct-home-hero--wide {
	min-height: var(--yhct-home-hero-height, 330px) !important;
	padding: 62px 24px 42px !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	color: #fff !important;
	border-radius: 0 !important;
	box-shadow: inset 0 -22px 34px rgba(0,0,0,.18);
}
.yhct-home-hero--wide::before,
.yhct-home-hero--wide::after { display:none !important; }
.yhct-home-hero--wide .yhct-home-hero__inner {
	max-width: 760px !important;
	text-align: center !important;
}
.yhct-home-hero--wide h1 {
	font-family: Georgia, 'Times New Roman', serif !important;
	font-size: clamp(36px, 4vw, 52px) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	color: #fff !important;
	text-shadow: 0 3px 20px rgba(0,0,0,.35) !important;
}
.yhct-home-hero--wide p {
	margin-bottom: 24px !important;
	color: rgba(255,255,255,.92) !important;
	font-size: 18px !important;
	font-weight: 600;
}
.yhct-home-search {
	max-width: 760px !important;
	grid-template-columns: minmax(0,1fr) 132px 64px !important;
	border-radius: 15px !important;
	box-shadow: 0 20px 55px rgba(0,0,0,.28) !important;
	background: #fff !important;
}
.yhct-home-search input[type="search"],
.yhct-home-search select,
.yhct-home-search button { min-height: 62px !important; }
.yhct-home-search button { background: #0f6d36 !important; }
.yhct-home-search button::before { content: "⌕" !important; font-size: 25px !important; }
.yhct-home-keywords { margin-top: 17px !important; color: rgba(255,255,255,.95) !important; }
.yhct-home-keywords span { font-weight: 800; }
.yhct-home-keywords a {
	padding: 6px 16px !important;
	border: 1px solid rgba(255,255,255,.35) !important;
	border-radius: 999px !important;
	background: rgba(28,42,19,.35) !important;
	color: #fff !important;
	text-decoration: none !important;
	backdrop-filter: blur(3px);
}

.yhct-home-layout--after-hero {
	max-width: 1240px !important;
	margin: 30px auto 0 !important;
	padding: 0 24px !important;
	display: grid !important;
	grid-template-columns: minmax(0,1fr) 340px !important;
	gap: 28px !important;
	align-items: start !important;
}
.yhct-home-maincol { min-width:0 !important; }
.yhct-home-section {
	margin-bottom: 24px !important;
	padding: 18px 20px 20px !important;
	border: 1px solid rgba(25,70,37,.10) !important;
	border-radius: 16px !important;
	background: rgba(255,255,255,.96) !important;
	box-shadow: 0 8px 26px rgba(12,44,22,.045) !important;
}
.yhct-home-section__head h2 {
	padding-left: 30px !important;
	color: #163f24 !important;
	font-size: 19px !important;
	font-weight: 900 !important;
	letter-spacing: .02em;
}
.yhct-home-section__head h2::before {
	content: "☘" !important;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 17px !important;
	color: #18703b !important;
}
.yhct-home-section__head a { color:#0f6d36 !important; font-weight:800; text-decoration:none !important; }
.yhct-home-grid { grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 20px !important; }
.yhct-home-card {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.yhct-home-card__thumb {
	border-radius: 10px !important;
	min-height: 128px !important;
	background: #eef4ec !important;
	overflow: hidden !important;
}
.yhct-home-card__thumb img { height: 128px !important; object-fit: cover !important; }
.yhct-home-card__label {
	display: inline-flex;
	margin-top: 9px;
	padding: 3px 9px;
	border-radius: 999px;
	background:#f7ead1;
	color:#8b5b20;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}
.yhct-home-card__title { margin-top: 8px !important; font-size: 16px !important; line-height: 1.45 !important; }
.yhct-home-rank-grid { grid-template-columns: repeat(5, minmax(0,1fr)) !important; gap: 16px !important; }
.yhct-home-section--rank .yhct-home-card__thumb { min-height: 80px !important; }
.yhct-home-section--rank .yhct-home-card__thumb img { height: 80px !important; }

.site-sidebar.sticky-sidebar {
	position: sticky !important;
	top: 92px !important;
	align-self: start !important;
}
.site-sidebar.sticky-sidebar .widget,
.site-sidebar.sticky-sidebar .sidebar-widget {
	margin-bottom: 18px !important;
	padding: 19px !important;
	border: 1px solid rgba(28,82,43,.12) !important;
	border-radius: 16px !important;
	background: #fffdf8 !important;
	box-shadow: 0 10px 28px rgba(25,65,35,.06) !important;
}
.site-sidebar .widget-title {
	position: relative;
	margin: 0 0 15px !important;
	padding-left: 0 !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	letter-spacing: .02em;
	color:#173f25 !important;
}
.site-sidebar .widget-title::before { content: none !important; }
.site-sidebar .tag-cloud-link,
.yhct-filter-links a {
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0 6px 8px 0;
	padding:7px 11px;
	border-radius:999px;
	background:#f1f8f2;
	color:#185731 !important;
	font-size:13px !important;
	font-weight:700;
	text-decoration:none !important;
}
.site-sidebar .tag-cloud-link::before { content:"◜"; color:#4f9a66; }
.yhct-popular-list {
	list-style:none !important;
	padding:0 !important;
	margin:0 !important;
	counter-reset: yhct-pop;
}
.yhct-popular-list li {
	counter-increment: yhct-pop;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:12px 0;
	border-bottom:1px solid #edf2ea;
}
.yhct-popular-list li:last-child { border-bottom:0; }
.yhct-popular-list li::before {
	content: counter(yhct-pop);
	flex:0 0 28px;
	width:28px;
	height:28px;
	border-radius:999px;
	background:#e7f1e6;
	color:#1b6a39;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:12px;
	font-weight:900;
}
.yhct-popular-list a { color:#253429 !important; font-weight:700; text-decoration:none !important; }
.sidebar-ad-widget { padding: 0 !important; overflow:hidden; }
.yhct-default-ad--image {
	position: relative;
	min-height: 184px;
	padding: 24px 22px;
	border-radius: 16px;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.yhct-default-ad--image::before {
	content:"";
	position:absolute;
	inset:0;
	background: linear-gradient(90deg, rgba(255,251,232,.96) 0%, rgba(255,251,232,.78) 55%, rgba(255,251,232,.2) 100%);
}
.yhct-default-ad--image > * { position:relative; z-index:1; }
.yhct-default-ad__badge {
	display:inline-flex;
	padding:3px 9px;
	border-radius:999px;
	background:#f0dfb9;
	color:#77531a;
	font-size:12px;
	font-weight:700;
}
.yhct-default-ad strong {
	display:block;
	max-width: 185px;
	margin: 16px 0 8px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 24px;
	line-height:1.15;
	color:#24471d;
}
.yhct-default-ad p { max-width: 185px; margin:0 0 16px; color:#705a28; font-weight:600; }
.yhct-default-ad a {
	display:inline-flex;
	padding:9px 17px;
	border-radius:6px;
	background:#185e31;
	color:#fff !important;
	font-weight:800;
	text-decoration:none !important;
}

@media (max-width: 1120px) {
	.site-header-main { grid-template-columns: 230px minmax(0,1fr) auto !important; gap: 16px !important; }
	.primary-menu { gap: 0 18px !important; }
	.yhct-home-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
	.yhct-home-rank-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 920px) {
	.site-header-main { grid-template-columns: minmax(0,1fr) auto !important; }
	.main-navigation { grid-column: 1 / -1; justify-self: start !important; width:100%; }
	.site-header-right { grid-column: 2; grid-row: 1; }
	.yhct-home-layout--after-hero { grid-template-columns: 1fr !important; }
	.site-sidebar.sticky-sidebar { position: static !important; top: auto !important; }
}
@media (max-width: 640px) {
	.site-header-main { padding: 9px 14px !important; }
	.header-socials { display:none !important; }
	.site-description { padding-left: 0; }
	.site-title__mark { width:42px; }
	.site-title, .site-title a { font-size:22px !important; }
	.yhct-home-hero--wide { min-height: 300px !important; padding: 42px 16px 32px !important; }
	.yhct-home-search { grid-template-columns: 1fr 54px !important; border-radius: 13px !important; }
	.yhct-home-search select { display:none !important; }
	.yhct-home-search input[type="search"], .yhct-home-search button { min-height: 56px !important; }
	.yhct-home-grid, .yhct-home-rank-grid { grid-template-columns: 1fr !important; }
}

/* ==================================================
   PATCH 1.6.1 - FIX HEADER/HERO THEO MẪU: KHÔNG CHỒNG ẢNH, AUTH GỌN
================================================== */
.site-header {
	background: #ffffff !important;
	border-bottom: 1px solid rgba(15, 91, 45, .08) !important;
	box-shadow: 0 2px 12px rgba(20, 45, 26, .04) !important;
}

.site-header-main {
	min-height: 72px !important;
	padding: 0 44px !important;
	grid-template-columns: minmax(220px, 290px) minmax(0, 1fr) minmax(240px, auto) !important;
	grid-template-areas: "brand nav auth" !important;
	align-items: center !important;
	gap: 24px !important;
}

.site-branding {
	align-self: center !important;
}

.site-title a,
.site-title {
	align-items: center !important;
	gap: 10px !important;
	color: #0b4b26 !important;
	font-family: Georgia, 'Times New Roman', serif !important;
	font-size: 31px !important;
	font-weight: 800 !important;
	letter-spacing: .01em !important;
	line-height: 1 !important;
}

.site-description {
	margin-top: 4px !important;
	padding-left: 52px !important;
	color: #234a2d !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

.site-title__mark {
	width: 48px !important;
	height: 48px !important;
	object-fit: contain !important;
}

.main-navigation {
	justify-self: center !important;
}

.primary-menu {
	align-items: center !important;
	justify-content: center !important;
	gap: 0 26px !important;
}

.primary-menu > li > a {
	padding: 28px 0 22px !important;
	color: #1f2d23 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase !important;
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current_page_item > a,
.primary-menu > li > a:hover {
	color: #0d6b35 !important;
}

.primary-menu > li.current-menu-item > a::after,
.primary-menu > li.current_page_item > a::after,
.primary-menu > li > a:hover::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 16px !important;
	height: 2px !important;
	border-radius: 999px !important;
	background: #0d6b35 !important;
}

.site-header-right {
	grid-area: auth !important;
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;
	align-self: center !important;
	gap: 12px !important;
	width: auto !important;
	min-width: 0 !important;
}

.header-socials {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 14px 0 0 !important;
	border-right: 1px solid rgba(15, 91, 45, .14) !important;
}

.header-socials__link {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	border: 1px solid #dce9df !important;
	border-radius: 999px !important;
	background: #fbfdfb !important;
	color: #0d6b35 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.header-socials__link:hover {
	background: #eaf5ee !important;
	color: #075326 !important;
}

.site-header .header-auth {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 6px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.site-header .header-auth__button,
.site-header .header-auth__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	min-height: 34px !important;
	height: 34px !important;
	padding: 0 13px !important;
	border: 1px solid #0d6b35 !important;
	border-radius: 9px !important;
	background: #0d6b35 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.site-header .header-auth__button::before,
.site-header .header-auth__link::before {
	content: "👤" !important;
	font-size: 12px !important;
	line-height: 1 !important;
	margin: 0 !important;
}

.site-header .header-auth__button--outline {
	display: inline-flex !important;
	background: #0d6b35 !important;
	color: #ffffff !important;
}

.site-header .header-auth__button--outline::before {
	content: "＋" !important;
	font-size: 12px !important;
}

.yhct-home-hero--wide {
	min-height: var(--yhct-home-hero-height, 315px) !important;
	padding: 48px 24px 38px !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.yhct-home-hero--wide::before,
.yhct-home-hero--wide::after,
.yhct-home-hero--wide h1::before,
.yhct-home-hero--wide h1::after {
	display: none !important;
	content: none !important;
}

.yhct-home-hero--wide .yhct-home-hero__inner {
	position: relative !important;
	z-index: 1 !important;
	max-width: 760px !important;
	margin: 0 auto !important;
	text-align: center !important;
}

.yhct-home-hero--wide h1 {
	margin: 0 0 10px !important;
	font-size: clamp(34px, 3.6vw, 48px) !important;
	font-weight: 800 !important;
	line-height: 1.12 !important;
	letter-spacing: .015em !important;
	text-shadow: 0 2px 14px rgba(0,0,0,.34) !important;
}

.yhct-home-hero--wide p {
	margin: 0 0 24px !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	text-shadow: 0 1px 8px rgba(0,0,0,.26) !important;
}

.yhct-home-search {
	grid-template-columns: minmax(0,1fr) 130px 76px !important;
	max-width: 760px !important;
	margin: 0 auto !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: #ffffff !important;
	box-shadow: 0 16px 38px rgba(0,0,0,.26) !important;
	overflow: hidden !important;
}

.yhct-home-search input[type="search"],
.yhct-home-search select,
.yhct-home-search button {
	min-height: 58px !important;
}

.yhct-home-search button {
	width: 76px !important;
	padding: 0 !important;
	font-size: 0 !important;
}

.yhct-home-search button::before {
	content: "⌕" !important;
	display: inline-block !important;
	font-size: 28px !important;
	line-height: 1 !important;
}

.yhct-home-keywords {
	margin-top: 16px !important;
}

@media (max-width: 1080px) {
	.site-header-main {
		padding: 0 22px !important;
		grid-template-columns: minmax(185px, 240px) minmax(0, 1fr) auto !important;
		gap: 16px !important;
	}
	.primary-menu { gap: 0 16px !important; }
	.primary-menu > li > a { font-size: 13px !important; }
}

@media (max-width: 920px) {
	.site-header-main {
		min-height: auto !important;
		padding: 10px 16px !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		grid-template-areas:
			"brand toggle"
			"auth auth"
			"nav nav" !important;
	}
	.site-header-right {
		justify-content: flex-start !important;
		width: 100% !important;
		padding-top: 8px !important;
	}
	.header-socials { padding-right: 10px !important; }
	.main-navigation { grid-area: nav !important; }
}

@media (max-width: 640px) {
	.site-title a,
	.site-title { font-size: 23px !important; }
	.site-description { padding-left: 44px !important; font-size: 12px !important; }
	.site-title__mark { width: 40px !important; height: 40px !important; }
	.header-socials__link { width: 30px !important; height: 30px !important; min-width: 30px !important; }
	.site-header .header-auth__button,
	.site-header .header-auth__link { height: 31px !important; min-height: 31px !important; padding: 0 10px !important; font-size: 12px !important; }
	.yhct-home-hero--wide { min-height: 290px !important; padding: 38px 16px 30px !important; }
	.yhct-home-search { grid-template-columns: minmax(0,1fr) 58px !important; }
	.yhct-home-search select { display: none !important; }
	.yhct-home-search button { width: 58px !important; }
}

/* v29-11: icon tùy biến cho tiêu đề main/sidebar */
.yhct-home-section__head h2 {
	display: inline-flex !important;
	align-items: center !important;
	gap: 9px !important;
	padding-left: 0 !important;
	color: var(--home-section-title-color, #143d22) !important;
	font-size: var(--home-section-title-size, 20px) !important;
}
.yhct-home-section__head h2::before { content: none !important; }
.yhct-section-title-icon,
.yhct-sidebar-title-icon,
.yhct-topic-item-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 1;
	color: var(--home-section-icon-color, #0f6d36);
}
.yhct-section-title-icon {
	width: var(--home-section-icon-size, 20px);
	height: var(--home-section-icon-size, 20px);
	font-size: var(--home-section-icon-size, 20px);
}
.yhct-section-title-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.site-sidebar .widget-title,
.site-sidebar .yhct-widget-title-with-icon {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
}
.yhct-sidebar-title-icon {
	width: var(--sidebar-title-icon-size, 20px);
	height: var(--sidebar-title-icon-size, 20px);
	font-size: var(--sidebar-title-icon-size, 20px);
	color: var(--sidebar-icon-color, #0f6d36);
}
.yhct-sidebar-title-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.yhct-featured-topic-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid;
	gap: 8px;
}
.yhct-featured-topic-list li { margin: 0 !important; }
.yhct-featured-topic-list a {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 12px;
	background: #f4faf3;
	color: var(--sidebar-link-color, #222) !important;
	text-decoration: none !important;
}
.yhct-featured-topic-list a:hover { background: #eaf4e9; }
.yhct-topic-item-icon {
	width: var(--sidebar-topic-icon-size, 18px);
	height: var(--sidebar-topic-icon-size, 18px);
	font-size: var(--sidebar-topic-icon-size, 18px);
	color: var(--sidebar-icon-color, #0f6d36);
	border-radius: 999px;
}
.yhct-topic-item-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.yhct-topic-name { font-weight: 700; }
.yhct-topic-count {
	font-size: 12px;
	color: var(--muted-color, #666);
	font-weight: 700;
}

/* v29-13: fix header social/auth alignment - one horizontal row */
.site-header-main {
	grid-template-columns: minmax(210px, 280px) minmax(0, 1fr) auto !important;
	grid-template-areas: "brand nav auth" !important;
}
.site-header-right {
	grid-area: auth !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;	
	gap: 12px !important;
	width: auto !important;
	min-width: max-content !important;
	padding: 0 !important;
}
.site-header-right .header-socials {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 12px 0 0 !important;
	border-right: 1px solid rgba(16, 93, 45, .16) !important;
}
.site-header-right .header-socials__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	border: 1px solid rgba(16, 93, 45, .14) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #0c6b36 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}
.site-header-right .header-socials__link:hover {
	background: #0c6b36 !important;
	border-color: #0c6b36 !important;
	color: #fff !important;
	transform: none !important;
}
.site-header .header-auth {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 7px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	white-space: nowrap !important;
}
.site-header .header-auth__button,
.site-header .header-auth__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #075c2d !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	box-shadow: none !important;
}
.site-header .header-auth__button--outline {
	background: #075c2d !important;
	color: #fff !important;
}
.site-header .header-auth__button::before,
.site-header .header-auth__link::before {
	content: "♟" !important;
	display: inline-block !important;
	margin-right: 6px !important;
	font-size: 11px !important;
	line-height: 1 !important;
	opacity: .9 !important;
}
.site-header .header-auth__button--outline::before {
	content: "♟" !important;
}
.site-header .header-auth--logged-in {
	gap: 10px !important;
}
.site-header .header-auth__user {
	padding: 0 !important;
	color: #0b66c3 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
}

@media (max-width: 1080px) {
	.site-header-main {
		grid-template-columns: minmax(190px, 240px) minmax(0, 1fr) auto !important;
		gap: 14px !important;
	}
	.site-header-right { gap: 9px !important; }
	.site-header-right .header-socials { gap: 6px !important; padding-right: 9px !important; }
	.site-header-right .header-socials__link { width: 28px !important; height: 28px !important; min-width: 28px !important; }
	.site-header .header-auth__button,
	.site-header .header-auth__link { height: 32px !important; min-height: 32px !important; padding: 0 11px !important; font-size: 12px !important; }
}
@media (max-width: 920px) {
	.site-header-main {
		grid-template-columns: minmax(0, 1fr) auto !important;
		grid-template-areas:
			"brand toggle"
			"auth auth"
			"nav nav" !important;
	}
	.site-header-right {
		justify-content: flex-start !important;
		width: 100% !important;
		min-width: 0 !important;
		padding-top: 8px !important;
		flex-wrap: nowrap !important;
	}
}
@media (max-width: 640px) {
	.site-header-right {
		gap: 8px !important;
		overflow-x: auto !important;
	}
	.site-header-right .header-socials__link { width: 28px !important; height: 28px !important; min-width: 28px !important; }
	.site-header .header-auth__button,
	.site-header .header-auth__link { height: 30px !important; min-height: 30px !important; padding: 0 10px !important; font-size: 12px !important; }
}


/* Hero clean background fix: no radial/spotlight pseudo overlay. */
.yhct-home-hero--wide {
	background-image: linear-gradient(var(--yhct-hero-overlay-rgba, rgba(0,0,0,0)), var(--yhct-hero-overlay-rgba, rgba(0,0,0,0))), var(--yhct-hero-bg) !important;
	background-size: var(--yhct-hero-bg-size, cover) !important;
	background-position: var(--yhct-hero-bg-position, center center) !important;
	background-repeat: no-repeat !important;
}
.yhct-home-hero--wide::before,
.yhct-home-hero--wide::after,
.yhct-home-hero--wide h1::before,
.yhct-home-hero--wide h1::after {
	display: none !important;
	content: none !important;
	background: none !important;
}


/* v29-21: ép menu chính nằm ngang ở desktop, không bị quay dọc do CSS cũ/override. */
@media (min-width: 921px) {
	.site-header .main-navigation,
	.site-header nav.main-navigation {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		min-width: 0 !important;
	}
	.site-header #primary-menu,
	.site-header .primary-menu,
	.site-header ul.primary-menu,
	.site-header .primary-menu.menu {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 24px !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
		width: auto !important;
	}
	.site-header .primary-menu > li,
	.site-header #primary-menu > li {
		display: block !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}
	.site-header .primary-menu > li > a,
	.site-header #primary-menu > li > a {
		display: inline-flex !important;
		align-items: center !important;
		white-space: nowrap !important;
	}
}

/* v29-21: thông tin biên soạn/kiểm duyệt/cập nhật chỉ là meta text cùng hàng. */
.single-entry-meta.yhct-single-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px 14px !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: var(--muted-color, #666) !important;
}
.single-entry-meta.yhct-single-meta span {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: inherit !important;
	font-weight: 400 !important;
	color: inherit !important;
}
.single-entry-meta.yhct-single-meta a {
	color: inherit !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}
.yhct-review-box,
.yhct-review-box .yhct-box-title {
	display: none !important;
}

/* v29-22: Fix khối "Bài viết xem nhiều" bị co chữ do chia 5 cột trong main/sidebar layout. */
.yhct-home-section--rank .yhct-home-rank-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
	gap: 14px !important;
}

.yhct-home-section--rank .yhct-home-card--rank {
	display: grid !important;
	grid-template-columns: 96px minmax(0, 1fr) !important;
	gap: 14px !important;
	align-items: start !important;
	min-width: 0 !important;
}

.yhct-home-section--rank .yhct-home-card--rank .yhct-home-card__thumb {
	width: 96px !important;
	height: 96px !important;
	min-width: 96px !important;
	min-height: 96px !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 12px !important;
}

.yhct-home-section--rank .yhct-home-card--rank .yhct-home-card__thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.yhct-home-section--rank .yhct-home-card--rank .yhct-home-card__body {
	min-width: 0 !important;
}

.yhct-home-section--rank .yhct-home-card--rank .yhct-home-card__title {
	margin: 0 0 6px !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.yhct-home-section--rank .yhct-home-card--rank .yhct-home-card__title a {
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.yhct-home-section--rank .yhct-home-card--rank .yhct-home-card__meta {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 4px !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
}

@media (max-width: 1120px) {
	.yhct-home-section--rank .yhct-home-rank-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 480px) {
	.yhct-home-section--rank .yhct-home-card--rank {
		grid-template-columns: 82px minmax(0, 1fr) !important;
		gap: 12px !important;
	}
	.yhct-home-section--rank .yhct-home-card--rank .yhct-home-card__thumb {
		width: 82px !important;
		height: 82px !important;
		min-width: 82px !important;
		min-height: 82px !important;
	}
}

/* v29-23: Bỏ icon mặc định bằng CSS để không bị trùng với icon tùy biến trong Customizer. */
.yhct-home-section__head h2::before,
.yhct-home-section__head h2:before,
.site-sidebar .widget-title::before,
.site-sidebar .widget-title:before,
.yhct-widget-title-with-icon::before,
.yhct-widget-title-with-icon:before {
	content: none !important;
	display: none !important;
}
.yhct-home-section__head h2 {
	padding-left: 0 !important;
}

/* Ảnh copy từ nguồn ngoài sau khi tải về Media: co theo khung, giữ nguyên tỷ lệ, không crop. */
.entry-content img,
.single-entry-content img,
.page-content img {
	max-width: 100%;
	height: auto;
}

/* YHCTVN review block + product CPT */
.entry-content img,.single-entry-content img,.tai-lieu-content img{max-width:100%;height:auto}
.yhctvn-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:22px 0}
.yhctvn-product-card{border:1px solid #eadfce;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.045)}
.yhctvn-product-card__image{display:block;aspect-ratio:4/3;background:#f6f1e8;overflow:hidden}
.yhctvn-product-card__image img{width:100%;height:100%;object-fit:contain;display:block}
.yhctvn-product-card__body{padding:14px 16px}
.yhctvn-product-card__title{margin:0 0 8px;font-size:18px;line-height:1.35}
.yhctvn-product-card__title a{text-decoration:none;color:inherit}
.yhctvn-product-price{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:8px 0;color:#8b3a3a}
.yhctvn-product-price__sale{font-size:20px}
.yhctvn-product-price__regular.is-old{text-decoration:line-through;color:#888}
.yhctvn-product-card__status,.yhctvn-product-status{display:inline-block;margin:8px 0;padding:4px 10px;border-radius:999px;background:#f4eadb;color:#6b471f;font-size:13px;font-weight:700}
.yhctvn-product-detail__top{display:grid;grid-template-columns:minmax(260px,42%) 1fr;gap:28px;align-items:start;margin:20px 0 28px}
.yhctvn-product-detail__media{background:#fff;border:1px solid #eadfce;border-radius:18px;padding:14px}
.yhctvn-product-detail__media>img{width:100%;height:auto;display:block;border-radius:12px}
.yhctvn-product-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px;margin-top:12px}
.yhctvn-product-gallery img{width:100%;height:86px;object-fit:contain;border:1px solid #eee;border-radius:10px;background:#fafafa}
.yhctvn-product-title{margin:0 0 10px;font-size:34px;line-height:1.25}
.yhctvn-product-short-desc{margin:12px 0;color:#444;line-height:1.7}
.yhctvn-product-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.yhctvn-product-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid #8b3a3a;color:#8b3a3a;text-decoration:none;font-weight:700;background:#fff}
.yhctvn-product-btn.is-primary{background:#8b3a3a;color:#fff}
.yhctvn-product-info-box,.yhctvn-product-note{margin:22px 0;padding:18px;border:1px solid #eadfce;border-radius:16px;background:#fffaf3}
.yhctvn-product-info-box h2{margin-top:0;font-size:22px}
.yhctvn-product-info-box table{width:100%;border-collapse:collapse}
.yhctvn-product-info-box th,.yhctvn-product-info-box td{padding:10px;border-bottom:1px solid #eadfce;text-align:left;vertical-align:top}
.yhctvn-product-info-box th{width:210px;color:#6b471f}
.yhctvn-product-related{margin:30px 0}
@media(max-width:768px){.yhctvn-product-detail__top{grid-template-columns:1fr}.yhctvn-product-title{font-size:28px}.yhctvn-product-info-box th{width:auto;display:block;border-bottom:0;padding-bottom:2px}.yhctvn-product-info-box td{display:block;padding-top:2px}}

/* v29-26: Widget bài/tài liệu có ảnh - chống vỡ layout */
.yhct-widget-post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.yhct-widget-post-list li{margin:0!important;padding:0!important;list-style:none!important}
.yhct-widget-post-list li>a{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;align-items:start;text-decoration:none;color:inherit;min-width:0}
.yhct-widget-post-thumb{width:78px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#f4efe6;display:flex;align-items:center;justify-content:center;color:#8a6a42;font-weight:700;line-height:1;flex:0 0 78px}
.yhct-widget-post-thumb img{width:100%;height:100%;display:block;object-fit:contain;background:#f8f5ee}
.yhct-widget-post-text{display:block;min-width:0;line-height:1.35}
.yhct-widget-post-text strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.4;margin:0;color:#222;word-break:break-word}
.yhct-widget-post-text small{display:block;margin-top:5px;font-size:12px;line-height:1.3;color:#777;white-space:normal}

/* v29-26: Bộ lọc nội dung gộp Danh mục + Chủ đề */
.yhct-content-filter{--yhct-filter-accent:#2f7d42;margin:0}
.yhct-content-filter__radio{position:absolute;opacity:0;pointer-events:none}
.yhct-content-filter__tabs{display:flex;gap:6px;margin:0 0 10px;padding:3px;background:#f3f6f1;border:1px solid #e1eadc;border-radius:999px;overflow:hidden}
.yhct-content-filter__tabs label{flex:1;display:flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer;color:#4f654d;white-space:nowrap}
.yhct-content-filter__radio:first-child:checked~.yhct-content-filter__tabs label:first-child,.yhct-content-filter__radio:nth-child(2):checked~.yhct-content-filter__tabs label:nth-child(2){background:#fff;color:var(--yhct-filter-accent);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.yhct-content-filter__panel{display:none}
.yhct-content-filter__radio:first-child:checked~.yhct-content-filter__panel--cat,.yhct-content-filter__radio:nth-child(2):checked~.yhct-content-filter__panel--tag{display:block}
.yhct-content-filter-pills{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.yhct-content-filter-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e4eadf;color:#334;text-decoration:none;font-size:13px;line-height:1.2}
.yhct-content-filter-pill:hover{border-color:#bad5b9;background:#f6fbf5;color:var(--yhct-filter-accent);text-decoration:none}
.yhct-content-filter-pill small{font-size:11px;color:#777;background:#f2f2f2;border-radius:999px;padding:1px 6px}
@media(max-width:768px){.yhct-content-filter-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.yhct-content-filter-pill{flex:0 0 auto}}

/* v29-26: Khối Nội dung liên quan riêng */
.yhctvn-linked-content-block{margin:28px 0;padding:18px;border:1px solid #eadfce;border-radius:18px;background:#fffdf8;clear:both}
.yhctvn-linked-content-title{margin:0 0 16px;font-size:22px;line-height:1.35;color:#5d3b1d}
.yhctvn-linked-content-group{margin:18px 0 0}
.yhctvn-linked-content-group:first-of-type{margin-top:0}
.yhctvn-linked-content-group-title{margin:0 0 12px;font-size:17px;line-height:1.35;color:#2f3b2f}
.yhctvn-linked-content-block .related-posts{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.yhctvn-linked-content-block .related-posts-grid{margin:0}
.yhctvn-linked-content-block .yhctvn-product-related{margin:0}


/* v29-31: social icons mở rộng + SVG nội bộ */
.header-socials__link,
.share-buttons__link {
	line-height: 1;
}
.header-socials__icon,
.header-socials__link svg,
.share-buttons__link svg {
	display: inline-flex;
	width: 15px;
	height: 15px;
	align-items: center;
	justify-content: center;
	fill: currentColor;
	stroke: none;
}
.header-socials__link--ganjing svg.gjw-icon,
.share-buttons__link--ganjing svg.gjw-icon {
	fill: none;
}
.header-socials__link--email svg,
.header-socials__link--phone svg,
.share-buttons__link--email svg {
	width: 16px;
	height: 16px;
}
.tai-lieu-header .header-socials {
	display: none !important;
}

/* ==== YHCTVN final fixes: CTA, PDF button, product gallery, author archive ==== */
.yhctvn-product-btn,
.yhctvn-product-btn.is-primary,
.yhctvn-product-btn-zalo,
.yhctvn-product-btn-email,
.yhctvn-product-btn-messenger,
.yhctvn-product-btn-phone,
.tai-lieu-pdf-button,
.tai-lieu-pdf-panel__button,
.yhctvn-pdf-button,
.yhctvn-btn-pdf,
.yhctvn-btn-zalo{
	background:#EE4D2D!important;
	border-color:#EE4D2D!important;
	color:#fff!important;
}
.yhctvn-product-btn:hover,
.yhctvn-product-btn.is-primary:hover,
.tai-lieu-pdf-button:hover,
.tai-lieu-pdf-panel__button:hover{
	background:#d94325!important;
	border-color:#d94325!important;
	color:#fff!important;
}
.yhctvn-product-gallery-wrap{display:block;max-width:100%;}
.yhctvn-product-main-image{width:100%;max-height:520px;object-fit:contain;border:1px solid #eee;border-radius:14px;background:#fafafa;padding:10px;}
.yhctvn-product-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:10px;margin-top:12px;}
.yhctvn-product-thumb{padding:0;border:1px solid #e5e5e5;border-radius:10px;background:#fff;cursor:pointer;overflow:hidden;}
.yhctvn-product-thumb img{width:100%;height:74px;object-fit:contain;display:block;background:#fafafa;}
.yhctvn-product-thumb.is-active{border-color:#EE4D2D;box-shadow:0 0 0 2px rgba(238,77,45,.15);}
.yhct-author-archive-grid{display:grid;grid-template-columns:1fr;gap:18px;margin:24px 0;max-width:960px;}
.yhct-author-card{display:flex;align-items:flex-start;gap:22px;padding:22px;border:1px solid #eee;border-radius:14px;background:#fff;}
.yhct-author-card__avatar{display:block;flex:0 0 120px;width:120px;height:120px;}
.yhct-author-card__avatar img,.yhct-author-card__avatar span{width:120px;height:120px;min-width:120px;max-width:120px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#f4f4f4;font-weight:700;font-size:36px;color:#8b3a3a;}
.yhct-author-card__body{flex:1;min-width:0;}
.yhct-author-card__title{margin:0 0 6px;font-size:26px;line-height:1.25;}
.yhct-author-card__position{font-weight:600;color:#666;margin-bottom:10px;}
.yhct-author-card__body p{font-size:16px;line-height:1.75;margin:0 0 16px;}

/* YHCT author meta fields */
.yhct-author-meta-list{display:grid;gap:14px;}
.yhct-author-meta-item{padding:12px 14px;border:1px solid #eee;border-radius:12px;background:#fff;}
.yhct-author-meta-label{font-weight:700;margin-bottom:6px;color:#333;}
.yhct-author-meta-value p{margin:0 0 8px;}
.yhct-author-meta-value p:last-child{margin-bottom:0;}
@media(max-width:600px){.yhct-author-card{gap:14px;padding:16px}.yhct-author-card__avatar{flex-basis:88px;width:88px;height:88px}.yhct-author-card__avatar img,.yhct-author-card__avatar span{width:88px;height:88px;min-width:88px;max-width:88px;font-size:30px}.yhct-author-card__title{font-size:22px;}}

/* v29-35: Menu phân tầng sâu 3-4+ cấp cho menu chính và menu tài liệu.
   Mục tiêu: mọi .sub-menu bên trong .sub-menu đều mở ngang sang phải,
   không bị CSS menu ngang desktop ép sai, và mobile hiển thị dạng cây. */
@media (min-width: 921px) {
	.site-header .primary-menu,
	.tai-lieu-header .tai-lieu-menu {
		position: relative !important;
		overflow: visible !important;
	}

	.site-header .primary-menu li,
	.tai-lieu-header .tai-lieu-menu li {
		position: relative !important;
		overflow: visible !important;
	}

	.site-header .primary-menu .sub-menu,
	.tai-lieu-header .tai-lieu-menu .sub-menu {
		position: absolute !important;
		display: block !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		z-index: 99999 !important;
		width: max-content !important;
		min-width: 220px !important;
		max-width: 320px !important;
		margin: 0 !important;
		padding: 8px 0 !important;
		list-style: none !important;
		background: var(--header-bg, #fff) !important;
		border: 1px solid rgba(28, 82, 43, .14) !important;
		border-radius: 12px !important;
		box-shadow: 0 16px 36px rgba(13, 55, 25, .14) !important;
		transition: opacity .16s ease, visibility .16s ease, transform .16s ease !important;
	}

	/* Tầng 2: rơi xuống dưới menu cha */
	.site-header .primary-menu > li > .sub-menu,
	.tai-lieu-header .tai-lieu-menu > li > .sub-menu {
		top: 100% !important;
		left: 0 !important;
		right: auto !important;
		transform: translateY(8px) !important;
	}

	/* Tầng 3, 4, 5...: bung ngang sang phải */
	.site-header .primary-menu .sub-menu .sub-menu,
	.tai-lieu-header .tai-lieu-menu .sub-menu .sub-menu {
		top: -8px !important;
		left: calc(100% + 2px) !important;
		right: auto !important;
		transform: translateX(8px) !important;
	}

	.site-header .primary-menu li:hover > .sub-menu,
	.site-header .primary-menu li:focus-within > .sub-menu,
	.tai-lieu-header .tai-lieu-menu li:hover > .sub-menu,
	.tai-lieu-header .tai-lieu-menu li:focus-within > .sub-menu {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: translate(0, 0) !important;
	}

	.site-header .primary-menu .sub-menu a,
	.tai-lieu-header .tai-lieu-menu .sub-menu a {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 14px !important;
		width: 100% !important;
		min-width: 220px !important;
		padding: 11px 15px !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
		white-space: nowrap !important;
		text-align: left !important;
		text-decoration: none !important;
	}

	/* Mũi tên: tầng trên xuống, tầng con sang ngang */
	.site-header .primary-menu > .menu-item-has-children > a::after,
	.tai-lieu-header .tai-lieu-menu > .menu-item-has-children > a::after {
		content: "▾" !important;
		font-size: 11px !important;
		margin-left: 6px !important;
	}

	.site-header .primary-menu .sub-menu .menu-item-has-children > a::after,
	.tai-lieu-header .tai-lieu-menu .sub-menu .menu-item-has-children > a::after {
		content: "›" !important;
		font-size: 16px !important;
		margin-left: auto !important;
	}

	/* Khi sát mép phải màn hình, JS thêm class này để bung sang trái. */
	.site-header .primary-menu > li.is-open-left > .sub-menu,
	.tai-lieu-header .tai-lieu-menu > li.is-open-left > .sub-menu {
		left: auto !important;
		right: 0 !important;
	}

	.site-header .primary-menu .sub-menu li.is-open-left > .sub-menu,
	.tai-lieu-header .tai-lieu-menu .sub-menu li.is-open-left > .sub-menu {
		left: auto !important;
		right: calc(100% + 2px) !important;
	}
}

@media (max-width: 920px) {
	/* Mobile: menu phân tầng dạng cây, hiện đủ cấp 2-3-4 thay vì bay ngang. */
	.site-header.menu-open .primary-menu .sub-menu,
	.tai-lieu-header.menu-open .tai-lieu-menu .sub-menu,
	.site-header .primary-menu .sub-menu,
	.tai-lieu-header .tai-lieu-menu .sub-menu {
		position: static !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 0 0 14px !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		transform: none !important;
	}

	.site-header .primary-menu .sub-menu a,
	.tai-lieu-header .tai-lieu-menu .sub-menu a {
		padding: 9px 0 !important;
		white-space: normal !important;
		font-size: 14px !important;
	}

	.site-header .primary-menu .sub-menu .sub-menu,
	.tai-lieu-header .tai-lieu-menu .sub-menu .sub-menu {
		padding-left: 18px !important;
	}
}

/* Widget: Bài viết mới cập nhật + Sản phẩm/PDF */
.yhct-widget-product-list .yhct-widget-post-thumb--placeholder {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
}
.yhct-widget-product-price b {
	font-weight: 700;
}
.yhct-widget-product-price del {
	opacity: .7;
	font-size: .92em;
}

/* v29-37: Fix menu sâu bị cắt/không hiện tầng 3-4.
   Nguyên nhân: một số block CSS cũ đặt .primary-menu .sub-menu { overflow:hidden; }
   làm submenu con bị cắt trong khung tầng cha. */
@media (min-width: 921px) {
	.site-header,
	.site-header-main,
	.site-header .main-navigation,
	.site-header .primary-menu,
	.site-header .primary-menu li,
	.site-header .primary-menu .sub-menu,
	.tai-lieu-header,
	.tai-lieu-header__sticky,
	.tai-lieu-header__main,
	.tai-lieu-header .tai-lieu-navigation,
	.tai-lieu-header .tai-lieu-menu,
	.tai-lieu-header .tai-lieu-menu li,
	.tai-lieu-header .tai-lieu-menu .sub-menu {
		overflow: visible !important;
	}

	.site-header .main-navigation,
	.tai-lieu-header .tai-lieu-navigation {
		position: relative !important;
		z-index: 100000 !important;
	}

	.site-header .primary-menu .sub-menu,
	.tai-lieu-header .tai-lieu-menu .sub-menu {
		overflow: visible !important;
	}

	.site-header .primary-menu > li,
	.tai-lieu-header .tai-lieu-menu > li {
		position: relative !important;
	}

	.site-header .primary-menu > li > .sub-menu,
	.tai-lieu-header .tai-lieu-menu > li > .sub-menu {
		top: 100% !important;
		left: 0 !important;
		right: auto !important;
	}

	.site-header .primary-menu .sub-menu .sub-menu,
	.tai-lieu-header .tai-lieu-menu .sub-menu .sub-menu {
		top: -8px !important;
		left: calc(100% + 2px) !important;
		right: auto !important;
	}

	.site-header .primary-menu li:hover > .sub-menu,
	.site-header .primary-menu li:focus-within > .sub-menu,
	.tai-lieu-header .tai-lieu-menu li:hover > .sub-menu,
	.tai-lieu-header .tai-lieu-menu li:focus-within > .sub-menu {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}
}

/* v29-39: Hạ sidebar bằng Customizer, không áp dụng trang chủ. */
@media (min-width: 921px) {
	body:not(.home):not(.front-page) .content-sidebar-layout > .site-sidebar,
	body:not(.home):not(.front-page) .layout-with-sidebar > .site-sidebar {
		margin-top: var(--sidebar-offset-desktop, 96px) !important;
	}

	body:not(.home):not(.front-page) .site-sidebar.sticky-sidebar {
		top: calc(var(--header-main-height, 68px) + var(--sidebar-sticky-extra-top, 120px)) !important;
		z-index: 1 !important;
	}

	.site-header,
	.site-header .main-navigation,
	.site-header .primary-menu,
	.tai-lieu-header,
	.tai-lieu-header .tai-lieu-navigation,
	.tai-lieu-header .tai-lieu-menu {
		z-index: 100000 !important;
	}
}

/* v29-41: Mobile header gọn hơn.
   Bố cục mobile: icon tìm kiếm bên trái - logo/tên site ở giữa - hamburger bên phải.
   Ẩn đăng nhập/đăng xuất trên mobile; menu xổ dạng panel bên phải. */
.mobile-search-toggle,
.mobile-header-search {
	display: none;
}

@media (max-width: 920px) {
	.site-header {
		z-index: 100000 !important;
	}

	.site-header-main {
		position: relative !important;
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr) 44px !important;
		grid-template-areas:
			"search brand toggle"
			"searchbar searchbar searchbar" !important;
		align-items: center !important;
		gap: 0 8px !important;
		min-height: 58px !important;
		padding: 8px 12px !important;
	}

	.mobile-search-toggle {
		grid-area: search !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		padding: 0 !important;
		border: 1px solid rgba(15, 93, 45, .15) !important;
		border-radius: 999px !important;
		background: #fff !important;
		color: #0f5b2d !important;
		font-size: 24px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		cursor: pointer !important;
	}

	.site-header .site-branding {
		grid-area: brand !important;
		justify-self: center !important;
		align-self: center !important;
		min-width: 0 !important;
		max-width: 100% !important;
		text-align: center !important;
	}

	.site-header .site-logo,
	.site-header .custom-logo-link,
	.site-header .site-title--default-logo a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		max-width: 100% !important;
	}

	.site-header .site-logo img,
	.site-header .custom-logo,
	.site-header .site-title__mark {
		max-height: 42px !important;
		width: auto !important;
	}

	.site-header .site-title,
	.site-header .site-title a {
		font-size: 20px !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.site-header .site-description {
		display: none !important;
	}

	.site-header .menu-toggle {
		grid-area: toggle !important;
		display: inline-flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		justify-self: end !important;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid rgba(15, 93, 45, .15) !important;
		border-radius: 999px !important;
		background: #fff !important;
		cursor: pointer !important;
		gap: 4px !important;
	}

	.site-header .menu-toggle span {
		display: block !important;
		width: 18px !important;
		height: 2px !important;
		margin: 0 !important;
		border-radius: 999px !important;
		background: #0f5b2d !important;
	}

	/* Bỏ cụm đăng nhập/đăng xuất và social khỏi mobile để header thoáng. */
	.site-header .site-header-right,
	.site-header .header-auth,
	.site-header .header-socials {
		display: none !important;
	}

	/* Search panel mobile */
	.mobile-header-search {
		grid-area: searchbar !important;
		width: 100% !important;
		padding-top: 8px !important;
	}

	.site-header.search-open .mobile-header-search {
		display: block !important;
	}

	.mobile-header-search__form {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 72px !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.mobile-header-search__form input[type="search"] {
		width: 100% !important;
		height: 42px !important;
		min-width: 0 !important;
		padding: 0 13px !important;
		border: 1px solid rgba(15, 93, 45, .18) !important;
		border-radius: 12px !important;
		background: #fff !important;
		font-size: 15px !important;
	}

	.mobile-header-search__form button {
		height: 42px !important;
		padding: 0 14px !important;
		border: 0 !important;
		border-radius: 12px !important;
		background: #0f5b2d !important;
		color: #fff !important;
		font-size: 14px !important;
		font-weight: 800 !important;
	}

	/* Menu mobile xổ xuống bên phải */
	.site-header .main-navigation {
		position: absolute !important;
		top: calc(100% + 8px) !important;
		right: 12px !important;
		left: auto !important;
		z-index: 100001 !important;
		display: none !important;
		width: min(86vw, 350px) !important;
		max-height: calc(100vh - 82px) !important;
		overflow-y: auto !important;
		padding: 10px 14px !important;
		border: 1px solid rgba(28, 82, 43, .14) !important;
		border-radius: 16px !important;
		background: #fff !important;
		box-shadow: 0 18px 44px rgba(13, 55, 25, .18) !important;
	}

	.site-header.menu-open .main-navigation {
		display: block !important;
	}

	.site-header #primary-menu,
	.site-header .primary-menu,
	.site-header ul.primary-menu,
	.site-header .primary-menu.menu {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.site-header .primary-menu li,
	.site-header #primary-menu li {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border-top: 1px solid rgba(28, 82, 43, .08) !important;
	}

	.site-header .primary-menu > li:first-child,
	.site-header #primary-menu > li:first-child {
		border-top: 0 !important;
	}

	.site-header .primary-menu a,
	.site-header #primary-menu a {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		padding: 12px 0 !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 1.35 !important;
		white-space: normal !important;
		text-align: left !important;
		text-decoration: none !important;
		color: #17291e !important;
	}

	.site-header .primary-menu .sub-menu,
	.site-header.menu-open .primary-menu .sub-menu {
		position: static !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 0 0 14px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
	}

	.site-header .primary-menu .sub-menu .sub-menu {
		padding-left: 16px !important;
	}

	.site-header .primary-menu .sub-menu a {
		padding: 9px 0 !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		color: #2b4432 !important;
	}
}

@media (max-width: 390px) {
	.site-header-main {
		grid-template-columns: 40px minmax(0, 1fr) 40px !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	.mobile-search-toggle,
	.site-header .menu-toggle {
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
	}
	.site-header .site-title,
	.site-header .site-title a {
		font-size: 18px !important;
	}
}

/* PATCH v29.42 - Fix mobile header lệch + menu mobile xổ thẳng xuống dạng cây */
@media (max-width: 920px) {
	.site-header,
	.site-header-main {
		overflow: visible !important;
	}

	.site-header-main {
		position: relative !important;
		display: block !important;
		min-height: 64px !important;
		height: 64px !important;
		padding: 0 12px !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	/* Icon tìm kiếm: cố định bên trái, không rơi xuống hàng dưới */
	.mobile-search-toggle {
		position: absolute !important;
		left: 14px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		margin: 0 !important;
		padding: 0 !important;
		z-index: 100004 !important;
	}

	/* Logo/tên site: căn giữa tuyệt đối */
	.site-header .site-branding {
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: calc(100% - 132px) !important;
		max-width: 220px !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		z-index: 100003 !important;
	}

	.site-header .site-logo,
	.site-header .custom-logo-link,
	.site-header .site-title--default-logo a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-header .site-logo img,
	.site-header .custom-logo,
	.site-header .site-title__mark {
		max-height: 46px !important;
		width: auto !important;
		margin: 0 auto !important;
	}

	.site-header .site-title,
	.site-header .site-title a {
		max-width: 100% !important;
		font-size: 19px !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.site-header .site-description {
		display: none !important;
	}

	/* Hamburger: cố định bên phải */
	.site-header .menu-toggle {
		position: absolute !important;
		right: 14px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		margin: 0 !important;
		padding: 0 !important;
		z-index: 100004 !important;
	}

	/* Ẩn cụm đăng nhập/đăng xuất/social trên mobile */
	.site-header .site-header-right,
	.site-header .header-auth,
	.site-header .header-socials {
		display: none !important;
	}

	/* Ô tìm kiếm xổ thẳng xuống dưới header */
	.mobile-header-search {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		top: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 10px 12px 12px !important;
		background: #fff !important;
		border-top: 1px solid rgba(28,82,43,.10) !important;
		box-shadow: 0 14px 26px rgba(13,55,25,.10) !important;
		z-index: 100002 !important;
	}

	.site-header.search-open .mobile-header-search {
		display: block !important;
	}

	/* Menu mobile: xổ thẳng xuống, full chiều ngang, không bung ngang */
	.site-header .main-navigation,
	.site-header nav.main-navigation {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		top: 100% !important;
		transform: none !important;
		display: none !important;
		width: 100% !important;
		max-width: none !important;
		max-height: calc(100vh - 64px) !important;
		overflow-y: auto !important;
		margin: 0 !important;
		padding: 8px 16px 14px !important;
		border: 0 !important;
		border-top: 1px solid rgba(28,82,43,.12) !important;
		border-radius: 0 !important;
		background: #fff !important;
		box-shadow: 0 18px 40px rgba(13,55,25,.14) !important;
		z-index: 100001 !important;
	}

	.site-header.menu-open .main-navigation,
	.site-header.menu-open nav.main-navigation {
		display: block !important;
	}

	.site-header .primary-menu,
	.site-header #primary-menu,
	.site-header ul.primary-menu,
	.site-header .primary-menu.menu {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.site-header .primary-menu li,
	.site-header #primary-menu li {
		position: static !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border-top: 1px solid rgba(28,82,43,.08) !important;
	}

	.site-header .primary-menu > li:first-child,
	.site-header #primary-menu > li:first-child {
		border-top: 0 !important;
	}

	.site-header .primary-menu a,
	.site-header #primary-menu a {
		display: block !important;
		width: 100% !important;
		padding: 12px 0 !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 1.35 !important;
		white-space: normal !important;
		text-align: left !important;
		text-decoration: none !important;
		color: #17291e !important;
	}

	.site-header .primary-menu a::before,
	.site-header .primary-menu a::after,
	.site-header .primary-menu .menu-item-has-children > a::after,
	.site-header .primary-menu .sub-menu .menu-item-has-children > a::after {
		display: none !important;
		content: none !important;
	}

	.site-header .primary-menu .sub-menu,
	.site-header .primary-menu .children,
	.site-header.menu-open .primary-menu .sub-menu,
	.site-header.menu-open .primary-menu .children {
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 0 0 16px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	.site-header .primary-menu .sub-menu .sub-menu,
	.site-header .primary-menu .children .children {
		padding-left: 16px !important;
	}

	.site-header .primary-menu .sub-menu a,
	.site-header .primary-menu .children a {
		padding: 9px 0 !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		color: #2b4432 !important;
	}
}

@media (max-width: 390px) {
	.site-header-main {
		height: 60px !important;
		min-height: 60px !important;
	}
	.mobile-search-toggle,
	.site-header .menu-toggle {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}
	.site-header .site-logo img,
	.site-header .custom-logo,
	.site-header .site-title__mark {
		max-height: 42px !important;
	}
}

/* PATCH v29.43 - Tắt social ở header, đưa social xuống footer và cho tùy biến màu footer */
.site-header .header-socials,
.site-header-main .header-socials,
.tai-lieu-header .header-socials,
.tai-lieu-header__right .header-socials,
.header-socials--header {
	display: none !important;
}

.yhct-site-footer .yhct-footer-col h3,
.yhct-site-footer .yhct-footer-col .widget-title {
	color: var(--footer-title-color, #ffffff) !important;
	font-size: var(--footer-title-size, 16px) !important;
}

.yhct-site-footer .yhct-footer-socials {
	margin-top: 14px;
}

.yhct-site-footer .header-socials--footer {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
}

.yhct-site-footer .header-socials--footer .header-socials__link {
	width: var(--footer-social-size, 36px) !important;
	height: var(--footer-social-size, 36px) !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--footer-social-border-color, rgba(255,255,255,.35)) !important;
	border-radius: 999px !important;
	background: var(--footer-social-bg, #ffffff) !important;
	color: var(--footer-social-icon-color, #0f6d36) !important;
	padding: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

.yhct-site-footer .header-socials--footer .header-socials__link svg {
	width: 52%;
	height: 52%;
	display: block;
	fill: currentColor;
	color: currentColor;
}

.yhct-site-footer .header-socials--footer .header-socials__link:hover,
.yhct-site-footer .header-socials--footer .header-socials__link:focus {
	filter: brightness(.96);
	transform: translateY(-1px);
}

/* v29-45: search result grouped by content type. */
.search-result-group{margin:0 0 28px;}
.search-result-group__title{margin:0 0 14px;font-size:20px;line-height:1.35;color:var(--heading-color,#1f3d2b);}
.search-result-group__items{display:grid;gap:16px;}
.post-card-type{display:inline-flex;align-items:center;margin:0 0 8px;padding:3px 8px;border-radius:999px;background:rgba(45,109,60,.09);color:var(--primary-color,#2d6d3c);font-size:12px;font-weight:700;line-height:1.3;}
.post-modified-date{opacity:.9;}
