/* Planet Evolution — design tokens */

:root {
	/* Theme (overridden per festival in top.php) */
	--theme-primary: #cc0000;

	/* Derived palette via color-mix */
	--color-primary: var(--theme-primary);
	--color-primary-light: color-mix(in srgb, var(--theme-primary) 12%, white);
	--color-primary-soft: color-mix(in srgb, var(--theme-primary) 25%, white);
	--color-primary-dark: color-mix(in srgb, var(--theme-primary) 80%, black);
	--color-accent: color-mix(in srgb, var(--theme-primary) 60%, #ff6b9d);
	--gradient-cta: linear-gradient(135deg, var(--theme-primary) 0%, var(--color-accent) 100%);
	--gradient-banner: linear-gradient(134deg, var(--theme-primary) 15%, color-mix(in srgb, var(--theme-primary) 40%, #74107c) 75%);

	/* Neutrals */
	--color-bg: #fafafc;
	--color-surface: #ffffff;
	--color-surface-tinted: color-mix(in srgb, var(--theme-primary) 4%, #fafafc);
	--color-text: #1a1a2e;
	--color-text-muted: #5c5c7a;
	--color-border: #e4e4ef;
	--color-border-strong: #c8c8d8;

	/* Semantic */
	--color-success: #22c55e;
	--color-error: #ef4444;
	--color-link-hover: var(--theme-primary);

	/* Typography */
	--font-display: 'Outfit', system-ui, sans-serif;
	--font-body: 'DM Sans', system-ui, sans-serif;
	--font-size-xs: 0.8125rem;
	--font-size-sm: 0.9375rem;
	--font-size-base: 1.0625rem;
	--font-size-lg: 1.25rem;
	--font-size-xl: 1.5rem;
	--font-size-2xl: 2rem;
	--font-size-3xl: clamp(2rem, 4vw, 3rem);
	--font-size-hero: clamp(2.25rem, 5vw, 3.5rem);
	--line-height-tight: 1.2;
	--line-height-body: 1.65;

	/* Spacing */
	--space-xs: 0.25rem;
	--space-sm: 0.5rem;
	--space-md: 1rem;
	--space-lg: 1.5rem;
	--space-xl: 2.5rem;
	--space-2xl: 4rem;
	--space-section: clamp(3rem, 6vw, 5rem);

	/* Layout */
	--content-max-width: 72rem;
	--content-narrow: 45rem;
	--content-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--header-height: 4.5rem;
	--breakpoint-nav: 900px;

	/* Radius & shadows */
	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 18px;
	--radius-xl: 24px;
	--radius-pill: 999px;
	--shadow-sm: 0 2px 8px rgba(26, 26, 46, 0.06);
	--shadow-md: 0 8px 24px rgba(26, 26, 46, 0.1);
	--shadow-lg: 0 16px 48px rgba(26, 26, 46, 0.12);
	--shadow-card: 0 4px 20px color-mix(in srgb, var(--theme-primary) 8%, rgba(26, 26, 46, 0.08));

	/* Motion */
	--transition-fast: 150ms ease;
	--transition-base: 250ms ease;
	--transition-slow: 400ms cubic-bezier(0.22, 1, 0.36, 1);
}
