/* ==========================================================================
   LendForge — Demande de prêt (front public)
   ========================================================================== */

.lf-apply {
	--c-primary:     var(--lf-color-primary, #1F6F5C);
	--c-on-primary:  var(--lf-color-on-primary, #FFFFFF);
	--c-accent:      var(--lf-color-accent, #E0653A);
	--c-bg:          var(--lf-color-bg, #F6F5F1);
	--c-surface:     var(--lf-color-surface, #FFFFFF);
	--c-surface-alt: var(--lf-color-surface-alt, #EEEDE7);
	--c-text:        var(--lf-color-text, #1A1A17);
	--c-muted:       var(--lf-color-text-muted, #6E6B62);
	--c-border:      var(--lf-color-border, #E2E0D8);
	--c-success:     var(--lf-color-success, #1F7A4D);
	--c-error:       var(--lf-color-error, #C0392B);
	--r-sm:          var(--lf-radius-sm, 8px);
	--r-md:          var(--lf-radius-md, 14px);
	--r-lg:          var(--lf-radius-lg, 22px);
	--r-pill:        var(--lf-radius-pill, 999px);
	--sh-md:         var(--lf-shadow-md, 0 8px 28px -10px rgba(26,26,23,0.16));
	--f-head:        var(--lf-font-heading, "Fraunces", Georgia, serif);
	--f-body:        var(--lf-font-body, "Hanken Grotesk", system-ui, sans-serif);

	font-family: var(--f-body);
	color: var(--c-text);
	max-width: 680px;
	margin: 0 auto;
	padding: 30px 16px;
}
.lf-apply * { box-sizing: border-box; }

.lf-apply__head { margin-bottom: 20px; }
.lf-apply__eyebrow {
	font-size: 12px; font-weight: 600; letter-spacing: 0.16em;
	text-transform: uppercase; color: var(--c-primary); margin: 0 0 7px;
}
.lf-apply__title {
	font-family: var(--f-head); font-weight: 600; font-size: 28px;
	line-height: 1.1; margin: 0;
}
.lf-apply__sub { margin: 8px 0 0; font-size: 14px; color: var(--c-muted); line-height: 1.55; }

.lf-apply__notice {
	border-radius: var(--r-md); padding: 13px 16px; margin-bottom: 18px;
	font-size: 13.5px; font-weight: 500;
}
.lf-apply__notice--ok {
	background: color-mix(in srgb, var(--c-success) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--c-success) 30%, transparent);
	color: var(--c-success);
}
.lf-apply__notice--error {
	background: color-mix(in srgb, var(--c-error) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--c-error) 32%, transparent);
	color: var(--c-error);
}

/* confirmation après dépôt de la demande */
.lf-apply__confirm {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--r-lg);
	box-shadow: var(--sh-md);
	padding: 44px 32px;
	text-align: center;
}
.lf-apply__confirm-badge {
	width: 66px;
	height: 66px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--c-success) 14%, transparent);
	color: var(--c-success);
	font-size: 32px;
	line-height: 66px;
	font-weight: 700;
}
.lf-apply__confirm-title {
	margin: 0 0 12px;
	font-size: 22px;
	line-height: 1.25;
	color: var(--c-text);
}
.lf-apply__confirm-text {
	margin: 0 auto 26px;
	max-width: 460px;
	font-size: 14px;
	line-height: 1.7;
	color: var(--c-muted);
}
.lf-apply__confirm-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.lf-apply__confirm-actions .lf-btn-primary {
	display: inline-block;
	text-decoration: none;
}
.lf-apply__confirm-again {
	font-size: 13px;
	font-weight: 600;
	color: var(--c-muted);
	text-decoration: none;
}
.lf-apply__confirm-again:hover { color: var(--c-primary); }

.lf-apply__card {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--r-lg);
	box-shadow: var(--sh-md);
	padding: 26px;
}

.lf-apply .lf-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.lf-apply .lf-field--full { width: 100%; }
.lf-apply .lf-field label {
	font-size: 12.5px; font-weight: 600; color: var(--c-text);
}
.lf-apply .lf-field input,
.lf-apply .lf-field select,
.lf-apply .lf-field textarea {
	font-family: var(--f-body); font-size: 14px; color: var(--c-text);
	background: var(--c-bg); border: 1px solid var(--c-border);
	border-radius: var(--r-sm); padding: 11px 13px; width: 100%;
}
.lf-apply .lf-field input:focus,
.lf-apply .lf-field select:focus,
.lf-apply .lf-field textarea:focus {
	outline: none; border-color: var(--c-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary) 16%, transparent);
}
.lf-apply .lf-field__hint { font-size: 11.5px; color: var(--c-muted); }

.lf-apply__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.lf-apply__estimate {
	display: flex; align-items: baseline; justify-content: space-between;
	background: var(--c-surface-alt);
	border-radius: var(--r-md);
	padding: 14px 16px; margin-bottom: 16px;
}
.lf-apply__estimate span { font-size: 13px; color: var(--c-muted); }
.lf-apply__estimate strong {
	font-family: var(--f-head); font-weight: 600; font-size: 22px; color: var(--c-primary);
}

.lf-apply__legal {
	margin: 14px 0 0; font-size: 11.5px; color: var(--c-muted); line-height: 1.55;
}

/* historique */
.lf-apply__history { margin-top: 26px; }
.lf-apply__history-title {
	font-family: var(--f-head); font-weight: 600; font-size: 18px; margin: 0 0 12px;
}
.lf-apply-row {
	display: flex; align-items: center; gap: 14px;
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--r-md);
	padding: 13px 16px; margin-bottom: 9px;
}
.lf-apply-row__ref {
	font-family: "IBM Plex Mono", monospace; font-size: 11.5px; color: var(--c-muted);
	display: block;
}
.lf-apply-row__prod { font-weight: 600; font-size: 14px; }
.lf-apply-row__amount {
	margin-left: auto; font-family: var(--f-head); font-weight: 600; font-size: 15px;
}
.lf-apply-row__stage {
	font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em;
	text-transform: uppercase; color: #fff;
	padding: 4px 10px; border-radius: var(--r-pill);
}

@media (max-width: 560px) {
	.lf-apply__grid { grid-template-columns: 1fr; }
	.lf-apply-row { flex-wrap: wrap; }
	.lf-apply-row__amount { margin-left: 0; }
}
