/* =========================================================
   Bloc Équipe - Team — styles communs
   ========================================================= */
.ircom-equipe-team {
	--ircom-equipe-columns: 4;
	--ircom-navy: rgba(7, 21, 84, 1);
	--ircom-gray: rgba(7, 21, 84, 1);
	--ircom-gray-light: rgba(147, 154, 186, 1);
	--ircom-etv: rgba(0, 120, 255, 1);
	--ircom-cpv: rgba(255, 43, 108, 1);
	--ircom-radius: 10px;

	display: grid;
	grid-template-columns: repeat(var(--ircom-equipe-columns), 1fr);
	gap: var(--wp--preset--spacing--small);
	box-sizing: border-box;
}

.ircom-equipe-team * {
	box-sizing: border-box;
}
.ircom-equipe-team {
    margin-top: 20px !important;
}
.ircom-equipe-card {
	background: #ffffff;
	border-radius: var(--ircom-radius);
	overflow: hidden;
}

.ircom-equipe-name {
	margin: 0;
	font-weight: 700;
	color: var(--ircom-navy);
	line-height: 1.3;
}

.ircom-equipe-poste,
.ircom-equipe-poste p {
	margin: 0;
	color: var(--ircom-gray);
	font-size: 14px;
	line-height: 1.4;
}

.ircom-equipe-description,
.ircom-equipe-description p {
	margin: 0;
	color: var(--ircom-gray);
	font-size: 14px;
	line-height: 1.6;
}

.ircom-equipe-campus {
	display: block;
	color: var(--ircom-gray-light);
	font-weight: 500;
	font-size: 14px;
	text-align: center;
	margin-bottom: 16px;
}

.ircom-equipe-initials {
	display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: rgba(230, 232, 238, 1);
    color: rgba(147, 154, 186, 1);
    font-weight: 400;
    font-size: 50px;
}

.ircom-equipe-socials {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
}

.ircom-equipe-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.ircom-equipe-tag,
.ircom-equipe-eyebrow {
	font-size: 12px;
	font-weight: 700;
	color: var(--ircom-gray);
}

.ircom-equipe-tag-sep {
	color: var(--ircom-gray-light);
	margin: 0 4px;
	font-size: 12px;
}

.ircom-equipe-empty {
	color: var(--ircom-gray);
	font-style: italic;
}

/* Éléments ajoutés au style 1 et au style 3 uniquement pour l'affichage mobile
   (voir media query plus bas) : masqués par défaut en desktop. */
.ircom-equipe-team--style1 .ircom-equipe-socials,
.ircom-equipe-team--style3 .ircom-equipe-eyebrow,
.ircom-equipe-team--style3 .ircom-equipe-socials {
	display: none;
}

/* =========================================================
   Style 1 — Grille : cercle/initiales + campus + nom + poste
   ========================================================= */
.ircom-equipe-team--style1 .ircom-equipe-card {
	background: rgba(250, 250, 251, 1);
	padding: 24px;
	text-align: center;
}

.bg-white_equipe .ircom-equipe-team--style1 .ircom-equipe-card{
	background: #ffffff;
}

.ircom-equipe-team--style1 .ircom-equipe-avatar {
	width: 150px;
    height: 150px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 16px;
}

.ircom-equipe-team--style1 .ircom-equipe-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ircom-equipe-team--style1 .ircom-equipe-name {
	font-size: 18px;
	text-align: center;
}

.ircom-equipe-team--style1 .ircom-equipe-poste {
	text-align: center;
	margin-top: 3px;
}

/* =========================================================
   Style 2 — Liste simple : nom + poste
   ========================================================= */
.ircom-equipe-team--style2 {
	background: #ffffff;
	padding: 32px 40px;
	border-radius: var(--ircom-radius);
}

.ircom-equipe-team--style2 .ircom-equipe-card {
	background: transparent;
	padding: 0 0;
}

.ircom-equipe-team--style2 .ircom-equipe-style2 {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
}

.ircom-equipe-team--style2 .ircom-equipe-name {
	font-size: 16px;
}

.ircom-equipe-team--style2 .ircom-equipe-poste {
	font-size: 14px;
}

.ircom-equipe-team.ircom-equipe-team--style2 span.ircom-equipe-poste p {
    color: rgba(147, 154, 186, 1) !important;
}
/* =========================================================
   Style 3 — Image + campus + nom + poste + description
   ========================================================= */
.ircom-equipe-team--style3 .ircom-equipe-card {
	background: #f4f5f7;
	padding: 24px;
	display: flex;
	gap: 24px;
	align-items: flex-start;
}

.ircom-equipe-team--style3 .ircom-equipe-style3 {
	display: flex;
	gap: 24px;
	width: 100%;
}

.ircom-equipe-team--style3 .ircom-equipe-image {
	flex: 0 0 270px;
    width: 270px;
    height: 330px;
    border-radius: var(--ircom-radius);
    overflow: hidden;
}

.ircom-equipe-team--style3 .ircom-equipe-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ircom-equipe-team--style3 .ircom-equipe-initials--square {
	border-radius: var(--ircom-radius);
	font-size: 36px;
}

.ircom-equipe-team--style3 .ircom-equipe-content {
	flex: 1;
	min-width: 0;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ircom-equipe-team--style3 .ircom-equipe-campus {
	text-align: left;
	margin-bottom: 6px;
}

.ircom-equipe-team--style3 .ircom-equipe-name {
	font-size: 22px;
	margin-bottom: 6px;
}

.ircom-equipe-team--style3 .ircom-equipe-description {
	margin-top: 12px;
}

/* =========================================================
   Style 4 — Image + badge + nom + poste + description + réseaux
   ========================================================= */
.ircom-equipe-team--style4 .ircom-equipe-card {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	padding: 24px;
	display: flex;
	gap: 24px;
}

.ircom-equipe-team--style4 .ircom-equipe-style4 {
	display: flex;
	gap: 24px;
	width: 100%;
}


.ircom-equipe-team--style4 .ircom-equipe-image {
    flex: 0 0 270px;
    border-radius: var(--ircom-radius);
    overflow: hidden;
    width: 270px;
    height: 330px;
}

.ircom-equipe-team.ircom-equipe-team--style4 .ircom-equipe-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.ircom-equipe-team--style4 .ircom-equipe-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ircom-equipe-team--style4 .ircom-equipe-initials--square {
	border-radius: var(--ircom-radius);
	font-size: 36px;
}

.ircom-equipe-team--style4 .ircom-equipe-content {
	flex: 1;
	min-width: 0;
}

.ircom-equipe-team--style4 .ircom-equipe-eyebrow {
	display: block;
	text-transform: none;
	font-size: 13px;
	margin-bottom: 6px;
}

.ircom-equipe-team--style4 .ircom-equipe-name {
	font-size: 24px;
}

.ircom-equipe-team--style4 .ircom-equipe-poste,
.ircom-equipe-team--style4 .ircom-equipe-poste p {
	font-weight: 700;
	color: var(--ircom-navy);
	margin-top: 4px;
}

.ircom-equipe-team--style4 .ircom-equipe-description {
	margin-top: 10px;
}

/* =========================================================
   Style 5 — Cercle/initiales + nom + poste + réseaux + tags
   ========================================================= */
.ircom-equipe-team--style5 .ircom-equipe-card {
	background: rgba(242, 243, 246, 1);
	padding: 24px;
	text-align: center;
}

.ircom-equipe-team--style5 .ircom-equipe-avatar {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 16px;
}
.ircom-equipe-team.ircom-equipe-team--style5 span.ircom-equipe-tag {
    color: rgba(162, 166, 179, 1);
}
.ircom-equipe-team--style5 .ircom-equipe-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ircom-equipe-team--style5 .ircom-equipe-name {
	font-size: 17px;
	text-align: center;
}

.ircom-equipe-team--style5 .ircom-equipe-poste {
	text-align: center;
	margin-top: 4px;
}

.ircom-equipe-team--style5 .ircom-equipe-socials {
	justify-content: center;
}

.ircom-equipe-team--style5 .ircom-equipe-tags {
	margin-top: 14px;
	font-size: 12px;
	color: var(--ircom-gray);
}

/* =========================================================
   Style 6 — Liste : badges ETV/CPV + nom + poste
   ========================================================= */
.ircom-equipe-team--style6 {
	background: #f4f5f7;
	padding: 32px 40px;
	border-radius: var(--ircom-radius);
}

.ircom-equipe-team--style6 .ircom-equipe-card {
	background: transparent;
	padding: 10px 0;
}

.ircom-equipe-team--style6 .ircom-equipe-style6 {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}

.ircom-equipe-team--style6 .ircom-equipe-badges {
	display: inline-flex;
	gap: 6px;
}

.ircom-equipe-team--style6 .ircom-equipe-name {
	font-size: 15px;
}

.ircom-equipe-team--style6 .ircom-equipe-poste {
	font-size: 14px;
}

/* =========================================================
   Responsive — largeur / colonnes
   ========================================================= */
@media (max-width: 782px) {
	.ircom-equipe-team {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.ircom-equipe-team--style3 .ircom-equipe-card,
	.ircom-equipe-team--style3 .ircom-equipe-style3,
	.ircom-equipe-team--style4 .ircom-equipe-card,
	.ircom-equipe-team--style4 .ircom-equipe-style4 {
		flex-direction: column;
	}

	.ircom-equipe-team--style3 .ircom-equipe-image,
	.ircom-equipe-team--style4 .ircom-equipe-image {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.ircom-equipe-team {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================================
   Responsive — mise en page mobile spécifique par style
   (au-delà de 782px les règles ci-dessus s'appliquent déjà
   pour le nombre de colonnes ; ici on gère la mise en page
   INTERNE de chaque carte sur mobile)
   ========================================================= */
@media (max-width: 600px) {

	/* ---- Style 1 : nom/poste/réseaux à gauche, avatar à droite,
	       campus en pleine largeur en bas ---- */
	.ircom-equipe-team--style1 .ircom-equipe-card {
		padding: 20px;
		text-align: left;
	}

	.ircom-equipe-team--style1 .ircom-equipe-style1 {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"name avatar"
			"poste avatar"
			"socials avatar"
			"campus campus";
		column-gap: 16px;
		row-gap: 8px;
		align-items: start;
	}

	.ircom-equipe-team--style1 .ircom-equipe-name {
		grid-area: name;
		text-align: left;
	}

	.ircom-equipe-team--style1 .ircom-equipe-poste {
		grid-area: poste;
		text-align: left;
		margin-top: 0;
	}

	.ircom-equipe-team--style1 .ircom-equipe-socials {
		grid-area: socials;
		display: flex;
		margin-top: 4px;
	}

	.ircom-equipe-team--style1 .ircom-equipe-avatar {
		grid-area: avatar;
		width: 110px;
		height: 110px;
		margin: 0;
	}

	.ircom-equipe-team--style1 .ircom-equipe-campus {
		grid-area: campus;
		text-align: left;
		margin-top: 12px;
		margin-bottom: 0;
	}

	/* ---- Style 2 : liste empilée avec séparateur ---- */
	.ircom-equipe-team--style2 {
		padding: 8px 20px;
	}

	.ircom-equipe-team--style2 .ircom-equipe-card {
		border-bottom: 1px solid rgba(147, 154, 186, 0.25);
		padding: 16px 0;
		        border-radius: 0;
	}

	.ircom-equipe-team--style2 .ircom-equipe-card:last-child {
		border-bottom: none;
	}

	.ircom-equipe-team--style2 .ircom-equipe-style2 {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	/* ---- Style 3 et Style 4 : même mise en page mobile —
	       badge (si présent) + image en haut, nom/poste/description
	       en pleine largeur, réseaux en bas ---- */
	.ircom-equipe-team--style3 .ircom-equipe-card,
	.ircom-equipe-team--style4 .ircom-equipe-card {
		padding: 20px;
	}

	.ircom-equipe-team--style3 .ircom-equipe-style3,
	.ircom-equipe-team--style4 .ircom-equipe-style4 {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"eyebrow image"
			"name image"
			"poste poste"
			"description description"
			"socials socials";
		column-gap: 16px;
		row-gap: 6px;
		align-items: start;
	}

	.ircom-equipe-team--style3 .ircom-equipe-content,
	.ircom-equipe-team--style4 .ircom-equipe-content {
		display: contents;
	}

	.ircom-equipe-team--style3 .ircom-equipe-campus {
		display: none;
	}

	.ircom-equipe-team--style3 .ircom-equipe-eyebrow,
	.ircom-equipe-team--style4 .ircom-equipe-eyebrow {
		grid-area: eyebrow;
		display: block;
		margin-bottom: 0;
	}

	.ircom-equipe-team--style3 .ircom-equipe-name,
	.ircom-equipe-team--style4 .ircom-equipe-name {
		grid-area: name;
		font-size: 20px;
		margin-top: 4px;
		margin-bottom: 0;
	}

	.ircom-equipe-team--style3 .ircom-equipe-poste,
	.ircom-equipe-team--style4 .ircom-equipe-poste {
		grid-area: poste;
		margin-top: 4px;
	}

	.ircom-equipe-team--style3 .ircom-equipe-description {
		grid-area: auto;
        margin-top: 6px;
	}
	
	.ircom-equipe-team--style4 .ircom-equipe-description {
		grid-area: description;
		margin-top: 6px;
	}

	.ircom-equipe-team--style3 .ircom-equipe-socials,
	.ircom-equipe-team--style4 .ircom-equipe-socials {
		grid-area: socials;
		display: flex;
		margin-top: 8px;
	}

	.ircom-equipe-team--style3 .ircom-equipe-image,
	.ircom-equipe-team--style4 .ircom-equipe-image {
		grid-area: image;
		width: 120px;
		height: 135px;
		justify-self: end;
	}

	/* ---- Style 5 : identique au style 1, avec les tags
	       (ETV/CPV + expertise) en pleine largeur en bas ---- */
	.ircom-equipe-team--style5 .ircom-equipe-card {
		padding: 20px;
		text-align: left;
	}

	.ircom-equipe-team--style5 .ircom-equipe-style5 {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"name avatar"
			"poste avatar"
			"socials avatar"
			"tags tags";
		column-gap: 16px;
		row-gap: 8px;
		align-items: start;
	}

	.ircom-equipe-team--style5 .ircom-equipe-name {
		grid-area: name;
		text-align: left;
	}

	.ircom-equipe-team--style5 .ircom-equipe-poste {
		grid-area: poste;
		text-align: left;
		margin-top: 0;
	}

	.ircom-equipe-team--style5 .ircom-equipe-socials {
		grid-area: socials;
		justify-content: flex-start;
		margin-top: 4px;
	}

	.ircom-equipe-team--style5 .ircom-equipe-avatar {
		grid-area: avatar;
		width: 100px;
		height: 100px;
		margin: 0;
	}

	.ircom-equipe-team--style5 .ircom-equipe-tags {
		grid-area: tags;
		margin-top: 12px;
		text-align: left;
	}

	/* ---- Style 6 : liste empilée, badge au-dessus du nom,
	       séparateur entre chaque entrée ---- */
	.ircom-equipe-team--style6 {
		padding: 8px 20px;
	}

	.ircom-equipe-team--style6 .ircom-equipe-card {
		border-bottom: 1px solid rgba(147, 154, 186, 0.25);
		padding: 16px 0;
		border-radius: 0;
	}
	.ircom-equipe-team.ircom-equipe-team--style6 {
		gap: 0;
	}
	.ircom-equipe-team--style6 .ircom-equipe-card:last-child {
		border-bottom: none;
	}

	.ircom-equipe-team--style6 .ircom-equipe-style6 {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.ircom-equipe-team--style6 .ircom-equipe-badges {
		margin-bottom: 2px;
	}
}