/**
 * Base Styles - CSS Variables, Reset, Typography
 *
 * @package InovaxTheme
 */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap');

:root {
	/* Colors - Light Mode */
	--primary: #A78BFA;
	--accent: #8B5CF6;
	--text: #1a1a1a;
	--muted: #666666;
	--bg: #ffffff;
	--bg-light: #f5f5f5;
	--border: #DDD6FE;
	
	/* Spacing */
	--spacing-xs: 0.5rem;
	--spacing-sm: 1rem;
	--spacing-md: 1.5rem;
	--spacing-lg: 2rem;
	--spacing-xl: 3rem;
	--spacing-xxl: 4rem;
	
	/* Typography */
	--font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--font-heading: 'Poppins', var(--font-primary);
	
	--font-size-base: 16px;
	--font-size-sm: 0.875rem;
	--font-size-lg: 1.125rem;
	--font-size-xl: 1.25rem;
	--font-size-2xl: 1.5rem;
	--font-size-3xl: 2rem;
	--font-size-4xl: 2.5rem;
	
	--line-height-base: 1.6;
	--line-height-heading: 1.2;
	
	/* Border Radius */
	--radius: 8px;
	--radius-sm: 4px;
	--radius-lg: 12px;
	--radius-full: 9999px;
	
	/* Shadows */
	--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	--shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
	--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
	--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	
	/* Transitions */
	--transition: all 0.3s ease;
}

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

html {
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	margin: 0;
	padding: 0;
	font-family: var(--font-primary);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	color: var(--text);
	background-color: var(--bg);
	background-image: 
		linear-gradient(90deg, rgba(167, 139, 250, 0.03) 50%, transparent 50%),
		linear-gradient(rgba(167, 139, 250, 0.03) 50%, transparent 50%);
	background-size: 30px 30px;
	transition: background-color 0.3s ease, color 0.3s ease;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--spacing-md) 0;
	font-family: var(--font-heading);
	font-weight: 600;
	line-height: var(--line-height-heading);
	color: var(--text);
}

h1 { font-size: var(--font-size-4xl); }
h2 { font-size: var(--font-size-3xl); }
h3 { font-size: var(--font-size-2xl); }
h4 { font-size: var(--font-size-xl); }
h5 { font-size: var(--font-size-lg); }
h6 { font-size: var(--font-size-base); }

p {
	margin: 0 0 var(--spacing-md) 0;
}

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

a:hover,
a:focus {
	color: var(--accent);
	text-decoration: underline;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

ul, ol {
	margin: 0 0 var(--spacing-md) 0;
	padding-left: var(--spacing-lg);
}

/* Site Main */
.site-main {
	background-color: var(--bg);
	transition: background-color 0.3s ease;
	min-height: 60vh;
}

/* Site Description */
.site-description {
	color: var(--muted);
	transition: color 0.3s ease;
}

/* Responsive Typography */
@media (max-width: 768px) {
	html {
		font-size: 15px;
	}

	h1 { font-size: 2rem; }
	h2 { font-size: 1.75rem; }
	h3 { font-size: 1.5rem; }
	h4 { font-size: 1.25rem; }
	h5 { font-size: 1.125rem; }
	h6 { font-size: 1rem; }

	p {
		margin-bottom: var(--spacing-sm);
	}

	ul, ol {
		padding-left: var(--spacing-md);
	}
}

@media (max-width: 480px) {
	html {
		font-size: 14px;
	}

	h1 { font-size: 1.75rem; }
	h2 { font-size: 1.5rem; }
	h3 { font-size: 1.25rem; }
	h4 { font-size: 1.125rem; }
	h5 { font-size: 1rem; }
}