/* FTE Quiz — frontend. Aligné Design System V6.2. Scopé à .fteq. */
.fteq{
	--fteq-navy:#1C244B; --fteq-navy-600:#182046;
	--fteq-red:#ff0000;
	--fteq-text:#0f172a; --fteq-muted:#64748b;
	--fteq-border:#e6e8ef; --fteq-surface:#f7f9ff;
	--fteq-ok:#16a34a; --fteq-ko:#dc2626;
	font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Inter,Roboto,Arial,sans-serif;
	width:100%; max-width:100%; margin:24px auto; color:var(--fteq-text);
	box-sizing:border-box;
}
.fteq *{ box-sizing:border-box; }
.fteq-intro{ color:var(--fteq-muted); margin:0 0 16px; font-size:16px; }

/* Écran d'ouverture */
.fteq-start{
	text-align:center; border:1px solid var(--fteq-border); border-radius:16px;
	padding:32px 24px; background:linear-gradient(180deg,#fff,var(--fteq-surface));
}
.fteq-start-title{ color:var(--fteq-navy); font-size:26px; font-weight:900; margin:0 0 10px; }
.fteq-start-desc{ color:var(--fteq-muted); font-size:16px; margin:0 auto 18px; max-width:56ch; line-height:1.6; }
.fteq-start-btn{
	appearance:none; border:0; cursor:pointer; background:var(--fteq-navy); color:#fff;
	font-weight:800; font-size:16px; padding:13px 30px; border-radius:999px;
	box-shadow:0 6px 16px rgba(28,36,75,.18); transition:background .15s ease, transform .12s ease;
}
.fteq-start-btn:hover{ background:var(--fteq-navy-600); transform:translateY(-1px); }
.fteq-level-prompt{ color:var(--fteq-navy); font-weight:700; margin:6px 0 12px; }
.fteq-level-choices{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.fteq-level-btn{
	appearance:none; cursor:pointer; border:1px solid var(--fteq-navy); background:#fff; color:var(--fteq-navy);
	font-weight:800; font-size:16px; min-width:64px; padding:12px 18px; border-radius:12px;
	transition:background .15s ease, color .15s ease, transform .12s ease;
}
.fteq-level-btn:hover{ background:var(--fteq-navy); color:#fff; transform:translateY(-1px); }

/* Écran de fin */
.fteq-end-msg{
	border:1px solid var(--fteq-border); border-radius:14px; padding:18px 20px; margin:0 0 18px;
	background:var(--fteq-surface); color:var(--fteq-text); line-height:1.6;
}

/* Multi-étapes */
.fteq-progress-bar{ height:8px; background:var(--fteq-border); border-radius:999px; overflow:hidden; margin:0 0 8px; }
.fteq-progress-fill{ height:100%; width:0; background:var(--fteq-navy); border-radius:999px; transition:width .25s ease; }
.fteq-step{ color:var(--fteq-muted); font-size:13px; margin:0 0 14px; font-weight:600; }
.fteq-req{ color:var(--fteq-red); font-weight:800; margin-left:2px; }
.fteq-multi-hint{ color:var(--fteq-muted); font-weight:500; font-size:13px; margin-left:6px; }

.fteq-q{
	border:1px solid var(--fteq-border); border-radius:14px;
	padding:16px 18px; margin:0 0 14px; background:#fff;
}
.fteq-q legend{
	/* float => la légende reste À L'INTÉRIEUR du cadre (sinon elle chevauche la bordure du haut) */
	float:left; width:100%;
	font-weight:700; color:var(--fteq-navy); line-height:1.35;
	padding:0; margin:0 0 12px; font-size:17px; display:flex; gap:8px; align-items:flex-start;
}
.fteq-q .fteq-options{ clear:both; }
.fteq-num{
	flex:0 0 auto; min-width:24px; height:24px; padding:0 6px;
	display:inline-flex; align-items:center; justify-content:center;
	background:var(--fteq-navy); color:#fff; border-radius:999px; font-size:13px; font-weight:800;
}
.fteq-options{ display:flex; flex-direction:column; gap:8px; }
.fteq-opt{
	display:flex; align-items:center; gap:10px; padding:10px 12px;
	border:1px solid var(--fteq-border); border-radius:10px; cursor:pointer;
	transition:border-color .12s ease, background .12s ease;
}
.fteq-opt:hover{ border-color:var(--fteq-navy); background:var(--fteq-surface); }
.fteq-opt input{ accent-color:var(--fteq-navy); width:18px; height:18px; }
.fteq-opt span{ line-height:1.4; }

/* Champs de saisie (design v6.1) */
.fteq-field{ margin:0 0 18px; }
.fteq-field-label{ display:block; font-weight:700; color:var(--fteq-navy); font-size:14px; margin:0 0 7px; letter-spacing:.2px; }
.fteq-field .fteq-req{ color:var(--fteq-red); }
.fteq-field input[type=text],
.fteq-field input[type=email],
.fteq-field input[type=number],
.fteq-field input[type=tel],
.fteq-field textarea,
.fteq-field select{
	width:100%; box-sizing:border-box; padding:13px 15px;
	border:1.5px solid var(--fteq-border); border-radius:12px;
	font-size:16px; font-family:inherit; color:var(--fteq-text); background:#fff;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.fteq-field input::placeholder,
.fteq-field textarea::placeholder{ color:#9aa3b2; }
.fteq-field input:focus,
.fteq-field textarea:focus,
.fteq-field select:focus{
	outline:none; border-color:var(--fteq-navy); box-shadow:0 0 0 3px rgba(28,36,75,.12);
}
.fteq-field select{
	appearance:none; -webkit-appearance:none; -moz-appearance:none; cursor:pointer; padding-right:44px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231C244B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
	background-repeat:no-repeat; background-position:right 15px center;
}
.fteq-field textarea{ min-height:96px; resize:vertical; }
/* Consentement */
.fteq-consent{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--fteq-muted); line-height:1.5; cursor:pointer; }
.fteq-consent input{ margin-top:3px; width:18px; height:18px; accent-color:var(--fteq-navy); flex:0 0 auto; }
/* Bloc HTML inline */
.fteq-html{ margin:0 0 16px; }
.fteq-consent input{ margin-top:3px; }

.fteq-actions{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:8px; }
.fteq-submit,.fteq-next,.fteq-prev,.fteq-restart{
	appearance:none; cursor:pointer; font-weight:800; font-size:15px;
	padding:12px 22px; border-radius:999px; letter-spacing:.2px; transition:background .15s ease, transform .12s ease;
}
.fteq-submit,.fteq-next{ border:0; background:var(--fteq-navy); color:#fff; box-shadow:0 6px 16px rgba(28,36,75,.18); }
.fteq-submit:hover,.fteq-next:hover{ background:var(--fteq-navy-600); transform:translateY(-1px); }
.fteq-prev{ border:1px solid var(--fteq-border); background:#fff; color:var(--fteq-navy); }
.fteq-prev:hover{ background:var(--fteq-surface); }
.fteq-submit:disabled{ opacity:.6; cursor:default; transform:none; }
.fteq-error{ color:var(--fteq-ko); font-weight:600; margin:10px 0 0; }
.fteq-restart-wrap{ text-align:center; margin-top:18px; }
.fteq-restart{ border:1px solid var(--fteq-border); background:#fff; color:var(--fteq-navy); }
.fteq-restart:hover{ background:var(--fteq-surface); }

/* Résultat */
.fteq-score-card{
	text-align:center; border:1px solid var(--fteq-border); border-radius:16px;
	padding:26px 20px; background:linear-gradient(180deg,#fff,var(--fteq-surface)); margin:0 0 20px;
}
.fteq-level{ font-size:44px; font-weight:900; color:var(--fteq-navy); line-height:1; }
.fteq-level-label{ font-size:16px; font-weight:700; color:var(--fteq-navy); margin-top:6px; }
.fteq-percent{ font-size:44px; font-weight:900; color:var(--fteq-navy); line-height:1; }
.fteq-score-line{ color:var(--fteq-muted); margin:8px 0 0; font-size:15px; }
.fteq-level-desc{ color:var(--fteq-text); margin:12px auto 0; max-width:52ch; line-height:1.6; }

.fteq-corrige{ margin-top:34px; }
.fteq-corrige-head{ display:flex; align-items:center; gap:16px; margin:0 0 4px; }
.fteq-corrige-head h3{ color:var(--fteq-navy); font-size:20px; font-weight:800; margin:0; white-space:nowrap; letter-spacing:.4px; text-transform:uppercase; }
.fteq-corrige-line{ flex:1 1 auto; height:1px; background:var(--fteq-border); }
.fteq-corrige-sub{ text-align:center; color:var(--fteq-muted); font-size:14px; margin:0 0 20px; }
.fteq-corrige-sub .fteq-key-ok{ color:var(--fteq-ok); font-weight:800; }
.fteq-corrige-sub .fteq-key-ko{ color:var(--fteq-ko); font-weight:800; }
.fteq-c{ border:1px solid var(--fteq-border); border-left-width:4px; border-radius:12px; padding:14px 16px; margin:0 0 12px; background:#fff; }
.fteq-c.is-ok{ border-left-color:var(--fteq-ok); }
.fteq-c.is-ko{ border-left-color:var(--fteq-ko); }
.fteq-c-q{ font-weight:700; color:var(--fteq-navy); margin:0 0 8px; display:flex; gap:8px; align-items:flex-start; }
.fteq-c-opts{ list-style:none; padding:0; margin:0 0 6px; }
.fteq-c-opts li{ padding:5px 8px; border-radius:6px; font-size:15px; }
.fteq-c-opts li.correct{ background:rgba(22,163,74,.12); color:#14532d; font-weight:600; }
.fteq-c-opts li.chosen-wrong{ background:rgba(220,38,38,.10); color:#7f1d1d; text-decoration:line-through; }
.fteq-c-exp{ color:var(--fteq-muted); font-size:14px; margin:6px 0 0; font-style:italic; }
.fteq-cta{ margin-top:22px; }

@media (max-width:520px){
	.fteq-q legend{ font-size:16px; }
	.fteq-level,.fteq-percent{ font-size:36px; }
}
