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

/**
 * PSYNOVIA - Styles pour les grilles d'articles
 * Compatible avec Enfold / Avia Builder
 * Fichier : assets/css/psynovia-articles.css
 */   /**


/* ===========================
   COMPATIBILITÉ ENFOLD
   =========================== */
/* Reset pour éviter les conflits avec Enfold */.psynovia-articles-wrapper * {	box-sizing: border-box;}.psynovia-articles-wrapper {	width: 100%;}

/* Pour utilisation dans les Color Sections d'Avia Builder */.avia-builder-el-no-sibling .psynovia-articles-wrapper {	margin-top: 0;}/* ===========================
   BANDEAU TITRE PAGE (STYLE MAQUETTE)
   =========================== */

/* Container du titre - pleine largeur */.title_container {	position: relative;	overflow: visible;}

/* Conteneur interne avec padding et couleur */.title_container .container {	padding: 0!important;	max-width: 100%!important;}

/* Titre de la page */.title_container .container .main-title {	position: relative;	z-index: 2;	font-size: 80px;	font-weight: 700;	color: #453B5E;	margin: 0;	font-weight: 500!important;	font-family: early-sans-variable, sans-serif!important;	padding: 60px 50px 40px;	overflow: visible;	border-bottom-right-radius: 300px;	display: flex;	flex-direction: column;	justify-content: flex-end;	padding-left: calc(50% - 770px);	max-width: calc(50% + 770px);	line-height: 1;	min-height: 220px;	padding-right: 200px;}.titre-border-top {	padding-bottom: 0!important;	padding-top: 1em;	border-top: 1px solid #433B5E!important;	margin-top: 70px!important;	margin-bottom: 40px;}

/* Enlever les styles dark_bg_color par défaut d'Enfold */.title_container.dark_bg_color {	background-color: transparent !important;}.chapeau p {	max-width: 80%;	font-size: 36px;	font-weight: 500!important;}

/* Responsive */@media (max-width: 1640px) {	.title_container .container .main-title {		padding-left: 50px;		max-width: calc(95%);	}}@media (max-width: 1200px) {	.title_container .container .main-title {		font-size: 60px;		min-height: 200px;	}		.chapeau p {		font-size: 30px!important;	}}
@media (max-width: 967px) {	.title_container .container h1.main-title.entry-title {		font-size: 50px;	}		.chapeau p {		font-size: 26px!important;	}}

@media (max-width: 768px) {	.title_container .container h1.main-title.entry-title {		font-size: 40px;	}		.chapeau p {		font-size: 25px!important;		max-width: 100%;	}		.title_container .container .main-title {		padding-left: 30px;		min-height: 150px;		padding-bottom: 30px;	}		.titre-border-top {		padding-bottom: 0!important;		padding-top: 1em;		margin-top: 50px!important;		margin-bottom: 25px;	}}

@media (max-width: 480px) {	.title_container .container h1.main-title.entry-title {		font-size: 36px;	}		.title_container .container .main-title {		padding-left: 30px;		min-height: 130px;		padding-bottom: 25px;	}		.chapeau p {		font-size: 20px!important;	}}

/* ===========================
   FILTRES
   =========================== */.psynovia-filters {	margin-bottom: 40px;}.psynovia-category-filters {	display: flex;	flex-wrap: wrap;	gap: 10px;	margin-bottom: 20px;}


/* Style par défaut pour "Toutes les actualités" */.psynovia-filter-btn[data-filter="all"] {
	border-color: #453B5E !important;
	background: #453B5E !important;
	color: #ffffff !important;
}.psynovia-filter-btn[data-filter="all"]:hover {
	background: #ffffff !important;
	color: #453B5E !important;
}.psynovia-filter-btn[data-filter="all"].active {
	background: #ffffff !important;
	border-color: #453B5E !important;
	color: #453B5E !important;
}

/* Rangée des filtres (FILTRER PAR + année + recherche + reset) */.psynovia-filters-row {	display: flex;	align-items: center;	gap: 15px;	flex-wrap: wrap;}.psynovia-filters-label {	font-size: 15px;	font-weight: 700;	color: #453B5E;	text-transform: uppercase;	letter-spacing: 0.5px;	white-space: nowrap;}.psynovia-year-filter, .psynovia-keyword-filter {	position: relative;}

/* Style personnalisé pour le select avec SVG */.psynovia-year-filter select::-ms-expand {	display: none;}.psynovia-keyword-filter input {	cursor: text;	padding-right: 15px;}.psynovia-category-filters {	display: flex;	flex-wrap: wrap;	gap: 10px;	margin-bottom: 20px;}.psynovia-filter-btn {	padding: 10px 20px;	background: #ffffff;	border: 2px solid #e0e0e0;	border-radius: 25px;	font-size: 14px;	font-weight: 600;	cursor: pointer;	transition: all 0.3s ease;	text-transform: uppercase;}.psynovia-filter-btn:hover {	}.psynovia-filter-btn.active {	background: #453B5E;	border-color: #453B5E;	color: #ffffff;	opacity: 1;}.psynovia-year-filter, .psynovia-keyword-filter {	position: relative;}.psynovia-year-filter select, .psynovia-keyword-filter input {	padding: 8px 40px 8px 15px;	border: 2px solid #e0e0e0;	border-radius: 5px;	font-size: 15px;	min-width: 150px;	background-color: #ffffff;	cursor: pointer;	margin: 0!important;	font-size: 15px!important;	letter-spacing: 0.5px;	height: 40px;	border: 1px solid #333!important;	border-radius: 100px!important;	padding-left: 15px!important;}

/* Style personnalisé pour le select avec SVG */.psynovia-year-filter select {	appearance: none;	-webkit-appearance: none;	-moz-appearance: none;	background-image: url('../images/icone-fleche-filtre.svg');	background-repeat: no-repeat;	background-position: right 12px center;	background-size: 12px;	padding-right: 35px;	text-transform: uppercase;	font-weight: bold!important;	background-image: url('../../images/icone-fleche-filtre.svg')!important;	background-repeat: no-repeat!important;	background-position: right 12px center!important;}.psynovia-year-filter select::-ms-expand {	display: none;}.psynovia-keyword-filter input {	cursor: text;	padding-right: 15px;	font-size: 20px!important;}.psynovia-keyword-filter input::placeholder {	font-size: 20px;	font-weight: 300;	color: #453B5E!important;}.psynovia-reset-filters:active {	transform: scale(0.95);}/* ===========================
   TOGGLE FILTRES MOBILE
   =========================== */.psynovia-filters-toggle {	display: none;	align-items: center;	gap: 10px;	padding: 15px;	padding-left: 30px;	background: #453B5E;	color: #ffffff;	border: none;	font-size: 15px;	font-weight: 600;	cursor: pointer;	margin-bottom: 20px;	transition: all 0.3s ease;	border-top-right-radius: 100px;	border-bottom-right-radius: 100px;}.psynovia-filters-toggle:hover {	background: #5a4b7a;}.psynovia-filters-toggle svg {	width: 20px;	height: 20px;	transition: all 0.3s ease-in-out 0s;}.psynovia-filters-toggle.active svg.chevron {	transform: rotate(180deg);}.psynovia-filters-content {	display: block;}/* ===========================
   BARRE DE FILTRES PLEINE LARGEUR
   =========================== */.psynovia-filters-bar-wrapper {	/* Sortir du conteneur pour atteindre les bords */	margin-left: -50vw;	margin-right: -50vw;	left: 50%;	right: 50%;	position: relative;	width: 100vw;	background-color: #453B5E;	padding: 20px 0;	margin-bottom: 70px;}.psynovia-filters-bar-content {	/* Recentrer le contenu dans la largeur normale */	max-width: 1640px;	margin: 0 auto;	padding: 0 55px;}

/* Ajuster la row pour la barre sombre */.psynovia-filters-bar-wrapper .psynovia-filters-row {	display: flex;	align-items: center;	gap: 15px;	flex-wrap: wrap;}.psynovia-filters-bar-wrapper .psynovia-filters-label {	font-size: 15px;	font-weight: 700;	color: #ffffff;	text-transform: uppercase;	letter-spacing: 0.5px;	white-space: nowrap;}

/* Styles des champs sur fond sombre */.psynovia-filters-bar-wrapper .psynovia-year-filter select::placeholder, .psynovia-filters-bar-wrapper .psynovia-keyword-filter input::placeholder {	color: rgba(255, 255, 255, 0.7);}

/* Select avec flèche blanche */.psynovia-filters-bar-wrapper .psynovia-year-filter select::-ms-expand {	display: none;}.psynovia-filters-bar-wrapper .psynovia-keyword-filter input {	cursor: text;	padding-right: 15px;}

/* Bouton réinitialiser sur fond sombre */.psynovia-filters-bar-wrapper .psynovia-reset-filters {	display: inline-block;	padding: 8px 20px;	background: #fff;	border: 2px solid #fff;	border-radius: 25px;	font-size: 15px;	font-weight: 600;	color: #443a5e;	cursor: pointer;	transition: all 0.3s ease;	white-space: nowrap;	text-transform: uppercase;	letter-spacing: 0.5px;}.psynovia-filters-bar-wrapper .psynovia-reset-filters:hover {	background: #EF7753;	border-color: #EF7753;	color: #fff;}.psynovia-filters-bar-wrapper .psynovia-reset-filters:active {	transform: scale(0.95);}

/* Option select pour qu'elles restent lisibles */.psynovia-filters-bar-wrapper .psynovia-year-filter select option {	background-color: #453B5E;	color: #ffffff;}

/* ===========================
   GRILLE D'ARTICLES
   =========================== */.psynovia-articles-grid {	display: grid;	grid-template-columns: repeat(3, 1fr);	gap: 30px;}.psynovia-articles-grid[data-columns="2"] {	grid-template-columns: repeat(2, 1fr);}.psynovia-articles-grid[data-columns="4"] {	grid-template-columns: repeat(4, 1fr);}

/* Responsive */@media (max-width: 1200px) {	.psynovia-articles-grid {		grid-template-columns: repeat(2, 1fr);	}}

@media (max-width: 768px) {	.psynovia-articles-grid {		grid-template-columns: 1fr;		margin-top: 40px!important;	}}

/* ===========================
   CARTE D'ARTICLE
   =========================== */.psynovia-article-card {	background: #ffffff;	border-radius: 0px;	border-top-right-radius: 50px;	overflow: hidden;	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);	transition: transform 0.3s ease, box-shadow 0.3s ease;	display: flex;	flex-direction: column;	height: 100%;	position: relative;}.psynovia-article-card:hover {	transform: translateY(-5px);	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);}.psynovia-article-card.hidden {	display: none;}


/* En-tête avec bandeau coloré */.article-card-header {	height: 60px;	padding: 15px 25px!important;	display: flex;}.article-card-header-content {	display: flex;	align-items: flex-end;	gap: 5px;	width: 100%;}.article-category-label, .article-date-label {	font-size: 15px;	font-weight: 700;	text-transform: uppercase;	letter-spacing: 1px;	line-height: 1em;	color: #ffffff;}.article-category-label {	border-right: 1px solid #fff;	padding-right: 10px;	margin-right: 7px;}.cat-reseaux-bonnes-pratiques .article-category-label {	border: none;	padding: 0;	margin: 0;}

/* Contenu de la carte */.article-card-content {	padding: 25px 20px;	flex: 1;	display: flex;	flex-direction: column;	padding-bottom: 50px;}@media (max-width: 480px) {	.article-card-content {		padding-bottom: 30px;	}}.article-title {	font-size: 25px;	font-weight: 500;	margin: 0 0 15px 0;	line-height: 1.3;	padding-bottom: 20px;	margin-bottom: 20px;	border-bottom: 1px solid #433B5E!important;}.article-authors {	font-size: 14px;	margin: 0 0 15px 0;	text-transform: uppercase;	font-weight: 500!important;	padding-bottom: 20px;	border-bottom: 1px solid #433B5E!important;	margin-bottom: 20px!important;}.article-excerpt {	margin: 0 0 25px 0;	font-size: 20px!important;	font-weight: 300;	line-height: 1.3;	display: -webkit-box;	-webkit-line-clamp: 5;	-webkit-box-orient: vertical;	overflow: hidden;}.article-excerpt p {	margin: 0;	line-height: 1.4!important;}.article-excerpt em, .article-excerpt i {	font-style: italic;}

/* Bouton */.article-button-wrapper {	margin-top: auto;	text-align: center;}.psynovia-btn {	display: inline-block;	padding: 25px 40px;	background: #453B5E;	color: #ffffff!important;	text-decoration: none;	border-radius: 100px;	font-size: 15px;	font-weight: bold;	transition: all 0.3s ease;	border: none;	cursor: pointer;	text-transform: uppercase;	letter-spacing: 0.9px;	line-height: 1.2;	border: 1px solid #453B5E!important;	box-shadow: 0px 3px 6px #00000029;}.psynovia-btn:hover {	background: #fff;	color: #453B5E!important;	border: 1px solid #453B5E;	box-shadow: none;}

/* ===========================
   BOUTON "VOIR PLUS"
   =========================== */.psynovia-load-more-wrapper {	text-align: right;	margin-top: 20px;}.psynovia-load-more {	padding: 12px 30px;	background: transparent;	color: #453B5E;	border: 2px solid #453B5E;	border-radius: 25px;	font-size: 14px;	font-weight: 600;	cursor: pointer;	transition: all 0.3s ease;}.psynovia-load-more:hover {	background: #453B5E;	color: #ffffff;}.psynovia-load-more:disabled {	opacity: 0.5;	cursor: not-allowed;}

/* Message "pas d'articles" */.no-articles {	text-align: center;	padding: 60px 20px;	font-size: 1em;	grid-column: 1 / -1;}

/* ===========================
   PAGE ARTICLE INDIVIDUEL
   =========================== */.psynovia-single-article {	max-width: 1200px;	margin: 0 auto;	position: relative;	padding-bottom: 0;	padding-top: 30px;}.psynovia-single-article .entry-content-wrapper, .psynovia-single-article .entry-content-wrapper h1.post-title {	max-width: 1200px!important;	opacity: 1!important;	margin: 0;	font-weight: 500;	line-height: 1.1em!important;}.psynovia-single-article .entry-content p, .psynovia-single-article .entry-content ul {	line-height: 1.3em!important;	text-align: left;}.psynovia-single-article .entry-content strong {	font-weight: 700;}.psynovia-single-article  .entry-content-wrapper .entry-content {	font-size: 25px;	width: 100%!important;	max-width: 100%!important;}.post-meta-infos {	display: none!important;}.psynovia-single-article  .entry-content-wrapper .entry-content, .psynovia-single-article  .entry-content-wrapper .entry-content-header {	margin: 0!important;}
/* Bouton PDF en haut à droite du titre */.psynovia-header-pdf-button-wrapper {	position: absolute;	top: 0;	right: 20px;	z-index: 10;}.psynovia-header-pdf-btn {	display: inline-flex;	align-items: center;	gap: 8px;	padding: 12px 24px;	background: #453B5E;	color: #ffffff;	text-decoration: none;	border-radius: 25px;	font-size: 14px;	font-weight: 600;	transition: all 0.3s ease;	box-shadow: 0 2px 8px rgba(39, 53, 118, 0.2);}.psynovia-header-pdf-btn:hover {	background: #1a2550;	transform: translateY(-2px);	box-shadow: 0 4px 12px rgba(39, 53, 118, 0.3);	color: #ffffff;}.psynovia-header-pdf-btn .pdf-icon {	font-size: 18px;}.psynovia-header-pdf-btn .pdf-text {	white-space: nowrap;}

/* Ajustement pour mobile */@media (max-width: 768px) {	.psynovia-header-pdf-button-wrapper {		position: static;		margin-bottom: 20px;		text-align: center;	}		.psynovia-header-pdf-btn {		display: inline-flex;	}}/* ===========================
   MÉTA ARTICLE (catégorie + date au-dessus du titre)
   =========================== */.psynovia-article-meta-header {	font-size: 25px;	text-transform: uppercase;	font-weight: 300;	line-height: 1.3em;	margin-top: 40px;}

/* Boutons retour */.psynovia-back-button-top, .psynovia-back-button-bottom {	}.psynovia-back-button-bottom {	margin-top: 100px;}.psynovia-back-btn {	display: inline-flex;	align-items: center;	gap: 10px;	padding: 20px 0px;	background: transparent;	color: #453B5E;	text-decoration: none;	font-weight: 600;	font-size: 15px;	transition: all 0.3s ease;	text-transform: uppercase;}.psynovia-back-btn:hover {	}.back-arrow {	font-size: 18px;	font-weight: bold;}

/* En-tête de l'article */.article-header {	margin-bottom: 40px;	padding-bottom: 30px;	border-bottom: 2px solid #e0e0e0;}.article-meta-category {	font-size: 12px;	font-weight: 700;	text-transform: uppercase;	letter-spacing: 1.5px;	margin-bottom: 15px;}.article-header .article-title {	font-size: 36px;	font-weight: 700;	color: #453B5E;	margin: 0 0 20px 0;	line-height: 1.3;}.article-authors-single {	font-size: 16px;	color: #666;	font-style: italic;	margin: 0;}

/* Corps de l'article */.article-body {	font-size: 16px;	line-height: 1.8;	color: #333;	margin-bottom: 40px;}.article-body h2 {	font-size: 28px;	color: #453B5E;	margin: 40px 0 20px 0;	font-weight: 700;}.article-body h3 {	font-size: 22px;	color: #453B5E;	margin: 30px 0 15px 0;	font-weight: 600;}.article-body p {	margin-bottom: 20px;}.article-body ul, .article-body ol {	margin-bottom: 20px;	padding-left: 30px;}.article-body li {	margin-bottom: 10px;}

/* Références */.article-references {	}.article-references h3 {	font-size: 30px;	color: #453B5E;	margin: 0 0 20px 0;}.article-references p {	}

/* ===========================
   SECTION ARTICLES LIÉS
   =========================== */.psynovia-related-section-wrapper {	padding: 60px 0;	margin-left: -50vw;	margin-right: -50vw;	left: 50%;	right: 50%;	position: relative;	width: 100vw;}.single-groupe_thematique .psynovia-related-section-wrapper {	background: rgba(96, 112, 181, 0.2) !important;}.related-articles-container .psn-groupes-grid {	padding-top: 0;	padding-bottom: 0;	margin: 0;}.related-title {	font-size: 32px;	font-weight: 700;	color: #453B5E;	margin: 0 0 40px 0;	text-align: left;}

/* Ajustement pour Enfold container */.container .psynovia-related-section-wrapper {	margin-left: 0;	margin-right: 0;	left: 0;	right: 0;	width: 100%;}.no-related-articles {	text-align: center;	padding: 40px 20px;	color: #453B5E;	font-size: 20px;	grid-column: 1 / -1;}

/* ===========================
   ANIMATIONS
   =========================== */

@keyframes fadeIn {from {	opacity: 0;	transform: translateY(20px);}to {	opacity: 1;	transform: translateY(0);}}

.psynovia-article-card {	animation: fadeIn 0.5s ease-out;}

/* ===========================
   LOADING STATE
   =========================== */.psynovia-articles-wrapper.loading {	opacity: 0.5;	pointer-events: none;}.psynovia-articles-wrapper.loading .psynovia-load-more {	position: relative;}.psynovia-articles-wrapper.loading .psynovia-load-more::after {	content: "";	position: absolute;	width: 16px;	height: 16px;	top: 50%;	left: 50%;	margin: -8px 0 0 -8px;	border: 2px solid #ffffff;	border-radius: 50%;	border-top-color: transparent;	animation: spin 0.6s linear infinite;}

@keyframes spin {to {	transform: rotate(360deg);}}

@media (max-width: 768px) {	/* Toggle visible sur mobile */		.article-references h3 {		font-size: 25px;	}		.psynovia-single-article  .entry-content-wrapper .entry-content {		font-size: 20px;	}		.psynovia-single-article .entry-content-wrapper h1.post-title {		font-size: 40px!important;	}		.psynovia-article-meta-header {		font-size: 20px;	}		.psynovia-filters-toggle {		display: flex;		margin-left: -30px;	}
	
	/* Contenu des filtres caché par défaut sur mobile */		.psynovia-filters-content {		display: none;		animation: slideDown 0.3s ease-out;	}		.psynovia-filters-content.active {		display: block;	}
	
	/* Catégories : largeur naturelle, pas 100% */		.psynovia-category-filters {		display: flex;		flex-wrap: wrap;		gap: 10px;	}		.psynovia-filter-btn {		width: auto;		flex: 0 0 auto;		text-align: center;	}
	
	/* Barre pleine largeur aussi sur mobile */		.psynovia-filters-bar-wrapper {		width: calc(100vw);		margin-bottom: 40px;	}		.psynovia-filters-bar-content {		padding: 0 30px;	}		.psynovia-filters-bar-wrapper .psynovia-filters-row {		flex-direction: column;		align-items: stretch;		gap: 10px;	}		.psynovia-filters-bar-wrapper .psynovia-filters-label {		text-align: left;		line-height: 1.2;	}		.psynovia-filters-bar-wrapper .psynovia-year-filter select, .psynovia-filters-bar-wrapper .psynovia-keyword-filter input {		width: 100%;	}		.psynovia-filters-bar-wrapper .psynovia-reset-filters {		width: 100%;		text-align: center;	}
	
	/* Autres styles responsive existants */		.article-card-header-content {			}		.article-date-label {		line-height: 1em;	}		.article-header .article-title {		font-size: 28px;	}		.related-title {		font-size: 24px;	}		.psynovia-load-more-wrapper {		text-align: center;	}}

/* Animation accordéon */
@keyframes slideDown {from {	opacity: 0;	max-height: 0;}to {	opacity: 1;	max-height: 2000px;}}@media only screen and (max-width: 480px) {	.article-card-header {		padding-right: 50px!important;	}		.psynovia-single-article .entry-content-wrapper h1.post-title {		font-size: 30px!important;	}		.psynovia-article-meta-header {		font-size: 18px;	}		.psynovia-related-section-wrapper {		padding: 40px 0;	}		.psynovia-single-article  .entry-content-wrapper .entry-content {		font-size: 18px;	}}


/* =====================================================
   Popup de définition « acteurs » (page Recherche)
   Deux colonnes de métiers, intertitres en pleine largeur.
   ===================================================== */
/* Deux colonnes réelles : les professionnels soignants à gauche, les autres
   sections à droite. Une grille, et non `columns`, pour que la répartition
   soit imposée et non calculée par le navigateur. */
.psn-def-acteurs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 48px;
}
.psn-def-acteurs__col > :first-child {
    margin-top: 0;
}
.psn-def-acteurs strong {
    display: block;
    margin: 22px 0 8px;
}
.psn-def-acteurs__col > p:first-child strong,
.psn-def-acteurs__col > strong:first-child {
    margin-top: 0;
}
.psn-def-acteurs__liste {
    margin: 0 0 4px;
    padding-left: 20px;
}
.psn-def-acteurs__liste li {
    margin-bottom: 6px;
}
@media (max-width: 700px) {
    .psn-def-acteurs { grid-template-columns: 1fr; }
}

/* Le déclencheur « acteurs » utilise la classe .info du thème, qui pose le
   « + », le filet animé et le survol.

   Le thème annule l'exposant du « + » dès que le lien est dans un paragraphe
   (`p .info::after { font-size: 1em; position: relative }`), alors qu'il le
   garde dans les titres. Le déclencheur de la page Recherche est le seul .info
   en paragraphe du site : on rétablit donc l'exposant pour qu'il ressemble à
   ceux de l'accueil. Sélecteur volontairement plus spécifique que celui du
   thème, pour ne pas dépendre de l'ordre de chargement des feuilles. */
p a.info::after {
    font-size: .5em;
    position: absolute;
    margin-top: -.5em;
    font-weight: bold;
}
/* Le « + » étant hors flux, le thème lui réserve la place avec
   `.info { margin-right: .4em }`, que `p .info { margin: 0 }` annule.
   Sans cette marge, le « + » vient chevaucher le mot suivant. */
p a.info {
    margin-right: .4em;
}

/* =====================================================
   Liens dans le corps des articles
   Filet orange qui se retire vers la droite au survol, sur le modèle
   de la classe .info du thème. Portée limitée à .entry-content : l'en-tête
   de l'article, qui porte le lien de catégorie, est un frère et non un
   descendant, il n'est donc pas concerné.
   ===================================================== */
/* Au repos, le lien garde la couleur du texte qui l'entoure : `inherit` pour
   le texte, `currentColor` pour le filet, afin qu'ils suivent automatiquement
   la couleur du paragraphe où le lien se trouve. */
.psynovia-single-article .entry-content a {
    position: relative;
    color: inherit;
    text-decoration: none;
}
/* Au survol, c'est le texte qui passe à l'orange de la charte, et le filet
   se retire vers la droite. */
.psynovia-single-article .entry-content a:hover,
.psynovia-single-article .entry-content a:focus {
    color: #EF7753;
    text-decoration: none;
}
.psynovia-single-article .entry-content a::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    transition: width .3s, left .3s;
}
.psynovia-single-article .entry-content a:hover::before {
    width: 0;
    left: 100%;
}
/* Un lien qui n'enveloppe qu'une image ne doit pas recevoir de filet.
   Règle séparée à dessein : si :has() n'est pas reconnu, seule celle-ci
   est ignorée, la couleur et le filet restent en place. */
.psynovia-single-article .entry-content a:has(img)::before {
    display: none;
}

/* Les deux boutons peuvent coexister dans le même emplacement. */
.psynovia-header-pdf-button-wrapper,
.psynovia-doc-button-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
/* Enfold met `article.post-entry` en `float: left`. Un conteneur flex établit un
   contexte de formatage indépendant : au lieu de chevaucher le flottant comme un
   bloc ordinaire, il se réduit à la largeur restante, c'est-à-dire zéro, et
   remonte se coller à côté du titre. Le dégagement est donc indispensable ici. */
.psynovia-doc-button-wrapper {
    clear: both;
}

/* =====================================================
   Boutons de téléchargement : taille de texte et gouttière du titre
   ===================================================== */

/* =====================================================
   Boutons de téléchargement (en-tête et bas d'article)
   Ils portent la classe `psynovia-btn`, celle des boutons de vignettes
   d'actualité : padding 25/40, majuscules, rayon 100px, survol inversé fond
   blanc et texte bleu, ombre retirée. Une seule source de vérité, donc ils
   suivront toute évolution du style des vignettes. On ne redéfinit ici que ce
   qui leur est propre : la disposition icône + libellé, et la neutralisation
   des restes de l'ancien survol (fond bleu nuit et soulèvement).
   ===================================================== */
.psynovia-single-article a.psynovia-header-pdf-btn,
.psynovia-single-article a.psynovia-doc-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transform: none;
}
.psynovia-single-article a.psynovia-header-pdf-btn:hover,
.psynovia-single-article a.psynovia-header-pdf-btn:focus,
.psynovia-single-article a.psynovia-doc-btn:hover,
.psynovia-single-article a.psynovia-doc-btn:focus {
    /* Pas de soulèvement, et on laisse `psynovia-btn` poser le fond blanc. */
    transform: none;
    background: #ffffff;
    box-shadow: none;
}
/* Un libellé long doit se replier dans le bouton plutôt que de l'étirer :
   les règles d'origine imposaient white-space: nowrap. */
/* Un libellé long doit se replier dans le bouton plutôt que de l'étirer :
   les règles d'origine imposaient white-space: nowrap. */
.psynovia-single-article a.psynovia-header-pdf-btn .pdf-text,
.psynovia-single-article a.psynovia-doc-btn .doc-text {
    white-space: normal;
}
.psynovia-single-article a.psynovia-header-pdf-btn .pdf-icon,
.psynovia-single-article a.psynovia-doc-btn .doc-icon {
    font-size: 18px;
    flex: 0 0 auto;
}

/* Le bloc du haut est en position absolue : il ne réserve aucune place, donc un
   libellé long venait se superposer au titre. On le borne en largeur et on
   creuse la gouttière correspondante dans le titre, uniquement sur les articles
   qui portent réellement le bouton, d'où le :has(). */
@media (min-width: 769px) {
    .psynovia-single-article .psynovia-header-pdf-button-wrapper {
        max-width: min(38%, 380px);
        justify-content: flex-end;
    }
    /* Enfold pose `#top .fullsize .template-blog .post-title { padding: 0 }`,
       qui pèse (1,3,0) grâce à son identifiant. On préfixe par #top pour
       atteindre (1,3,1) et l'emporter sans recourir à !important. */
    #top .psynovia-single-article:has(.psynovia-header-pdf-button-wrapper) h1.post-title,
    #top .psynovia-single-article:has(.psynovia-header-pdf-button-wrapper) .post-title {
        padding-right: min(41%, 410px);
    }
}

/* Le bouton du bas est maintenant injecté dans .entry-content : il faut donc
   bien lui retirer le filet des liens du corps d'article. */
.psynovia-single-article .entry-content a.psynovia-doc-btn::before {
    display: none;
}
/* Espace réduit entre la fin du texte et le bouton. Réglable ici sans
   interférence : le bouton étant dans le flux du contenu, la marge n'est plus
   absorbée par le dégagement du flottant d'Enfold. */
.psynovia-single-article .entry-content .psynovia-doc-button-wrapper {
    margin-top: 24px;
}

/* =====================================================
   Tableaux des pages éditoriales (politique de confidentialité, etc.)
   En-tête au violet de la charte, texte blanc, et zébrage une ligne sur deux :
   ces tableaux comptent jusqu'à quatre colonnes de texte dense, l'alternance
   de fond est ce qui permet de suivre une ligne jusqu'au bout.
   ===================================================== */
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
}

.entry-content table thead th {
    background: #453B5E;
    color: #ffffff;
    font-weight: 600;
    text-align: left;
    padding: 12px 14px;
    border: none;
    /* Sans cette ligne, les cellules héritent de l'interligne du corps de page,
       calculé en pixels pour du 18 px : 29,7 px appliqués à un texte de 13 px,
       soit un ratio de 2,28. */
    line-height: 1.45;
}

.entry-content table td {
    padding: 12px 14px;
    vertical-align: top;
    border: none;
    line-height: 1.45;
}

.entry-content table tbody tr:nth-child(even) {
    background: rgba(69, 59, 94, .07);
}

.entry-content table tbody tr:nth-child(odd) {
    background: transparent;
}

/* Filets de séparation entre colonnes. Le sélecteur d'adjacence ne pose le
   filet qu'à partir de la deuxième cellule de chaque ligne : on sépare les
   colonnes sans encadrer le tableau. Le filet de l'en-tête est clair, le fond
   y étant violet. */
.entry-content table tbody td + td {
    border-left: 1px solid rgba(69, 59, 94, .18);
}

.entry-content table thead th + th {
    border-left: 1px solid rgba(255, 255, 255, .3);
}

/* Titres de section des pages éditoriales : interligne resserré.
   Portée à .entry-content, donc aux pages en éditeur classique et aux articles,
   pas aux titres construits avec Avia ni aux en-têtes d'accordéon. */
.entry-content h2 {
    line-height: 1.3em;
}

/* Les sous-titres sortaient à peine plus grands que le corps de texte, dans
   une police dont l'œil est plus petit : ils paraissaient plus petits que
   le texte qu'ils introduisent.
   La taille est exprimée en em, pas en pixels : le corps du site est
   responsive, il passe de 18 px sur mobile à 25 px sur grand écran. Une
   valeur fixe repassait sous le corps de texte en pleine largeur. */
.entry-content h3 {
    font-size: 1.35em;
    line-height: 1.3em;
    margin-top: 1.4em;
}

/* =====================================================
   LISTES IMBRIQUÉES
   Les sous-niveaux héritaient de la puce pleine du premier niveau : rien ne
   distinguait visuellement une sous-liste de sa liste parente. Puce creuse au
   deuxième niveau, carré au troisième, comme le veut l'usage typographique.
   Les sous-menus de navigation sont exclus : ils n'ont pas de puce.
   ===================================================== */

.entry-content ul ul,
.entry-content ul ul > li,
.avia_textblock ul ul,
.avia_textblock ul ul > li,
.accordion-content ul ul,
.accordion-content ul ul > li,
.psn-groupe-single__body ul ul,
.psn-groupe-single__body ul ul > li,
.psn-avancee__contenu ul ul,
.psn-avancee__contenu ul ul > li,
.pum-content ul ul,
.pum-content ul ul li {
	list-style-type: circle;
}

.entry-content ul ul ul,
.entry-content ul ul ul > li,
.avia_textblock ul ul ul,
.avia_textblock ul ul ul > li,
.accordion-content ul ul ul,
.accordion-content ul ul ul > li,
.psn-groupe-single__body ul ul ul,
.psn-groupe-single__body ul ul ul > li,
.psn-avancee__contenu ul ul ul,
.psn-avancee__contenu ul ul ul > li,
.pum-content ul ul ul,
.pum-content ul ul ul li {
	list-style-type: square;
}

/* =====================================================
   PASTILLES DE FILTRE : ÉTATS INVERSÉS
   Au repos la pastille est pleine, dans la couleur de sa catégorie ; au survol
   et à l'état actif elle passe en blanc avec bordure et texte de cette même
   couleur. La couleur vient de la variable --psn-cat posée sur chaque bouton,
   ce qui permet au survol de la connaître : le JavaScript ne repeint plus rien.
   ===================================================== */

.psynovia-filter-btn {
	background: var(--psn-cat, #453B5E);
	border-color: var(--psn-cat, #453B5E);
	color: #ffffff;
}

/* Les feuilles d'Enfold sont chargées après celle-ci et repeignent le survol
   des boutons : d'où la spécificité renforcée et les !important. */
.psynovia-filters .psynovia-filter-btn:hover,
.psynovia-filters .psynovia-filter-btn.active {
	background: #ffffff !important;
	border-color: var(--psn-cat, #453B5E) !important;
	color: var(--psn-cat, #453B5E) !important;
}

/* Le focus ne doit pas emprunter l'apparence du survol : après un clic souris,
   il reste sur le bouton et la pastille semblait alors figée en blanc une fois
   le curseur parti. Il est signalé par un contour, pas par une inversion. */
.psynovia-filters .psynovia-filter-btn:focus {
	outline: none;
}

.psynovia-filters .psynovia-filter-btn:focus-visible {
	outline: 2px solid #453B5E;
	outline-offset: 2px;
}
