/*
 * GFS Sommaire - style a la charte (vibe Headspace), deux niveaux, sans puces.
 * Polices : Inter + Marcellus, deja chargees localement par le site (pas d'@import).
 */

#gfs-sommaire { margin: 0 0 28px; }

.gfs-toc {
	font-family: "Inter", sans-serif;
	background: #FFFFFF;
	border: 1px solid #E9DEDE;
	border-radius: 18px;
	padding: 14px 20px;
}

.gfs-toc > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.gfs-toc > summary::-webkit-details-marker { display: none; }

.gfs-toc__title {
	font-family: "Marcellus", serif;
	font-size: 20px;
	color: #2C3A53;
}

.gfs-toc__chev {
	width: 11px;
	height: 11px;
	border-right: 2px solid #FFB347;
	border-bottom: 2px solid #FFB347;
	transform: rotate(45deg);
	transition: transform .25s ease;
	margin-top: -4px;
	flex: none;
}
.gfs-toc[open] .gfs-toc__chev { transform: rotate(-135deg); margin-top: 4px; }

/* Niveau 1 : titres (H2) */
.gfs-toc__list {
	list-style: none;
	margin: 12px 0 2px;
	padding: 12px 0 0;
	border-top: 1px solid #EFE7E7;
}
.gfs-toc[open] .gfs-toc__list { animation: gfsTocIn .22s ease; }
@keyframes gfsTocIn {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}
.gfs-toc__list > li { margin: 1px 0; }

.gfs-toc__link {
	display: flex;
	align-items: baseline;
	gap: 8px;
	text-decoration: none;
	color: #2C3A53;
	font-size: 15px;
	line-height: 1.4;
	padding: 7px 10px;
	border-radius: 10px;
	transition: background .15s, color .15s;
}
.gfs-toc__link:hover,
.gfs-toc__link:focus-visible { background: #F4EEFB; color: #7A5BC2; }

/* Numero d'etape : colonne fixe pour aligner tous les libelles, numerotes ou non */
.gfs-toc__num {
	flex: none;
	min-width: 18px;
	color: #7A5BC2;
	font-weight: 600;
}

/* Niveau 2 : sous-titres (H3), indentes, plus discrets, sans puce */
.gfs-toc__sublist {
	list-style: none;
	margin: 2px 0 6px 36px;
	padding: 2px 0 2px 14px;
	border-left: 1px solid #ECE2E2;
}
.gfs-toc__sublist > li { margin: 0; }

.gfs-toc__sublink {
	display: block;
	text-decoration: none;
	color: #5D6575;
	font-size: 13.5px;
	line-height: 1.35;
	padding: 5px 10px;
	border-radius: 8px;
	transition: background .15s, color .15s;
}
.gfs-toc__sublink:hover,
.gfs-toc__sublink:focus-visible { background: #F4EEFB; color: #7A5BC2; }
