/* Thèmes de couleur d’équipe */
.cpa-team--lila     { --cpa-team-tint: #E3E1FA; --cpa-team-ink: #3A2A8C; }
.cpa-team--emeraude { --cpa-team-tint: #D7F2E6; --cpa-team-ink: #0E5A3E; }
.cpa-team--rose     { --cpa-team-tint: #FBE3EC; --cpa-team-ink: #8A2350; }
.cpa-team--glacier  { --cpa-team-tint: #DDF3FB; --cpa-team-ink: #0B5470; }

.cpa-team {
	--cpa-ink: #0C0736;
	--cpa-muted: #5B5470;
	--cpa-line: #E3E1FA;
	--cpa-soft: #F7F6FD;
	font-family: "Plus Jakarta Sans", sans-serif;
	color: var(--cpa-ink);
	display: flex;
	flex-direction: column;
	gap: 28px;
}

/* En-tête d'équipe */
.cpa-team__header {
	background: var(--cpa-team-tint, #E3E1FA);
	border-radius: 22px;
	padding: 28px 32px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}
.cpa-team__heading { display: flex; flex-direction: column; gap: 6px; }
.cpa-team__eyebrow,
.cpa-team__contact-label {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--cpa-team-ink, #3A2A8C);
}
.cpa-team__name {
	margin: 0;
	font-family: "Outfit", sans-serif;
	font-size: 36px;
	line-height: 1.1;
	font-weight: 700;
	color: var(--cpa-ink);
}
.cpa-team__count { margin: 0; font-size: 15px; font-weight: 600; color: var(--cpa-team-ink, #3A2A8C); }

.cpa-team__contact {
	background: #FFFFFF;
	border-radius: 16px;
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 240px;
}
.cpa-team__contact-line {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 600;
	color: var(--cpa-ink);
	text-decoration: none;
	word-break: break-word;
}
.cpa-team__contact-line svg { color: var(--cpa-team-ink, #3A2A8C); flex-shrink: 0; }
a.cpa-team__contact-line:hover { color: #D4537E; }

/* Grille de fiches */
.cpa-team__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
@media (max-width: 1024px) { .cpa-team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px)  { .cpa-team__grid { grid-template-columns: minmax(0, 1fr); } }

/* Fiche */
.cpa-coach {
	background: #FFFFFF;
	border: 1px solid var(--cpa-line);
	border-radius: 22px;
	box-shadow: 0 14px 34px -20px rgba(27, 6, 61, .4);
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.cpa-coach__top { display: flex; gap: 18px; align-items: flex-start; }
.cpa-coach__photo {
	width: 128px;
	aspect-ratio: 4 / 5;
	flex-shrink: 0;
	border-radius: 16px;
	overflow: hidden;
	background: var(--cpa-team-tint, #E3E1FA);
	display: flex;
	align-items: center;
	justify-content: center;
}
.cpa-coach__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cpa-coach__initials {
	font-family: "Outfit", sans-serif;
	font-size: 40px;
	font-weight: 700;
	color: var(--cpa-team-ink, #3A2A8C);
}
.cpa-coach__id { display: flex; flex: 1 1 0; flex-direction: column; gap: 10px; min-width: 0; padding-top: 4px; }
.cpa-coach__name {
	margin: 0;
	font-family: "Outfit", sans-serif;
	font-size: 24px;
	line-height: 1.15;
	font-weight: 700;
	color: var(--cpa-ink);
	/* Les noms longs (ex. Tranchemontagne) se coupent au lieu de déborder de la carte */
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 10 4 4;
}
.cpa-coach__name span { display: block; }
.cpa-coach__cert {
	align-self: flex-start;
	padding: 6px 12px;
	border-radius: 10px;
	background: #1B063D;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
}
/* Précision entre parenthèses, ex. (formé) — toujours sur sa propre ligne */
.cpa-coach__cert-note { display: block; }

.cpa-coach__block { display: flex; flex-direction: column; gap: 8px; }
.cpa-coach__label {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #6B6480;
}
.cpa-coach__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cpa-coach__chips li {
	padding: 5px 11px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	background: var(--cpa-team-tint, #E3E1FA);
	color: var(--cpa-team-ink, #3A2A8C);
}
.cpa-coach__levels {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.cpa-coach__levels > div {
	background: var(--cpa-soft);
	border-radius: 12px;
	padding: 10px 12px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.cpa-coach__levels dt { font-size: 12px; color: #6B6480; }
.cpa-coach__levels dd {
	margin: 0;
	font-family: "Outfit", sans-serif;
	font-size: 17px;
	font-weight: 600;
	color: var(--cpa-ink);
}

.cpa-coach__contact { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.cpa-coach__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 999px;
	border: 2px solid var(--cpa-line);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	color: #1B063D;
	transition: border-color .2s ease, background-color .2s ease;
}
.cpa-coach__btn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cpa-coach__btn svg { flex-shrink: 0; color: var(--cpa-team-ink, #3A2A8C); }
.cpa-coach__btn:hover { border-color: var(--cpa-team-ink, #3A2A8C); background: var(--cpa-team-tint, #E3E1FA); color: #1B063D; }

@media (max-width: 767px) {
	.cpa-team__header { padding: 22px; }
	.cpa-team__name { font-size: 28px; }
	.cpa-team__contact { min-width: 0; width: 100%; }
	.cpa-coach__photo { width: 104px; }
	.cpa-coach__name { font-size: 21px; }
}

/* Niveaux atteints — accordéon fermé par défaut */
.cpa-coach__levels-acc { border-top: 1px solid var(--cpa-line); padding-top: 14px; }
.cpa-coach__levels-acc > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cpa-coach__levels-acc > summary::-webkit-details-marker { display: none; }
.cpa-coach__levels-acc > summary:focus-visible { outline: 2px solid var(--cpa-team-ink, #3A2A8C); outline-offset: 4px; border-radius: 6px; }
.cpa-coach__levels-acc > summary:hover .cpa-coach__label { color: var(--cpa-team-ink, #3A2A8C); }
.cpa-coach__chev { width: 28px; height: 28px; border-radius: 50%; background: var(--cpa-team-tint, #E3E1FA); color: var(--cpa-team-ink, #3A2A8C); display: flex; align-items: center; justify-content: center; transition: transform .2s ease; flex-shrink: 0; }
.cpa-coach__levels-acc[open] .cpa-coach__chev { transform: rotate(180deg); }
.cpa-coach__levels-acc .cpa-coach__levels { margin-top: 12px; }
