/* Pastelclay design tokens — single source of truth for the entire site. */

:root {
	/* Palette */
	--pc-cream: #FBF6EE;
	--pc-cream-2: #F4ECDF;
	--pc-pink: #E8A6A1;
	--pc-pink-soft: #F5CFCB;
	--pc-pink-deep: #C97B72;
	--pc-sage: #9DB89A;
	--pc-sage-soft: #C7D9C3;
	--pc-terracotta: #C97B5C;
	--pc-ink: #3A2F2A;
	--pc-ink-soft: #6B5C53;
	--pc-mist: #EDE3D2;
	--pc-line: #E0D4BE;

	/* Semantic mappings */
	--pc-bg: var(--pc-cream);
	--pc-bg-alt: var(--pc-cream-2);
	--pc-fg: var(--pc-ink);
	--pc-fg-soft: var(--pc-ink-soft);
	--pc-accent: var(--pc-pink);
	--pc-accent-deep: var(--pc-pink-deep);
	--pc-success: var(--pc-sage);
	--pc-line-color: var(--pc-line);

	/* Typography */
	--pc-font-display: 'Fraunces', ui-serif, Georgia, 'Times New Roman', serif;
	--pc-font-body: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

	--pc-fs-1: clamp(2.6rem, 6vw + 1rem, 5.8rem);
	--pc-fs-2: clamp(2rem, 3.5vw + 0.6rem, 3.4rem);
	--pc-fs-3: clamp(1.5rem, 1.6vw + 0.8rem, 2.1rem);
	--pc-fs-4: 1.25rem;
	--pc-fs-body: 1.0625rem;
	--pc-fs-small: 0.9rem;

	--pc-lh-tight: 1.05;
	--pc-lh-display: 1.12;
	--pc-lh-body: 1.62;

	/* Spacing scale */
	--pc-s1: 0.25rem;
	--pc-s2: 0.5rem;
	--pc-s3: 0.75rem;
	--pc-s4: 1rem;
	--pc-s5: 1.5rem;
	--pc-s6: 2rem;
	--pc-s7: 3rem;
	--pc-s8: 4.5rem;
	--pc-s9: 7rem;

	/* Radius */
	--pc-r-sm: 8px;
	--pc-r-md: 14px;
	--pc-r-lg: 22px;
	--pc-r-xl: 32px;
	--pc-r-pill: 999px;

	/* Shadow — soft, never harsh. Cottage-light, not Material. */
	--pc-shadow-1: 0 1px 2px rgba(58, 47, 42, 0.04), 0 4px 14px rgba(58, 47, 42, 0.05);
	--pc-shadow-2: 0 6px 18px rgba(201, 123, 92, 0.10), 0 18px 40px rgba(58, 47, 42, 0.06);
	--pc-shadow-3: 0 18px 60px rgba(201, 123, 92, 0.18);

	/* Motion */
	--pc-ease: cubic-bezier(0.33, 1, 0.68, 1);
	--pc-ease-in: cubic-bezier(0.32, 0, 0.67, 0);
	--pc-dur-1: 220ms;
	--pc-dur-2: 420ms;
	--pc-dur-3: 700ms;

	/* Layout */
	--pc-container: min(1240px, 92vw);
	--pc-container-narrow: min(820px, 92vw);
	--pc-header-h: 80px;

	/* Z */
	--pc-z-header: 30;
	--pc-z-cart: 40;
	--pc-z-modal: 80;
	--pc-z-toast: 100;
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--pc-dur-1: 0ms;
		--pc-dur-2: 0ms;
		--pc-dur-3: 0ms;
	}
}
