.hvl-pcf {
	--pcf-ink: var(--e-global-color-text, #14161d);
	--pcf-mute: var(--e-global-color-gris, #6a6f7d);
	--pcf-ring: rgba(20, 22, 29, 0.09);
	border-radius: 20px;
	background: var(--e-global-color-blanc, #fff);
	box-shadow: inset 0 0 0 1px var(--pcf-ring);
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	letter-spacing: normal;
}

.hvl-pcf--card {
	padding: 6px 20px;
}

.hvl-pcf--role {
	height: 100%;
	padding: 18px 18px 6px;
}

/* La grille des rôles bascule à 700px comme la maquette : Elementor ne
   déclare pas ce point de rupture, il reste donc dans la feuille du widget. */
.e-con.hvl-pc-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

@media (min-width: 700px) {
	.e-con.hvl-pc-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

.hvl-pcf__role {
	margin: 0 0 4px;
	font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 11.5px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--e-global-color-primary, #08739f);
}

.hvl-pcf__name {
	margin: 0 0 4px;
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.015em;
	color: var(--pcf-ink);
}

.hvl-pcf__dl {
	margin: 0;
}

.hvl-pcf__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px;
	padding: 14px 0;
}

.hvl-pcf__row + .hvl-pcf__row {
	border-top: 1px solid rgba(20, 22, 29, 0.07);
}

.hvl-pcf--role .hvl-pcf__row {
	padding: 11px 0;
}

@media (min-width: 620px) {
	.hvl-pcf--card .hvl-pcf__row {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
		gap: 16px;
		align-items: baseline;
	}
}

.hvl-pcf dt {
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.45;
	color: var(--pcf-ink);
}

.hvl-pcf dd {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--pcf-mute);
	overflow-wrap: anywhere;
}

.hvl-pcf dd .hvl-pc-todo {
	overflow-wrap: normal;
}

.hvl-pcf dd .hvl-pcf__note {
	display: block;
	margin-top: 3px;
	font-size: 13.5px;
	line-height: 1.45;
	color: rgba(20, 22, 29, 0.45);
}

.hvl-pcf dd a {
	color: var(--e-global-color-primary, #08739f);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.hvl-pcf dd a:hover {
	color: var(--e-global-color-azur_700, #075c7f);
}

.hvl-pcf dd a:focus-visible {
	outline: 2px solid var(--e-global-color-primary, #08739f);
	outline-offset: 2px;
}
