/* Xổ số · gọn, nhiều thông tin, đọc nhanh. Hai màu thương hiệu từ logo: xanh #0F62AC và đỏ #ED3237.
   Nền xám nhạt, thẻ trắng, viền 1px, bo góc 5px, component nhỏ, không gradient, không bóng.
   Xanh dùng cho menu, tiêu đề thẻ, link; đỏ chỉ dùng nhấn (giải đặc biệt, mục đang chọn).
   Chữ đỏ nhỏ dùng --red-text để đủ tương phản; --red chỉ dành cho chữ lớn đậm và đường nhấn. */

/* ---------- Tokens ---------- */
:root {
	--bg: #eceff3;
	--surface: #fff;
	--surface-2: #f5f7f9;
	--text: #1f2937;
	--muted: #5f6b7a;
	--border: #d5dae1;
	--border-soft: #eef0f3;
	--blue: #0f62ac;
	--blue-dark: #0b4d8a;
	--blue-text: #0f62ac;
	--blue-tint: #eaf2fa;
	--red: #ed3237;
	--red-text: #c4202a;
	--red-tint: #fdeeee;
	--ink: #12263a;
	--on-blue: #fff;
	--link: #0f62ac;
	--pending-bg: #fff8e1;
	--pending-border: #e0a800;
	--focus: #d97706;
	--radius: 5px;
	--pad: .65rem;
	--gap: .75rem;
	--container: 1200px;
	--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: #0c1622;
		--surface: #121f2e;
		--surface-2: #172739;
		--text: #e6edf6;
		--muted: #9aabc0;
		--border: #263a52;
		--border-soft: #1d2e44;
		--blue-text: #7bb8f2;
		--blue-tint: #16314f;
		--red-text: #ff7a80;
		--red-tint: #3a1a22;
		--ink: #08121d;
		--link: #7bb8f2;
		--pending-bg: #332b10;
		--focus: #fbbf24;
	}
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font: 14px/1.55 var(--font);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }
a { color: var(--link); text-underline-offset: 2px; }
a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

h1 { font-size: 1.25rem; line-height: 1.3; margin: 0 0 .6rem; }
h2 { font-size: 1.05rem; line-height: 1.3; margin: 0 0 .5rem; }
h3 { font-size: .95rem; margin: 0 0 .4rem; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--pad); }

.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: var(--pad); top: var(--pad); background: var(--surface); padding: .4rem .8rem; z-index: 100; }

/* ---------- Header ---------- */
.topbar { background: var(--blue-dark); color: #cfe0f2; font-size: .78rem; }
.topbar .container { padding-block: .25rem; }

.site-header { background: var(--surface); }
.site-header__inner {
	display: grid; grid-template-columns: 2.5rem 1fr 2.5rem; grid-template-areas: "toggle brand ." "search search search";
	align-items: center; gap: .5rem; padding-block: .55rem; border-bottom: 1px solid var(--border);
}
.nav-toggle { grid-area: toggle; }
.site-branding { grid-area: brand; display: flex; justify-content: center; min-width: 0; }
.site-header__tools { grid-area: search; display: flex; }

.site-brand { display: inline-flex; align-items: center; gap: .6rem; color: var(--text); text-decoration: none; }
.site-brand__logo { display: block; width: auto; height: 2.5rem; }
.site-brand__text { display: flex; flex-direction: column; gap: .15rem; }
.site-brand__name { color: var(--blue-text); font-size: 1.4rem; font-weight: 800; line-height: 1; letter-spacing: .02em; }
.site-brand__tagline { color: var(--red-text); font-size: .72rem; font-weight: 600; line-height: 1.2; }
.custom-logo { display: block; max-height: 48px; width: auto; }

/* Ô tìm kiếm và nút nhỏ */
.search-form { display: flex; flex: 1; gap: .35rem; margin: 0; }
.search-form label { display: block; flex: 1; margin: 0; }
.search-field, .search-submit { height: 36px; font: inherit; font-size: .9rem; border-radius: var(--radius); border: 1px solid var(--border); }
.search-field { width: 100%; padding: 0 .65rem; background: var(--surface); color: var(--text); }
.search-submit { padding: 0 .95rem; background: var(--blue); border-color: var(--blue); color: #fff; font-weight: 600; cursor: pointer; }
.search-submit:hover { background: var(--blue-dark); border-color: var(--blue-dark); }

/* Nút ba gạch (mobile) */
.nav-toggle { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--blue-text); cursor: pointer; }
.nav-toggle:hover, .nav-toggle[aria-expanded="true"] { background: var(--blue-tint); }
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { display: block; width: 1.1rem; height: 2px; border-radius: 1px; background: currentColor; }
.nav-toggle__bars { position: relative; }
.nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.nav-toggle__bars::before { top: -6px; }
.nav-toggle__bars::after { top: 6px; }

/* ---------- Thanh menu xanh: hoàn toàn từ menu "Menu chính" trong Giao diện > Menu ---------- */
.nav-bar { background: var(--blue); }
.nav-bar:not(:has(.primary-nav.is-open)) { display: none; }
.site-footer ul, .chips, .primary-nav ul { list-style: none; margin: 0; padding: 0; }
.primary-nav ul { display: flex; flex-direction: column; }
.primary-nav li + li { border-top: 1px solid rgb(255 255 255 / .16); }
.primary-nav a {
	display: block; padding: .7rem .25rem; border-left: 3px solid transparent;
	color: var(--on-blue); text-decoration: none; font-size: .95rem; font-weight: 600;
}
.primary-nav a { padding-left: .75rem; }
.primary-nav a:hover { background: var(--blue-dark); }
.primary-nav :is(.current-menu-item, .current_page_item) > a { background: var(--blue-dark); border-left-color: var(--red); }
.primary-nav a:focus-visible { outline-color: #fff; outline-offset: -3px; }

/* ---------- Breadcrumb ---------- */
.breadcrumb { margin: 0 0 var(--gap); }
.breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; list-style: none; margin: 0; padding: 0; font-size: .78rem; line-height: 1.5; color: var(--muted); }
.breadcrumb li { display: flex; align-items: center; min-width: 0; }
.breadcrumb li + li::before { content: "/"; margin: 0 .45rem; color: var(--muted); opacity: .6; }
.breadcrumb a { color: var(--muted); text-decoration: none; }
.breadcrumb a:hover { color: var(--blue-text); }
.breadcrumb li:first-child a { color: var(--blue-text); font-weight: 600; }
.breadcrumb li[aria-current="page"] { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); font-weight: 600; }

/* ---------- Layout ---------- */
.site-layout { display: grid; gap: 0 var(--gap); grid-template-columns: minmax(0, 1fr); align-items: start; padding-top: var(--gap); }
.site-main { order: 1; min-width: 0; padding-bottom: .5rem; }
.sidebar { min-width: 0; }
.sidebar--left { order: 2; }
.sidebar--right { order: 3; }

/* Thẻ: nền trắng, viền 1px, bo 5px. Thanh tiêu đề tô xanh nhạt, kéo sát mép thẻ bằng margin âm. */
.panel, .widget, .entry, .card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.panel, .widget { padding: var(--pad); margin-bottom: var(--gap); overflow: hidden; }
.panel__title, .widget__title {
	display: block; margin: calc(var(--pad) * -1) calc(var(--pad) * -1) var(--pad); padding: .45rem var(--pad);
	background: var(--blue-tint); border-bottom: 1px solid var(--border);
	color: var(--blue-text); font-size: .88rem; font-weight: 700; line-height: 1.4;
}
.panel__title a { color: inherit; text-decoration: none; }
.panel__title a:hover { text-decoration: underline; }

/* Thẻ kết quả: thanh tiêu đề xanh đặc */
.panel--result > .panel__title, .panel__bar { background: var(--blue); border-bottom-color: var(--blue); color: var(--on-blue); }
.panel__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem; margin: calc(var(--pad) * -1) calc(var(--pad) * -1) var(--pad); padding: .4rem var(--pad); }
.panel__bar > .panel__title { margin: 0; padding: 0; background: none; border: 0; color: inherit; font-size: .9rem; }
.panel--result > .panel__title { font-size: .9rem; }

.section-title { margin: 1.25rem 0 .6rem; font-size: .95rem; font-weight: 700; color: var(--blue-text); }

.page-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .1rem .75rem; margin-bottom: var(--gap); }
.page-head__title { margin: 0; font-size: 1.15rem; font-weight: 800; }
.page-head__date { margin: 0; color: var(--muted); font-size: .8rem; }

/* ---------- Lottery ---------- */
.date-nav { display: flex; gap: .3rem; }
.date-nav a { padding: .1rem .6rem; border: 1px solid rgb(255 255 255 / .5); border-radius: var(--radius); color: #fff; text-decoration: none; font-size: .78rem; font-weight: 600; line-height: 1.7; }
.date-nav a:hover { background: var(--blue-dark); }
.date-nav a:focus-visible { outline-color: #fff; }

.table-scroll { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.result-set > .loto { margin-top: var(--gap); }

/* Bảng kết quả: nền trắng, kẻ 1px xám nhạt, nhãn giải thường, số đen đậm (sans-serif mặc định), ĐB và giải bảy/tám đỏ lớn; hàng chẵn nền xám */
.result-table, .loto-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.loto-table th, .loto-table td { padding: .35rem .5rem; text-align: center; border: 1px solid var(--border); }
.loto-table :is(thead, tbody) > tr:first-child > *, .loto-table thead > tr:first-child > * { border-top: 0; }
.loto-table tr > :first-child { border-left: 0; }
.loto-table tr > :last-child { border-right: 0; }
.loto-table tbody tr:last-child > * { border-bottom: 0; }
.loto-table thead th { padding: .4rem .5rem; background: var(--blue-tint); color: var(--blue-text); font-size: .85rem; font-weight: 700; }
.loto-table tbody th { width: 2.25rem; background: var(--surface-2); color: var(--red-text); font-size: .9rem; font-weight: 800; }
.loto-table td { font-size: .85rem; font-weight: 600; }

.result-set { --grid: #dcdcdc; --zebra: #f3f3f3; --num: #000; --bar: #fff8e6; }
@media (prefers-color-scheme: dark) { .result-set { --grid: #263a52; --zebra: #172739; --num: #fff; --bar: #332b10; } }
.result-table { font-family: sans-serif; font-variant-numeric: normal; } /* như xosothantai.mobi: dùng font sans-serif mặc định của trình duyệt */
.result-table th, .result-table td { border: 1px solid var(--grid); }
.result-table tr > :first-child { border-left: 0; }
.result-table tr > :last-child { border-right: 0; }
.result-table thead th { padding: .55rem .5rem; border-top: 0; background: var(--surface); color: #2a7ae4; font-size: 1rem; font-weight: 700; }
.result-table tbody th { width: 3.75rem; padding: .4rem .25rem; background: var(--row-bg); color: var(--text); font-size: 1rem; font-weight: 400; white-space: nowrap; }
.result-table tbody tr:last-child > * { border-bottom: 0; }
.result-table abbr { text-decoration: none; }
.result-table--cols-2 td, .result-table--cols-3 td { min-width: 6.5rem; }
.result-table tbody tr { --row-bg: var(--surface); background: var(--row-bg); }
.result-table tbody tr:is(.result-table__row--g2, .result-table__row--g4, .result-table__row--g6, .result-table__row--g8) { --row-bg: var(--zebra); }

/* Ô số: lưới 1px bằng màu kẻ nên các số trong cùng giải được ngăn cột/hàng; td không đệm để lưới chạm mép */
.result-table td { padding: 0; }
.result-numbers { display: grid; grid-template-columns: repeat(var(--per-row, 1), minmax(0, 1fr)); gap: 1px; background: var(--grid); }
.result-table--cols-1 .result-table__row--g2 { --per-row: 2; }
.result-table--cols-1 .result-table__row--g3,
.result-table--cols-1 .result-table__row--g5,
.result-table--cols-1 .result-table__row--g6 { --per-row: 3; }
.result-table--cols-1 .result-table__row--g4,
.result-table--cols-1 .result-table__row--g7 { --per-row: 4; }

.result-number { display: block; padding: .4rem .35rem; background: var(--row-bg); color: var(--num); font-weight: 700; font-size: 1.4rem; line-height: 1.4; text-align: center; }
.result-table__row--special .result-number,
.result-table__row--g7 .result-number,
.result-table__row--g8 .result-number { color: var(--red); font-size: 1.9rem; }
.result-table__row--special .result-number { padding-block: .5rem; }

/* Bộ lọc số chữ số: thanh nền kem dính liền đáy bảng */
.table-scroll:has(+ .digit-filter) { border-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.digit-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; margin: 0; padding: .5rem .75rem; border: 1px solid var(--border); border-top: 1px solid var(--grid, var(--border)); border-radius: 0 0 var(--radius) var(--radius); background: var(--bar, #fff8e6); color: var(--text); font-size: 1rem; font-weight: 700; }
.digit-filter label { display: flex; align-items: center; gap: .3rem; cursor: pointer; color: var(--text); }
.digit-filter input { accent-color: var(--red); width: 1.1rem; height: 1.1rem; margin: 0; }

.loto { display: grid; gap: var(--gap); grid-template-columns: 1fr; }
.loto-table caption { caption-side: top; text-align: left; padding: .4rem .65rem; background: var(--blue-tint); border-bottom: 1px solid var(--border); color: var(--blue-text); font-size: .85rem; font-weight: 700; }
.loto-table td { font-size: .85rem; font-weight: 600; }
.loto-table tbody th { width: 2.25rem; color: var(--red-text); font-size: .9rem; font-weight: 800; }

.notice { padding: .55rem .75rem; border-radius: var(--radius); background: var(--surface-2); border: 1px dashed var(--border); color: var(--muted); font-size: .85rem; }
.notice p { margin: 0; }
.notice__admin { margin-top: .4rem; font-size: .8rem; }
.notice--pending { background: var(--pending-bg); border: 1px solid var(--pending-border); color: var(--text); margin-bottom: .5rem; }

/* Đài mở thưởng: mỗi miền một dòng, nhãn bên trái, các đài là chip nhỏ */
.schedule__group { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem; }
.schedule__group + .schedule__group { margin-top: .4rem; }
.schedule__region { flex: none; width: 9rem; margin: 0; color: var(--muted); font-size: .8rem; font-weight: 700; }
.chips { display: flex; flex-wrap: wrap; gap: .3rem; }
.chip { display: inline-flex; align-items: center; height: 1.5rem; padding: 0 .6rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); text-decoration: none; font-size: .8rem; }
.chip:hover { border-color: var(--blue); color: var(--blue-text); }

/* ---------- Sidebar widgets ---------- (icon đầu dòng nằm trong icons.css) */
.widget { font-size: .85rem; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { position: relative; padding: .35rem 0; border-top: 1px solid var(--border-soft); }
.widget li:first-child { border-top: 0; padding-top: 0; }
.widget li:last-child { padding-bottom: 0; }
.widget a { color: var(--text); text-decoration: none; }
.widget a:hover { color: var(--blue-text); }
.widget_block .wp-block-heading, .widget_block h3 { margin: 0 0 .5rem; font-size: .9rem; }

/* Block "Bài viết mới nhất": ảnh nhỏ bên trái, tiêu đề, ngày */
.widget .wp-block-latest-posts__list { margin: 0; }
.widget .wp-block-latest-posts__list li { padding: .5rem 0; padding-left: 0; }
.widget .wp-block-latest-posts__list li:first-child { padding-top: 0; }
.widget .wp-block-latest-posts__list li::before { display: none; }
.widget .wp-block-latest-posts__list li:has(.wp-block-latest-posts__featured-image) { display: grid; grid-template-columns: 4.5rem 1fr; gap: 0 .6rem; align-items: start; }
.widget .wp-block-latest-posts__featured-image { grid-row: span 3; float: none; margin: 0; }
.widget .wp-block-latest-posts__featured-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.widget .wp-block-latest-posts__list li > :not(.wp-block-latest-posts__featured-image) { grid-column: 2; }
.widget .wp-block-latest-posts__post-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; color: var(--text); font-size: .83rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.widget .wp-block-latest-posts__post-title:hover { color: var(--blue-text); }
.widget .wp-block-latest-posts__post-date, .widget .wp-block-latest-posts__post-author { display: block; margin-top: .15rem; color: var(--muted); font-size: .75rem; }

/* ---------- Content ---------- */
.card-list { display: grid; gap: var(--gap); grid-template-columns: 1fr; }
.card { padding: .75rem; overflow: hidden; }
.card__thumb { display: block; margin: -.75rem -.75rem .6rem; }
.card__thumb img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.card__title { margin: 0 0 .2rem; font-size: .95rem; line-height: 1.4; }
.card__title a { color: var(--text); text-decoration: none; }
.card__title a:hover { color: var(--blue-text); }
.card__date { color: var(--muted); font-size: .75rem; }
.card__excerpt { color: var(--muted); font-size: .85rem; }

.entry { padding: 1rem 1.1rem; }
.entry__title { margin-top: 0; padding-bottom: .5rem; border-bottom: 1px solid var(--border); }
.entry__content { overflow-wrap: anywhere; }
.entry__content h2 { margin-top: 1.25rem; font-size: 1rem; color: var(--blue-text); }
.panel.entry__content { font-size: .92rem; }
.panel.entry__content > :first-child { margin-top: 0; }

/* ---------- Bài viết đơn ---------- */
.entry--single { padding: 1rem; margin-bottom: var(--gap); }
.entry--single .entry__header { margin-bottom: .9rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.entry__cats { display: flex; flex-wrap: wrap; gap: .3rem; margin: 0 0 .55rem; }
.entry__cats .chip { background: var(--surface-2); border-color: var(--border); color: var(--muted); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.entry--single .entry__title { margin: 0 0 .6rem; padding: 0; border: 0; color: var(--ink); font-size: 1.6rem; font-weight: 700; line-height: 1.3; }
.entry__meta { display: flex; flex-wrap: wrap; gap: .15rem .9rem; margin: 0; color: var(--muted); font-size: .8rem; }
.entry__meta a { color: var(--blue-text); font-weight: 600; text-decoration: none; }
.entry__meta a:hover { text-decoration: underline; }
.entry__thumb { margin: 0 0 1rem; }
.entry__thumb img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.entry__thumb figcaption { margin-top: .35rem; color: var(--muted); font-size: .78rem; text-align: center; }

/* Nội dung bài: cỡ chữ 16px, dòng 1.7 để dễ đọc */
.entry--single .entry__content { font-size: 1rem; line-height: 1.7; }
.entry--single .entry__content > * { margin-block: 0 1rem; }
.entry--single .entry__content h2 { margin: 2rem 0 .7rem; padding: 0 0 .4rem; border-bottom: 1px solid var(--border); color: var(--ink); font-size: 1.3rem; font-weight: 700; line-height: 1.35; }
.entry--single .entry__content h3 { margin: 1.5rem 0 .5rem; color: var(--ink); font-size: 1.1rem; font-weight: 700; line-height: 1.4; }
.entry--single .entry__content h4 { margin: 1.2rem 0 .4rem; font-size: 1rem; }
.entry--single .entry__content :is(h2, h3, h4) { scroll-margin-top: 1rem; }
.entry--single .entry__content :is(ul, ol) { padding-left: 1.4rem; }
.entry--single .entry__content li + li { margin-top: .3rem; }
.entry--single .entry__content a { color: var(--link); text-decoration: underline; }
.entry--single .entry__content img { border-radius: var(--radius); }
.entry--single .entry__content figure { margin-inline: 0; }
.entry--single .entry__content figcaption { margin-top: .35rem; color: var(--muted); font-size: .8rem; text-align: center; }
.entry--single .entry__content blockquote { margin-inline: 0; padding: .7rem 1rem; background: var(--surface-2); border-radius: var(--radius); color: var(--muted); font-style: italic; }
.entry--single .entry__content blockquote > :last-child { margin-bottom: 0; }
.entry--single .entry__content table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.entry--single .entry__content :is(th, td) { padding: .4rem .6rem; border: 1px solid var(--border); text-align: left; }
.entry--single .entry__content th { background: var(--surface-2); color: var(--ink); }
.entry--single .entry__content .wp-block-table { overflow-x: auto; }
.entry--single .entry__content :is(pre, code) { font-size: .88rem; background: var(--surface-2); border-radius: 3px; }
.entry--single .entry__content pre { padding: .7rem .9rem; overflow-x: auto; }
.entry--single .entry__content code { padding: .1rem .3rem; }
.entry--single .entry__content hr { border: 0; border-top: 1px solid var(--border); }
.entry--single .entry__content iframe, .entry--single .entry__content video { max-width: 100%; }

/* Mục lục tự động */
.toc { margin: 0 0 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); font-size: .92rem; line-height: 1.5; }
.toc summary { padding: .5rem .8rem; color: var(--ink); font-weight: 700; cursor: pointer; }
.toc ol { margin: 0; padding: 0 .8rem .6rem 2.1rem; }
.toc li { margin: .2rem 0; }
.toc .toc__l3 { margin-left: 1rem; list-style-type: circle; }
.toc a { color: var(--text); text-decoration: none; }
.toc a:hover { color: var(--blue-text); text-decoration: underline; }

.entry__footer { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; margin-top: 1.25rem; padding-top: .75rem; border-top: 1px solid var(--border); font-size: .85rem; }
.entry__tags-label { color: var(--muted); font-weight: 600; }
.entry__tags a { display: inline-block; margin: 0 .3rem .3rem 0; padding: .1rem .6rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); text-decoration: none; }
.entry__tags a:hover { border-color: var(--blue); color: var(--blue-text); }
.page-links { margin-top: 1rem; font-weight: 600; }

/* Bài trước / bài sau */
.post-navigation { margin-bottom: var(--gap); }
.post-navigation .nav-links { display: grid; gap: var(--gap); grid-template-columns: 1fr; }
.post-navigation a { display: block; height: 100%; padding: .6rem .8rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); text-decoration: none; }
.post-navigation a:hover { border-color: var(--blue); }
.post-navigation .nav-next { text-align: right; }
.post-nav__label { display: block; color: var(--muted); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.post-nav__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: .9rem; font-weight: 600; line-height: 1.4; }

/* Bài liên quan */
.related { margin-bottom: var(--gap); padding: .9rem 1rem .4rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.related__title { margin: 0 0 .2rem; padding: 0 0 .45rem; border-bottom: 1px solid var(--border); color: var(--ink); font-size: 1.1rem; font-weight: 700; }

.pagination { margin: 1rem 0; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .3rem; }
.pagination .page-numbers { padding: .15rem .65rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); text-decoration: none; font-size: .82rem; }
.pagination .current { background: var(--blue); border-color: var(--blue); color: var(--on-blue); }

/* FAQ: block "Chi tiết" (details) thành accordion gọn */
.wp-block-details { margin: 0; border-top: 1px solid var(--border-soft); }
.wp-block-details:first-child, h2 + .wp-block-details { border-top: 0; }
.wp-block-details summary { position: relative; padding: .5rem 1.75rem .5rem 0; font-weight: 600; cursor: pointer; list-style: none; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .2rem; top: .35rem; color: var(--red-text); font-size: 1.2rem; font-weight: 400; line-height: 1.3; }
.wp-block-details[open] summary::after { content: "−"; }
.wp-block-details summary:hover { color: var(--blue-text); }
.wp-block-details > :not(summary) { margin: 0 0 .6rem; color: var(--muted); }

/* ---------- Footer ---------- */
.site-footer { margin-top: var(--gap); padding: 1.1rem 0 .75rem; background: var(--ink); border-top: 2px solid var(--red); color: #a9bbcd; font-size: .82rem; --icon-color: #7bb8f2; --icon-hover: #ff9aa0; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: #8fc4f5; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.footer-cols, .footer-widgets { display: grid; gap: 1rem var(--gap); grid-template-columns: repeat(2, 1fr); margin-bottom: .75rem; padding-bottom: 1rem; border-bottom: 1px solid rgb(255 255 255 / .12); }
.footer-col__title, .footer-widgets .widget__title { margin: 0 0 .5rem; padding: 0 0 .4rem; background: none; border: 0; border-bottom: 1px solid rgb(255 255 255 / .14); color: #fff; font-size: .85rem; font-weight: 700; }
.footer-col__title a { color: inherit; }
.footer-col li, .footer-widgets .widget li { padding: .15rem 0; border: 0; }
.footer-widgets .widget { background: none; border: 0; padding: 0; margin: 0; color: inherit; overflow: visible; }
.footer-widgets .widget a { color: #fff; }
.footer-widgets .widget a:hover { color: #8fc4f5; }
.site-footer > .container > nav ul { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin-bottom: .6rem; }
.site-footer__note { margin: 0 0 .4rem; color: #8aa0b8; font-size: .78rem; }
.site-footer__copy { margin: 0; color: #8aa0b8; font-size: .78rem; }

/* ---------- Breakpoints ---------- */
@media (min-width: 768px) {
	.site-header__inner { grid-template-columns: 1fr auto 1fr; grid-template-areas: ". brand search"; padding-block: .7rem; }
	.site-header__tools { justify-content: flex-end; }
	.search-form { flex: 0 1 15rem; }
	.nav-toggle { display: none; }
	.nav-bar, .nav-bar:not(:has(.primary-nav.is-open)) { display: block; position: sticky; top: 0; z-index: 50; }
	.primary-nav ul { flex-direction: row; flex-wrap: wrap; justify-content: center; }
	.primary-nav li + li { border-top: 0; }
	.primary-nav a { padding: .55rem .85rem; border-left: 0; border-bottom: 2px solid transparent; font-size: .85rem; white-space: nowrap; }
	.primary-nav :is(.current-menu-item, .current_page_item) > a { border-bottom-color: var(--red); }
	.card-list { grid-template-columns: repeat(2, 1fr); }
	.post-navigation .nav-links { grid-template-columns: 1fr 1fr; }
	.entry--single { padding: 1.25rem 1.5rem; }
	.entry--single .entry__title { margin: 0 0 .6rem; padding: 0; border: 0; color: var(--ink); font-size: 1.6rem; font-weight: 700; line-height: 1.3; }
	.loto { grid-template-columns: 1fr 1fr; }
	.site-brand__logo { height: 2.75rem; }
	.site-brand__name { font-size: 1.5rem; }
}

@media (min-width: 1024px) {
	.site-layout.has-sidebar-left { grid-template-columns: 200px minmax(0, 1fr); }
	.site-layout.has-sidebar-right { grid-template-columns: minmax(0, 1fr) 240px; }
	.site-layout.has-sidebar-left.has-sidebar-right { grid-template-columns: 200px minmax(0, 1fr) 240px; }
	.sidebar--left, .site-main, .sidebar--right { order: 0; }
	.card-list { grid-template-columns: repeat(3, 1fr); }
	.footer-cols { grid-template-columns: repeat(3, 1fr); }
	.footer-widgets { grid-template-columns: repeat(5, 1fr); }
}

@media (prefers-reduced-motion: no-preference) {
	.chip, .primary-nav a, .date-nav a, .widget a, .card__title a { transition: color .15s, background-color .15s, border-color .15s; }
}

.card-list--rows, .related .card-list { display: block; }
.card-list--rows .card, .related .card { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 0 .9rem; align-items: start; padding: .85rem 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: none; }
.related .card:last-child, .card-list--rows .card:last-child { border-bottom: 0; }
.card-list--rows .card__thumb, .related .card__thumb { grid-row: 1 / span 3; margin: 0; }
.card-list--rows .card__thumb img, .related .card__thumb img { aspect-ratio: 4 / 3; border-radius: var(--radius); }
.card-list--rows .card:not(:has(.card__thumb)), .related .card:not(:has(.card__thumb)) { grid-template-columns: 1fr; }
.related .card__title { font-size: .95rem; }
.related .card__excerpt { display: none; }

/* ---------- Chuyên mục / archive ---------- */
.archive-head { padding: .9rem 1rem; }
.archive-head__title { margin: 0; color: var(--ink); font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.archive-head__page { color: var(--muted); font-size: 1rem; font-weight: 600; }
.archive-head__desc { margin-top: .6rem; color: var(--muted); font-size: .92rem; line-height: 1.6; }
.archive-head__desc > :first-child { margin-top: 0; }
.archive-head__desc > :last-child { margin-bottom: 0; }
.archive-head__subs { margin-top: .7rem; }

/* Danh sách dạng hàng: ảnh trái, tiêu đề + ngày + mô tả phải; luôn một cột */
.card-list--rows { padding: 0 1rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.card-list--rows .card { grid-template-columns: 7.5rem minmax(0, 1fr); }
.card-list--rows .card__title { font-size: 1rem; line-height: 1.4; }
.card-list--rows .card__date { display: block; margin-bottom: .2rem; }
.card-list--rows .card__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.card-list--rows .card__excerpt p { margin: 0; }
@media (min-width: 768px) {
	.card-list--rows .card { grid-template-columns: 10rem minmax(0, 1fr); gap: 0 1rem; }
}
