/*GENERAL*/
body {
	color: var(--base-color--black--900);
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}
/* Corrige tous les conteneurs Bootstrap pour du vrai full width */
.container-fluid,
.row,
.col,
section,
header,
footer {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
html,
body {
	margin: 0;
	padding: 0;
	width: 100%;
	overflow-x: hidden;
}
.carousel-item {
	transition: transform 2s cubic-bezier(0.25, 1, 0.5, 1),
		opacity 2s cubic-bezier(0.25, 1, 0.5, 1);
}
.wrapper-fullscreen {
	/*width: 100vw;*/
	overflow-x: hidden;
}

.z-1000 {
	z-index: 1000;
}
/*ROMM SUITE*/
.breadcrumb {
	background: none;
	padding: 0;
	margin-bottom: 1rem;
}
.breadcrumb-item + .breadcrumb-item::before {
	content: "|";
	color: var(--base-color--black--500);
	padding: 0 0.5rem;
}
.equipements-list {
	display: flex;
	flex-direction: column;
}
.text-size-large2 {
	margin-bottom: 0;
	font-size: 1.25rem;
	line-height: 1.75rem;
}
.breadcrumb_link {
	color: var(--base-color--black--500);
	font-size: 0.875rem;
	line-height: 1.25rem;
}
.breadcrumb_link:hover {
	color: var(--base-color--primary--500);
	text-decoration: none;
}
/*CHAMBRES*/
.slider_fullscreen-img {
	object-fit: cover;
	height: 100%;
}
.no-filter {
	filter: none !important;
}
.pastille {
	border: 1px solid var(--base-color--primary--500);
	background-color: var(--base-color--black--white);
	width: 140px;
	height: 140px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	z-index: 5;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.w-slider-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.25);
	border: 0;
}

.w-slider-dot.active {
	background-color: rgba(0, 0, 0, 0.6);
}
.color-gray {
	color: var(--base-color--black--500);
}
.text-weight-semibold.text-color-secondary {
	color: var(--base-color--secondary--500);
}
.text-weight-semibold {
	font-weight: 600;
}

/*ACCUEIL*/
.headline-1 {
	font-family: "Poppins,sans-serif", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: 2px;
	text-align: center;
	text-transform: uppercase;
	color: #858585;
}
.headline-h2 {
	font-family: Cocomat Pro;
	font-weight: 300;
	font-style: Light;
	font-size: 40px;
	leading-trim: NONE;
	line-height: 48px;
	letter-spacing: 0%;
	text-align: center;
	color: var(--primary-500, #dd6565);
}
.headline-h3 {
	font-family: Poppins;
	font-weight: 300;
	font-style: Light;
	font-size: 20px;
	leading-trim: NONE;
	line-height: 28px;
	letter-spacing: 0%;
	text-align: center;
	color: var(--black-900, #1f1f1f);
}

.headline-room-1 {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 0.875rem;
	line-height: 16px;
	letter-spacing: 2px;
	text-align: center;
	text-transform: uppercase;
	color: #858585;
}
.headline-room-h2 {
	font-family: Cocomat Pro;
	font-weight: 300;
	font-style: Light;
	font-size: 3.5rem;
	leading-trim: NONE;
	line-height: 48px;
	letter-spacing: 0%;
	text-align: center;
	color: var(--primary-500, #dd6565);
}
.headline-room-h3 {
	font-family: Poppins;
	font-weight: 300;
	font-style: Light;
	font-size: 1.5rem;
	leading-trim: NONE;
	line-height: 28px;
	letter-spacing: 0%;
	text-align: center;
	color: var(--black-900, #1f1f1f);
}
.headline-h4 {
	font-family: Poppins;
	font-weight: 300;
	font-style: Light;
	font-size: 20px;
	leading-trim: NONE;
	line-height: 28px;
	letter-spacing: 0%;
	text-align: center;
}

.ff-coco {
	font-family: Cocomat Pro, Arial, sans-serif;
}

/* === PRIMARY BUTTON === */
.btn-primary {
	background-color: var(--base-color--primary--500);
	color: var(--base-color--black--white);
	font-weight: 500;
	min-height: 3.5rem;
	padding: 0.5rem 2rem;
	transition: background-color 0.3s ease;
	text-transform: uppercase;
	white-space: nowrap;
}

.btn-primary:hover {
	background-color: var(--base-color--secondary--500);
}

/* === OUTLINE BUTTON === */
.btn-outline-primary {
	background-color: var(--base-color--black--100);
	color: var(--base-color--primary--500);
	font-weight: 500;
	min-height: 3.5rem;
	padding: 0.5rem 2rem;
	transition: background-color 0.3s ease, color 0.3s ease;
	text-transform: uppercase;
	white-space: nowrap;
}

.btn-outline-primary:hover {
	background-color: var(--base-color--black--50);
	color: var(--base-color--secondary--500);
}

/* === ICON STYLE === */
.icon_24x24 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.5rem;
	height: 1.5rem;
	font-family: "Fa 400", Arial, sans-serif;
	font-size: 1.25rem;
	line-height: 1.25rem;
}

.icon_24x24.light {
	color: var(--base-color--black--white);
}

.grid_action {
	display: flex;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

/* Boutons */
.grid_action a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 2rem;
	min-height: 3.5rem;
	font-weight: 500;
	font-size: 1rem;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	border: none;
	background-color: #f2f2f2;
	color: #dd6565;
	transition: background-color 0.3s ease, color 0.3s ease;
}

/* Pas de changement de graisse */
.grid_action a span {
	font-weight: 500;
	transition: color 0.3s ease;
}

/* Réserver (fond rouge) */
.grid_action a:first-child {
	background-color: #dd6565;
	color: #ffffff;
}

.grid_action a:first-child:hover {
	background-color: var(--base-color--secondary--500);
	color: #ffffff;
}
body,
p,
span,
h1,
h2,
h3,
h4,
h5,
h6 {
	user-select: text !important;
}
.link-nav:hover div,
.link-nav:hover span {
	color: var(--base-color--secondary--500) !important;
}

.link-nav:hover div.no-hover,
.link-nav:hover .no-hover * {
	color: var(--base-color--primary--500) !important;
}

/* Découvrir (fond clair) */
.grid_action a:last-child:not(:only-child):hover {
	background-color: var(--base-color--black--50);
	color: #b84545;
}

.news_social-link .icon_20x20 .icon:hover {
	color: #b84545;
}

/* Icône */
.icon_24x24 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.5rem;
	height: 1.5rem;
	font-family: "Fa 400", Arial, sans-serif;
	font-size: 1.25rem;
	line-height: 1.25rem;
	color: inherit;
	transition: color 0.3s ease;
}

/*SECTION BISTROT*/

.section_bistro {
	background-color: #ffffff;
	position: relative;
	height: 100svh;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	overflow: hidden;
}

.slider_full {
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 0;
}

.slider_fullscreen-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.6);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
	filter: invert(1);
}

.slider_fullscreen-nav {
	position: absolute;
	bottom: 1rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	display: flex;
	gap: 0.5rem;
}

.slider_fullscreen-nav .w-slider-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ffffff;
	opacity: 0.4;
	border: none;
	transition: opacity 0.3s ease;
	position: relative;
	display: inline-block;
}

.slider_fullscreen-nav .w-slider-dot.active {
	opacity: 1;
	background-color: var(--base-color--primary--500);
}

.slider_fullscreen-nav-o {
	position: absolute;
	bottom: 1rem;

	z-index: 2;
	display: flex;
	gap: 0.5rem;
}

.slider_fullscreen-nav-o .w-slider-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ffffff;
	opacity: 0.4;
	border: none;
	transition: opacity 0.3s ease;
	position: relative;
	display: inline-block;
}

.slider_fullscreen-nav-o .w-slider-dot.active {
	opacity: 1;
	background-color: var(--base-color--primary--500);
}

/* === CONTENU EN OVERLAY DU CARROUSEL === */
/* Conteneur qui englobe le bloc blanc (overlay sur le carousel) */
.padding-global-large-copy {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

/* Boîte du contenu blanc (remet l'interaction) */
.container_box {
	z-index: 10;
	background-color: white;
	padding: 2rem 3rem;
	width: 100%;
	max-width: 680px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
	left: 17rem;
}

.slider_grid {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
}

/* TITRES ET TEXTES */
.headline {
	font-size: 1.125rem;
	text-transform: uppercase;
	font-weight: 400;
	color: #333;
}

.heading-style-h2 {
	font-size: 2.5rem;
	font-weight: 700;
}

.text-size-large {
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--base-color--black--500);
}

/* === BOUTONS === */
.btn-primary {
	background-color: var(--base-color--primary--500);
	color: white;
	font-weight: 500;
	min-height: 3.5rem;
	padding: 0.5rem 2rem;
	text-transform: uppercase;
	transition: background-color 0.3s ease;
	white-space: nowrap;
	border: none;
}

.btn-primary:hover {
	background-color: var(--base-color--secondary--500);
}

.btn-outline-primary {
	background-color: #f7f7f7;
	color: var(--base-color--primary--500);
	font-weight: 500;
	min-height: 3.5rem;
	padding: 0.5rem 2rem;
	text-transform: uppercase;
	transition: background-color 0.3s ease, color 0.3s ease;
	white-space: nowrap;
	border: none;
}

.btn-outline-primary:hover {
	background-color: #ffffff;
	color: var(--base-color--secondary--500);
}

/* CONTACT */
.text-muted {
	color: var(--base-color--black--500) !important;
}

.icon_20x20 {
	font-size: 1.25rem;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.scroll-reveal {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/*OFFRES*/
.offre-image-wrapper {
	aspect-ratio: 1 / 1;
	position: relative;
}

.offre-img-inner {
	overflow: hidden;
	height: 100%;
	width: 100%;
}

.offre-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.offre-card:hover .offre-img {
	transform: scale(1.05);
}

.offre-title {
	transition: color 0.3s ease;
}
.offre-card:hover .offre-title {
	color: #dd6565;
}

.offre-tag {
	position: absolute;
	bottom: -1rem;
	left: 50%;
	transform: translateX(-50%) translateY(0);
	background-color: #dd6565;
	color: #fff;
	font-size: 0.75rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 0.4rem 1rem;
	z-index: 10;
	border-radius: 0;
	transition: transform 0.3s ease;
	transform-style: preserve-3d;
	pointer-events: none;
}

.offre-card:hover .offre-tag {
	transform: translateX(-50%) translateY(-0.5rem);
}

.btn-offre-link {
	display: inline-block;
	background-color: #dd6565;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 0.875rem;
	font-weight: 500;
	padding: 1rem 1.5rem;
	text-decoration: none;
	transition: all 0.3s ease;
	border-radius: 0;
	border: none;
}

.btn-offre-link:hover,
.btn-offre-link:focus {
	background-color: #c14f4f;
	color: #fff;
	text-decoration: none;
}

/* Image Oliba gauche */
.oliba-img-left,
.oliba-img-right {
	max-width: 100%;
	height: auto;
}

/* Boutons Oliba */
.btn-primary {
	background-color: #dd6565;
	border: none;
	border-radius: 0;
	transition: all 0.3s ease;
}
.btn-primary:hover {
	background-color: #c14f4f;
	color: #fff;
}

a.link-primary {
	color: #dd6565 !important;
	font-family: Poppins;
	font-weight: 400;
	font-size: 14px;
	leading-trim: NONE;
	line-height: 24px;
	text-align: center;
}
.link-primary:hover {
	color: #c14f4f !important;
	font-weight: 500;
}

.btn-outline-dark {
	border: 1px solid #333;
	border-radius: 0;
	background-color: transparent;
	transition: all 0.3s ease;
}
.btn-outline-dark:hover {
	background-color: #333;
	color: #fff;
}

/* Icône téléphone */
.bi-telephone-fill {
	font-size: 0.85rem;
	vertical-align: middle;
}

#carouselHead {
	filter: brightness(0.4);
	transition: filter 0.3s ease;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#carouselHeadRoom {
	filter: brightness(0.6);
	transition: filter 0.3s ease;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

#carouselHeadRoom2 {
	filter: brightness(0.8);
	transition: filter 0.3s ease;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.logo-central {
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	z-index: 999;
	position: absolute;
}

.container {
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.gap-small {
	gap: 0.75rem;
}

.align-center {
	align-items: center;
	justify-content: center;
	text-align: center;
}

.hero_brand {
	max-width: 100%;
	display: inline-block;
	height: auto;
	z-index: 2;
	height: 10rem;
}
.container_h {
	display: flex;
}

.icon_20x20 {
	width: 20px;
	height: 20px;
}

.icon_20x20.light {
	color: var(--base-color--black--white);
}

.bloc-stars-home .icon_20x20 {
	font-size: 1rem;
}

.slider_events-item {
	width: 100%;
	height: 545px;
	/*margin: 7px;*/
	overflow: hidden;
}

@media (max-width: 768px) {
	.slider_events-item {
		height: initial;
	}
}

.slider_events-item2 {
	width: 100%;
	height: 100%;
	overflow: hidden;
	/*margin-left: 8px;*/
	margin-right: 8px;
	/*margin-top: 20px;*/
}

.exp_link {
	display: block;
	position: relative;
	height: 100%;
	width: 100%;
	text-decoration: none;
	color: inherit;
}

/* --- Image --- */
.exp_cover-wrapper {
	/*position: absolute;*/
	inset: 0;
	z-index: 1;
	overflow: hidden;
}

.exp_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	transform: scale3d(1, 1, 1);
	transform-style: preserve-3d;
}

.exp_img_2 {
	width: 129%;
	height: 564px;
	object-fit: cover;
	object-position: top center;
	transition: transform 0.5s ease;
	transform: scale3d(1, 1, 1);
	transform-style: preserve-3d;
}

/* --- Overlay sombre avec dégradé de bas vers haut --- */
.exp_cover-wrapper::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(#0000, #000000bf);
	opacity: 0.4;
	transition: opacity 0.4s ease, transform 0.5s ease;
	transform: scale3d(1, 1, 1);
	transform-style: preserve-3d;
	z-index: 2;
	pointer-events: none;
}

.exp_link:hover .exp_img,
.exp_link:hover .exp_img_2 {
	transform: scale3d(1.05, 1.05, 1);
}

.exp_link:hover .exp_cover-wrapper::after {
	opacity: 1;
	transform: scale3d(1.05, 1.05, 1);
}

/* --- Contenu en bas --- */
.exp_content-wrapper {
	position: absolute;
	top: 60%;
	left: 0;
	width: 100%;
	padding: 1.5rem;
	text-align: center;
	color: white;
	z-index: 3;
	pointer-events: none;
	transition: transform 0.6s ease;
	transform: translate3d(0, 8rem, 0);
	transform-style: preserve-3d;
}

/* Titre toujours visible */
.exp_title_home {
	font-size: 1.25rem;
	font-weight: 400;
	margin-bottom: 0.5rem;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.exp_title {
	font-size: 1.25rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	opacity: 1;
	transform: translateY(0);
}

/* Texte + bouton masqués au départ */
.exp_descriptif,
.exp_button {
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Hover : tout remonte + apparition du texte */
.exp_link:hover .exp_content-wrapper {
	transform: translate3d(0, 0rem, 0);
}

.exp_link:hover .exp_descriptif,
.exp_link:hover .exp_button {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* Texte */
.exp_descriptif {
	font-size: 0.9rem;
	max-width: 300px;
	margin: 0 auto 1rem;
}

/* Bouton */
.exp_button {
	font-weight: 500;
	text-transform: uppercase;
	font-size: 0.85rem;
	color: white;
	border: 1px solid white;
	padding: 0.4rem 1rem;
	background: transparent;
	transition: background 0.3s ease, color 0.3s ease;
	display: inline-block;
}

.exp_button:hover {
	background-color: var(--base-color--primary--500);
	color: white;
	border-color: var(--base-color--primary--500);
}

.slider_rooms-item {
	color: var(--base-color--black--white);
	width: 100%;
	max-width: 20.25rem;
	height: auto;
	margin-right: 1rem;
	position: relative;
	overflow: hidden;
}

.slider_rooms-link {
	display: block;
	position: relative;
	overflow: hidden;
	color: var(--base-color--black--white);
	transition: transform 0.25s ease-out;
}

.slider_room-cover {
	z-index: 0;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: transform 0.25s ease-out;
	will-change: transform;
}

.slider_room-content {
	z-index: 1;
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 2rem;
	transition: opacity 0.25s ease-out;
	opacity: 1;
	pointer-events: none; /* important pour ne pas bloquer le hover */
}

.slider_room-title,
.text-size-regular {
	transition: color 0.3s ease;
}

/* === HOVER EFFECTS === */
.slider_rooms-link:hover .slider_room-cover {
	transform: scale(1.05);
}

.slider_rooms-link:hover .slider_room-content {
	opacity: 0.5;
}

.slider_rooms-link:hover .slider_room-title,
.slider_rooms-link:hover .text-size-regular {
	/*color: var(--base-color--primary--500);*/
}

/*EVENT*/
/* === SECTION ÉVÉNEMENTS — PATCH MINIMAL === */

/* La grille Webflow de ta section */
.w-layout-grid {
	/* tu ne l'as pas défini dans le CSS actuel */
	display: grid;
}

/* 4 colonnes fixes pour cette grille */
.grid_4col {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-column-gap: 1.25rem;
	grid-row-gap: 1.25rem;
}

/* Tuile événement : bordure + centrage */
.c-event {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.75rem;
	padding: 2.5rem 2rem;
	border: 1px solid var(--base-color--primary--500, #dd6565);
	border-radius: 0; /* bords carrés comme sur ta maquette */
	background: #fff;
}

/* Alignement propre de l’icône dans la tuile */
.c-event .icon_24x24 {
	line-height: 1; /* évite le décalage vertical du glyphe */
}

/* ========== Champ “bord carré + label sur la bordure” ========== */
.form-field {
	position: relative;
	margin-bottom: 1rem;
}

/* Bord carré, sans ombre, fond blanc */
.form-field .form-control,
.form-field textarea.form-control {
	background: #fff;
	border: 1px solid var(--base-color--black--300, #d9d9d9);
	border-radius: 0; /* pas de radius */
	box-shadow: none !important; /* pas d’ombre */
	transition: border-color 0.15s ease-in-out;
}

/* Focus = bord en primaire, sans glow Bootstrap */
.form-field .form-control:focus,
.form-field textarea.form-control:focus {
	border-color: var(--base-color--primary--500, #dd6565);
	outline: 0;
	box-shadow: none !important;
}

/* Label posé sur la bordure (comme un legend) */
.form-field .form-label {
	position: absolute;
	top: 0;
	left: 12px;
	transform: translateY(-50%); /* coupe la bordure en deux */
	padding: 0 0.5rem;
	background: #fff; /* masque la bordure derrière le texte */
	font-weight: 400;
	font-size: 0.85rem;
	line-height: 1;
	color: var(--base-color--primary--500, #dd6565);
	pointer-events: none; /* pas cliquable */
}

/* Validation Bootstrap: pas d’ombre verte/rouge, on garde le style sobre */
.was-validated .form-control:valid,
.form-control.is-valid,
.was-validated .form-control:invalid,
.form-control.is-invalid {
	box-shadow: none !important;
	background-image: none !important;
}

/* Bouton = plein, sans radius (comme votre cible) */
.btn.button {
	border-radius: 0; /* pas de radius */
	background: var(--base-color--primary--500, #dd6565);
	color: #fff;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.02em;
	border: none;
	padding: 0.9rem 1rem;
}

.btn.button:hover {
	background: color-mix(
		in srgb,
		var(--base-color--primary--500, #dd6565) 88%,
		#000
	);
}

/* Ajuste l’espace du H2 vs maquettes */
.heading-style-h2.text-color-primary {
	margin-bottom: 2rem;
}

/* Styles de la section FAQ */
.section-faq {
	background-color: var(--base-color--black--50);
	padding: 4rem 0;
}

.heading-style-h2 {
	font-size: 2.5rem;
	line-height: 3rem;
	margin-bottom: 0;
	font-weight: 300;
}

.text-color-primary {
	color: var(--base-color--primary--500);
}

.text-size-large {
	font-size: 1.25rem;
	line-height: 1.75rem;
	margin-bottom: 0;
}

/* Styles FAQ */
.faq-item {
	border-top: 1px solid var(--base-color--black--100);
	padding: 1rem 0;
}

.faq-question {
	color: var(--base-color--primary--500);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

.faq-question:hover {
	color: var(--base-color--secondary--500);
}

.faq-q-text {
	font-weight: 500;
}

.faq-icon-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.5rem;
	height: 1.5rem;
	position: relative;
	flex-shrink: 0;
}

.faq-icon-stripe-h {
	background-color: var(--base-color--primary--500);
	width: 16px;
	height: 2px;
	position: absolute;
	transition: all 0.2s ease;
}

.faq-icon-stripe-v {
	background-color: var(--base-color--primary--500);
	width: 2px;
	height: 16px;
	position: absolute;
	transition: all 0.2s ease;
}

.faq-answer {
	padding-top: 1rem;
	display: none;
}

.faq-answer.show {
	display: block;
}

.faq-a-text {
	color: #5a5a5a;
	font-size: 1rem;
	line-height: 1.5rem;
	margin-bottom: 0;
}

/* Animation de l'icône */
.faq-question[aria-expanded="true"] .faq-icon-stripe-v {
	opacity: 0;
	transform: rotate(90deg);
}

.faq-question[aria-expanded="true"] .faq-icon-stripe-h {
	transform: rotate(180deg);
}
/* Supprimer les transitions Bootstrap seulement pour les FAQ */
.faq-answer.collapse {
	transition: none !important;
}

.faq-answer.collapsing {
	transition: none !important;
}

/* Section avec padding large */
.section-padding-large {
	padding-top: 4rem;
	padding-bottom: 4rem;
	background-color: var(--base-color--black--white);
}

/* Container avec marges personnalisées */
.container-margin-large {
	padding: 4rem;
}

/* Styles pour les titres */
.heading-style-h2 {
	margin-bottom: 0;
	font-family: "Cocomat Pro", Arial, sans-serif;
	font-size: 2.5rem;
	line-height: 1.2;
	font-weight: 300;
}

.text-color-primary {
	color: var(--base-color--primary--500) !important;
}

/* Styles pour les textes */
.text-size-large {
	font-size: 1.25rem;
	line-height: 1.4;
	margin-bottom: 0;
}

.text-size-small {
	font-size: 0.875rem;
	line-height: 1.25;
	margin-bottom: 0;
}

.text-weight-semibold {
	font-weight: 600;
}

.text-weight-medium {
	font-weight: 500;
}

.text-color-black-500 {
	color: var(--base-color--black--500) !important;
}

/* Conteneurs avec gaps */
.gap-normal {
	gap: 2rem;
}

.gap-xtiny {
	gap: 0.25rem;
}

.gap-tiny {
	gap: 0.5rem;
}

/* Styles pour les liens avec icônes */
.link-wrapper {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--base-color--black--900);
	text-decoration: none;
	transition: color 0.3s;
}

.link-wrapper:hover {
	color: var(--base-color--secondary--500) !important;
	text-decoration: none;
}

.link-wrapper.text-color-primary {
	color: var(--base-color--primary--500) !important;
}

/* Icônes */
.icon_20x20 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.25rem;
	height: 1.25rem;
	font-size: 1rem;
}

/* Bloc d'information avec fond */
.div-block-4 {
	display: flex;
	gap: 0.5rem;
	color: var(--base-color--primary--500);
	background-color: #fcf0f0;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 0.75rem;
}

/* Bouton principal */
.button-custom {
	display: flex;
	gap: 0.75rem;
	background-color: var(--base-color--primary--500);
	color: var(--base-color--black--white);
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	justify-content: center;
	align-items: center;
	min-height: 3.5rem;
	padding: 0.5rem 2rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.3s;
	border: none;
}

.button-custom:hover {
	background-color: var(--base-color--secondary--500);
	color: var(--base-color--black--white);
	text-decoration: none;
}

/* Image 1:1 */
.img-1-1 {
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	height: auto;
}

/*HEADER*/

.navlink {
	color: var(--base-color--black--900);
	/* font-size: 1.55rem !important; */
	font-weight: 300 !important;
	line-height: 2rem !important;
	transition: padding 0.2s;
	text-decoration: none;
	font-family: Poppins !important;
	font-style: Light !important;
	leading-trim: NONE;
	letter-spacing: 0%;
	font-size: clamp(1.2rem, 1rem + 1vw, 1.55rem) !important;
	/* TODO broken display in mobile */
}

.navlink:hover {
	color: var(--base-color--primary--500) !important;
	padding-left: 0.5rem !important;
	text-decoration: none !important;
}

.nav-sidebar .navlink {
	padding-top: 4px;
	padding-bottom: 4px;
}

.link-wrapper,
.link-wrapper_sidebar .icon_20x20 {
	color: var(--base-color--black--900);
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.link-wrapper_sidebar:hover,
.link-wrapper_sidebar:hover * {
	color: var(--base-color--secondary--500) !important;
	text-decoration: none !important;
}

.navbar_brand {
	height: 5rem;
}

.link-wrapper_sidebar {
	color: var(--base-color--black--900);
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.link-wrapper_sidebar:hover {
	color: var(--base-color--secondary--500);
	text-decoration: none;
}

.navlink_wrapper {
	font-family: Poppins, sans-serif;
}

.icon_20x20 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.25rem;
	height: 1.25rem;
	font-family: "Fa 400", Arial, sans-serif;
	line-height: 1rem;
}

.icon_20x20.light {
	font-family: "Fa 300", Arial, sans-serif;
	font-weight: 300;
}

.icon_20x20.brand {
	font-family: "Fa Brands 400", Arial, sans-serif;
}

.navbar {
	/*border: 2px solid red;*/
	background-color: transparent !important;
	position: absolute;
	width: 100%;
	color: white !important;
}
.menu_burger {
	z-index: 999999999 !important;

	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	background-color: var(--base-color--black--900);
	color: var(--base-color--black--white);
	cursor: pointer;
	justify-content: center;
	align-items: center;
	width: 3.5rem;
	height: 3.5rem;
	display: flex;
	position: fixed;
	top: 0rem;
	right: 0rem;
}
.menu_burger_placeholder {
	z-index: 999999999 !important;

	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	background-color: var(--base-color--black--900);
	color: var(--base-color--black--white);
	cursor: pointer;
	justify-content: center;
	align-items: center;
	width: 3.5rem;
	height: 3.5rem;
	display: flex;
	position: relative;
	top: 0rem;
	right: 0rem;
	width: 3.9rem;
	height: 3.6rem;
}

.menu_burger:hover {
	background-color: var(--base-color--secondary--500);
}

.menu_burger-icon-line {
	background-color: var(--base-color--black--white);
	width: 20px;
	height: 2px;
}

.menu_burger-icon {
	grid-column-gap: 3px;
	grid-row-gap: 3px;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	display: flex;
}
.menu_burger-wrapper {
	justify-content: flex-end;
	margin-left: auto;
	margin-right: auto;
	display: flex;
}

.menu_burger {
	width: 3.9rem;
	height: 3.6rem;
}
.navbar {
	height: 3.5rem;
}

.navbar_button {
	grid-column-gap: 0.75rem;
	grid-row-gap: 0.75rem;
	background-color: #dd6565;
	color: #ffffff;
	text-align: center;
	justify-content: center;
	align-items: center;
	min-height: 3.5rem;
	padding: 0.25rem 1.5rem;
	font-weight: 500;
	display: flex;
}

.navbar_menu-link {
	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	color: #ffffff;
	justify-content: center;
	align-items: center;
	min-height: 3.5rem;
	padding: 0.75rem 1rem;
	font-weight: 500;
	display: flex;
}

.navbar-link-hover:hover {
	/*background-color: #fff !important; !* équivalent à var(--base-color--black--white) *!*/
	color: #dd6565 !important; /* ou #0d6efd, couleur primaire Bootstrap */
	text-decoration: none;
}

.navbar_menu-link:hover {
	background-color: #fff; /* remplace var(--base-color--black--white) */
	text-decoration: none;
}

.navbar_menu-link:hover * {
	color: #dd6565 !important; /* remplace var(--base-color--primary--500) */
	text-decoration: none;
}

.navbar_button {
	align-items: center;
	display: flex;
}

.navbar_button:hover {
	background-color: var(--base-color--secondary--500);
	text-decoration: none;
	color: white !important;
}

#bg-nav-menu {
	background-image: url("/assets/images/granghotelmolitg-slider6.webp"); /* à adapter à votre chemin */
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.nav-link {
	transition: none !important;
	opacity: 1 !important;
	color: white;
	padding: 0 !important;
}
.nav-link:hover {
	color: white;
}
.dropdown-toggle::after {
	display: none; /* enlève la petite flèche Bootstrap si non souhaitée */
}
.dropdown-hover:hover > .dropdown-menu {
	display: block;
}
.border-none {
	border: none;
}

.dropdown-menu.show {
	opacity: 1 !important;
	visibility: visible !important;
	display: block !important;
	transform: none !important; /* reste fixe */
}
.dropdown-hover > .dropdown-toggle:active {
	pointer-events: none;
}

.dropdown-hover .dropdown-menu {
	opacity: 0;
	transform: translateY(2px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.dropdown-hover:hover > .dropdown-menu {
	opacity: 1;
	transform: translateY(0);
}
.dropdown-menu .dropdown-item {
	background-color: transparent !important;
	color: var(--base-color--black--white);
}
/* Hover transparent sur les items du dropdown */
.dropdown-menu .dropdown-item:hover {
	background-color: transparent !important;
	color: var(--base-color--black--white);
}

/* Décalage vers le bas du menu déroulant */
.dropdown-menu {
	margin-top: 0.75rem !important;
	margin-left: 0.75rem !important;
	transition: all 0.2s ease;
	color: var(--base-color--black--white);
	font-size: 0.875rem;
	line-height: 1.25rem;
}

.dropdown-menu .dropdown-item:hover {
	text-decoration: underline !important;
}

.dropdown_navbar-link {
	color: var(--base-color--black--white);
	padding: 0.25rem 0 0.25rem 1.75rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
}
/*.dropdown_navbar-link a{*/
/*    text-decoration: none;*/
/*}*/
.menu_burger-icon {
	position: relative;
	width: 24px; /* largeur de l'icône */
	height: 20px; /* hauteur totale (top/middle/bottom espacées) */
}

.menu_burger-icon-line {
	position: absolute;
	left: 0;
	height: 2px;
	width: 24px;
	background: currentColor;
	border-radius: 2px;
	transition: transform 0.3s ease, width 0.3s ease, opacity 0.3s ease;
	transform: translate3d(0, 0, 0) rotate(0deg);
	transform-origin: center;
}

/* Positions au repos (trois barres) */
.menu_burger-icon-line.top {
	top: 0;
}
.menu_burger-icon-line.middle {
	top: 7px;
} /* milieu */
.menu_burger-icon-line.bottom {
	top: 14px;
}

/* État ouvert: croix */
.menu_burger.open .menu_burger-icon-line.top {
	transform: translate3d(0, 7px, 0) rotate(45deg);
}

.menu_burger.open .menu_burger-icon-line.middle {
	width: 0px; /* équivaut à “rétractée” */
}

.menu_burger.open .menu_burger-icon-line.bottom {
	transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*FOOTER*/

.icon_footer-social {
	font-size: 1.25rem;
	color: var(--bs-white);
	text-decoration: none;
}
.icon_footer-social:hover {
	color: var(--bs-primary);
}

.icon_footer:hover {
	color: var(--base-color--primary--500) !important;
}

.insta_img-wrapper {
	justify-content: center;
	align-items: center;
	display: flex;
	position: relative;
	overflow: hidden;
}

.insta_img {
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.insta_content {
	grid-column-gap: 2rem;
	grid-row-gap: 2rem;
	background-color: var(--base-color--primary--500);
	color: var(--base-color--black--white);
	flex-flow: column;
	justify-content: space-between;
	align-items: flex-start;
	padding: 2rem;
	display: flex;
}

.insta_content:hover {
	background-color: var(--base-color--secondary--500);
	text-decoration: none;
}

.icon_48x48 {
	text-align: center;
	justify-content: center;
	align-items: center;
	width: 3rem;
	height: 3rem;
	font-family: "Fa 400", Arial, sans-serif;
	font-size: 2.5rem;
	line-height: 2.5rem;
	display: flex;
}
.icon_48x48.brand {
	font-family: "Fa Brands 400", Arial, sans-serif;
}

.flex-insta_img {
	width: 334.5px !important;
	height: 334.4999694824219px !important;
	max-width: 334.5px !important;
	max-height: 316px !important;
	angle: 0 deg;
	opacity: 1;
	margin: 0px 3px;
}

.footer * {
	color: var(--base-color--black--500);
	font-size: 14px;
	line-height: 1.5rem;
}

.footer a {
	color: var(--base-color--black--500);
	font-family: Poppins;
	font-style: Regular;
	leading-trim: NONE;
	line-height: 24px;
	letter-spacing: 0%;
}

.text-size-large.text-color-primary {
	color: var(--base-color--primary--500);
	font-weight: 400 !important;
}
.form_newsletter-wrapper {
	border: 1px solid var(--base-color--black--100);
	width: 100%;
	height: auto;
	margin-bottom: 0;
	padding: 1.5rem;
}
.form_newsletter-wrapper {
	border: 1px solid var(--base-color--black--100);
	width: 100%;
	height: auto;
	margin-bottom: 0;
	padding: 1.5rem;
}

.form_newsletter {
	display: flex;
	flex-flow: column;
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
}

.text-field {
	color: var(--base-color--black--900);
	background-color: #fff0;
	border: 0 #000;
	width: 100%;
	height: auto;
	min-height: 3rem;
	margin-bottom: 0;
	padding: 0 0.75rem;
}
.text-field-wrapper {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	height: auto;
	padding: 0 0 0 0.75rem;
	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	background-color: var(--base-color--black--50);
	color: var(--base-color--black--500);
}

.text-field-wrapper:hover {
	background-color: var(--base-color--black--75);
}

.text-size-large.text-color-primary {
	color: var(--base-color--primary--500);
	font-size: 1.25rem;
	line-height: 1.75rem;
	margin-bottom: 0;
}

.navbar .text-size-small {
	color: white;
}
.navbar .text-size-small:hover {
	color: #d1d1d1;
}

.text-size-small {
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: var(--base-color--black--500);
	margin-bottom: 0;
}

.button.is--small {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	min-height: 2.5rem;
	padding: 0.25rem 1rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 500;
	background-color: var(--base-color--primary--500);
	color: var(--base-color--black--white);
	grid-column-gap: 0.75rem;
	grid-row-gap: 0.75rem;
}
.button {
	grid-column-gap: 0.75rem;
	grid-row-gap: 0.75rem;
	background-color: var(--base-color--primary--500);
	color: var(--base-color--black--white);
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	justify-content: center;
	align-items: center;
	min-height: 3.5rem;
	padding: 0.5rem 2rem;
	font-weight: 500;
	display: flex;
}
.button.is--small:hover {
	background-color: var(--base-color--secondary--500);
	text-decoration: none;
}
.w-button {
	color: #fff;
	line-height: inherit;
	cursor: pointer;
	background-color: #3898ec;
	border: 0;
	border-radius: 0;
	padding: 9px 15px;
	text-decoration: none;
	display: inline-block;
}
/* ==== STYLES PERSONNALISÉS POUR LE FOOTER ==== */

.footer_link {
	color: var(--bs-white);
	text-decoration: none;
	font-size: 0.875rem;
}
.footer_link:hover {
	color: var(--bs-primary);
	text-decoration: none;
}

.icon_20x20 {
	font-size: 1rem;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer_rewards {
	max-height: 50px;
	object-fit: contain;
}

.text-size-small {
	font-size: 0.875rem;
}

.text-size-large {
	font-size: 1.25rem;
	font-weight: 500;
}

.text-size-tiny {
	font-size: 0.75rem;
}

.text-color-primary {
	color: var(--base-color--primary--500) !important;
}
.text-weight-light {
	font-weight: 300;
}
.text-color-black-500 {
	color: var(--base-color--black--500);
}

/* GESTION DES ESPACEMENTS */
.gap-small {
	gap: 1rem;
}

.gap-normal {
	gap: 1.5rem;
}

.gap-tiny {
	gap: 0.5rem;
}

.gap-xtiny {
	gap: 0.25rem;
}

/* RESEAUX SOCIAUX */
.icon_footer-social {
	font-size: 1.25rem;
	color: var(--bs-white);
	text-decoration: none;
}
.icon_footer-social:hover {
	color: var(--bs-primary);
}

.insta_img {
	transition: transform 0.4s ease;
}

.insta_img:hover {
	transform: scale(1.1);
}

/*FONT*/
@font-face {
	font-family: "Fa Solid 900";
	src: url("../fonts/fa-solid-900.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Fa Brands 400";
	src: url("../fonts/fa-brands-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Fa 300";
	src: url("../fonts/fa-light-300.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Fa 100";
	src: url("../fonts/fa-thin-100.woff2") format("woff2");
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Fa 400";
	src: url("../fonts/fa-regular-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Cocomat Pro";
	src: url("../fonts/Cocomat-Pro-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Cocomat Pro";
	src: url("../fonts/Cocomat-Pro-Light.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

/*ICON*/
.icon {
	z-index: 1 !important;
}

.icon_20x20 {
	text-align: center;
	justify-content: center;
	align-items: center;
	width: 1.25rem;
	height: 1.25rem;
	font-family: "Fa 400", Arial, sans-serif;
	line-height: 1rem;
	display: flex;
}

.icon_20x20.solid {
	font-family: "Fa Solid 900", Arial, sans-serif;
	font-weight: 400;
}

.icon_20x20.light {
	font-family: "Fa 300", Arial, sans-serif;
	font-weight: 300;
}

.icon_20x20.brand {
	font-family: "Fa Brands 400", Arial, sans-serif;
}

.text-size-small {
	margin-bottom: 0;
	font-size: 0.875rem;
	line-height: 1.25rem;
}

.text-size-small.text-weight-medium.hide-tablet,
.text-size-small.hide-mobile {
	display: none;
}

.text-black-500 {
	color: #4a4a4a;
}

.text-size-small.text-color-primary {
	color: #dd6565;
}

.icon_20x20 .icon_footer {
	font-family: "Fa Brands 400", Arial, sans-serif;
}

/*Style générale*/

.mt-5 {
	margin-top: 5px;
}
.mt-10 {
	margin-top: 10px;
}
.mt-15 {
	margin-top: 15px;
}
.mt-20 {
	margin-top: 20px;
}
.mt-25 {
	margin-top: 25px;
}
.mt-30 {
	margin-top: 30px;
}
.mt-35 {
	margin-top: 35px;
}
.mt-40 {
	margin-top: 40px;
}
.mt-45 {
	margin-top: 45px;
}
.mt-50 {
	margin-top: 50px;
}
.mt-55 {
	margin-top: 55px;
}
.mt-60 {
	margin-top: 60px;
}
.mt-65 {
	margin-top: 65px;
}
.mt-70 {
	margin-top: 70px;
}
.mt-75 {
	margin-top: 75px;
}
.mt-80 {
	margin-top: 80px;
}
.mt-85 {
	margin-top: 85px;
}
.mt-90 {
	margin-top: 90px;
}
.mt-95 {
	margin-top: 95px;
}
.mt-100 {
	margin-top: 100px;
}
.mt-105 {
	margin-top: 105px;
}
.mt-110 {
	margin-top: 110px;
}
.mt-115 {
	margin-top: 115px;
}
.mt-120 {
	margin-top: 120px;
}
.mt-125 {
	margin-top: 125px;
}
.mt-130 {
	margin-top: 130px;
}
.mt-135 {
	margin-top: 135px;
}
.mt-140 {
	margin-top: 140px;
}
.mb-5 {
	margin-bottom: 5px;
}
.mb-10 {
	margin-bottom: 10px;
}
.mb-15 {
	margin-bottom: 15px;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-25 {
	margin-bottom: 25px;
}
.mb-30 {
	margin-bottom: 30px;
}
.mb-35 {
	margin-bottom: 35px;
}
.mb-40 {
	margin-bottom: 40px;
}
.mb-45 {
	margin-bottom: 45px;
}
.mb-50 {
	margin-bottom: 50px;
}
.mb-55 {
	margin-bottom: 55px;
}
.mb-60 {
	margin-bottom: 60px;
}
.mb-65 {
	margin-bottom: 65px;
}
.mb-70 {
	margin-bottom: 70px;
}
.mb-75 {
	margin-bottom: 75px;
}
.mb-80 {
	margin-bottom: 80px;
}
.mb-85 {
	margin-bottom: 85px;
}
.mb-90 {
	margin-bottom: 90px;
}
.mb-95 {
	margin-bottom: 95px;
}
.mb-100 {
	margin-bottom: 100px;
}
.mb-105 {
	margin-bottom: 105px;
}
.mb-110 {
	margin-bottom: 110px;
}
.mb-115 {
	margin-bottom: 115px;
}
.mb-120 {
	margin-bottom: 120px;
}
.mb-125 {
	margin-bottom: 125px;
}
.mb-130 {
	margin-bottom: 130px;
}
.mb-135 {
	margin-bottom: 135px;
}
.mb-140 {
	margin-bottom: 140px;
}
.h-200 {
	height: 200px;
}
.msize-570 {
	max-width: 570px;
}
.h-40 {
	height: 40px;
}
.h-50 {
	height: 50px !important;
}
:root {
	--base-color--black--900: #1f1f1f;
	--base-color--black--white: white;
	--base-color--black--500: #858585;
	--base-color--secondary--500: #9d0c0c;
	--base-color--primary--500: #dd6565;
	--base-color--black--100: #ebebeb;
	--base-color--black--50: #f7f7f7;
	--_radius---xs: 0.25rem;
	--base-color--black--25: #f9f9f9;
	--base-color--black--600: #6b6b6b;
	--base-color--black--800: #383838;
	--base-color--black--75: #f3f3f3;
	--base-color--black--200: #d1d1d1;
	--base-color--black--300: #b8b8b8;
	--base-color--black--700: #525252;
	--base-color--black--400: #9e9e9e;
	--_radius---sm: 0.5rem;
	--_radius---md: 0.75rem;
	--_radius---base: 1rem;
	--_radius---lg: 1.25rem;
	--_radius---xl: 1.5rem;
	--_radius---2xl: 1.75rem;
	--_radius---3xl: 2rem;
	--_radius---4xl: 2.5rem;
	--_radius---5xl: 3rem;
}
.text-color-white {
	color: white;
}
.min-h-190 {
	min-height: 200px;
}
.max-w-720 {
	max-width: 720px;
}
.w-230 {
	width: 230px !important;
}
.bloc-center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.full-height {
	min-height: 100vh; /* ou height: 100vh si vous voulez exactement l'écran */
}
.object-cover {
	object-fit: cover; /* Garde le zoom, recadre si besoin */
	object-position: center;
}
.align-left {
	text-align: left !important;
}
.font-weight-300 {
	font-weight: 300;
}
.font-weight-400 {
	font-weight: 400;
}
.font-weight-500 {
	font-weight: 500;
}
.icon_16x16.solid {
	font-family: "Fa Solid 900", Arial, sans-serif;
}

.icon_16x16.brand {
	font-family: "Fa Brands 400", Arial, sans-serif;
}

.icon_16x16.light {
	font-family: "Fa 300", Arial, sans-serif;
	font-weight: 300;
}

/*POPIN*/
.popin_event {
	bottom: 20px;
	left: 20px;
	max-width: 40rem;
	z-index: 999;
	transition: transform 0.4s ease;
	border-radius: 0px !important;
}

.popin_event.hidden {
	transform: translateX(-150%);
}
.block-bt-close {
	text-align: right;
	position: absolute;
	right: -9px;
	top: -9px;
}

.popin_close-btn {
	/* position: absolute; */
	top: -14rem;
	right: -0.4rem;
	background: var(--base-color--primary--500);
	color: #fff;
	border: none;
	font-size: 1.25rem;
	line-height: 1;
	width: 38px;
	height: 38px;
	/*border-radius: 0px;*/
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.popin_close-btn:hover {
	background-color: var(--base-color--secondary--500);
}

.title-pop {
	font-weight: 400;
}
.text-secondary {
	line-height: 1rem;
	margin-top: 10px;
	margin-bottom: 18px !important;
}
.grid_action.bt-popup {
	width: inherit;
}

.dropdown-hover:hover > .dropdown-menu {
	border: none !important;
}

footer a:hover {
	color: var(--base-color--primary--500);
	text-decoration: none;
}

.wd-340 {
	width: 340px;
}
/* Bloquer le scroll vertical quand l'offcanvas est ouvert */
body.offcanvas-open {
	overflow-y: hidden !important;
	height: 100vh !important;
}

html.offcanvas-open .offcanvas-body {
	overflow-y: hidden !important;
	height: 100vh !important;
}

/* Alternative avec les classes Bootstrap automatiques */
body.modal-open {
	overflow-y: hidden !important;
	height: 100vh !important;
}

html.modal-open {
	overflow-y: hidden !important;
	height: 100vh !important;
}

.offcanvas-body {
	overflow-y: hidden !important;
	height: 100vh !important;
}

.offcanvas-body {
	overflow-y: hidden !important;
	height: 100vh !important;
}

/* Alternative avec les classes Bootstrap automatiques */
.offcanvas-body {
	overflow-y: hidden !important;
	height: 100vh !important;
}

.offcanvas-body {
	overflow-y: hidden !important;
	height: 100vh !important;
}

html.offcanvas-open {
	overflow: hidden !important;
	height: 100%;
}

/* Couleurs globales */
:root {
	--base-color--primary--500: #dd6565;
	--base-color--black--900: #1f1f1f;
	--base-color--black--white: white;
	--base-color--black--500: #858585;
}

/* Image carré ratio 1:1 */
.img-1-1 {
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	height: auto;
}

/* Style heading h3 */
.heading-style-h3 {
	font-size: 2rem;
	font-weight: 300;
	line-height: 2.5rem;
}
.heading-style-h3.text-color-primary {
	color: var(--base-color--primary--500);
}

/* Paragraphes réguliers */
.text-size-regular {
	margin-bottom: 0;
	font-size: 1rem; /* implicite via body mais je l'ajoute */
	line-height: 1.5rem;
}
.text-size-regular.text-color-black-500 {
	color: var(--base-color--black--500);
}
.text-size-regular.text-color-secondary {
	color: var(--base-color--secondary--500);
}

/* Citation */
.quote_wrapper {
	border-left: 4px solid var(--base-color--primary--500);
	background-color: #dd656526;
	width: 100%;
	padding: 1rem 1rem 1rem 1.25rem;
	font-style: italic;
}

#newsletter-block.sticky {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 1000;
}
#newsletter-wrapper {
	min-height: 1px; /* sert de placeholder quand le bloc se détache */
}

.w-200 {
	width: 200px !important;
}

.width-100 {
	width: 100px !important;
}

.minh-40r {
	min-height: 40rem;
}

.maxh-40r {
	max-height: 40rem;
	height: 40rem;
}

.horaire-widget {
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	/*justify-content: center;*/
	align-items: stretch;
	display: flex;
	color: black;
}
.horaire-left {
	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	text-align: right;
	text-transform: uppercase;
	flex-flow: column;
	/*justify-content: center;*/
	align-items: flex-end;
	font-weight: 500;
	display: flex;
	color: black;
}
.horaire-right {
	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	border-left: 2px solid var(--base-color--black--300);
	text-align: left;
	text-transform: uppercase;
	flex-flow: column;
	justify-content: center;
	align-items: flex-start;
	padding-left: 1rem;
	font-weight: 500;
	display: flex;
	color: black;
}
.color-black {
	color: black !important;
}
.inline-block {
	display: inline-block !important;
}
.inline-flex {
	display: inline-flex;
}
.offre-title-bloc {
	font-size: 1.25rem !important;
	line-height: 1.75rem;
	font-weight: 300 !important;
	font-family: Cocomat Pro, Arial, sans-serif;
}
.fw-none {
	font-weight: normal !important;
}
.news_social-link {
	color: var(--base-color--black--500) !important;
}
.title-actu {
	font-size: 19px !important;
	font-weight: 300 !important;
}
.form-field .form-control:hover,
.form-field textarea.form-control:hover {
	border: 1px solid var(--base-color--primary--500);
}
.form-field .form-control,
.form-field textarea.form-control {
	border: 1px solid var(--base-color--black--200);
	height: 50px;
}
.form-field textarea.form-control {
	height: 150px;
}
input.form-field .form-control {
	border: 1px solid var(--base-color--black--200);
	height: 48px;
}
.bg-black-pg {
	background-color: var(--base-color--black--800);
}
/* état fixé : position:fixed sous la navbar */
#newsletter-wrapper.sticky {
	position: fixed;
	top: var(--sticky-top, 16px);
	width: var(
		--sticky-width,
		auto
	); /* évite le rétrécissement quand on passe en fixed */
	z-index: 101; /* sous .navbar .fixed-top (généralement 1030), au besoin adapte */
}
/* Quand on applique .sticky */
#newsletter-block.sticky {
	position: fixed;
	top: 0; /* ajuste selon la hauteur de ta navbar */
	right: auto;
	left: auto;
	width: inherit; /* garde la largeur de son parent */
	z-index: 1000; /* pour rester au-dessus du flux */
}

/* état collé au bas de la colonne (empêche de dépasser) */
#newsletter-wrapper.stuck-bottom {
	position: absolute;
	bottom: 0;
	top: auto;
}

.small,
small {
	font-size: 0.875em !important;
}

#carouselHead {
	background-color: #333;
	position: relative;
	z-index: 0;
	overflow: hidden;
	height: 100vh;
}
.carousel-inner {
	will-change: transform, filter;
}
.carousel-parallax-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 2;
}
.section-under-carousel {
	position: relative;
	z-index: 3;
	background: white;
	will-change: transform;
}
.text-field:focus,
.w-input:focus {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}
/** 
 * Responsive dans un seul bloc 
 * Media Queries - always at the bottom
 */
@media (max-width: 768px) {
	.menu_mobile a.menu_link.active {
		background-color: var(--base-color--primary--500);
		color: var(--base-color--black--white); /* texte/icône en blanc */
	}
	.footer .border-secondary a {
		margin-top: -5px;
	}
	.pastille {
		width: 6rem;
		height: 6rem;
		top: 1.7rem;
		text-align: center;
	}
	.mt-110 {
		margin-top: 0px;
	}
	.vw100-mobile {
		width: 100vw !important;
	}
	.maxh-40r {
		/* max-height: 40rem;
		height: 35rem !important; */
		max-height: 100vh !important;
	}
	.maxh-20r-mob {
		max-height: 40rem;

		height: 20rem !important;
	}
	.exp_content-wrapper {
		bottom: 120px;
	}
	.exp_cover-wrapper::after {
		content: "";
		position: absolute;
		inset: 0;
		background-image: linear-gradient(#0000, #000000bf);
		opacity: 0.7;
		transition: opacity 0.4s ease, transform 0.5s ease;
		transform: scale3d(1, 1, 1);
		transform-style: preserve-3d;
		z-index: 2;
		pointer-events: none;
	}
	.exp_descriptif {
		font-size: 0.9rem;
		max-width: 100%;
		margin: 0 auto 1rem;
	}

	.hero_brand {
		height: 7rem;
	}
	.headline-h2 {
		font-size: 2rem;
		line-height: 2.5rem;
	}
	.exp_cover-wrapper {
		position: relative;
		inset: 0;
		z-index: 1;
		overflow: hidden;
		background-image: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.6),
			rgba(0, 0, 0, 0)
		);
	}

	.height-auto {
		height: auto;
	}

	.h-800 {
		height: 800px !important;
	}

	/* Image toujours zoomée */
	.exp_img,
	.exp_img_2 {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform: scale3d(1.05, 1.05, 1); /* zoom permanent */
		transform-style: preserve-3d;
		transition: none; /* pas besoin de transition */
	}

	.fs-12 .small {
		font-size: 12px !important;
	}

	/* Description et bouton toujours visibles */
	.exp_descriptif,
	.exp_button {
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
		transition: none;
	}
	.slider_fullscreen-nav .w-slider-dot {
		width: 8px;
		height: 8px;
		border-radius: 100%;
		background: #d1d1d1;
		opacity: 1;
		border: none;
		transition: opacity 0.3s ease;
		padding: 0 !important;
		line-height: 0 !important;
	}

	.slider_fullscreen-nav-o .w-slider-dot {
		width: 8px;
		height: 8px;
		border-radius: 100%;
		background: #d1d1d1;
		opacity: 1;
		border: none;
		transition: opacity 0.3s ease;
		padding: 0 !important;
		line-height: 0 !important;
	}

	.carousel-indicators {
		position: absolute;
		bottom: 1rem;
		left: 50%;
		margin-left: inherit !important;
		bottom: 0rem;
		transform: translateX(-50%);
		z-index: 2;
		display: flex;
		gap: 0.5rem;
	}
	.slider_fullscreen-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		filter: brightness(1);
	}
	.min-h-190 {
		min-height: 120px;
	}
	.offre-card {
		text-align: left;
	}
	.button.is--small {
		width: 100%;
	}

	.form_newsletter-wrapper {
		border: 1px solid var(--base-color--black--100);
		width: 100%;
		/* height: 226px; */
		margin-bottom: 0;
		padding: 1rem;
	}

	/*NAV MOBILE*/
	.menu_mobile {
		position: fixed;
		top: 0;
		right: 0;
		padding: 0;
		background: #fff;
		z-index: 1050;
		margin-top: 2.7rem;
		transition: transform 0.3s ease;
		will-change: transform;
	}

	.menu_mobile .menu_link,
	.menu_mobile .dropdown_language-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 3rem;
		height: 48px;
		text-decoration: none;
		border: none;
		background-color: white; /* rouge par défaut */
		color: var(--base-color--primary--500); /* texte blanc */
		transition: background-color 0.2s ease, color 0.2s ease;
	}

	.menu_mobile .menu_link.show {
		background-color: var(
			--base-color--primary--500
		); /* fond blanc quand actif */
		color: white; /* texte rouge */
	}

	.menu_mobile .icon_16x16 {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 13px;
	}

	.menu_mobile .dropdown_language {
		border: none;
	}

	.menu_mobile .dropdown-menu {
		min-width: auto;
		border-radius: 0;
	}
	.menu_link .text-size-small {
		color: var(--base-color--primary--500); /* texte blanc */
		font-weight: 500;
	}

	.menu_link.show .text-size-small {
		color: white !important;
	}

	.dropdown_language .dropdown-menu.show {
		top: 35px !important;
	}

	.dropdown_language .dropdown-menu.show li a {
		background-color: var(
			--base-color--primary--500
		); /* fond blanc quand actif */
	}

	.menu_link.dropdown-toggle.show.active .text-size-small {
		color: white;
	}
	.dropdown-menu.show {
		--bs-dropdown-bg: #fff !important;
		background-color: #fff !important;
	}
	.menu_burger {
		width: 3rem;
		height: 2.7rem;
	}
	.section-padding-large {
		padding: 0;
	}
	.h-200 {
		height: auto;
	}
	.c-event {
		padding: 1.2rem 2rem;
	}
	.fs-1-mob {
		font-size: 40px;
	}
	.fs-headline-mob {
		font-size: 20px;
	}

	.popin_event {
		bottom: 20px;
		left: 20px;
		max-width: 29rem;
	}
	.w-100-mob {
		width: 100% !important;
	}
	.logo-central .headline-room-1 {
	}
	.logo-central .headline-room-h2 {
		font-size: 40px;
	}
	.logo-central .headline-room-h3 {
		font-size: 22px;
	}
	.dropdown_language .dropdown-menu .dropdown-item:hover {
		text-decoration: none !important;
		background-color: #dd6565 !important;
		color: white !important;
	}

	/* TODO only fix */
	#newsletter-block.sticky {
		position: initial;
	}
}
@media (min-width: 768px) {
	.align-md-center {
		justify-content: left !important;
		text-align: left !important;
	}
	.wd-230 {
		width: 230px;
	}
}
@media (max-width: 576px) {
	.popin_event {
		bottom: 20px;
		left: 20px;
		width: 90%;
	}
}
@media (min-width: 768px) and (max-width: 1100px) {
	/* Hover : tout remonte + apparition du texte */
	.exp_link .exp_content-wrapper {
		transform: translate3d(0, 0rem, 0);
	}

	.exp_link .exp_descriptif,
	.exp_link .exp_button {
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}
	.exp_link .exp_cover-wrapper::after {
		opacity: 1;
		transform: scale3d(1.05, 1.05, 1);
	}
}
