/*!
 * Vino Veritas — Styles de base (typographie & couleurs globales)
 * Sélecteurs d'éléments simples (spécificité 0,0,1), chargés après le thème :
 * ils remplacent les styles génériques du thème mais les réglages Elementor
 * (kit global, widgets) et ceux des blocs restent prioritaires.
 */

body {
	background-color: var(--vv-color-creme);
	color: var(--vv-color-encre);
	font-family: var(--vv-font-text);
	font-size: var(--vv-text-texte-size);
	line-height: var(--vv-text-texte-lh);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

h1, h2, h3 {
	font-family: var(--vv-font-display);
	text-transform: uppercase;
	color: var(--vv-color-encre);
	margin-block: 0 0.5em;
	text-wrap: balance;
}
h1 { font-size: var(--vv-text-h1-size); font-weight: 400; line-height: 1.05; letter-spacing: 0.03em; }
h2 { font-size: var(--vv-text-h2-size); font-weight: 400; line-height: 1.1; letter-spacing: 0.04em; }
h3 { font-size: var(--vv-text-h3-size); font-weight: 500; line-height: 1.2; letter-spacing: 0.05em; }
h4 {
	font-family: var(--vv-font-serif);
	font-style: italic;
	font-weight: 500;
	font-size: var(--vv-text-h4-size);
	line-height: 1.25;
	margin-block: 0 0.5em;
}
h5, h6 {
	font-family: var(--vv-font-display);
	font-weight: 600;
	font-size: var(--vv-text-surtitre-size);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--vv-color-bordeaux);
	margin-block: 0 0.75em;
}

p { margin-block: 0 1em; }
small, figcaption { font-size: var(--vv-text-petit-size); color: var(--vv-color-sarment); }

a {
	color: var(--vv-color-bordeaux);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color var(--vv-motion-rapide) var(--vv-motion-courbe);
}
a:hover { color: var(--vv-color-lie-de-vin); }

blockquote {
	font-family: var(--vv-font-serif);
	font-style: italic;
	font-size: 1.5rem;
	line-height: 1.4;
	border-inline-start: var(--vv-stroke-trait-fort) solid var(--vv-color-bordeaux);
	padding-inline-start: var(--vv-space-5);
	margin-inline: 0;
}

hr {
	border: 0;
	border-top: 1px solid var(--vv-color-galet);
	margin-block: var(--vv-space-7);
}

::selection { background: var(--vv-color-bordeaux); color: var(--vv-color-creme); }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
	outline: 2px solid var(--vv-color-encre);
	outline-offset: 3px;
	border-radius: var(--vv-radius-sm);
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
