/*
Theme Name: Ergopix
Theme URI: https://www.ergopix.com
Update URI: https://www.ergopix.com
Author: ergopix sàrl
Version: 1.0
*/



body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1.33rem;
	font-weight: 400;
	line-height: 1.2;
	color: rgba(var(--black-title-rgb), 0.8);
	background: var(--background-page);
}


/* -------------------------------- */ 
/* -------- STYLES GLOBAUX -------- */
/* -------------------------------- */ 

/* --------- container et layout -------- */

.contenu_simple_deux_colonnes .row > div > *:first-child {
	margin-top: 0!important;
}

.main-section {
	padding-top: var(--padding-normal);
	display: grid;
	grid-template-columns: 310px auto 310px;
	max-width: var(--container-max-width);
	margin: auto;
	padding-inline: 20px;
}

.container-fluid {
	max-width: 1600px;
	padding-right: var(--padding-container);
	padding-left: calc(var(--padding-container) * 2);
}

.side-container {
  grid-column-start: 1;
  grid-column-end: 2;
  margin-bottom: 120px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin-top: 25vh;

}

.side-container a {
	color: rgba(var(--black-title-rgb), 0.8);
	font-family: "Albert Sans";
	font-size: 1.25rem;
	font-weight: 600;
	text-decoration: none;
}

.side-container a.active {
	color: var(--bs-primary);
}

.side-container ul.index-page {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction:column;
  gap: 0.75rem;
}


.side-container .sticky {
  position: sticky;
  top: 140px;
  padding-block: .5rem;
  padding-inline: 1.25rem;
  border-left: solid 2px var(--beige-background);
}

.container-inside {
	padding-inline: var(--padding-module);
	width: 100%;
}

/* ------------- sections ------------- */

section.section {
	padding-bottom: var(--padding-bottom-section);
	scroll-margin-top: calc(var(--header-height) + 50px);
}

section.hero {
	padding-top: calc(var(--header-height) + 2rem);
	padding-bottom: 4.5rem;
	background-color: var(--beige-background);
}


section.hero.hero-short {
	padding-top: 8rem;
	padding-bottom: calc(8rem - var(--header-height));
	background-color: var(--beige-background);
	height: auto;
	min-height: initial;
}

section.hero.no-hero {
	padding-top: calc(var(--header-height) + 1rem);
	padding-bottom: 0rem;
	background-color: var(--page-background);
}

section.hero-default image {
	animation: hero-anim 15s linear infinite alternate;
	transform-origin: center center;
}

@keyframes hero-anim {
  from {
	transform: scale(1);
  }
  to {
	transform: scale(1.2);
  }
}

section.hero-default .hero-wrapper {
	margin: auto;
	max-width: 1200px;
}

.hero-subtitle {
	max-width: 750px;
	font-family: "Albert Sans";
	font-size: 1.4375rem;
	font-weight: 400;
}

.section-header {
	background-color: var(--beige-background);
	border-radius: var(--price-table-radius) var(--price-table-radius) 0 0;
	padding-top: 2.75rem;
	padding-bottom: 2.5rem;
}

.section-header.responsive {
	border-radius: 0 0 0 0;
}

.content-wrapper.collapse:not(.show) {
  display: block!important;
}

button.title-section {
	border: 0;
	background: none;
}

.chevron-responsive {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	transition: var(--bs-accordion-btn-icon-transition);
	width: 60px;
	height: 60px;
	border-radius: 50rem;
	background-color: var(--bs-primary);
	font-size: 2rem;
	flex-shrink: 0;
}

button.title-section i {
	transition: transform 0.2s ease-in-out;
}

button.title-section:not(.collapsed) i {
  transform: var(--bs-accordion-btn-icon-transform);
}

/* ---------- Fonts et style ---------- */

a {
	color: var(--bs-primary);
	text-decoration: none;							
}

a:not(.btn):focus-visible {
	text-decoration: underline;
}

.font-albert {
	font-family: var(--font-albert);
}

.font-chillon {
	font-family: var(--font-chillon);
}

p {
	font-weight: 400;
	line-height: 1.33;
	margin-bottom: 1rem;
}

p:last-child {
	margin-bottom: 0;
}

h3 {
	font-size: 2rem;
  }

.small-size span {
  line-height: inherit;
}

.decal {
	padding-left: 1.33rem;
}

hr {
  margin: 1rem 0;
  color: var(--border-color);
  border-top: 2px solid;
  opacity: 1;
}

.text-beige {
	color: var(--beige-background)!important;
}

.text-blacktitle {
	color: var(--black-title)!important;
}

.btn {
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: 0.75rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-font-weight: 500;
  --bs-btn-line-height: 1;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: 1.5px;
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: 10rem;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out, padding-right .15s ease-in-out;
}

.btn.btn-small {
	--bs-btn-padding-x: 0.875rem;
	--bs-btn-padding-y: 0.5rem;
	--bs-btn-font-size: 1rem;
}

.btn-transparent {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-bg: transparent;
  --bs-btn-border-color:  var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: 49,132,253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg:  var(--bs-primary);
  --bs-btn-active-border-color:  var(--bs-primary);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-transparent.btn-blacked {
	--bs-btn-color: var(--black-title);
	--bs-btn-border-color:  var(--black-title);
}

.btn:hover .arrow-icon {
  margin-left: 1rem!important;
}

.btn.btn-arrowed:hover {
	padding-right: 0.75rem!important;
}

.btn .arrow-icon {
	transition: margin .15s ease-in-out;
}

.btn-primary {
	--bs-btn-hover-color: var(--bs-primary)!important;
	--bs-btn-hover-bg: transparent!important;
	--bs-btn-hover-border-color: var(--bs-primary)!important;
}

.bg-beige {
	background-color: var(--beige-background);
}

.bg-beige-clair {
	background-color: rgba(var(--beige-background-rgb), 0.4);
}

.title-page {
	color: var(--black-title);
	font-family: var(--font-chillon);
	font-weight: 500;
	font-size: clamp(4rem, 7.6vw , 9.15rem);
	text-transform: uppercase;
	text-align: center;
}

.hero-short .title-page {
	font-family: var(--font-chillon);
	font-weight: 400;
	font-size: clamp(3rem, 5vw , 6rem);
	text-transform: uppercase;
}



.hero.incontournables .hero-subtitle {
	font-family: "Albert Sans";
	font-size: clamp(1.33rem, 2vw , 2.45rem);
	font-weight: 400;
	line-height: normal;
	text-align: center;
	max-width: 985px;
	text-wrap: balance;
}

.title-section {
	position: relative;
	font-family: var(--font-chillon);
	text-transform: uppercase;
	color: var(--black-title);
	font-weight: 500;
	font-size: var(--font-size-section-title);
	margin-bottom: 0;
	text-align: start;
}

.title-module {
	font-size: var(--font-size-module-title);
	font-family: var(--font-albert);
	font-weight: 500;
	border-bottom: solid 2px var(--border-color);
	padding-bottom: 0.75rem;
	margin-bottom: 1.25rem;
	text-wrap: balance;
}

.small-title {
	text-transform: uppercase;
	color: var(--gray-text);
	font-family: var(--font-chillon);
	font-weight: 600;
	font-size: 1.5rem;
	margin-bottom: 0.5rem;
}

.small-size {
	font-size: 1.2rem;
}

.wysiwyg-spacer {
	height: 20px;
	font-size: 0;
	line-height: 0;
	margin: 0;
}

.encadre {
	padding: 1.25rem 1.75rem 1.25rem 1.75rem;
	border-radius: 1rem;
	background: rgba(var(--beige-background-rgb), 0.5);
	font-size: 1.25rem;
	color: rgba(var(--black-title), 0.8);
	display: flex;
	gap: 1rem;
}

.encadre p {
	margin-bottom: 0;
}

.icone-encadre {
	width: 34px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px rgba(var(--black-title-rgb), 0.8);
	border-radius: 50%;
	flex-shrink: 0;
	font-size: 0.85em;
}	

.space-top {
	padding-top: var(--padding-normal);
}

.space-top-small {
	padding-top: var(--padding-small);
}

.space-top-big {
	padding-top: var(--padding-big);
}

.space-bottom {
	padding-bottom: var(--padding-normal);
}

.space-bottom-small {
	padding-bottom: var(--padding-small);
}

.space-bottom-big {
	padding-bottom: var(--padding-big);
}

/* ------------------------------------- */ 
/* -------- ANIMATIONS GLOBALES-------- */
/* ------------------------------------ */ 

.observe-element {
  opacity: 0;
  will-change: opacity;
  transition: opacity 0.3s ease; /* fallback CSS si GSAP échoue */
}


/* -------------------------------- */ 
/* -------- MASQUES PHOTOS -------- */
/* -------------------------------- */ 

.masked-image-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.65rem;
  padding-top:0;
}

.masked-image {
  position: relative;
  max-width: 100%;
  /* Le masque est appliqué sur le conteneur, pas sur l'image */
  clip-path: url(#blob-mask);
  -webkit-clip-path: url(#blob-mask);
  overflow: hidden;
}


.masked-image.big {
  width: clamp(132px, 28vw, 526px);
  height: clamp(132px, 28vw, 536px);
}


.masked-image.small {
  width: clamp(80px, 17vw, 315px);
  height: clamp(80px, 17vw, 321px);
}

.mask-svg {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.masked-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  
  /* L'image commence 10% plus grande et revient à sa taille normale */
  animation: slow-zoom 15s linear infinite alternate;
  transform-origin: center center;
  will-change: transform;
}

@keyframes slow-zoom {
  from {
	transform: scale(1.2);
  }
  to {
	transform: scale(1);
  }
}

.wrapper-video {
	max-width: 1100px;
	margin: auto;
}

.wrapper-video :is(iframe, video) {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
}

.breadcrump-page {
	padding-left: 15px;
	color: rgba(var(--black-title-rgb), 0.60);
	font-family: "Albert Sans";
	font-size: 1.1875rem;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

/* -------------------------------- */ 
/* -------- HEADER et MENU -------- */
/* -------------------------------- */ 


header {
	position: fixed;
	z-index:10;
	top: 0;
	left: 0;
	right: 0;
	height: var(--header-height);
	background-color: var(--beige-background);
	border-bottom: solid 1px rgba(var(--black-title-rgb), 0.1);
	
}

.logo > svg {
	width: 160px;
	height: 33px;
}


body.menu-opened header {
	background-color: var(--black-title);
}

body.menu-opened .menu-item.type-icon.current_page_item > a > span::after,
body.menu-opened .menu-item.type-icon > a:hover > span::after {
	background-color: var(--beige-background);
}


body.menu-opened header :is(.main-menu, .secondary-menu) :is(a.nav-link, a) {
	color: var(--beige-background);
}

.menu-item.type-icon > a > span,
.menu-item.with-icon > a > span {
	position: relative;
}


.menu-item.with-icon,
.menu-item.with-icon > a {
	display: flex;
	column-gap: 8px;
	align-items: center;
}

.menu-item.openings-toogle > a > i,
.openings-toogle {
  font-size: 1rem; !important;
}

.right-menu.statut-open .openings-toogle > a,
.right-menu.statut-open .openings-toogle {
	color: #4CD147!important;
}

.right-menu.statut-close .openings-toogle > a,
.right-menu.statut-close .openings-toogle {
	color: red!important;
}

.openings-info {
	color: var(--bs-primary);
	display: none;
	position: absolute;
	top: calc(100% + 1rem); 
	right: 0;
	z-index: 3;
	border: solid 1.5px var(--bs-primary);
	border-radius: 25px;
	background-color: var(--background-page);
	font-size: 1.2rem;
	font-weight: 500;
}

.openings-info.show {
	display: block;
}


.menu-item.type-icon > a > span::before,
.menu-item.with-icon > a > span::before {
	position: relative;
	inset: 0;
	content: "";
	display: block;
	width: 21px;
	height: 27px;
	background-image: var(--content);
	background-repeat: no-repeat;
	background-size: contain;
}

.menu-item.type-icon.icon-membre > a > span::before,
.menu-item.with-icon.icon-membre > a > span::before {
	width: 26px;
	height: 26px;
	margin-right: -4px;
	margin-left: -3px;
}

.menu-item.with-icon.menu-billets > a > span::before {
  background-size: cover;
  background-position: center;
  width: 26px;
  height: 24px;
  margin-top: 0;
}

.menu-item.with-icon > a > span::before {
	width: 24px;
	height: 24px;
	margin-top: 2px;
	margin-right: -4px;
}

.menu-item.type-icon.current_page_item > a > span::after,
.menu-item.type-icon > a:hover > span::after {
	position: absolute;
	bottom: -5px;
	left: 0;
	content: "";
	display: block;
	width: 21px;
	height: 2px;
	background-color: var(--black-title);
}

.menu-item.type-icon.current_page_item.icon-membre > a > span::after,
.menu-item.type-icon.icon-membre > a:hover > span::after {
	width: 22px;
	height: 2px;
	background-color: var(--black-title);
}

/* --------------------------------------------- */
/* -------- Tooltip d'élément de menu ---------- */
/* --------------------------------------------- */
/* Ajouter la classe "has-tooltip" sur l'élément  */
/* dans Apparence > Menus (Classes CSS).          */
/* Volontairement très différent du sous-menu :   */
/* petite pastille arrondie, texte réduit,        */
/* flèche, et non cliquable.                      */

.menu-item.has-tooltip > a {
	position: relative;
}

.menu-item.has-tooltip > a::before,
.menu-item.has-tooltip > a::after {
	position: absolute;
	left: 50%;
	z-index: 20;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

/* La pastille */
.menu-item.has-tooltip > a::after {
	content: attr(data-tooltip);
	top: calc(100% + 11px);
	transform: translate(-50%, -4px);
	padding: 0.35rem 0.75rem;
	border: solid 1px rgba(var(--beige-background-rgb), 0.25);
	border-radius: 999px;
	background-color: var(--black-title);
	color: var(--beige-background);
	font-family: var(--font-albert);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
}

/* La flèche */
.menu-item.has-tooltip > a::before {
	content: "";
	top: calc(100% + 7px);
	width: 8px;
	height: 8px;
	transform: translate(-50%, -4px) rotate(45deg);
	border-top: solid 1px rgba(var(--beige-background-rgb), 0.25);
	border-left: solid 1px rgba(var(--beige-background-rgb), 0.25);
	background-color: var(--black-title);
}

.menu-item.has-tooltip > a:hover::after,
.menu-item.has-tooltip > a:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.menu-item.has-tooltip > a:hover::before,
.menu-item.has-tooltip > a:focus-visible::before {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0) rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
	.menu-item.has-tooltip > a::before,
	.menu-item.has-tooltip > a::after {
		transition: none;
	}
}

body .wpml-ls-legacy-dropdown {
  width: auto;
  max-width: 100%;
  height: 100%;
}

body .wpml-ls-legacy-dropdown > ul {
	height: 100%;
}

body .wpml-ls-legacy-dropdown > ul > li { 
	height: 100%;
}

body .wpml-ls-legacy-dropdown > ul > li .js-wpml-ls-item-toggle {
	display: flex;
	align-items: center;
	height: 100%;
}

body .wpml-ls-legacy-dropdown a {
  border: 0;
  background-color: transparent;
  padding: 0;
  padding-right: 10px;
  line-height: 1.3;
  font-size: 1rem;
}

body .wpml-ls-legacy-dropdown > ul {
  font-size: 1rem;
  line-height: 1.3;
}

body .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a, 
body .wpml-ls-legacy-dropdown a:focus, 
body .wpml-ls-legacy-dropdown a:hover {
  background: transparent;
}

body a.js-wpml-ls-item-toggle {
	color: #fff;
}

body.scrolled header .main-menu a.js-wpml-ls-item-toggle {
  color: var(--deep);
}

body .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle::after {
	display: inline-block;
	margin-left: .255em;
	vertical-align: .255em;
	content: "";
	border-top: .3em solid;
	border-right: .3em solid transparent;
	border-bottom: 0;
	border-left: .3em solid transparent;
}

body .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
  padding-right: calc(10px + 1.4em);
}

body .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle::after{
  left: 2ch;
  right: unset;
}

li.wpml-ls-item {
  display: inline-block;
}

body .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
	display: flex;
	flex-direction: column;
	max-width: 100px;
	flex-wrap: wrap;
	width: auto;
	min-width: 50px;
	position: absolute;
	top: calc(100% + 1px);
	right: 20px;
	left: -20px;
	background: var(--submenu-color);
	border-top: 0;
	padding: 0;
	padding-top: 0px;
	margin: 0;
	list-style-type: none;
	z-index: 101;
	padding-block: 0.5rem;
	border-radius: 0 0 1rem 1rem;
	padding-top: 0.25rem;
}

body .wpml-ls-legacy-dropdown .wpml-ls-sub-menu  a {
	color: var(--beige-background)!important;
}

body .wpml-ls-legacy-dropdown .wpml-ls-sub-menu li {
	text-align:left;
}

body header .wpml-ls-sub-menu a {
	color: var(--dark);
	font-size: 0.9em;
	text-transform: initial;
	padding: 0.25rem 1rem;

}

	
.list-inline li {
	display: inline-block;
}

header .dropdown-toggle::after {
  display: none;
}

header .main-menu li a {
	display: inline-block;
	text-decoration: none;
}

header .main-menu {
	gap: 2.5rem;
}

header .secondary-menu {
	gap: 1.25rem;
}

header :is(.main-menu, .secondary-menu) :is(a.nav-link, a) {
	color: var(--menu-color);
	font-family: Chillon;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	transition: none;
}

header :is(.main-menu, .secondary-menu) li:not(.menu-billets) :is(a.nav-link:hover, a:hover),
header :is(.main-menu, .secondary-menu) li:not(.menu-billets) :is(a.nav-link.active, a.active) {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.5rem;
	text-decoration-color: var(--menu-color);
}

header .secondary-menu li.menu-billets {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--bs-primary);
	padding-inline: 1.33rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	border-radius: 20rem;
	line-height: 1;
}

header .secondary-menu li.menu-billets.h-100{
	height: auto!important;
}

header .secondary-menu li.menu-billets a:after {
	
}

header .secondary-menu li.menu-billets a {
	color: var(--beige-background);
}

header :is(.main-menu, .secondary-menu) :is(a.nav-link.active, a.active)  {
	font-weight: 700;
}

header .dropdown-menu.show {
  display: flex;
  flex-direction: column;
}

header .dropdown-menu {
	top: 100%;
	background-color: var(--submenu-color);
	--bs-dropdown-padding-y: 0;
	border-radius: 0 0 1rem 1rem;
	border: 0;
}

header .dropdown-menu li:last-child a {
	border-radius: 0 0 1rem 1rem;
}

header :is(.main-menu, .right-menu) .dropdown-menu li:not(:last-child) {
	border-bottom: solid 1px var(--beige-background);
}

header .open-menu {
	display: flex;
	align-items:center;
	justify-content: center;
	background-color: transparent;
	border: solid 2px var(--menu-color);
	width: 25px;
	height: 25px;
	font-size: 0.75rem;
	border-radius: 50%;
	flex-shrink: 0;
}

body.menu-opened header .open-menu {
	transform: rotate(45deg);
}

header .open-menu:hover {
	cursor: pointer;
}

header :is(.main-menu, .right-menu) .dropdown-menu a.dropdown-item {
	--bs-dropdown-item-padding-y: 0.875rem;
	--bs-dropdown-item-padding-x: 1.66rem;
	color: var(--beige-background);
	font-family: "Albert Sans";
	font-size: 1.25rem;
	font-weight: 500;
	text-transform: none;
}

header :is(.main-menu, .right-menu) .dropdown-menu li a.dropdown-item:hover,
header :is(.main-menu, .right-menu) .dropdown-menu li a.dropdown-item:active,
header :is(.main-menu, .right-menu) .dropdown-menu li a.dropdown-item:focus {
	background-color: var(--black-title);
	text-decoration: none;
}

header nav .nav-item.dropdown:hover > .dropdown-menu {
	display: flex;
	flex-direction: column;
}

.main-container {
	max-width: var(--container-max-width);
	margin:auto;
	padding-inline: 20px;
	width: 100%;
}


.hamburger {
	display: block;
	width: 42px;
	overflow: hidden;
	float: right;
}

.hamburger span {
	background: #333;
	display: block;
	height: 2px;
	margin: 9px 0;
	position: relative;
	transform: rotate(0);
	top: 0;
	left: 0;
	opacity: 1;
	transition: none .5s ease;
	transition-property: transform, top, left, opacity;
}

body.mm-wrapper--opened .hamburger span.top-bar {
	transform: rotate(45deg);
	top: 12px;
}

body.mm-wrapper--opened .hamburger span.middle-bar {
	opacity: 0;
}

body.mm-wrapper--opened .hamburger span.bottom-bar {
	transform: rotate(-45deg);
	top: -10px;
}

body.mm-wrapper--opened .hamburger span.middle-bar {
	left: -40px;
}

.menu-full {
	position: absolute;
	top: var(--header-height);
	z-index: -1;
	opacity: 0;
	transform: translateY(-100%);
}

.wrapper-full-menu {
	height: 100vh;
	backdrop-filter: brightness(30%);
}

.wrapper-full-menu-inside {
	background-color: var(--beige-background);
	padding-top: 4rem;
	padding-bottom: 6rem;
	border-bottom-right-radius: var(--price-table-radius);
	border-bottom-left-radius: var(--price-table-radius);
}


.menu-full.show {
	opacity: 1;
	z-index: 2;
	transform: translateY(0);
	box-shadow: 0 5px 8px -4px rgb(0 0 0/49%);
}

.grid-menu-full {
	display: grid;
	grid-template-columns: 350px auto 200px;
	column-gap: 2px;
}

.wrapper-incontournables {
	background-color: var(--beige-background);
	padding-right: 2.5rem;
}


ul.full-menu {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	column-gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.full-menu > li {
	background-color: var(--beige-background);
}

ul.megamenu-col {
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

ul.full-menu .nav-link  {
	padding-left: 1rem;
	color: var(--menu-color);
	font-family: Chillon;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 0.5rem;
	text-decoration-color: rgba(var(--black-title-rgb), 0.3);
}

ul.full-menu .nav-link.active {
	font-weight: 700;
}

.grid-incontournables .nav-link {
	color: var(--menu-color);
	font-family: Chillon;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 0.5rem;
	text-decoration-color: rgba(var(--black-title-rgb), 0.3);
}

.grid-incontournables .item-img {
	aspect-ratio: 123 / 68;
	border-radius: 1.125rem;
	overflow: hidden;
	margin-top: 2rem;
}

.grid-close {
	background-color: var(--beige-background);
}

.wrapper-incontournables .menu-item.with-icon > a > span::before {
	width: 24px;
	height: 32px;
	margin-top: 2px;
	margin-right: 4px;
}


.megamenu-panel {
	margin-top: 2rem;
	padding-inline: 1rem;
}

.megamenu-panel .megamenu-col-item a {
	font-size: 1.25rem;
	color: var(--black-title);
}

.wrapper-full-menu-inside .main-container {
	opacity: 0;
	transition: opacity 0.2s ease-in;
}

body.menu-opened .wrapper-full-menu-inside .main-container {
	opacity: 1;
}

body.menu-opened header .open-menu {
	border: solid 2px var(--beige-background);
	color: var(--beige-background);
}

body.menu-opened header :is(.main-menu, .secondary-menu) li:not(.menu-billets) :is(a.nav-link:hover, a:hover), 
body.menu-opened header :is(.main-menu, .secondary-menu) li:not(.menu-billets) :is(a.nav-link.active, a.active) {
  text-decoration-color: var(--beige-background);
}

body.menu-opened .logo > svg path {
	fill: var(--beige-background);
}


/* -------------------------------- */ 
/* -------- STYLES MODULES -------- */
/* -------------------------------- */

/* -------- Table prix -------- */

.table-price-td {
	padding: 1.25rem 1.33rem;
	border: solid 2px var(--border-color);
	margin-right: -2px;
	margin-bottom: -2px;
	height: calc(100% + 2px);
}

.table-price.pair .col-table:first-child .table-price-td,
.table-price.impair .col-table:first-child .table-price-td {
	border-top-left-radius: var(--price-table-radius);
}

.table-price.pair .col-table:nth-child(2) .table-price-td,
.table-price.impair .col-table:nth-child(2) .table-price-td  {
	border-top-right-radius: var(--price-table-radius);
}

.table-price.pair .col-table:nth-last-child(2) .table-price-td {
	border-bottom-left-radius: var(--price-table-radius);
}

.table-price.pair .col-table:last-child .table-price-td {
	border-bottom-right-radius: var(--price-table-radius);
}

.table-price.impair .col-table:nth-last-child(2) .table-price-td {
	border-bottom-right-radius: var(--price-table-radius);
}

.table-price.impair .col-table:last-child .table-price-td {
	border-bottom-left-radius: var(--price-table-radius);
	border-bottom-right-radius: var(--price-table-radius);
}

.price-label {
	color: rgba(var(--black-title-rgb), 0.8);
	font-family: var(--font-chillon);
	font-size: 2rem;
	font-weight: 300;
	text-transform: uppercase;
}

.price-label.price {
	color: rgba(var(--black-title-rgb), 0.6);
}

.small-price {
	font-size: 1.25rem;
	font-weight: 400;
}

.price-description,
.price-description p {
	font-family: var(--font-albert);
	color: var(--gray-text);
	font-size: 1.25rem;
	font-weight: 400;
}

/* -------- Grille contenu -------- */

#section-principale .grid-item .item-content {
	align-items: center;
	text-align: center;
}

#section-principale .grid-item .item-list-btn {
  flex-grow: 1;
  align-items: end;
}

#section-principale .grid-2 .grid-item-title {
  font-size: 1.75rem;
}

.line-1-3,
.line-1-2 {
	display: flex;
	flex-direction: column;
	gap: calc(2.5rem + 2px);
}

.grid-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 1.5rem;
	row-gap: 1.5rem;
}

.grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1.5rem;
	row-gap: 1.5rem;
}

:is(.section-chateau, .section-actu) .grid-3 .grid-item,
:is(.section-chateau, .section-actu) .section-chateau .grid-2 .grid-item {
	border-radius: 15px;
	padding: 1.5rem;
	background-color: var(--background-page);
}

.grid-3 .grid-item,
.grid-2 .grid-item {
	border-radius: 15px;
	padding: 1.5rem;
	background-color: rgba(var(--beige-background-rgb), 0.4);
}


.line-1-3 .grid-item,
.line-1-2 .grid-item {
	position: relative;
}

.line-1-3 .grid-item .wrapper-grid-item {
	display: grid;
	grid-template-columns: 300px auto;
	column-gap: 1.5rem;

}

.line-1-2 .grid-item .wrapper-grid-item {
	display: grid;
	grid-template-columns: 50% auto;
	column-gap: 1.5rem
}

.grid-3 .grid-item .wrapper-grid-item,
.grid-2 .grid-item .wrapper-grid-item {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.line-1-3 .grid-item-title,
.line-1-2 .grid-item-title {
	font-size: 2rem;
}

.grid-3 .grid-item-title,
.grid-2 .grid-item-title {
	font-size: 1.5rem;
}

.line-1-3 .grid-item .item-img,
.line-1-3 .grid-item .item-picto-wrapper,
.line-1-2 .grid-item .item-img,
.line-1-2 .grid-item .item-picto-wrapper,
.grid-3 .grid-item .item-img,
.grid-3 .grid-item .item-picto-wrapper,
.grid-2 .grid-item .item-img,
.grid-2 .grid-item .item-picto-wrapper,
.gallery .item-img {
	aspect-ratio: 123 / 68;
	border-radius: 1.125rem;
	overflow: hidden;
}

.grid-3 .grid-item .item-img,
.grid-3 .grid-item .item-picto-wrapper,
.grid-2 .grid-item .item-img,
.grid-2 .grid-item .item-picto-wrapper {
	margin-bottom: 2rem;
}

.line-1-3 .grid-item .item-picto-wrapper,
.line-1-2 .grid-item .item-picto-wrapper,
.grid-3 .grid-item .item-picto-wrapper,
.grid-2 .grid-item .item-picto-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--beige-background);
}

.grid-item-date {
	color: var(--bs-primary);
	font-weight: 500;
}

.line-1-3 .grid-item .item-picto svg,
.grid-3 .grid-item .item-picto svg {
	height: 100px; 
}

.line-1-2 .grid-item .item-picto svg,
.grid-2 .grid-item .item-picto svg {
	height: 140px; 
}

.line-1-3 .grid-item .item-list-btn,
.line-1-2 .grid-item .item-list-btn,
.grid-3 .grid-item .item-list-btn,
.grid-2 .grid-item .item-list-btn  {
	display: flex;
	justify-content: end;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.line-1-3 .grid-item:not(:last-child)::after,
.line-1-2 .grid-item:not(:last-child)::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: var(--border-color);
	left:0;
	bottom: calc(-1.25rem - 2px);
}

.item-content {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.grid-3 .item-content,
.grid-2 .item-content  {
	height: auto;
	flex-grow: 1;
}

.resume {
	flex-grow: 1;
	font-size: 1.2rem;
	color: rgba(var(--black-title-rgb), 0.6);
	max-width: 600px;
}


.description-bottom {
	color: var(--black-title);
	text-align: center;
	font-family: "Albert Sans";
	font-size: 1.425rem;
	font-weight: 400;
	line-height: 1.2;
	max-width: 940px;
	madding-inline: 20px;
}

.grid-3 .resume,
.grid-2 .resume  {
	margin-bottom: 0.75rem;
}

.dates-expos {
	color: var(--bs-primary);
	font-family: "Albert Sans";
	font-size: 2rem;
	font-weight: 500;
	
}

.extra-content {
	margin-top: 2rem;
	display: flex;
	justify-content: center;
}


/* -------- Accordeon -------- */


.accordion:not(.main-accordion) .container-inside,
.faq .container-inside {
	padding-inline: 0;
	padding-top: 0;
}

.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
}

.faq .container-inside .wrapper-title {
	padding-inline: var(--padding-module);
}

.accordion-button:not(.collapsed) {
	background-color: var(--beige-background-var);
}

.accordion:not(.main-accordion) .accordion-item {
	--bs-accordion-border-radius: 15px;
	--bs-accordion-border-color: var(--border-color);
	--bs-accordion-border-width: 2px;
}

.accordion:not(.main-accordion, .home-accordion) .accordion-item:first-of-type,
.faq .accordion-item:first-of-type {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.accordion:not(.home-accordion) {
	--bs-accordion-border-radius: 15px;
}

.accordion.home-accordion {
	--bs-accordion-active-bg: transparent;
}

.accordion .img-header {
	aspect-ratio: 2.35;
}

.accordion-body {
	padding: 2rem 2rem;
	padding-bottom: 4rem;
}

.accordion-item {
	color: rgba(var(--black-title-rgb), 0.8);
	--bs-accordion-bg: var(--background-page);
	--bs-accordion-active-color: rgba(var(--black-title-rgb), 0.8);
}

.accordion-button {
	font-size: 1.5rem;
	font-weight: 500;
	--bs-accordion-btn-bg: transparent;
	--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

.accordion-button::after {
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23d19847' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	margin-left: auto;
	content: "";
	background-image: var(--bs-accordion-btn-icon);
	background-repeat: no-repeat;
	background-size: 1.5rem;
	color: #fff;
	transition: var(--bs-accordion-btn-icon-transition);
	width: 40px;
	height: 40px;
	background-position: center;
	border-radius: 50rem;
	border: solid 1px var(--bs-primary);
	background-color: var(--bs-primary);
}

.accordion-button:not(.collapsed)::after {
	background-image: var(--bs-accordion-btn-active-icon);
	background-color: transparent;
	transform: var(--bs-accordion-btn-icon-transform);
}


/* -------- Timeline -------- */

.wrapper-smallcontainer {
	max-width: 1380px;
	margin: auto;
	padding-inline: 20px;
}

.highlight-content {
	color: var(--black-title);
}

.spacer {
	flex-grow: 1;
	min-height: 1.75rem;
}

.highlight-content,
.spacer {
	padding-left: 52px;
	border-left: solid 2px var(--bs-primary);
}

.wrapper-smallcontainer .row:first-child .spacer-top,
.wrapper-smallcontainer .row:last-child .spacer-bottom ,
.wrapper-smallcontainer .row:last-child .highlight-content {
	border-left: 0px;
}

.number-highlight {
	position: absolute;
	left: -78px;
	width: 50px;
	height: 50px;
	background-color: var(--bs-primary);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--background-page);
	font-size: 2rem;
	transform: translateY(-5px);
}

.number-highlight,
.highlight-title {
	font-family: "Albert Sans";
	font-size: 2rem;
	font-weight: 500;
}

.highlight-title {
	color: var(--bs-primary);
}

.timeline .wrapper-image,
.section-highlight .wrapper-image {
	padding-block: 2rem;
}

/* -------- Galerie -------- */

.gallery img {
	border: 0;
	transition: transform 0.2s ease-in;
}

.gallery a:hover .item-img > img {
	transform: scale(1.1);
}

/* -------- Evénements -------- */


.facetwp-radio .facetwp-counter {
	display: none;
}
	
body .fdate-grid .today {
	background-color: var(--bs-primary);
}
	
body .facetwp-facet-thematiques .fs-wrap {
	width: 100%;
}

/*
.card-text {
	font-size: 0.875em;
}
*/

.col-facets .facetwp-facet {
	margin-bottom: 0;
}
	
body .fs-label-wrap .fs-label {
	padding: 8px 20px 8px 10px;
}
	
.facet-reset {
	font-size: 1.1rem;
	font-weight: 700;
}
	
.facetwp-facet-month_filter {
	margin-bottom: 30px!important;
}
	
body .fs-wrap.multiple .fs-option.selected .fs-checkbox i {
	background-color: var(--bs-primary);
}
	
body .facetwp-facet-calendar input.facetwp-date {
	padding: 5px 4px 6px 12px;
	border: 1px solid #ddd;
	width: 100%;
}
	
body .facetwp-facet-search_facet .facetwp-input-wrap {
	width: 100%;
}
	
body .fs-wrap.multiple .fs-options {
	padding-block: 5px;
}
	
.facetwp-facet input.facetwp-search {
	margin: 0;
	padding: 5px 30px 6px 12px;
	min-width: 240px;
	border: 1px solid #ddd;
	width: 100%;
}

body .gform_wrapper.gravity-theme .gfield_checkbox label, 
body .gform_wrapper.gravity-theme .gfield_radio label {
  display: inline-block;
  font-size: 18px;
}

body .gchoice {
	display: flex;
	gap: 8px;
	margin-bottom: 5px;
	align-items: start;
}

body .gform_wrapper.gravity-theme .gfield_label {
  font-size: 19px;
  font-weight: 700;
}

body .gform_wrapper.gravity-theme .gfield-choice-input {
  display: inline-block;
  margin-top: 4px;
  top: 0;
  vertical-align: middle;
}

/*

.next-date h4 {
	color: var(--bs-primary)
}
	
a .card {
	color: #847E7E;
}
	
.card-body h4 {
	color: var(--bs-primary)
}
	
.wrapper-img-card {
	padding: 1.5rem;
}

*/
		
.hero-evenement {
	margin-bottom: 3rem;
	aspect-ratio: 2.66;
}
	
.hero-even-pict {
	width: 100%;
	aspect-ratio: 2;
	object-fit: cover;
}

.event-card.card-large {
	aspect-ratio: 1.66;
}

/*
.row-new-events .card {
	--bs-border-radius: 1rem;
}

.row-new-events .card-body {
	padding: 1.5rem;
	padding-top: 0rem;
}

.row-new-events .card-footer {
	padding: .75rem 1.5rem 0.875rem 1.5rem;
}

*/
	
	
	/* .two-columns .right-column .date {
		display: flex;
		flex-wrap: wrap;
		column-gap: 1ch;
	} */
	
	
.even-label {
	font-size: 1.5rem;
	color: var(--bs-primary);
	font-weight: 700;
}
	
.facetwp-facet-month_filter {
	display: flex;
}

.event-content {
	font-size: 1.25rem;
}
	
/*
.card-img-new-top {
	aspect-ratio: 2;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
	
.row-new-events {
	row-gap: 30px;
}

*/
	
.facetwp-facet-month_filter .facetwp-radio {
	font-size: 0.8em;	
	text-transform: capitalize;
	background: none;
	display: inline-block;
	line-height: 1em;
	padding: 10px 12px; /* top/bottom right/left */
	margin: 0; /* top right bottom left */
	margin-right: 3px;
	border-bottom: 2px solid #847E7E;
	flex-basis: 0;
	flex-grow: 1;
	max-width: 100%;
	position: relative;
	width: 100%;
	text-align:center;
}
	
.facetwp-facet-month_filter .facetwp-radio.checked,
.facetwp-facet-month_filter .facetwp-radio:hover {
	border-bottom: 3px solid var(--bs-primary);
	color: var(--bs-primary);
	background: var(--background-page);
}
	
.facetwp-facet-month_filter .facetwp-radio:last-child {
		margin-right: 0;
}
	
.facetwp-facet {
	font-size: 1.1rem;
}
	
/* .title-card-event {
	font-weight: 700;
	color: var(--bs-primary);
	font-size: 1.33rem;
	line-height: 1.2;
} */
	
/* .card-footer-title {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--bs-primary);
} */
	
/* .footer-dates {
	font-size: 1rem;
}  */

.event-card {
	position: relative;
	overflow: hidden;

	width: 100%;
	aspect-ratio: 0.9;

	padding: 0;
	border: 0;
	border-radius: 1rem;
}

/* Image plein format */
.event-card .wrapper-img-card {
	position: absolute;
	inset: 0;
	padding: 0;
}

.event-card .card-img-new-top {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Dégradé */
.event-card::before {
	content: "";
	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			to top,
			rgba(0,0,0,0.85) 0%,
			rgba(0,0,0,0.60) 35%,
			rgba(0,0,0,0.15) 65%,
			rgba(0,0,0,0.05) 100%
		);

	z-index: 1;
}

/*
.event-card::before {
	content: "";
	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			to top,
			rgba(209,152,71,0.85) 0%,
			rgba(209,152,71,0.60) 35%,
			rgba(209,152,71,0.15) 65%,
			rgba(209,152,71,0.05) 100%
		);

	z-index: 1;
}
*/

/* Contenu overlay */
.event-card .card-body,
.event-card .card-footer {
	position: relative;
	z-index: 2;

	color: white;
	background: transparent;
}

.event-card .card-body {
	position: absolute;
	bottom: 4rem;
	left: 0;
	right: 0;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	top: 0;
}

.event-card .card-footer {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;

	padding: 1.5rem;
	border: 0;
	background: transparent;
}

/* Catégories */
.event-card .categories-event {
	display: inline-flex;
	gap: .5rem;

	border: 0;
	background: transparent;
	color: white;

	font-size: .85rem;
	margin-bottom: .75rem;
}

/* Titre */
.event-card .title-card-event,
.event-card .card-body h4 {
	color: white;
	font-size: 2rem;
	line-height: 1;
	margin-bottom: 0;
	text-wrap: balance;
	font-weight: 500;
}

/* Date */
.event-card .card-footer-title {
	color: rgba(255,255,255,.8);
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: .05em;
}


/* Effet hover */
.event-card .card-img-new-top {
	transition: transform .4s ease;
}

.event-card:hover .card-img-new-top {
	transform: scale(1.05);
}
	
/* Style the hover and 'checked' states */
	
	
.categories-event {
	font-size: 0.875rem;
	font-weight: 500;
	margin-bottom: 0.5rem;
	flex-wrap: wrap;
	row-gap: 0.5rem;
}

.categories-event span  {
		display: inline-block;
		line-height: 1;
		padding-inline: 10px;
		padding-block: 6px;
		background-color: var(--bs-primary);
		color: var(--background-page);
		border-radius: 50rem;
		border: solid 1px var(--bs-primary);
}
		
.categories-event span:not(:first-child) {
	background-color: var(--background-page);
	color: var(--bs-primary);
}
	
	@media ( max-width:1200px) {
	  .two-columns {
		grid-template-columns: 1fr 1fr;
		column-gap: 30px;
	  }
	}
	
	@media ( max-width:992px) {
	  .two-columns {
		grid-template-columns: 1fr;
		row-gap: 30px;
	  }
	}

/* ----------------- Mise en avant  --------------- */

.wrapper-inside-mise {
	padding: 2rem;
	border-radius: 16px;
}

/* -------------------------------------- */ 
/* ----------------- HOME --------------- */
/* ------------------------------------- */


/* ============================================================
   Hero - Standard
   ============================================================ */

body.home .title-page {
	font-family: var(--font-chillon);
	font-weight: 500;
	font-size: clamp(4rem, 8.6vw , 11rem);
	text-transform: uppercase;
	opacity: 0;
	animation: titleFadeIn 2s cubic-bezier(0.25, 0.1, 0.25, 1) 2.5s forwards;
}

.logo-hero-home {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: 2s cubic-bezier(0.25, 0.1, 0.25, 1) forwards logoFadeIn, 
			   3s cubic-bezier(0.25, 0.1, 0.25, 1) 2.5s both logoShrink, 
			   2s cubic-bezier(0.25, 0.1, 0.25, 1) 5.5s forwards logoFade;
}

@keyframes logoFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes logoShrink {
	from { transform: translate(-50%, -50%) scale(1); }
	to { transform: translate(-50%, -50%) scale(0.5); }
}

@keyframes logoFade {
	from { opacity: 1; }
	to { opacity: 0; }
}

@keyframes titleFadeIn {
  from {
	opacity: 0;
	transform: translateY(-20px);
  }
  to {
	opacity: 1;
	transform: translateY(0);
  }
}

.hero-home .image-center, 
.hero-home .image-left, 
.hero-home .image-right {
	position: relative;
	z-index: 1;
	animation: 1.5s ease-in-out both apparition-scale, 1.6s ease-in-out both apparition-opacity;
	animation-direction: normal, normal;
	animation-fill-mode: both, both;
	animation-play-state: running, running;
}

.hero-home .image-center {
	animation-delay: 2.5s;
}

.hero-home .image-left {
	animation-delay: 2.8s;
}

.hero-home .image-right {
	animation-delay: 3s;
}

.hero-home .masked-image.big {
	width: clamp(152px, 28vw, 600px);
	height: clamp(152px, 28vw, 600px);
}

.hero-home .masked-image.small {
	width: clamp(90px, 17vw, 350px);
	height: clamp(90px, 17vw, 350px);
}

.hero-home .hero-subtitle {
	font-family: "Albert Sans";
	font-size: clamp(1.25rem, 1.8vw , 2rem);
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	max-width: 1200px;
	text-wrap: balance;
}

.hero-home .hero-bottom {
	opacity:0;
	animation: subtitleFadeIn 2s cubic-bezier(0.25, 0.1, 0.25, 1) 2.8s forwards;
}


@keyframes subtitleFadeIn {
  from {
	opacity: 0;
	transform: translateY(40px);
  }
  to {
	opacity: 1;
	transform: translateY(0);
  }
}

html.no-hero-anim .logo-hero-home {
	display: none;
}

html.no-hero-anim body.home .title-page,
html.no-hero-anim .hero-home .image-left,
html.no-hero-anim .hero-home .image-center,
html.no-hero-anim .hero-home .image-right,
html.no-hero-anim .hero-home .hero-bottom {
	transform: none;
	opacity: 0;
	animation: heroQuickFadeIn 0.4s ease forwards;
}

@keyframes heroQuickFadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* ============================================================
   Hero — Slider image / textes
   ============================================================ */
   
   section.hero-home-slider {
	 padding-top: var(--header-height);
   }

.layout-slider {
	position: relative;
	overflow: hidden;
}

/* Evite le flash avant que slick soit prêt */
.layout-slider .global-carousel:not(.slick-initialized) .slide-item + .slide-item {
	display: none;
}

.layout-slider .slide-item {
	position: relative;
}

/* Image de fond */
.layout-slider .slide-bg {
	width: 100%;
	min-height: 80vh;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	display: flex;
	align-items: end;
	justify-content: center;
}

/* Voile sombre léger pour lisibilité du texte */
.layout-slider .slide-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.15);
	z-index: 0;
}

/* Cartouche contenu (titre + texte + CTA) */
.layout-slider .slide-cartridge {
	position: relative;
	z-index: 1;
	max-width: 620px;
	margin-bottom: 5rem;
	padding: 2rem 2.5rem;
	background: rgba(var(--beige-background-rgb), 0.9);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(var(--beige-background-rgb), 0.9);
	border-radius: 0.5rem;
	color: #fff;
	text-align: center;
}

.layout-slider .slide-title {
	font-size: clamp(1.4rem, 3vw, 2.25rem);
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 0.75rem;
	font-family: var(--font-chillon);
	color: var(--black-title-var);
}

.layout-slider .slide-text {
	font-size: clamp(0.9rem, 1.7vw, 1.25rem);
	line-height: 1.65;
	color: var(--black-title);
}

.layout-slider .slide-text p:last-child {
	margin-bottom: 0;
}

.layout-slider .slide-text a {
	color: #fff;
	text-decoration: underline;
}

.layout-slider .slide-cta {
	display: inline-block;
}

/* Flèches slick */
.layout-slider .slick-prev,
.layout-slider .slick-next {
	z-index: 10;
	width: 2.75rem;
	height: 2.75rem;
	background: rgba(0, 0, 0, 0.45);
	border: none;
	border-radius: 50%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
}

.layout-slider .slick-prev:hover,
.layout-slider .slick-next:hover {
	background: rgba(0, 0, 0, 0.7);
}

/* Masque le pseudo-élément slick par défaut */
.layout-slider .slick-prev::before,
.layout-slider .slick-next::before {
	display: none;
}

.layout-slider .slick-prev i,
.layout-slider .slick-next i {
	color: #fff;
	font-size: 0.9rem;
}

.layout-slider .slick-prev {
	left: 1rem;
}

.layout-slider .slick-next {
	right: 1rem;
}

/* Points slick */
.layout-slider .slick-dots {
	bottom: 1rem;
}

.layout-slider .slick-dots li button::before {
	color: #fff;
	opacity: 0.6;
	font-size: 0.6rem;
}

.layout-slider .slick-dots li.slick-active button::before {
	color: #fff;
	opacity: 1;
}

/* Hauteurs responsives */
@media (max-width: 991.98px) {
	
	
	.layout-slider .slide-bg {
		min-height: 520px;
	}
}

@media (max-width: 767.98px) {

	.layout-slider .slide-cartridge {
		padding: 1.25rem;
		margin-bottom: 1rem;
	}
	
	.layout-slider .slide-cartridge {
		max-width: 95%;
	}
}

.section-visite {
	position: relative;
	margin-bottom: 25vh;
}

.home-intro {
	margin-bottom: 10rem;
	background-color: var(--beige-background);
	padding-block: 2rem;
	padding-inline: 2rem;
	border-radius: 1.55rem;
}

.section-visite .img-background-top {
	will-change: filter;         /* indique au GPU de préparer la couche */
	transform: translateZ(0); 
	position: sticky;
	z-index: -1;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	object-position: center top;
	margin-bottom: -95vh;
}

.container-guestsuite {
	padding-top: 25vh;
	padding-bottom: 25vh;
}

.section-visite .main-container,
.section-actu .main-container {
	background-color: var(--beige-background);
	border-radius: 1.55rem;
}

 .wrapper-medium {
	margin-inline: auto;
	max-width: 1600px;
	padding-inline: 50px;
}

.card-visite {
	border-radius: 1.55rem;
	  background-color: var(--background-page);
	  padding: 1.55rem;
}

.wrapper-cards {
	border-radius: 1.55rem;
	background-color: var(--background-page);
	padding: 1.55rem;
}

.section-evenements,
.section-chateau {
	background-color: var(--beige-background);
}

.section-service,
.section-faq {
	background-color: var(--black-title-var);
}

.section-actu {
	position: relative;
}

.section-actu .wrapper-medium {
	padding-top: 30vh;
	padding-bottom: 20vh;
}

.img-background-bottom,
.img-background-top {
	scale: 1.05;
}

.section-actu .img-background-bottom {
	will-change: filter;         /* indique au GPU de préparer la couche */
	transform: translateZ(0); 
	position: sticky;
	z-index: -1;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	object-position: center center;
	margin-bottom: -85vh;
}

.cta-bottom-home {
	color: var(--beige-background);
	text-align: center;
	font-family: "Albert Sans";
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 1.2
}

	
/* -------------------------------------- */ 
/* -------- PAGE INCONTOURNABLE -------- */
/* ------------------------------------ */

body.page-template-page-incontournables {
	background: var(--black-title-var);
}

.hero.incontournables {
	background: var(--black-title-var);
	color: var(--beige-background);
}

.hero.incontournables .title-page {
	color: var(--beige-background);
}


.section-introduction h3 {
	text-wrap: balance;
}

.hero .picto-incontounables {
	margin-top: 4.5rem;
}

.image-center, 
.image-left, 
.image-right {
	animation: 0.75s ease-in-out forwards apparition-scale, .8s ease-in-out apparition-opacity;
	animation-direction: normal, normal;
	animation-fill-mode: forwards, forwards;
	animation-play-state: running, running;
	animation-timeline: ;
}

.image-left {
	animation-delay: .3s;
}

.image-right {
	animation-delay: .5s;
}

@keyframes apparition-scale {
  0% {
	transform: scale(0.5) translateY(-100px);
  }
  100% {
	transform: scale(1) translateY(0);
  }
}
@keyframes apparition-opacity {
  from {
	opacity:0
  }
  to {
	opacity:1
  }
}

.tag-line {
	color: var(--beige-background);
	font-family: Chillon;
	font-size: 4rem;
	font-weight: 500;
	text-transform: uppercase;
	display:block;
	margin:auto;
	max-width: 1000px;
	text-align: center;
	text-wrap: balance;
	margin-bottom: 2.5rem;
}

.small-tag-line {
	font-family: var(--font-chillon);
	font-weight: 400;
	font-size: 2.75rem;
	text-transform: uppercase;
	color: var(--beige-background);
}

.subtitle {
	color: var(--beige-background);
	font-family: "Albert Sans";
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 0.5rem;
}

.wrapper-guest-suite {
	background-color: var(--beige-background);
	border-radius: 25px;
	padding: 1.5rem;
	max-width: 550px;
	gap: 2rem;
}

.wrapper-guest-suite .score {
	display: flex;
	border-radius: 15px;
	padding: 0.75rem;
	font-size: 2.33rem;
	font-family : "Albert Sans";
	font-weight: 500;
	color: var(--beige-background);
	background-color: var(--bs-primary);
	
}
.wrapper-guest-suite .score .score-number {
	border-bottom: solid 1px var(--beige-background);
}

.wrapper-guest-suite .title-establ {
	color: var(--black-title);
	font-family: Chillon;
	font-size: 1.4rem;
	font-weight: 500;
	text-transform: uppercase;	
}

.wrapper-guest-suite .desc {
	color: var(--black-title);
	font-family: "Albert Sans";
	font-size: 0.875rem;
	font-weight: 400;
}

.page-template-page-incontournables .highlight-content {
	color: var(--beige-background);	
}

.page-template-page-incontournables .highlight-content,
.page-template-page-incontournables .spacer {
	border-left: solid 1px var(--beige-background);
}

.page-template-page-incontournables .number-highlight {
	background-color: var(--beige-background);
	color: var(--black-title);
}

.page-template-page-incontournables .highlight-title {
	color: var(--beige-background);
}

.cta-incontournables {
	color: var(--beige-background);
	text-align: center;
	font-family: "Albert Sans";
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 162.576%;
}

body.page-template-page-incontournables .section-picture {
	height: 220vh;
}

body.page-template-page-incontournables .section-picture .main-container {
	position: sticky;
	top: 0px;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* --------------------------------------- */ 
/* ------------- Exposition -------------- */
/* --------------------------------------- */

.grid-expo .resume {
	flex-grow: 0;
	margin-bottom: 1rem;
}

.grid-expo .dates-expos {
	flex-grow: 1;
}

/* ----------------------------------- */ 
/* ------------- FOOTER -------------- */
/* ----------------------------------- */


footer {
	border-top: solid 1px var(--beige-background);
	background: var(--black-title);
	padding-top: 3.375rem;
	position: relative;
	z-index: 1;
}

ul.social-medias {
	margin-top: 2.75rem;
	list-style: none;
}


.social-media a {
	color: var(--beige-background);
	font-size: 1.75rem;
}

ul.social-medias i.fa-facebook {
	font-size: 1.66rem;
}

.adresse {
	color: var(--bs-primary);
	font-family: "Albert Sans";
	font-size: 1.4375rem;
	font-weight: 600;
}

.footer-title {
	color: var(--beige-background);
	font-family: "Albert Sans";
	font-size: 1.9375rem;
	font-weight: 500;
	margin-bottom: 1.375rem;
	margin-top: 0.75rem;
}

.telephone {
	margin-top: 1rem;
	color: var(--bs-primary);
	font-family: "Albert Sans";
	font-size: 1.4375rem;
	font-weight: 600;
}

ul.footer-menu {
	list-style: none;
}

.footer-menu a {
	color: var(--beige-background);
	font-family: "Albert Sans";
	font-size: 1.4375rem;
	font-weight: 600;
}

footer .impressum {
	padding-top: 1.15rem;
	padding-bottom: 0.25rem;
	margin-top: 130px;
	border-top: solid 1px var(--beige-background);
	color: var(--beige-background);
	font-family: "Albert Sans";
	font-size: 1.25rem;
	font-weight: 500;
}



.mm-listview {
	margin-top: calc((var(--mm-listitem-size) - var(--mm-lineheight))/ 2);
}

.mm-listitem::after {
	display: none;
}

.mm-navbar__title img {
	padding: 15px 0;
}

.btn-search {
	font-size: 1.500rem;
	cursor: pointer;
}

.the-content ul {}

.the-content ol {}

.the-content ul li, .the-content ol li {}

.the-content *:last-child {
	margin-bottom: 0;
}



.accordion-body .the-content p:last-child, .content-with-bg p:last-child {
	margin-bottom: 0;
}

body .gform_confirmation_wrapper {
	border-radius: 0;
	border: 1px solid var(--bs-success-border-subtle);
	box-shadow: none;
	padding: 16px;
	position: relative;
	background-color: var(--bs-success-bg-subtle);
	width: 100%;
	color: var(--bs-success-text-emphasis);
	text-align: center;
}



.global-carousel .slick-track {
	display: flex !important;
}


.slick-dots {
	list-style-type: none;
	padding: 0;
	margin: 54px 0 0px 0;
	line-height: 0;
	text-align: center;
	height: max-content;
}

.slick-dots li {
	display: inline-block;
	margin-right: 12px;
}

.slick-dots li:last-child {
	margin-right: 0;
}

.slick-dots button {
	font-size: 0;
	padding: 0;
	width: 10px;
	height: 10px;
	line-height: 0;
	border-radius: 9999px;
	border: 1px solid var(--bs-primary);
	background-color: transparent;
	transition: all ease 0.4s;
	position: relative;
}

.slick-dots .slick-active button {
	background-color: var(--bs-primary);
}

.slick-arrow {
	--pos-x: -30px;
	display: inline-block;
	padding: 0;
	background-color: var(--bs-primary);
	color: var(--bs-white);
	position: absolute;
	top: 247px;
	border: none;
	border-radius: 50%;
	right: var(--pos-x, 58px);
	width: var(--icon-size, 80px);
	height: var(--icon-size, 80px);
	line-height: var(--icon-size, 80px);
	font-size: var(--icon-font-size, 18px);
	margin-top: calc(var(--icon-size, 80px) / -1);
	z-index: 2;
	opacity: 1;
	transition: .5s;
}

.slick-arrow.default {
	position: relative;
	--pos-x: 0;
	margin-top: 0;
}

.slick-arrow.slick-prev {
	right: auto;
	left: var(--pos-x, 58px);
}

.slick-arrow:hover {
	opacity: 1;
	background-color: var(--bs-btn-hover-border-color);
	color: var(--bs-btn-hover-color);
}

.arrow-margin .slick-arrow {
	top: calc(50% - 30px);
}

.logo-grid .logo-item {
	aspect-ratio: 2/1;
	background: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	border: 1px solid #e9ecef;
	position: relative;
	top: 0;
}

.logo-grid img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}


/* ------------------------------- */ 
/* -------- MEDIA QUERIES -------- */
/* ------------------------------- */ 


@media (max-width: 1920px) {
	.section-visite .main-container, .section-actu .main-container {
		margin-inline: 2rem;
		width: auto;
	}
}



@media (max-width: 1800px) {
	.main-section {
		grid-template-columns: 250px auto 250px;
		max-width: 1740px;
	}
	
}

@media (max-width: 1600px) {
	.main-section {
		grid-template-columns: 200px auto 200px;
		max-width: 1740px;
	}
	
	.grid-menu-full {
	  grid-template-columns: 250px auto 150px;
	}
	
	.grid-incontournables .nav-link,
	ul.full-menu .nav-link {
	  font-size: 1.25rem;
	}
	
	.wrapper-incontournables .menu-item.with-icon > a > span::before {
	  display: none;
	}
	
	.wrapper-incontournables {
		padding-top: .25rem;
	}
	
}

@media (max-width: 1440px) {
	
	.wrapper-smallcontainer {
	  margin-inline: 2rem;
	}
	
}

@media (max-width: 1400px) {
	.main-section {
		grid-template-columns: 200px auto;
	}
	
	.footer-title {
	  font-size: 1.75rem;
	}
	
	.adresse,
	.telephone,
	.footer-menu a {
	  font-size: 1.33rem;
	}
	
	header :is(.main-menu, .secondary-menu) :is(a.nav-link, a) {
	  font-size: 1.1rem;
	}
	
	header .main-menu {
	  gap: 1.75rem;
	}
	
	.menu-item.type-icon > a > span::before, .menu-item.with-icon > a > span::before {
	  width: 18px;
	  height: 24px;
	}
	
	header .open-menu {
	  width: 21px;
	  height: 21px;
	  font-size: 0.66rem;
	}
}

@media (max-width: 1199.98px) {
	
	:root {
		--padding-bottom-section: 0;
	}
	
	.menu-full {
		display:none;
	}
	
	.main-section {
		grid-template-columns: auto;
		padding-inline: 0;
		padding-bottom: 1rem;
	}
	
	section.section {
		border-bottom: solid 2px var(--border-color);
	}
	
	.content-wrapper.collapse:not(.show) {
		display: none!important;
	}
	
	.slick-arrow {
		--pos-x: 42px;
	}
	.slick-arrow {
		--icon-size: 60px;
		--pos-x: -20px;
		top: 176px;
	}
	
	.tag-line {
	  font-size: 2.75rem;
	}
	
	ul.footer-menu {
	  padding: 0;
	}
	
	.logo-footer > img {
		width: 233px;
	}
	
	footer .impressum {
	  margin-top: 80px;
	  font-size: 1rem;
	}
	
	.wrapper-visite {
		margin-inline: 2rem;
	}

}

@media (max-width: 992px) {
	
	:root {
		--font-size-section-title: 2.33rem;
	}
	
	.tag-line {
	  font-size: 2.33rem;
	}
	
	.section-header {
		padding-top: 1.75rem;
		padding-bottom: 1.5rem;
	}
	
	.chevron-responsive {
		width: 50px;
		height: 50px;
		font-size: 1.75rem;
	}
	
	.space {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	
	.line-1-3 .grid-item .wrapper-grid-item {
		display: grid;
		grid-template-columns: 250px auto;
		column-gap: 1.5rem;
	}

	.table-price.pair .col-table:first-child .table-price-td,
	.table-price.impair .col-table:first-child .table-price-td {
		border-top-left-radius: var(--price-table-radius);
		border-top-right-radius: var(--price-table-radius);
	}
	
	.table-price.pair .col-table:nth-child(2) .table-price-td,
	.table-price.impair .col-table:nth-child(2) .table-price-td  {
		border-top-right-radius: 0;
		border-top-left-radius: 0;
	}
	
	.table-price.pair .col-table:nth-last-child(2) .table-price-td,
	.table-price.impair .col-table:nth-last-child(2) .table-price-td {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	
	.table-price.impair .col-table:last-child .table-price-td,
	.table-price.pair .col-table:last-child .table-price-td {
		border-bottom-left-radius: var(--price-table-radius);
		border-bottom-right-radius: var(--price-table-radius);
	}
	
	.slick-dots {
		margin: 1.5rem 0 0 0;
	}
	
	.icon-box .slick-arrow {
		margin-right: 0;
	}
	
	 .timeline .wrapper-image,
	 .section-highlight .wrapper-image {
		padding-top: 2rem;
		padding-bottom: 3rem;
		padding-left:52px;
	 }
	 
	 .section-highlight .wrapper-image {
		 border-left: solid 1px var(--beige-background);
	 }
	 
	 .timeline .wrapper-image {
		 border-left: solid 2px var(--bs-primary);
	 }
	 
	.section-highlight .row:last-child .wrapper-image,
	.timeline .row:last-child .wrapper-image {
		border-left: 0;
		padding-bottom: 0rem;
	}
	
	.spacer {
		min-height: 0;
	}
	
	section.hero {
	  padding-bottom: 3.5rem;
	  height: 90vh;
	  min-height: 950px;
	}
	
	section.hero.no-hero {
	   height: 0px;
	   min-height: 0px;
	}
	
	.hero-home .masked-image.big {
	  width: clamp(300px, 80vw, 500px);
	  height: clamp(300px, 80vw, 500px);
	}
	
	.masked-image.big {
	  width: clamp(300px, 80vw, 526px);
	  height: clamp(300px, 80vw, 536px);
	}
	
	body.page-template-page-incontournables .section-picture {
	  height: 0;
	  display: none;
	}
	
	body.page-template-page-incontournables #section-5 {
		padding-top: var(--padding-big);
	}
	
	.image-left .masked-photo,
	.image-right .masked-photo {
		display: none;
	}
	
	.masked-image-wrapper {
		padding-top: 1.65rem;
	}
	
	.hero .picto-incontounables {
	  margin-top: 3.5rem;
	}
	
	.grid-3 {
		grid-template-columns: 1fr 1fr;
	}
	
	.container-guestsuite {
	  padding-top: 10vh;
	  padding-bottom: 15vh;
	}
	
	.wrapper-medium {
	  padding-inline: 30px;
	}
	
	
}

@media (max-width: 768px) {
	:root {
		--font-size-section-title: 2rem;
	}
	.grid-3,
	.grid-2 {
		grid-template-columns: 1fr;
	}
	
	.tag-line {
	  font-size: 2rem;
	}
	
	.section-introduction h3 {
		font-size: 1.66rem;
	}
	
	.hero.incontournables .title-page {
		font-size: 2.66rem;
	}

	.masked-photo {
	  animation: none;
	}
	
	.masked-image-wrapper {
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  padding: 0.5rem;
	}
	
	.section-header {
		padding-top: 1rem;
		padding-bottom: 0.75rem;
	}
	
	.chevron-responsive {
		width: 40px;
		height: 40px;
		font-size: 1.5rem;
	}
	
	.line-1-3,
	.line-1-2 {
		display: flex;
		flex-direction: row;
		gap: calc(2.5rem + 2px);
		flex-wrap: wrap;
	}
	
	.line-1-3 .grid-item,
	.line-1-2 .grid-item {
		flex: 0 0 auto;
		width: 100%;
	}
	
	.line-1-3 .grid-item .wrapper-grid-item,
	.line-1-2 .grid-item .wrapper-grid-item {
		display: grid;
		grid-template-columns: auto;
		row-gap: 1rem;
		height: 100%;
	}
	
	.hero-subtitle {
	  max-width: 750px;
	  font-size: 1.2rem;
	}
	
	.picto-incontounables > svg {
	  width: 32px;
	  height: 41px;
	}
	
	.cta-incontournables {
	  font-size: 1.4rem;
	}
	
	.footer-menu a,
	.telephone,
	.adresse {
	  font-size: 1.25rem;
	}
	
	.footer-title {
	  font-size: 1.66rem;
	  margin-bottom: 1rem;
	}
	
	.section-evenements .wrapper-smallcontainer {
		margin-inline: 0rem;
	  }

	
}

@media (max-width: 576px) {
	:root {
		--font-size-section-title: 1.25rem;
		--font-size-module-title: 1.375rem;
		--padding-small: 0.75rem;
		--padding-normal: 0.75rem;
		--padding-big: 2rem;
		--padding-module: 0.5rem;
	}
	
	section.hero.hero-short {
	  padding-top: 6rem;
	  padding-bottom: calc(6rem - var(--header-height));
	  height: auto;
	  min-height: initial;
	}
	
	.home-intro {
	  margin-bottom: 3rem;
	}
	
	.wpml-ls-statics-shortcode_actions {
		display: none;
	}
	
	.menu-billets span {
		display: none;
	}
	
	header .main-container > div,
	header .main-container .right-menu,
	header .secondary-menu {
		gap: 1rem;
	}
	
	header .hamburger {
	  width: 36px;
	}
	
	.logo > svg {
	  width: 140px;
	}
	
	.accordion-button {
	  font-size: 1.33rem;
	}
	
	.accordion-button::after {
	  background-size: 1.33rem;
	  width: 30px;
	  height: 30px;
	}
	
	.section-visite {
	  margin-bottom: 3rem;
	}
	
	p {
	  font-size: 1.25rem;
	}
	
	body.home .title-page {
	  font-size: clamp(2.66rem, 8.6vw , 11rem);
	}
	
	.wrapper-guest-suite {
	  padding: 1rem;
	  gap: 1.5rem;
	}
	
	.section-introduction h3 {
		font-size: 1.5rem;
	}
	
	.tag-line {
	  font-size: 1.66rem;
	}
	
	.hero.incontournables .title-page {
		font-size: 1.66rem;
	}
	
	.main-container {
	  padding-inline: 0.5rem;
	}
	
	section.hero {
	  padding-bottom: 1.5rem;
	  height: auto;
	  min-height:initial;
	}
	
	.title-module {
		padding-bottom: 0.5rem;
		margin-bottom: 0.75rem;
		margin-top: 0.75rem;
	}
	
	.small-size {
		font-size: 1.15rem;
	}
	
	h4 {
		font-size: 1.25rem;
	}
	
	hr {
		margin: 0.75rem 0;
	}
	
	.btn {
		--bs-btn-padding-x: 1.25rem;
		--bs-btn-padding-y: 0.66rem;
		--bs-btn-font-size: 1.15rem;
	}
	
	.table-price-td {
		padding: 1.1rem 1.25rem;
	}
	
	.chevron-responsive {
		width: 36px;
		height: 36px;
		font-size: 1.33rem;
	  }
	
	.price-label {
		font-size: 1.33rem;
	}
	
	.line-1-3 .grid-item-title {
		font-size: 1.5rem;
	}
	
	.price-description, .price-description p {
		font-size: 1.15rem;
	}
	
	.encadre {
		font-size: 1.15rem;
		padding: .75rem 1rem .75rem 1rem;
	}
	
	.decal {
		padding-left: 1rem;
	}
	
	.line-1-3 .grid-item .item-list-btn {
		flex-direction: column;
		align-items: end;
		gap: 0.75rem;
	}
	
	.accordion .img-header {
		aspect-ratio: 1.75;
	}
	
	.accordion-body {
	  padding: 1rem 1rem;
	}
	
	.number-highlight {
	  left: -56px;
	  width: 40px;
	  height: 40px;
	  font-size: 1.6rem;
	}
	
	.highlight-content, .spacer {
	  padding-left: 36px;
	}
	.timeline .wrapper-image, .section-highlight .wrapper-image {
		padding-left: 36px;
	}
	
	.highlight-title {
	  font-size: 1.66rem;
	  padding-inline: 16px;
	}
	
	.section-visite .main-container, .section-actu .main-container {
		margin-inline: 0.5rem;
	}
	
	.wrapper-medium {
		padding-inline: 16px;
	}
	
	.container-guestsuite {
		padding-top: 2rem;
		padding-bottom: 3rem;
	}
	
	.home-intro h3 {
		font-size: 1.66rem;
	}
	
	.wrapper-smallcontainer {
		margin-inline: 16px;
	  }
	
}