	/* Custom style for Achat-Revente Simulator */
	body {
		background-color: #f4f7f6 !important;
	}

	#simulateur {
		min-height: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		width: 100% !important;
		padding: 2px 0 0 0 !important;
		box-sizing: border-box !important;
	}

	.ar-container {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 40px !important;
		display: grid !important;
		grid-template-columns: 1fr 1fr 1fr !important;
		gap: 30px !important;
		box-sizing: border-box !important;
		align-items: start !important;
	}

	@media (max-width: 1200px) {
		.ar-container {
			grid-template-columns: 1fr 1fr !important;
			padding: 0 20px !important;
			gap: 20px !important;
			align-items: start !important;
			margin: 10px auto !important;
		}
	}

	@media (max-width: 768px) {
		.ar-container {
			/* minmax(0, 1fr) : la colonne ne doit pas s'élargir au contenu (titres d'étapes en nowrap),
			   sinon les blocs dépassent à droite et l'écart droit n'est plus égal à l'écart gauche */
			grid-template-columns: minmax(0, 1fr) !important;
			padding: 0 10px !important;
			gap: 15px !important;
			align-items: start !important;
			margin: 10px auto !important;
		}
		.ar-column {
			min-width: 0 !important;
		}
	}

	.ar-column {
		display: flex !important;
		flex-direction: column !important;
		gap: 5px !important;
	}

	/* Cards & Steps styling */
	.step-card {
		background-color: #ffffff !important;
		border-radius: 8px !important;
		box-shadow: none !important;
		overflow: hidden !important;
		border: 1px solid #cbd5e1 !important;
	}

	.step-header {
		color: #ffffff !important;
		font-family: "Albert Sans", "Inter", sans-serif !important;
		font-weight: 700 !important;
		font-size: 11.5px !important;
		text-transform: uppercase !important;
		height: 20px !important;
		display: flex !important;
		align-items: center !important;
		padding: 0 !important;
		border-radius: 4px 4px 0 0 !important;
	}

	.step-num {
		padding: 0 8px !important;
		height: 75% !important;
		align-self: center !important;
		display: flex !important;
		align-items: center !important;
		border-right: 2px solid #ffffff !important;
		background: none !important;
		border-radius: 0 !important;
		font-size: 11.5px !important;
		font-weight: 800 !important;
		margin: 0 !important;
		width: 72px !important;
		box-sizing: border-box !important;
	}

	/* Le mot 'ETAPE 1' ne s'aligne pas et garde sa largeur automatique */
	.sb-1 .step-num {
		width: auto !important;
	}

	.step-title {
		padding-left: 8px !important;
		font-weight: 400 !important;
		font-size: 11px !important;
	}

	/* Step Header Colors */
	.sh-1 { background-color: #d99f2a !important; }
	.sh-2 { background-color: #a6852d !important; }
	.sh-3 { background-color: #1b7b7a !important; }
	.sh-4 { background-color: #4c9597 !important; }
	.sh-5 { background-color: #2c6db5 !important; }
	.sh-6 { background-color: #896e2e !important; }
	.sh-7 { background-color: #2c6db5 !important; }
	.sh-8 { background-color: #1d4582 !important; }

	/* Borders for step cards */
	.sb-1 { border-color: #d99f2a !important; }
	.sb-2 { border-color: #a6852d !important; }
	.sb-3 { border-color: #1b7b7a !important; }
	.sb-4 { border-color: #4c9597 !important; }
	.sb-5 { border-color: #2c6db5 !important; }
	.sb-6 { border-color: #896e2e !important; }
	.sb-7 { border-color: #2c6db5 !important; }
	.sb-8 { border-color: #1d4582 !important; }

	.step-content {
		padding: 3px 8px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 2px !important;
	}

	.form-row {
		display: grid !important;
		grid-template-columns: 1fr 100px !important; /* Text on left, field on right */
		align-items: center !important;
		gap: 6px !important;
		position: relative !important;
	}

	.form-row label {
		font-family: "Albert Sans", "Inter", sans-serif !important;
		font-size: 10px !important;
		font-weight: 600 !important;
		color: #334155 !important;
		text-transform: uppercase !important;
		margin: 0 !important;
		text-align: right !important; /* Align labels to the right */
		justify-self: end !important;
		line-height: 1.15 !important;
	}

	/* Integrated input and tooltip group (fused) */
	.input-group-merged {
		display: flex !important;
		position: relative !important;
		width: 100px !important;
		height: 19px !important;
		align-items: center !important;
	}

	.input-group-merged input {
		flex-grow: 1 !important;
		width: 100% !important;
		height: 19px !important;
		border: 1px solid #cbd5e1 !important;
		border-right: none !important; /* Fused with tooltip button */
		border-radius: 4px 0 0 4px !important;
		padding: 0 20px 0 4px !important; /* Room for absolute suffix */
		font-size: 10px !important;
		text-align: right !important;
		box-sizing: border-box !important;
		background: #ffffff !important;
		margin: 0 !important;
	}

	.input-group-merged input:focus {
		border-color: #3182ce !important;
		outline: none !important;
	}

	.input-group-merged .suffix {
		position: absolute !important;
		right: 18px !important; /* Shifted left of the tooltip button */
		font-size: 9px !important;
		color: #64748b !important;
		pointer-events: none !important;
		z-index: 3 !important;
	}

	.input-group-merged:not(:has(.tooltipss)) input {
		border-right: 1px solid #cbd5e1 !important;
		border-radius: 4px !important;
	}

	.input-group-merged:not(:has(.tooltipss)) .suffix {
		right: 6px !important;
	}

	/* Tooltip styles to match main simulator */
	.input-group-merged .tooltipss {
		position: static !important;
		display: flex !important;
		align-items: center !important;
		height: 19px !important;
		margin: 0 !important;
		padding: 0 !important;
		z-index: 5 !important;
	}

	.input-group-merged .tootltipButton {
		width: 14px !important;
		height: 19px !important;
		min-width: 14px !important;
		max-width: 14px !important;
		border-radius: 0 4px 4px 0 !important; /* Rounded on right only */
		background: linear-gradient(to bottom, #fafcfd 0%, #d7dfe4 100%) !important;
		border: 1px solid #cbd5e1 !important;
		border-left: none !important; /* Fused with input */
		margin: 0 !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		cursor: pointer !important;
		box-sizing: border-box !important;
		transition: background 0.2s ease, transform 0.2s ease !important;
	}

	.input-group-merged .tootltipButton:hover {
		background: linear-gradient(to bottom, #f0f4f7 0%, #c4cbd1 100%) !important;
		transform: scale(1.05) !important;
	}

	.input-group-merged .tootltipButton img {
		display: none !important; /* Hide image */
	}

	.input-group-merged .tootltipButton::after {
		content: "i" !important;
		color: #82aab8 !important;
		font-family: "Albert Sans", "Inter", sans-serif !important;
		font-weight: bold !important;
		font-style: italic !important;
		font-size: 12px !important;
		line-height: 1 !important;
		display: block !important;
	}

	/* Right Side Panels */
	.side-panel {
		display: flex !important;
		flex-direction: column !important;
		gap: 5px !important;
	}

	.tax-box {
		background-color: #0c5975 !important;
		border-radius: 6px !important;
		padding: 5px 8px !important;
		color: #ffffff !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 3px !important;
	}

	.tax-row {
		display: flex !important;
		justify-content: flex-end !important;
		gap: 6px !important;
		align-items: center !important;
		position: relative !important;
	}

	.tax-row label {
		font-family: "Albert Sans", sans-serif !important;
		font-size: 10px !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		margin: 0 !important;
	}

	.tax-row input {
		width: 72px !important;
		height: 19px !important;
		border: 1px solid rgba(255,255,255,0.4) !important;
		background-color: rgba(255,255,255,0.1) !important;
		color: #ffffff !important;
		text-align: right !important;
		border-radius: 4px !important;
		font-size: 10px !important;
		padding-right: 14px !important;
	}

	.tax-row-nested {
		display: flex !important;
		justify-content: flex-end !important;
		gap: 6px !important;
		align-items: center !important;
		position: relative !important;
	}

	.tax-row-nested label {
		font-family: "Albert Sans", sans-serif !important;
		font-size: 9.5px !important;
		color: rgba(255,255,255,0.8) !important;
		margin: 0 !important;
	}

	.tax-row-nested input {
		width: 62px !important;
		height: 17px !important;
		border: 1px solid rgba(255,255,255,0.3) !important;
		background-color: rgba(255,255,255,0.05) !important;
		color: #ffffff !important;
		text-align: right !important;
		border-radius: 4px !important;
		font-size: 9.5px !important;
		padding-right: 14px !important;
	}

	.result-card {
		border: 2px solid #0e527d !important;
		border-radius: 8px !important;
		overflow: hidden !important;
		background-color: #ffffff !important;
	}

	.result-header {
		background-color: #0e527d !important;
		color: #ffffff !important;
		font-family: "Albert Sans", sans-serif !important;
		font-weight: 700 !important;
		font-size: 11px !important;
		height: 20px !important;
		padding: 0 6px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		text-transform: uppercase !important;
	}

	.result-content {
		display: flex !important;
		flex-direction: column !important;
	}

	.result-row {
		display: grid !important;
		grid-template-columns: 1fr 100px !important;
		align-items: center !important;
		padding: 2px 8px !important;
		border-bottom: 1px solid #e2e8f0 !important;
	}

	.result-row:last-child {
		border-bottom: none !important;
	}

	/* Row Colors from screenshot */
	.rr-1 { background-color: rgba(14, 82, 125, 0.08) !important; }
	.rr-2 { background-color: rgba(117, 85, 59, 0.08) !important; }
	.rr-3 { background-color: rgba(14, 82, 125, 0.04) !important; }
	.rr-4 { background-color: rgba(117, 85, 59, 0.04) !important; }
	.rr-5 { background-color: rgba(186, 61, 23, 0.12) !important; }
	.rr-6 { background-color: rgba(186, 61, 23, 0.08) !important; }
	.rr-7 { background-color: rgba(103, 79, 138, 0.12) !important; }

	.result-row label {
		font-size: 10px !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		color: #2d3748 !important;
		text-align: right !important;
		padding-right: 8px !important;
	}

	.result-row .input-group-merged input {
		font-weight: bold !important;
	}

	.ar-range-slider {
		-webkit-appearance: none !important;
		appearance: none !important;
		height: 3px !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 2px !important;
		background: #cbd5e1 !important;
		outline: none !important;
	}

	.ar-range-slider::-webkit-slider-thumb {
		-webkit-appearance: none !important;
		appearance: none !important;
		width: 12px !important;
		height: 12px !important;
		border-radius: 50% !important;
		background: #01677d !important;
		cursor: pointer !important;
		border: none !important;
		box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
		transition: background 0.15s ease-in-out !important;
	}

	.ar-range-slider::-webkit-slider-thumb:hover {
		background: #014c5c !important;
	}

	.ar-range-slider::-moz-range-thumb {
		width: 12px !important;
		height: 12px !important;
		border-radius: 50% !important;
		background: #01677d !important;
		cursor: pointer !important;
		border: none !important;
		box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
		transition: background 0.15s ease-in-out !important;
	}

	.ar-range-slider::-moz-range-thumb:hover {
		background: #014c5c !important;
	}

	/* Styling for rabbit icon inside information modal headers (2x larger) to match Simulateur de Rentabilité */
	.rabbit-modal-icon {
		height: 64px !important;
		width: auto !important;
		max-height: 64px !important;
		object-fit: contain !important;
		display: inline-block !important;
		vertical-align: middle !important;
		margin-right: 12px !important;
		flex-shrink: 0 !important;
	}

	.modalInformation .modal-header {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		flex-shrink: 0 !important;
		padding: 10px 15px !important;
		background-color: #2F6975 !important;
		color: #f2f2f2 !important;
	}

	.modalInformation .modal-title {
		margin: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		font-size: 20px !important;
		font-weight: bold !important;
		color: #ffffff !important;
	}

	/* Round yellow collapse/expand button wrapper */
	.accordion-button-wrapper {
		width: 20px !important;
		height: 20px !important;
		min-width: 20px !important;
		max-width: 20px !important;
		border-radius: 50% !important;
		background-color: #fde8ad !important; /* Soft yellow matching screenshots */
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin-right: 6px !important;
		transition: transform 0.2s ease, background-color 0.2s ease !important;
		flex-shrink: 0 !important;
	}

	.accordion-button-wrapper:hover {
		background-color: #fcd980 !important;
	}

	/* Downward/upward small chevron arrow using border */
	.accordion-arrow {
		border: solid #555 !important;
		border-width: 0 1.5px 1.5px 0 !important;
		display: inline-block !important;
		padding: 2.5px !important;
		transform: rotate(-45deg) !important;
		transition: transform 0.2s ease !important;
		margin-top: 0px !important;
	}

	/* Rotate arrow when collapsed/expanded */
	.accordion-button-wrapper.collapsed .accordion-arrow {
		transform: rotate(-45deg) !important;
		margin-top: 0px !important;
	}

	.accordion-button-wrapper:not(.collapsed) .accordion-arrow {
		transform: rotate(45deg) !important;
		margin-top: -3px !important;
	}

	/* Les blocs ne sont plus figés dans l'espace : hauteur flexible et fluide */
	.step-slot {
		position: relative !important;
		width: 100% !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		flex-shrink: 0 !important;
		min-height: 0 !important;
		height: auto !important;
	}

	.sh-taux {
		background-color: #0c5975 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
	}

	.sb-taux {
		border-color: #0c5975 !important;
		background-color: #0c5975 !important;
	}

	.step-num-taux {
		width: auto !important;
		padding: 0 8px !important;
		border-right: none !important;
		font-size: 11.5px !important;
		font-weight: 800 !important;
	}

	.tax-box-content {
		padding: 0 !important;
		background-color: #0c5975 !important;
	}

	.tax-box-content .tax-box {
		border-radius: 0 0 6px 6px !important;
		border: none !important;
	}

	.step-collapsible-header {
		cursor: pointer !important;
		user-select: none !important;
		-webkit-user-select: none !important;
		transition: filter 0.15s ease !important;
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		padding-right: 6px !important;
	}

	.step-collapsible-header:hover {
		filter: brightness(1.08) !important;
	}

	.step-collapsible-header .step-num {
		width: auto !important;
		min-width: 52px !important;
		padding: 0 6px !important;
		flex-shrink: 0 !important;
		white-space: nowrap !important;
		font-size: 11.5px !important;
	}

	.step-collapsible-header .step-title {
		font-size: 11px !important;
		white-space: nowrap !important;
		flex-shrink: 0 !important;
		padding-left: 4px !important;
		letter-spacing: -0.15px !important;
	}

	.sh-6 .step-title {
		font-size: 9.8px !important;
		letter-spacing: -0.25px !important;
	}

	.step-subtitle {
		font-size: 10.8px !important;
		font-weight: 400 !important;
		font-style: italic !important;
		text-transform: none !important;
		letter-spacing: -0.15px !important;
		opacity: 0.9 !important;
		margin-left: auto !important;
		margin-right: 6px !important;
		white-space: nowrap !important;
		font-family: "Albert Sans", sans-serif !important;
		flex-shrink: 1 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}


	/* Step card collapsible styling */
	.step-card.collapsible-card {
		transition: max-height 0.25s ease, border-radius 0.2s ease !important;
		overflow: hidden !important;
	}

	.step-card.collapsible-card.is-collapsed {
		border-radius: 4px !important;
		height: 26px !important;
		max-height: 26px !important;
	}

	.step-card.collapsible-card.is-collapsed .step-header {
		border-radius: 3px !important;
	}

	.step-card.collapsible-card.is-collapsed .step-content {
		display: none !important;
	}

	.step-collapsible-header {
		cursor: pointer !important;
		user-select: none !important;
		-webkit-user-select: none !important;
		transition: filter 0.15s ease !important;
	}

	.step-collapsible-header:hover {
		filter: brightness(1.08) !important;
	}

	.step-toggle-icon {
		margin-left: auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 16px !important;
		height: 16px !important;
		min-width: 16px !important;
		border-radius: 50% !important;
		background-color: rgba(255, 255, 255, 0.25) !important;
		transition: background-color 0.2s ease, transform 0.2s ease !important;
		margin-right: 8px !important;
		flex-shrink: 0 !important;
	}

	.step-collapsible-header:hover .step-toggle-icon {
		background-color: rgba(255, 255, 255, 0.45) !important;
	}

	.step-chevron {
		border: solid #ffffff !important;
		border-width: 0 1.5px 1.5px 0 !important;
		display: inline-block !important;
		padding: 2.5px !important;
		transition: transform 0.2s ease !important;
	}

	/* When collapsed: chevron points right (rotate -45deg) */
	.step-card.is-collapsed .step-chevron {
		transform: rotate(-45deg) !important;
		margin-left: -2px !important;
		margin-top: 0px !important;
	}

	/* When expanded: chevron points down (rotate 45deg) */
	.step-card:not(.is-collapsed) .step-chevron {
		transform: rotate(45deg) !important;
		margin-top: -2px !important;
		margin-left: 0px !important;
	}

	.p4-collapsible-row.d-none {
		display: none !important;
	}

	/* Sélecteurs horizontaux en POPUP Achat-Revente (visibles uniquement au clic, comme dans Ma Mensualité Emprunt Express) */
	.input-group-merged:has(.ar-slider-popup) {
		position: relative !important;
		overflow: visible !important;
	}

	.step-card:has(.ar-slider-popup),
	.step-content:has(.ar-slider-popup),
	.result-card:has(.ar-slider-popup),
	.results-card:has(.ar-slider-popup),
	.results-body:has(.ar-slider-popup),
	.form-row:has(.ar-slider-popup),
	.result-row:has(.ar-slider-popup) {
		overflow: visible !important;
	}

	.form-row:has(.ar-slider-popup:not([style*="display: none"])),
	.result-row:has(.ar-slider-popup:not([style*="display: none"])),
	.step-card:has(.ar-slider-popup:not([style*="display: none"])),
	.result-card:has(.ar-slider-popup:not([style*="display: none"])),
	.results-card:has(.ar-slider-popup:not([style*="display: none"])) {
		z-index: 50000 !important;
		position: relative !important;
	}

	.ar-slider-popup {
		position: absolute !important;
		top: calc(100% + 4px) !important;
		right: 0 !important;
		width: 190px !important;
		background: #ffffff !important;
		border: 2px solid #2F6975 !important;
		border-radius: 8px !important;
		padding: 8px 10px !important;
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
		z-index: 99999 !important;
		box-sizing: border-box !important;
	}

	.ar-range-slider {
		accent-color: #2F6975 !important;
		cursor: pointer !important;
		height: 6px !important;
		width: 100% !important;
		margin: 4px 0 0 0 !important;
	}

/* Ligne supérieure Achat-Revente : Guide à gauche, Titre au centre */
.ar-top-header-row {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 40px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 30px !important;
	box-sizing: border-box !important;
	align-items: start !important;
	margin: 4px 0 6px 0 !important;
	min-height: 155px !important;
}

.ar-top-header-col {
	min-width: 0 !important;
}

.ar-top-header-left {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	min-height: 155px !important;
	position: relative !important;
}

.ar-top-header-center {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 155px !important;
}

.ar-top-header-right {
	display: flex !important;
	align-items: center !important;
	min-height: 155px !important;
}

.ar-top-header-left .ar-guide-box {
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 4px 10px !important;
	border-radius: 7px !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	z-index: 50 !important;
}

.ar-top-header-left .ar-guide-title {
	font-size: 10.5px !important;
	font-weight: 800 !important;
	letter-spacing: 0.5px !important;
}

.ar-top-header-left .ar-guide-header {
	min-height: 18px !important;
}

@media (max-width: 1200px) {
	.ar-top-header-row {
		grid-template-columns: 1fr 1fr !important;
		padding: 0 20px !important;
		gap: 20px !important;
	}
	.ar-top-header-right {
		display: none !important;
	}
}

/* Téléphone : mise en page alignée sur MA CAPACITÉ D'EMPRUNT (titre collé en haut à 15px du bandeau,
   bloc INFOS SUR LA PAGE pleine largeur sous le titre, sans hauteur minimale de bureau) */
@media (max-width: 768px) {
	.ar-top-header-row {
		display: flex !important;
		flex-direction: column !important;
		/* Écart titre → INFOS SUR LA PAGE = marge basse du bandeau de titre de Capacité d'emprunt (25px) */
		gap: 25px !important;
		/* #simulateur ajoute déjà 2px de padding haut : 13px + 2px = 15px, comme .header-bandeau */
		margin: 13px 0 0 0 !important;
		padding: 0 15px !important;
		align-items: center !important;
		min-height: 0 !important;
	}
	.ar-top-header-center,
	.ar-top-header-left {
		min-height: 0 !important;
		width: 100% !important;
	}
	.ar-top-header-center {
		order: 1 !important;
	}
	.ar-top-header-left {
		order: 2 !important;
		display: block !important;
	}

	/* Bloc INFOS SUR LA PAGE : même format que .ce-guide-box (dans le flux, pleine largeur) */
	.ar-top-header-left .ar-guide-box {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: 1116px !important;
		margin: 0 auto 15px auto !important;
		padding: 12px 14px !important;
		border-radius: 8px !important;
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
	}
	.ar-top-header-left .ar-guide-header {
		min-height: 0 !important;
	}
	.ar-top-header-left .ar-guide-title {
		font-size: 12px !important;
		line-height: 1.2 !important;
		text-align: left !important;
	}
	.ar-top-header-left .ar-guide-title i {
		font-size: 13px !important;
		color: #27ae60 !important;
	}
	.ar-top-header-left .ar-guide-list {
		gap: 7px !important;
	}
	.ar-top-header-left .ar-guide-item {
		font-size: 11px !important;
	}
	.ar-top-header-left .ar-guide-bullet {
		width: 6px !important;
		height: 6px !important;
		min-width: 6px !important;
		border-radius: 0 !important;
		background-color: #6da37d !important;
		margin-top: 5px !important;
	}
	.ar-top-header-left .ar-guide-text {
		flex: 1 !important;
		text-align: left !important;
	}
}

/* Saisie progressive dans le simulateur Achat-Revente (Illusion de simplicité) */
.ar-step-active {
	display: block !important;
	opacity: 1 !important;
	filter: none !important;
	pointer-events: auto !important;
	user-select: auto !important;
	transition: opacity 0.35s ease, filter 0.35s ease !important;
}

.ar-step-locked {
	display: block !important;
	opacity: 0.6 !important;
	filter: grayscale(20%) !important;
	pointer-events: none !important;
	user-select: none !important;
	transition: opacity 0.35s ease, filter 0.35s ease !important;
}

.ar-step-locked input,
.ar-step-locked select,
.ar-step-locked button,
.ar-step-locked label,
.ar-step-locked .step-collapsible-header {
	pointer-events: none !important;
	cursor: not-allowed !important;
}

.ar-step-hidden {
	display: none !important;
}

/* Guide Banner INFOS SUR LA PAGE (Style Simulateur de Rentabilité) */
.ar-guide-box {
	background-color: #f2fbf4 !important;
	border: 1.5px solid #7bb388 !important;
	border-radius: 8px !important;
	padding: 12px 18px !important;
	margin: 0 auto 20px auto !important;
	width: 100% !important;
	max-width: 1110px !important;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04) !important;
	font-family: 'Albert Sans', 'Inter', sans-serif !important;
	box-sizing: border-box !important;
	color: #2d3748 !important;
	text-align: left !important;
	transition: all 0.3s ease !important;
}
.ar-guide-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 6px !important;
	margin-bottom: 8px !important;
	padding-bottom: 6px !important;
	border-bottom: 1px solid rgba(123, 179, 136, 0.35) !important;
	cursor: pointer !important;
	user-select: none !important;
}
.ar-guide-header.collapsed {
	border-bottom: none !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.ar-guide-title {
	font-size: 12px !important;
	font-weight: 800 !important;
	color: #135438 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}
.ar-guide-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}
.ar-guide-item {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	font-size: 11.5px !important;
	line-height: 1.45 !important;
	color: #2d3748 !important;
}
.ar-guide-bullet {
	display: inline-block !important;
	width: 5px !important;
	height: 5px !important;
	border-radius: 50% !important;
	background-color: #7bb388 !important;
	margin-top: 6px !important;
	flex-shrink: 0 !important;
}
/* Mini champ visuel (jaune + astérisque + bouton i) illustrant les champs obligatoires */
.ar-guide-input {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	width: 62px;
	height: 18px;
	border: 1px solid #ccc;
	border-radius: 4px;
	vertical-align: middle;
	margin: 0 4px;
	box-sizing: border-box;
}
.ar-guide-input.is-yellow {
	background-color: #fff6c3;
}
.ar-guide-input.is-white {
	background-color: #ffffff;
}
/* Variante "Gain dans la poche" : champ plus large avec valeur "? €" */
.ar-guide-input.is-gain {
	width: 70px;
}
.ar-guide-input .mini-value {
	flex: 1;
	text-align: center;
	color: #4a154b;
	font-weight: bold;
	font-size: 10px;
	line-height: 1;
}
.ar-guide-gain {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	vertical-align: middle;
	margin-left: 4px;
}
.ar-guide-gain-icon {
	height: 14px;
	width: auto;
}
.ar-guide-input .mini-asterisk {
	position: absolute;
	left: 4px;
	top: 1px;
	color: #d0021b;
	font-weight: bold;
	font-size: 11px;
	line-height: 1;
	pointer-events: none;
}
.ar-guide-input .mini-info-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 13px;
	height: 100%;
	background: linear-gradient(to bottom, #fafcfd 0%, #d7dfe4 100%);
	border-left: 1px solid #ccc;
	border-radius: 0 3px 3px 0;
	color: #82aab8;
	font-weight: bold;
	font-style: italic;
	font-size: 10px;
	line-height: 1;
	margin-left: auto;
}
.ar-guide-box .guide-toggle-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 22px !important;
	color: #135438 !important;
	font-size: 14px !important;
	transition: transform 0.25s ease !important;
}
.ar-guide-header.collapsed .guide-toggle-icon,
.ar-guide-header[aria-expanded="false"] .guide-toggle-icon {
	transform: rotate(0deg) !important;
}
.ar-guide-header:not(.collapsed) .guide-toggle-icon,
.ar-guide-header[aria-expanded="true"] .guide-toggle-icon {
	transform: rotate(180deg) !important;
}

/* ============================================================================
   Classes remplaçant les anciens attributs style= des templates.
   :is(.classe, #_#_#_) donne à la règle la spécificité de 3 id (le second sélecteur ne
   correspond à rien) : comme le style inline qu'elle remplace, elle l'emporte sur les
   règles normales des autres feuilles, mais pas sur leurs !important ni sur element.style.
   ============================================================================ */

/* simulateur/achat_revente.html.twig */
:is(.achat-revente__simulateur, #_#_#_) {
	position: relative;
	width: 100%;
}
:is(.achat-revente__ar-main-title-banner, #_#_#_) {
	background-color: #2b7a89 !important;
	border-radius: 8px !important;
	padding: 6px 24px !important;
	font-family: 'Albert Sans', sans-serif !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	text-align: center !important;
	margin: 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	text-transform: uppercase !important;
	box-shadow: 0 3px 8px rgba(0,0,0,0.15) !important;
	letter-spacing: -0.3px !important;
	white-space: nowrap !important;
}
:is(.achat-revente__img, #_#_#_) {
	height: 36px !important;
	width: auto;
	vertical-align: middle;
	filter: brightness(0) invert(1) !important;
}
/* Téléphone : titre à la taille de celui de MA CAPACITÉ D'EMPRUNT (police 24px, icône 28px).
   Placé après les règles de bureau ci-dessus, avec la même spécificité, pour les surcharger. */
@media (max-width: 768px) {
	:is(.achat-revente__ar-main-title-banner, #_#_#_) {
		padding: 10px 28px !important;
		font-size: 24px !important;
		gap: 14px !important;
		letter-spacing: -0.5px !important;
		box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
	}
	:is(.achat-revente__img, #_#_#_) {
		height: 28px !important;
	}
}
:is(.achat-revente__span, #_#_#_) {
	color: #ffffff !important;
}
:is(.achat-revente__div, #_#_#_) {
	font-size: 11px;
	font-weight: bold;
	color: #1e293b;
	gap: 8px;
}
:is(.achat-revente__ar-slider-current-val, #_#_#_) {
	color: #2F6975;
	font-weight: 800;
}
:is(.achat-revente__span-2, #_#_#_) {
	text-transform: lowercase;
	font-style: italic;
	color: #64748b;
	font-weight: normal;
}
:is(.achat-revente__span-3, #_#_#_) {
	margin-left: auto !important;
	margin-right: 10px !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	opacity: 0.85 !important;
	font-family: 'Albert Sans', sans-serif !important;
}
:is(.achat-revente__label, #_#_#_) {
	font-weight: 700;
}
:is(.achat-revente__toggle-p4-details, #_#_#_) {
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	cursor: pointer;
	user-select: none;
}
:is(.achat-revente__div-2, #_#_#_) {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
}
:is(.achat-revente__form-row, #_#_#_) {
	flex: 1 !important;
	grid-template-columns: 1fr 105px !important;
}
:is(.achat-revente__label-2, #_#_#_) {
	font-size: 10px !important;
}
:is(.achat-revente__div-3, #_#_#_) {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	width: 105px;
}
:is(.achat-revente__ar-range-wrapper, #_#_#_) {
	width: 100%;
	margin-top: -2px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 10;
}
:is(.achat-revente__tax-box, #_#_#_) {
	position: relative !important;
}
:is(.achat-revente__img-2, #_#_#_) {
	position: absolute !important;
	left: 8px !important;
	top: 6px !important;
	height: 38px !important;
	width: auto !important;
	opacity: 0.95 !important;
}
:is(.achat-revente__span-4, #_#_#_) {
	position: absolute;
	right: 8px;
	color: #fff;
	font-size: 11px;
	pointer-events: none;
}
:is(.achat-revente__tax-row, #_#_#_) {
	margin-top: 5px;
}
:is(.achat-revente__span-5, #_#_#_) {
	position: absolute;
	right: 8px;
	color: rgba(255,255,255,0.7);
	font-size: 10px;
	pointer-events: none;
}
:is(.achat-revente__result-row, #_#_#_) {
	background-color: rgba(186, 61, 23, 0.04) !important;
}
:is(.achat-revente__label-3, #_#_#_) {
	font-size: 9px !important;
	text-transform: uppercase;
}
:is(.achat-revente__load-project-loan, #_#_#_) {
	width: 100px;
	height: 19px;
	font-size: 9.5px;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	padding: 0 4px;
	font-family: 'Albert Sans', sans-serif;
}
:is(.achat-revente__div-4, #_#_#_) {
	position: absolute !important;
	left: 4px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin-top: 2px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	z-index: 10 !important;
	pointer-events: none !important;
	line-height: 0.6 !important;
}
:is(.achat-revente__span-6, #_#_#_) {
	color: #d0021b !important;
	font-size: 13px !important;
	font-weight: bold !important;
	height: 8px !important;
	display: flex !important;
	align-items: center !important;
	margin-bottom: -1px !important;
}
:is(.achat-revente__span-7, #_#_#_) {
	color: #0000ff !important;
	font-size: 13px !important;
	font-weight: bold !important;
	height: 8px !important;
	display: flex !important;
	align-items: center !important;
}
:is(.achat-revente__label-4, #_#_#_) {
	color: #4a154b;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}
:is(.achat-revente__img-3, #_#_#_) {
	height: 18px !important;
	width: auto;
}
:is(.achat-revente__res-gain, #_#_#_) {
	color: #4a154b;
}
:is(.achat-revente__btn-sauvegarder-projet-vente, #_#_#_) {
	letter-spacing: 0.5px !important;
}
:is(.achat-revente__i, #_#_#_) {
	font-size: 14px;
}
:is(.achat-revente__modal-content, #_#_#_) {
	border-radius: 10px;
	border: 1px solid #cbd5e1;
	font-family: 'Albert Sans', sans-serif;
}
:is(.achat-revente__modal-header, #_#_#_) {
	background-color: #0c5975;
	color: #ffffff;
	border-radius: 9px 9px 0 0;
}
:is(.achat-revente__modal-save-projet-vente-label, #_#_#_) {
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
:is(.achat-revente__form-label, #_#_#_) {
	font-size: 13px;
	color: #1e293b;
}
:is(.achat-revente__input-nom-projet-vente, #_#_#_) {
	font-size: 13px;
	border-radius: 6px;
}
:is(.achat-revente__save-projet-vente-error, #_#_#_) {
	font-size: 12px;
}
:is(.achat-revente__modal-footer, #_#_#_) {
	border-radius: 0 0 9px 9px;
}

/* simulateur/achat_revente.html.twig : anciens attributs style= (spécificité de 3 id, comme le style inline remplacé) */
:is(.achat-revente__div-5, #_#_#_) {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border-radius: 0 !important;
	width: 100% !important;
	margin: 15px auto 25px auto !important;
	padding: 0 !important;
	text-align: center !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
}
:is(.achat-revente__span-8, #_#_#_) {
	position: absolute !important;
	left: 6px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #d0021b !important;
	font-size: 14px !important;
	z-index: 10 !important;
	pointer-events: none !important;
	bottom: auto !important;
}
:is(.achat-revente__input, #_#_#_) {
	background-color: #fff6c3 !important;
}
:is(.achat-revente__div-6, #_#_#_) {
	display: none !important;
}
:is(.achat-revente__input-2, #_#_#_) {
	background-color: #eaeded !important;
}
:is(.achat-revente__span-9, #_#_#_) {
	position: absolute !important;
	left: 4px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #d0021b !important;
	font-size: 14px !important;
	z-index: 10 !important;
	pointer-events: none !important;
	bottom: auto !important;
}
:is(.achat-revente__input-3, #_#_#_) {
	background-color: #fff6c3 !important;
	padding: 0 8px 0 16px !important;
}
:is(.achat-revente__ar-duree-detention, #_#_#_) {
	background-color: #eaeded !important;
	text-align: center !important;
}
:is(.achat-revente__toggle-p4-details-2, #_#_#_) {
	display: inline-flex;
}
:is(.achat-revente__span-10, #_#_#_) {
	margin-right: 6px !important;
}
:is(.achat-revente__div-7, #_#_#_) {
	width: 100% !important;
}
:is(.achat-revente__taux-ps, #_#_#_) {
	background-color: rgba(255, 255, 255, 0.05) !important;
}
:is(.achat-revente__res-capital, #_#_#_) {
	background-color: #fff6c3 !important;
	padding-left: 14px !important;
}
:is(.achat-revente__btn-sauvegarder-projet-vente-2, #_#_#_) {
	background-color: #0d6efd !important;
	border-color: #0d6efd !important;
	font-family: 'Albert Sans', 'Inter', sans-serif !important;
	font-size: 11px !important;
	border-radius: 6px !important;
	text-transform: uppercase !important;
	border: none !important;
	height: 25px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 2px 10px !important;
}
:is(.achat-revente__btn-mode-expert-ar, #_#_#_) {
	background-color: #000000 !important;
	border-color: #000000 !important;
	font-family: 'Albert Sans', 'Inter', sans-serif !important;
	font-size: 11px !important;
	border-radius: 6px !important;
	text-transform: uppercase !important;
	border: none !important;
	height: 25px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 2px 10px !important;
}
:is(.achat-revente__save-projet-vente-error-2, #_#_#_) {
	display: none;
}

.side-panel .mt-2 {
	margin-top: 3px !important;
}

body:has(#simulateur.achat-revente__simulateur) footer.container-fluid,
body:has(#simulateur) footer.container-fluid {
	padding: 5px 0 8px 0 !important;
	min-height: 60px !important;
}

body:has(#simulateur.achat-revente__simulateur) footer .rabbit-head,
body:has(#simulateur) footer .rabbit-head {
	width: 90px !important;
}

