/*
Theme Name: Maison de la chimie
Author: Italic
Author URI: https://www.italic.fr/
Version: 2018
Text Domain: maisondelachimie
*/

/* -----------------------------------------------
   Palette de couleurs
----------------------------------------------- */

:root {
	--color-primary:        #113865;
	--color-primary-dark:  #0b2340;
	--color-secondary: #325ca3;
	--color-accent:    #ecab3c;
	--color-white:    #FFFFFF;
	--color-black:    #111111;
	--header-height: 160px;
}

@media (min-width: 992px) {
	:root {
		--header-height: 138px;
	}
}

body {
	background: #fff;
	font:
		400 16px/1.5 'HelveticaNeue-Medium',
		'Helvetica Neue Medium',
		'Helvetica Neue LT Std',
		'Helvetica Neue',
		'Segoe UI',
		Roboto,
		Arial,
		sans-serif;
	color: #454b57;
	overflow-x: hidden;
}

body .cc-window {
	display: none;
}

body.hasCookies .cc-window {
	display: flex;
}

/* -----------------------------------------------
   Navigation mobile — burger menu plein écran (<992px)
----------------------------------------------- */

@media (max-width: 991px) {

	body.mobile-menu-open {
		overflow: hidden;
	}

	/* Bouton burger : icône bars/croix selon l'état, reste au-dessus du panneau */
	.menu_opener {
		position: relative;
		z-index: 201;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		font-size: 1.4em;
	}

	.menu_opener .fa-times {
		display: none;
	}

	/* Masqué pendant l'overlay de recherche : évite le chevauchement
	   visuel avec le champ plein largeur de .header-search.is-open */
	body.search-open .menu_opener {
		display: none;
	}

	.menu_opener.is-open .fa-bars {
		display: none;
	}

	.menu_opener.is-open .fa-times {
		display: inline-block;
	}

	/* Panneau plein écran */
	.main-nav .main-menu {
		display: none;
	}

	.main-nav .main-menu.is-open {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		position: fixed;
		inset: 0;
		z-index: 150;
		margin: 0;
		padding: var(--header-height) 0 30px;
		background: var(--color-primary);
		overflow-y: auto;
		margin-top: 30px;
	}

	/* Items niveau 0 */
	.main-nav .main-menu > .menu-item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.main-nav .main-menu > .menu-item > a {
		font-size: 1.1em;
		letter-spacing: 0.08em;
	}

	/* Liens — toutes profondeurs */
	.main-nav .main-menu .menu-item > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		padding: 10px 30px;
		color: #fff;
		font-weight: 700;
		text-transform: uppercase;
		text-decoration: none;
		background: none !important;
	}

	/* Sous-menus en accordéon */
	.main-nav .main-menu .sub-menu {
		display: none;
		margin: 0;
		padding: 0;
		list-style: none;
		background: var(--color-primary-dark);
	}

	.main-nav .main-menu .sub-menu.is-open {
		display: block;
	}

	.main-nav .main-menu .sub-menu > .menu-item > a {
		padding-left: 40px;
		font-size: 0.9em;
		font-weight: 400;
		text-transform: none;
	}

	.main-nav .main-menu .sub-menu .sub-menu > .menu-item > a {
		padding-left: 60px;
		font-size: 0.85em;
		opacity: 0.85;
	}

	/* Chevron indicateur d'accordéon */
	.main-nav .main-menu .menu-item-has-children > a::after {
		content: '\f078';
		flex-shrink: 0;
		font-family: 'FontAwesome';
		font-size: 0.8em;
		font-weight: 400;
		transition: transform 0.2s ease;
	}

	.main-nav .main-menu .menu-item-has-children:has(> .sub-menu.is-open) > a::after {
		transform: rotate(180deg);
	}

	.main-nav .main-menu .menu-item:not(.menu-item-has-children) > a::after {
		content: none;
	}
}

/* -----------------------------------------------
   Navigation — mega-menu pleine largeur (desktop)
----------------------------------------------- */

/* Labels non-cliquables (#) dans les sous-menus : curseur par défaut */
.main-nav .main-menu .sub-menu > .menu-item > a[href="#"] {
	cursor: default;
}

/* Supprimer les chevrons sur tous les items N0 desktop */
@media (min-width: 992px) {
	.main-nav .main-menu > .menu-item > a {
		background-image: none !important;
		padding-left: 0 !important;
		letter-spacing: 0.16em;
		font-size: 1em;
	}

	/* Supprimer les barres ::before et ::after héritées de main.css */
	.main-nav .main-menu > .menu-item > a::before,
	.main-nav .main-menu > .menu-item > a::after {
		display: none;
	}

	/* Magic line — indicateur unique glissant */
	.nav-indicator {
		position: absolute;
		bottom: 0;
		height: 5px;
		background: var(--color-white);
		opacity: 0;
		pointer-events: none;
		transition: left 0.5s ease-in-out, width 0.5s ease-in-out, opacity 0.15s ease-in-out;
		z-index: 201;
	}
}

/* ── Desktop : mega-menu ─────────────────────── */
@media (min-width: 1200px) {
	.main-nav .main-menu > .menu-item {
		position: static;
		margin: 0 30px;
	}
}
@media (min-width: 992px) {

	/* Fond transparent sur .main-menu — pleine largeur, items répartis */
	.main-nav .main-menu {
		background: transparent !important;
		width: 100%;
		justify-content: space-between;
	}

	/* Neutraliser la barre orange ::before des sous-menus héritée de main.css */
	.main-nav .main-menu > .menu-item > .sub-menu .menu-item > a::before {
		display: none;
	}

	/* Neutraliser le :hover de main.css — l'ouverture est pilotée par .mega-open via JS */
	.main-nav .main-menu > .menu-item-has-children:hover .sub-menu {
		opacity: 0;
		visibility: hidden;
	}
	.main-nav .main-menu > .menu-item-has-children:hover > .sub-menu {
		opacity: 0;
		visibility: hidden;
	}

	/* Ancrer les sous-menus N1 sur .header (position:relative) plutôt que sur .main-nav */
	.main-nav {
		position: static;
		padding: 0 60px 0 40px;
	}
	.main-nav .main-menu > .menu-item {
		position: static;
		margin: 0;
	}


	/* Panneau mega-menu N1 — centré 1200px, aligné sur le container */
	.main-nav .main-menu > .menu-item > .sub-menu {
		display: flex !important;
		flex-direction: row;
		flex-wrap: wrap;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		width: auto;
		min-width: unset;
		background: #fff;
		padding: 40px;
		box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
		clip-path: inset(0 -30px -30px -30px);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
		z-index: 200;
	}

	/* Ouverture pilotée par JS via .mega-open */
	.main-nav .main-menu > .menu-item.mega-open > .sub-menu {
		opacity: 1;
		visibility: visible;
	}

	/* Colonnes N1 */
	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item {
		flex: 1;
		min-width: 160px;
		padding: 0 24px;
		border-left: 1px solid #e8e8e8;
	}
	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item:first-child {
		border-left: none;
		padding-left: 0;
	}

	/* Titre de colonne N1 */
	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > a {
		display: block;
		color: var(--color-primary);
		font-weight: 700;
		font-size: 13px;
		text-transform: none;
		padding: 0 0 10px;
		margin-bottom: 8px;
		border-bottom: 1px solid var(--color-primary);
		background: none !important;
		text-decoration: none;
	}

	/* Sous-items N2 : layout statique dans le panneau */
	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > .sub-menu {
		position: static !important;
		display: block !important;
		opacity: 1 !important;
		background: transparent;
		box-shadow: none;
		padding: 0;
		min-width: unset;
		border: none;
		transition: none;
	}

	/* N2 visibles uniquement quand le panneau est ouvert */
	.main-nav .main-menu > .menu-item.mega-open > .sub-menu > .menu-item > .sub-menu {
		visibility: visible !important;
	}

	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > a {
		display: block;
		color: #444;
		font-weight: 400;
		font-size: 13px;
		text-transform: none;
		padding: 5px 0;
		background: none !important;
		text-decoration: none;
		transition: color 0.15s ease;
	}

	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > a:hover,
	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item.current-menu-item > a {
		color: var(--color-primary);
	}

	/* Sous-items N3 : layout statique, indentés sous leur N2 */
	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > .sub-menu {
		position: static !important;
		display: block !important;
		opacity: 1 !important;
		background: transparent;
		box-shadow: none;
		padding: 0;
		min-width: unset;
		border: none;
		transition: none;
	}

	/* N3 visibles uniquement quand le panneau est ouvert */
	.main-nav .main-menu > .menu-item.mega-open > .sub-menu > .menu-item > .sub-menu > .menu-item > .sub-menu {
		visibility: visible !important;
	}

	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > a {
		display: block;
		color: #666;
		font-weight: 400;
		font-size: 12px;
		text-transform: none;
		padding: 4px 0 4px 20px;
		background: none !important;
		text-decoration: none;
		transition: color 0.15s ease;
	}

	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > a:hover,
	.main-nav .main-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item.current-menu-item > a {
		color: var(--color-primary);
	}
}

/* -----------------------------------------------
   Header — logo gauche / search+nav droite
----------------------------------------------- */

.header-inner {
	display: flex;
	align-items: stretch;
	position: relative;
	height: 100%;
}

.header-logo {
	flex-shrink: 0;
	align-self: center;
	padding-top: 23px;
	margin: 20px;
}

.header-logo img {
	display: block;
	width: 280px;
	height: auto;
}

.header-right {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
}

@media (max-width: 991px) {
	.header-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.header-logo {
		padding-top: 0;
		margin: 12px 0 0 15px;
		z-index: 201;
	}

	.header-right {
		flex: 1;
		width: 100%;
		justify-content: center;
	}

	.header .main-nav {
		margin: 10px 0;
		justify-content: center;
	}
}

.header {
	color: #fff;
	text-align: center;
	z-index: 100;
	height: var(--header-height);
}

.header .main-nav {
	display: flex;
	align-items: center;
	background: transparent;
	height: auto;
	padding-top: 0;
	width: 100%;
}

/* -----------------------------------------------
   Header — recherche
----------------------------------------------- */

/* Rideau page (sous le header) */
body.search-open::before {
	content: '';
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 99;
}

/* Rideau header (logo + nav, dans le stacking context du header) */
.header-curtain {
	display: none;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(100%, 1200px);
	background: rgba(0, 0, 0, 0.6);
	z-index: 2;
}

body.search-open .header-curtain {
	display: block;
}

.header-search {
	display: none;
}

.header-search-toggle {
	display: none;
	text-decoration: none;
}

@media (max-width: 991px) {
	/* Déclencheur — dans le flux normal, à côté du burger */
	.header-search-toggle {
		position: relative;
		z-index: 201;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		color: #fff;
		font-size: 1.3em;
	}

	body.search-open .header-search-toggle {
		display: none;
	}

	.header-search {
		display: none;
	}

	.header-search.is-open {
		display: flex;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		height: var(--header-height);
		padding: 0 15px;
		background: var(--color-primary);
		z-index: 160;
	}

	.header-search-input {
		display: none;
		flex: 1;
		box-sizing: border-box;
		margin: 0 10px 0 15px;
		padding: 8px 0;
		border: none;
		border-bottom: 1px solid #fff;
		background: transparent;
		color: #fff;
		font-size: 1.1em;
		outline: none;
	}

	.header-search-input::placeholder {
		color: rgba(255, 255, 255, 0.6);
	}

	.header-search.is-open .header-search-input {
		display: block;
	}

	.header-search-btn {
		display: none;
	}

	.header-search.is-open .header-search-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		background: none;
		border: none;
		color: #fff;
		font-size: 1.3em;
		padding: 0;
	}
}

@media (min-width: 992px) {
	.header-search {
		display: flex;
		flex-direction: row;
		align-items: center;
		position: absolute;
		top: 20px;
		right: calc(max(0px, 50% - 600px) + 100px);
		z-index: 3;
		padding: 8px 20px 6px;
		background: transparent;
		box-shadow: none;
		transition: background 0.2s ease 0.25s, box-shadow 0.2s ease 0.1s;
	}

	.header-search-input {
		box-sizing: border-box;
		width: 0;
		overflow: hidden;
		padding: 0;
		border: none;
		color: #000;
		font-size: 1.2em;
		outline: none;
		transition: width 0.35s ease;
	}

	.header-search.is-open {
		background: var(--color-white);
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
		transition: background 0.1s ease, box-shadow 0.1s ease;
		z-index: 100;
	}

	.header-search.is-open .header-search-input {
		width: 600px;
		transition: width 0.35s ease;
	}

	.header-search-input::placeholder {
		color: rgba(0, 0, 0, 0.4);
	}

	.header-search-btn {
		background: none;
		border: none;
		color: var(--color-white);
		cursor: pointer;
		padding: 0;
		font-size: 1.2em;
		line-height: 1;
		transition: color 0.2s ease;
	}

	.header-search.is-open .header-search-btn {
		color: var(--color-black);
	}

}

/* -----------------------------------------------
   Têtière couvrant header + bandeau
----------------------------------------------- */

body.home .header,
body.page-template-template-fondation .header,
body.page-template-template-actions .header,
body.page-template-template-colloques .header,
body.page-template-template-colloques-serie .header,
body.page-template-template-videotheque .header,
body.page-template-template-agenda .header,
body.page-template-template-prix-fondation .header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: transparent;
}

body.page-template-template-page-fondation .header,
body.page-template-template-page-simple .header,
body.page-template-template-contact .header,
body.search-results .header,
body.search-no-results .header,
body.error404 .header {
	background: url(images/tetiere/fondation.png) center top / 1200px auto no-repeat;
}

body.page-template-template-page-actions .header,
body.page-template-template-page-actions-player .header,
body.page-template-template-bourse .header,
body.page-template-template-club-pme .header,
body.single-colloque .header,
body.single-publication .header {
	background: url(images/tetiere/actions.png) center top / 1200px auto no-repeat;
}

body.page-template-template-page-prix-fondation .header {
	background: url(images/tetiere/prix.png) center top / 1200px auto no-repeat;
}

body.page-template-template-bureau .header {
	background: url(images/tetiere/home.png) center top / 1200px auto no-repeat;
}

body.single-evenement .header {
	background: url(images/tetiere/agenda.png) center top / 1200px auto no-repeat;
}

body.home .header::before,
body.page-template-template-fondation .header::before,
body.page-template-template-actions .header::before,
body.page-template-template-colloques .header::before,
body.page-template-template-colloques-serie .header::before,
body.page-template-template-videotheque .header::before,
body.page-template-template-agenda .header::before,
body.page-template-template-prix-fondation .header::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(100%, 1200px);
	z-index: 0;
}

body.home .header-inner,
body.page-template-template-fondation .header-inner,
body.page-template-template-actions .header-inner,
body.page-template-template-colloques .header-inner,
body.page-template-template-colloques-serie .header-inner,
body.page-template-template-videotheque .header-inner,
body.page-template-template-agenda .header-inner,
body.page-template-template-prix-fondation .header-inner {
	position: relative;
	z-index: 1;
}

body.home.admin-bar .header,
body.page-template-template-fondation.admin-bar .header,
body.page-template-template-actions.admin-bar .header,
body.page-template-template-colloques.admin-bar .header,
body.page-template-template-colloques-serie.admin-bar .header,
body.page-template-template-videotheque.admin-bar .header,
body.page-template-template-agenda.admin-bar .header,
body.page-template-template-prix-fondation.admin-bar .header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.home.admin-bar .header,
	body.page-template-template-fondation.admin-bar .header,
	body.page-template-template-actions.admin-bar .header,
	body.page-template-template-colloques.admin-bar .header,
	body.page-template-template-colloques-serie.admin-bar .header,
	body.page-template-template-videotheque.admin-bar .header,
	body.page-template-template-agenda.admin-bar .header,
	body.page-template-template-prix-fondation.admin-bar .header {
		top: 46px;
	}
}

/* En dessous de 992px, le header repasse dans le flux (fond plein) sur les templates
   portail — le mode "transparent flottant sur la tétière" n'a de sens qu'au format desktop. */
@media (max-width: 991px) {
	body.home .header,
	body.page-template-template-fondation .header,
	body.page-template-template-actions .header,
	body.page-template-template-colloques .header,
	body.page-template-template-colloques-serie .header,
	body.page-template-template-videotheque .header,
	body.page-template-template-agenda .header,
	body.page-template-template-prix-fondation .header {
		position: relative;
		top: auto !important;
		background: var(--color-primary);
	}

	body.home .header::before,
	body.page-template-template-fondation .header::before,
	body.page-template-template-actions .header::before,
	body.page-template-template-colloques .header::before,
	body.page-template-template-colloques-serie .header::before,
	body.page-template-template-videotheque .header::before,
	body.page-template-template-agenda .header::before,
	body.page-template-template-prix-fondation .header::before {
		display: none;
	}
}

/* -----------------------------------------------
   Bandeau
----------------------------------------------- */
.bandeau-principal {
	background-size: 1200px auto;
	background-position: center top;
	background-repeat: no-repeat;
	position: relative;
	padding-top: 0;
}

@media (min-width: 992px) {
	.bandeau-principal {
		padding-top: var(--header-height);
	}
}

.page-template-template-prix-fondation .bandeau-principal,
.page-template-template-page-prix-fondation .bandeau-principal {
	background-position: center bottom;

}

.bandeau-scroll-down {
	display: inline-block;
	color: var(--color-white);
	font-size: 1em;
	line-height: 1;
	padding: 1em;
	background-color: var(--color-primary);
}

.bandeau-principal .align-items-center {
	padding: 20px 10px 10px;
	height: 100%;
}

.bandeau-principal-titre {
	color: #ffffff;
	text-shadow: 0 8px 6px rgba(50, 50, 50, 0.8);
	font-size: 3em;
	line-height: 1.25em;
	padding: 0 20px;
	font-weight: 500;
	margin: 0;
}

.bandeau-principal-sous-titre {
	color: #ffffff;
	text-shadow: 0 4px 4px rgba(50, 50, 50, 0.7);
	font-size: 1.6em;
	line-height: 1.25em;
	padding: 0 20px;
	font-weight: 500;
	margin: 0.4em 0 50px;
}

.bandeau-principal-slides {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.bandeau-principal-slide {
	position: relative;
	aspect-ratio: 1 / 1;
	width: 100%;
	max-width: 280px;
	overflow: hidden;
	box-shadow: 4px 8px 20px rgba(0, 0, 0, 0.5);
	margin-left: 45px;
}

.slider-init .bandeau-principal-slide {
	display: none;
}

.slider-init .bandeau-principal-slide.active {
	display: block;
}

.bandeau-principal-dots {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.75rem;
	margin-left: 45px;
}

.bandeau-principal-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: transparent;
	padding: 0;
	cursor: pointer;
	transition: background 0.2s;
}

.bandeau-principal-dot.active {
	background: #fff;
}
.bandeau-principal-slide-link {
	position: absolute;
	inset: 0;
}
.bandeau-principal-slide-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 767px) {
	.bandeau-principal-titre {
		font-size: 2em;
	}

	.bandeau-principal-sous-titre {
		font-size: 1.2em;
		margin-bottom: 30px;
	}

	.bandeau-principal-slide,
	.bandeau-principal-dots {
		margin-left: 0;
	}
}

/* -----------------------------------------------
   Section
----------------------------------------------- */

.section {
	margin: 1em 0;
}

@media (max-width: 991px) {
	.post-content {
		margin: 1em;
	}
}

.section .container {
	padding: 0;
}

.section .titre::before {
	content: '';
	display: block;
	width: 1.5em;
	height: 1em;
	background-color: var(--color-primary);
	flex-shrink: 0;
	align-self: center;
}

.section .titre {
	color: var(--color-primary);
	font-weight: 300;
	display: flex;
	align-items: center;
	gap: 12px;
	line-height: 1.2;
	font-size: 1.5em;
}

@media (max-width: 767px) {
	.section .titre {
		display: block;
		padding-left: 48px;
		text-indent: -54px;
	}

	.section .titre::before {
		display: inline-block;
		width: 48px;
		vertical-align: top;
		padding-bottom: 20px;
		margin-right: 6px;
	}
}

.section p,
.section ul li {
	font-size: 1em;
	text-align: justify;
}

.section p.colloque-date {
	margin-top: 0;
}

.section ul {
	padding: 0;
}
.section li {
	font-size:1em;
	list-style: none;
	margin: 0;
}

.section h3 {
	margin-top: 0;
	margin-bottom: 0;
}

.section.page-content h2 {
	color: var(--color-primary);
	font-weight: 600;
	line-height: 1.2;
}

.section.page-content h3,
.section.page-content h4,
.section.page-content h5,
.section.page-content h6 {
	color: var(--color-primary);
	font-weight: 400;
	line-height: 1.2;
}

section hr.separateur {
	border: none;
	border-top: 1px solid #ccc;
	margin-top: 2em;
	width: 100%;
}
.videotheque-layout section hr.separateur {
	margin-top: 1em;
}

.section.colloques-series hr.separateur,
.section.colloques-layout hr.separateur{
	margin: 2em 0 2em 2em;
}

/* ── Grid — colonnes empilées (col-sm-12) ──────────────────────────────────── */

@media (max-width: 767px) {
	.row > .col-sm-12 + .col-sm-12 {
		margin-top: 1em;
	}
	.section {
		margin: 0;
	}
}

@media (max-width: 991px) {
	.order-2 {
		order: 1;
	}
}

/* ── Sidebar ─────────────────────────────────────────────────────────────── */

.layout-sidebar > main {
	padding-right: 4em;
}

@media (max-width: 767px) {
	.layout-sidebar > main {
		padding-right: 0;
	}
}

.layout-sidebar > aside {
	align-self: flex-start;
}

.sidebar {
	margin-top: 2em;
}

.sidebar-menu {
	background-color: var(--color-primary);
	margin-bottom: 1em;
	padding-bottom: 0.5em
}

@media (max-width: 991px) {
	.sidebar:has(.sidebar-menu ~ .sidebar-menu) {
		display: flex;
		flex-direction: column;
	}

	.sidebar:has(.sidebar-menu ~ .sidebar-menu) > .sidebar-menu:first-of-type {
		order: 1;
	}
}

.sidebar-titre {
	text-transform: uppercase;
	color: #fff;
	padding: 1em 1em 0.5em;
	margin-bottom: 0;
	background-color: var(--color-primary-dark);
}

.sidebar-serie {
	font-size: 0.9rem;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
	border-bottom: 1px solid #fff;
}

.sidebar-serie.active:not(:has(+ .sidebar-list.active)) {
	border-bottom: 1px solid #fff;
	background-color: var(--color-secondary);
}

.sidebar-serie.active {
	border-bottom: 0;
}

.sidebar-list {
	list-style: none;
	margin: 0 ;
	padding: 0;
}

.sidebar-list li {
	padding: 0;
	margin: 0;
}

.sidebar-list li a {
	line-height: 1.3;
}

.sidebar-list .sidebar-link {
	padding: 0.5em 3em 0.3em;
}

.sidebar-list:has(.sidebar-list) {
	border-bottom: 0;
	padding-bottom: 0;
}
/* Série active avec petits-enfants : ancêtre — supprime secondary uniquement si liste imbriquée */
.sidebar-serie.active:has(+ .sidebar-list.active .sidebar-list) .sidebar-link {
	background-color: var(--color-primary);
}

/* Sous-page active avec petits-enfants : ancêtre — fond primary + bordure secondary */
.sidebar-list li:has(> a.sidebar-link.active + .sidebar-list) > a.sidebar-link.active {
	background-color: var(--color-secondary);
}

/* Indentation petits-enfants */
.sidebar-list .sidebar-list .sidebar-link {
	padding-left: 4.5em;
}

.sidebar-list.active + .sidebar-serie {
	margin-top: 0.5em;
	border-top: 1px solid #fff;
}

.sidebar-link {
	display: block;
	font-size: 0.8rem;
	line-height: 1.2;
	padding: 1em 1.5em;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
}

.sidebar-link:hover,
.sidebar-link.active {
	background-color: var(--color-secondary);
}

.sidebar-downloads {
	margin-top: 1em;
	padding: 0 1em;
}

/* ── Template Colloques — séries ──────────────────────────────────────────── */

.section .row.texte-margin {
	margin-left: 2.2em;
	margin-bottom: 1em;
}

@media (max-width: 767px) {
	.section .row.texte-margin {
		margin-left: 1em;
		margin-bottom: 1em;
		margin-right: 1em;
	}
}

.colloques-serie-titre {
	font-size: 0.9rem;
	text-transform: uppercase;
	color: var(--color-primary);
	border-bottom: 2px solid var(--color-primary);
	padding-bottom: 0.5em;
	margin-top: 0;
	margin-bottom: 1em;
}

.colloques-serie-liste {
	list-style: none;
	padding: 0;
	margin: 0;
}

.colloques-serie-item {
	border-bottom: 1px solid #ccc;
	padding: 0.6em 0;
}

.colloques-serie-item:last-child {
	border-bottom: none;
}

.colloques-serie-item p.colloque-date {
	font-size: 0.75em;
	color: var(--color-secondary);
	text-transform: uppercase;
	margin-bottom: 0.1em;
}

.colloques-serie-item h3 {
	font-size: 0.85em;
	line-height: 1.3;
	margin: 0;
}

.colloques-serie-item h3 a {
	color: var(--color-primary);
	text-decoration: none;
	text-transform: uppercase;
}

.colloques-serie-item h3 a:hover {
	color: var(--color-secondary);
}

/* ── Colloque à la une (template-colloques) ──────────────────────────────── */

.colloques-une-meta {
	display: flex;
	align-items: stretch;
	gap: 1.5em;
	margin-left: 2.2em;
}

.colloques-une-texte {
	flex: 1;
}

.colloques-une-date {
	background-color: var(--color-primary);
	color: #fff;
	padding: 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 120px;
	max-height: 120px;
}

.colloques-une-date .date-jour-semaine {
	font-size: 0.5em;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.colloques-une-date .date-jour {
	font-size: 1.5em;
	line-height: 1;
	font-weight: 500;
}

.colloques-une-date .date-mois {
	font-size: 2em;
	line-height: 1;
	font-weight: 600;
}

.colloques-une-date .date-annee {
	font-size: 0.75em;
	line-height: 1;
}

.colloques-une-titre {
	font-size: 1em;
	margin-top: 0;
	margin-bottom: 0.4em;
}

.colloques-une-titre a {
	color: var(--color-black);
	text-decoration: none;
	text-transform: uppercase;
}

.colloques-une-excerpt {
	font-size: 0.85em;
	margin-top: 0;
}

.colloques-une-img {
	margin-top: 1em;
	padding-bottom: 1em;
	margin-left: 2.1em;
	margin-right: 0.25em;
}

.colloques-une-img img {
	width: 100%;
	height: auto;
	display: block;
	box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.5);
}

@media (max-width: 767px) {
	.colloques-une-meta {
		margin-left: 0 !important;
		margin-right: 1em;
	}

	.colloques-une-img {
		margin-left: 0;
		margin-right: 0;
	}
}

/* ── Lien retour (single-colloque / single-evenement) ────────────────────── */

.lien-retour {
	white-space: nowrap;
	flex-shrink: 0;
	margin-left: 1.5em;
	margin-right: 0.5em;
	text-decoration: none;
	color: var(--color-primary);
}

/* ── Single colloque — téléchargements ───────────────────────────────────── */

.downloads {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	padding: 1em 3em;
	background: var(--color-primary);
}

.download {
	display: flex;
	gap: 0.6em;
	color: var(--color-white);
	text-decoration: none;
	padding-bottom: 5px;
}

.download-icon {
	flex-shrink: 0;
	width: 1.5em;
	height: 1.5em;
	background-color: var(--color-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
}

.download-icon svg {
	width: 0.8em;
	height: 0.8em;
	fill: #fff;
}

.download-icon .fa {
	font-size: 0.8em;
	color: #fff;
}

.download-label {
	font-size: 1em;
}

/* ── Single colloque — slider visionnages ────────────────────────────────── */

.colloque-visionnages-section {
	margin-bottom: 2em;
}

.colloque-visionnages-titre {
	font-weight: 400;
	font-size: 1em;
	margin-left: 3em;
	margin-bottom: 1em;
}

.colloque-visionnages-titre .fa {
	color: #fff;
	background-color: var(--color-primary);
	border-radius: 3px;
	padding: 0.75em;
	margin-right: 0.4em;
	font-size: 0.85em;
}

.colloque-vis-slider {
	position: relative;
	padding: 0 2.8em;
}

.colloque-vis-track-wrap {
	overflow: hidden;
	padding-bottom: 10px;
	clip-path: inset(0 0 -12px 0);
}

.colloque-vis-track {
	display: flex;
	transition: transform 0.4s ease;
	margin: 0;
	padding: 0;
}

.colloque-vis-slide {
	flex: 0 0 20%;
	min-width: 0;
	padding: 0.5rem;
	box-sizing: border-box;
}

@media (max-width: 991px) {
	.colloque-vis-slide {
		flex-basis: 33.3333%;
	}
}

@media (max-width: 767px) {
	.colloque-vis-slide {
		flex-basis: 50%;
	}
}

.colloque-vis-slide > a {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	text-decoration: none;
	box-shadow: 0 6px 6px rgba(0, 0, 0, 0.35);
}

.colloque-vis-slide img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.colloque-vis-label {
	font-size: 0.75em !important;
	text-align: left !important;
	margin: 1em 0 0;
	padding: 0 0.25em;
	line-height: 1.3;
	max-height: 3.9em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.colloque-vis-slide.active {
	background-color: var(--color-primary);
	padding-bottom: 0.5em;
}

.colloque-vis-slide.active .colloque-vis-label {
	color: var(--color-white);
}

.colloque-vis-prev,
.colloque-vis-next,
.gallery-prix-prev,
.gallery-prix-next {
	position: absolute;
	transform: translateY(-50%);
	background: none;
	color: #aaa;
	border: none;
	width: auto;
	height: auto;
	cursor: pointer;
	font-size: 3em;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	padding: 0;
}

.colloque-vis-prev,
.colloque-vis-next {
	top: calc(50% - 0.6em);
}

.colloque-vis-prev { left: 0; }
.colloque-vis-next { right: 0; }

.colloque-vis-prev:disabled,
.colloque-vis-next:disabled {
	display: none;
}

.colloque-player {
	position: relative;
	aspect-ratio: 16 / 9;
	margin: 1.5em 2.8em;
	background-color: #fff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}

@media (max-width: 767px) {
	.colloque-player,
	.video-popin-player,
	.page-template-template-prix-fondation .colloque-player {
		margin: 1.5em 0;
		box-shadow: none;
	}
}

.colloque-player-embed {
	display: none;
	position: absolute;
	inset: 0;
	padding: 1em;
}

.colloque-player-embed.active {
	display: block;
}

@media (max-width: 767px) {
	.colloque-player-embed {
		padding: 0;
		margin-bottom: 1em;
	}
}

.colloque-player-embed iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
}

/* ── Single colloque — méta (date + infos) ───────────────────────────────── */

.colloque-meta {
	display: flex;
	align-items: flex-start;
	gap: 2em;
	margin-bottom: 1.5em !important;
}

.colloque-meta-infos {
	display: flex;
	flex-direction: column;
	gap: 0.25em;
}

.colloque-meta-salle {
	font-size: 1em;
}

.colloque-meta-infos p {
	margin: 0;
}

.colloque-inscription,
.colloque-inscription-closes {
	margin-left: auto;
	background-color: var(--color-primary);
	color: var(--color-white);
	text-decoration: none;
	padding: 0.25em 1em 0.1em;
}

.colloque-inscription-closes {
	background-color: var(--color-accent);
}

.colloque-inscription .fa {
	margin-top: 5px;
}

.colloque-resume {
	font-size: 1em;
	margin-left: 2.6em;
	margin-right: 1em;
}

@media (max-width: 767px) {
	.colloque-resume {
		margin-left: 1em;
		margin-right: 1em;
	}
}
.colloque-publications-row {
	background-color: var(--color-primary);
	color: #fff;
	margin: 2em 0 0;
	padding-bottom: 2em
}

.colloque-section-titre {
	display: flex;
	align-items: center;
	gap: 0.6em;
	font-weight: 400;
	margin-bottom: 1em;
}

.colloque-section-titre {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 1.5em;
	text-transform: uppercase;
}

.colloque-section-titre::before {
	content: '';
	display: block;
	width: 1.5em;
	height: 1em;
	background-color: var(--color-white);
	flex-shrink: 0;
	align-self: center;
}

.colloque-publications {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
}

.colloque-publication {
	display: flex;
	gap: 1.5em;
	align-items: flex-start;
	margin-left: 3em;
	padding-right: 3em;
}

.colloque-publication-image {
	flex: 0 0 auto;
}

.colloque-publication-image img {
	width: auto;
	max-height: 350px;
	display: block;
	box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.5);
}

.colloque-publication-infos {
	flex: 1;
	min-width: 0;
}

.colloque-publication-titre {
	font-weight: 500;
	font-size: 1.2em;
	margin-bottom: 0.25em;
	text-transform: uppercase;
}

.colloque-publication-auteurs,
.colloque-publication-editeur {
	font-size: 0.9em;
	color: rgba(255, 255, 255, 0.75);
	margin-bottom: 0.2em;
}

.colloque-publication .colloque-publication-auteurs,
.colloque-publication .colloque-publication-editeur {
	color: inherit;
}

.colloque-publication-prix {
	font-size: 0.9em;
	margin-bottom: 0.5em;
}

.colloque-publication-liens {
	display: flex;
	gap: 0.75em;
	margin-top: 0.5em;
}

.colloque-publication-lien {
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #fff;
	border: 1px solid #fff;
	padding: 0.4em 0.8em;
	text-decoration: none;
}

.colloque-publication-lien:hover {
	background-color: var(--color-primary-dark);
}

.colloque-publication .colloque-publication-lien {
	color: inherit;
	border-color: var(--color-primary-dark);
}
.colloque-publication .colloque-publication-lien:hover {
	background-color: inherit;
}

/* ── Colloques — programme intervenants ─────────────────────────────────── */

.table-responsive {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.colloque-programme {
	max-width: 100%;
	border-collapse: collapse;
	font-size: 0.9em;
	margin-left: 2.5em;
}

@media (max-width: 767px) {
	.colloque-programme {
		margin-left: 0;
		margin-right: 1em;
		max-width: calc(100% - 0.5em);
	}
}

.colloque-programme td {
	padding: 0.5em 0.75em;
	vertical-align: top;
	text-align: left;
}

.colloque-programme tr.programme-intervenant-start td {
	padding-top: 1em;
}
.colloque-programme tr.programme-intervenant-end td {
	padding-bottom: 1em;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.colloque-programme tr.programme-intervenant-end:last-child td {
	border-bottom: 0;
}
.colloque-programme td .col-nom {
	margin-top: 1em;
}
.colloque-programme td .col-nom,
.colloque-programme td .col-titre,
.colloque-programme td.col-titre-video {
	font-weight: 600;
}

.colloque-programme .col-doc,
.colloque-programme .col-video {
	width: 1px;
	white-space: nowrap;
}

.colloque-programme .col-texte {
	text-align: justify;
}

.colloque-programme .col-heure {
	display: inline-block;
	white-space: nowrap;
	background-color: #eee;
	padding: 2px 5px 0;
	vertical-align: baseline;
	margin-right: 0.5em;
}

.programme-doc-link,
.programme-video-link {
	display: inline-flex;
	text-decoration: none;
}

.programme-video-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5em;
	height: 2.5em;
	border-radius: 3px;
	background-color: var(--color-primary);
	color: #fff;
}

.programme-doc-link:hover,
.programme-video-link:hover {
	opacity: 0.85;
}

.colloque-programme .programme-doc-link .download-icon {
	width: 2.5em;
	height: 2.5em;
	border-radius: 3px;
}

/* ── Colloques — listing grille (fond primary) ───────────────────────────── */

.section.colloques-liste {
	background-color: var(--color-primary);
	color: var(--color-white) !important;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 3em;
	padding-right: 1em;
}
.section.colloques-liste-titre {
	 background-color: var(--color-primary);
	 color: var(--color-white) !important;
	 margin: 0;
 }

.section.colloques-liste-titre h2 {
	color: var(--color-white) !important;
	margin-bottom: 0.3em;
}
.section.colloques-liste-titre h2::before {
	background-color: var(--color-white) !important;
}

.colloques-liste-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-left: calc(2.25rem + 12px);
}

.colloques-liste-sous-titre,
.colloques-liste-voir-tous {
	margin: 0;
	color: var(--color-white);
	font-size: 0.85em;
	padding-right: 1em;
}

.colloques-liste-voir-tous a {
	color: var(--color-white);
	text-decoration: none;
	text-transform: uppercase;
}

.colloques-liste-caption {
	font-size: 0.85em;
	line-height: 1.3;
	margin-top: 0.5em;
	margin-bottom: 0;
}

.colloques-liste-caption a {
	color: var(--color-white);
	text-decoration: none;
}

.colloques-liste-item {
	padding: 0.75em 1em;
}

.colloques-liste-item img {
	width: 100%;
	height: auto;
	display: block;
	box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.5);
	margin-bottom: 0.75em;
}

.colloques-liste-item:nth-child(3),
.colloques-liste-item:nth-child(4) {
	border-bottom: none;
}

.section .item {
	padding: 0.5em 3em;
}
.section.culture .item {
	margin-bottom: 2em;
}
.section.culture .item:last-child {
	margin-bottom: 0.5em;
}

@media (min-width: 768px) {
	.section .item > [class*="col-"]:first-child {
		padding-right: 2.5em;
	}
}

.section .item img {
	width: 100%;
	height: auto;
	display: block;
	box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.5);
}

.section .item a {
	color: var(--color-black);
	text-transform: uppercase;
	text-decoration: none;
}

.section.partenaires .partenaires-liste {
	flex-wrap: wrap;
	align-items: center;
	gap: 1em;
	margin: 1.5em 0 3em;
}

@media (min-width: 1200px) {
	.section.partenaires .partenaires-liste {
		flex-wrap: nowrap;
	}
}

.section.partenaires .partenaire img {
	height: 50px;
	width: auto;
	display: block;
	max-width: none;
}

.section.fondation .card-img-top {
	height: 200px;
	overflow: hidden;
	background-color: var(--color-primary);
}

.section.fondation .card-img-top img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.section.fondation .row:has(.card) {
	margin-left: 0;
	margin-right: 0;
	gap: 2rem;
	padding-left: 3em;
	padding-right: 3em;
}

.section.fondation .row:has(.card) > [class*="col-"] {
	flex: 1;
	max-width: none;
	margin-top: 0
}

@media (max-width: 767px) {
	.section.fondation .row:has(.card) > .col-sm-12 {
		flex: none;
		width: 100%;
		max-width: 100%;
	}
}

.section.fondation .card {
	text-decoration: none;
	color: inherit;
	display: block;
}

.section.fondation .card-body {
	padding: 0;
}

.section.fondation .card-title {
	color: var(--color-primary);
	box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.5);
	padding: 2em 1em 1em ;
	margin-bottom: 0;
	font-size: 1em;
	text-align: left;
}

.videotheque-layout .colloque-vis-slider {
	display: flex;
	align-items: center;
	padding: 0;
}
.videotheque-layout .colloque-vis-prev,
.videotheque-layout .colloque-vis-next {
	position: static;
	transform: none;
	flex: 0 0 auto;
}
.videotheque-layout .colloque-vis-track-wrap {
	flex: 1;
	min-width: 0;
}
.videotheque-layout .colloque-vis-slide {
	flex: 0 0 20%;
	padding: 0 1.2em;
}

@media (max-width: 991px) {
	.videotheque-layout .colloque-vis-slide {
		flex-basis: 33.3333%;
	}

	.videotheque-layout .colloque-vis-slider {
		flex-wrap: wrap;
	}

	.videotheque-layout .colloque-vis-track-wrap {
		flex-basis: 90%;
	}
}

@media (max-width: 767px) {
	.videotheque-layout .colloque-vis-slide {
		flex-basis: 50%;
	}
}

.videotheque-type {
	margin-top: 3em;
}
.videotheque-type-vignette-wrap {
	flex: 0 0 20%;
	padding: 0 0.5rem 0 0;
	box-sizing: border-box;
}

@media (max-width: 991px) {
	.videotheque-type-vignette-wrap {
		flex: 0 0 100%;
		padding: 0;
		max-width: 40%;
		margin: 0 auto 2em;
		order: 0;
	}

	/* Rupture de ligne flex après la vignette — les auto-margins sont ignorés par l'algo de wrapping */
	.videotheque-layout .colloque-vis-slider::after {
		content: '';
		flex: 0 0 100%;
		height: 0;
		order: 1;
	}

	.videotheque-layout .colloque-vis-prev {
		order: 2;
		margin-left: 5px;
	}
	.videotheque-layout .colloque-vis-track-wrap { order: 3; }

	.videotheque-layout .colloque-vis-next {
		order: 4;
		margin-right: 5px;
	}
}

.videotheque-type-vignette {
	width: 100%;
	/*aspect-ratio: 16 / 9;*/
	object-fit: cover;
	display: block;
}

#chimie_et .videotheque-type-vignette,
#defis .videotheque-type-vignette {
	height: 170px;
}

.videotheque-type-vignette-text {
	background-color: var(--color-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 700;
	font-size: 0.95em;
	padding: 0.5em;
	object-fit: unset;
}


.videotheque-slider {
	position: relative;
	padding: 0 3.5em;
}

.videotheque-track-wrap {
	overflow: hidden;
	padding-bottom: 10px;
	clip-path: inset(0 0 -12px 0);
}

.videotheque-track {
	display: flex;
	transition: transform 0.4s ease;
	list-style: none;
	margin: 0;
	padding: 0;
}

.videotheque-slide {
	flex: 0 0 calc(100% / 6);
	min-width: 0;
	padding: 0 0.5rem;
	box-sizing: border-box;
}

@media (max-width: 991px) {
	.videotheque-slide {
		flex-basis: 33.3333%;
	}
}

@media (max-width: 767px) {
	.videotheque-slide {
		flex-basis: 50%;
	}
}

@media (max-width: 575px) {
	.videotheque-slide {
		flex-basis: 100%;
	}
}

.videotheque-slide > a {
	display: block;
	position: relative;
	height: 120px;
	overflow: hidden;
	text-decoration: none;
	box-shadow: 0 6px 6px rgba(0, 0, 0, 0.5);
}

.videotheque-slide img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.videotheque-slide.no-image > a {
	background-color: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}

.videotheque-slide-label {
	color: #fff;
	font-size: 1em;
	font-weight: 600;
	text-align: center;
	padding: 0.5em;
}

.videotheque-prev,
.videotheque-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: var(--color-primary);
	color: #fff;
	border: none;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	cursor: pointer;
	font-size: 1.4em;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	transition: opacity 0.2s;
	padding: 0;
}

.videotheque-prev { left: 0; }
.videotheque-next { right: 0; }

.videotheque-prev:disabled,
.videotheque-next:disabled {
	display: none;
}

/* ── Vidéothèque — popin player ─────────────────────────────────────────── */

.video-popin {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1000;
	align-items: center;
	justify-content: center;
}

.video-popin.open {
	display: flex;
}

.video-popin-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.75);
}

.video-popin-inner {
	position: relative;
	z-index: 1;
	background: #fff;
	width: 85vw;
	max-width: 980px;
	max-height: 90vh;
	overflow-y: auto;
	padding: 1.5em;
}

.video-popin-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-primary);
	margin-bottom: 1em;
}

.video-popin-serie {
	font-size: 1em;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-primary);
	margin: 0;
}

.video-popin-close {
	flex-shrink: 0;
	background: none;
	border: none;
	font-size: 1.6em;
	line-height: 1.1;
	padding: 0 0.2em;
	cursor: pointer;
	color: #333;
}

.video-popin-close:hover {
	color: var(--color-primary);
}

.video-popin-player {
	aspect-ratio: 16 / 9;
	background: #000;
	position: relative;
	width: 100%;
	max-height: 42vh;
	margin: 0 auto 0.75em;
}

.video-popin-player iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.video-popin-titre {
	font-weight: 600;
	font-size: 1em;
	margin: 0 0 0.5em;
	padding-right: 2em;
}

.video-popin-description {
	font-size: 0.9em;
	line-height: 1.3;
}

.video-popin-description:empty {
	display: none;
}

/* ── Mode vidéo (défaut) ──────────────────────────────────────────────────── */

.video-popin-aside {
	display: none;
}

/* ── Mode colloque ────────────────────────────────────────────────────────── */

.video-popin--colloque .video-popin-layout {
	display: flex;
	gap: 1.25em;
	align-items: flex-start;
}

.video-popin--colloque .video-popin-main {
	flex: 1;
	min-width: 0;
}

.video-popin--colloque .video-popin-player {
	max-height: none;
	margin: 0 0 0.75em;
}

.video-popin--colloque .video-popin-aside {
	display: flex;
	flex: 0 0 150px;
	max-height: 60vh;
}

@media (max-width: 767px) {
	.video-popin--colloque .video-popin-aside {
		display: none;
	}
}

.video-popin-aside-item {
	cursor: pointer;
	padding: 0.5em;
	border-bottom: 1px solid #eee;
}

.video-popin-aside-item img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	margin-bottom: 0.3em;
}

.video-popin-aside-item p {
	font-size: 1em;
	line-height: 1.3;
	margin: 0;
}

.video-popin-aside-item:hover,
.video-popin-aside-item.active {
	background-color: var(--color-primary);
	color: #fff;
}

/* ── Aside — slider vertical ──────────────────────────────────────────────── */

.video-popin-aside {
	display: flex;
	flex-direction: column;
}

.video-popin-aside-track-wrap {
	overflow: hidden;
	flex: 1;
}

.video-popin-aside-track {
	transition: transform 0.3s ease;
}

.video-popin-aside-up,
.video-popin-aside-down {
	background: none;
	border: none;
	width: 100%;
	padding: 1em 0;
	cursor: pointer;
	color: var(--color-primary-dark);
	font-size: 0.8em;
	line-height: 1;
	flex-shrink: 0;
}

.video-popin-aside-up:hover,
.video-popin-aside-down:hover {
	color: var(--color-primary);
}

.video-popin-aside-up:disabled,
.video-popin-aside-down:disabled {
	display: none;
}

body.video-popin-active {
	overflow: hidden;
}

.section.citation,
.section.culture,
.section.culture .titre {
	color: var(--color-white);
}

.section.culture a {
	color: var(--color-white);
	text-transform: uppercase;
	text-decoration: none;
}

.section.culture .titre::before {
	background-color: var(--color-white);
}

.section.citation .container,
.section.culture .container {
	background-color: var(--color-primary);
}

.section.culture {
	margin-top: 3em;
}

.section.culture:has(+ .section.culture) {
	margin-bottom: 0;
}

.section.culture + .section.culture {
	margin-top: 0;
	border-top: 1px solid #fff;
}

.section.culture .container {
	padding-bottom: 1.5em;
}

.section.citation {
	text-align: center;
	font-size: 1.2em;
}

.section.citation .citation-attribution {
	margin-top: 20px;
	font-style: normal;
	font-size: 0.8em;
}

/* -----------------------------------------------
   Vidéo
----------------------------------------------- */

.video-placeholder {
	background-color: #EBEBE7;
	border: 5px solid #052955;
	border-radius: 10px;
	font-weight: bold;
	padding: 15px;
	margin: 20px 0;
	text-align: center;
}
.video-placeholder svg {
	color: #052955;
	width: 150px;
}

/* -----------------------------------------------
   Footer
----------------------------------------------- */

.footer {
	font-size: 0.8em;
	margin-top: 3em;
}

@media (max-width: 767px) {
	.footer {
		margin-top: 0;
	}
}

.footer .container {
	background: var(--color-primary);
	color: var(--color-white);
	padding: 0 40px 10px;
}

.footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
	margin-left: 200px;
}

.footer-col {
	position: relative;
	padding-right: 40px;
}

.footer-col:not(:last-child)::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
	height: 100px;
	background-color: var(--color-white);
}

@media (max-width: 767px) {
	.footer-nav {
		margin-left: 0;
	}

	.footer-col:not(:last-child)::after {
		display: none;
	}
}

.footer-col-titre {
	font-weight: 700;
	text-transform: uppercase;
	margin: 3em 0 0.75em;
}

.footer-col-titre a {
	color: var(--color-white);
	text-decoration: none;
}

.footer-col-liste {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-col-liste li {
	margin-bottom: 0.4em;
}

.footer-col-liste a {
	color: var(--color-white);
	text-decoration: none;
}

.footer-col-liste a:hover,
.footer-col-titre a:hover {
	text-decoration: none;
}

/* ── Pages Prix — gallery slider ────────────────────────────────────────────── */

.gallery-prix-slider {
	position: relative;
	padding: 0 2.8em;
}

.gallery-prix-track-wrap {
	overflow: hidden;
}

.gallery-prix-track {
	display: flex;
	transition: transform 0.4s ease;
}

.gallery-prix-slider .gallery-item {
	flex: 0 0 calc(100% / var(--gallery-cols, 3));
	box-sizing: border-box;
	padding: 0 0.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

@media (max-width: 991px) {
	.gallery-prix-track {
		--gallery-cols: 2 !important;
	}
}

@media (max-width: 575px) {
	.gallery-prix-track {
		--gallery-cols: 1 !important;
	}
}

.gallery-prix-slider .gallery-icon img {
	display: block;
	max-width: 100%;
	height: auto;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.gallery-prix-prev,
.gallery-prix-next {
	top: 50%;
}

.gallery-prix-prev { left: 0; }
.gallery-prix-next { right: 0; }

.gallery-prix-prev:disabled,
.gallery-prix-next:disabled {
	display: none;
}


.prix-section {
	margin-left: 3em;
}

@media (max-width: 991px) {
	.prix-section {
		margin-left: 1em;
		margin-right: 1em;
	}
}

/* ── Pages Prix — cards lauréats ────────────────────────────────────────────── */

/* ── template-prix-fondation — listing enfants ──────────────────────────────── */

.prix-enfant {
	margin-bottom: 1.5em;
}

.prix-enfant-row {
	align-items: flex-start;
	margin-left: 3em;
}


@media (max-width: 991px) {
	.prix-enfant-row {
		margin-left: 1em;
		margin-right: 0;
	}
	.prix-enfant {
		margin-right: 0;
	}
}

.prix-enfant-titre {
	margin-top: 0;
	text-transform: uppercase;
	font-size: 1em;
}

.prix-enfant-titre a {
	color: var(--color-black);
	text-decoration: none;
}

.prix-enfant-titre a:hover {
	text-decoration: underline;
}

.prix-enfant-excerpt {
	color: #555;
}

@media (max-width: 991px) {
	.prix-enfant-excerpt {
		margin-right: 1em;
	}
}

.prix-enfant-lien:hover {
	text-decoration: underline;
}

.prix-enfant-gauche .prix-laureat {
	width: 200px;
	text-decoration: none;
}

@media (max-width: 575px) {
	.prix-enfant-gauche .prix-laureat,
	.prix-enfant-droite .prix-laureat {
		margin-left: -1em;
		min-width: calc(100% + 1em);
	}
}


.prix-enfant-vignette {
	display: block;
	margin-right: 1em;
}

.prix-enfant-vignette img {
	display: block;
	width: 100%;
	height: auto;
}

/* ── Pages Prix — cards lauréats ────────────────────────────────────────────── */

.prix-laureats {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5em;
	margin-bottom: 2em;
}
.page-template-template-page-prix-fondation .prix-laureats {
	margin-left: 3em;
	margin-right: 1.5em;
	float: left;
}

@media (max-width: 767px) {
	.page-template-template-page-prix-fondation .prix-laureats {
		margin-left: 0;
		margin-right: 0;
		float: none;
	}
}

@media (max-width: 575px) {
	.prix-laureat,
	.prix-enfant-gauche .prix-laureat {
		width: 100%;
	}
}

.page-template-template-prix-fondation .colloque-player {
	margin: 0 1em 0 0;
}

.prix-laureat {
	width: 200px;
	display: flex;
	flex-direction: column;
}


@media (max-width: 575px) {
	.prix-laureat {
		width: 100%;
	}
}

.prix-laureat-photo {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.prix-laureat-desc {
	background-color: var(--color-primary);
	color: #fff;
	padding: 0.75em 1em;
	font-size: 0.65em;
	line-height: 1.4;
	flex: 1;
}

/* ── Agenda — sélecteur de mois ─────────────────────────────────────────────── */

.agenda-mois-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em;
	margin: 1em 0 1em 2.1em;
}

@media (max-width: 767px) {
	.agenda-mois-nav {
		margin-left: 0;
	}
}

.agenda-mois-item {
	flex: 1;
	text-align: center;
	padding: 0.35em 0.75em;
	background-color: var(--color-white);
	color: var(--color-black);
	font-size: 0.85em;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background-color 0.2s;
	font-weight: 600;
	border: 1px solid var(--color-primary);
}

@media (max-width: 575px) {
	.agenda-mois-item {
		flex: 1 1 calc(33.3333% - 0.4em);
	}
}

.agenda-mois-item a {
	color: var(--color-black);
}

.agenda-mois-item:hover {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.agenda-mois-item.active {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.agenda-mois-item--vide {
	color: #bbb;
	border-color: #ddd;
	cursor: default;
	font-weight: 400;
}

.agenda-mois-item--vide:hover {
	background-color: var(--color-white);
	color: #bbb;
}

.agenda-mois-nav-arrow {
	display: flex;
	align-items: center;
	padding: 0.35em 0.6em;
	background-color: var(--color-primary);
	color: var(--color-white);
	text-decoration: none;
	font-size: 1.2em;
	line-height: 1;
	border: 1px solid var(--color-primary);
	transition: background-color 0.2s;
}

.agenda-mois-nav-arrow:hover {
	background-color: var(--color-primary-dark);
	border-color: var(--color-primary-dark);
	color: var(--color-white);
}

.agenda-fenetre-bar {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0.5em 0;
}

.agenda-fenetre-label {
	font-size: 0.82em;
	color: #666;
	margin-left: 2.6em;
	font-weight: 600;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.agenda-fenetre-label {
		margin-left: 0;
	}
}

.agenda-mois-current-link {
	font-size: 0.82em;
	color: var(--color-primary);
	text-decoration: none;
}

.agenda-mois-current-link:hover {
	text-decoration: underline;
}

.agenda-vide {
	margin-top: 1.5em;
	font-style: italic;
	color: #666;
}

.page-template-template-agenda .colloques-une-img {
	margin-bottom: 1.5em;
}

.page-template-template-agenda .colloques-une-meta {
	margin-left: 2.4em;
}

/* ── Pages Membre ────────────────────────────────────────────────────────────── */

.members-list {
	margin-top: 3em;
}

.members-item {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.members-item + .members-item {
	margin-top: 1.5em;
}
.members-picture {
	margin-right: 24px;
	vertical-align: top;
}
.members-name {
	color: #617c91;
	font-size: 0.875rem;
	line-height: 1.5;
	font-weight: 700;
	margin: 0;
}
.members-body {
	line-height: 1.25rem;
}
.members-role {
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.members-role::after {
	content: "";
	position: absolute;
	width: 32px;
	height: 5px;
	background: #9cdce9;
	left: 0;
	bottom: 0;
}
.members-address > :first-child,
.members-description > :first-child {
	margin-top: 0;
}
.members-address > :last-child,
.members-description > :last-child {
	margin-bottom: 0;
}
.members-address > :only-child,
.members-description > :only-child {
	margin: 0;
}

/* -----------------------------------------------
   Recherche — formulaire (search.php)
----------------------------------------------- */

.search-form {
	display: flex;
	gap: 8px;
	margin: 1.5em 0 2em;
}

.search-form-input {
	flex: 1;
	padding: 10px 16px;
	border: 2px solid var(--color-primary);
	font-size: 1em;
	outline: none;
}

.search-form-input:focus {
	border-color: var(--color-secondary);
}

.search-form-btn {
	background: var(--color-primary);
	color: #fff;
	border: none;
	padding: 10px 20px;
	cursor: pointer;
	font-size: 1em;
	transition: background 0.2s ease;
}

.search-form-btn:hover {
	background: var(--color-secondary);
}

/* -----------------------------------------------
   Recherche — résultats
----------------------------------------------- */

.search-count {
	color: var(--color-primary);
	margin-bottom: 1.5em;
	font-size: 1.5em !important;
}

.search-results-list .search-result {
	margin-bottom: 1em;
}

.search-result-type {
	font-size: 1em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-primary);
	margin: 0 0 0.25em;
}

.search-result-titre {
	font-size: 1em;
	margin: 0 0 0.5em;
	text-transform: uppercase;
}
.search-result-titre a {
	text-decoration: none;
	color: var(--color-primary);
}

.search-result-excerpt {
	color: #444;
	margin: 0;
}

/* Pagination résultats */
.nav-links {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 2em 0;
}

.nav-links .page-numbers {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid var(--color-primary);
	color: var(--color-primary);
	text-decoration: none;
}

.nav-links .page-numbers.current {
	background: var(--color-primary);
	color: #fff;
}

.nav-links .page-numbers:hover:not(.current) {
	background: var(--color-primary);
	color: #fff;
}

/* ── Page 404 ────────────────────────────────────────────────────────────────── */

.page-404 {
	text-align: left;
}

.page-404 a {
	color: var(--color-primary);
	text-decoration: none;
}
