/**
 * Simulateur « Immo et stratégies ».
 * CSS integralement scope sous #dbfi-sim-immo-strategies.
 * Migre depuis le post_content de la page 1865 le 14/07/2026.
 *
 * Corrections apportees a l'original (#divi-sim-v14) :
 *   - les selecteurs .ds-cash-table, .ds-row-gain, .ds-row-loss, .ds-row-subtotal,
 *     .ds-row-final, .ds-roi-box, .ds-roi-multiplier et .ds-cols-2 etaient GLOBAUX
 *     (non scopes) et fuyaient sur toute la page -> tous scopes ici ;
 *   - CSS Grid (.ds-grid, .ds-cols-2) remplace par du flexbox ;
 *   - breakpoint aligne sur la convention du plugin : @media (max-width: 820px)
 *     (l'original basculait en 2 colonnes a partir de 981px) ;
 *   - chrome de marque aligne sur le design system lime #b3bc00 / noir #000
 *     (bouton bleu ardoise #2c3e50 et accents or #dbb312 remplaces).
 *
 * Les couleurs SEMANTIQUES sont conservees a l'identique :
 *   vert #27ae60 = gain, rouge #c0392b / #e74c3c = perte,
 *   ainsi que les liseres de section (#3498db, #9b59b6, #e67e22, #27ae60).
 *
 * Le liseré blanc !important sur .ds-row-final td est conserve tel quel :
 * il neutralise la couleur inline posee par le script sur #row14_final,
 * exactement comme dans l'original.
 */

#dbfi-sim-immo-strategies {
	font-family: var(--dbfi-police, 'Open Sans', 'Helvetica', 'Arial', sans-serif);
	color: #333;
	background-color: #f8f9fa;
	padding: 30px;
	border-radius: 12px;
	border: 1px solid #e9ecef;
	max-width: 1200px;
	margin: 0 auto;
	box-shadow: 0 15px 35px rgba(0, 0, 0, .05);
	box-sizing: border-box;
}

#dbfi-sim-immo-strategies *,
#dbfi-sim-immo-strategies *::before,
#dbfi-sim-immo-strategies *::after {
	box-sizing: border-box;
}

/* ---------- Mise en page (flexbox uniquement) ---------- */

#dbfi-sim-immo-strategies .ds-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	align-items: stretch;
}

#dbfi-sim-immo-strategies .ds-grid > .ds-card {
	flex: 1 1 calc(50% - 12.5px);
	min-width: 0;
}

#dbfi-sim-immo-strategies .ds-cols-2 {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

#dbfi-sim-immo-strategies .ds-col {
	flex: 1 1 0;
	min-width: 0;
}

/* ---------- Cartes ---------- */

#dbfi-sim-immo-strategies .ds-card {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 20px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .03);
	display: flex;
	flex-direction: column;
	height: 100%;
}

#dbfi-sim-immo-strategies .ds-card--projet {
	border-top: 4px solid #3498db;
}

#dbfi-sim-immo-strategies .ds-card--financement {
	border-top: 4px solid #9b59b6;
}

#dbfi-sim-immo-strategies .ds-card--fiscalite {
	border-top: 4px solid #e67e22;
}

#dbfi-sim-immo-strategies .ds-card--placement {
	border-top: 4px solid #27ae60;
}

#dbfi-sim-immo-strategies .ds-card--plan {
	border-top: 4px solid var(--dbfi-noir, #000);
	margin-bottom: 30px;
}

#dbfi-sim-immo-strategies .ds-card--cash {
	border-top: 4px solid #e74c3c;
}

#dbfi-sim-immo-strategies .ds-card--roi {
	border-top: 4px solid var(--dbfi-lime, #b3bc00);
}

#dbfi-sim-immo-strategies .ds-card h3 {
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	margin: 0 0 15px;
	padding-bottom: 10px;
	border-bottom: 2px solid #f1f1f1;
	color: var(--dbfi-noir, #000);
	letter-spacing: .5px;
}

/* ---------- Champs ---------- */

#dbfi-sim-immo-strategies label {
	display: block;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: #adb5bd;
	margin-bottom: 5px;
	margin-top: 12px;
}

#dbfi-sim-immo-strategies input[type="text"],
#dbfi-sim-immo-strategies select {
	width: 100%;
	padding: 10px;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	background-color: #fff;
	color: #495057;
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
}

#dbfi-sim-immo-strategies input[type="text"]:focus,
#dbfi-sim-immo-strategies select:focus {
	border-color: var(--dbfi-lime, #b3bc00);
	outline: none;
	background-color: #fdfdf0;
}

#dbfi-sim-immo-strategies .ds-input-yield {
	color: #27ae60;
	font-weight: 800;
}

/* ---------- Pieds de carte ---------- */

#dbfi-sim-immo-strategies .ds-foot {
	margin-top: auto;
	padding-top: 10px;
	font-size: 11px;
	text-align: right;
	font-weight: 700;
}

#dbfi-sim-immo-strategies .ds-foot--projet {
	color: #3498db;
}

#dbfi-sim-immo-strategies .ds-foot--financement {
	color: #9b59b6;
}

/* ---------- Bouton ---------- */

#dbfi-sim-immo-strategies button.ds-btn {
	width: 100%;
	background-color: var(--dbfi-noir, #000);
	color: #fff;
	font-weight: 800;
	text-transform: uppercase;
	padding: 20px;
	border: 2px solid var(--dbfi-noir, #000);
	border-radius: 6px;
	cursor: pointer;
	margin-top: 30px;
	letter-spacing: 1px;
	font-family: inherit;
	font-size: 14px;
	transition: all .3s;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

#dbfi-sim-immo-strategies button.ds-btn:hover {
	background-color: var(--dbfi-lime, #b3bc00);
	border-color: var(--dbfi-lime, #b3bc00);
	color: var(--dbfi-noir, #000);
	transform: translateY(-2px);
}

/* ---------- Bloc resultats ---------- */

#dbfi-sim-immo-strategies .ds-results {
	display: none;
	margin-top: 40px;
}

#dbfi-sim-immo-strategies .ds-results.is-visible {
	display: block;
}

/* ---------- Plan de financement ---------- */

#dbfi-sim-immo-strategies .ds-plan {
	font-size: 13px;
}

#dbfi-sim-immo-strategies .ds-plan-title {
	display: block;
	margin-bottom: 5px;
}

#dbfi-sim-immo-strategies .ds-plan-title--besoins {
	color: #c0392b;
}

#dbfi-sim-immo-strategies .ds-plan-title--ressources {
	color: #27ae60;
}

#dbfi-sim-immo-strategies .ds-line {
	display: flex;
	justify-content: space-between;
	margin-top: 5px;
	border-bottom: 1px dashed #eee;
}

#dbfi-sim-immo-strategies .ds-line--total {
	font-weight: 700;
	border-bottom: 0;
}

/* ---------- Tableau tresorerie ---------- */

#dbfi-sim-immo-strategies .ds-cash-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
}

#dbfi-sim-immo-strategies .ds-cash-table td {
	padding: 12px 10px;
	border-bottom: 1px solid #f1f1f1;
	font-size: 14px;
	color: #495057;
}

#dbfi-sim-immo-strategies .ds-cash-table tr:last-child td {
	border-bottom: none;
}

#dbfi-sim-immo-strategies .ds-ta-right {
	text-align: right;
}

#dbfi-sim-immo-strategies .ds-row-gain td {
	color: #27ae60;
	font-weight: 600;
}

#dbfi-sim-immo-strategies .ds-row-loss td {
	color: #c0392b;
}

#dbfi-sim-immo-strategies .ds-row-subtotal {
	background-color: #f8f9fa;
	font-weight: 700;
	color: #343a40;
}

#dbfi-sim-immo-strategies .ds-row-final {
	background-color: var(--dbfi-noir, #000);
	color: #fff !important;
	font-weight: 800;
	font-size: 16px;
}

#dbfi-sim-immo-strategies .ds-row-final td {
	color: #fff !important;
}

/* ---------- Vision patrimoniale ---------- */

#dbfi-sim-immo-strategies .ds-vision {
	font-size: 13px;
}

#dbfi-sim-immo-strategies .ds-vline {
	display: flex;
	justify-content: space-between;
	padding: 5px 0;
	border-bottom: 1px solid #f1f1f1;
}

#dbfi-sim-immo-strategies .ds-vline--net {
	padding: 10px 0;
	font-size: 16px;
	font-weight: 800;
	color: #27ae60;
	border-bottom: 0;
}

#dbfi-sim-immo-strategies .ds-vval {
	font-weight: 700;
}

#dbfi-sim-immo-strategies .ds-vdebt {
	color: #c0392b;
}

/* ---------- Encadre ROI ---------- */

#dbfi-sim-immo-strategies .ds-roi-box {
	background: linear-gradient(135deg, #fff, #fbfcf0);
	border: 2px solid var(--dbfi-lime, #b3bc00);
	border-radius: 8px;
	padding: 20px;
	text-align: center;
	margin-top: 20px;
}

#dbfi-sim-immo-strategies .ds-roi-label {
	font-size: 11px;
	text-transform: uppercase;
	color: #999;
	font-weight: 700;
}

#dbfi-sim-immo-strategies .ds-roi-multiplier {
	font-size: 36px;
	font-weight: 900;
	color: var(--dbfi-lime-dark, #8a9600);
	line-height: 1;
	margin: 10px 0;
}

#dbfi-sim-immo-strategies .ds-roi-text {
	font-size: 12px;
	color: #555;
}

/* ---------- Responsive ---------- */

@media (max-width: 820px) {

	#dbfi-sim-immo-strategies {
		padding: 20px 16px;
	}

	#dbfi-sim-immo-strategies .ds-grid > .ds-card {
		flex: 1 1 100%;
	}

	#dbfi-sim-immo-strategies .ds-cols-2 > .ds-col {
		flex: 1 1 100%;
	}
}
