/* Global theme styles */

:root {
	/* Light mode colors */
	--bg-primary: #f5f5f5;
	--bg-secondary: #ffffff;
	--bg-tertiary: #e0e0e0;

	--text-primary: #333333;
	--text-secondary: #666666;
	--text-tertiary: #999999;

	--border-primary: #e0e0e0;
	--border-secondary: #d0d0d0;

	--accent-primary: #ea580c;
	--accent-hover: #c2410c;

	--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
	--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
	--shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.1);
}

[data-theme="dark"] {
	/* Dark mode colors */
	--bg-primary: #1a1a1a;
	--bg-secondary: #2a2a2a;
	--bg-tertiary: #404040;

	--text-primary: #e0e0e0;
	--text-secondary: #b0b0b0;
	--text-tertiary: #808080;

	--border-primary: #404040;
	--border-secondary: #505050;

	--accent-primary: #ea580c;
	--accent-hover: #fb923c;

	--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
	--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
	--shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.3);
}

/* Global body styles */
body {
	margin: 0;
	padding: 0;
	font-family: "Crimson Text", "Times New Roman", serif;
	background: var(--bg-primary);
	min-height: 100vh;
	color: var(--text-primary);
	transition:
		background 0.3s ease,
		color 0.3s ease;
}

/* Link styles */
a {
	color: var(--accent-primary);
	transition: color 0.3s ease;
}

a:hover {
	color: var(--accent-hover);
}

/* Standardized typography */
h1 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
	color: var(--text-primary);
	transition: color 0.3s ease;
	font-family: "Crimson Text", "Times New Roman", serif;
}

h2 {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 2rem;
	color: var(--text-primary);
	transition: color 0.3s ease;
	font-family: "Crimson Text", "Times New Roman", serif;
}

h3 {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 1rem;
	color: var(--accent-primary);
	transition: color 0.3s ease;
	font-family: "Crimson Text", "Times New Roman", serif;
}

h4 {
	font-size: 1.25rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: var(--text-primary);
	transition: color 0.3s ease;
	font-family: "Crimson Text", "Times New Roman", serif;
}

/* Standardized card styles */
.card {
	background: var(--bg-secondary);
	border-radius: 12px;
	padding: 2rem;
	border: 2px solid var(--border-primary);
	transition: all 0.3s ease;
}

.card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-md);
	border-color: var(--accent-primary);
}