/* @override 
	https://psynovia.gorelkine.com/wp-content/themes/psynovia/assets/css/psynovia-membres.css?* */

/**
 * PSYNOVIA - Styles Membres, Comités & Groupes Thématiques
 * Fichier : assets/css/psynovia-membres.css
 */

/* =====================================================
   VARIABLES (reprend la palette existante)
   ===================================================== */

:root {
	--psn-purple-dark: #453B5E;
	--psn-purple-mid: #6071B5;
	--psn-orange: #F07864;
	--psn-yellow: #FECE7A;
	--psn-teal: #87CBC2;
	--psn-blue: #8AB5E1;
	--psn-gray: #919191;
	--psn-radius-card: 100px; /* coin haut droit, cohérent avec .psynovia-article-card */
	--psn-shadow: 0 3px 10px rgba(0,0,0,.15);
	--psn-shadow-hover: 0 5px 20px rgba(0,0,0,.15);
}

   .psn-groupe-card__titre, .psn-comite-card__nom, .psn-membre-card__nom{
   			font-size: 30px;
   			font-weight: 500!important;
   			line-height: 1.3;
   			margin: 0;
   }
   .psn-membre-card__poste {
   		font-size: 20px;
   		text-transform: uppercase;
   		font-weight: 300;
   		padding-bottom: 10px;   		margin: 0;   		margin-bottom: 15px;
   		border-bottom: 1px solid #333!important;
   }
   .psn-membre-card__nom{   		padding-bottom: 15px;   		border-bottom: 1px solid #333!important;   		margin-bottom: 10px;   	}



/* =====================================================
   CARTE FICHE MEMBRE
   ===================================================== */

.psn-membre-card {
	background: #fff;
	border-radius: 0;
	border-top-right-radius: var(--psn-radius-card);
	box-shadow: var(--psn-shadow);
	transition: transform .3s ease, box-shadow .3s ease;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	animation: fadeIn .5s ease-out;
}

.psn-membre-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--psn-shadow-hover);
}

/* Photo : carré pleine largeur, pas de filtre, fond coloré */

.psn-membre-card__photo {
	width: 100%;
	aspect-ratio: 6 / 5;
	overflow: hidden;
	flex-shrink: 0;
}

.psn-membre-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	transition: transform .3s ease;
}


.psn-membre-card__photo-placeholder {
	width: 100%;
	height: 100%;
}

/* Corps : flex column, occupe l'espace restant */

.psn-membre-card__body {
	padding: 25px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Zone texte : prend tout l'espace disponible avant les boutons */

.psn-membre-card__info {
	flex: 1;
	display: flex;
	flex-direction: column;
}




.psn-membre-card__etablissement {
	font-size: 12px;
	color: var(--psn-gray);
	margin: 0 0 8px;
	font-style: italic;	display: none;
}

/* Bio preview : strictement 2 lignes avec line-clamp */

.psn-membre-card__bio-preview {
	font-size: 20px;
	font-weight: 300;
	line-height: 1.4;
	margin: 0 0 4px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.psn-membre-card__lire-plus {
	background: none;
	border: none;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color .2s;
	text-align: right;
	margin-bottom: 8px;
	margin-top: 10px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #453B5E;
}

.psn-membre-card__lire-plus:hover {
	color: var(--psn-orange);	text-decoration: none;}

/* Actions : collées en bas de carte, inline */

.psn-membre-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: flex-end;
	margin-top: auto;
	padding-top: 30px;
}

/* Boutons Publications + ID */

.psn-membre-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	
	padding: 15px 24px;
	border-radius: 100px;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
	color: var(--psn-purple-dark);
	box-shadow: var(--psn-shadow);
	background: transparent;
	white-space: nowrap;
	line-height: 1;
	height: 50px;
}

.psn-membre-btn:hover {
	background: var(--psn-purple-dark);
	color: #fff!important;
}

/* Bouton ID : juste l'icône, carré */

.psn-membre-btn--orcid {
	padding: 0;
	
}

.psn-membre-btn--orcid img {
	display: block;
	flex-shrink: 0;
	width: 50px;
	height: 50px;
}
.psn-membre-btn--orcid:hover {
	background: none;
	box-shadow: none;
}
.psn-membre-btn--orcid:hover img {
	
}


/* =====================================================
   GRILLE FICHES MEMBRES
   ===================================================== */

.psn-membres-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 50px;
	padding-left: 10%;	margin-top: 50px;
}

.psn-membres-grid--cols-2 {
	grid-template-columns: repeat(2, 1fr);
}

.psn-membres-grid--cols-3 {
	grid-template-columns: repeat(3, 1fr);
}

.psn-membres-grid--cols-4 {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1200px) {
	.psn-membres-grid {
		grid-template-columns: repeat(2, 1fr);
	}
    /* La grille 4 colonnes passe à 3 */
	
	.psn-membres-grid--cols-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 900px) {
	.psn-membres-grid, .psn-membres-grid--cols-3, .psn-membres-grid--cols-4 {
		grid-template-columns: repeat(2, 1fr);
		padding-left: 0;
	}
	.psn-membre-card__body {
		padding: 20px 15px 25px!important;
	}

}

@media (max-width: 560px) {
	.psn-membres-grid, .psn-membres-grid--cols-2, .psn-membres-grid--cols-3, .psn-membres-grid--cols-4 {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* =====================================================
   LIGHTBOX FICHE MEMBRE
   ===================================================== */

.psn-membre-lightbox-overlay {
	position: fixed;
	inset: 0;
	background: rgba(31, 24, 48, .88);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: fadeIn .25s ease;
}

.psn-membre-lightbox {
	background: #fff;
	border-top-left-radius: 130px;
	max-width: 1000px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	position: relative;
	padding: 30px 30px 25px;
	box-shadow: 0 20px 60px rgba(0,0,0,.35);}

.psn-membre-lightbox__close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #433B5E;
	font-size: 0px;
	font-weight: 300;
	line-height: 1;
	transition: background .2s;
	background: none;
	transition: all 0.2s ease-in-out 0s;
}

.psn-membre-lightbox__close:before {
	content: '\e809';
	font: 40px icones-psynovia!important;
	line-height: 50px!important;
	border-radius: 0!important;
	overflow: visible!important;
}
.psn-membre-lightbox__close:hover {
	color: #F07864;
	transition: all 0.2s ease-in-out 0s;
}


.psn-membre-lightbox__inner {
	display: flex;
	gap: 30px;
	align-items: flex-start;
}

.psn-membre-lightbox__photo {
	flex-shrink: 0;
	width: 4000px;
	height: auto;
	border-radius: 0;	border-top-left-radius: 100px;
	overflow: hidden;	max-width: 33%;	min-width: 240px;
}

.psn-membre-lightbox__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.psn-membre-lightbox__photo-placeholder {
	width: 100%;
	height: 100%;
	background: var(--psn-teal);
}

.psn-membre-lightbox__content {
	flex: 1;
	min-width: 0;
}

.psn-membre-lightbox__poste {
	font-size: 18px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: .8px;
	margin: 0;
	line-height: 1.2em;
	color: var(--psn-purple-dark);	padding-right: 80px;
}

.psn-membre-lightbox__nom {
	font-size: 40px;
	font-weight: 500;
	color: var(--psn-purple-dark);
	margin: 0 0 20px;
	line-height: 1.2;	padding-right: 50px;
}

.psn-membre-lightbox__etablissement {
	display: none;
}

.psn-membre-lightbox__bio {
	font-size: 20px;
	line-height: 1.3;

	font-weight: 300;
	color: var(--psn-purple-dark);
}

.psn-membre-lightbox__bio p {
	margin-bottom: 10px;
}

.psn-membre-lightbox__actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 25px;
}

@media (max-width: 768px) {
	.psn-membre-lightbox {
		padding: 30px 30px 30px;
	}		.psn-membre-lightbox__nom {
	font-size: 30px;	margin-bottom: 10px;	padding: 0;
}.psn-groupe-card__titre, .psn-comite-card__nom, .psn-membre-card__nom {	font-size: 25px;}.psn-membre-lightbox__poste, .psn-membre-card__poste {
	font-size: 15px;	
}
	
	.psn-membre-lightbox__inner {
		flex-direction: column;
		gap:20px;
	}
.psn-membre-lightbox__bio, .psn-membre-card__bio-preview {	font-size: 18px;	}
}
@media (max-width: 488px) {
	}
/* =====================================================
   CARROUSEL COMITÉ
   ===================================================== */

.psn-comite-carousel-wrapper {
	position: relative;
	overflow: visible;
	padding: 70px 0 50px;
	display: flex;
}

.psn-comite-carousel-nav {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 16%;
	min-width: 120px;	padding-right: 20px;
}

.psn-comite-carousel-titre {
	font-size: 25px;
	font-weight: 500!important;
	letter-spacing: .5px;
	margin: 0 0 10px;
	line-height: 1.3;
}

.psn-comite-arrows {
	display: flex;
	flex-direction: row;
	gap: 20px;
	align-items: center;	margin-top: 40px;
}

.psn-comite-prev, .psn-comite-next {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--psn-purple-dark);
	transition: color .2s, opacity .2s;
	flex-shrink: 0;
	line-height: 1;
	font-size: 0; /* masque le texte brut */}

.psn-comite-prev::before,
.psn-comite-next::before {
	font-family: 'icones-psynovia' !important;
	font-size: 18px;
	line-height: 1;
	color: inherit;
}

.psn-comite-prev::before {
	content: "\E80B";
}

.psn-comite-next::before {
	content: "\E80C";
}

/* Masquer le SVG inline si présent */
.psn-comite-prev svg, .psn-comite-next svg {
	display: none;
}

.psn-comite-prev:hover, .psn-comite-next:hover {
	color: var(--psn-purple-mid);
}

.psn-comite-prev:disabled, .psn-comite-next:disabled {
	opacity: .25;
	cursor: not-allowed;
}

.psn-comite-carousel {
	overflow: hidden;
	padding: 15px 10px 20px; /* espace pour les ombres sur les 4 côtés */
	margin: -15px -10px -20px;
	width: 90%;
}

.psn-comite-track {
	display: flex;
	gap: 20px;
	transition: transform .4s ease;
	overflow: visible!important;
	will-change: transform;
}

/* =====================================================
   CARTE COMITÉ (dans le carrousel)
   ===================================================== */


.psn-comite-card__hopital {
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: .6px;
	margin: 0;
	text-align: left;
	font-weight: 500!important;
	padding-bottom: 10px;
	border-bottom: 1px solid #433B5E!important;
}

.psn-comite-card__photo {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	background: #f0eef5;
	flex-shrink: 0;
}

.psn-comite-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.psn-comite-card__nom {
	margin: 0;
	text-align: left;
	font-family: early-sans-variable, sans-serif!important;
}

.psn-comite-card__poste {
	font-size: 20px;
	font-weight: 400;
	margin: 0;	text-align: left;	text-transform: uppercase;}#comite-restreint .psn-comite-card__poste {	display: none;}

.psn-comite-card {
	flex: 0 0 calc(20% - 16px); /* 5 visibles par défaut */
	min-width: 160px;
	min-height: 300px;
	background: #fff;
	border-radius: 0;
	border-top-right-radius: 40px;
	box-shadow: var(--psn-shadow);
	padding: 20px 15px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: le;
	gap: 8px;
}


@media (max-width: 1640px) {
	.psn-comite-card {
		flex-basis: calc(25% - 15px);
	}
}
@media (max-width: 1300px) {
	.psn-comite-card {
		flex-basis: calc(33.333% - 14px);
	}
}
@media (max-width: 1050px) {
			.psn-comite-carousel-wrapper {
		flex-direction: column;		padding: 50px 0 40px;
	}
	.psn-comite-carousel-nav {
		width: 100%;
		margin-bottom: 20px;		flex-direction: row;		padding-right: 0;
    }
	.psn-comite-carousel {
		width: calc(100% + 20px);
	}	.psn-comite-carousel-titre {		width: 60%;	}	.psn-comite-arrows {
	width: 40%;	justify-content: flex-end;	margin: 0;
}
}

@media (max-width: 720px) {
.psn-comite-card {
		flex-basis: calc(50% - 10px);
	}	.psn-comite-carousel-titre {	 font-size: 22px;	}
}

@media (max-width: 480px) {
	.psn-comite-card {
		flex-basis: calc(100%);
	}	.psn-comite-carousel-titre {	 font-size: 20px;	}
}

/* =====================================================
   GRILLE GROUPES THÉMATIQUES
   ===================================================== */

.psn-groupes-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	margin-bottom: 30px;
	padding: 70px 0;
	padding-left: 16%;
}.psn-groupe-card__titre {		font-size: 25px;}

@media (max-width: 1640px) {
	.psn-groupes-grid {
		grid-template-columns: repeat(4, 1fr);
	}	.psn-groupe-card__titre {		font-size: 30px;}
}

@media (max-width: 1300px) {
	.psn-groupes-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}@media (max-width: 1050px) {
	.psn-groupes-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 768px) {
	.psn-groupes-grid {
		grid-template-columns: repeat(2, 1fr);
		padding-left: 0;
	}	.psn-comite-card__hopital {	font-size: 13px;}			.psn-groupe-card__titre {		font-size: 25px;}
}
@media (max-width: 520px) {
	.psn-groupes-grid {
		grid-template-columns: 1fr;
	}
}

/* =====================================================
   CARTE GROUPE THÉMATIQUE
   ===================================================== */
   


.psn-groupe-card {
	background: #fff;
	border-top-right-radius: 50px;
	box-shadow: var(--psn-shadow);
	padding: 20px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: transform .3s ease, box-shadow .3s ease;
	animation: fadeIn .5s ease-out;
	word-break: break-word;
	min-height: 300px;
}

.psn-groupe-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--psn-shadow-hover);
}

.psn-groupe-card__annee {
	font-size: 15px;
	font-weight: 500;
	color: var(--psn-gray);
	text-transform: uppercase;
	letter-spacing: .5px;
	display: block;
	border-bottom: 1px solid #433B5E!important;
	padding-bottom: 8px;
	line-height: 1.2;
	color: #302D4D;
}

.psn-groupe-card__titre {
	color: var(--psn-purple-dark);
	margin: 0;
	flex: 1;
}

.psn-groupe-card__footer {
	margin-top: auto;
	padding-top: 10px;
}
/* Bouton carte groupe : reprend .psynovia-btn mais plus compact */

.psn-groupe-card .psynovia-btn {
	display: block;
	width: 100%;
	padding: 20px 5px;
	font-size: 15px;
	min-width: unset;
	text-align: center;
}

.psn-groupe-card .psynovia-btn--contact {
	
}

.psn-groupe-card .psynovia-btn--contact:hover {
	
}

/* =====================================================
   "VOIR TOUS" LIEN (groupes thématiques)
   ===================================================== */

.psn-voir-tous-wrapper {
	text-align: right;
	margin-top: 10px;
}

.psn-voir-tous-link {
	font-size: 14px;
	font-weight: 700;
	color: var(--psn-purple-dark);
	text-transform: uppercase;
	letter-spacing: .5px;
	text-decoration: none;
	border-bottom: 2px solid var(--psn-purple-dark);
	padding-bottom: 2px;
	transition: color .2s, border-color .2s;
}

.psn-voir-tous-link:hover {
	color: var(--psn-orange);
	border-color: var(--psn-orange);
}

/* =====================================================
   SECTION "AUTRES GROUPES THÉMATIQUES" (bas de fiche)
   ===================================================== */



/* =====================================================
   SINGLE GROUPE THÉMATIQUE
   ===================================================== */

.psn-groupe-single {
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 0;	padding-top: 25px;	font-size: 25px;
}

.psn-groupe-single__label {
	color: #6071B5;
	font-size: 25px;
	text-transform: uppercase;	margin-bottom: 30px;
}

.psn-groupe-single__titre {
	font-size: 80px;
	font-weight: 500;
	color: var(--psn-purple-dark);
	margin: 0 0 80px;
	line-height: 1.05;
}

.psn-groupe-single__intro {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	margin-bottom: 40px;
}


.psn-groupe-single__body p {
	margin-bottom: 15px;
}

.psn-groupe-single__body strong {
	font-weight: 700;
}
/* H2 dans le wysiwyg = titres de section (ex. "Principales avancées…") */

.psn-groupe-single__body h2, h2.psn-groupe-single__section-title, .psn-avancee__titre {
	color: #8AB5E1;
	margin-top: 50px;		font-weight: 500;
}.psn-groupe-single__body h2, h2.psn-groupe-single__section-title, .psn-avancee__titre, .psynovia-single-article .entry-content h2{	font-size: 40px;}

.psn-groupe-single__body h3 {
	font-size: 18px;
	font-weight: 600;
	color: var(--psn-purple-dark);
	margin: 25px 0 12px;
}

.psn-groupe-single__referents {
	margin-top: 40px;
}

.psn-groupe-single__referent {
	font-weight: 500!important;
}

.psn-groupe-single__referent span {
	font-weight: 500!important;
	font-style: normal!important;	margin-left: -0.2em;
}

@media (max-width: 768px) {
	.psn-groupe-single__titre {
		font-size: 40px;		margin-bottom: 50px;
	}	.psn-groupe-single__label {
	font-size: 20px!important;
}
.psn-groupe-single__body h2, h2.psn-groupe-single__section-title, .psn-avancee__titre, .psynovia-single-article .entry-content h2  {	font-size: 30px;}.psn-groupe-single {	font-size: 20px;
}
}
@media (max-width: 480px) {
	.psn-groupe-single__titre {
		font-size: 30px;
	}	.psn-groupe-single__label {
	font-size: 18px!important;	margin-bottom: 20px;
}.psn-groupe-single__body h2, h2.psn-groupe-single__section-title, .psn-avancee__titre, .psynovia-single-article .entry-content h2 {	font-size: 25px;	margin-bottom: 0;}.psn-groupe-single {	font-size: 18px;
}
}


/* =====================================================
   WRAPPER + TITRE GROUPES THÉMATIQUES
   ===================================================== */
.psn-groupes-grid-wrapper {
	position: relative;
}

.psn-groupes-titre {
	position: absolute;
	left: 0;
	top: 70px;
	width: 16%;
	font-size: 25px;
	font-weight: 500!important;
	letter-spacing: .5px;
	color: var(--psn-purple-dark);
	margin: 0;
	line-height: 1.3;
	padding-right: 20px;
}

@media (max-width: 1050px) {
	.psn-groupes-titre {
		position: static;
		width: 100%;
		padding-right: 0;
		margin-bottom: 0px;
		padding-top: 40px;
	}		.psn-groupes-grid {		padding-top: 20px;		}
}


/* =====================================================
   BOUTON "NOUS CONTACTER" (sous le carrousel comité)
   ===================================================== */

.psn-comite-contact-btn-wrapper {
	display: flex;
	justify-content:center;
	padding-bottom: 70px;
}

.psn-comite-contact-btn.avia-button {
	margin: 0 !important;	background: #6170B5;	color: #fff;
}@media (max-width: 1050px) {	.psn-comite-contact-btn-wrapper {
	padding-bottom: 50px;
}}

/* =====================================================
   DRAG CARROUSEL
   ===================================================== */
.psn-comite-track {
	cursor: grab;
	user-select: none;
}

.psn-comite-track.psn-dragging {
	cursor: grabbing;
}

.psn-comite-track.psn-dragging .psn-comite-card {
	pointer-events: none;
}

/* =====================================================
   MENTION « MEMBRE INVITÉ »
   Sous le nom, en plus petit, détachée par un filet. Elle vivait dans le titre
   de la fiche, entre parenthèses, ce qui l'alignait sur le nom et allongeait
   la ligne.
   ===================================================== */

/* Même traitement que la fonction sur les vignettes à photo : capitales,
   corps 20, graisse légère, prise entre deux filets. */
.psn-comite-card__invite {
	font-size: 20px;
	font-weight: 300;
	line-height: 1.2;
	text-transform: uppercase;
	text-align: left;
	margin: 0 0 15px;
	padding-top: 10px;
	padding-bottom: 10px;
	border-top: 1px solid #333 !important;
	border-bottom: 1px solid #333 !important;
}

/* Mention « Nouveau » posée à côté de l'année, sur la carte d'un groupe
   thématique comme dans le chapeau de sa page. L'année porte un filet bas :
   la pastille se cale à droite sur la même ligne. */
.psn-groupe-card__annee {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
}

.psn-groupe-badge-nouveau {
	display: inline-block;
	background: #8AB5E1;
	color: #fff;
	font-size: calc(1em - 1px);   /* un poil sous l'année qu'elle accompagne */
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .8px;
	line-height: 1;
	padding: 5px 11px 4px;
	border-radius: 100px;
	vertical-align: middle;
	margin: 0;
}

/* Sous-partie des membres invités masquée en attendant l'arbitrage de la
   cliente. Retirer ce bloc pour la remettre en ligne : le rendu est prêt.
   ⚠️ Tant qu'elle est masquée, les membres invités n'apparaissent nulle part
   sur la page, ayant été sortis du carrousel. */
.psn-comite-invites {
	display: none;
}

/* =====================================================
   ACCORDÉONS « PRINCIPALES AVANCÉES ET PROJETS »
   Un bloc par année sur la fiche d'un groupe thématique.
   ===================================================== */

.psn-groupe-avancees {
	margin: 40px 0 8px;
}

.psn-avancee {
	border-top: 1px solid rgba(69, 59, 94, .35) !important;
}

.psn-avancee:last-child {
	border-bottom: 1px solid rgba(69, 59, 94, .35) !important;
}

/* Le bouton porte l'interaction : cliquable au clavier, annoncé aux lecteurs
   d'écran par aria-expanded, sans qu'il faille ajouter de rôle à la main. */
.psn-avancee__entete {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 20px 4px;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-align: left;
	cursor: pointer;
	color: #453B5E;
	font-family: early-sans-variable, sans-serif;   /* un bouton n'hérite pas de la police */
}

.psn-avancee__entete:hover,
.psn-avancee__entete:focus-visible {
	background: none;
	color: #EF7753;
}

/* La typographie du titre vient des règles de titre de section ci-dessus.
   Il ne reste ici que ce qui tient à sa mise en page dans le bouton : les
   marges d'un h2 n'ont pas de sens sur une ligne d'accordéon. */
.psn-avancee__titre {
	margin: 0 !important;
	line-height: 1.2;
}

.psn-avancee__entete:hover .psn-avancee__titre,
.psn-avancee__entete:focus-visible .psn-avancee__titre {
	color: #EF7753;
}

.psn-avancee__chevron {
	flex: 0 0 auto;
	width: 14px;
	height: 22px;
	color: #EF7753;
	transition: transform .3s ease;
}

.psn-avancee__chevron svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* Fermé, le chevron pointe à droite ; ouvert, il a pivoté d'un quart de tour. */
.psn-avancee.active .psn-avancee__chevron {
	transform: rotate(90deg);
}

/* L'ouverture est portée par la seule classe `active`.
   La rangée de grille passe de 0fr à 1fr : la hauteur d'ouverture est la
   hauteur réelle du contenu, sans plafond à deviner. Un `max-height` fixe
   coupait la fin des textes les plus longs (mesuré à 7153 px sur Autisme pour
   un plafond posé à 5000). Les navigateurs qui n'animent pas cette propriété
   ouvrent et ferment quand même, sans le fondu. */
.psn-avancee__panneau {
	max-height: 0;
	overflow: hidden;
	transition: max-height .35s ease;
}

/* Le plafond n'est pas une hauteur voulue mais une borne de sécurité : il doit
   rester hors d'atteinte. Le texte le plus long du site, « Autisme », mesure
   7153 px sur un écran étroit ; le plafond de 5000 px posé au départ le coupait.
   15000 px laisse le double de marge au pire cas observé. */
.psn-avancee.active .psn-avancee__panneau {
	max-height: 15000px;
}

.psn-avancee__contenu {
	padding: 0 4px 24px;
}

.psn-avancee__contenu > *:first-child { margin-top: 0; }
.psn-avancee__contenu > *:last-child  { margin-bottom: 0; }

/* Repli sans JavaScript : tout est déplié plutôt que définitivement masqué. */
.no-js .psn-avancee__panneau {
	max-height: none;
}

@media (max-width: 720px) {
	.psn-avancee__entete {
		padding: 16px 2px;
	}
}
