/**
 * Design tokens — hệ thống giao diện thống nhất AgriBio.vn
 */
:root {
	--color-bg: #FAFBF8;
	--color-white: #FFFFFF;
	--color-primary: #4B6F1C;
	--color-primary-2: #5F7D22;
	--color-accent: #A2B02A;
	--color-soft: #F3F6EB;
	--color-text: #1E293B;
	--color-muted: #64748B;
	--color-border: #DDE5CD;
	--color-warning: #FFF7ED;
	--color-danger: #B45309;
	--color-danger-soft: #FEF3C7;

	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 16px;
	--radius-xl: 22px;

	--shadow-sm: 0 4px 12px rgba(15, 23, 42, 0.06);
	--shadow-md: 0 10px 30px rgba(15, 23, 42, 0.08);

	--container: 1180px;

	/*
	 * Một stack hệ thống duy nhất giúp tiếng Việt hiển thị nhất quán mà không
	 * phụ thuộc font cài trên máy, CDN hay kết nối mạng.
	 */
	--font-readable: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;
	--font-sans: var(--font-readable);
	--font-serif: var(--font-readable);

	/* Alias tương thích code cũ */
	--bg: var(--color-bg);
	--surface: var(--color-white);
	--green: var(--color-primary);
	--green-2: var(--color-primary-2);
	--green-pale: var(--color-soft);
	--ink: var(--color-text);
	--muted: var(--color-muted);
	--line: var(--color-border);
	--warning: var(--color-warning);
	--warning-ink: var(--color-danger);
	--shadow: var(--shadow-sm);
	--radius: var(--radius-md);
}

body {
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.7;
	color: var(--color-text);
	background: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
	font-family: var(--font-serif);
	line-height: 1.28;
	color: var(--color-text);
	font-weight: 700;
	letter-spacing: -0.02em;
}

h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
h2 { font-size: clamp(1.35rem, 3vw, 1.75rem); }
h3 { font-size: clamp(1.1rem, 2.5vw, 1.35rem); }
h4 { font-size: 1.05rem; }

p { margin: 0 0 1em; }

a {
	color: var(--color-primary);
	text-decoration: none;
}

a:hover { color: var(--color-primary-2); }

.container {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 20px;
}
