.hvl-cm {
	--cm-ink: var(--e-global-color-text, #14161d);
	--cm-mute: var(--e-global-color-gris, #6a6f7d);
	--cm-brand: var(--e-global-color-primary, #08739f);
	border-radius: 20px;
	padding: 20px;
	background: var(--e-global-color-azur_50, #eef8fd);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cm-brand) 18%, transparent);
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	letter-spacing: normal;
}

.hvl-cm__t {
	margin: 0 0 8px;
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.015em;
	color: var(--cm-ink);
}

.hvl-cm__p {
	margin: 0 0 16px;
	max-width: 56ch;
	font-size: 15px;
	line-height: 1.6;
	color: var(--cm-mute);
}

.hvl-cm__btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	border: 0;
	border-radius: 10px;
	padding: 12px 18px;
	font-family: inherit;
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--e-global-color-blanc, #fff);
	background: var(--cm-brand);
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.hvl-cm__btn:hover {
	transform: translateY(-1px);
	background: var(--e-global-color-azur_700, #075c7f);
}

.hvl-cm__btn:focus-visible {
	outline: 2px solid var(--cm-ink);
	outline-offset: 2px;
}

.hvl-cm__btn i {
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--e-global-color-blanc, #fff);
	opacity: 0.85;
}

@media (prefers-reduced-motion: reduce) {
	.hvl-cm__btn,
	.hvl-cm__btn:hover {
		transform: none;
	}
}

.hvl-cm__state {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-top: 16px;
	border-radius: 16px;
	padding: 16px 18px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--cm-mute);
	background: var(--e-global-color-blanc, #fff);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cm-brand) 18%, transparent);
}

.hvl-cm__state[hidden] {
	display: none;
}

.hvl-cm__state p {
	margin: 0;
	max-width: 56ch;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.hvl-cm__state p + p {
	margin-top: 10px;
}

.hvl-cm__state strong {
	font-weight: 600;
	color: var(--cm-ink);
}

.hvl-cm__state:focus-visible {
	outline: 2px solid var(--cm-brand);
	outline-offset: 2px;
}
