/* ══════════════════════════════════════
   PARCOURS — frise des expériences
   Remplace les deux colonnes Expérience / Formation du thème.
   Chaque étape : année en contour + rail lumineux + carte reliée à son projet.
   ══════════════════════════════════════ */
.resume-section .section-header {
	margin-left: auto;
	margin-right: auto;
}

.parcours {
	position: relative;
	max-width: 1120px;
	margin: 0 auto;
}

.parcours-etape {
	position: relative;
	display: grid;
	grid-template-columns: 210px 1fr;
	column-gap: 70px;
	padding-bottom: 34px;
}
.parcours-etape:last-child {
	padding-bottom: 0;
}

/* ── Rail vertical et point lumineux ── */
.parcours-etape::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 244px;
	width: 2px;
	background: linear-gradient(to bottom, var(--tj-theme-primary), var(--tj-theme-secondary));
	opacity: 0.55;
}
.parcours-etape:last-child::before {
	background: linear-gradient(to bottom, var(--tj-theme-primary), transparent);
}
.parcours-etape::after {
	content: "";
	position: absolute;
	top: 34px;
	left: 237px;
	width: 16px;
	height: 16px;
	border: 3px solid var(--tj-black-2);
	border-radius: 50%;
	background: var(--tj-theme-primary);
	box-shadow: 0 0 0 1px var(--tj-theme-primary), 0 0 24px 4px rgba(var(--tj-theme-primary-rgb), 0.55);
}

/* ── Année en contour, comme le mot de fond du hero ── */
.parcours-date {
	padding-top: 10px;
	text-align: right;
}
.parcours-annee {
	display: block;
	font-family: var(--tj-ff-russo);
	font-size: 76px;
	line-height: 1;
	letter-spacing: 0.02em;
	color: transparent;
	-webkit-text-stroke: 1.2px rgba(var(--tj-theme-primary-rgb), 0.75);
	transition: color 0.4s, -webkit-text-stroke-color 0.4s;
}
.parcours-etape:hover .parcours-annee {
	color: rgba(var(--tj-theme-primary-rgb), 0.16);
	-webkit-text-stroke-color: var(--tj-theme-primary);
}
.parcours-periode {
	display: block;
	margin-top: 10px;
	color: var(--tj-white);
	font-size: 14px;
	font-weight: var(--tj-fw-medium);
}
.parcours-duree {
	display: block;
	margin-top: 2px;
	color: var(--tj-grey-1);
	font-size: 13px;
}

/* ── Carte ── */
.parcours-carte {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 250px;
	gap: 34px;
	align-items: center;
	padding: 30px 32px;
	border: 1px solid var(--tj-theme-secondary);
	border-radius: 20px;
	background: linear-gradient(135deg, var(--tj-theme-accent-2) 0%, var(--tj-theme-accent-1) 100%);
	overflow: hidden;
	transition: border-color 0.4s;
}
/* Filet dégradé en haut de la carte */
.parcours-carte::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(to right, var(--tj-theme-primary), transparent 70%);
}
/* Halo violet dans l'angle */
.parcours-carte::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -120px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: var(--tj-theme-primary);
	filter: blur(110px);
	opacity: 0.16;
	pointer-events: none;
	transition: opacity 0.4s;
}
.parcours-etape:hover .parcours-carte {
	border-color: var(--tj-theme-primary);
}
.parcours-etape:hover .parcours-carte::after {
	opacity: 0.32;
}

.parcours-texte {
	position: relative;
	z-index: 1;
}
.parcours-badge {
	display: inline-block;
	margin-bottom: 14px;
	padding: 6px 14px;
	border-radius: 30px;
	background: linear-gradient(to right, var(--tj-theme-primary), var(--tj-theme-secondary));
	color: var(--tj-white);
	font-size: 12px;
	font-weight: var(--tj-fw-bold);
	line-height: 1;
}
.parcours-role {
	margin-bottom: 6px;
	color: var(--tj-white);
	font-size: 26px;
	line-height: 1.25;
}
.parcours-lieu {
	margin-bottom: 14px;
	color: var(--tj-theme-primary);
	font-size: 15px;
	font-weight: var(--tj-fw-bold);
}
.parcours-lieu span {
	color: var(--tj-grey-1);
	font-weight: var(--tj-fw-regular);
}
.parcours-texte p {
	margin-bottom: 18px;
	font-size: 15px;
	line-height: 1.7;
}
.parcours-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.parcours-tags li {
	padding: 6px 13px;
	border: 1px solid var(--tj-theme-secondary);
	border-radius: 30px;
	background-color: rgba(var(--tj-theme-primary-rgb), 0.08);
	color: var(--tj-body);
	font-size: 12.5px;
	line-height: 1;
}

/* ── Aperçu du projet lié (rempli par projets.js) ── */
.parcours-apercu {
	position: relative;
	z-index: 1;
	display: block;
	color: var(--tj-white);
	text-decoration: none;
}
.parcours-apercu:hover {
	color: var(--tj-white);
}
.parcours-vignettes {
	display: grid;
	grid-template-columns: 1.55fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 8px;
	aspect-ratio: 5 / 4;
}
.parcours-vignettes img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	border-radius: 10px;
	border: 1px solid var(--tj-theme-secondary);
}
.parcours-vignettes img:first-child {
	grid-row: 1 / 3;
}
.parcours-lien {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	font-size: 14px;
	font-weight: var(--tj-fw-bold);
}
.parcours-lien i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--tj-theme-secondary);
	border-radius: 50%;
	font-size: 11px;
	color: var(--tj-white);
	transition: background-color 0.4s, border-color 0.4s;
}
.parcours-apercu:hover .parcours-lien i {
	border-color: var(--tj-theme-primary);
	background-color: var(--tj-theme-primary);
}

/* ── Responsive ── */
@media (max-width: 1199px) {
	.parcours-etape {
		grid-template-columns: 170px 1fr;
		column-gap: 60px;
	}
	.parcours-etape::before {
		left: 199px;
	}
	.parcours-etape::after {
		left: 192px;
	}
	.parcours-annee {
		font-size: 60px;
	}
	.parcours-carte {
		grid-template-columns: 1fr 200px;
		gap: 26px;
	}
}

@media (max-width: 991px) {
	.parcours-carte {
		grid-template-columns: 1fr;
	}
	.parcours-apercu {
		max-width: 340px;
	}
}

@media (max-width: 767px) {
	/* Le rail passe à gauche, la date au-dessus de la carte */
	.parcours-etape {
		grid-template-columns: 1fr;
		padding-left: 34px;
		padding-bottom: 30px;
	}
	.parcours-etape::before {
		left: 7px;
	}
	.parcours-etape::after {
		top: 14px;
		left: 0;
	}
	.parcours-date {
		display: flex;
		align-items: baseline;
		flex-wrap: wrap;
		gap: 4px 12px;
		padding-top: 0;
		margin-bottom: 14px;
		text-align: left;
	}
	.parcours-annee {
		font-size: 44px;
	}
	.parcours-periode,
	.parcours-duree {
		margin-top: 0;
	}
	.parcours-carte {
		padding: 24px 20px;
	}
	.parcours-role {
		font-size: 22px;
	}
	.parcours-apercu {
		max-width: none;
	}
}
