/*
 * pricing/simulateur — transposition de `.simulateur` (maquette Astro ADJ) : les reglages
 * a gauche, le releve sur un fond doux a droite, le net dans la police des titres.
 * Engagement 5 : aucun hexadecimal.
 */
.ivy-pricing--simulateur {
	--ivy-page-gutter: clamp( 20px, 5vw, 64px );
	box-sizing: border-box;
	padding: clamp( 80px, 9vw, 120px ) max( var( --ivy-page-gutter ), calc( ( 100% - 1280px ) / 2 ) );
}

.ivy-pricing--simulateur .ivy-pricing__header { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: end; margin-bottom: 40px; }
.ivy-pricing--simulateur .ivy-pricing__eyebrow {
	display: block;
	margin-bottom: 14px;
	color: var( --ivy-eyebrow-color, var( --ivy-accent-text, var( --ivy-accent, currentcolor ) ) );
	font-size: var( --ivy-font-label );
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.ivy-pricing--simulateur .ivy-pricing__title { margin: 0; color: var( --ivy-title-color, var( --ivy-accent, currentcolor ) ); font-family: var( --ivy-font-titre, inherit ); font-weight: 400; line-height: 1.12; }
/* Le texte de l'en-tete se cale en bas, comme le titre : le socle l'etire (`__text`), la maquette l'aligne en bas. */
.ivy-pricing--simulateur .ivy-pricing__header > .ivy-pricing__text { align-self: end; }
.ivy-pricing--simulateur .ivy-pricing__text { color: var( --ivy-text-color, var( --ivy-ink, currentcolor ) ); }
.ivy-pricing--simulateur .ivy-pricing__text p { margin: 0; font-size: inherit; }

.ivy-pricing--simulateur .ivy-pricing__sim { display: grid; grid-template-columns: 1.1fr .9fr; margin: 0; overflow: hidden; border: 1px solid var( --ivy-line, currentcolor ); border-radius: var( --ivy-radius-surface, 22px ); }
.ivy-pricing--simulateur .ivy-pricing__sim-settings { display: grid; gap: 26px; padding: clamp( 28px, 3vw, 44px ); }
.ivy-pricing--simulateur .ivy-pricing__sim-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.ivy-pricing--simulateur .ivy-pricing__sim-label {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
	padding: 0;
	color: var( --ivy-field_label-color, var( --ivy-accent, currentcolor ) );
	font-size: var( --ivy-font-body );
	font-weight: 600;
	line-height: 1.6;
}
.ivy-pricing--simulateur .ivy-pricing__sim-label output { color: var( --ivy-accent-text, currentcolor ); font-weight: 500; }

.ivy-pricing--simulateur .ivy-pricing__sim-price { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var( --ivy-line, currentcolor ); }
.ivy-pricing--simulateur .ivy-pricing__sim-price:focus-within { border-color: var( --ivy-support, currentcolor ); }
.ivy-pricing--simulateur .ivy-pricing__sim-price input {
	width: 100%;
	min-height: 52px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var( --ivy-price_input-color, var( --ivy-accent, currentcolor ) );
	font-family: var( --ivy-font-titre, inherit );
	font-size: var( --ivy-font-h2 );
	font-weight: 400;
	line-height: 1;
	outline: none;
	-moz-appearance: textfield;
	appearance: textfield;
	-webkit-text-stroke: var( --ivy-title-stroke, 0 ) currentcolor;
	paint-order: stroke fill;
}
.ivy-pricing--simulateur .ivy-pricing__sim-price input::-webkit-outer-spin-button,
.ivy-pricing--simulateur .ivy-pricing__sim-price input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.ivy-pricing--simulateur .ivy-pricing__sim-price span { color: var( --ivy-price_unit-color, var( --ivy-muted, currentcolor ) ); font-size: var( --ivy-font-body ); line-height: 1.6; white-space: nowrap; }
.ivy-pricing--simulateur .ivy-pricing__sim-range { width: 100%; min-height: 32px; accent-color: var( --ivy-accent, currentcolor ); }

.ivy-pricing--simulateur .ivy-pricing__sim-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ivy-pricing--simulateur .ivy-pricing__sim-chips label {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var( --ivy-line, currentcolor );
	border-radius: var( --ivy-radius-action, 999px );
	color: var( --ivy-accent, currentcolor );
	font-size: var( --ivy-font-body );
	font-weight: 500;
	line-height: 1.6;
	cursor: pointer;
}
.ivy-pricing--simulateur .ivy-pricing__sim-chips input { position: absolute; opacity: 0; pointer-events: none; }
.ivy-pricing--simulateur .ivy-pricing__sim-chips label:has( input:checked ) { border-color: var( --ivy-accent, currentcolor ); background: var( --ivy-accent, currentcolor ); color: var( --ivy-on-accent, rgb( 255 255 255 ) ); }
.ivy-pricing--simulateur .ivy-pricing__sim-chips label:has( input:focus-visible ) { outline: 2px solid var( --ivy-accent, currentcolor ); outline-offset: 2px; }

.ivy-pricing--simulateur .ivy-pricing__sim-result { display: flex; flex-direction: column; gap: 18px; padding: clamp( 28px, 3vw, 44px ); background: var( --ivy-result-background-color, var( --ivy-surface-soft, transparent ) ); color: var( --ivy-ink, currentcolor ); }
.ivy-pricing--simulateur .ivy-pricing__sim-caption {
	display: block;
	margin-bottom: 14px;
	color: var( --ivy-caption-color, var( --ivy-accent-text, currentcolor ) );
	font-size: var( --ivy-font-label );
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.ivy-pricing--simulateur .ivy-pricing__sim-lines { display: grid; margin: 0; }
.ivy-pricing--simulateur .ivy-pricing__sim-lines div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var( --ivy-line, currentcolor ); font-size: var( --ivy-font-body ); line-height: 1.6; }
.ivy-pricing--simulateur .ivy-pricing__sim-lines dt,
.ivy-pricing--simulateur .ivy-pricing__sim-lines dd { margin: 0; font-size: inherit; }
.ivy-pricing--simulateur .ivy-pricing__sim-lines dd { color: var( --ivy-accent, currentcolor ); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ivy-pricing--simulateur .ivy-pricing__sim-net { margin-top: auto; }
.ivy-pricing--simulateur .ivy-pricing__sim-net-label { display: block; color: var( --ivy-net_label-color, inherit ); font-size: var( --ivy-font-body ); line-height: 1.6; }
.ivy-pricing--simulateur .ivy-pricing__sim-net-value {
	display: block;
	color: var( --ivy-net-color, var( --ivy-support, currentcolor ) );
	font-family: var( --ivy-font-titre, inherit );
	font-size: var( --ivy-font-figure );
	font-weight: 400;
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
	word-spacing: -.18em;
	-webkit-text-stroke: var( --ivy-title-stroke, 0 ) currentcolor;
	paint-order: stroke fill;
}
.ivy-pricing--simulateur .ivy-pricing__sim-note { margin: 0; color: var( --ivy-note-color, var( --ivy-muted, currentcolor ) ); font-size: var( --ivy-font-label ); line-height: 1.6; }

@media ( max-width: 960px ) {
	.ivy-pricing--simulateur .ivy-pricing__header,
	.ivy-pricing--simulateur .ivy-pricing__sim { grid-template-columns: 1fr; }
	.ivy-pricing--simulateur .ivy-pricing__header { gap: 16px; }
}
