/**
 * Token e utility condivisi da tutti gli elementi.
 *
 * Caricato una sola volta, come dipendenza dello stile di ogni elemento e
 * delle personalizzazioni in css/.
 *
 * ATTENZIONE — I nomi `--color-content-*` sono un tentativo di agganciarsi alle
 * variabili di Impreza, MA NON SONO STATI VERIFICATI sul tema reale (il tema
 * padre non è nel progetto). Ogni token ha un fallback esplicito, quindi:
 *   - se i nomi sono corretti, gli elementi seguono la palette del tema;
 *   - se sono sbagliati, usano silenziosamente i colori di fallback qui sotto,
 *     che sono valori generici e NON la palette di CVA.
 * Da verificare sul server con: grep -r "--color-content" wp-content/themes/Impreza/
 */

:root {
	--hi-cva-color-primary: var(--color-content-primary, #1c58a6);
	--hi-cva-color-secondary: var(--color-content-secondary, #0f2f5c);
	--hi-cva-color-text: var(--color-content-text, #2b2b2b);
	--hi-cva-color-faded: var(--color-content-faded, #6b7280);
	--hi-cva-color-bg: var(--color-content-bg, #ffffff);
	--hi-cva-color-bg-alt: var(--color-content-bg-alt, #f4f6f9);
	--hi-cva-color-border: var(--color-content-border, #e2e6ec);
	--hi-cva-color-on-primary: #ffffff;

	--hi-cva-radius: 8px;
	--hi-cva-radius-sm: 4px;
	--hi-cva-radius-pill: 999px;

	--hi-cva-space-xs: 4px;
	--hi-cva-space-sm: 8px;
	--hi-cva-space-md: 16px;
	--hi-cva-space-lg: 24px;
	--hi-cva-space-xl: 40px;

	--hi-cva-shadow: 0 2px 8px rgba(16, 32, 56, .08);
	--hi-cva-shadow-hover: 0 8px 24px rgba(16, 32, 56, .14);
	--hi-cva-transition: 200ms ease;
}

/* Radice comune: tutti gli elementi ereditano box-sizing e colore testo. */
[class^="hi-cva-"],
[class*=" hi-cva-"] {
	box-sizing: border-box;
}

/* Utility di visibilità accessibile, usata dagli elementi per le etichette. */
.hi-cva-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	[class^="hi-cva-"],
	[class*=" hi-cva-"] {
		transition-duration: 1ms !important;
		animation-duration: 1ms !important;
	}
}
