@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

#em-app{
	--em-paper:#F3F0E8;
	--em-paper-raised:#FBFAF6;
	--em-ink:#1C2536;
	--em-ink-soft:#4B5568;
	--em-ink-faint:#8A8F9C;
	--em-line:#D8D2C4;
	--em-seal:#B5792E;
	--em-seal-dark:#8F5E22;
	--em-success:#3F6B4F;
	--em-success-bg:#E6EEE8;
	--em-info:#35577A;
	--em-info-bg:#E6ECF2;
	--em-radius:2px;

	box-sizing:border-box;
	max-width:760px;
	margin:0 auto;
	background:var(--em-paper-raised);
	border:1px solid var(--em-line);
	border-radius:var(--em-radius);
	font-family:'IBM Plex Sans', sans-serif;
	font-size:15px;
	line-height:1.55;
	color:var(--em-ink);
}
#em-app *{box-sizing:border-box;}

.em-loading-placeholder{padding:24px; color:var(--em-ink-soft); font-size:13.5px;}

.em-head{
	background:var(--em-ink);
	color:var(--em-paper);
	padding:12px 20px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	font-family:'IBM Plex Mono', monospace;
	font-size:11px;
	letter-spacing:0.08em;
	text-transform:uppercase;
}

.em-body{padding:26px 24px;}

.em-intro h2, .em-partie h2, .em-final h2{
	font-family:'Fraunces', serif;
	font-weight:600;
	font-size:21px;
	margin:0 0 10px;
}

.em-intro p, .em-partie p.em-objectif{
	color:var(--em-ink-soft);
	font-size:13.5px;
	margin:0 0 18px;
}

.em-progress{
	display:flex;
	gap:4px;
	margin-bottom:20px;
}
.em-progress-step{
	flex:1;
	height:4px;
	background:var(--em-line);
	border-radius:2px;
}
.em-progress-step.done{background:var(--em-success);}
.em-progress-step.active{background:var(--em-seal);}

.em-meta-row{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:16px;
	flex-wrap:wrap;
	gap:10px;
}
.em-partie-tag{
	font-family:'IBM Plex Mono', monospace;
	font-size:11px;
	color:var(--em-ink-soft);
	text-transform:uppercase;
	letter-spacing:0.06em;
}
.em-timer{
	font-family:'IBM Plex Mono', monospace;
	font-size:20px;
	font-weight:600;
	padding:4px 12px;
	border:1px solid var(--em-line);
	border-radius:var(--em-radius);
	color:var(--em-ink);
}
.em-timer.em-timer-low{color:#9B4130; border-color:#e0b3a6;}

.em-question-block{margin-bottom:20px;}
.em-question-label{
	font-family:'Fraunces', serif;
	font-weight:600;
	font-size:15.5px;
	margin:0 0 8px;
}
.em-question-block textarea{
	width:100%;
	min-height:90px;
	resize:vertical;
	font-family:'IBM Plex Sans', sans-serif;
	font-size:14px;
	padding:11px 13px;
	border:1px solid var(--em-line);
	border-radius:var(--em-radius);
	background:#fff;
	color:var(--em-ink);
	outline:none;
}
.em-question-block textarea:focus{border-color:var(--em-info);}

.em-btn{
	font-family:'IBM Plex Sans', sans-serif;
	font-weight:600;
	font-size:13.5px;
	border:none;
	border-radius:var(--em-radius);
	padding:11px 22px;
	cursor:pointer;
}
.em-btn:disabled{opacity:0.5; cursor:not-allowed;}
.em-btn-primary{background:var(--em-ink); color:var(--em-paper-raised);}
.em-btn-primary:hover:not(:disabled){opacity:0.88;}
.em-btn-ghost{background:transparent; color:var(--em-ink-soft); border:1px solid var(--em-line);}
.em-btn-ghost:hover:not(:disabled){border-color:var(--em-ink-soft); color:var(--em-ink);}

.em-result-card{
	background:var(--em-success-bg);
	border:1px solid #bcd2c2;
	border-left:3px solid var(--em-success);
	padding:16px 18px;
	margin:16px 0 20px;
}
.em-result-card .em-note{
	font-family:'Fraunces', serif;
	font-size:26px;
	font-weight:600;
	color:var(--em-seal-dark);
	margin-bottom:6px;
}
.em-result-card p{margin:0; font-size:13.5px; color:var(--em-ink);}

.em-recap-table{width:100%; border-collapse:collapse; margin-bottom:20px;}
.em-recap-table th, .em-recap-table td{
	text-align:left;
	padding:9px 6px;
	border-bottom:1px dashed var(--em-line);
	font-size:13px;
}
.em-recap-table th{
	font-family:'IBM Plex Mono', monospace;
	font-size:10.5px;
	letter-spacing:0.06em;
	text-transform:uppercase;
	color:var(--em-ink-soft);
}
.em-recap-table td.em-recap-note{font-weight:600; text-align:right; white-space:nowrap;}

.em-final-score{
	display:flex;
	align-items:center;
	gap:18px;
	margin-bottom:22px;
}
.em-final-score .em-badge{
	width:88px; height:88px;
	border-radius:50%;
	border:3px solid var(--em-seal);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}
.em-final-score .em-badge .n{font-family:'Fraunces', serif; font-weight:700; font-size:26px; color:var(--em-seal-dark); line-height:1;}
.em-final-score .em-badge .s{font-family:'IBM Plex Mono', monospace; font-size:9px; color:var(--em-seal-dark);}
.em-final-score .em-verdict{font-size:14px; color:var(--em-ink-soft);}
.em-final-score .em-verdict b{color:var(--em-ink); text-transform:capitalize;}

.em-cols{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px;}
@media (max-width:560px){ .em-cols{grid-template-columns:1fr;} }
.em-col-block{border:1px solid var(--em-line); padding:14px 16px;}
.em-col-block h3{
	font-family:'IBM Plex Mono', monospace;
	font-size:10.5px;
	letter-spacing:0.08em;
	text-transform:uppercase;
	margin:0 0 8px;
}
.em-col-block.forces h3{color:var(--em-success);}
.em-col-block.axes h3{color:#9B4130;}
.em-col-block ul{margin:0; padding-left:18px; font-size:13px;}
.em-col-block li{margin-bottom:6px;}

.em-loading-row{
	display:flex;
	align-items:center;
	gap:10px;
	color:var(--em-ink-soft);
	font-size:13px;
	padding:14px 0;
}
.em-dot{width:6px;height:6px;border-radius:50%;background:var(--em-ink-faint); display:inline-block; animation:em-bounce 1.2s infinite ease-in-out;}
.em-dot:nth-child(2){animation-delay:0.15s;}
.em-dot:nth-child(3){animation-delay:0.3s;}
@keyframes em-bounce{0%,60%,100%{transform:translateY(0); opacity:0.4;} 30%{transform:translateY(-4px); opacity:1;}}

.em-error{
	background:#F3E4DF;
	border:1px solid #e0b3a6;
	border-left:3px solid #9B4130;
	padding:12px 14px;
	font-size:13px;
	color:#6b2a1c;
	margin-bottom:16px;
}

.em-actions{display:flex; justify-content:flex-end; gap:10px;}

/* ---------- Page métiers ---------- */
.em-metiers-wrap{
	--em-paper:#F3F0E8;
	--em-paper-raised:#FBFAF6;
	--em-ink:#1C2536;
	--em-ink-soft:#4B5568;
	--em-line:#D8D2C4;
	--em-seal:#B5792E;
	--em-seal-dark:#8F5E22;
	--em-radius:2px;
	font-family:'IBM Plex Sans', sans-serif;
}
.em-metiers-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:1px;
	background:var(--em-line);
	border:1px solid var(--em-line);
	margin-bottom:20px;
}
@media (max-width:820px){ .em-metiers-grid{grid-template-columns:repeat(2,1fr);} }
.em-metier-card{
	background:var(--em-paper-raised);
	padding:18px 16px;
	display:flex;
	flex-direction:column;
	gap:6px;
	text-decoration:none;
	color:var(--em-ink);
}
.em-metier-card:hover{background:#fff;}
.em-metier-num{font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--em-ink-soft);}
.em-metier-titre{font-family:'Fraunces', serif; font-size:16px; font-weight:600;}
.em-metier-desc{font-size:12.5px; color:var(--em-ink-soft);}
.em-metier-custom-form label{
	display:block;
	font-family:'IBM Plex Mono', monospace;
	font-size:11px;
	letter-spacing:0.06em;
	text-transform:uppercase;
	color:var(--em-ink-soft);
	margin-bottom:8px;
}
.em-metier-custom-row{display:flex; gap:8px; flex-wrap:wrap;}
.em-metier-custom-row input{
	flex:1;
	min-width:220px;
	font-family:'IBM Plex Sans', sans-serif;
	font-size:14px;
	padding:11px 13px;
	border:1px solid var(--em-line);
	border-radius:var(--em-radius);
	background:#fff;
	color:var(--em-ink);
	outline:none;
}
.em-metier-custom-row input:focus{border-color:#35577A;}

/* ---------- Compte / connexion Google ---------- */
.em-compte{
	--em-paper-raised:#FBFAF6;
	--em-ink:#1C2536;
	--em-ink-soft:#4B5568;
	--em-line:#D8D2C4;
	font-family:'IBM Plex Sans', sans-serif;
}
.em-compte-box{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:14px;
	background:var(--em-paper-raised);
	border:1px solid var(--em-line);
	padding:14px 18px;
}
.em-compte-info{font-size:13.5px; color:var(--em-ink-soft);}
.em-compte-info b{color:var(--em-ink);}

/* ---------- Tarifs / PayPal ---------- */
.em-price-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
	align-items:stretch;
	font-family:'IBM Plex Sans', sans-serif;
}
@media (max-width:900px){ .em-price-grid{grid-template-columns:1fr;} }
.em-price-card{
	background:#FBFAF6;
	border:1px solid #D8D2C4;
	display:flex;
	flex-direction:column;
	position:relative;
}
.em-price-featured{border:2px solid #B5792E;}
.em-price-ribbon{
	position:absolute;
	top:-1px; right:16px;
	background:#EBD9DE;
	color:#7A3B4E;
	font-family:'IBM Plex Mono', monospace;
	font-size:10px;
	letter-spacing:0.08em;
	text-transform:uppercase;
	padding:5px 10px;
	border:1px solid #CBA9B4;
	border-top:none;
}
.em-price-head{padding:24px 22px 18px; border-bottom:1px dashed #D8D2C4;}
.em-price-head .em-plan-name{font-family:'Fraunces', serif; font-size:19px; font-weight:600; margin:0 0 4px; color:#1C2536;}
.em-price-head .em-plan-for{font-size:12px; color:#4B5568; margin:0 0 18px;}
.em-price-amount{display:flex; align-items:baseline; gap:4px;}
.em-price-amount .num{font-family:'Fraunces', serif; font-size:38px; font-weight:600; color:#1C2536;}
.em-price-amount .per{font-size:12.5px; color:#4B5568;}
.em-price-body{padding:20px 22px; flex:1; display:flex; flex-direction:column;}
.em-price-body ul{list-style:none; margin:0 0 22px; padding:0; flex:1;}
.em-price-body li{
	font-size:13px;
	color:#1C2536;
	padding:7px 0;
	border-bottom:1px dashed #D8D2C4;
}
.em-price-body li::before{content:'✓ '; color:#3F6B4F; font-weight:700;}
.em-price-body li:last-child{border-bottom:none;}
.em-price-cta-static{
	display:block;
	text-align:center;
	padding:12px;
	border-radius:2px;
	font-weight:600;
	font-size:13.5px;
	background:transparent;
	color:#4B5568;
	border:1px dashed #D8D2C4;
}
.em-price-foot{text-align:center; margin-top:22px; font-size:12.5px; color:#4B5568; font-family:'IBM Plex Sans', sans-serif;}
.em-paypal-btn{min-height:44px;}
