/* Bloc cnd/team — valeurs sourcées sur les maquettes Centre canin (#equipe, variante « portrait »)
   et pilier Éducateur canin (#formateurs, variante « carte »). Couleurs par tokens uniquement. */
.cnd.cnd-team { margin: 0; }
.cnd.cnd-team .cnd-team-member__photo {
	position: relative;
	overflow: hidden;
	border-radius: var(--r-md);
	background: var(--brand-tint);
}
.cnd.cnd-team .cnd-team-member__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
	border-radius: 0;
	margin: 0;
}
/* Sans photo : initiales (avatar §7 agrandi), sur la teinte de l'univers. */
.cnd.cnd-team .cnd-team-member__initials {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 48px;
	color: var(--ink);
}
.cnd.cnd-team .cnd-team-member__name {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: var(--t-h3);
	line-height: 1.25;
	color: var(--ink);
	text-decoration: none;
	margin: 0;
}

/* Variante « portrait » : cartes sans cadre dans le carrousel partagé (contre-QA v0.3.1, point 5 —
   remplace l'ancienne grille/rail de défilement nu : à 390 px comme à toute largeur, flèches +
   compteur + clavier, comme la variante « carte »). Desktop : --cnd-per-view au-delà du nombre
   d'items masque les flèches automatiquement (carousel.js ne les affiche que si la piste dépasse
   réellement la largeur visible — jamais de bouton muet). */
.cnd.cnd-team.cnd-team--portrait .cnd-carousel {
	--cnd-per-view: 4;
	--cnd-per-view-md: 3;
}
.cnd.cnd-team.cnd-team--portrait .cnd-carousel__slide { display: flex; }
.cnd.cnd-team.cnd-team--portrait .cnd-team-member {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0;
}
.cnd.cnd-team.cnd-team--portrait .cnd-team-member__photo {
	height: 280px;
	margin-bottom: var(--s-3);
}
.cnd.cnd-team.cnd-team--portrait .cnd-team-member__name { margin-bottom: var(--s-1); }
.cnd.cnd-team .cnd-team-member__role {
	font-family: var(--font-body);
	font-size: var(--t-small);
	line-height: 1.4;
	color: var(--ink-3);
	margin: 0;
}
@media (max-width: 599px) {
	/* Même proportion que l'ancien rail (72vw) plutôt que les 85 % par défaut du carrousel
	   partagé — évite de redécouper les maquettes « équipe » existantes. */
	.cnd.cnd-team.cnd-team--portrait .cnd-carousel__slide { flex-basis: 72vw; }
	.cnd.cnd-team.cnd-team--portrait .cnd-team-member__photo { height: 300px; }
}

/* Variante « carte » : carte bordée dans le carrousel partagé. */
.cnd.cnd-team.cnd-team--card .cnd-carousel__slide { display: flex; }
.cnd.cnd-team.cnd-team--card .cnd-team-member {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	overflow: hidden;
}
.cnd.cnd-team.cnd-team--card .cnd-team-member__photo {
	height: 400px;
	border-radius: 0;
	background: var(--brand-tint-2);
}
.cnd.cnd-team.cnd-team--card .cnd-team-member__img { object-position: center 22%; }
.cnd.cnd-team.cnd-team--card .cnd-team-member__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: var(--s-5);
}
.cnd.cnd-team .cnd-team-member__bio {
	font-family: var(--font-body);
	font-size: var(--t-small);
	line-height: 1.5;
	color: var(--ink-3);
	margin: 0;
}
/* Ligne « centre » : --ink-3 et non le #8A8D92 (--ink-4) de la maquette, 3,3:1 sous le seuil AA. */
.cnd.cnd-team .cnd-team-member__place {
	font-family: var(--font-body);
	font-size: var(--t-caption);
	color: var(--ink-3);
	margin: 0;
}
@media (max-width: 599px) {
	.cnd.cnd-team.cnd-team--card .cnd-team-member__photo { height: 360px; }
}
