/*
Theme Name: News Framework
Description: Theme khung cho báo điện tử. Bản thân theme không quy định giao diện cuối — giao diện do các "skin" trong thư mục /skins quyết định. Admin chọn skin trong Giao diện → News Skins, có thể gán skin riêng cho từng chuyên mục.
Version: 0.1.0
Requires PHP: 7.4
Text Domain: news-framework
*/

/* CSS nền tối thiểu (layout khung). Mỗi skin nạp style riêng đè lên lớp này. */
*,
*::before,
*::after { box-sizing: border-box; }

body {
	margin: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	line-height: 1.6;
	color: #1a1a1a;
}

a { color: inherit; }

.nf-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

.newscore-ad {
	margin: 16px 0;
	text-align: center;
}

/* Layout trang chủ: nội dung + sidebar (skin có thể override hoàn toàn). */
.nf-home {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

.nf-home.nf-has-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 32px;
	align-items: start;
}

.nf-module {
	margin: 0 0 32px;
}

.nf-module-title {
	margin: 0 0 16px;
	font-size: 1.25rem;
}

.nf-article-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
}

/* Khối "Đọc nhiều" dạng xếp hạng. */
.nf-rank-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nf-rank-item {
	display: flex;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
}

.nf-rank-num {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	color: #c00;
	min-width: 28px;
	text-align: center;
}

.nf-rank-title {
	margin: 0;
	font-size: 1rem;
}

.nf-rank-views {
	font-size: 0.8rem;
	color: #777;
}

/* Sidebar. */
.nf-widget {
	margin: 0 0 28px;
}

.nf-widget-title {
	font-size: 1.05rem;
	margin: 0 0 12px;
	padding-bottom: 6px;
	border-bottom: 2px solid #c00;
}

@media (max-width: 860px) {
	.nf-home.nf-has-sidebar {
		grid-template-columns: 1fr;
	}
}
