/*!
 * Vino Veritas — Design tokens v1.0.0
 * Source unique : tokens.json. Ne pas modifier à la main.
 */
:root {
	/* Couleurs */
	--vv-color-bordeaux: #A02223;
	--vv-color-bordeaux-rgb: 160 34 35;
	--vv-color-encre: #1E1D1B;
	--vv-color-encre-rgb: 30 29 27;
	--vv-color-creme: #F4F3EF;
	--vv-color-creme-rgb: 244 243 239;
	--vv-color-lie-de-vin: #7A1F2B;
	--vv-color-lie-de-vin-rgb: 122 31 43;
	--vv-color-pierre: #EBE9E5;
	--vv-color-pierre-rgb: 235 233 229;
	--vv-color-sarment: #5E5A54;
	--vv-color-sarment-rgb: 94 90 84;
	--vv-color-feuille-de-vigne: #4E5B3A;
	--vv-color-feuille-de-vigne-rgb: 78 91 58;
	--vv-color-paille: #C9A44C;
	--vv-color-paille-rgb: 201 164 76;
	--vv-color-rose: #EAD3CC;
	--vv-color-rose-rgb: 234 211 204;
	--vv-color-galet: #8A867F;
	--vv-color-galet-rgb: 138 134 127;
	--vv-color-blanc: #FFFFFF;
	--vv-color-blanc-rgb: 255 255 255;

	/* Rôles (alias sémantiques) */
	--vv-fond: var(--vv-color-creme);
	--vv-fond-alt: var(--vv-color-pierre);
	--vv-texte: var(--vv-color-encre);
	--vv-texte-secondaire: var(--vv-color-sarment);
	--vv-accent: var(--vv-color-bordeaux);
	--vv-accent-survol: var(--vv-color-lie-de-vin);
	--vv-bordure: var(--vv-color-galet);
	--vv-succes: var(--vv-color-feuille-de-vigne);
	--vv-erreur: var(--vv-color-bordeaux);

	/* Familles */
	--vv-font-display: 'Antonio', 'Arial Narrow', 'Roboto Condensed', sans-serif;
	--vv-font-serif: 'Cormorant Garamond', Garamond, 'Times New Roman', serif;
	--vv-font-text: 'Luciole', Verdana, 'DejaVu Sans', Arial, sans-serif;

	/* Échelle typographique (fluide) */
	--vv-text-display-size: clamp(3rem, 2rem + 4vw, 5.5rem);
	--vv-text-display-lh: 1.0;
	--vv-text-h1-size: clamp(2.5rem, 1.9rem + 2.6vw, 4rem);
	--vv-text-h1-lh: 1.05;
	--vv-text-h2-size: clamp(2rem, 1.6rem + 1.6vw, 3rem);
	--vv-text-h2-lh: 1.1;
	--vv-text-h3-size: clamp(1.5rem, 1.35rem + 0.6vw, 1.875rem);
	--vv-text-h3-lh: 1.2;
	--vv-text-h4-size: clamp(1.375rem, 1.3rem + 0.3vw, 1.625rem);
	--vv-text-h4-lh: 1.25;
	--vv-text-surtitre-size: 0.8125rem;
	--vv-text-surtitre-lh: 1.3;
	--vv-text-chapeau-size: clamp(1.25rem, 1.15rem + 0.4vw, 1.5rem);
	--vv-text-chapeau-lh: 1.45;
	--vv-text-texte-size: 1rem;
	--vv-text-texte-lh: 1.65;
	--vv-text-petit-size: 0.875rem;
	--vv-text-petit-lh: 1.5;
	--vv-text-bouton-size: 0.9375rem;
	--vv-text-bouton-lh: 1;

	/* Espacements */
	--vv-space-1: 0.25rem;
	--vv-space-2: 0.5rem;
	--vv-space-3: 0.75rem;
	--vv-space-4: 1rem;
	--vv-space-5: 1.5rem;
	--vv-space-6: 2rem;
	--vv-space-7: 3rem;
	--vv-space-8: 4rem;
	--vv-space-9: 6rem;
	--vv-space-10: 8rem;

	/* radius */
	--vv-radius-sm: 2px;
	--vv-radius-md: 4px;
	--vv-radius-lg: 8px;
	--vv-radius-pill: 999px;

	/* shadow */
	--vv-shadow-sm: 0 1px 2px rgba(30, 29, 27, 0.06);
	--vv-shadow-md: 0 2px 4px rgba(30, 29, 27, 0.04), 0 8px 24px rgba(30, 29, 27, 0.08);
	--vv-shadow-lg: 0 4px 8px rgba(30, 29, 27, 0.05), 0 20px 48px rgba(30, 29, 27, 0.12);

	/* stroke */
	--vv-stroke-trait: 1.5px;
	--vv-stroke-trait-fort: 2px;

	/* layout */
	--vv-layout-contenu: 1200px;
	--vv-layout-large: 1440px;
	--vv-layout-mesure: 68ch;

	/* motion */
	--vv-motion-rapide: 150ms;
	--vv-motion-normal: 250ms;
	--vv-motion-lent: 400ms;
	--vv-motion-courbe: cubic-bezier(0.22, 0.61, 0.36, 1);

	/* Formes (masques SVG) */
	--vv-goutte: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28'%3E%3Cpath d='M10 1S19 12.5 19 18.5a9 9 0 0 1-18 0C1 12.5 10 1 10 1z'/%3E%3C/svg%3E");
	--vv-vague: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 22C240 -2 480 -2 720 22s480 44 720 4V60H0z'/%3E%3C/svg%3E");
}
