/* Hélion – en-tête, menus, bandeau de titre. Ordinateur au-delà de 1024 px, mobile en dessous. */

/* ---------- Ordinateur ---------- */
.helion-entete { position: relative; z-index: 110; height: 114px; margin-bottom: -114px; }
.helion-entete__barre { display: flex; align-items: center; height: 114px; padding: 0 70px 0 72px; background: var(--helion-entete-fond, transparent); }
.helion-entete__logo { display: block; flex: 0 0 280px; height: 100px; margin-right: 23px; }
/* Menu calé à droite, la marge droite étant celle de la barre (70 px), toujours sur une ligne :
   espacements, logo et corps resserrés par paliers sur les écrans moyens. */
.helion-menu { margin-left: auto; }
.helion-entete .helion-menu__liste > li > a { white-space: nowrap; }
@media (min-width: 1025px) and (max-width: 1366px) {
	.helion-entete .helion-menu__liste > li > a { padding: 0 7px; letter-spacing: 1.8px; }
}
@media (min-width: 1025px) and (max-width: 1280px) {
	.helion-entete .helion-entete__logo { flex-basis: 220px; }
	.helion-entete .helion-entete__logo .helion-logo { height: 80px; }
	.helion-entete .helion-menu__liste > li > a { padding: 0 6px; letter-spacing: 1px; }
}
@media (min-width: 1025px) and (max-width: 1150px) {
	.helion-entete .helion-entete__barre { padding-left: 40px; }
	.helion-entete .helion-entete__logo { flex-basis: 170px; margin-right: 15px; }
	.helion-entete .helion-entete__logo .helion-logo { height: 62px; }
	.helion-entete .helion-menu__liste > li > a { padding: 0 5px; font-size: 12px; letter-spacing: .4px; }
}
/* Menu centré (réglage Musea « center ») : centré sur toute la largeur de l'en-tête, logo compris, sur une ligne. */
.helion-menu-centre .helion-menu { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: max-content; }
.helion-logo { display: block; width: auto; height: 100px; }
.helion-logo--sombre, .helion-logo--mobile { display: none; }
.helion-entete-sombre .helion-logo--claire { display: none; }
.helion-entete-sombre .helion-logo--sombre { display: block; height: 100px; }

.helion-menu__liste, .helion-menu__liste ul { list-style: none; margin: 0; padding: 0; }
.helion-menu__liste { display: flex; align-items: center; }
.helion-menu__liste > li { position: relative; }
.helion-menu__liste > li > a {
	display: block;
	padding: 0 10px;
	font-family: "EB Garamond", Georgia, serif;
	font-size: 13px;
	font-weight: 100;
	line-height: 30.29px;
	letter-spacing: 3.055px;
	text-transform: capitalize;
	color: #fff;
	text-shadow: #000 0 0 10px;
}
.helion-entete-sombre .helion-menu__liste > li > a { color: #383838; text-shadow: none; }
.helion-menu__texte { position: relative; display: block; }
.helion-menu__liste > li > a .helion-menu__texte::before {
	content: "";
	position: absolute;
	left: 0; right: 0;
	top: 29.3px;
	border-top: 1px solid #77bbff;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .5s cubic-bezier(.54, .32, .05, .96);
}
.helion-menu__liste > li:hover > a .helion-menu__texte::before,
.helion-menu__liste > li.current-menu-item > a .helion-menu__texte::before,
.helion-menu__liste > li.current-menu-ancestor > a .helion-menu__texte::before,
.helion-menu__liste > li.current-menu-parent > a .helion-menu__texte::before { transform: scaleX(1); }
/* Drapeaux : centrés sur la ligne du texte du menu, sans soulignement (Polylang 3.9 les enveloppe dans un span). */
.helion-menu__liste .lang-item .pll-switcher-flag { display: inline-block; vertical-align: middle; line-height: 0; }
.helion-menu__liste .lang-item .helion-menu__texte { display: flex; align-items: center; height: 30.29px; }
.helion-menu__liste .lang-item img { display: block; width: 18px; height: 12px; }
.helion-menu__liste > li.lang-item > a .helion-menu__texte::before { content: none; }
.helion-menu__liste > li.lang-item > a { padding: 0 10px; }

/* Sous-menu au survol */
.helion-menu__liste .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 120;
	width: 239px;
	padding: 29px 0;
	margin-top: 42px;
	background: #fff;
	visibility: hidden;
	opacity: 0;
	transition: opacity .2s ease-out, visibility 0s .2s;
}
.helion-menu__liste > li:hover > .sub-menu,
.helion-menu__liste > li:focus-within > .sub-menu { visibility: visible; opacity: 1; transition: opacity .2s ease-out; }
.helion-menu__liste .sub-menu a {
	display: block;
	padding: 7px 40px;
	font-family: "EB Garamond", Georgia, serif;
	font-size: 17px;
	font-style: italic;
	line-height: 24.99px;
	letter-spacing: .51px;
	color: #5f5f5f;
	text-shadow: none;
}
.helion-menu__liste .sub-menu .current-menu-item > a { color: #1e73be; }
.helion-menu__liste .sub-menu a:hover { color: #77bbff; }

.helion-burger, .helion-menu-mobile { display: none; }

/* ---------- Bandeau de titre ---------- */
.helion-bandeau {
	position: relative;
	z-index: 101;
	display: flex;
	align-items: flex-end;
	height: 150px;
	padding-bottom: 10px;
	background: #77bbff url("../img/bandeau.png") 50% 0 / 2157px auto no-repeat fixed;
}
.helion-bandeau__titre {
	margin: 0;
	font-size: 32px;
	line-height: 40px;
	letter-spacing: 5.12px;
	color: #fff;
}
.helion-bandeau--haut { height: 250px; align-items: center; padding: 90px 0 0; text-align: center; }
.helion-bandeau--haut .helion-bandeau__titre { font-size: 51px; letter-spacing: .16em; }
.helion-bandeau--haut .helion-bandeau__titre::before,
.helion-bandeau--haut .helion-bandeau__titre::after { content: ""; display: inline-block; width: 170px; height: 1px; margin: 0 86px 12.75px 0; background: #fff; }
.helion-bandeau--haut .helion-bandeau__titre::after { margin: 0 0 12.75px 78px; }

/* ---------- Mobile ---------- */
@media (max-width: 1024px) {
	.helion-entete { height: auto; margin-bottom: 0; background: var(--helion-entete-fond-mobile, #fff); border-bottom: 1px solid #e1e1e1; }
	.helion-entete__barre { height: 69px; padding: 0; width: 768px; max-width: 100%; margin: 0 auto; justify-content: space-between; background: none; }
	.helion-entete__logo { flex: 0 0 auto; height: 44px; margin: 0; }
	.helion-logo--claire, .helion-entete-sombre .helion-logo--sombre { display: none; }
	.helion-logo--mobile { display: block; width: 124px; height: 44px; }
	.helion-menu { display: none; }

	.helion-burger {
		display: block;
		position: relative;
		width: 25px;
		height: 17px;
		padding: 0;
		border: 0;
		background: none;
		cursor: pointer;
	}
	.helion-burger__ligne { position: absolute; left: 0; width: 25px; height: 1px; background: #525252; transition: transform .3s, opacity .3s, top .3s; }
	.helion-burger__ligne:nth-child(1) { top: 5px; }
	.helion-burger__ligne:nth-child(2) { top: 10px; }
	.helion-burger__ligne:nth-child(3) { top: 15px; opacity: 0; }
	.helion-burger[aria-expanded="true"] .helion-burger__ligne { background: #77bbff; }

	.helion-menu-mobile {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - 70px);
		overflow-y: auto;
		background: var(--helion-entete-fond-mobile, #fff);
		border-bottom: 1px solid #e1e1e1;
	}
	.helion-menu-mobile.est-ouvert { display: block; }
	.helion-menu-mobile__liste, .helion-menu-mobile__liste ul { list-style: none; margin: 0; padding: 0; }
	.helion-menu-mobile__liste { width: 768px; max-width: 100%; margin: 0 auto; }
	.helion-menu-mobile__liste li { position: relative; }
	.helion-menu-mobile__liste > li > a {
		display: block;
		padding: 9px 0;
		font-family: "Cinzel", Georgia, serif;
		font-size: 14px;
		line-height: 32.62px;
		text-transform: uppercase;
		color: #525252;
		border-bottom: 1px solid #e1e1e1;
	}
	.helion-menu-mobile__liste .sub-menu { display: none; padding-left: 15px; }
	.helion-menu-mobile__liste .est-deplie > .sub-menu { display: block; }
	.helion-menu-mobile__liste .sub-menu a {
		display: block;
		padding: 9px 0;
		font-family: "EB Garamond", Georgia, serif;
		font-size: 17px;
		font-style: italic;
		line-height: 24.99px;
		letter-spacing: .51px;
		color: #525252;
		border-bottom: 1px solid #e1e1e1;
	}
	.helion-menu-mobile__liste a:hover, .helion-menu-mobile__liste .current-menu-item > a { color: #77bbff; }
	.helion-deplier {
		position: absolute;
		top: 9px;
		right: 0;
		width: 40px;
		height: 32px;
		padding: 0;
		border: 0;
		background: none;
		color: #525252;
		cursor: pointer;
	}
	.helion-deplier::before { content: ""; display: block; width: 7px; height: 7px; margin: 0 auto; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); transition: transform .2s; }
	.est-deplie > .helion-deplier::before { transform: rotate(45deg); }
	.helion-menu-mobile__liste .lang-item img { width: 18px; height: 12px; }

	.helion-bandeau { align-items: center; padding-bottom: 0; background-size: auto; }
	.helion-bandeau--haut { height: 150px; padding: 0; }
	.helion-bandeau--haut .helion-bandeau__titre::before, .helion-bandeau--haut .helion-bandeau__titre::after { display: none; }
}
@media (max-width: 768px) { .helion-entete__barre, .helion-menu-mobile__liste { width: 600px; } }
@media (max-width: 680px) { .helion-entete__barre, .helion-menu-mobile__liste { width: 420px; } }
@media (max-width: 480px) { .helion-entete__barre, .helion-menu-mobile__liste { width: 300px; } }
@media (max-width: 320px) { .helion-entete__barre, .helion-menu-mobile__liste { width: 90%; } }
@media (max-width: 680px) { .helion-bandeau--haut .helion-bandeau__titre { font-size: 35px; } }
