.afiwai-dmh-item {
	--afiwai-dmh-transition: 180ms ease;
	display: flex;
	align-items: center;
}

.afiwai-dmh-item > .afiwai-dmh-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: .5em;
	margin-inline: var(--afiwai-dmh-margin-x) !important;
	padding: var(--afiwai-dmh-padding-y) var(--afiwai-dmh-padding-x) !important;
	color: var(--afiwai-dmh-text) !important;
	background: var(--afiwai-dmh-background) !important;
	border: var(--afiwai-dmh-border-width) solid var(--afiwai-dmh-border-color) !important;
	border-radius: var(--afiwai-dmh-radius) !important;
	box-shadow: var(--afiwai-dmh-shadow) !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition:
		transform var(--afiwai-dmh-transition),
		box-shadow var(--afiwai-dmh-transition),
		filter var(--afiwai-dmh-transition),
		color var(--afiwai-dmh-transition) !important;
}

.afiwai-dmh-item > .afiwai-dmh-link::after {
	display: none !important;
}

.afiwai-dmh-item > .afiwai-dmh-link:hover,
.afiwai-dmh-item.current-menu-item > .afiwai-dmh-link,
.afiwai-dmh-item.current_page_item > .afiwai-dmh-link {
	color: var(--afiwai-dmh-text-hover) !important;
	filter: brightness(1.04);
}

.afiwai-dmh-hover-lift > .afiwai-dmh-link:hover {
	transform: translateY(-2px);
}

.afiwai-dmh-hover-scale > .afiwai-dmh-link:hover {
	transform: scale(1.035);
}

.afiwai-dmh-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-style: normal;
	line-height: 1;
}

.et_mobile_menu .afiwai-dmh-item {
	display: block;
}

.et_mobile_menu .afiwai-dmh-item > .afiwai-dmh-link {
	width: calc(100% - (var(--afiwai-dmh-margin-x) * 2));
	box-sizing: border-box;
	margin-block: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.afiwai-dmh-item > .afiwai-dmh-link {
		transition: none !important;
	}
}


@media (max-width: 980px) and (min-width: 768px) {
	.afiwai-dmh-hide-tablet {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.afiwai-dmh-hide-mobile {
		display: none !important;
	}

	.et_mobile_menu .afiwai-dmh-full-mobile > .afiwai-dmh-link,
	.afiwai-dmh-full-mobile > .afiwai-dmh-link {
		display: flex !important;
		width: calc(100% - (var(--afiwai-dmh-margin-x) * 2)) !important;
		box-sizing: border-box;
	}
}


.afiwai-dmh-link{
position:relative;
overflow:hidden;
}
.afiwai-dmh-link::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);
transform:translateX(-130%);
transition:transform .6s ease;
pointer-events:none;
}
.afiwai-dmh-link:hover::before{
transform:translateX(130%);
}
.afiwai-dmh-link .afiwai-dmh-icon{
font-size:1.05em;
}


.afiwai-dmh-svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}


.afiwai-dmh-badge {
	position: absolute;
	top: -9px;
	right: -10px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	min-height: 18px;
	padding: 2px 6px;
	border: 2px solid rgba(255,255,255,.95);
	border-radius: 999px;
	background: var(--afiwai-dmh-badge-background);
	color: var(--afiwai-dmh-badge-color);
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .02em;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(15,23,42,.18);
}

.afiwai-dmh-speed-slow {
	--afiwai-dmh-premium-duration: 5s;
}

.afiwai-dmh-speed-normal {
	--afiwai-dmh-premium-duration: 3s;
}

.afiwai-dmh-speed-fast {
	--afiwai-dmh-premium-duration: 1.6s;
}

.afiwai-dmh-premium-glass > .afiwai-dmh-link {
	background:
		linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.08)),
		var(--afiwai-dmh-background) !important;
	border-color: rgba(255,255,255,.34) !important;
	backdrop-filter: blur(14px) saturate(150%);
	-webkit-backdrop-filter: blur(14px) saturate(150%);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.34),
		0 12px 30px rgba(15,23,42,.18) !important;
}

.afiwai-dmh-premium-neon > .afiwai-dmh-link {
	box-shadow:
		0 0 0 1px currentColor,
		0 0 12px color-mix(in srgb, currentColor 55%, transparent),
		0 0 28px color-mix(in srgb, currentColor 32%, transparent) !important;
}

.afiwai-dmh-premium-animated-gradient > .afiwai-dmh-link {
	background-size: 220% 220% !important;
	animation: afiwai-dmh-gradient var(--afiwai-dmh-premium-duration) ease infinite;
}

.afiwai-dmh-premium-shine > .afiwai-dmh-link::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 25%, rgba(255,255,255,.45) 50%, transparent 75%);
	transform: translateX(-140%);
	animation: afiwai-dmh-shine var(--afiwai-dmh-premium-duration) ease-in-out infinite;
	pointer-events: none;
}

.afiwai-dmh-premium-pulse > .afiwai-dmh-link {
	animation: afiwai-dmh-pulse var(--afiwai-dmh-premium-duration) ease-in-out infinite;
}

.afiwai-dmh-premium-border-flow > .afiwai-dmh-link {
	border-color: transparent !important;
	background:
		linear-gradient(var(--afiwai-dmh-background), var(--afiwai-dmh-background)) padding-box,
		linear-gradient(120deg, #22d3ee, #2563eb, #7c3aed, #22d3ee) border-box !important;
	background-size: 100% 100%, 250% 250% !important;
	animation: afiwai-dmh-border-flow var(--afiwai-dmh-premium-duration) linear infinite;
}

@keyframes afiwai-dmh-gradient {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

@keyframes afiwai-dmh-shine {
	0%, 55% { transform: translateX(-140%); }
	100% { transform: translateX(140%); }
}

@keyframes afiwai-dmh-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.035); }
}

@keyframes afiwai-dmh-border-flow {
	0% { background-position: 0 0, 0% 50%; }
	100% { background-position: 0 0, 250% 50%; }
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.afiwai-dmh-premium-neon > .afiwai-dmh-link {
		box-shadow: 0 0 0 1px currentColor, 0 0 14px rgba(37,99,235,.55), 0 0 28px rgba(37,99,235,.3) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.afiwai-dmh-premium-animated-gradient > .afiwai-dmh-link,
	.afiwai-dmh-premium-shine > .afiwai-dmh-link::before,
	.afiwai-dmh-premium-pulse > .afiwai-dmh-link,
	.afiwai-dmh-premium-border-flow > .afiwai-dmh-link {
		animation: none !important;
	}
}




/* ==========================================================================
   AFIWAI DMH — Alignement structurel avec les éléments de menu Divi
   ========================================================================== */

/*
 * Divi aligne normalement ses liens grâce au contexte flex du conteneur
 * et à la hauteur de ligne du lien. L'élément AFIWAI conserve donc la même
 * boîte verticale que les autres éléments du menu ; seul le contenu visuel
 * est stylé.
 */
.et-menu > li.afiwai-dmh-item,
#top-menu > li.afiwai-dmh-item,
.et_pb_menu__menu .et-menu > li.afiwai-dmh-item,
.et_pb_fullwidth_menu .et-menu > li.afiwai-dmh-item {
	display: flex !important;
	align-items: stretch !important;
	align-self: stretch !important;
	justify-content: center;
	height: auto !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/*
 * Le lien garde la hauteur utile du menu puis centre son contenu interne.
 * Aucune marge verticale automatique : elle faussait le positionnement
 * dans certains en-têtes Divi.
 */
.et-menu > li.afiwai-dmh-item > a.afiwai-dmh-link,
#top-menu > li.afiwai-dmh-item > a.afiwai-dmh-link,
.et_pb_menu__menu .et-menu > li.afiwai-dmh-item > a.afiwai-dmh-link,
.et_pb_fullwidth_menu .et-menu > li.afiwai-dmh-item > a.afiwai-dmh-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	position: relative !important;
	top: auto !important;
	bottom: auto !important;
	height: auto !important;
	min-height: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	line-height: 1.2 !important;
	vertical-align: middle !important;
	box-sizing: border-box !important;
}

/*
 * Le menu traditionnel Divi ajoute parfois un padding-bottom au lien.
 * Celui-ci doit être neutralisé uniquement pour les éléments AFIWAI.
 */
#top-menu > li.afiwai-dmh-item > a.afiwai-dmh-link,
.et-menu > li.afiwai-dmh-item > a.afiwai-dmh-link {
	padding-top: var(--afiwai-dmh-padding-y) !important;
	padding-bottom: var(--afiwai-dmh-padding-y) !important;
}

/*
 * En-tête fixe et Theme Builder : même axe vertical que les liens voisins.
 */
.et-fixed-header #top-menu > li.afiwai-dmh-item,
.et_pb_sticky .et-menu > li.afiwai-dmh-item,
.et_pb_menu--with-logo .et-menu > li.afiwai-dmh-item {
	align-items: stretch !important;
}

.et-fixed-header #top-menu > li.afiwai-dmh-item > a.afiwai-dmh-link,
.et_pb_sticky .et-menu > li.afiwai-dmh-item > a.afiwai-dmh-link,
.et_pb_menu--with-logo .et-menu > li.afiwai-dmh-item > a.afiwai-dmh-link {
	align-self: center !important;
}

/*
 * Sous-menus : ne pas étirer les boutons sur la hauteur du sous-menu.
 */
.et-menu .sub-menu li.afiwai-dmh-item,
#top-menu .sub-menu li.afiwai-dmh-item,
.et_pb_menu .sub-menu li.afiwai-dmh-item {
	display: block !important;
	height: auto !important;
}

.et-menu .sub-menu li.afiwai-dmh-item > a.afiwai-dmh-link,
#top-menu .sub-menu li.afiwai-dmh-item > a.afiwai-dmh-link,
.et_pb_menu .sub-menu li.afiwai-dmh-item > a.afiwai-dmh-link {
	display: flex !important;
	width: auto !important;
	margin-top: 4px !important;
	margin-bottom: 4px !important;
}

/*
 * Mobile : alignement horizontal et vertical cohérent avec les liens Divi.
 */
.et_mobile_menu li.afiwai-dmh-item,
.et_pb_menu .et_mobile_menu li.afiwai-dmh-item {
	display: block !important;
	height: auto !important;
}

.et_mobile_menu li.afiwai-dmh-item > a.afiwai-dmh-link,
.et_pb_menu .et_mobile_menu li.afiwai-dmh-item > a.afiwai-dmh-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: calc(100% - (var(--afiwai-dmh-margin-x) * 2));
	margin-top: 4px !important;
	margin-bottom: 4px !important;
}


/* ==========================================================================
   AFIWAI DMH 1.0 — Finitions de production
   ========================================================================== */

.afiwai-dmh-item {
	--afiwai-dmh-control-height: 40px;
}

.afiwai-dmh-item > .afiwai-dmh-link {
	min-height: var(--afiwai-dmh-control-height) !important;
	box-sizing: border-box !important;
	isolation: isolate;
	overflow: visible;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.afiwai-dmh-item > .afiwai-dmh-link::before {
	border-radius: inherit;
	z-index: -1;
}

.afiwai-dmh-item > .afiwai-dmh-link:hover {
	filter: none;
}

.afiwai-dmh-premium-glass > .afiwai-dmh-link {
	background:
		linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
		var(--afiwai-dmh-background) !important;
	border-color: rgba(255,255,255,.28) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.24),
		0 8px 24px rgba(15,23,42,.14) !important;
}

.afiwai-dmh-premium-neon > .afiwai-dmh-link {
	box-shadow:
		0 0 0 1px rgba(255,255,255,.18),
		0 8px 24px rgba(37,99,235,.28) !important;
}

.afiwai-dmh-premium-pulse > .afiwai-dmh-link {
	animation-name: afiwai-dmh-pulse-soft;
}

@keyframes afiwai-dmh-pulse-soft {
	0%, 100% { box-shadow: var(--afiwai-dmh-shadow); transform: scale(1); }
	50% { box-shadow: 0 10px 28px rgba(37,99,235,.24); transform: scale(1.018); }
}

.afiwai-dmh-badge {
	top: -7px;
	right: -8px;
	padding: 3px 7px;
	border-width: 1px;
	font-size: 9px;
	letter-spacing: .04em;
}

@media (max-width: 767px) {
	.afiwai-dmh-item {
		--afiwai-dmh-control-height: 42px;
	}
}


/* ==========================================================================
   AFIWAI DMH 1.0.3 — Effets appliqués au bouton et alignement manuel
   ========================================================================== */

.afiwai-dmh-item {
	--afiwai-dmh-hover-y: 0px;
	--afiwai-dmh-hover-scale: 1;
}

/* Le décalage manuel et les effets hover utilisent une transformation unique. */
.afiwai-dmh-item > .afiwai-dmh-link {
	transform:
		translateY(calc(var(--afiwai-dmh-offset-y, 0px) + var(--afiwai-dmh-hover-y, 0px)))
		scale(var(--afiwai-dmh-hover-scale, 1)) !important;
	transform-origin: center center;
}

/* Les anciens transforms directs sont neutralisés pour ne plus écraser le centrage. */
.afiwai-dmh-hover-lift > .afiwai-dmh-link:hover {
	--afiwai-dmh-hover-y: -2px;
	--afiwai-dmh-hover-scale: 1;
}

.afiwai-dmh-hover-scale > .afiwai-dmh-link:hover {
	--afiwai-dmh-hover-y: 0px;
	--afiwai-dmh-hover-scale: 1.025;
}

/* La couche visuelle est contenue dans la forme exacte du bouton. */
.afiwai-dmh-item > .afiwai-dmh-link::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	border-radius: inherit;
	clip-path: inset(0 round var(--afiwai-dmh-radius, 999px));
	pointer-events: none;
	background: transparent;
	transform: none;
	opacity: 1;
}

.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-label,
.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-icon {
	position: relative;
	z-index: 1;
}

/* Aucun effet générique imposé aux boutons sans effet premium. */
.afiwai-dmh-premium-none > .afiwai-dmh-link::before,
.afiwai-dmh-premium-glass > .afiwai-dmh-link::before,
.afiwai-dmh-premium-neon > .afiwai-dmh-link::before,
.afiwai-dmh-premium-pulse > .afiwai-dmh-link::before {
	background: transparent;
	animation: none;
}

/* Glass : effet contenu dans le bouton. */
.afiwai-dmh-premium-glass > .afiwai-dmh-link::before {
	background:
		linear-gradient(145deg, rgba(255,255,255,.28), rgba(255,255,255,.06) 48%, rgba(255,255,255,.12));
}

/* Néon : halo porté par la boîte du bouton. */
.afiwai-dmh-premium-neon > .afiwai-dmh-link {
	box-shadow:
		0 0 0 1px rgba(255,255,255,.18),
		0 0 14px rgba(37,99,235,.34),
		0 8px 24px rgba(15,23,42,.16) !important;
}

/* Brillance : le rayon respecte exactement le bouton. */
.afiwai-dmh-premium-shine > .afiwai-dmh-link::before {
	background:
		linear-gradient(
			115deg,
			transparent 0%,
			transparent 32%,
			rgba(255,255,255,.12) 42%,
			rgba(255,255,255,.58) 50%,
			rgba(255,255,255,.12) 58%,
			transparent 68%,
			transparent 100%
		);
	transform: translateX(-140%);
	animation: afiwai-dmh-shine-button var(--afiwai-dmh-premium-duration, 3s) ease-in-out infinite;
}

/* Dégradé animé : animation du fond réel du bouton. */
.afiwai-dmh-premium-animated-gradient > .afiwai-dmh-link {
	background: var(--afiwai-dmh-background) !important;
	background-size: 240% 240% !important;
	animation: afiwai-dmh-gradient-button var(--afiwai-dmh-premium-duration, 3s) ease infinite;
}

/* Bordure animée : anneau interne, sans déformer le fond du bouton. */
.afiwai-dmh-premium-border-flow > .afiwai-dmh-link {
	border-color: transparent !important;
	background:
		linear-gradient(var(--afiwai-dmh-background), var(--afiwai-dmh-background)) padding-box,
		linear-gradient(120deg, #22d3ee, #2563eb, #7c3aed, #22d3ee) border-box !important;
	background-size: 100% 100%, 260% 260% !important;
	animation: afiwai-dmh-border-button var(--afiwai-dmh-premium-duration, 3s) linear infinite;
}

/* Pulsation : conserve toujours le décalage vertical manuel. */
.afiwai-dmh-premium-pulse > .afiwai-dmh-link {
	animation: afiwai-dmh-pulse-button var(--afiwai-dmh-premium-duration, 3s) ease-in-out infinite;
}

@keyframes afiwai-dmh-shine-button {
	0%, 58% { transform: translateX(-140%); }
	100% { transform: translateX(140%); }
}

@keyframes afiwai-dmh-gradient-button {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

@keyframes afiwai-dmh-border-button {
	0% { background-position: 0 0, 0% 50%; }
	100% { background-position: 0 0, 260% 50%; }
}

@keyframes afiwai-dmh-pulse-button {
	0%, 100% {
		transform:
			translateY(calc(var(--afiwai-dmh-offset-y, 0px) + var(--afiwai-dmh-hover-y, 0px)))
			scale(1);
	}
	50% {
		transform:
			translateY(calc(var(--afiwai-dmh-offset-y, 0px) + var(--afiwai-dmh-hover-y, 0px)))
			scale(1.018);
	}
}

@media (max-width: 980px) and (min-width: 768px) {
	.afiwai-dmh-item > .afiwai-dmh-link {
		--afiwai-dmh-offset-y: var(--afiwai-dmh-tablet-offset-y, 0px);
	}
}

@media (max-width: 767px) {
	.afiwai-dmh-item > .afiwai-dmh-link {
		--afiwai-dmh-offset-y: var(--afiwai-dmh-mobile-offset-y, 0px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.afiwai-dmh-premium-shine > .afiwai-dmh-link::before,
	.afiwai-dmh-premium-animated-gradient > .afiwai-dmh-link,
	.afiwai-dmh-premium-border-flow > .afiwai-dmh-link,
	.afiwai-dmh-premium-pulse > .afiwai-dmh-link {
		animation: none !important;
	}
}


/* ==========================================================================
   AFIWAI DMH 1.2 — Moteur d'effets bornés au bouton
   ========================================================================== */
.afiwai-dmh-item > .afiwai-dmh-link {
	position: relative !important;
	isolation: isolate;
	overflow: visible !important;
	background: var(--afiwai-dmh-background) !important;
	background-clip: padding-box !important;
	gap: var(--afiwai-dmh-icon-gap, 8px) !important;
}

.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-label,
.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-icon,
.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-badge {
	position: relative;
	z-index: 3;
}

.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto;
	width: var(--afiwai-dmh-icon-size, 16px);
	height: var(--afiwai-dmh-icon-size, 16px);
	font-size: var(--afiwai-dmh-icon-size, 16px) !important;
	line-height: 1 !important;
	transform: translateY(var(--afiwai-dmh-icon-offset-y, 0px));
}

.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-icon .afiwai-dmh-svg {
	width: 100%;
	height: 100%;
}

.afiwai-dmh-item > .afiwai-dmh-link::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	display: block !important;
	border-radius: inherit !important;
	pointer-events: none !important;
	opacity: 1 !important;
	transform: none !important;
	clip-path: inset(0 round var(--afiwai-dmh-radius, 999px)) !important;
	background: transparent !important;
	animation: none !important;
}

.afiwai-dmh-premium-none > .afiwai-dmh-link::before {
	background: transparent !important;
}

.afiwai-dmh-premium-glass > .afiwai-dmh-link {
	background:
		linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.04)),
		var(--afiwai-dmh-background) !important;
	border-color: rgba(255,255,255,.28) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.28),
		0 8px 22px rgba(15,23,42,.14) !important;
}
.afiwai-dmh-premium-glass > .afiwai-dmh-link::before {
	background: linear-gradient(180deg, rgba(255,255,255,.18), transparent 46%) !important;
}

.afiwai-dmh-premium-neon > .afiwai-dmh-link {
	box-shadow:
		0 0 0 1px rgba(255,255,255,.15),
		0 0 10px rgba(37,99,235,.38),
		0 0 22px rgba(37,99,235,.20),
		0 8px 20px rgba(15,23,42,.12) !important;
}

.afiwai-dmh-premium-shine > .afiwai-dmh-link::before {
	background:
		linear-gradient(
			110deg,
			transparent 0%,
			transparent 34%,
			rgba(255,255,255,.08) 42%,
			rgba(255,255,255,.52) 50%,
			rgba(255,255,255,.08) 58%,
			transparent 66%,
			transparent 100%
		) !important;
	background-size: 240% 100% !important;
	background-position: 150% 0 !important;
	animation: afiwai-dmh-shine-contained var(--afiwai-dmh-premium-duration, 3s) ease-in-out infinite !important;
}

.afiwai-dmh-premium-animated-gradient > .afiwai-dmh-link {
	background:
		linear-gradient(
			120deg,
			var(--afiwai-dmh-gradient-start, #2563eb),
			var(--afiwai-dmh-gradient-end, #7c3aed),
			var(--afiwai-dmh-gradient-start, #2563eb)
		) !important;
	background-size: 220% 220% !important;
	animation: afiwai-dmh-gradient-contained var(--afiwai-dmh-premium-duration, 3s) ease infinite !important;
}

.afiwai-dmh-premium-border-flow > .afiwai-dmh-link {
	border: max(1px, var(--afiwai-dmh-border-width, 1px)) solid transparent !important;
	background:
		linear-gradient(
			var(--afiwai-dmh-background-solid, #2563eb),
			var(--afiwai-dmh-background-solid, #2563eb)
		) padding-box,
		linear-gradient(
			120deg,
			var(--afiwai-dmh-gradient-start, #22d3ee),
			var(--afiwai-dmh-gradient-end, #7c3aed),
			var(--afiwai-dmh-gradient-start, #22d3ee)
		) border-box !important;
	background-size: 100% 100%, 220% 220% !important;
	animation: afiwai-dmh-border-contained var(--afiwai-dmh-premium-duration, 3s) linear infinite !important;
}

.afiwai-dmh-premium-pulse > .afiwai-dmh-link {
	animation: afiwai-dmh-pulse-contained var(--afiwai-dmh-premium-duration, 3s) ease-in-out infinite !important;
}

@keyframes afiwai-dmh-shine-contained {
	0%, 55% { background-position: 150% 0; }
	100% { background-position: -150% 0; }
}
@keyframes afiwai-dmh-gradient-contained {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}
@keyframes afiwai-dmh-border-contained {
	0% { background-position: 0 0, 0% 50%; }
	100% { background-position: 0 0, 220% 50%; }
}
@keyframes afiwai-dmh-pulse-contained {
	0%, 100% {
		transform:
			translateY(calc(var(--afiwai-dmh-offset-y, 0px) + var(--afiwai-dmh-hover-y, 0px)))
			scale(var(--afiwai-dmh-hover-scale, 1)) !important;
		box-shadow: var(--afiwai-dmh-shadow) !important;
	}
	50% {
		transform:
			translateY(calc(var(--afiwai-dmh-offset-y, 0px) + var(--afiwai-dmh-hover-y, 0px)))
			scale(1.018) !important;
		box-shadow: 0 10px 26px rgba(37,99,235,.23) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.afiwai-dmh-premium-shine > .afiwai-dmh-link::before,
	.afiwai-dmh-premium-animated-gradient > .afiwai-dmh-link,
	.afiwai-dmh-premium-border-flow > .afiwai-dmh-link,
	.afiwai-dmh-premium-pulse > .afiwai-dmh-link {
		animation: none !important;
	}
}


/* ==========================================================================
   AFIWAI DMH 1.2.1 — Alignement vertical réel des icônes
   ========================================================================== */

/*
 * Le réglage d'alignement vertical est appliqué directement à la boîte
 * de l'icône avec `top`, afin de ne pas entrer en conflit avec les
 * transformations utilisées pour les effets du bouton.
 */
.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-icon {
	position: relative !important;
	top: var(--afiwai-dmh-icon-offset-y, 0px) !important;
	transform: none !important;
	vertical-align: middle !important;
	align-self: center !important;
}

/* SVG : suppression des décalages de baseline internes. */
.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-icon .afiwai-dmh-svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
}

/* Icône texte / caractère personnalisé. */
.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-icon:not(:has(.afiwai-dmh-svg)) {
	line-height: 1 !important;
}

/* Le texte conserve une boîte stable pour que l'icône s'aligne dessus. */
.afiwai-dmh-item > .afiwai-dmh-link > .afiwai-dmh-label {
	display: inline-flex !important;
	align-items: center !important;
	line-height: 1.2 !important;
}
