/* Design system global — tokens centralisés (miroir de theme.json). */
:root {
	--nt-color-header:  var(--wp--custom--color--header, #1b212d);
	--nt-color-surface: var(--wp--custom--color--surface, #2f374e);
	--nt-color-border:  var(--wp--custom--color--border, #46506b);
	--nt-color-text:    var(--wp--custom--color--text, #f7f8fb);
	--nt-color-muted:   var(--wp--custom--color--muted, #a5abba);
	--nt-color-accent:  var(--wp--custom--color--accent, #57c4f4);

	--nt-radius-card:   var(--wp--custom--radius--card, 16px);
	--nt-header-height: var(--wp--custom--header--height, 60px);
	--nt-gutter:        var(--wp--custom--layout--gutter, 16px);
	--nt-motion:        var(--wp--custom--motion--duration, 200ms);

	--nt-font: var(--wp--preset--font-family--sans, Inter, "Helvetica Neue", Helvetica, Arial, sans-serif);
}

body {
	background: var(--nt-color-header);
	color: var(--nt-color-text);
	font-family: var(--nt-font);
}

/* Focus visible cohérent sur tout le système. */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--nt-color-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Verrou de défilement quand le menu mobile est ouvert. */
.nt-scroll-lock,
.nt-scroll-lock body {
	overflow: hidden;
}

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