/* ==========================================================================
   LendForge — Vérification d'identité (front public)
   ========================================================================== */

.lf-kyc {
	--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-warning:     var(--lf-color-warning, #B7791F);
	--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: 760px;
	margin: 0 auto;
	padding: 30px 16px;
}
.lf-kyc * { box-sizing: border-box; }

.lf-kyc__head { margin-bottom: 22px; }
.lf-kyc__eyebrow {
	font-size: 12px; font-weight: 600; letter-spacing: 0.16em;
	text-transform: uppercase; color: var(--c-primary); margin: 0 0 7px;
}
.lf-kyc__title {
	font-family: var(--f-head); font-weight: 600; font-size: 30px;
	line-height: 1.1; margin: 0;
}
.lf-kyc__sub {
	margin: 8px 0 14px; font-size: 14px; color: var(--c-muted); line-height: 1.55;
}

.lf-kyc__global {
	display: inline-block;
	font-size: 12px; font-weight: 700; letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 6px 14px; border-radius: var(--r-pill);
}
.lf-kyc__global--verified        { background: color-mix(in srgb, var(--c-success) 16%, transparent); color: var(--c-success); }
.lf-kyc__global--pending         { background: color-mix(in srgb, var(--c-warning) 18%, transparent); color: var(--c-warning); }
.lf-kyc__global--action_required { background: color-mix(in srgb, var(--c-error) 14%, transparent); color: var(--c-error); }
.lf-kyc__global--incomplete      { background: var(--c-surface-alt); color: var(--c-muted); }

.lf-kyc__notice {
	border-radius: var(--r-md);
	padding: 13px 16px; margin-bottom: 18px;
	font-size: 13.5px; font-weight: 500;
}
.lf-kyc__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-kyc__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);
}

.lf-kyc__list { display: flex; flex-direction: column; gap: 14px; }

.lf-kyc-doc {
	background: var(--c-surface);
	border: 1px solid var(--c-border);
	border-radius: var(--r-lg);
	box-shadow: var(--sh-md);
	padding: 20px 22px;
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
}
.lf-kyc-doc--approved { border-color: color-mix(in srgb, var(--c-success) 40%, var(--c-border)); }
.lf-kyc-doc--rejected { border-color: color-mix(in srgb, var(--c-error) 40%, var(--c-border)); }

.lf-kyc-doc__info { flex: 1; min-width: 240px; }

.lf-kyc-doc__titleline { display: flex; align-items: center; gap: 9px; }
.lf-kyc-doc__name {
	font-family: var(--f-head); font-weight: 600; font-size: 17px;
}
.lf-kyc-doc__req,
.lf-kyc-doc__opt {
	font-size: 10px; font-weight: 700; letter-spacing: 0.05em;
	text-transform: uppercase; padding: 3px 8px; border-radius: var(--r-sm);
}
.lf-kyc-doc__req { background: color-mix(in srgb, var(--c-accent) 16%, transparent); color: var(--c-accent); }
.lf-kyc-doc__opt { background: var(--c-surface-alt); color: var(--c-muted); }

.lf-kyc-doc__hint {
	margin: 7px 0 0; font-size: 12.5px; color: var(--c-muted); line-height: 1.5;
}

.lf-kyc-doc__current {
	display: flex; align-items: center; gap: 10px;
	margin-top: 12px; flex-wrap: wrap;
}
.lf-kyc-badge {
	font-size: 11px; font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.04em; padding: 4px 9px; border-radius: var(--r-sm);
}
.lf-kyc-badge--pending  { background: color-mix(in srgb, var(--c-warning) 18%, transparent); color: var(--c-warning); }
.lf-kyc-badge--approved { background: color-mix(in srgb, var(--c-success) 16%, transparent); color: var(--c-success); }
.lf-kyc-badge--rejected { background: color-mix(in srgb, var(--c-error) 14%, transparent); color: var(--c-error); }

.lf-kyc-doc__file { font-size: 13px; color: var(--c-primary); font-weight: 600; word-break: break-all; }
.lf-kyc-doc__reason {
	margin: 10px 0 0; font-size: 12.5px; color: var(--c-error); line-height: 1.5;
}

/* zone d'upload */
.lf-kyc-doc__upload {
	display: flex; flex-direction: column; gap: 9px;
	min-width: 210px;
}
.lf-kyc-file {
	display: flex; flex-direction: column; gap: 5px; cursor: pointer;
}
.lf-kyc-file input[type="file"] {
	position: absolute; width: 1px; height: 1px;
	opacity: 0; overflow: hidden;
}
.lf-kyc-file__btn {
	display: inline-block; text-align: center;
	font-size: 12.5px; font-weight: 600;
	padding: 9px 14px;
	border: 1.5px dashed var(--c-border);
	border-radius: var(--r-sm);
	color: var(--c-text);
}
.lf-kyc-file:hover .lf-kyc-file__btn { border-color: var(--c-primary); color: var(--c-primary); }
.lf-kyc-file__name { font-size: 11.5px; color: var(--c-muted); text-align: center; }

.lf-kyc-doc__send {
	font-family: var(--f-body); font-size: 13px; font-weight: 600;
	padding: 10px 16px; border: none; border-radius: var(--r-pill);
	background: var(--c-primary); color: var(--c-on-primary); cursor: pointer;
}
.lf-kyc-doc__send:hover { filter: brightness(0.94); }

.lf-kyc-doc__done {
	min-width: 120px; text-align: center;
	font-size: 13px; font-weight: 700; color: var(--c-success);
	padding: 12px;
	background: color-mix(in srgb, var(--c-success) 10%, transparent);
	border-radius: var(--r-md);
}

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

@media (max-width: 600px) {
	.lf-kyc-doc { flex-direction: column; }
	.lf-kyc-doc__upload { width: 100%; }
}

/* ===================================================================== */
/* Envoi groupé : un seul bouton « Envoyer »                              */
/* ===================================================================== */
.lf-kyc__submit {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid var(--c-border);
	text-align: center;
}
.lf-kyc__submit .lf-btn-primary {
	min-width: 240px;
}
.lf-kyc__submit-hint {
	margin: 12px auto 0;
	max-width: 460px;
	font-size: 12px;
	line-height: 1.55;
	color: var(--c-muted);
}
