.wp-block-buttons{
	gap:20px;
}

.button-base,
.wp-block-button a{
	display: inline-block;
	color: #fff;
	font-size: 1em;
	line-height: 1.3em;
	padding: 12px 30px;
	background: #E73148;
	margin-top: 20px;
	border-radius: 0px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-family: "Town10-Bold", Arial, sans-serif !important;
	transition: all .3s;
}

.button-base:hover,
.wp-block-button a:hover{
	background: #000;
}

.wrap_content{
	max-width: 1500px;
	margin: auto;
	padding: 0 10px;
}

.wrap_small_content{
	max-width: 1200px;
	margin: auto;
	padding: 0 10px;
}

.has-small-font-size {
	font-size: 16px !important;
	font-family: "Nexa-Light", Arial, sans-serif !important;
}

i{
	font-family: "Font Awesome 7 Pro";
	font-weight: 900;
}

.pt20{padding-top: 20px !important;}
.pt30{padding-top: 30px !important;}
.pt40{padding-top: 40px !important;}
.pt60{padding-top: 60px !important;}
.pt80{padding-top: 80px !important;}
.pt100{padding-top: 100px !important;}
.pt120{padding-top: 120px !important;}
.pt140{padding-top: 140px !important;}
.pt160{padding-top: 160px !important;}
.pt180{padding-top: 180px !important;}
.pt200{padding-top: 200px !important;}
.pt220{padding-top: 220px !important;}

.pb20{padding-bottom: 20px !important;}
.pb30{padding-bottom: 30px !important;}
.pb40{padding-bottom: 40px !important;}
.pb60{padding-bottom: 60px !important;}
.pb80{padding-bottom: 80px !important;}
.pb100{padding-bottom: 100px !important;}
.pb120{padding-bottom: 120px !important;}
.pb140{padding-bottom: 140px !important;}
.pb160{padding-bottom: 160px !important;}
.pb180{padding-bottom: 180px !important;}
.pb200{padding-bottom: 200px !important;}
.pb220{padding-bottom: 220px !important;}

.mt20{margin-top: 20px !important;}
.mt30{margin-top: 30px !important;}
.mt40{margin-top: 40px !important;}
.mt60{margin-top: 60px !important;}
.mt80{margin-top: 80px !important;}
.mt100{margin-top: 100px !important;}
.mt120{margin-top: 120px !important;}
.mt140{margin-top: 140px !important;}
.mt160{margin-top: 160px !important;}
.mt180{margin-top: 180px !important;}
.mt200{margin-top: 200px !important;}
.mt220{margin-top: 220px !important;}

.mb10{margin-bottom: 10px !important;}
.mb20{margin-bottom: 20px !important;}
.mb30{margin-bottom: 30px !important;}
.mb40{margin-bottom: 40px !important;}
.mb60{margin-bottom: 60px !important;}
.mb80{margin-bottom: 80px !important;}
.mb100{margin-bottom: 100px !important;}
.mb120{margin-bottom: 120px !important;}
.mb140{margin-bottom: 140px !important;}
.mb160{margin-bottom: 160px !important;}
.mb180{margin-bottom: 180px !important;}
.mb200{margin-bottom: 200px !important;}
.mb220{margin-bottom: 220px !important;}

/* HEADER *//* HEADER *//* HEADER *//* HEADER */
/* HEADER *//* HEADER *//* HEADER *//* HEADER */
/* HEADER *//* HEADER *//* HEADER *//* HEADER */

/* HEADER *//* HEADER *//* HEADER *//* HEADER */
/* HEADER *//* HEADER *//* HEADER *//* HEADER */
/* HEADER *//* HEADER *//* HEADER *//* HEADER */

@keyframes AnimHeaderSticky {
	0%{top:-90px;}
	100%{top:0;}
}

#header-main{
	position: relative;
	z-index: 500;
	height: 126px;
}

.wrap_bandeau_header{
	display: flex;
	align-items: stretch;
	width: 100%;
	height: 126px;
	padding: 0 70px;
	background: transparent;
}

/* #header-main garde ses 126px : pas de saut de contenu. On anime top et pas transform, sinon le panneau fixed se casse */
#header-main.sticky .wrap_bandeau_header{
	position: fixed;
	top: 0;
	left: 0;
	height: 84px;
	background: #fff;
	border-bottom: 1px solid rgba(66, 41, 20, .08);
	animation: AnimHeaderSticky .7s cubic-bezier(.16, 1, .3, 1) forwards;
}

/* LOGO */

.logo_eoc{
	display: flex;
	flex: 1 1 0;
	align-items: center;
	font-family: "Instrument Serif", serif;
	font-size: 40px;
	line-height: 1.5em;
	letter-spacing: -0.05em;
	text-transform: uppercase;
	white-space: nowrap;
	color: #422914;
}

#header-main.sticky .logo_eoc{
	font-size: 32px;
}

/* MENU CENTRE */

.wrap_main_menu,
.wrap_main_menu > div,
.wrap_main_menu .menu{
	display: flex;
	height: 100%;
}

.wrap_main_menu .menu > li{
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 14px 0 18px;
}

.wrap_main_menu .menu > li:first-child{
	padding-left: 0;
}

.wrap_main_menu .menu > li:last-child{
	padding-right: 0;
}

.wrap_main_menu .menu > li + li::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 11px;
	margin-top: -6px;
	background: #422914;
}

.wrap_main_menu .menu > li > a{
	position: relative;
	font-family: "Manrope", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3em;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	white-space: nowrap;
	color: #422914;
	transition: color .3s ease;
}

.wrap_main_menu .menu > li:hover > a,
.wrap_main_menu .menu > li:focus-within > a{
	color: #7C5A37;
}

.wrap_main_menu .menu > li.current-menu-item > a,
.wrap_main_menu .menu > li.current-menu-ancestor > a{
	color: #748972;
}

/* Chevron du Figma, prend la couleur du lien */
.wrap_main_menu .menu > li.menu-item-has-children > a::after{
	content: "\f107";
	position: absolute;
	top: 100%;
	left: 50%;
	margin: 6px 0 0 -5px;
	font-family: "Font Awesome 7 Pro";
	font-weight: 900;
	font-size: 11px;
	line-height: 1;
	letter-spacing: 0;
	transition: transform .45s ease;
}

.wrap_main_menu .menu > li:hover > a::after,
.wrap_main_menu .menu > li:focus-within > a::after{
	transform: rotate(180deg);
}

/* SOUS-MENU : la feuille se déplie sous le header (fermeture retardée de .15s = tolérance au survol) */

.wrap_main_menu .sub-menu{
	position: absolute;
	top: 100%;
	left: 50%;
	width: 440px;
	margin-left: -218px;
	padding: 12px 44px 20px;
	background: #fff;
	border: 1px solid rgba(66, 41, 20, .1);
	border-top: 0;
	visibility: hidden;
	clip-path: inset(0 0 100% 0);
	transition: clip-path .45s cubic-bezier(.7, 0, .3, 1) .15s, visibility 0s linear .6s;
}

.wrap_main_menu .menu > li:hover > .sub-menu,
.wrap_main_menu .menu > li:focus-within > .sub-menu{
	visibility: visible;
	clip-path: inset(0 0 0 0);
	transition: clip-path .6s cubic-bezier(.77, 0, .175, 1);
}

.wrap_main_menu .sub-menu li{
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .2s ease, transform .2s ease;
}

.wrap_main_menu .menu > li:hover .sub-menu li,
.wrap_main_menu .menu > li:focus-within .sub-menu li{
	opacity: 1;
	transform: translateY(0);
	transition: opacity .5s ease .2s, transform .7s cubic-bezier(.16, 1, .3, 1) .2s;
}

.wrap_main_menu .sub-menu a{
	position: relative;
	display: block;
	margin: 0 -20px;
	text-align: center;
	padding: 10px 20px 12px;
	font-family: "Instrument Serif", serif;
	font-size: 26px;
	line-height: 1.2em;
	letter-spacing: -0.01em;
	color: #422914;
	transition: color .3s ease;
}

.wrap_main_menu .sub-menu a:hover,
.wrap_main_menu .sub-menu .current-menu-item > a{
	color: #7C5A37;
}

/* CADRAGE : les coins du viseur font la mise au point sur l'item survolé */

.nav_second_menu .menu > li:not(:last-of-type){
	margin-bottom: 12px;
}

.wrap_main_menu .sub-menu a::after,
.nav_second_menu .menu > li > a::after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background:
		linear-gradient(currentColor, currentColor) left top / 12px 1px no-repeat,
		linear-gradient(currentColor, currentColor) left top / 1px 6px no-repeat,
		linear-gradient(currentColor, currentColor) right top / 12px 1px no-repeat,
		linear-gradient(currentColor, currentColor) right top / 1px 6px no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / 12px 1px no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / 1px 6px no-repeat,
		linear-gradient(currentColor, currentColor) right bottom / 12px 1px no-repeat,
		linear-gradient(currentColor, currentColor) right bottom / 1px 6px no-repeat;
	opacity: 0;
	transform: scale(1.06, 1.16);
	transition: opacity .2s ease, transform .3s ease;
}

.wrap_main_menu .sub-menu a:hover::after,
.wrap_main_menu .sub-menu a:focus-visible::after,
.nav_second_menu .menu > li > a:hover::after,
.nav_second_menu .menu > li > a:focus-visible::after{
	opacity: 1;
	transform: scale(1);
	transition: opacity .25s ease, transform .55s cubic-bezier(.34, 1.56, .64, 1);
}

/* BOUTONS MENU ET FERMER : icône viseur du Figma dessinée en CSS dans le span */

.wrap_menu_plus{
	display: flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: flex-end;
}

.wrap_menu_plus > button,
.fermer_menu{
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 0;
	background: none;
	border: 0;
	cursor: pointer;
	font-family: "Manrope", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3em;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #422914;
	transition: color .3s ease;
}

.wrap_menu_plus > button:hover,
.fermer_menu:hover{
	color: #7C5A37;
}

.wrap_menu_plus > button span,
.fermer_menu span{
	position: relative;
	display: block;
	width: 22px;
	position: relative;
	top: -1px;
	height: 18px;
	background:
		linear-gradient(currentColor, currentColor) left top / 8px 1px no-repeat,
		linear-gradient(currentColor, currentColor) left top / 1px 4px no-repeat,
		linear-gradient(currentColor, currentColor) right top / 8px 1px no-repeat,
		linear-gradient(currentColor, currentColor) right top / 1px 4px no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / 8px 1px no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / 1px 4px no-repeat,
		linear-gradient(currentColor, currentColor) right bottom / 8px 1px no-repeat,
		linear-gradient(currentColor, currentColor) right bottom / 1px 4px no-repeat;
	background-origin: content-box;
	transition: padding .45s cubic-bezier(.34, 1.56, .64, 1);
}

.fermer_menu span {
	background: none;
}

/* Au survol les coins se resserrent (autofocus) */
.wrap_menu_plus > button:hover span,
.fermer_menu:hover span{
	padding: 2px;
}

.wrap_menu_plus > button span::before,
.wrap_menu_plus > button span::after,
.fermer_menu span::before,
.fermer_menu span::after{
	content: "";
	position: absolute;
	left: 6px;
	width: 10px;
	height: 1px;
	background: currentColor;
}

.wrap_menu_plus > button span::before{
	top: 7px;
}

.wrap_menu_plus > button span::after{
	top: 10px;
}

.fermer_menu span::before{
	top: 8.5px;
	transform: rotate(45deg);
}

.fermer_menu span::after{
	top: 8.5px;
	transform: rotate(-45deg);
}

/* PANNEAU MENU SECONDAIRE */

html.menu_ouvert{
	overflow: hidden;
}

.wrap_nav_plus{
	position: fixed;
	top: 0;
	right: -66vw;
	z-index: 9999;
	display: flex;
	width: 66vw;
	height: 100%;
	visibility: hidden;
	transition: right .7s cubic-bezier(.7, 0, .3, 1), visibility 0s linear .7s;
}

.wrap_menu_plus.isOpen .wrap_nav_plus{
	right: 0;
	visibility: visible;
	transition: right .9s cubic-bezier(.77, 0, .175, 1);
}

.alphaclose{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(66, 41, 20, .6);
	opacity: 0;
	cursor: pointer;
	transition: opacity .6s ease;
}

.wrap_menu_plus.isOpen .alphaclose{
	opacity: 1;
}

/* Photo : révélée en rideau, puis le viseur fait la mise au point */

.visuel_menu{
	position: relative;
	flex: 0 0 40%;
	overflow: hidden;
	background: #F2EDE9;
	clip-path: inset(0 0 0 100%);
	transition: clip-path .6s cubic-bezier(.7, 0, .3, 1);
}

.wrap_menu_plus.isOpen .visuel_menu{
	clip-path: inset(0 0 0 0);
	transition: clip-path 1.1s cubic-bezier(.77, 0, .175, 1) .3s;
}

.visuel_menu img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.08);
	transition: transform 1.8s cubic-bezier(.2, .8, .2, 1);
}

.wrap_menu_plus.isOpen .visuel_menu img{
	transform: scale(1);
}

.viseur_photo{
	position: absolute;
	top: 32px;
	right: 32px;
	bottom: 32px;
	left: 32px;
	color: #fff;
	background:
		linear-gradient(currentColor, currentColor) left top / 36px 1px no-repeat,
		linear-gradient(currentColor, currentColor) left top / 1px 18px no-repeat,
		linear-gradient(currentColor, currentColor) right top / 36px 1px no-repeat,
		linear-gradient(currentColor, currentColor) right top / 1px 18px no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / 36px 1px no-repeat,
		linear-gradient(currentColor, currentColor) left bottom / 1px 18px no-repeat,
		linear-gradient(currentColor, currentColor) right bottom / 36px 1px no-repeat,
		linear-gradient(currentColor, currentColor) right bottom / 1px 18px no-repeat;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity .3s ease, transform .3s ease;
}

.wrap_menu_plus.isOpen .viseur_photo{
	opacity: 0.6;
	transform: scale(1);
	transition: opacity .4s ease 1.05s, transform .8s cubic-bezier(.34, 1.56, .64, 1) 1.05s;
}

/* Colonne menu */

.wrap_second_menu{
	position: relative;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	min-width: 0;
	padding: 0 70px 52px 72px;
	background: #fff;
	overflow-y: auto;
}

/* Fermer tombe pile à la place du bouton Menu */
.fermer_menu{
	align-self: flex-end;
	margin-top: 44px;
}

#header-main.sticky .fermer_menu{
	margin-top: 23px;
}

.nav_second_menu{
	display: flex;
	flex: 1 0 auto;
	align-items: center;
	padding: 16px 0 32px;
}

.nav_second_menu > div{
	width: 100%;
}

.nav_second_menu .menu{
	margin-left: -20px;
}

.nav_second_menu .menu > li{
	overflow: hidden;
}

.nav_second_menu .menu > li > a{
	position: relative;
	display: inline-block;
	padding: 4px 20px 6px;
	font-family: "Instrument Serif", serif;
	font-size: clamp(38px, 3vw, 56px);
	line-height: 1.1em;
	letter-spacing: -0.02em;
	color: #422914;
	transform: translateY(110%);
	transition: color .3s ease, transform .4s cubic-bezier(.7, 0, .3, 1);
}

.wrap_menu_plus.isOpen .nav_second_menu .menu > li > a{
	transform: translateY(0);
	transition: color .3s ease, transform .9s cubic-bezier(.16, 1, .3, 1) .45s;
}

.wrap_menu_plus.isOpen .nav_second_menu .menu > li:nth-child(2) > a{
	transition-delay: 0s, .51s;
}

.wrap_menu_plus.isOpen .nav_second_menu .menu > li:nth-child(3) > a{
	transition-delay: 0s, .57s;
}

.wrap_menu_plus.isOpen .nav_second_menu .menu > li:nth-child(4) > a{
	transition-delay: 0s, .63s;
}

.wrap_menu_plus.isOpen .nav_second_menu .menu > li:nth-child(5) > a{
	transition-delay: 0s, .69s;
}

.wrap_menu_plus.isOpen .nav_second_menu .menu > li:nth-child(6) > a{
	transition-delay: 0s, .75s;
}

.wrap_menu_plus.isOpen .nav_second_menu .menu > li:nth-child(7) > a{
	transition-delay: 0s, .81s;
}

.nav_second_menu .menu > li > a:hover,
.nav_second_menu .menu > li.current-menu-item > a{
	color: #7C5A37;
}

.nav_second_menu .sub-menu{
	padding: 0 0 10px 20px;
	opacity: 0;
	transition: opacity .3s ease;
}

.wrap_menu_plus.isOpen .nav_second_menu .sub-menu{
	opacity: 1;
	transition: opacity .6s ease .9s;
}

.nav_second_menu .sub-menu a{
	display: inline-block;
	padding: 5px 0;
	font-family: "Manrope", sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3em;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #422914;
	transition: color .3s ease;
}

.nav_second_menu .sub-menu a::before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 1px;
	background: #422914;
	margin-right: 8px;
	position: relative;
	top: -4px;
}

.nav_second_menu .sub-menu a:hover{
	color: #7C5A37;
}

.nav_second_menu .sub-menu{
	display: none;
	padding: 0 0 10px 20px;
}

.nav_second_menu .menu > li.menu-item-has-children > a{
	padding-right: 46px;
	cursor: pointer;
}

.nav_second_menu .menu > li.menu-item-has-children > a::before {
	content: "\f107";
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -6px;
	font-family: "Font Awesome 7 Pro";
	font-weight: 900;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
	transition: transform .4s ease;
}

.nav_second_menu .menu > li > a.active{
	color: #7C5A37;
}

.nav_second_menu .menu > li > a.active::before{
	transform: rotate(180deg);
}

/* Pied du panneau */

.bas_menu{
	padding-top: 28px;
	border-top: 1px solid rgba(66, 41, 20, .14);
	opacity: 0;
	transition: opacity .3s ease;
}

.wrap_menu_plus.isOpen .bas_menu{
	opacity: 1;
	transition: opacity .8s ease .85s;
}

.bas_menu p{
	max-width: 420px;
	margin-bottom: 22px;
	font-family: "Instrument Serif", serif;
	font-size: 22px;
	font-style: italic;
	line-height: 1.35em;
	color: #422914;
}

.bas_menu a{
	display: inline-block;
	margin-right: 28px;
	padding-bottom: 4px;
	font-family: "Manrope", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3em;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #422914;
	border-bottom: 1px solid rgba(66, 41, 20, .25);
	transition: color .3s ease, border-color .3s ease;
}

.bas_menu a:hover{
	color: #7C5A37;
	border-color: #7C5A37;
}

/* Focus clavier (le reset coupe l'outline des liens) + mouvement réduit */

#header-main a:focus-visible,
#header-main button:focus-visible{
	outline: 1px solid #7C5A37 !important;
	outline-offset: 6px;
}

@media (prefers-reduced-motion: reduce){
	#header-main *{
		animation: none !important;
		transition: none !important;
	}
}

/* --- */

.retour{
	display: block;
	width: 100%;
	clear: both;
}

/* 

	font-family: "Instrument Serif", serif;
	font-family: "Manrope", sans-serif;
	
	Marron foncé : #422914;
	Vert : #748972;
	Or : #7C5A37;
	Crème : #F2EDE9;
	
	
*/
