/* Informati — composants et animations discrètes */

:root {
	--informati-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Reveal au scroll — dégradé, pas de gadget. Se déclenche uniquement si le JS
   a ajouté .informati-observe (progressive enhancement : sans JS, tout reste visible). */
.informati-observe {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.6s var(--informati-ease), transform 0.6s var(--informati-ease);
	will-change: opacity, transform;
}

.informati-observe.informati-in-view {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.informati-observe {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Hover states soignés sur boutons et cartes */
.wp-block-button__link {
	transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -8px rgba(8, 120, 248, 0.45);
}

.wp-block-button__link:active {
	transform: translateY(0);
}

/* Cartes de service / produit (group avec classe informati-card ajoutée dans l'éditeur) */
.informati-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	padding: 2rem;
	transition: transform 0.25s var(--informati-ease), box-shadow 0.25s var(--informati-ease), border-color 0.25s ease;
}

.informati-card:hover {
	transform: translateY(-4px);
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 16px 32px -16px rgba(17, 17, 17, 0.18);
}

/* Hero */
.informati-hero {
	padding-top: clamp(3rem, 2rem + 4vw, 6rem);
	padding-bottom: clamp(3rem, 2rem + 4vw, 6rem);
}

.informati-hero .wp-block-buttons {
	margin-top: 1.5rem;
}

/* Focus visible clavier — accessibilité, ne pas retirer l'outline */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}
