/**
 * Nutrika Ferme — petites retouches WP (le design vient de nutrika.css,
 * la feuille compilée du site d'origine).
 */

html {
	scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

section[id],
div[id],
article[id] {
	scroll-margin-top: 96px;
}

body.nf-body {
	font-family: 'Archivo', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Overlays du thème (mêmes codes visuels que les dialogs shadcn d'origine) */
.nf-overlay {
	animation: nf-fade-in 0.25s cubic-bezier(0.22, 1, 0.36, 1) both;
}
[data-dialog] > div:not(.nf-overlay) {
	animation: nf-zoom-in 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes nf-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes nf-zoom-in {
	from {
		opacity: 0;
		transform: translate(0, -8px) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
}
@media (prefers-reduced-motion: reduce) {
	.nf-overlay,
	[data-dialog] > div:not(.nf-overlay) {
		animation: none;
	}
}

/* Toasts (structure identique au Toaster Radix du site) */
[data-toast-viewport] li {
	pointer-events: auto;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	border: 1px solid var(--color-border);
	background: var(--color-card);
	color: var(--color-foreground);
	border-radius: 0.75rem;
	padding: 16px 20px 16px 16px;
	padding-right: 24px;
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	width: 100%;
	animation: nf-toast-in 0.35s cubic-bezier(0.21, 1.02, 0.73, 1) both;
}
[data-toast-viewport] li[data-variant='destructive'] {
	border-color: var(--color-destructive);
	background: var(--color-destructive);
	color: var(--color-destructive-foreground);
}
[data-toast-viewport] li.nf-toast-out {
	animation: nf-toast-out 0.25s ease-in both;
}
@keyframes nf-toast-in {
	from {
		opacity: 0;
		transform: translateY(100%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes nf-toast-out {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateX(100%);
	}
}
@media (prefers-reduced-motion: reduce) {
	[data-toast-viewport] li,
	[data-toast-viewport] li.nf-toast-out {
		animation: none;
	}
}

/* Live activity toasts */
[data-live-activity] > div {
	animation: nf-live-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes nf-live-in {
	from {
		opacity: 0;
		transform: translateX(-24px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* Marquee : le CSS compilé définit déjà .animate-marquee (180 s). */

/* Menu mobile */
[data-mobile-menu].nf-menu-open {
	transform: translateX(0) !important;
}

/* Line-clamp helper (déjà présent via Tailwind compilé si utilisé) */
.line-clamp-1 {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
