.avf-simulateur {
	max-width: 40em;
}
.avf-simulateur .avf-sim-bloc {
	margin: 0 0 1.4em;
}
.avf-simulateur h3 {
	font-family: "Arial Black", Arial, sans-serif;
	font-size: 12pt;
	color: #800000;
	margin: 0 0 0.4em;
	line-height: 1.3;
}
.avf-simulateur .avf-sim-ligne {
	display: grid;
	grid-template-columns: 11em 1fr;
	align-items: center;
	column-gap: 0.8em;
	font-family: "Arial Black", Arial, sans-serif;
	font-size: 12pt;
	color: navy;
}
.avf-simulateur .avf-sim-libelle {
	color: navy;
}
.avf-simulateur input[type="number"],
.avf-simulateur input[type="range"] {
	width: 12em;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	font: inherit;
	font-family: Arial, sans-serif;
}
.avf-simulateur input[type="number"] {
	padding: 0.3em 0.5em;
}
.avf-simulateur .avf-sim-radios label {
	margin-right: 1.5em;
	color: navy;
	font: inherit;
}
.avf-simulateur .avf-sim-radios input {
	margin: 0 0.3em 0 0;
	vertical-align: middle;
}
.avf-sim-aide {
	position: relative;
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	line-height: 1.2em;
	text-align: center;
	border-radius: 50%;
	border: 1px solid #800000;
	color: #800000;
	font-family: Arial, sans-serif;
	font-size: 0.7em;
	font-weight: normal;
	vertical-align: middle;
	cursor: help;
	outline: none;
}
.avf-sim-aide::after {
	content: attr(data-aide);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 0.5em);
	transform: translateX(-50%);
	background: #333;
	color: #fff;
	font-size: 1.3em;
	line-height: 1.3;
	padding: 0.4em 0.7em;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s;
	z-index: 10;
	pointer-events: none;
}
.avf-sim-aide:hover::after,
.avf-sim-aide:focus::after,
.avf-sim-aide.est-ouvert::after {
	opacity: 1;
	visibility: visible;
}
.avf-simulateur .avf-sim-total output {
	font-size: 1.4em;
}
.avf-simulateur .avf-sim-actions {
	margin: 0;
}
@media (max-width: 480px) {
	.avf-simulateur .avf-sim-ligne {
		grid-template-columns: 1fr;
		row-gap: 0.3em;
	}
}
