/* Améliorations visuelles ajoutées : animations au survol + apparition au défilement */

a.et_pb_button,
.et_pb_button {
	transition: transform .35s ease, box-shadow .35s ease !important;
}
a.et_pb_button:hover,
.et_pb_button:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 14px 26px rgba(0, 0, 0, 0.18) !important;
}

.et_pb_image .et_pb_image_wrap {
	overflow: hidden;
	display: block;
}
.et_pb_image .et_pb_image_wrap img {
	transition: transform .5s ease !important;
}
.et_pb_image:hover .et_pb_image_wrap img {
	transform: scale(1.06) !important;
}

.et_pb_team_member_image {
	overflow: hidden;
}
.et_pb_team_member_image img {
	transition: transform .5s ease !important;
}
.et_pb_team_member:hover .et_pb_team_member_image img {
	transform: scale(1.07) !important;
}

.et_pb_blurb {
	transition: transform .35s ease, box-shadow .35s ease !important;
	border-radius: 4px;
}
.et_pb_blurb:hover {
	transform: translateY(-8px) !important;
	box-shadow: 0 20px 40px rgba(20, 20, 20, 0.12) !important;
}
.et_pb_blurb .et-pb-icon {
	transition: transform .35s ease, color .35s ease !important;
	display: inline-block;
}
.et_pb_blurb:hover .et-pb-icon {
	transform: scale(1.15) !important;
}
.et_pb_blurb .et_pb_module_header {
	transition: color .3s ease !important;
}

/* Domaines d'intervention (page d'accueil) : accent couleur au survol */
body.home .et_pb_section_2 .et_pb_blurb:hover .et-pb-icon,
body.home .et_pb_section_2 .et_pb_blurb:hover .et_pb_module_header {
	color: #940028 !important;
}

/* Menu de navigation : soulignement animé au survol
   (dégradé d'arrière-plan plutôt qu'un ::after : les entrées de menu avec
   sous-menu ont déjà leur propre ::after pour la flèche déroulante chez Divi,
   ce qui entrait en conflit et plaçait la barre au milieu du texte) */
.et_pb_fullwidth_menu_0_tb_header .nav > li > a {
	background-image: linear-gradient(#E02B20, #E02B20) !important;
	background-repeat: no-repeat !important;
	background-position: 0 100% !important;
	background-size: 0% 2px !important;
	transition: background-size .3s ease !important;
	padding-bottom: 6px !important;
}
.et_pb_fullwidth_menu_0_tb_header .nav > li > a:hover,
.et_pb_fullwidth_menu_0_tb_header .nav > li.current-menu-item > a {
	background-size: 100% 2px !important;
}

/* Apparition progressive au défilement (classes ajoutées en JS) */
.cg-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s ease, transform .7s ease;
}
.cg-reveal.cg-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.cg-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	a.et_pb_button,
	.et_pb_button,
	.et_pb_blurb,
	.et_pb_image .et_pb_image_wrap img,
	.et_pb_team_member_image img {
		transition: none !important;
	}
}
