:root {
--white:#fff6e6;
--darkBrown:#542508;
--beige:#cfbb95;
--darkGrey:#201818;
--black:#1f1717;
--darkLeather:#4b1f05;
--lightLeather:#5e3217;
--navBg:#1f1717;
--navBeige:#cfbb95;
--navWhite:#fff6e6;
--navLine:rgba(207, 187, 149, 0.16);
--navBarH:96px;
--navBarHStuck:64px;
--navUtilH:36px
}

.navSrOnly {
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip-path:inset(50%);
white-space:nowrap;
margin:-1px;
padding:0
}

#siteHeader {
position:fixed;
display:block;
z-index:10500;
width:100%;
background-color:transparent;
top:0;
left:0;
transition:background-color 0.25s ease, box-shadow 0.25s ease;
margin:0;
padding:0
}

#siteHeader.is-stuck {
background-color:rgba(31, 23, 23, 0.97);
box-shadow:0 6px 24px rgba(0, 0, 0, 0.45)
}

#audio_wave_container { z-index:1 }

#siteHeader.is-stuck #audio_wave_container {
opacity:0;
transition:opacity 0.25s ease;
pointer-events:none
}

/* ====================================================================== */
/* ======== BARRE UTILITAIRE ============================================ */
/* ====================================================================== */

#navUtil {
position:relative;
z-index:10502;
height:var(--navUtilH);
overflow:hidden;
background-color:rgba(14, 10, 10, 0.72);
border-bottom:1px solid var(--navLine);
transition:height 0.25s ease, opacity 0.2s ease;
margin:0;
padding:0
}

#siteHeader.is-stuck #navUtil {
height:0;
border-bottom:none;
opacity:0
}

.navUtil_in {
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
width:100%;
max-width:1800px;
height:var(--navUtilH);
margin:0 auto;
padding:0 40px
}

.navUtil_lieu {
display:flex;
align-items:center;
gap:8px;
font-size:0.76rem;
font-weight:400;
color:rgba(232, 219, 196, 0.92);
line-height:1;
white-space:nowrap;
margin:0;
padding:0
}

.navUtil_right {
display:flex;
align-items:center;
gap:22px
}

.navUtil_link {
display:flex;
align-items:center;
gap:7px;
min-height:24px;
background:none;
border:none;
text-decoration:none;
font-size:0.76rem;
font-family:inherit;
color:rgba(232, 219, 196, 0.92);
line-height:1;
white-space:nowrap;
cursor:pointer;
transition:color 0.2s ease;
margin:0;
padding:0
}

.navUtil_link:hover,
.navUtil_link:focus-visible { color:var(--navWhite) }

.navUtil_social {
display:flex;
align-items:center;
gap:14px;
list-style:none;
margin:0;
padding:0
}

.navUtil_social a {
display:flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
text-decoration:none;
font-size:0.92rem;
color:rgba(232, 219, 196, 0.92);
transition:color 0.2s ease
}

.navUtil_social a:hover,
.navUtil_social a:focus-visible { color:var(--navWhite) }

/* ====================================================================== */
/* ======== BARRE PRINCIPALE ============================================ */
/* ====================================================================== */

#navBar {
position:relative;
z-index:10501;
width:100%;
margin:0;
padding:0
}

#navBar::before {
content:'';
position:absolute;
z-index:-1;
width:100%;
height:calc(100% + 26px);
background:linear-gradient(180deg, rgba(14, 10, 10, 0.82) 0%, rgba(14, 10, 10, 0.7) 55%, rgba(14, 10, 10, 0.32) 85%, rgba(14, 10, 10, 0) 100%);
top:0;
left:0;
pointer-events:none;
transition:opacity 0.25s ease
}

#siteHeader.is-stuck #navBar::before { opacity:0 }

.navBar_in {
display:flex;
align-items:center;
gap:28px;
width:100%;
max-width:1800px;
height:var(--navBarH);
transition:height 0.25s ease;
margin:0 auto;
padding:0 40px
}

#siteHeader.is-stuck .navBar_in { height:var(--navBarHStuck) }

#navLogo {
display:flex;
align-items:center;
flex-shrink:0;
text-decoration:none
}

#navLogo img {
display:block;
width:auto;
height:62px;
filter:drop-shadow(0 2px 8px rgba(0, 0, 0, 0.7));
transition:height 0.25s ease
}

#siteHeader.is-stuck #navLogo img { filter:none }

#siteHeader.is-stuck #navLogo img { height:40px }

#navBurger {
display:none;
flex-direction:column;
align-items:center;
justify-content:center;
gap:5px;
width:44px;
height:44px;
background-color:rgba(14, 10, 10, 0.55);
border:1px solid rgba(207, 187, 149, 0.4);
border-radius:6px;
cursor:pointer;
margin:0 0 0 auto;
padding:0
}

#navBurger span {
display:block;
width:20px;
height:2px;
background:var(--navWhite);
border-radius:2px;
transition:transform 0.25s ease, opacity 0.2s ease
}

#navBurger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg) }

#navBurger[aria-expanded="true"] span:nth-child(2) { opacity:0 }

#navBurger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg) }

/* ====================================================================== */
/* ======== NAVIGATION ================================================== */
/* ====================================================================== */

#mainNav {
display:flex;
align-items:center;
margin-right:auto
}

.nav_head { display:none }

.nav_list {
display:flex;
align-items:center;
gap:2px;
list-style:none;
margin:0;
padding:0
}

.nav_item {
position:relative;
display:block;
margin:0;
padding:0
}

.nav_top {
display:flex;
align-items:center;
gap:7px;
min-height:44px;
text-align:left;
background:none;
border:none;
border-radius:6px;
text-decoration:none;
text-transform:uppercase;
font-size:clamp(0.8rem, 0.72rem + 0.28vw, 0.95rem);
font-weight:700;
color:var(--navWhite);
text-shadow:0 1px 4px rgba(0, 0, 0, 0.8);
white-space:nowrap;
font-family:inherit;
cursor:pointer;
transition:background-color 0.2s ease, color 0.2s ease;
margin:0;
padding:0 12px
}

.nav_toggle svg {
flex-shrink:0;
opacity:0.75;
transition:transform 0.25s ease
}

.nav_top:hover,
.nav_top:focus-visible {
background-color:rgba(207, 187, 149, 0.12);
color:var(--navWhite)
}

.nav_item.is-active > .nav_top {
background-color:rgba(207, 187, 149, 0.14);
color:var(--navWhite)
}

.nav_item.is-open > .nav_top svg { transform:rotate(180deg) }

/* ====================================================================== */
/* ======== PANNEAUX ==================================================== */
/* ====================================================================== */

.nav_panel {
position:absolute;
z-index:10510;
max-height:80vh;
overflow-y:auto;
overscroll-behavior:contain;
background-color:rgba(24, 18, 18, 0.985);
backdrop-filter:blur(6px);
border:1px solid var(--navLine);
border-radius:10px;
box-shadow:0 22px 48px rgba(0, 0, 0, 0.55);
top:calc(100% + 10px);
left:0;
margin:0;
padding:0
}

.nav_panel[hidden] { display:none }

.nav_panel_liste { min-width:280px }

.nav_panel_mega {
width:min(1080px, calc(100vw - 90px));
left:-14px
}

.nav_panel_in {
display:grid;
grid-template-columns:1fr;
gap:0;
margin:0;
padding:0
}

.nav_panel_mega .nav_panel_in { grid-template-columns:1fr 1fr 1fr 1.05fr }

.nav_col {
border-right:1px solid var(--navLine);
margin:0;
padding:22px 24px 26px
}

.nav_panel_liste .nav_col {
border-right:none;
padding:10px
}

.nav_col:last-child { border-right:none }

.nav_col_title a {
text-decoration:none;
color:inherit;
transition:color 0.2s ease
}

.nav_col_title a:hover,
.nav_col_title a:focus-visible { color:var(--navWhite) }

.nav_col_title {
font-size:0.66rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.16em;
color:rgba(207, 187, 149, 0.62);
margin:0 0 14px;
padding:0
}

.nav_col ul {
display:flex;
flex-direction:column;
gap:2px;
list-style:none;
margin:0;
padding:0
}

.nav_col li {
margin:0;
padding:0
}

.nav_col ul a {
display:block;
position:relative;
min-height:44px;
border-radius:6px;
text-decoration:none;
color:rgba(255, 246, 230, 0.9);
transition:background-color 0.2s ease, color 0.2s ease;
margin:0;
padding:9px 12px
}

.nav_col ul a:hover,
.nav_col ul a:focus-visible {
background-color:rgba(207, 187, 149, 0.1);
color:var(--navWhite)
}

.nav_link_label {
display:block;
font-size:0.88rem;
font-weight:600;
line-height:1.35
}

.nav_col ul a:has(.nav_new) .nav_link_label { padding:0 54px 0 0 }

.nav_col ul a small {
display:block;
font-size:0.74rem;
font-weight:400;
color:rgba(207, 187, 149, 0.6);
line-height:1.35;
margin:3px 0 0
}

.nav_new {
display:inline-block;
position:absolute;
z-index:2;
background-color:#c0392b;
border-radius:3px;
font-size:0.46rem;
font-weight:700;
font-style:normal;
text-transform:uppercase;
letter-spacing:0.07em;
color:#fff;
line-height:1;
white-space:nowrap;
top:11px;
right:10px;
margin:0;
padding:3px 5px
}

.nav_conv {
background-color:rgba(207, 187, 149, 0.07);
border-right:none
}

.nav_conv_title {
font-size:0.92rem;
font-weight:700;
color:var(--navWhite);
line-height:1.35;
margin:0 0 14px;
padding:0
}

.nav_conv_tout {
display:inline-flex;
align-items:center;
min-height:44px;
text-decoration:underline;
text-underline-offset:4px;
font-size:0.82rem;
font-weight:600;
color:rgba(207, 187, 149, 0.9);
margin:10px 0 0;
padding:0
}

.nav_conv_tout:hover,
.nav_conv_tout:focus-visible { color:var(--navWhite) }

.nav_conv_note {
font-size:0.74rem;
color:rgba(207, 187, 149, 0.72);
line-height:1.5;
margin:14px 0 0;
padding:0
}

.nav_conv_tel {
display:inline-flex;
align-items:center;
gap:8px;
min-height:44px;
text-decoration:none;
font-size:0.86rem;
font-weight:600;
color:var(--navBeige);
margin:6px 0 0;
padding:0
}

/* ====================================================================== */
/* ======== BOUTONS ===================================================== */
/* ====================================================================== */

.navBar_cta {
display:flex;
align-items:center;
gap:10px;
flex-shrink:0
}

.nav_btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:9px;
min-height:44px;
border-radius:6px;
text-decoration:none;
text-transform:uppercase;
font-size:0.78rem;
font-weight:700;
letter-spacing:0.04em;
white-space:nowrap;
transition:background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
margin:0;
padding:0 18px
}

.nav_btn_ghost {
background-color:rgba(14, 10, 10, 0.55);
border:1px solid rgba(207, 187, 149, 0.55);
color:var(--navWhite)
}

.nav_btn_ghost:hover,
.nav_btn_ghost:focus-visible {
background-color:rgba(207, 187, 149, 0.12);
border-color:var(--navBeige);
color:var(--navWhite)
}

.nav_btn_primary {
background-color:var(--navBeige);
border:1px solid var(--navBeige);
color:#1f1717
}

.nav_btn_primary:hover,
.nav_btn_primary:focus-visible {
background-color:var(--navWhite);
border-color:var(--navWhite);
color:#1f1717
}

.nav_btn_block {
display:flex;
width:100%
}

/* ====================================================================== */
/* ======== PIED DE PANNEAU MOBILE ====================================== */
/* ====================================================================== */

.nav_foot { display:none }

#navScrim {
position:fixed;
z-index:10400;
width:100%;
height:100%;
background-color:rgba(0, 0, 0, 0.6);
top:0;
left:0;
margin:0;
padding:0
}

#navScrim[hidden] { display:none }

/* ====================================================================== */
/* ======== BARRE BASSE MOBILE ========================================== */
/* ====================================================================== */

#navMobileBar {
display:none;
position:fixed;
z-index:10300;
align-items:stretch;
width:100%;
height:58px;
background-color:rgba(20, 15, 15, 0.98);
border-top:1px solid var(--navLine);
box-shadow:0 -4px 18px rgba(0, 0, 0, 0.4);
bottom:0;
left:0;
padding-bottom:env(safe-area-inset-bottom)
}

#navMobileBar a {
display:flex;
flex:1;
flex-direction:column;
align-items:center;
justify-content:center;
gap:3px;
text-decoration:none;
font-size:0.68rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.04em;
color:var(--navBeige)
}

#navMobileBar a i { font-size:1.05rem }

#navMobileBar .navMobileBar_cta {
background-color:var(--navBeige);
color:#1f1717
}

/* ====================================================================== */
/* ======== RESPONSIVE ================================================== */
/* ====================================================================== */

@media only screen and (max-width:1400px) {
	.navUtil_in,
	.navBar_in { padding:0 24px }

	.navBar_in { gap:18px }

	.nav_top { padding:0 5px 0 10px }

	.nav_item:not(.nav_has_panel) .nav_top { padding:0 10px }

	.nav_btn { padding:0 13px }
}

@media only screen and (max-width:1240px) {
	.navBar_cta .nav_btn_ghost span,
	.navBar_cta .nav_btn_primary span { display:none }

	.navBar_cta .nav_btn { padding:0 15px }

	.navBar_cta .nav_btn i { font-size:1rem }

	.navUtil_link span { display:none }
}

@media only screen and (max-width:1024px) {
	:root {
	--navBarH:70px;
	--navBarHStuck:58px
	}

	#navUtil { display:none }

	#navBar::before { height:calc(100% + 18px) }

	#navBurger { display:flex }

	.navBar_in {
	justify-content:space-between;
	gap:12px;
	padding:0 16px
	}

	#navLogo img { height:42px }

	#siteHeader.is-stuck #navLogo img { height:34px }

	.navBar_cta { display:none }

	#mainNav {
	position:fixed;
	display:flex;
	flex-direction:column;
	align-items:stretch;
	justify-content:flex-start;
	z-index:10600;
	width:100%;
	height:100%;
	height:100dvh;
	overflow-y:auto;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
	background-color:#181212;
	top:0;
	left:0;
	transform:translateX(100%);
	transition:transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
	margin:0;
	padding:0
	}

	#mainNav.is-open { transform:translateX(0) }

	.nav_head {
	display:flex;
	position:sticky;
	align-items:center;
	justify-content:space-between;
	flex-shrink:0;
	z-index:2;
	height:var(--navBarH);
	background-color:#181212;
	border-bottom:1px solid var(--navLine);
	top:0;
	padding:0 10px 0 16px
	}

	.nav_head_logo {
	display:flex;
	align-items:center;
	text-decoration:none
	}

	.nav_head_logo img {
	display:block;
	width:auto;
	height:38px
	}

	.nav_head_title { display:none }

	#navClose {
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	width:44px;
	height:44px;
	background:none;
	border:none;
	border-radius:8px;
	color:var(--navBeige);
	cursor:pointer;
	margin:0;
	padding:0
	}

	#navClose:hover,
	#navClose:focus-visible { background-color:rgba(207, 187, 149, 0.12) }

	.nav_list {
	flex:0 0 auto;
	flex-direction:column;
	align-items:stretch;
	gap:0;
	padding:0
	}

	.nav_item {
	border-bottom:1px solid rgba(207, 187, 149, 0.1);
	margin:0
	}

	.nav_top {
	justify-content:space-between;
	width:100%;
	min-height:58px;
	border-radius:0;
	text-align:left;
	font-size:0.95rem;
	text-shadow:none;
	padding:0 16px
	}

	.nav_top svg {
	flex-shrink:0;
	width:13px;
	height:8px;
	opacity:0.9;
	margin:0 0 0 12px
	}

	.nav_item.is-active > .nav_top {
	position:relative;
	background-color:rgba(207, 187, 149, 0.1)
	}

	.nav_item.is-active > .nav_top::before {
	content:'';
	position:absolute;
	width:3px;
	height:100%;
	background:var(--navBeige);
	top:0;
	left:0
	}

	.nav_panel {
	position:static;
	width:auto;
	max-height:none;
	overflow:visible;
	background-color:rgba(0, 0, 0, 0.32);
	backdrop-filter:none;
	border:none;
	border-radius:0;
	box-shadow:none;
	top:auto;
	left:auto
	}

	.nav_panel_mega { width:auto }

	.nav_panel_mega .nav_panel_in,
	.nav_panel_in { grid-template-columns:1fr }

	.nav_col {
	border-right:none;
	border-top:1px solid rgba(207, 187, 149, 0.07);
	padding:14px 16px 16px
	}

	.nav_col:first-child { border-top:none }

	.nav_panel_liste .nav_col { padding:8px 16px 12px }

	.nav_col_title {
	font-size:0.62rem;
	letter-spacing:0.18em;
	margin:0 0 8px
	}

	.nav_col ul { gap:0 }

	.nav_col ul a {
	min-height:50px;
	border-radius:8px;
	padding:11px 12px
	}

	.nav_col ul a:has(.nav_new) .nav_link_label { padding:0 }

	.nav_new {
	display:inline-block;
	position:relative;
	font-size:0.5rem;
	top:-2px;
	right:auto;
	margin:0 0 0 8px;
	padding:3px 5px
	}

	.nav_conv {
	background-color:rgba(207, 187, 149, 0.07);
	border-top:1px solid rgba(207, 187, 149, 0.14)
	}

	.nav_conv_title { font-size:0.9rem }

	.nav_foot {
	display:flex;
	flex-direction:column;
	gap:10px;
	flex-shrink:0;
	border-top:1px solid var(--navLine);
	margin:0;
	padding:18px 16px calc(28px + env(safe-area-inset-bottom))
	}

	.nav_btn_block { min-height:50px }

	.nav_foot_contact {
	display:flex;
	flex-direction:column;
	gap:6px;
	margin:6px 0 0
	}

	.nav_foot_contact a,
	.nav_foot_contact span {
	display:flex;
	align-items:center;
	gap:10px;
	min-height:28px;
	text-decoration:none;
	font-size:0.8rem;
	color:rgba(207, 187, 149, 0.78);
	line-height:1.4
	}

	.nav_foot_contact i {
	width:16px;
	text-align:center;
	flex-shrink:0
	}

	.nav_foot_social {
	display:flex;
	justify-content:center;
	gap:14px;
	list-style:none;
	margin:4px 0 0;
	padding:0
	}

	.nav_foot_social a {
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border:1px solid var(--navLine);
	border-radius:50%;
	text-decoration:none;
	font-size:0.95rem;
	color:var(--navBeige)
	}

	#navScrim { display:none }

	#navMobileBar { display:flex }

	#ctaReservation { display:none !important }

	body { padding-bottom:58px }
}

@media only screen and (max-width:420px) {
	#navLogo img { height:38px }

	.nav_top { font-size:0.88rem }
}

body.nav-locked {
overflow:hidden
}

#siteHeader :focus-visible {
outline:2px solid var(--navBeige);
outline-offset:2px
}

#navMobileBar :focus-visible {
outline:2px solid var(--navBeige);
outline-offset:-3px
}

@media (prefers-reduced-motion: reduce) {
	#siteHeader,
	#navUtil,
	.navBar_in,
	#navLogo img,
	#mainNav,
	.nav_toggle svg,
	#navBurger span { transition:none }
}

/* ====================================================================== */
/* ======== PIED DE PAGE ================================================ */
/* ====================================================================== */

#mainFooter {
position:relative;
z-index:2;
width:100%;
background-color:var(--navBg);
color:var(--navBeige);
margin:0;
padding:0
}

/* ======== BANDEAU DE CONVERSION ======================================= */

#footerCta {
position:relative;
width:100%;
background-color:rgba(207, 187, 149, 0.07);
border-top:1px solid var(--navLine);
border-bottom:1px solid var(--navLine);
margin:0;
padding:0
}

.foot_cta_in {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
gap:22px 40px;
width:90%;
max-width:1400px;
margin:0 auto;
padding:30px 0
}

.foot_cta_texte {
min-width:0;
margin:0;
padding:0
}

.foot_cta_titre {
font-size:1.06rem;
font-weight:700;
color:var(--navWhite);
line-height:1.35;
margin:0;
padding:0
}

.foot_cta_note {
font-size:0.78rem;
color:rgba(207, 187, 149, 0.72);
line-height:1.5;
margin:8px 0 0;
padding:0
}

.foot_cta_actions {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:12px;
margin:0;
padding:0
}

.foot_cta_tel {
display:inline-flex;
align-items:center;
gap:9px;
min-height:44px;
text-decoration:none;
font-size:0.86rem;
font-weight:600;
color:var(--navBeige);
transition:color 0.2s ease;
margin:0;
padding:0 4px
}

.foot_cta_tel:hover,
.foot_cta_tel:focus-visible { color:var(--navWhite) }

/* ======== COLONNES ==================================================== */

#footerGrid {
display:grid;
gap:38px 32px;
grid-template-columns:1.35fr repeat(4, minmax(0, 1fr));
width:90%;
max-width:1400px;
margin:0 auto;
padding:52px 0 44px
}

.foot_col {
min-width:0;
margin:0;
padding:0
}

.foot_col_second { margin:28px 0 0 }

.foot_col_title {
font-size:0.74rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.12em;
color:var(--navWhite);
line-height:1.3;
margin:0 0 16px;
padding:0 0 12px;
border-bottom:1px solid var(--navLine)
}

.foot_col_title a {
text-decoration:none;
color:inherit;
transition:color 0.2s ease
}

.foot_col_title a:hover,
.foot_col_title a:focus-visible { color:var(--navBeige) }

.foot_links {
list-style:none;
margin:0;
padding:0
}

.foot_links li {
margin:0 0 4px;
padding:0
}

.foot_links a {
position:relative;
display:block;
text-decoration:none;
font-size:0.84rem;
color:rgba(207, 187, 149, 0.86);
line-height:1.45;
transition:color 0.2s ease;
margin:0;
padding:6px 0 6px 14px
}

.foot_links a::before {
position:absolute;
width:5px;
height:1px;
content:"";
background-color:rgba(207, 187, 149, 0.5);
top:15px;
left:0;
transition:width 0.2s ease, background-color 0.2s ease
}

.foot_links a:hover,
.foot_links a:focus-visible { color:var(--navWhite) }

.foot_links a:hover::before,
.foot_links a:focus-visible::before {
width:9px;
background-color:var(--navBeige)
}

.foot_new {
position:absolute;
display:inline-block;
z-index:2;
background-color:#c0392b;
border-radius:3px;
font-size:0.46rem;
font-weight:700;
font-style:normal;
text-transform:uppercase;
letter-spacing:0.07em;
color:#fff;
line-height:1;
white-space:nowrap;
top:8px;
right:0;
margin:0;
padding:3px 5px
}

.foot_links a:has(.foot_new) span { padding:0 58px 0 0 }

/* ======== COLONNE IDENTITE ============================================ */

.foot_logo {
display:inline-block;
margin:0 0 18px;
padding:0
}

.foot_logo img {
display:block;
width:140px;
height:auto;
transition:opacity 0.2s ease
}

.foot_logo:hover img { opacity:0.85 }

.foot_address {
display:flex;
flex-direction:column;
align-items:flex-start;
gap:8px;
font-style:normal;
font-size:0.84rem;
color:rgba(207, 187, 149, 0.86);
line-height:1.55;
margin:0 0 18px;
padding:0
}

.foot_address span,
.foot_address a {
display:flex;
align-items:flex-start;
gap:10px;
text-decoration:none;
color:inherit;
transition:color 0.2s ease;
margin:0;
padding:0
}

.foot_address a:hover,
.foot_address a:focus-visible { color:var(--navWhite) }

.foot_address i {
width:14px;
text-align:center;
font-size:0.8rem;
color:var(--navBeige);
line-height:1.55;
flex-shrink:0
}

.foot_social {
display:flex;
align-items:center;
gap:10px;
list-style:none;
margin:0 0 20px;
padding:0
}

.foot_social a {
display:flex;
align-items:center;
justify-content:center;
width:38px;
height:38px;
background-color:rgba(207, 187, 149, 0.08);
border:1px solid var(--navLine);
border-radius:50%;
text-decoration:none;
font-size:0.9rem;
color:var(--navBeige);
transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
margin:0;
padding:0
}

.foot_social a:hover,
.foot_social a:focus-visible {
background-color:rgba(207, 187, 149, 0.16);
border-color:var(--navBeige);
color:var(--navWhite)
}

.foot_legal {
display:flex;
flex-direction:column;
align-items:flex-start;
gap:6px;
margin:0;
padding:0
}

.foot_legal a {
text-decoration:none;
font-size:0.76rem;
color:rgba(207, 187, 149, 0.68);
line-height:1.5;
transition:color 0.2s ease;
margin:0;
padding:4px 0
}

.foot_legal a:hover,
.foot_legal a:focus-visible {
text-decoration:underline;
text-underline-offset:3px;
color:var(--navWhite)
}

/* ======== DERNIERS CONTENUS =========================================== */

#footerRecent {
position:relative;
width:100%;
border-top:1px solid var(--navLine);
margin:0;
padding:0
}

.foot_recent_in {
display:grid;
gap:32px;
grid-template-columns:repeat(2, minmax(0, 1fr));
width:90%;
max-width:1400px;
margin:0 auto;
padding:34px 0
}

.foot_recent_col {
min-width:0;
margin:0;
padding:0
}

.foot_recent_col .foot_links a {
display:-webkit-box;
overflow:hidden;
-webkit-line-clamp:2;
-webkit-box-orient:vertical
}

/* ======== BARRE BASSE ================================================= */

#footerBottom {
position:relative;
width:100%;
background-color:#150e0e;
border-top:1px solid var(--navLine);
margin:0;
padding:0
}

.foot_bottom_in {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
gap:12px 24px;
width:90%;
max-width:1400px;
margin:0 auto;
padding:16px 0
}

.foot_bottom_in p {
font-size:0.76rem;
color:rgba(207, 187, 149, 0.6);
line-height:1.5;
margin:0;
padding:0
}

#footerBottom .footer_dev { margin:0 }

#mainFooter :focus-visible {
outline:2px solid var(--navBeige);
outline-offset:2px
}

@media only screen and (max-width:1280px) {
	#footerGrid {
	gap:34px 28px;
	grid-template-columns:1.25fr repeat(2, minmax(0, 1fr))
	}
}

@media only screen and (max-width:860px) {
	.foot_cta_in {
	justify-content:flex-start;
	padding:26px 0
	}

	#footerGrid {
	gap:30px 24px;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	padding:40px 0 34px
	}

	.foot_recent_in { padding:28px 0 }
}

@media only screen and (max-width:640px) {
	.foot_cta_in,
	#footerGrid,
	.foot_recent_in,
	.foot_bottom_in { width:88% }

	.foot_cta_titre { font-size:0.98rem }

	.foot_cta_actions { width:100% }

	.foot_cta_actions .nav_btn { flex:1 1 190px }

	#footerGrid {
	gap:28px;
	grid-template-columns:1fr
	}

	.foot_recent_in { grid-template-columns:1fr }

	.foot_bottom_in {
	flex-direction:column;
	align-items:flex-start
	}
}

@media (prefers-reduced-motion: reduce) {
	.foot_links a,
	.foot_links a::before,
	.foot_address a,
	.foot_social a,
	.foot_legal a,
	.foot_logo img,
	.foot_cta_tel { transition:none }
}
