/*
 Theme Name:   Collegium International Child
 Theme URI:    https://collegium-international.org
 Description:  Thème enfant de Twenty Twenty-One pour le site Collegium International. Reproduction au pixel du site Wix d'origine (mesures @1280px).
 Author:       Collegium International
 Template:     twentytwentyone
 Version:      3.8.2
 Text Domain:  collegium-international-child
*/

/* ==========================================================================
   Spécification mesurée sur le Wix @1280px (page utile 1265px) :
   - Header navy #25334D, 128px : logo 404×46 (top 17), nav 16px centrée (top 80,
     h 30, items adjacents pad 10), sélecteur « FR ▾ » en haut à droite.
   - Hero 630px, image nue (pas de voile) ; carte SVG bleue 746×149
     rgba(61,155,233,.82) centrée à 242px du haut ; PLAIDOYER 14px blanc ;
     ligne 184 blanc / 62 bordeaux / 184 blanc ; titre Playfair 32px blanc ;
     sous-titre 17px blanc (non italique) ; bouton 184×47 #B12F38 texte 14px
     À L'EXTÉRIEUR de la carte (19px dessous) ; légende 16px bold blanc,
     en bas à droite.
   - Intro : H2 40px NOIR centré, PUIS eyebrow 14px bordeaux, ligne
     184 #DDDDDF / 62 #B12F38 / 184 #DDDDDF, ¶ 780px justifié 15px/1.875,
     3 icônes (img 100px, bas alignés) + libellés 15px noirs.
   - Diaporama 940×540, 5 diapos, bandeau légende 48px rgba(0,0,0,.3),
     légende Playfair 20px blanche alignée à gauche (10px).
   - 3 cartes articles 292px : bord 1px rgba(191,191,191,.75), image 292×164,
     titre Playfair 18px noir aligné à gauche (pad 28/25/23).
   - Fondateurs : H2 40px ; 8 portraits ronds 85px en ligne (gap 30) ;
     bloc texte centré 15px (libellés gras) ; photo membres 980×620 avec
     bouton bordeaux LES MEMBRES 235×47 à cheval sur le bas.
   - Vidéothèque (widget Wix TV) : onglet « All Videos » 18px ; lecteur
     940×529 (overlay sombre, « All Videos » 50px blanc, ▶ Lire la vidéo) ;
     recherche 932×42 ; 3 vignettes 299×173 (titre 14px blanc en haut,
     durée en bas).
   - Footer : bandeau navy 221px + logo 396×32 centré (top 94), puis bande #F7F7F7 45px.
   - Corps : Avenir Light 15px / 1.875 justifié NOIR ; colonne texte 780px ;
     sections 940/980px ; titres Playfair 40px noirs.
   ========================================================================== */

:root {
	--ci-navy: #25334d;
	--ci-navy-dark: #1b2537;
	--ci-blue-card: rgba(61, 155, 233, 0.82);
	--ci-blue-accent: #88b8e3;
	--ci-maroon: #b12f38;
	--ci-maroon-dark: #8f2028;
	--ci-font-body: "Avenir Next", Avenir, Mulish, "Nunito Sans", "Segoe UI", Arial, sans-serif;
	--ci-font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
}

/* ---------- Typographie de base (Wix : Avenir Light 15px / 1.875) ---------- */

html, body {
	background-color: #ffffff !important;
	overflow-x: hidden;
}

body,
p, li, a, input, button, td, th, figcaption,
.entry-content, .entry-content p, .entry-content li {
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 15px;
	line-height: 1.875;
	color: #000000;
}

.entry-content p { text-align: justify; }
strong, b { font-weight: 700; }

h1, h2, h3, h4, h5, h6,
.site-title, .entry-title, .page-title,
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
	font-family: var(--ci-font-serif) !important;
	font-weight: 400;
	letter-spacing: 0.01em;
	color: #000000;
}

.entry-content h2 { font-size: 40px; line-height: 1.35; }
.entry-content h3 { font-size: 26px; }
.entry-title { font-size: 40px; }

a { color: var(--ci-navy); text-decoration: underline; }
a:hover { color: var(--ci-maroon); }

/* Citations / encarts */
.entry-content blockquote {
	border-left: 3px solid var(--ci-blue-accent);
	background: #f4f8fc;
	padding: 1em 1.5em;
	font-style: italic;
	color: var(--ci-navy);
}

.entry-content img { border-radius: 0; }

/* ---------- Structure pleine largeur (débride Twenty Twenty-One) ---------- */

.site, .site-content { max-width: none; }

.site-header,
#masthead.site-header {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.site-main,
.site-main > article,
.entry-content {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0;
	padding-right: 0;
}
/* TT1 met 30px de padding vertical sur .site-main : le Wix colle header/hero et footer */
.site-main { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Colonne de texte par défaut : 780px comme Wix */
.entry-content > * {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}
.entry-content > *:not(.ci-hero) {
	padding-left: 16px;
	padding-right: 16px;
	box-sizing: border-box;
}
/* Sections dont la largeur Wix est exacte (980/940) : pas de gouttière interne */
.entry-content > .ci-founders,
.entry-content > .ci-videotheque,
.entry-content > .ci-articles-wrap,
.entry-content > .ci-slideshow {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* Pages de contenu au conteneur Wix 980px */
.entry-content > .ci-page {
	max-width: 980px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* Articles de blog : colonne 740px comme le blog Wix */
.entry-content > .ci-post {
	max-width: 740px !important;
}

/* ---------- En-tête navy 128px, logo + nav centrés ---------- */

.site-header,
#masthead.site-header {
	background-color: var(--ci-navy);
	position: relative;
	display: block !important;
	text-align: center;
	padding: 17px 0 18px;
}

.site-header .site-branding {
	margin: 0 auto !important;
	padding: 0 !important;
	text-align: center;
	float: none;
}
.site-header .site-logo { margin: 0 auto !important; padding: 0 !important; line-height: 0; }

.site-header .custom-logo-link { display: inline-block; }
.site-header .custom-logo-link img,
.site-header .custom-logo {
	width: 404px;
	height: 46px;
	max-height: 46px;
	max-width: 404px;
	display: block;
	/* PNG blanc + globe couleur : aucun filtre. */
}

.site-header .site-title,
.site-header .site-title a,
.site-header .site-description { color: #ffffff !important; text-align: center; }
.site-header .site-title { font-size: 2em; letter-spacing: 0.04em; }
.site-header .site-description {
	color: #cbd5e6 !important;
	font-family: var(--ci-font-body);
	font-style: italic;
}

/* Navigation : centrée sous le logo, 16px Avenir */
#site-navigation.primary-navigation,
.primary-navigation {
	position: static !important;
	margin: 17px auto 0;
	background-color: transparent;
}
.primary-navigation > div,
.primary-navigation .menu-button-container { justify-content: center; margin: 0 auto; }
.primary-navigation ul.primary-menu,
.primary-navigation .menu-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0;
}
/* TT1 donne width:100% aux <li> (menu mobile) : items adjacents comme Wix */
.primary-navigation .menu-wrapper > li,
.primary-navigation ul.primary-menu > li {
	width: auto !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block;
}
/* Conteneurs TT1 : aucun positionnement ni padding (hauteur header = 128px) */
.primary-navigation .primary-menu-container,
.primary-navigation .menu-wrapper,
.primary-navigation > div {
	position: static !important;
	margin: 0 auto !important;
	padding: 0 !important;
}
.primary-navigation .menu-wrapper > li > a { line-height: 22px; }

.primary-navigation .menu-wrapper > li > a,
.primary-navigation ul > li > a,
.primary-navigation .menu-item a {
	font-family: var(--ci-font-body) !important;
	font-weight: 300;
	font-size: 16px !important;
	letter-spacing: 0.01em;
	color: #ffffff !important;
	text-transform: none;
	padding: 4px 10px;
}
.primary-navigation .menu-item a:hover { color: var(--ci-blue-accent) !important; }
.primary-navigation button.button,
.primary-navigation .dropdown-icon { color: #ffffff !important; }

/* Flèches ▾ des parents : masquées (comme Wix) */
.primary-navigation .primary-menu > .menu-item-has-children > .sub-menu-toggle,
.primary-navigation button.sub-menu-toggle { display: none !important; }

/* Sous-menus : navy #25334D (mesuré), 244px, ouverture au survol */
.primary-navigation .primary-menu > .menu-item-has-children { position: relative; }
.primary-navigation .primary-menu > .menu-item-has-children > .sub-menu {
	display: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 100;
	min-width: 244px;
	padding: 6px 0;
	margin: 0;
	background-color: var(--ci-navy) !important;
	border: none;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
	transition: none !important;
	text-align: left;
	list-style: none;
}
.primary-navigation .primary-menu > .menu-item-has-children:hover > .sub-menu,
.primary-navigation .primary-menu > .menu-item-has-children:focus-within > .sub-menu {
	display: block !important;
}
.primary-navigation .sub-menu .menu-item a {
	display: block;
	color: #ffffff !important;
	background: transparent !important;
	font-size: 16px !important;
	padding: 9px 15px;
	border: none;
}
.primary-navigation .sub-menu .menu-item a:hover { color: var(--ci-blue-accent) !important; }

/* Sélecteur de langue « FR ▾ » en haut à droite (Wix : x≈943..1027, top 17) */
.ci-lang-switcher {
	position: absolute !important;
	top: 17px;
	right: calc(50% - 394px);
	left: auto !important;
	width: auto !important;
	height: 46px;
	display: flex;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 110;
}
.ci-lang-list {
	position: relative !important;
	display: block !important;
	list-style: none;
	margin: 0;
	padding: 0;
	background: none !important;
	box-shadow: none !important;
}
.ci-lang-list li { margin: 0; list-style: none; }
.ci-lang-list li a {
	display: block;
	text-transform: uppercase;
	font-family: var(--ci-font-body) !important;
	font-weight: 300;
	font-size: 16px !important;
	letter-spacing: 0.02em;
	color: #ffffff !important;
	padding: 4px 14px !important;
	border: none !important;
	text-decoration: none;
}
/* Langue courante = déclencheur avec chevron */
.ci-lang-list li.current-lang > a::after {
	content: "▾";
	font-size: 11px;
	margin-left: 8px;
	position: relative;
	top: -1px;
}
/* Autres langues : panneau bleu #88B8E3 au survol (mesuré sur Wix).
   !important : TT1 cible les li du menu via #primary-menu-list (id). */
.ci-lang-list li:not(.current-lang) {
	display: none !important;
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	min-width: 100%;
	background: var(--ci-blue-accent);
}
.ci-lang-list:hover li:not(.current-lang),
.ci-lang-list:focus-within li:not(.current-lang) { display: block !important; }
.ci-lang-list li:not(.current-lang) a:hover { color: var(--ci-navy) !important; }

/* ---------- Boutons (Wix : 184×47, coins carrés, Avenir 14px blanc) ---------- */

.ci-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 184px;
	min-height: 47px;
	padding: 0 20px;
	box-sizing: border-box;
	background-color: var(--ci-maroon);
	color: #ffffff !important;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 14px;
	letter-spacing: normal;
	text-decoration: none;
	text-transform: uppercase;
	border-radius: 0;
	transition: background-color 0.2s ease;
}
.ci-button:hover,
.wp-block-button__link:hover { background-color: var(--ci-maroon-dark); color: #ffffff !important; }

/* ---------- Lignes décoratives (motif Wix 184 / 62 / 184 = 430×2) ---------- */

.ci-rule {
	display: block;
	width: 430px;
	max-width: 80%;
	height: 2px;
	margin-left: auto;
	margin-right: auto;
}
.ci-rule--hero {
	background: linear-gradient(to right,
		#ffffff 0 184px, var(--ci-maroon) 184px 246px, #ffffff 246px 430px);
}
.ci-rule--intro {
	background: linear-gradient(to right,
		#dddddf 0 184px, var(--ci-maroon) 184px 246px, #dddddf 246px 430px);
}

/* ---------- Hero (630px, carte bleue, bouton dessous, légende bold) ---------- */

.entry-content > .ci-hero.alignfull,
.ci-hero {
	position: relative;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	min-height: 630px;
	background-size: cover;
	background-position: center;
	padding: 0;
	box-sizing: border-box;
}

.ci-hero-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 242px;
}

.ci-hero-card {
	background-color: var(--ci-blue-card);
	width: 746px;
	max-width: 92%;
	box-sizing: border-box;
	padding: 5px 20px 16px;
	text-align: center;
	box-shadow: none;
}

.ci-hero-eyebrow {
	display: block;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 14px;
	line-height: 26px;
	letter-spacing: 0.02em;
	color: #ffffff;
	text-transform: uppercase;
}
.ci-hero-card .ci-rule--hero { margin-top: 7px; }

.ci-hero-card h2 {
	font-family: var(--ci-font-serif) !important;
	font-weight: 400;
	font-size: 32px !important;
	line-height: 1.35;
	color: #ffffff !important;
	margin: 12px 0 0;
}

.ci-hero-card .ci-hero-sub {
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-style: normal;
	font-size: 17px;
	line-height: 1.875;
	color: #ffffff;
	margin: 6px 0 0;
	text-align: center;
}

.ci-hero-btn { margin-top: 19px; }

.ci-hero-caption {
	position: absolute;
	right: calc(50% - 483px);
	bottom: 11px;
	z-index: 2;
	color: #ffffff;
	font-family: var(--ci-font-body);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
}

/* ---------- Accueil : intro (titre PUIS eyebrow), icônes ---------- */

.entry-content > .ci-intro {
	max-width: 980px !important;
	margin-top: 74px;
	margin-bottom: 0;
	text-align: center;
}

.ci-intro h2 {
	font-size: 40px !important;
	line-height: 54px;
	margin: 0;
	text-align: center;
}

.ci-intro-eyebrow {
	display: block;
	margin-top: 33px;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 14px;
	line-height: 17px;
	letter-spacing: 0.02em;
	color: var(--ci-maroon);
	text-transform: uppercase;
}
.ci-intro .ci-rule--intro { margin-top: 13px; }

.ci-intro p {
	max-width: 780px;
	margin: 54px auto 0;
	text-align: justify;
}

.ci-icon-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 0 58px;
	margin: 17px 0 0;
	padding: 0;
	list-style: none;
}
.ci-icon-row li { list-style: none; margin: 0; }
.ci-icon-card { width: 210px; }
/* Wix : bas des icônes alignés (rangée 100px), libellés qui démarrent au même y */
.ci-icon-card a {
	display: grid;
	grid-template-rows: 100px auto;
	row-gap: 16px;
	align-items: end;
	justify-items: center;
	text-decoration: none;
	color: #000000;
}
.ci-icon-card img {
	width: 100px;
	height: auto;
	display: block;
}
.ci-icon-card span {
	display: block;
	align-self: start;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 15px;
	line-height: 1.875;
	text-align: center;
}
.ci-icon-card a:hover span { color: var(--ci-maroon); }

/* ---------- Accueil : diaporama 940×540 (5 diapos, fondu) ---------- */

.entry-content > .ci-slideshow {
	position: relative;
	width: 940px !important;
	max-width: 94vw !important;
	height: 540px;
	margin: 56px auto 0;
	padding: 0 !important;
	overflow: hidden;
}
.ci-slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 0.8s ease;
	pointer-events: none;
}
.ci-slide.is-active { opacity: 1; pointer-events: auto; }
.ci-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
}
.ci-slide figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	height: 48px;
	background: rgba(0, 0, 0, 0.3);
	color: #ffffff;
	font-family: var(--ci-font-serif);
	font-size: 20px;
	line-height: 48px;
	text-align: left;
	padding: 0 10px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ci-ss-prev, .ci-ss-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	background: none;
	border: none;
	color: #ffffff;
	font-size: 44px;
	line-height: 1;
	padding: 8px 14px;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.25s ease;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}
.ci-ss-prev { left: 6px; }
.ci-ss-next { right: 6px; }
.ci-slideshow:hover .ci-ss-prev,
.ci-slideshow:hover .ci-ss-next,
.ci-ss-prev:focus-visible, .ci-ss-next:focus-visible { opacity: 0.9; }
.ci-ss-prev:hover, .ci-ss-next:hover { background: none; }

/* ---------- Accueil : 3 cartes articles (bord 1px, titre à gauche) ---------- */

.entry-content > .ci-articles-wrap {
	max-width: 940px !important;
	margin-top: 222px;
	margin-bottom: 0;
	padding: 0 !important;
}
.ci-articles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
.ci-articles br { display: none !important; }
.ci-article {
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	background: transparent;
	border: 1px solid rgba(191, 191, 191, 0.75);
	border-radius: 0;
	box-shadow: none;
	overflow: hidden;
	box-sizing: border-box;
}
.ci-article-thumb {
	display: block;
	flex: 0 0 auto;
	height: 164px;
	background-size: cover;
	background-position: center;
}
.ci-article-title {
	display: block;
	/* gauche 25px comme Wix ; droite réduite + micro-compensation métrique :
	   la Playfair locale est plus large que celle servie par Wix, le titre 2
	   doit tenir sur 2 lignes pour que la rangée fasse 265px comme le Wix */
	padding: 28px 10px 23px 25px;
	font-family: var(--ci-font-serif);
	font-size: 17.5px;
	letter-spacing: -0.2px;
	line-height: 1.44;
	color: #000000;
	text-align: left;
}
.ci-article:hover .ci-article-title { color: var(--ci-maroon); }

/* ---------- Accueil : fondateurs, portraits ronds, photo membres ---------- */

.entry-content > .ci-founders {
	max-width: 980px !important;
	margin-top: 201px;
	margin-bottom: 0;
	text-align: center;
}
.ci-founders h2 {
	font-size: 40px !important;
	line-height: 54px;
	margin: 0;
	text-align: center;
}
.ci-portraits {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin-top: 38px;
}
.ci-portraits br { display: none !important; }
.ci-portraits img {
	width: 85px;
	height: 85px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}
.ci-founders-text {
	margin: 21px auto 0;
	text-align: center !important;
	font-size: 15px;
	line-height: 1.875;
}
.ci-members-photo {
	position: relative;
	width: 100%;
	max-width: 980px;
	margin: 27px auto 0;
}
.ci-members-photo img {
	width: 100%;
	height: 620px;
	object-fit: cover;
	display: block;
}
.ci-members-btn {
	position: absolute;
	left: 50%;
	bottom: -29px;
	transform: translateX(-50%);
	min-width: 235px;
}

/* ---------- Accueil : vidéothèque (widget Wix TV) ---------- */

.entry-content > .ci-videotheque {
	max-width: 980px !important;
	margin-top: 147px;
	margin-bottom: 0;
	padding-bottom: 360px;
	text-align: center;
}
.ci-videotheque h2 {
	font-size: 40px !important;
	line-height: 54px;
	margin: 0 0 34px;
	text-align: center;
}
.ci-tv { text-align: left; }
.ci-tv-tab {
	display: block;
	width: 940px;
	max-width: 100%;
	margin: 0 auto;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 18px;
	line-height: 32px;
	color: #000000;
}
.ci-tv-featured {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 940px;
	max-width: 100%;
	height: 529px;
	margin: 11px auto 0;
	background-size: cover;
	background-position: center;
	text-decoration: none !important;
}
.ci-tv-featured::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}
.ci-tv-big {
	position: relative;
	z-index: 1;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 50px;
	line-height: 1.25;
	color: #ffffff;
}
.ci-tv-watch {
	position: relative;
	z-index: 1;
	margin-top: 30px;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 14px;
	color: #ffffff;
}
.ci-tv-featured:hover .ci-tv-watch { text-decoration: underline; }
.ci-tv-search {
	width: 932px;
	max-width: 100%;
	margin: 19px auto 0;
}
.ci-tv-search input {
	width: 100%;
	height: 42px;
	box-sizing: border-box;
	background: transparent;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 0;
	padding: 0 14px;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 14px;
	color: #000000;
}
.ci-tv-search input::placeholder { color: #333333; opacity: 1; }
.ci-tv-row {
	display: flex;
	gap: 13px;
	width: 940px;
	max-width: 100%;
	margin: 21px auto 0;
	padding: 0 0 0 10px;
	box-sizing: border-box;
}
.ci-tv-thumb {
	position: relative;
	display: block;
	width: 299px;
	height: 173px;
	flex: 0 0 auto;
	background-size: cover;
	background-position: center;
	background-color: #000;
	text-decoration: none !important;
}
.ci-tv-thumb::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.05) 40%, rgba(0,0,0,0.05) 60%, rgba(0,0,0,0.45));
}
.ci-tv-thumb-title {
	position: absolute;
	top: 10px;
	left: 14px;
	right: 14px;
	color: #ffffff;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.35;
	text-align: left;
}
.ci-tv-dur {
	position: absolute;
	bottom: 10px;
	left: 14px;
	color: #ffffff;
	font-family: var(--ci-font-body);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.35;
}

/* ---------- Titres de page (pages de contenu) ----------
   Wix : H1 Playfair 40px NOIR centré, AUCUN trait, à ~145px sous l'en-tête (Wix mesuré : 270-276 abs). */

.entry-header,
.singular .entry-header {
	text-align: center !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 145px 16px 0 !important;
	border: none !important;
}
h1.entry-title,
.singular .entry-title,
.entry-header .entry-title,
.page-title {
	font-family: var(--ci-font-serif) !important;
	font-weight: 400 !important;
	font-size: 40px !important;
	line-height: 54px !important;
	color: #000000 !important;
	text-align: center !important;
	display: block;
	width: auto;
	max-width: 940px;
	margin: 0 auto !important;
	border-bottom: none !important;
	padding: 0 !important;
}
.entry-header::after, .entry-header hr, .entry-content > hr:first-child { display: none !important; }
/* Respiration Wix entre le titre et le début du contenu */
.singular .entry-content > *:first-child { margin-top: 105px; }
.home .entry-content > *:first-child, .page-id-100 .entry-content > *:first-child, .page-id-212 .entry-content > *:first-child { margin-top: 0; }

/* Eyebrow générique des pages de contenu */
.ci-eyebrow {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-size: 14px;
	color: var(--ci-maroon);
	border-bottom: 2px solid var(--ci-maroon);
	padding-bottom: 0.6em;
	margin-bottom: 1em;
}

/* ---------- Page Organisation / Bureau : grille de portraits nommés ---------- */

.ci-people-intro { text-align: center; max-width: 720px; margin: 0 auto 2.5em; }
.entry-content > .ci-people-group { max-width: 980px !important; }
.ci-people-group { margin: 0 auto 2.8em; text-align: center; }
.ci-people-group h3 { font-size: 1.4em; margin-bottom: 1.2em; color: #000000; }
.ci-people-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2em 2.4em;
}
.ci-people-grid br { display: none !important; }
.ci-person { width: 170px; margin: 0; text-align: center; }
.ci-person img {
	width: 150px;
	height: 150px;
	object-fit: cover;
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.ci-person figcaption { margin-top: 0.8em; line-height: 1.35; text-align: center; }
.ci-person .ci-role {
	display: block;
	font-size: 0.72em;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ci-maroon);
	margin-bottom: 0.25em;
}
.ci-person strong {
	font-family: var(--ci-font-serif);
	font-weight: 600;
	font-size: 1.05em;
	color: #000000;
}

/* ---------- Pages Photos : index d'albums + galeries ---------- */

.ci-albums-intro, .ci-gallery-desc { text-align: center; max-width: 700px; margin: 0 auto 2.4em; }
.entry-content > .ci-albums { max-width: 980px !important; }
.ci-albums {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.6em;
	margin: 0 auto 2em;
}
.ci-albums br { display: none !important; }
.ci-album-card {
	display: block;
	text-decoration: none !important;
	background: #fff;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	overflow: hidden;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ci-album-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2); }
.ci-album-thumb { display: block; height: 180px; background-size: cover; background-position: center; }
.ci-album-thumb--empty { background: linear-gradient(135deg, var(--ci-navy), var(--ci-navy-dark)); }
.ci-album-title {
	display: block;
	padding: 0.9em 1em;
	font-family: var(--ci-font-serif);
	color: #000000;
	font-size: 1.02em;
	text-align: center;
}
.ci-album-card--empty { cursor: default; opacity: 0.85; }

.entry-content > .ci-gallery { max-width: 980px !important; }
.ci-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
	margin: 0 auto 2.4em;
}
.ci-gallery br { display: none !important; }
.ci-gallery-item { margin: 0; }
.ci-gallery-item img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.ci-back { text-align: center; }

/* ---------- Page Vidéos : grille d'embeds YouTube ---------- */

.ci-videos-intro { text-align: center; max-width: 700px; margin: 0 auto 2.4em; }
.entry-content > .ci-videos { max-width: 980px !important; }
.ci-videos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.8em;
	margin: 0 auto 2em;
}
.ci-videos br { display: none !important; }
.ci-video { margin: 0; }
.ci-video-frame {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	background: #000;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}
.ci-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ci-video figcaption {
	margin-top: 0.7em;
	text-align: center;
	font-family: var(--ci-font-serif);
	color: #000000;
	font-size: 0.98em;
	line-height: 1.35;
}

/* ---------- Pied de page Wix : bandeau navy 221px avec logo 396×32 centré
   (à 94px du haut), suivi d'une bande #F7F7F7 de 45px ---------- */

.site-footer,
#colophon {
	background:
		url('../../uploads/2026/07/logo-footer-collegium-792x64.png') no-repeat center 94px / 396px 32px,
		linear-gradient(to bottom, #25334d 0 221px, #f7f7f7 221px 266px);
	min-height: 266px;
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100%;
}
.site-footer .site-info,
#colophon .site-info,
.site-footer .powered-by { display: none !important; }

/* ---------- Éléments centrés (ne pas justifier) ---------- */

.ci-albums-intro, .ci-gallery-desc, .ci-videos-intro, .ci-people-intro,
.ci-article-title, .ci-album-title { text-align: left; }
.ci-album-title, .ci-albums-intro, .ci-gallery-desc, .ci-videos-intro, .ci-people-intro { text-align: center; }

/* ---------- Responsive ---------- */

@media (max-width: 1100px) {
	.ci-lang-switcher { right: 16px; }
	.ci-hero-caption { right: 16px; }
}

@media (max-width: 1000px) {
	.entry-content > .ci-slideshow { height: auto; aspect-ratio: 940 / 540; }
	.ci-articles { grid-template-columns: repeat(2, 1fr); }
	.entry-content > .ci-articles-wrap { margin-top: 120px; }
	.entry-content > .ci-founders { margin-top: 120px; }
	.ci-members-photo img { height: auto; }
	.ci-tv-row { flex-wrap: wrap; justify-content: center; padding: 0; }
	.entry-content > .ci-videotheque { margin-bottom: 140px; }
}

@media (max-width: 700px) {
	.ci-hero-stack { padding-top: 140px; }
	.entry-content > .ci-hero.alignfull, .ci-hero { min-height: 480px; }
	.ci-hero-card h2 { font-size: 24px !important; }
	.ci-articles { grid-template-columns: 1fr; }
	.ci-icon-row { gap: 24px 40px; }
	.ci-tv-big { font-size: 32px; }
	.ci-tv-featured { height: 320px; }
	.entry-content h2, .ci-intro h2, .ci-founders h2, .ci-videotheque h2 {
		font-size: 30px !important;
		line-height: 1.3;
	}
	.entry-title { font-size: 30px; }
	.site-header .site-title { font-size: 1.4em; }
}

/* ---- Articles de blog importés (layout Wix : colonne 740px) ---- */
.ci-post { max-width: 740px; margin: 0 auto; padding-bottom: 60px; }
.ci-post .ci-post-meta {
	font-size: 13px; color: rgba(0,0,0,.6); text-align: left;
	margin: 0 0 28px; letter-spacing: .2px;
}
.ci-post p { text-align: justify; }
.ci-post h2 {
	font-family: "Playfair Display", serif; font-size: 26px; font-weight: 400;
	color: #000; text-align: left; margin: 40px 0 16px;
}
.ci-post .ci-post-img { margin: 0 0 32px; }
.ci-post .ci-post-img img { width: 100%; height: auto; display: block; }
.ci-pdf-card {
	display: flex; align-items: center; gap: 14px;
	border: 1px solid rgba(0,0,0,.2); padding: 18px 20px; margin: 28px 0;
	text-decoration: none; color: #000; max-width: 480px;
}
.ci-pdf-card:hover { border-color: rgba(0,0,0,.45); }
.ci-pdf-ico { font-size: 28px; line-height: 1; }
.ci-pdf-meta { display: flex; flex-direction: column; gap: 4px; }
.ci-pdf-name { font-size: 14px; font-weight: 600; }
.ci-pdf-dl { font-size: 13px; color: rgba(0,0,0,.55); }

/* ---- Pages de contenu : layout Wix (conteneur 980, colonnes) ---- */
.ci-page { max-width: 980px; margin: 0 auto; padding-bottom: 80px; }
.ci-2col { display: flex; gap: 60px; align-items: flex-start; margin-bottom: 78px; }
.ci-2col-img { flex: 0 0 460px; margin: 0; }
.ci-2col-img img { width: 460px; height: 309px; object-fit: cover; display: block; }
.ci-2col-text { flex: 1 1 auto; }
.ci-2col-text .ci-quote {
	font-family: "Playfair Display", serif; font-size: 18px; font-weight: 400;
	line-height: 24.75px; color: #000; text-align: left; margin: 0 0 72px;
}
.ci-2col-text .ci-lead {
	font-family: "Playfair Display", serif; font-size: 18px;
	line-height: 31.5px; color: #000; text-align: left; margin: 0;
}
.ci-labelrow { display: grid; grid-template-columns: 260px 700px; margin-bottom: 100px; }
.ci-labelrow > h2 {
	font-family: "Playfair Display", serif; font-size: 28px; font-weight: 400;
	line-height: 38.5px; color: #000; text-align: left; margin: 0; padding-left: 20px;
}
.ci-labelrow-body { font-size: 14px; line-height: 25.06px; padding-top: 13px; }
.ci-labelrow-body p { font-size: 14px; line-height: 25.06px; text-align: left; margin: 0 0 25px; }
.ci-labelrow-body .ci-arrow-links a { color: #000; text-decoration: underline; }

/* ---- Organisation : mosaïque Wix 4×245px, rangées 281/311/280/314 ---- */
.ci-org-grid {
	display: grid;
	grid-template-columns: repeat(4, 245px);
	grid-template-rows: 281px 311px 280px 314px;
	justify-content: center;
}
.ci-org-photo { background-size: cover; background-position: center top; }
.ci-org-cell {
	display: flex; flex-direction: column; justify-content: center; align-items: center;
	text-align: center; padding: 0 12px; box-sizing: border-box;
}
.ci-org-cell .ci-org-kicker {
	font-family: "Playfair Display", serif; font-size: 18px; line-height: 25px;
	letter-spacing: .04em; color: #000; margin-bottom: 37px;
}
.ci-org-cell .ci-org-role {
	font-family: "Playfair Display", serif; font-size: 22px; line-height: 31px;
	color: #000; margin-bottom: 34px;
}
.ci-org-cell h2 {
	font-family: "Playfair Display", serif; font-size: 28px !important;
	line-height: 38.5px !important; font-weight: 400; color: #000; margin: 0;
}

/* ---- Membres : liste centrée Wix ---- */
.ci-members { text-align: center; }
.ci-members-intro {
	font-size: 15px !important; line-height: 28px !important;
	text-align: center !important; margin: 0 0 92px;
}
.ci-members-list p {
	font-size: 14px !important; line-height: 25px !important;
	text-align: center !important; margin: 0 0 25px;
}
/* Le titre Membres est immédiatement suivi de l'intro sur le Wix (~12px) */
.page-id-104 .entry-content > *:first-child,
.page-id-224 .entry-content > *:first-child { margin-top: 12px; }

/* Citation grand format (page Le Collegium) */
.ci-quote--big { font-size: 28px !important; line-height: 38.5px !important; margin-bottom: 38px !important; }

/* Texte long pleine largeur (page Rocard) : 14px gauche comme Wix */
.ci-longtext { margin-top: 40px; }
.ci-longtext p { font-size: 14px !important; line-height: 25.06px !important; text-align: left !important; margin: 0 0 0; padding: 0 16px; }

/* Sous-titre de page sous le H1 (Wix) */
.ci-page-subtitle {
	display: block; font-family: "Playfair Display", serif;
	font-size: 20px; line-height: 33px; font-weight: 400; color: #000;
	margin-top: 33px;
}
/* Liens : liste de partenaires, liens soulignés noirs */
.ci-liens a { color: #000; }

/* Hub Analyses & Propositions : une rangée de mosaïque, cartes cliquables */
.ci-org-grid--1row { grid-template-rows: 281px !important; }
.ci-hub-title a, .ci-hub-sub a { color: #000; text-decoration: none; }
.ci-hub-title { font-size: 22px !important; line-height: 31px !important; margin: 0 0 34px !important; }
.ci-hub-sub { font-size: 15px !important; line-height: 28px !important; text-align: center !important; margin: 0; }
a.ci-org-photo { display: block; }

/* .ci-org-grid est en colonnes fixes 245px (4×245=980px) : au-delà de la
   largeur de viewport dispo, ça déborde horizontalement (photos coupées,
   texte chevauché) au lieu de replier — cassé sur tablette/mobile. On
   repasse en grille souple qui replie le nombre de colonnes, et les
   photos (fond cover) en aspect-ratio au lieu d'une hauteur fixe en px. */
@media (max-width: 1030px) {
	.ci-org-grid,
	.ci-org-grid--1row {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-template-rows: none !important;
		gap: 24px 16px;
		padding: 0 16px;
	}
	.ci-org-photo {
		width: 100%;
		height: auto !important;
		aspect-ratio: 245 / 281;
	}
}
@media (max-width: 560px) {
	.ci-org-grid,
	.ci-org-grid--1row {
		grid-template-columns: 1fr !important;
		max-width: 320px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ---- Contributions : flux de billets façon Wix ---- */
.ci-bloglist { max-width: 940px; margin: 0 auto; }
.ci-blogitem {
	display: block; padding: 24px 12px; border-bottom: 1px solid rgba(191,191,191,.5);
	text-decoration: none; color: #000;
}
.ci-blogitem h2 {
	font-family: "Playfair Display", serif; font-size: 28px !important;
	line-height: 38.5px !important; font-weight: 400; color: #000;
	margin: 0 0 8px; text-align: left;
}
.ci-blogitem:hover h2 { color: var(--ci-maroon); }
.ci-blogitem-desc { font-size: 15px !important; text-align: left !important; margin: 0 0 6px; }
.ci-blogitem-meta { font-size: 13px !important; color: rgba(0,0,0,.6) !important; text-align: left !important; margin: 0; }

/* Chronologies & Presse : styles portés en inline (tailles/alignements Wix) */
.ci-chrono p, .ci-presse p { line-height: 1.79 !important; margin: 0 0 0; color: #000; }
.ci-chrono p[style*="font-size:24px"] { font-family: "Playfair Display", serif; margin-top: 20px; }
.ci-chrono a, .ci-presse a { color: #000; }

/* ---- Vidéos : sections par année, embeds 943×531 comme Wix ---- */
.ci-videos-wix { max-width: 943px; margin: 0 auto; }
.ci-vid-year { font-size: 24px !important; text-align: center !important; font-family: "Playfair Display", serif; margin: 50px 0 25px; }
.ci-vid-date { font-size: 16px !important; text-align: left !important; margin: 0 0 12px; }
.ci-vid-desc { font-size: 14px !important; text-align: left !important; margin: 0 0 16px; }
.ci-yt { position: relative; width: 100%; aspect-ratio: 943 / 531; margin: 0 0 40px; }
.ci-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.ci-vid-members { font-size: 14px !important; text-align: center !important; font-weight: 700; margin: 40px 0 20px; }
.ci-yt-grid { display: grid; grid-template-columns: repeat(2, 429px); gap: 35px 85px; justify-content: center; }
.ci-yt-grid .ci-yt { width: 429px; height: 242px; aspect-ratio: auto; margin: 0; }

/* Photos : liste d'albums 16px centrée (Wix) */
.ci-albumlist { text-align: center; padding: 0 0 40px; }
.ci-albumlist p { font-size: 16px !important; line-height: 28.8px !important; text-align: center !important; margin: 0 0 29px; }
.ci-albumlist a { color: #000; text-decoration: underline; }

/* Textes fondateurs complets : styles inline Wix, interligne 1.79 */
.ci-fulltext p { line-height: 1.79 !important; margin: 0; color: #000; padding: 0 16px; }
.ci-fulltext a { color: #000; }

/* ================================================================
   v3.3.0 — Menus/hovers calés sur les tokens Wix mesurés :
   bgDrop rgb(37,51,77) ; txt blanc ; txth rgb(136,184,227) transition
   color .4s ease ; txts (page courante) rgb(6,117,214) ; items 31px
   centrés ; panneau 244px sans ombre/rayon/padding.
   ================================================================ */
.primary-navigation .primary-menu > .menu-item-has-children > .sub-menu {
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0;
	text-align: center;
}
.primary-navigation .sub-menu .menu-item a {
	text-align: center;
	padding: 0 10px !important;
	line-height: 31px;
	height: 31px;
	transition: color 0.4s ease !important;
}
/* Liens du menu horizontal : même transition que Wix */
.primary-navigation .primary-menu > li > a,
.primary-navigation .menu-wrapper > li > a {
	transition: color 0.4s ease !important;
}
/* Page courante : bleu Wix #0675D6 (token txts) */
.primary-navigation .current-menu-item > a,
.primary-navigation .current-menu-ancestor > a,
.primary-navigation .current_page_item > a,
.primary-navigation .current_page_ancestor > a,
.primary-navigation .sub-menu .current-menu-item > a {
	color: rgb(6, 117, 214) !important;
}
.primary-navigation .current-menu-item > a:hover,
.primary-navigation .current-menu-ancestor > a:hover {
	color: var(--ci-blue-accent) !important;
}

/* v3.3.1 — le menu TT1 rend ul.menu-wrapper (pas .primary-menu) : sélecteurs génériques */
.primary-navigation ul.sub-menu,
.primary-navigation .sub-menu {
	background-color: var(--ci-navy) !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	text-align: center;
	min-width: 244px;
}
.primary-navigation .menu-wrapper > .menu-item-has-children { position: relative; }
.primary-navigation .menu-wrapper > .menu-item-has-children > .sub-menu {
	display: none !important;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 100;
	list-style: none;
}
.primary-navigation .menu-wrapper > .menu-item-has-children:hover > .sub-menu,
.primary-navigation .menu-wrapper > .menu-item-has-children:focus-within > .sub-menu {
	display: block !important;
}
.primary-navigation .sub-menu { min-width: 244px !important; }

/* v3.3.3 — aucun soulignement dans la navigation (TT1 met underline dotted) */
.primary-navigation a,
.primary-navigation a:hover,
.primary-navigation a:focus,
.site-footer a {
	text-decoration: none !important;
}

/* v3.3.4 — hover des boutons : le Wix passe au NOIR (token bgh = color_15) */
.ci-button:hover,
.wp-block-button__link:hover {
	background-color: #000000 !important;
	color: #ffffff !important;
}
.ci-button, .wp-block-button__link {
	transition: background-color 0.4s ease;
}

/* v3.3.5 — le parent d'une page courante est aussi marqué (token txts Wix) */
.primary-navigation .menu-wrapper > li.current-menu-ancestor > a,
.primary-navigation .menu-wrapper > li.current_page_ancestor > a,
.primary-navigation .menu-wrapper > li.current-menu-parent > a {
	color: rgb(6, 117, 214) !important;
}

/* ================================================================
   v3.4.0 — VRAI fix sous-menus (bug confirmé en navigateur réel) :
   TT1 peint chaque <li> du sous-menu en clair (--global--color-background)
   et ajoute un triangle pointeur ::before/::after — les deux recouvraient
   le fond navy. Le Wix n'a ni l'un ni l'autre.
   ================================================================ */
.primary-navigation > div > .menu-wrapper > li > .sub-menu li,
.primary-navigation .sub-menu li {
	background: var(--ci-navy) !important;
}
.primary-navigation > div > .menu-wrapper > li > .sub-menu:before,
.primary-navigation > div > .menu-wrapper > li > .sub-menu:after,
.primary-navigation .sub-menu:before,
.primary-navigation .sub-menu:after {
	display: none !important;
	content: none !important;
	border: none !important;
}
/* TT1 met aussi padding-top:3px sur le panneau (l'espace du triangle) */
.primary-navigation > div > .menu-wrapper > li > .sub-menu {
	padding-top: 0 !important;
	transition: none !important;
}
/* Liens du sous-menu : transparents (le <li> porte le navy), blancs */
.primary-navigation .sub-menu li a {
	background: transparent !important;
	color: #ffffff !important;
}
.primary-navigation .sub-menu li a:hover {
	color: var(--ci-blue-accent) !important;
}

/* v3.5.0 — chevron bordeaux en bas du hero (Wix : vector-image 69×27,
   centré, ~9px au-dessus du bas, pointe vers le bas, rgb(177,47,56)) */
.ci-hero::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 9px;
	transform: translateX(-50%);
	width: 69px;
	height: 27px;
	background-color: rgb(177, 47, 56);
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="19.999 58 160.001 84" preserveAspectRatio="none"><path d="M172.5 142a7.485 7.485 0 0 1-5.185-2.073L100 75.808l-67.315 64.12c-2.998 2.846-7.74 2.744-10.606-.234a7.454 7.454 0 0 1 .235-10.565l72.5-69.057a7.524 7.524 0 0 1 10.371 0l72.5 69.057a7.455 7.455 0 0 1 .235 10.565A7.503 7.503 0 0 1 172.5 142z"/></svg>') center / 100% 100% no-repeat;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="19.999 58 160.001 84" preserveAspectRatio="none"><path d="M172.5 142a7.485 7.485 0 0 1-5.185-2.073L100 75.808l-67.315 64.12c-2.998 2.846-7.74 2.744-10.606-.234a7.454 7.454 0 0 1 .235-10.565l72.5-69.057a7.524 7.524 0 0 1 10.371 0l72.5 69.057a7.455 7.455 0 0 1 .235 10.565A7.503 7.503 0 0 1 172.5 142z"/></svg>') center / 100% 100% no-repeat;
	transform: translateX(-50%) scaleY(-1); /* la forme source pointe vers le haut */
	z-index: 3;
	pointer-events: none;
}

/* ================================================================
   v3.5.1 — Mobile (≤481px) : restaure le menu tiroir TT1 que les
   overrides desktop cassaient (le panneau restait ouvert plein écran),
   logo redimensionné, sous-menus en flux normal.
   ================================================================ */
@media only screen and (max-width: 481.98px) {
	/* Logo : TT1 pose .site-logo en position:absolute;top:0 (pensé pour son
	   propre header desktop), ce qui ignore le padding du header sur mobile
	   et fait déborder le logo en haut de page, mal aligné avec le bouton
	   Menu. On repasse en flux normal + on réduit sa taille (404×46 est
	   bien trop grand pour un écran ≤481px à côté du burger). */
	.site-header { padding: 14px 0 !important; }
	.site-header .site-branding {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		height: auto !important;
	}
	.site-header .site-logo {
		position: static !important;
		margin: 0 auto !important;
	}
	.site-header .custom-logo-link img,
	.site-header .custom-logo {
		width: auto !important;
		max-width: 170px !important;
		height: auto !important;
		max-height: 20px !important;
		margin: 0 auto;
	}
	/* Tiroir TT1 : hors écran tant que non ouvert
	   (UNIQUEMENT .primary-menu-container — surtout pas le conteneur du burger) */
	.primary-navigation > div.primary-menu-container,
	.primary-navigation .primary-menu-container {
		position: fixed !important;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		height: 100vh;
		z-index: 499;
		overflow-y: auto;
		padding: 90px 25px 40px !important;
		margin: 0 !important;
		background-color: var(--ci-navy) !important;
		transform: translateX(100%);
		transition: none !important;
	}
	body.primary-navigation-open .primary-navigation > div.primary-menu-container,
	body.primary-navigation-open .primary-navigation .primary-menu-container {
		transform: translateX(0) !important;
	}
	/* Conteneur du burger : dans le header, en haut à droite */
	.primary-navigation .menu-button-container {
		position: absolute !important;
		top: 10px;
		right: 10px;
		margin: 0 !important;
		padding: 0 !important;
		z-index: 501;
	}
	.primary-navigation-open .primary-navigation {
		width: 100%;
		position: fixed !important;
		z-index: 500;
	}
	/* Items empilés pleine largeur dans le tiroir */
	.primary-navigation .menu-wrapper,
	.primary-navigation ul.primary-menu {
		display: block !important;
	}
	.primary-navigation .menu-wrapper > li,
	.primary-navigation ul.primary-menu > li {
		width: 100% !important;
		text-align: center;
	}
	/* Sous-menus : en flux (pas de dropdown positionné) et visibles */
	.primary-navigation .menu-wrapper > .menu-item-has-children > .sub-menu,
	.primary-navigation .primary-menu > .menu-item-has-children > .sub-menu {
		display: block !important;
		position: static !important;
		min-width: 0 !important;
	}
	/* Bouton burger : blanc sur navy */
	.menu-button-container #primary-mobile-menu {
		color: #ffffff !important;
	}
	/* Sélecteur de langue : en flux dans le header */
	.ci-lang-switcher {
		position: static !important;
		height: auto;
		margin: 4px auto 0;
	}
	/* Hero : hauteur au contenu (carte + bouton), légende et chevron dessous */
	.ci-hero {
		min-height: 0 !important;
		height: auto !important;
	}
	.ci-hero-stack { padding-top: 110px; padding-bottom: 96px; }
	.ci-hero-card { width: calc(100vw - 30px); padding: 1.2em 1em; }
	.ci-hero-caption {
		right: 12px;
		bottom: 44px;
		left: 12px;
		text-align: right;
	}
}

/* v3.5.4 — ouverture du tiroir mobile : règle terminale de neutralisation */
@media only screen and (max-width: 481.98px) {
	body.primary-navigation-open .primary-menu-container {
		transform: none !important;
	}
}

/* Barre du bouton Fermer dans le tiroir : navy comme le reste */
@media only screen and (max-width: 481.98px) {
	body.primary-navigation-open .menu-button-container {
		background-color: var(--ci-navy) !important;
	}
	body.primary-navigation-open .menu-button-container #primary-mobile-menu {
		color: #ffffff !important;
		background: transparent !important;
	}
}

/* ---------- Pages 404 et Recherche (habillage maison) ---------- */
.ci-404, .ci-search {
	max-width: 780px;
	margin: 0 auto;
	padding: 90px 16px 110px;
	text-align: center;
}
.ci-404 h1, .ci-search h1 { font-size: 40px; margin-bottom: 20px; }
.ci-404-text, .ci-search-query { margin-bottom: 28px; }
.ci-404-actions { margin-bottom: 40px; }
.ci-404-search form,
.ci-search .ci-404-search form {
	display: flex;
	justify-content: center;
	gap: 8px;
	max-width: 480px;
	margin: 0 auto 30px;
}
.ci-404-search input[type=search] {
	flex: 1;
	border: 1px solid rgba(0,0,0,.35);
	padding: 10px 14px;
	font-size: 15px;
	border-radius: 0;
	background: #fff;
}
.ci-404-search button,
.ci-404-search input[type=submit] {
	background: var(--ci-maroon);
	color: #fff;
	border: none;
	padding: 10px 22px;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 0;
}
.ci-404-search button:hover { background: #000; }
.ci-search-results {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	text-align: left;
}
.ci-search-results li {
	border-bottom: 1px solid rgba(191,191,191,.5);
	padding: 22px 0;
}
.ci-search-results li a {
	font-family: var(--ci-font-serif);
	font-size: 22px;
	color: #000;
	text-decoration: none;
}
.ci-search-results li a:hover { color: var(--ci-maroon); }
.ci-search-results li p { margin: 6px 0 0; text-align: left; }
.ci-search-pagination { margin-top: 30px; }

/* v3.6.1 — sous-menu : jamais de troncature. Le panneau s'élargit au plus
   long libellé (comme Wix), les items ne passent pas à la ligne. */
.primary-navigation .sub-menu {
	width: max-content !important;
	min-width: 244px !important;
	max-width: none !important;
}
.primary-navigation .sub-menu li,
.primary-navigation .sub-menu li a {
	white-space: nowrap;
	overflow: visible;
	width: auto !important;
}
.primary-navigation .sub-menu li a {
	display: block;
	padding: 0 18px !important;
}

/* v3.6.2 — item actif du SOUS-MENU en blanc : le bleu rgb(6,117,214)
   était illisible sur le fond navy du panneau. */
.primary-navigation .sub-menu .current-menu-item > a,
.primary-navigation .sub-menu .current_page_item > a,
.primary-navigation .sub-menu li.current-menu-item a,
.primary-navigation .sub-menu li.current_page_item a {
	color: #ffffff !important;
}
.primary-navigation .sub-menu .current-menu-item > a:hover,
.primary-navigation .sub-menu li.current-menu-item a:hover {
	color: var(--ci-blue-accent) !important;
}

/* v3.6.3 — état actif BLANC partout dans la navigation (tout le menu est
   sur fond navy : le bleu rgb(6,117,214) hérité du Wix y est illisible). */
.primary-navigation .current-menu-item > a,
.primary-navigation .current-menu-ancestor > a,
.primary-navigation .current_page_item > a,
.primary-navigation .current_page_ancestor > a,
.primary-navigation .current-menu-parent > a,
.primary-navigation .menu-wrapper > li.current-menu-ancestor > a,
.primary-navigation .menu-wrapper > li.current_page_ancestor > a,
.primary-navigation .menu-wrapper > li.current-menu-parent > a {
	color: #ffffff !important;
}
.primary-navigation .current-menu-item > a:hover,
.primary-navigation .current-menu-ancestor > a:hover {
	color: var(--ci-blue-accent) !important;
}

/* v3.6.4 — au CLIC/focus sur un item du menu, TT1 peint un fond clair
   (texte illisible). Le Wix n'a aucun fond : on le supprime, le focus
   clavier reste signalé par un léger soulignement. */
.primary-navigation a:focus,
.primary-navigation a:active,
.primary-navigation .menu-wrapper > li > a:focus,
.primary-navigation .menu-wrapper > li > a:active,
.primary-navigation .sub-menu li a:focus,
.primary-navigation .sub-menu li a:active {
	background: transparent !important;
	background-color: transparent !important;
	color: #ffffff !important;
	outline: none;
	box-shadow: none !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

/* ---------- Visionneuse PDF intégrée (articles avec document joint) ---------- */
.ci-pdf-viewer {
	margin: 26px 0 14px;
	border: 1px solid rgba(191, 191, 191, 0.75);
	background: #f2f2f2;
}
.ci-pdf-viewer iframe {
	display: block;
	width: 100%;
	height: 760px;
	border: 0;
}
@media only screen and (max-width: 640px) {
	.ci-pdf-viewer iframe { height: 480px; }
}

/* ================================================================
   v3.7.0 — Vidéothèque interactive (lecture au clic, flèches, recherche)
   ================================================================ */
.ci-tv-featured { cursor: pointer; }
.ci-tv-featured.is-playing { cursor: default; background: #000; }
.ci-tv-player {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	position: absolute;
	inset: 0;
}
.ci-tv-now {
	position: absolute;
	left: 20px;
	bottom: 56px;
	color: #ffffff;
	font-family: var(--ci-font-body);
	font-size: 15px;
	text-shadow: 0 1px 4px rgba(0,0,0,.8);
	max-width: 70%;
	text-align: left;
}

/* Carrousel : 3 vignettes visibles, défilement horizontal masqué */
.ci-tv-carousel {
	position: relative;
	display: flex;
	align-items: center;
}
.ci-tv-viewport {
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	flex: 1;
}
.ci-tv-viewport::-webkit-scrollbar { display: none; }
.ci-tv-row {
	display: flex;
	gap: 10px;
	flex-wrap: nowrap;
	width: max-content;
}
.ci-tv-thumb {
	flex: 0 0 299px;
	border: none;
	font: inherit;
	cursor: pointer;
}
.ci-tv-thumb.is-hidden { display: none; }
.ci-tv-thumb:hover .ci-tv-thumb-title { text-decoration: underline; }

/* Flèches ‹ › façon Wix : blanches, fines, sur les côtés */
.ci-tv-prev, .ci-tv-next {
	flex: 0 0 34px;
	height: 173px;
	background: rgba(0,0,0,.55);
	color: #ffffff;
	border: none;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease;
	padding: 0;
}
.ci-tv-prev:hover, .ci-tv-next:hover { background: rgba(0,0,0,.85); }
.ci-tv-prev { margin-right: 6px; }
.ci-tv-next { margin-left: 6px; }

/* Recherche : loupe + champ actif */
.ci-tv-search input {
	width: 100%;
	box-sizing: border-box;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.25);
	color: #ffffff;
	padding: 10px 14px;
	font-family: var(--ci-font-body);
	font-size: 14px;
	border-radius: 0;
}
.ci-tv-search input::placeholder { color: rgba(255,255,255,.55); }
.ci-tv-search input:focus { outline: none; border-color: rgba(255,255,255,.6); }
/* scroll-behavior:smooth retiré : animation JS (rAF) plus fiable */

/* ================================================================
   Menu mobile plein écran (TT1, actif ≤481px) : la CSS desktop du
   menu (centrée, hover, tokens Wix ci-dessus) reste appliquée telle
   quelle sur l'overlay fullscreen faute de media query, d'où un menu
   plat sans hiérarchie visuelle. On redéfinit ici entrées top-level
   vs sous-menus (toujours dépliés, le bouton .sub-menu-toggle étant
   masqué globalement) + le switcher de langue.
   ================================================================ */
@media (max-width: 481px) {
	.primary-navigation .menu-wrapper,
	.primary-navigation ul.primary-menu {
		text-align: left !important;
		padding: 12px 28px 40px !important;
	}
	.primary-navigation .menu-wrapper > li,
	.primary-navigation ul.primary-menu > li {
		display: block !important;
		width: 100% !important;
		text-align: left !important;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		padding: 14px 0 !important;
	}
	.primary-navigation .menu-wrapper > li:first-child,
	.primary-navigation ul.primary-menu > li:first-child {
		border-top: none;
	}
	/* Lien top-level : plus grand, semi-gras, sert d'en-tête de groupe */
	.primary-navigation .menu-wrapper > li > a,
	.primary-navigation .primary-menu > li > a {
		display: block;
		font-size: 19px !important;
		font-weight: 600 !important;
		letter-spacing: 0.01em;
		padding: 0 0 4px !important;
		line-height: 1.4 !important;
		height: auto !important;
	}
	/* Sous-menu : toujours déplié (pas de bouton +), indenté, plus petit,
	   ton légèrement estompé pour marquer la hiérarchie */
	.primary-navigation .primary-menu > .menu-item-has-children > .sub-menu,
	.primary-navigation .menu-wrapper > .menu-item-has-children > .sub-menu {
		display: block !important;
		position: static !important;
		min-width: 0 !important;
		width: 100% !important;
		margin: 6px 0 0 !important;
		padding: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-align: left !important;
	}
	.primary-navigation .sub-menu .menu-item {
		text-align: left !important;
	}
	.primary-navigation .sub-menu .menu-item a {
		display: block;
		text-align: left !important;
		font-size: 15px !important;
		font-weight: 300 !important;
		color: rgba(255, 255, 255, 0.72) !important;
		padding: 7px 0 7px 16px !important;
		height: auto !important;
		line-height: 1.4 !important;
		border-left: 2px solid rgba(255, 255, 255, 0.18);
	}
	.primary-navigation .sub-menu .menu-item a:hover,
	.primary-navigation .sub-menu .menu-item a:focus {
		color: #ffffff !important;
		border-left-color: var(--ci-blue-accent);
	}
	/* Switcher de langue : petites pills en bas de menu plutôt que
	   texte nu flottant */
	.primary-navigation .ci-lang-switcher {
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		margin-top: 8px !important;
		padding-top: 18px !important;
		text-align: left !important;
	}
	.primary-navigation .ci-lang-list {
		display: flex !important;
		gap: 10px;
		justify-content: flex-start !important;
	}
	.primary-navigation .ci-lang-list li a {
		display: inline-block;
		padding: 6px 16px !important;
		border: 1px solid rgba(255, 255, 255, 0.3);
		border-radius: 20px;
		font-size: 14px !important;
		text-transform: uppercase;
	}
	.primary-navigation .ci-lang-list li.current-lang a {
		background: var(--ci-blue-accent);
		border-color: var(--ci-blue-accent);
		color: var(--ci-navy) !important;
	}
}
