/**
 * Visiora Core — Design Tokens : typographie
 *
 * Familles, tailles, hauteurs de ligne, graisses
 * et espacements typographiques officiels.
 *
 * @package Visiora_Core
 */

:root {

	/* ======================================================
	   1. FAMILLES TYPOGRAPHIQUES
	   ====================================================== */

	--v-font-family-sans:
		Inter,
		ui-sans-serif,
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;

	--v-font-family-heading: var(--v-font-family-sans);
	--v-font-family-body: var(--v-font-family-sans);

	--v-font-family-mono:
		"SFMono-Regular",
		Consolas,
		"Liberation Mono",
		Menlo,
		monospace;

	/* Compatibilité avec les anciens composants. */
	--v-font-family: var(--v-font-family-body);

	/* ======================================================
	   2. TAILLES TYPOGRAPHIQUES
	   ====================================================== */

    --v-font-size-2xs: 0.6875rem;
	--v-font-size-xs: 0.75rem;
	--v-font-size-sm: 0.875rem;
	--v-font-size-md: 1rem;
	--v-font-size-lg: 1.125rem;
	--v-font-size-xl: 1.25rem;
	--v-font-size-2xl: 1.5rem;
	--v-font-size-3xl: 1.875rem;
	--v-font-size-4xl: 2.25rem;
	--v-font-size-5xl: 3rem;
	--v-font-size-6xl: 3.75rem;
	--v-font-size-7xl: 4.5rem;

	/* ======================================================
	   3. HAUTEURS DE LIGNE
	   ====================================================== */

	--v-line-height-none: 1;
	--v-line-height-tight: 1.15;
	--v-line-height-snug: 1.3;
	--v-line-height-normal: 1.5;
	--v-line-height-relaxed: 1.65;
	--v-line-height-loose: 1.8;

	/* ======================================================
	   4. GRAISSES
	   ====================================================== */

	--v-font-weight-regular: 400;
	--v-font-weight-medium: 500;
	--v-font-weight-semibold: 600;
	--v-font-weight-bold: 700;
	--v-font-weight-extrabold: 800;

	/* ======================================================
	   5. ESPACEMENTS DE LETTRES
	   ====================================================== */

	--v-letter-spacing-tighter: -0.045em;
	--v-letter-spacing-tight: -0.025em;
	--v-letter-spacing-normal: 0;
	--v-letter-spacing-wide: 0.025em;
	--v-letter-spacing-wider: 0.05em;

	/* ======================================================
	   6. TOKENS SÉMANTIQUES — CORPS DE TEXTE
	   ====================================================== */

	--v-text-body-size: var(--v-font-size-md);
	--v-text-body-line-height: var(--v-line-height-relaxed);
	--v-text-body-weight: var(--v-font-weight-regular);

	--v-text-body-lg-size: var(--v-font-size-lg);
	--v-text-body-lg-line-height: var(--v-line-height-relaxed);
	--v-text-body-lg-weight: var(--v-font-weight-regular);

	--v-text-small-size: var(--v-font-size-sm);
	--v-text-small-line-height: var(--v-line-height-normal);
	--v-text-small-weight: var(--v-font-weight-regular);

	--v-text-caption-size: var(--v-font-size-xs);
	--v-text-caption-line-height: var(--v-line-height-normal);
	--v-text-caption-weight: var(--v-font-weight-medium);
	--v-text-caption-letter-spacing: var(--v-letter-spacing-wide);

	/* ======================================================
	   7. TOKENS SÉMANTIQUES — TITRES
	   ====================================================== */

	--v-heading-display-size: var(--v-font-size-6xl);
	--v-heading-display-line-height: var(--v-line-height-none);
	--v-heading-display-weight: var(--v-font-weight-extrabold);
	--v-heading-display-letter-spacing: var(--v-letter-spacing-tighter);

	--v-heading-h1-size: var(--v-font-size-5xl);
	--v-heading-h1-line-height: var(--v-line-height-tight);
	--v-heading-h1-weight: var(--v-font-weight-bold);
	--v-heading-h1-letter-spacing: var(--v-letter-spacing-tighter);

	--v-heading-h2-size: var(--v-font-size-4xl);
	--v-heading-h2-line-height: var(--v-line-height-tight);
	--v-heading-h2-weight: var(--v-font-weight-bold);
	--v-heading-h2-letter-spacing: var(--v-letter-spacing-tight);

	--v-heading-h3-size: var(--v-font-size-3xl);
	--v-heading-h3-line-height: var(--v-line-height-snug);
	--v-heading-h3-weight: var(--v-font-weight-bold);
	--v-heading-h3-letter-spacing: var(--v-letter-spacing-tight);

	--v-heading-h4-size: var(--v-font-size-2xl);
	--v-heading-h4-line-height: var(--v-line-height-snug);
	--v-heading-h4-weight: var(--v-font-weight-semibold);
	--v-heading-h4-letter-spacing: var(--v-letter-spacing-normal);

	--v-heading-h5-size: var(--v-font-size-xl);
	--v-heading-h5-line-height: var(--v-line-height-snug);
	--v-heading-h5-weight: var(--v-font-weight-semibold);
	--v-heading-h5-letter-spacing: var(--v-letter-spacing-normal);

	--v-heading-h6-size: var(--v-font-size-lg);
	--v-heading-h6-line-height: var(--v-line-height-normal);
	--v-heading-h6-weight: var(--v-font-weight-semibold);
	--v-heading-h6-letter-spacing: var(--v-letter-spacing-normal);
}