.fftt-qcm-app{
	max-width:100%;
	margin:40px auto;
	padding:0 0 40px;
}
.fftt-qcm-app *{box-sizing:border-box}
.fftt-qcm-card{
	background: var(--blanc);
	border:1px solid #dbe3ee;
	border-radius:18px;
	box-shadow:0 10px 30px rgba(15,76,129,.08);
	overflow:hidden;
	color:#1e293b;
}
.fftt-qcm-header{
	padding:26px 28px 18px;
	background:linear-gradient(135deg,#FF0000 0%, #EC6E02 100%);
	color:var(--blanc);
}
.fftt-qcm-title {
	font-family: 'Racing Sans One' !important;
	margin: 0 0 6px;
	font-size: 2rem;
	line-height: 1.1;
	color:var(--blanc);
}
@media (min-width: 1000px) {
	.fftt-qcm-title {
		font-size: 3rem;
		letter-spacing: 0.2rem;
	}
}
.fftt-qcm-subtitle{margin:0;font-size:1rem;opacity:.95}
.fftt-qcm-body{
	padding:28px;
	background:linear-gradient(180deg,#f8fbff 0%, #f5f7fb 100%);
}
.fftt-qcm-start,.fftt-qcm-result {
	text-align:center;padding:20px 0
}
	.fftt-qcm-start p,.fftt-qcm-result p {
		color: var(--noir);
		margin:0 auto 18px;
	}
@media (min-width: 1000px) {
	.fftt-qcm-start p,.fftt-qcm-result p {
		max-width:80%;
	}
}
.fftt-qcm-start-intro{
	margin-bottom:20px !important
}
.fftt-qcm-setup{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	margin:0 auto 22px;
	max-width:700px;
	text-align:left;
}
.fftt-qcm-setup-group{
	background:var(--blanc) ;
	border:1px solid #dbe3ee;
	border-radius:14px;
	padding:14px;
}
.fftt-qcm-setup-label{
	display:block;
	font-size:.92rem;
	font-weight:700;
	color: var(--noir);
	margin-bottom:10px;
}
.fftt-qcm-mode-switch{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}
.fftt-qcm-mode-btn{
	border:1px solid #dbe3ee;
	background:var(--blanc) ;
	color:#1e293b;
	border-radius:999px;
	padding:10px 14px;
	cursor:pointer;
	font-weight:700;
	transition:.2s ease;
}
.fftt-qcm-mode-btn.is-active{
	background: var(--orange);
	color: var(--noir);
	border-color:var(--noir) ;
}
.fftt-qcm-theme-select{
	width:100%;
	border:1px solid #dbe3ee;
	border-radius:10px;
	padding:12px 14px;
	font-size:1rem;
	background:var(--blanc) ;
	color:#1e293b;
}
button.fftt-qcm-start-btn {
	background: var(--orange);
	color: var(--noir);
}
button.fftt-qcm-start-btn:hover {
	background: var(--gris);
	color: var(--noir);
}
.fftt-qcm-meta{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	margin-bottom:18px;
	color: var(--noir);
	font-size:.95rem;
}
.fftt-qcm-badge{
	display:inline-flex;
	align-items:center;
	padding:6px 10px;
	border-radius:999px;
	border:1px solid #dbe3ee;
	background:#f8fafc;
	font-size:.88rem;
	color:#0b3a61;
}
.fftt-qcm-progress-wrap{margin-bottom:22px}
.fftt-qcm-progress-label{
	display:flex;
	justify-content:space-between;
	gap:12px;
	font-size:.92rem;
	color:#64748b;
	margin-bottom:8px;
}
.fftt-qcm-progress{
	width:100%;
	height:10px;
	background:#e8eef7;
	border-radius:999px;
	overflow:hidden;
}
.fftt-qcm-progress-bar{
	height:100%;
	width:0;
	background:linear-gradient(90deg,var(--noir)  0%, #3b82f6 100%);
	transition:width .25s ease;
}
.fftt-qcm-question{
	font-size:1.35rem;
	font-weight: 700;
	margin:8px 0 26px 0;
	padding: 0 0 20px 0;
	color: var(--noir);
}
.fftt-qcm-choices{display:grid;gap:12px}
.fftt-qcm-choice{
	width:100%;
	text-align:left;
	border:1px solid #dbe3ee;
	background:var(--blanc) ;
	color:#1e293b;
	padding:14px 16px;
	border-radius:14px;
	cursor:pointer;
	font-size:1rem;
	transition:.2s ease;
}
.fftt-qcm-choice:hover{
	border-color:#a7c3df;
	transform:translateY(-1px);
}
.fftt-qcm-choice.is-selected{
	border-color:var(--noir) ;
	background:#eef6ff;
}
.fftt-qcm-choice.is-correct{
	border-color:#86d19c;
	background:#eefbf1;
	color:#15803d;
	font-weight:700;
}
.fftt-qcm-choice.is-wrong{
	border-color:#f0a5a5;
	background:#fff1f1;
	color:#b91c1c;
	font-weight:700;
}
.fftt-qcm-feedback{
	display:none;
	margin-top:22px;
	padding:16px 18px;
	border-radius:14px;
	border:1px solid #dbe3ee;
	background:#f8fafc;
	text-align:left;
}
.fftt-qcm-feedback.is-visible{display:block}
.fftt-qcm-feedback-title{
	margin:0 0 8px;
	font-size:1.05rem;
	font-weight:700;
}
.fftt-qcm-feedback-title.success{color:#15803d}
.fftt-qcm-feedback-title.error{color:#b91c1c}
.fftt-qcm-feedback p{margin:0 0 8px}
.fftt-qcm-feedback p:last-child{margin-bottom:0}
.fftt-qcm-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:24px;
}
.fftt-qcm-actions-center {
	justify-content:center
}
.fftt-qcm-btn{
	border:none;
	border-radius:12px;
	padding:13px 18px;
	font-size:1rem;
	font-weight:700;
	cursor:pointer;
	transition:.2s ease;
}
.fftt-qcm-btn-primary{
	background:var(--noir) ;
	color:var(--blanc) ;
}
.fftt-qcm-btn-primary:hover{background:#0b3a61}
.fftt-qcm-btn-secondary{
	background: var(--orange);
	color: var(--noir);
	border:1px solid #dbe3ee;
	border-radius: 10px;
}
.fftt-qcm-btn-secondary:hover{background:#e5ebf4}
.fftt-qcm-btn[disabled]{opacity:.55;cursor:not-allowed}
.fftt-qcm-final-score {
	font-family: 'Racing Sans One' !important;
	font-size: 6rem;
    line-height: 6rem;
	font-weight: 800;
	color:var(--noir) ;
	margin:10px 0 8px;
}
.fftt-qcm-final-message {
	font-family: 'Racing Sans One' !important;
	position: relative;
	font-size: 2.5rem;
	line-height: 2.8rem;
	font-weight: 700;
	margin-bottom: 12px;
}
.fftt-qcm-final-message.tcho {color: var(--rouge) }
	.fftt-qcm-final-message.tcho:after {
		content: ""; 
		position: absolute;
		top: -225px;
    	right: -58px;
		width: 240px;
		height: 197px;
		background-repeat: no-repeat;
		background-color: transparent;
		background-size: 240px 197px;
		background-position: center;
		background-image: url('/wp-content/themes/tcho/img/tcho.png');
	}
@media (min-width: 1000px) {
	.fftt-qcm-final-message.tcho:after {
		top: -240px;
		right: 20px;
		width: 320px;
		height: 263px;
		background-size: 320px 263px;
	}
}
.fftt-qcm-final-message.felicitations { color:var(--rouge) }
.fftt-qcm-final-message.encouragement { color:#b45309 }
.fftt-qcm-stats-box{
	margin:18px auto 0;
	max-width:640px;
	border:1px solid #dbe3ee;
	background:var(--blanc) ;
	border-radius:14px;
	padding:16px 18px;
	text-align:left;
}
.fftt-qcm-stats-title{
	margin:0 0 8px;
	color: var(--noir);
	font-weight: 700;
	font-size:1rem;
}
.fftt-qcm-stats-summary,
.fftt-qcm-stats-average{
	margin:0 0 8px !important;
	max-width:none !important;
}
.fftt-qcm-stats-average {
	margin-bottom:0 !important
}
.fftt-qcm-result-list{
	list-style:none;
	padding:0;
	margin:20px 0 0;
	display:grid;
	gap:10px;
	text-align:left;
}
	.fftt-qcm-result-list li {
		border:1px solid #dbe3ee;
		border-radius:12px;
		padding:12px 14px;
		background:var(--blanc) ;
		list-style: none;
	}
		.fftt-qcm-result-list strong {
			display:block;
			margin-bottom:4px;
		}
.fftt-qcm-hidden{display:none !important}
@media (max-width: 640px){
	.fftt-qcm-app{margin:18px auto}
	.fftt-qcm-header,.fftt-qcm-body{padding:20px}
	.fftt-qcm-title{font-size:1.6rem}
	.fftt-qcm-question{font-size:1.15rem; line-height: 1.5rem;}
	.fftt-qcm-final-score{font-size:2.4rem; line-height: 3rem;}
	.fftt-qcm-setup{grid-template-columns:1fr}
	.fftt-qcm-stats-title {line-height: 1.2rem}
}
