/* =========================================================================
   SIMULATEURS LLI ET LMNP
   Feuille commune aux deux simulateurs des pages « Investir ».
   Les deux partagent le préfixe .wc-lli-sim pour éviter de dupliquer
   200 lignes identiques — seuls les identifiants de champs diffèrent.
   ========================================================================= */

.wc-lli-sim {
	background: var(--wc-paper);
	padding: 3rem 0;
	margin: 2.5rem 0;
	border-top: 1px solid var(--wc-line);
	border-bottom: 1px solid var(--wc-line);
}
.wc-lli-sim__head {
	max-width: 64ch;
	margin: 0 auto 2rem;
	text-align: center;
}
.wc-lli-sim__head h2 {
	margin: .5rem 0 .7rem;
	color: var(--wc-marine);
}
.wc-lli-sim__head p {
	color: var(--wc-muted);
	font-size: .96rem;
	line-height: 1.65;
	margin: 0;
}

/* ---- Bandeau du lot pré-rempli ---- */
.wc-lli-sim__lot {
	display: flex; align-items: center; gap: .7rem; flex-wrap: wrap;
	background: rgba(0, 122, 140, .08);
	border: 1px solid rgba(0, 122, 140, .3);
	border-radius: 10px; padding: .7rem 1rem; margin-bottom: 1.4rem;
}
.wc-lli-sim__lot-tag {
	background: var(--wc-teal); color: #fff;
	font-size: .66rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .05em; padding: .22em .6em; border-radius: 999px;
}
.wc-lli-sim__lot b { color: var(--wc-marine); font-size: .94rem; text-transform: capitalize; }

/* ---- Grille : saisie / résultats ---- */
.wc-lli-sim__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

/* ---- Cartes de saisie ---- */
.wc-lli-sim__form { display: grid; gap: 1.1rem; }
.wc-lli-sim__card {
	background: #fff;
	border: 1px solid var(--wc-line);
	border-radius: 14px;
	padding: 1.3rem;
	min-width: 0;
}
.wc-lli-sim__card-t {
	font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
	font-weight: 700; color: var(--wc-marine);
	margin: 0 0 1rem; padding-bottom: .5rem;
	border-bottom: 2px solid rgba(0, 122, 140, .15);
}
.wc-lli-sim__f { display: block; margin-bottom: .9rem; }
.wc-lli-sim__f:last-child { margin-bottom: 0; }
.wc-lli-sim__f > span:first-child {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: .5rem; font-size: .84rem; font-weight: 600;
	color: var(--wc-ink); margin-bottom: .3rem;
}
.wc-lli-sim__f i {
	font-style: normal; font-size: .72rem;
	color: var(--wc-muted); font-weight: 500;
}
.wc-lli-sim__in { position: relative; display: block; }
.wc-lli-sim__in input {
	width: 100%; box-sizing: border-box;
	font-family: inherit; font-size: .96rem;
	padding: .58rem 2.8rem .58rem .85rem;
	border: 1px solid var(--wc-line); border-radius: 9px;
	background: var(--wc-paper); color: var(--wc-ink);
	transition: border-color .15s, box-shadow .15s;
	-moz-appearance: textfield;
}
.wc-lli-sim__in input::-webkit-outer-spin-button,
.wc-lli-sim__in input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.wc-lli-sim__in input:focus {
	outline: none; border-color: var(--wc-teal);
	box-shadow: 0 0 0 3px rgba(0, 122, 140, .16);
	background: #fff;
}
.wc-lli-sim__in em {
	position: absolute; right: .85rem; top: 50%; transform: translateY(-50%);
	font-style: normal; font-size: .8rem; font-weight: 600;
	color: var(--wc-muted); pointer-events: none;
}
.wc-lli-sim__row { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }

/* ---- Sélecteur segmenté (durée d'engagement) ---- */
.wc-lli-sim .wc-seg { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.wc-lli-sim .wc-seg__btn {
	font-family: inherit; font-size: .86rem; font-weight: 600;
	padding: .55rem .4rem; border: 1px solid var(--wc-line);
	border-radius: 8px; background: var(--wc-paper);
	color: var(--wc-muted); cursor: pointer; transition: all .15s;
}
.wc-lli-sim .wc-seg__btn:hover { border-color: var(--wc-teal); }
.wc-lli-sim .wc-seg__btn.is-on {
	background: var(--wc-marine); border-color: var(--wc-marine); color: #fff;
}
.wc-lli-sim .wc-seg__btn:focus-visible { outline: 2px solid var(--wc-teal); outline-offset: 2px; }

/* ---- Panneau de résultats ---- */
.wc-lli-sim__out {
	background: linear-gradient(160deg, var(--wc-marine), #16405a);
	color: #eaf1f3; border-radius: 14px; padding: 1.5rem;
	box-shadow: 0 10px 30px rgba(10, 34, 48, .12);
	position: sticky; top: 1rem; min-width: 0;
}
.wc-lli-sim__out-t {
	font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
	font-weight: 700; color: #a9d4d5; margin: 0 0 1.1rem;
}
.wc-lli-sim__hero {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 12px; padding: 1.1rem 1.2rem; margin-bottom: 1.2rem;
}
.wc-lli-sim__hero-lbl { font-size: .76rem; color: #a9d4d5; font-weight: 600; margin-bottom: .25rem; }
.wc-lli-sim__hero-val {
	font-size: clamp(1.7rem, 4.5vw, 2.3rem); font-weight: 800;
	line-height: 1; color: #fff;
}
.wc-lli-sim__hero-val.is-pos { color: #7fe0b0; }
.wc-lli-sim__hero-val.is-neg { color: #f0a58f; }
.wc-lli-sim__hero-note { font-size: .74rem; color: #b9c7cc; margin-top: .4rem; line-height: 1.45; }

.wc-lli-sim__l {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: 1rem; padding: .5rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .09);
	font-size: .88rem;
}
.wc-lli-sim__l > span:first-child { color: #cdd9dd; }
.wc-lli-sim__l small {
	display: block; color: #8fa4ab; font-size: .7rem;
	font-weight: 500; margin-top: .1rem;
}
.wc-lli-sim__l b { font-weight: 700; color: #fff; white-space: nowrap; text-align: right; }
.wc-lli-sim__l b.pos { color: #7fe0b0; }
.wc-lli-sim__l b.neg { color: #f0a58f; }
.wc-lli-sim__barre { text-decoration: line-through; color: #8fa4ab !important; font-weight: 500 !important; }
.wc-lli-sim__l--grp {
	margin-top: .6rem; padding-top: .8rem;
	border-top: 2px solid rgba(255, 255, 255, .16); border-bottom: none;
}
.wc-lli-sim__l--grp > span:first-child {
	font-weight: 700; color: #fff; text-transform: uppercase;
	font-size: .72rem; letter-spacing: .06em;
}
.wc-lli-sim__l--fort {
	background: rgba(0, 122, 140, .18);
	border: 1px solid rgba(127, 212, 221, .3);
	border-radius: 10px; padding: .7rem .9rem; margin: .5rem 0;
}
.wc-lli-sim__l--fort b { color: #7fd4dd; font-size: 1.05rem; }

/* ---- Détail des composants (LMNP) ---- */
.wc-lmnp-detail { list-style: none; margin: .3rem 0 .6rem; padding: 0; }
.wc-lmnp-detail li {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: .8rem; padding: .28rem 0 .28rem .9rem;
	font-size: .78rem; color: #a9d4d5;
	border-left: 2px solid rgba(127, 212, 221, .25);
}
.wc-lmnp-detail li i { font-style: normal; color: #8fa4ab; font-size: .7rem; }
.wc-lmnp-detail li b { color: #cdd9dd; font-weight: 600; white-space: nowrap; }

.wc-lli-sim__total {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: 1rem; margin-top: .8rem; padding-top: .9rem;
	border-top: 2px solid rgba(255, 255, 255, .2);
}
.wc-lli-sim__total > span { font-weight: 700; color: #fff; font-size: .88rem; }
.wc-lli-sim__total b { font-size: 1.3rem; font-weight: 800; color: #7fe0b0; white-space: nowrap; }

.wc-lli-sim__badge {
	display: inline-block; margin-top: .7rem;
	background: rgba(200, 161, 90, .16); border: 1px solid rgba(200, 161, 90, .4);
	color: #e6c98e; font-size: .74rem; font-weight: 600; line-height: 1.4;
	padding: .45rem .7rem; border-radius: 8px;
}
.wc-lli-sim__badge--warn {
	background: rgba(240, 165, 143, .14); border-color: rgba(240, 165, 143, .45);
	color: #f6c4b4;
}
.wc-lli-sim__foot {
	font-size: .72rem; color: #9fb3b9; margin: 1rem 0 0; line-height: 1.5;
}

/* ---- Mentions légales ---- */
.wc-lli-sim__legal {
	margin-top: 1.5rem; padding: 1.1rem 1.3rem;
	background: rgba(0, 122, 140, .05);
	border-left: 4px solid var(--wc-teal);
	border-radius: 8px;
	font-size: .78rem; color: #33565a; line-height: 1.55;
}
.wc-lli-sim__legal strong { color: var(--wc-marine); }
.wc-lli-sim__legal p { margin: .4rem 0; }
.wc-lli-sim__legal p:first-child { margin-top: 0; }
.wc-lli-sim__legal p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
	.wc-lli-sim__grid { grid-template-columns: 1fr; }
	.wc-lli-sim__out { position: static; }
	.wc-lli-sim__head { text-align: left; }
}
@media (max-width: 420px) {
	.wc-lli-sim__row { grid-template-columns: 1fr; }
}

/* ---- Mention sur les valeurs pré-remplies ---- */
.wc-lli-sim__prefill {
	background: rgba(200, 161, 90, .1);
	border: 1px solid rgba(200, 161, 90, .35);
	border-radius: 10px;
	padding: .8rem 1rem;
	margin: 0 0 .3rem;
	font-size: .8rem;
	line-height: 1.55;
	color: #5a6b70;
}
.wc-lli-sim__prefill b { color: var(--wc-marine); }
