/* KW Biohof – strukturelle Tokens (Farben/Schriften kommen aus DesignSchema via DesignCss). */

:root {
	/* Variable-Font-Gewichte */
	--biohof-weight-regular: 400;
	--biohof-weight-medium: 500;
	--biohof-weight-semibold: 600;
	--biohof-weight-bold: 700;

	/* Fluide Typo-Skala (clamp: min → ideal → max) */
	--biohof-fs-300: clamp(0.79rem, 0.74rem + 0.24vw, 0.89rem);
	--biohof-fs-400: clamp(1.00rem, 0.93rem + 0.33vw, 1.13rem);
	--biohof-fs-500: clamp(1.20rem, 1.08rem + 0.59vw, 1.50rem);
	--biohof-fs-600: clamp(1.44rem, 1.24rem + 0.99vw, 2.00rem);
	--biohof-fs-700: clamp(1.73rem, 1.41rem + 1.59vw, 2.66rem);
	--biohof-fs-800: clamp(2.07rem, 1.58rem + 2.47vw, 3.55rem);
	--biohof-fs-900: clamp(2.49rem, 1.74rem + 3.74vw, 4.73rem);

	--biohof-line-tight: 1.15;
	--biohof-line-snug: 1.3;
	--biohof-line-base: 1.6;

	/* Fluides Spacing */
	--biohof-space-2xs: clamp(0.25rem, 0.23rem + 0.10vw, 0.31rem);
	--biohof-space-xs: clamp(0.50rem, 0.46rem + 0.20vw, 0.63rem);
	--biohof-space-sm: clamp(0.75rem, 0.69rem + 0.29vw, 0.94rem);
	--biohof-space-md: clamp(1.00rem, 0.91rem + 0.42vw, 1.25rem);
	--biohof-space-lg: clamp(1.50rem, 1.35rem + 0.73vw, 2.00rem);
	--biohof-space-xl: clamp(2.25rem, 1.97rem + 1.41vw, 3.25rem);
	--biohof-space-2xl: clamp(3.50rem, 2.93rem + 2.83vw, 5.50rem);
	--biohof-space-3xl: clamp(4.50rem, 3.45rem + 5.25vw, 8.50rem);

	/* Radien */
	--biohof-radius-sm: 6px;
	--biohof-radius-md: 12px;
	--biohof-radius-lg: 20px;
	--biohof-radius-pill: 999px;

	/* Schatten – Farbe aus Token, kein Hardcode */
	--biohof-shadow-sm: 0 1px 2px color-mix(in srgb, var(--biohof-color-text-strong) 12%, transparent);
	--biohof-shadow-md: 0 6px 18px color-mix(in srgb, var(--biohof-color-text-strong) 14%, transparent);
	--biohof-shadow-lg: 0 16px 40px color-mix(in srgb, var(--biohof-color-text-strong) 18%, transparent);

	/* Motion */
	--biohof-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--biohof-duration: 220ms;

	--biohof-content-max: 75rem;
	--biohof-nav-width: 20rem;
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--biohof-duration: 0ms;
	}
}
