main h2 {
	font-size: 1.875rem;
	margin-block: var(--sp2-5) var(--sp2);
}
:is(.view-auteurs, .view-auteurs-tous) figcaption {
	text-align: center;
	margin-block-start: var(--sp0-25);
	
	& .field a {
		color: inherit;
		text-decoration: none;
		
		& span {
			font-weight: 600;
			display: block;
		}
	}
}
#block-pf-video-home {
	background: var(--bgcolor-dark);
	& .field--name-field-media-video-file {
		margin: auto;
	}
	& video {
		width: 100%;
		height: auto;
	}
}
#block-pf-echosdufestival {
	background: var(--pf-color-medium);
	
	& * {
		color: #fff;
	}

	& figcaption {
		font-weight: 800;
		font-size: 1rem;
		line-height: 1;
		font-family: "BricolageGrotesque", sans-serif;
		margin-block: var(--sp0-75);
		text-align: left;
	}
	
	& .field--name-field-media-image img {
		width: 100%;
		height: auto;
	}

	/* & a.ext-link figcaption::after,
	& figcaption a.ext-link::after {
		content: "↗";
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.6em;
		height: 1.6em;
		margin-inline-start: var(--sp0-25);
		border: 1px solid currentColor;
		border-radius: 50%;
		font-size: 0.75em;
		font-weight: 700;
		line-height: 1;
		vertical-align: 0.12em;
	} */

	& .views-field-field-annees-participation, 
	& .views-field-field-media-source {
		font-size: .875rem;
		margin-block-end: var(--sp0-5);
	}

	& .views-field-body,
	& .views-field-field-presentation {
		font-size: .75rem;
	}

	& .block-content {
		display: flex;
		justify-content: space-between;
		
		& > .field {
			width: 300px;
		}
	}
}
.field--name-field-bouton-lien {
	margin-block: var(--sp1);
	
	/*& a {
		text-transform: uppercase;
		color: var(--black);
		font-weight: 600;
		text-decoration: none;
		background: var(--light-grey);
		padding: var(--sp1);
		border-radius: 5px;
	}*/
}
.wp-block-media-text {
	margin-block: var(--sp4);
}
section.content-section {
	margin-block: var(--sp2);
	padding-block: var(--sp3);
}
section.content-section:last-child {
	margin-block-end: 0;
}
section.center-header header {
	text-align: center;
}
.auteur-web {
	margin-block-end: var(--sp1);
	
	& h2 {
		margin-block-end: 0;
	}
	& .field_web {
		font-size: .875rem;
		
		& > .field__label::after {
			content: ' :';
		}
	}
}
.auteur-bio > .field__label {
	color: var(--medium-grey);
	font-weight: 800;
	font-size: 1.5rem;
}
.auteur-bio .field__label + h1 {
  margin-block-start: var(--sp0-5);
}
.auteur-bio .field,
.auteur-parution .field {
	margin-block-end: var(--sp0-75);
}
.donnees-parution > .field__label {
	font-size: 1.5rem;
}
.donnees-parution h2 {
	font-style: italic;
}
.photos-dwnd .field__label {
	font-weight: 700;
	margin-block-end: var(--sp0-75);
}
.photos-dwnd a {
	vertical-align: center;
	padding-inline-start: var(--sp0-75);
}
.docs-divers .field__label {
	font-weight: 700;
	margin-block-start: var(--sp1);
}
section.auteur-parution {
	background-color: var(--pf-color-light);
	& .field--name-field-mimage1 {
		width: 420px;
		text-align: right;
	}
	& .donnees-parution {
		width: calc(100% - 420px - var(--sp3));
	}
}
section.auteur-video > div {
	background: var(--bgcolor-dark);
	border-radius: 10px;
	
	& :is(.slick-next, .slick-prev) {
		background-color: white;
	}
}
section.auteur-video .field--name-field-media-video-file,
.view-display-id-ev_videos_auteur .view-content .views-row {
	width: 800px !important;
	max-width: 100%;
}
section.auteur-archives-rencontres {
	background: var(--pf-color-dark);
	& * {
		color: #fff;
	}
}
section.start-section {
	margin-block-start: var(--sp3);
}
.personne-bio .field--name-body {
	margin-block-start: var(--sp1);
}
article.node--type-vu-par.node--view-mode-full {
	margin-block-start: var(--sp3);
}
.node--type-vu-par .auteur-bio {
	margin-block-start: var(--sp1-5);
}
.node--type-vu-par.node--view-mode-teaser .flexbox figure {
	text-align: center;
	& img {
		width: 200px !important;
	}
}
section.annee-auteurs {
	background-color: var(--lighter-grey);
}
.small-h1 {
	font-size: 2.2rem;
	line-height: 1.25;
}
#cboxContent .media--type-image.media--view-mode-full figcaption {
	color: #fff;
	font-weight: 600;
}
section.retour-galerie {
	margin-block: var(--sp2) 0;
	padding-block: var(--sp2);
	background-color: var(--lighter-grey);
}
section.retour-galerie .flexbox {
	gap: var(--sp2);
}
section.retour-texte {
	margin-block: var(--sp2);
}
section.fake-header {
	margin-block: var(--sp2);
}
section.fake-header .fake-h1 {
	font-size: 2.875rem;
	font-weight: 600;
	color: var(--pf-color-medium);
}
.fake-header p:not(.fake-h1) {
	max-width: 800px;
	/* margin: auto; */
}
.question::before {
	content: open-quote;
	margin-right: 2px;
}
.question::after {
	content: close-quote;
	margin-left: 2px;
}
.node--type-rencontre.node--view-mode-full {
	
	& section.header {
		margin-block-end: 0;
		padding-block-end: 0;

		& .field--name-field-rencontre-exceptionnelle {
			text-align: center;
			margin-block-end: var(--sp0-25);
			
			& span {
				background-color: var(--bgcolor-dark);
				color: #fff;
				padding: var(--sp0-5);
				text-transform: uppercase;
				font-weight: 700;
				font-size: 1.25rem;
			}
		}
	}
	
	& section.rencontre-main {
		margin-block: 0;
		border-block: 1px solid var(--light-grey);
		padding-block: 0;
		
		& > .flexbox > div {
			width: 50%;
			padding: var(--sp4);
			
			&:first-child {
				border-inline-end: 1px solid var(--light-grey);
			}
			
			&:last-child > .field {
				margin-block-end: var(--sp1);
			}
		}
		
		& .node--type-organisateur.node--view-mode-ds-rencontre {
			margin-block-start: var(--sp0-5);
		}
		& .field.table-libraire span{
			background: var(--lighter-grey);
			padding: var(--sp0-25);
			display: inline-block;
			font-weight: 600;
		}
		& .field.animation li {
			list-style-type: none;
		}
	}
	
	& section.auteur-map  {
		/*background-color: var(--pf-color-light);*/
		margin-block-start: 0;
		
		& > .flexbox > div {
			width: calc(50% - var(--sp1));
			
			&.auteur {
				background-color: var(--pf-color-light);
				border-radius: 10px;
				padding-block: var(--sp0-5);
			
				& .field--name-field-auteur-invite {
					position: relative;
					text-align: center;
					
					& .auteurs-figures {
						margin-block: var(--sp2) 0;
						
						&:has(:nth-child(3)){
							margin-inline: var(--sp4-5);
						}
					}
				
					& .auteur-figure {
						width: 200px !important;
				
						& figure {
							& figcaption {
								text-align: center;
								margin-block-start: var(--sp0-25);
							}
							
							& a {
								color: inherit;
								text-decoration: none;
								
								& span {
									font-weight: 600;
									display: block;
								}
							}
							
							& .field--name-field-titre {
								font-size: .875rem;
								margin-block-start: var(--sp0-5);
								
								& .field__label {
									font-weight: 700;
								}
							}
						}
					}
				}
			}
			
			&.map .leaflet-container {
				height: 100% !important;
			}
		}
	}
}
.node--type-retour.node--view-mode-full {
	& .retour-main h2 a {
		text-decoration: none;
		color: inherit;
		margin-block: 0;
		vertical-align: center;
	}

	& .retour-auteurs.flexbox {
		gap: var(--sp1);
		
		& figure.group-figure {
			width: calc(50% - var(--sp0-5));
			padding-inline-end: var(--sp1);
			
			& * {
				display: inline-block;
				vertical-align: center;
			}
			
			& a {
				color: inherit;
				text-decoration: none;
			}
			& figcaption {
				margin-inline-start: var(--sp0-5);
			}
		}
	}
}
.node--type-organisateur.node--view-mode-full {

	& .group-address {
		margin-block-end: var(--sp1);
	}
	& .group-ul {
		margin-block-start: var(--sp1-5);
	}

	& .views-element-container {
		margin-block-end: var(--sp1-5);
	}
}
.taxonomy-term--type-annee.taxonomy-term--view-mode-full .annee-metadata {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--pf-color-medium);
}
.taxonomy-term--type-annee.taxonomy-term--view-mode-ds-presse {
	& .annee-main {
		border-block-end: 1px solid var(--light-grey);
		padding-block-end: var(--sp2);
		margin-block-end: var(--sp2);
		
		& .annee-data {
			& .field__label {
				margin-block-start: var(--sp1-5);
				font-weight: 700;
			}
			.ep-edition-header {
				color: var(--pf-color-medium);
				font-size: 1.6rem;
			}
		}
	}
}
.preambule {
	max-width: 870px;
	margin: var(--sp2) auto;
	border-block: 1px solid var(--lighter-grey);
	padding: var(--sp0-75) var(--sp1);
	text-align: justify;
	
	& h2 {
		margin-block: 0 var(--sp0-5);
	}
}


/* ==========================================================================
   Styles migrés depuis manu.css
   ========================================================================== */

/* ==========================================================================
   SECTION → css/components/content.css
   1. Titre de page (H1) centré dans la région content-above
   2. Largeur du contenu des pages (node__content) réduite à 960px
   3. Espacement des blocs media-text (Gutenberg)
   4. Contenu Gutenberg (titres, liens, paragraphes, listes) : style général
   5. Liens vers des fichiers (PDF, Word) : style bouton avec icône
   6. Blocs de réassurance (chiffres clés) : mise en cartes
   7. Carte Leaflet (lieux) : teinte aux couleurs du site + contrôles
   ========================================================================== */

.region--content-above h1 {
	text-align: center;
}
article.node--type-page.node--view-mode-full {
	margin-block-end: var(--sp3);
}
.node__content {
	max-width: 960px;
	margin-inline: auto;
}
.node__content p {
	margin-block: 0 var(--sp1);
}
.node__content .wp-block-media-text__media {
	border-radius: 10px;
}
.node__content .wp-block-heading {
	margin-block: var(--sp2) var(--sp1);
	font-family: "BricolageGrotesque", sans-serif;
}
.node__content .wp-block-heading:first-child {
	margin-block-start: 0;
}
.node__content a {
	color: var(--pf-color-dark);
	text-decoration: underline;
	text-decoration-color: var(--pf-color-medium);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: color 0.15s ease;
}
.node__content a:hover {
	color: var(--pf-color-medium);
}
.node__content ul,
.node__content ol {
	margin-block: var(--sp1);
	padding-inline-start: var(--sp1-5);
}
.node__content li {
	margin-block-end: var(--sp0-5);
}
.node__content a[href$=".pdf"],
.node__content a[href$=".docx"],
.node__content a[href$=".doc"] {
	display: inline-flex;
	align-items: center;
	gap: var(--sp0-5);
	background-color: var(--lighter-grey);
	color: var(--lighter-black);
	text-decoration: none;
	padding: var(--sp0-5) var(--sp1);
	border-radius: 8px;
	font-weight: 600;
	font-size: 0.9375rem;
	transition: background-color 0.15s ease;
}
.node__content a[href$=".pdf"]:hover,
.node__content a[href$=".docx"]:hover,
.node__content a[href$=".doc"]:hover {
	background-color: var(--light-grey);
	color: var(--black);
}
.node__content a[href$=".pdf"]::before,
.node__content a[href$=".docx"]::before,
.node__content a[href$=".doc"]::before {
	content: '';
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
}
.node__content a[href$=".pdf"]:hover::before,
.node__content a[href$=".docx"]:hover::before,
.node__content a[href$=".doc"]:hover::before {
	filter: brightness(0) invert(1);
}
.blocchiffres {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp1-5);
	justify-content: center;
}
.blocchiffres .wp-block-column {
	flex: 1 1 200px;
	display: flex;
}
.blocchiffres .wp-block-column p.has-background {
	flex: 1;
	display: flex;
	flex-direction: column;
	background-color: var(--pf-color-medium) !important;
	border-radius: 14px;
	padding: var(--sp2) var(--sp1-5);
	margin: 0;
	text-align: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	color: #fff;
	font-weight: 700;
}
.blocchiffres .wp-block-column p.has-background:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
}
.blocchiffres .wp-block-column p.has-background strong {
	display: block;
	font-size: 4rem;
	line-height: 1;
	margin-bottom: var(--sp0-5);
	font-family: "BricolageGrotesque", sans-serif;
}
.wp-block-drupalblock-views-block-editions-precedentes-block-carrousel {
	background-color: var(--pf-color-light) !important;
}
.leaflet-container {
	border-radius: 14px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}
.leaflet-tile-pane {
	filter: grayscale(0.85) contrast(0.95) brightness(1.05);
}
.leaflet-container::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--pf-color-dark);
	opacity: 0.12;
	mix-blend-mode: multiply;
	pointer-events: none;
	z-index: 1;
}
.leaflet-control-zoom {
	border: none !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	overflow: hidden;
}
.leaflet-control-zoom a {
	background-color: #fff !important;
	color: var(--pf-color-dark) !important;
	font-weight: 600;
	transition: background-color 0.15s ease;
}
.leaflet-control-zoom a:hover {
	background-color: var(--pf-color-light) !important;
}
.leaflet-control-attribution {
	background-color: rgba(255, 255, 255, 0.85) !important;
	border-radius: 6px;
	font-size: 0.6875rem;
	color: var(--medium-grey);
	padding: 2px 6px;
}

/* ==========================================================================
   SECTION → css/components/content.css
   Bloc "Focus sur un contenu" (focus_contenu_home) : mise en page 2 colonnes
   ========================================================================== */

.block-content--type-focus-contenu-home.ds-2col {
	display: flex;
	align-items: center;
	gap: var(--sp2-5);
}
.block-content--type-focus-contenu-home .group-left {
	flex: 1 1 55%;
}
.block-content--type-focus-contenu-home .group-right {
	flex: 1 1 45%;
}
.block-content--type-focus-contenu-home .group-right img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
}
.block-content--type-focus-contenu-home h2 {
	font-family: "BricolageGrotesque", sans-serif;
	margin-block: 0 var(--sp1);
}
.block-content--type-focus-contenu-home .field--name-body p {
	color: var(--lighter-black);
	margin-block-end: var(--sp1);
}
.block-content--type-focus-contenu-home .btn-plein.cta {
	margin-block-start: var(--sp1);
}
@media (max-width: 699.98px) {
	.block-content--type-focus-contenu-home.ds-2col {
		flex-direction: column;
	}
	.block-content--type-focus-contenu-home .group-right {
		order: -1;
	}
}
/* ==========================================================================
   SECTION → css/components/content.css
   Annuaire des organisateurs : carte (node--type-organisateur, teaser)
   ========================================================================== */

/* Le champ téléphone n'a pas de wrapper dédié (span.field__label + texte brut,
   directement enfants de la carte). On le cible via le frère adjacent de
   l'adresse, qui le précède toujours dans le DOM. */
   .node--type-organisateur.node--view-mode-teaser address.group-address + span.field__label {
	display: inline-flex;
	align-items: center;
	gap: var(--sp0-25);
	margin-block-start: var(--sp0-75);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--medium-grey);
}
.node--type-organisateur.node--view-mode-teaser address.group-address + span.field__label::before {
	content: '';
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/* Séparation avec le bouton "+ d'infos" qui suit directement (pas de wrapper) */
.node--type-organisateur.node--view-mode-teaser span.field__label + div.btn-contour.btn-mini {
	margin-block-start: var(--sp1);
}


/* Liens génériques dans la fiche organisateur (ex. champ "WWW") : reprendre
   la couleur de lien du site plutôt que le bleu par défaut du navigateur */
.node--type-organisateur li a {
	color: var(--pf-color-dark);
	text-decoration: underline;
	text-decoration-color: var(--pf-color-medium);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: color 0.15s ease;
}
.node--type-organisateur li a:hover {
	color: var(--pf-color-medium);
}
/* ==========================================================================
   SECTION → css/components/content.css
   Espace presse — page /espace-presse
   Vue : .view-id-taxonomy_term.view-display-id-page_espace_presse
   ==========================================================================
   Deux sous-blocs sur cette page, distingués SANS dépendre du nom de classe
   "pfc-wrapper-x" (qui peut être renommé/permuté côté Twig à tout moment) :
   1. Bloc édition   → repéré via .annee-main (poster + téléchargements)
   2. Grille auteurs → repérée via .data-download (présent uniquement
						dans les fiches auteur, 2 colonnes)
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. BLOC ÉDITION (.annee-main)
   -------------------------------------------------------------------------- */
   .view-id-taxonomy_term.view-display-id-page_espace_presse .annee-main [class*="pfc-wrapper"] {
	background-color: var(--pf-color-dark);
	padding: 10px;
	border-radius: 10px;
	align-items: center;
}
.view-display-id-page_espace_presse a.btn-contour, .btn-contour a {
	border: 1px solid var(--pf-color-dark);
	color: var(--pf-color-dark) !important;
}
/* Lignes de téléchargement (Communiqués, Visuels HD) */
.view-id-taxonomy_term.view-display-id-page_espace_presse .annee-main .annee-data dd.btn-contour.btn-mini {
	display: flex;
	align-items: center;
	gap: var(--sp0-5);
	margin: 0;
	margin-block-end: var(--sp0-5);
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .annee-main .annee-data dd.btn-contour.btn-mini:last-child {
	margin-block-end: 0;
}


/* Vignette (Visuels HD avec image réelle) : même traitement que la grille auteurs ci-dessous */
.view-id-taxonomy_term.view-display-id-page_espace_presse .annee-main .annee-data dd.btn-contour.btn-mini img {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .annee-main .annee-data dd.btn-contour.btn-mini a {
	display: inline-flex;
	align-items: center;
	gap: var(--sp0-5);
	width: auto;
	box-sizing: border-box;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--lighter-black);
	text-decoration: none;
	transition: color 0.15s ease;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .annee-main .annee-data dd.btn-contour.btn-mini a:hover {
	color: var(--pf-color-medium);
}


/* Icône document : uniquement quand il n'y a pas de vignette (communiqués, PDF) */
.view-id-taxonomy_term.view-display-id-page_espace_presse .annee-main .annee-data dd.btn-contour.btn-mini:not(:has(img)) a::before {
	content: '';
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
}


/* --------------------------------------------------------------------------
   2. GRILLE DE FICHES AUTEUR, 2 colonnes
   Repérée via .data-download (unique à ces fiches sur cette page)
   -------------------------------------------------------------------------- */

/* --- Grille générale --- */
.view-id-taxonomy_term.view-display-id-page_espace_presse .view-content.flexbox.flexbox-wrap:has(.data-download) {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--sp2);
}
@media (max-width: 599.98px) {
	.view-id-taxonomy_term.view-display-id-page_espace_presse .view-content.flexbox.flexbox-wrap:has(.data-download) {
		grid-template-columns: 1fr;
	}
}


/* --- Carte individuelle (photo + nom + bio en en-tête, téléchargements dessous) --- */
.view-id-taxonomy_term.view-display-id-page_espace_presse .view-content.flexbox.flexbox-wrap > .views-row:has(.data-download) {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: var(--sp2);
	row-gap: var(--sp0-5);
	align-items: start;
	background-color: var(--pf-color-light-alpha50);
	border-radius: 12px;
	padding: var(--sp1);
}


/* Photo principale : occupe les 2 premières lignes (nom + lien bio) */
.view-id-taxonomy_term.view-display-id-page_espace_presse .views-row:has(.data-download) > figure.group-figure {
	grid-column: 1;
	grid-row: 1 / 3;
	margin: 0;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .views-row:has(.data-download) > figure.group-figure img {
	width: 110px;
	height: 138px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
}


/* Le wrapper .data-download disparaît visuellement (display: contents) */
.view-id-taxonomy_term.view-display-id-page_espace_presse .views-row > .data-download {
	display: contents;
}


/* Nom de l'auteur : à côté de la photo */
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download h3 {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	margin: 0;
	font-family: "BricolageGrotesque", sans-serif;
	font-size: 1.125rem;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download h3 a {
	color: var(--black);
	text-decoration: none;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download h3 a:hover {
	color: var(--pf-color-medium);
}


/* Lien bio-bibliographie : sous le nom, à côté de la photo */
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download > .btn-contour.btn-mini {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download > .btn-contour.btn-mini a {
	display: inline-flex;
	align-items: center;
	gap: var(--sp0-25);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--pf-color-dark);
	text-decoration: none;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download > .btn-contour.btn-mini a:hover {
	color: var(--pf-color-medium);
}


/* Les deux <dl> (Photos HD, Documents divers) : pleine largeur, sous la photo */
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl {
	grid-column: 1 / -1;
	margin-block: var(--sp1) 0;
	padding-block-start: var(--sp1);
	border-block-start: 1px solid rgba(0, 0, 0, 0.08);
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dt.field__label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--medium-grey);
	margin-block-end: var(--sp0-5);
}


/* --- Liste des téléchargements (Photos HD + Documents divers) : lignes simples, sans fond --- */
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl dd {
	display: block;
	margin: 0 0 var(--sp0-5) 0;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl dd:last-child {
	margin-block-end: 0;
}


/* Photos HD : vignette ronde + nom + dimensions */
.view-id-taxonomy_term.view-display-id-page_espace_presse .auteur-photos-hd figure.flexbox {
	display: flex;
	align-items: center;
	gap: var(--sp0-75);
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .auteur-photos-hd figure.flexbox img {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .auteur-photos-hd figcaption {
	flex: 1;
	font-size: 0.8125rem;
	line-height: 1.3;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .auteur-photos-hd figcaption a.btn-contour.btn-mini {
	display: inline-flex;
	align-items: center;
	gap: var(--sp0-25);
	font-weight: 600;
	color: var(--lighter-black);
	text-decoration: none;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .auteur-photos-hd figcaption a.btn-contour.btn-mini:hover {
	color: var(--pf-color-medium);
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .auteur-photos-hd figcaption small {
	display: block;
	color: var(--medium-grey);
}


/* Documents divers : pas de vignette, ligne simple sans fond */
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl:not(.auteur-photos-hd) dd.btn-contour.btn-mini {
	display: flex;
	align-items: center;
	gap: var(--sp0-75);
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl:not(.auteur-photos-hd) dd.btn-contour.btn-mini .file {
	flex: 1;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--lighter-black);
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl:not(.auteur-photos-hd) dd.btn-contour.btn-mini .file a {
	color: inherit;
	text-decoration: none;
}
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl:not(.auteur-photos-hd) dd.btn-contour.btn-mini:hover .file a {
	color: var(--pf-color-medium);
}

/* Poids du fichier : en accent permanent (choix volontaire, pas seulement gris) */
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl:not(.auteur-photos-hd) dd.btn-contour.btn-mini > span:last-child {
	flex-shrink: 0;
	font-size: 0.75rem;
	color: var(--pf-color-medium);
}


/* Icône fichier sur chaque bouton de téléchargement de la grille
   (même pictogramme que l'icône du bloc édition ci-dessus ; dupliqué ici
   volontairement car le contexte d'affichage diffère : ici en 14px avec
   marge manuelle car le parent n'a pas de gap, là-haut en 16px avec gap) */
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download > .btn-contour.btn-mini a::before,
.view-id-taxonomy_term.view-display-id-page_espace_presse .auteur-photos-hd figcaption a.btn-contour.btn-mini::before,
.view-id-taxonomy_term.view-display-id-page_espace_presse .data-download dl:not(.auteur-photos-hd) dd.btn-contour.btn-mini .file::before {
	content: '';
	flex-shrink: 0;
	display: inline-block;
	width: 14px;
	height: 14px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
	vertical-align: -2px;
	margin-inline-end: var(--sp0-25);
}
/* ==========================================================================
   SECTION → css/components/content.css
   Page Rencontre (node--type-rencontre, view mode full)
   Repérée via .rencontre-main, sans dépendance au nom du wrapper interne
   ========================================================================== */

.rencontre-main {
	padding: var(--sp2);
}
.rencontre-main [class*="pfc-wrapper"].flexbox {
	display: flex;
	flex-direction: row;
	gap: 0;
}


/* --- Date + lieu (titre h2 avec <br> séparant date / lieu) --- */
.rencontre-main h2 {
	margin: 0 0 var(--sp0-75);
	font-family: "BricolageGrotesque", sans-serif;
	font-size: 1.5rem;
	line-height: 1.35;
	color: var(--pf-color-dark);
}


/* --- Public (champ field-public) : badge --- */
.rencontre-main .field--name-field-public {
	display: inline-flex;
	align-items: center;
	background-color: var(--light-grey);
	/* color: #fff; */
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: var(--sp0-25) var(--sp0-75);
	/* border-radius: 999px; */
}


/* --- Bloc "En partenariat avec" --- */
.rencontre-main .field.organisateurs {
	padding-block-start: var(--sp1-5);
	border-block-start: 1px solid rgba(0, 0, 0, 0.08);
}
.rencontre-main .field.organisateurs > h3.field__label {
	margin: 0 0 var(--sp1);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--medium-grey);
}


/* Cartes organisateur partenaire : en ligne, qui passent en colonne sur mobile */
.rencontre-main .field.organisateurs {
	display: flex;
	flex-direction: column;
}
.rencontre-main .node--type-organisateur.node--view-mode-ds-rencontre {
	display: inline-flex;
	flex-direction: column;
	background-color: #fff;
	border-radius: 10px;
	padding: var(--sp1) var(--sp1-25);
	margin-block-end: var(--sp0-75);
}
.rencontre-main .node--type-organisateur.node--view-mode-ds-rencontre:last-child {
	margin-block-end: 0;
}
.rencontre-main .node--type-organisateur.node--view-mode-ds-rencontre .field--name-node-title {
	font-family: "BricolageGrotesque", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	color: var(--black);
	margin-block-end: var(--sp0-25);
}
.rencontre-main .node--type-organisateur.node--view-mode-ds-rencontre address.group-address {
	font-style: normal;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--lighter-black);
}

/* Le champ "Haute-Saône" entre parenthèses : discret */
.rencontre-main .node--type-organisateur.node--view-mode-ds-rencontre address.group-address span {
	color: var(--medium-grey);
}


/* --- Note "Dépôt de livres sur le lieu de la rencontre" --- */
.rencontre-main .field.table-libraire {
	display: flex;
	align-items: center;
	gap: var(--sp0-5);
	margin-block-start: var(--sp1-5);
	padding-block-start: var(--sp1-5);
	border-block-start: 1px solid rgba(0, 0, 0, 0.08);
	font-size: 0.875rem;
	font-style: italic;
	color: var(--medium-grey);
}
.rencontre-main .field.table-libraire::before {
	content: '';
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
}
.view-display-id-ev_auteur_rencontres .view-content .views-row, .view-display-id-ev_autres_renc_auteur .view-content .views-row {
	& :is(.views-field-field-rencontre-exceptionnelle, .field--name-field-rencontre-exceptionnelle) {
		text-transform: uppercase;
		font-weight: 600;
		font-size: 0.75rem;
		background-color: var(--light-grey);
		display: inline-block;
		margin-block-end: 10px;
		padding: 5px;
	}
}
@media (min-width: 700px) {
	.rencontre-main .field.organisateurs {
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--sp1);
	}
	.rencontre-main .field.organisateurs > h3.field__label {
		flex: 1 1 100%;
	}
	.rencontre-main .node--type-organisateur.node--view-mode-ds-rencontre {
		margin-block-end: 0;
	}
}
/* ==========================================================================
   Page "Le festival vu par"
   Texte long repliable à la hauteur de la colonne auteur
   ========================================================================== */

.vu-par-layout {
	align-items: flex-start;
}


/* Colonne texte */
.vu-par-layout > div:last-child {
	position: relative;
	min-width: 0;
}


/* Zone de texte repliable */
.vu-par-layout .field--name-body,
.vu-par-layout .views-field-body {
	position: relative;
	overflow: hidden;
	max-height: var(--vu-par-collapsed-height, none);
	transition: max-height 0.35s ease;
}


/* État fermé */
.vu-par-layout:not(.is-open) .field--name-body,
.vu-par-layout:not(.is-open) .views-field-body {
	max-height: var(--vu-par-collapsed-height, 520px);
}


/* Dégradé de fin quand c'est fermé */
.vu-par-layout:not(.is-open) .field--name-body::after,
.vu-par-layout:not(.is-open) .views-field-body::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 5rem;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0),
		#fff
	);
	pointer-events: none;
}


/* État ouvert */
.vu-par-layout.is-open .field--name-body,
.vu-par-layout.is-open .views-field-body {
	max-height: none;
}


/* Bouton */
.vu-par-toggle {
	display: inline-flex;
	align-items: center;
	margin-block-start: var(--sp1);
	padding: 0.55rem 1rem;
	border: 1px solid var(--pf-color-medium);
	border-radius: 999px;
	background: #fff;
	color: var(--pf-color-dark);
	font-family: "BricolageGrotesque", sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.vu-par-toggle:hover,
.vu-par-toggle:focus-visible {
	background-color: var(--pf-color-medium);
	color: #fff;
}


/* Mobile : on affiche tout, pas de faux accordéon inutile */
@media (max-width: 700px) {
	.vu-par-layout .field--name-body,
	.vu-par-layout .views-field-body {
		max-height: none !important;
		overflow: visible;
	}

	.vu-par-layout .field--name-body::after,
	.vu-par-layout .views-field-body::after,
	.vu-par-toggle {
		display: none;
	}
}


/* ==========================================================================
   Fiche presse — Bouton téléchargement photos
   ========================================================================== */

.photos-dwnd .btn-contour {
	display: flex;
	align-items: center;
	gap: 1rem;
	width: fit-content;
	max-width: 100%;
	margin-block: 0.75rem;
}

.photos-dwnd .btn-contour img {
	flex: 0 0 auto;
}

.photos-dwnd .btn-contour a {
	min-width: 0;
	overflow-wrap: anywhere;
}


/* ==========================================================================
   Champ web (fiche auteur / partenaire)
   ========================================================================== */

.field_web {
	display: block;
}

.field_web .field__label {
	display: block;
	margin-bottom: 0.4rem;
	margin-block: var(--sp0-75);
	font-weight: 700;
}

.field_web a {
	display: inline-block;
	max-width: 100%;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--medium-grey);
	border-radius: 999px;
	color: var(--medium-grey);
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}


/* ==========================================================================
   Bloc groupe éditorial (blocgroup)
   ========================================================================== */

.blocgroup.aligncentre {
	text-align: center;
}

.blocgroup h2 {
	margin: 0 0 0.35rem;
	color: var(--pf-color-medium);
	line-height: 1.05;
}

.blocgroup p {
	margin: 0.35rem 0 0;
	line-height: 1.35;
}

.blocgroup + .wp-block-separator {
	width: 100%;
	max-width: none;
	margin-block: var(--sp1-5);
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--pf-color-medium) 30%, transparent);
}

.wp-block-separator + .blocgroup {
	margin-top: 0;
}
