@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(polices/inter-latin-ext-0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(polices/inter-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(polices/inter-latin-ext-0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(polices/inter-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(polices/inter-latin-ext-0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(polices/inter-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(polices/inter-latin-ext-0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(polices/inter-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(polices/inter-latin-ext-0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(polices/inter-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair';font-style:normal;font-weight:400;font-display:swap;src:url(polices/playfair-latin-ext-2.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair';font-style:normal;font-weight:400;font-display:swap;src:url(polices/playfair-latin-3.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair';font-style:normal;font-weight:600;font-display:swap;src:url(polices/playfair-latin-ext-2.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair';font-style:normal;font-weight:600;font-display:swap;src:url(polices/playfair-latin-3.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair';font-style:normal;font-weight:700;font-display:swap;src:url(polices/playfair-latin-ext-2.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair';font-style:normal;font-weight:700;font-display:swap;src:url(polices/playfair-latin-3.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(polices/playfair-display-latin-ext-4.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(polices/playfair-display-latin-5.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(polices/playfair-display-latin-ext-4.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(polices/playfair-display-latin-5.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(polices/playfair-display-latin-ext-4.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(polices/playfair-display-latin-5.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(polices/playfair-display-latin-ext-4.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(polices/playfair-display-latin-5.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(polices/montserrat-latin-ext-6.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(polices/montserrat-latin-7.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(polices/montserrat-latin-ext-6.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(polices/montserrat-latin-7.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(polices/montserrat-latin-ext-6.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(polices/montserrat-latin-7.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Le Repère : feuille unique du site (accueil, en-tête, pied). Remplace Astra et Elementor. */

:root {
	--rp-nuit: #0f211e;
	--rp-sable: #efe6d6;
	--rp-encre: #141312;
	--rp-sapin: #163a34;
	--rp-boite: 1140px;
	--rp-h4: calc(1rem * 10 / 9);
}
@media (max-width: 1024px) { :root { --rp-boite: 1024px; } }
@media (max-width: 767px) { :root { --rp-boite: 767px; } }

html { font-size: 112.5%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (max-width: 921px) { html { font-size: 102.6%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: #fff;
	color: var(--rp-nuit);
	font-family: Inter, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.65;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { height: auto; max-width: 100%; vertical-align: middle; border: 0; }
a { color: inherit; }
main:focus { outline: 0; }

.rp-saut {
	position: absolute;
	left: 8px;
	top: -100px;
	z-index: 100;
	padding: 8px 16px;
	background: var(--rp-sable);
	color: var(--rp-nuit);
}
.rp-saut:focus { top: 8px; }

/* Bouton */
.rp-btn {
	display: inline-block;
	padding: 12px 60px;
	border: 1px solid var(--rp-sapin);
	border-radius: 4px;
	background: var(--rp-sapin);
	color: #fff;
	font-family: Playfair, sans-serif;
	font-size: var(--rp-h4);
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
}
.rp-btn:hover, .rp-btn:focus, .rp-btn:visited { color: #fff; }
.rp-btn-grand { font-size: 1.4em; }
.rp-btn-contour { padding: 12px 50px; border-color: var(--rp-sable); background: #163a3417; color: var(--rp-sable); }
.rp-btn-contour:visited { color: var(--rp-sable); }
.rp-btn-contour:hover, .rp-btn-contour:focus { background: var(--rp-sable); color: var(--rp-nuit); }
.rp-marge-btn { margin-bottom: 8px; }
@media (max-width: 767px) { .rp-btn { display: block; width: 100%; } }

/* Textes communs */
.rp-surtitre { margin: 0; color: #efe6d652; font-size: 1em; line-height: 1.2; text-transform: uppercase; }
.rp-titre { margin: 0; color: var(--rp-sable); font-family: "Playfair Display", sans-serif; font-size: 2em; font-weight: 600; line-height: 1.3; }
.rp-texte { margin: 0; color: var(--rp-sable); line-height: 1.3; }
.rp-ancre { display: block; height: 0; }

/* En-tête */
.rp-entete { position: relative; z-index: 20; }
.rp-bandeau {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 31px;
	padding: 0 50px;
	border-bottom: 1px solid rgba(240, 231, 216, .06);
	background: var(--rp-nuit);
	color: rgba(240, 231, 216, .43);
	font-size: 12px;
}
.rp-bandeau p { margin: 0; }
.rp-barre { display: flex; align-items: center; height: 79px; padding: 0 35px; background: #0c1a17; }
.rp-logo { display: block; line-height: 0; margin-right: auto; }
.rp-logo img { width: 43px; height: 43px; }
.rp-nav ul { display: flex; margin: 0; padding: 0; list-style: none; }
.rp-nav a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 5px 16.2px;
	color: var(--rp-sable);
	font-family: inter;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.6;
	text-decoration: none;
	text-transform: uppercase;
}
.rp-nav a::before {
	content: "";
	position: absolute;
	right: 50%;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: transparent;
	transform: scale(0, 0) translate(-50%, 0);
	transition: transform .3s ease-in-out, color 0s ease-in-out;
}
.rp-nav a:hover::before { width: calc(100% - 1.2em); background: currentColor; transform: scale(1, 1) translate(50%, 0); }
.rp-reseaux-entete { display: flex; gap: 25px; margin: 2.6px 0 0 20px; }
.rp-reseaux-entete a { display: inline-flex; }
.rp-reseaux-entete svg { display: block; width: 18px; height: 18px; fill: #f0e7d8; }
.rp-reseaux-entete a:hover svg { fill: #f9f6fe; }
.rp-bouton-menu { display: none; }
.rp-menu-mobile { display: none; }

@media (max-width: 1100px) { .rp-nav a { padding: 5px 9px; font-size: .78rem; white-space: nowrap; } .rp-reseaux-entete { gap: 16px; margin-left: 12px; } }
@media (max-width: 921px) {
	.rp-bandeau, .rp-nav, .rp-reseaux-entete { display: none; }
	.rp-barre { height: 100px; padding: 0 20px; }
	.rp-bouton-menu {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 50px;
		height: 50px;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--rp-sable);
		cursor: pointer;
	}
	.rp-bouton-menu svg { display: block; width: 25px; height: 25px; }
	.rp-bouton-menu .rp-icone-fermer { display: none; }
	.rp-bouton-menu[aria-expanded="true"] .rp-icone-ouvrir { display: none; }
	.rp-bouton-menu[aria-expanded="true"] .rp-icone-fermer { display: block; }
	.rp-menu-mobile { position: absolute; left: 0; right: 0; top: 100%; display: block; background: var(--rp-nuit); }
	.rp-menu-mobile[hidden] { display: none; }
	.rp-menu-mobile ul { margin: 0; padding: 0; list-style: none; }
	.rp-menu-mobile li a {
		display: block;
		padding: 5px 5px 5px 15px;
		border-bottom: 1px solid rgba(240, 231, 216, .16);
		color: var(--rp-sable);
		font-family: inter;
		font-size: 1.2em;
		line-height: 3;
		text-decoration: none;
	}
}
@media (max-width: 544px) { .rp-barre { height: 80px; } }
.rp-menu-contact { border-top: 1px solid rgba(255, 255, 255, .15); }
.rp-menu-contact a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 5px;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	font-family: inter;
	line-height: 2;
	text-align: center;
	text-decoration: none;
}
.rp-menu-contact a:hover { filter: brightness(1.15); }
.rp-menu-contact span { font-size: 11px; font-weight: 400; letter-spacing: .06em; opacity: .65; text-transform: lowercase; }
.rp-menu-contact strong { font-size: 14px; font-weight: 500; letter-spacing: .01em; }
.rp-contact-tel { background: #1b3a2d; color: #fff; }
.rp-contact-courriel { background: #224736; color: #fff; }
.rp-contact-resa { background: #f0e8d5; color: #1b3a2d; }
.rp-contact-resa strong { font-size: 15px; font-weight: 700; }

/* Héros */
.rp-hero { position: relative; padding: 0 3em; background: #000; overflow: hidden; }
.rp-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, #0a1614 0%, #000 78%);
	opacity: .91;
}
.rp-hero-fond { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.rp-hero-corps {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: var(--rp-boite);
	margin: 0 auto;
	padding: 9em 0 5em;
}
.rp-hero-logo, .rp-hero-gouverneur { text-align: center; }
.rp-hero-logo img { max-width: 254px; }
.rp-hero-gouverneur img { max-width: 151px; }
.rp-hero h1 { margin: 0; color: var(--rp-sable); font-family: "Playfair Display", sans-serif; font-size: 3.5em; font-weight: 600; line-height: 1.4; text-align: center; }
.rp-hero-actions { display: flex; justify-content: center; gap: 30px; }
.rp-hero-hotel { margin: 0; color: var(--rp-sable); font-size: .8em; line-height: 1.2; text-align: center; text-transform: uppercase; }
@media (max-width: 767px) {
	.rp-hero { padding: 0 2em; }
	.rp-hero-corps { padding: 7em 0 4em; }
	.rp-hero h1 { font-size: 2em; }
	.rp-hero-actions { flex-direction: column; gap: 20px; }
}
@media (prefers-reduced-motion: no-preference) {
	.rp-apparait { animation: rp-apparait 1.25s both; }
	.rp-d1 { animation-delay: .1s; }
	.rp-d2 { animation-delay: .2s; }
	.rp-d3 { animation-delay: .3s; }
}
@keyframes rp-apparait {
	from { opacity: .01; transform: translate3d(0, 100%, 0); }
	to { opacity: 1; transform: none; }
}

/* Horaire et informations */
.rp-infos { padding: 2em 2em 4em; background: var(--rp-sable); }
.rp-infos h2 { max-width: 900px; margin: 0 auto; padding: 10px; color: var(--rp-nuit); font-family: "Playfair Display", sans-serif; font-size: 2.5em; font-weight: 600; line-height: 1.3; text-align: center; }
.rp-infos-grille { display: flex; max-width: 900px; margin: 1em auto 0; }
.rp-infos-heures, .rp-infos-contact { display: flex; flex-direction: column; gap: 5px; width: 50%; padding: 0 2em; }
.rp-infos-heures { border-right: 1px solid #163a3414; }
.rp-infos-contact { padding-left: 3em; }
.rp-etiquette { margin: 0; color: #b3ada2; font-size: .8em; line-height: 1.2; text-transform: uppercase; }
.rp-heure { display: flex; align-items: center; justify-content: space-between; padding: 2px; font-size: .8em; }
.rp-heure + .rp-heure { margin-top: 1px; }
.rp-heure span:first-child { color: #887f75; }
.rp-heure span:last-child { color: var(--rp-nuit); font-weight: 500; text-align: right; }
.rp-valeur {
	margin: 0 0 20px;
	padding: 2px 4px 2px 8px;
	border-left: 3px solid var(--rp-sapin);
	border-radius: 4px;
	background: #163a340a;
	color: var(--rp-nuit);
	font-family: Playfair, serif;
	font-size: var(--rp-h4);
	font-weight: 600;
	line-height: 1.2;
}
.rp-valeur a { font-weight: 700; text-decoration: none; }
.rp-infos-carte { margin-bottom: 8px; }
.rp-stationnement { display: flex; align-items: flex-start; margin: 0; color: var(--rp-encre); font-size: .8em; line-height: 1.1; }
.rp-stationnement svg { flex: none; width: 11px; height: 11px; margin: 2px 2.75px 0 0; fill: var(--rp-sapin); }
.rp-stationnement span { padding-left: 5px; }
@media (max-width: 767px) {
	.rp-infos { padding: 2em 2em 3em; }
	.rp-infos h2 { padding: 0; }
	.rp-infos-grille { flex-direction: column; gap: 20px; }
	.rp-infos-heures, .rp-infos-contact { width: 100%; padding: 0; border: 0; }
}

/* Le restaurant */
.rp-restaurant { padding: 69px 30px 30px; background: var(--rp-nuit); }
.rp-restaurant-corps { display: flex; max-width: 1335px; margin: 0 auto; }
.rp-restaurant-texte { display: flex; flex-direction: column; justify-content: center; gap: 20px; width: 50%; padding: 2em 6em; }
.rp-restaurant-sceau img { max-width: 68px; opacity: .28; }
.rp-restaurant-photo { width: 50%; padding: 10px; text-align: center; }
.rp-restaurant-photo img { border-radius: 4px; }
@media (max-width: 767px) {
	.rp-restaurant { padding: 4em 2em 2em; }
	.rp-restaurant-corps { flex-direction: column; gap: 20px; }
	.rp-restaurant-texte { width: 100%; padding: 0; }
	.rp-restaurant-photo { width: 100%; padding: 0; }
}

/* Filets */
.rp-filet hr { max-width: var(--rp-boite); margin: 0 auto; border: 0; border-top: 1px solid #efe6d61a; }
.rp-filet-nuit { padding: 15px 0; background: var(--rp-nuit); }
.rp-filet-nuit hr { max-width: 1305px; }
.rp-filet-sapin { padding: 2px 0; background: var(--rp-sapin); }

/* Menus */
.rp-menus-tete { display: flex; max-width: none; padding: 2em max(2em, calc((100% - var(--rp-boite)) / 2)); background: var(--rp-nuit); }
.rp-menus-tete-g, .rp-menus-tete-d { display: flex; flex-direction: column; width: 50%; padding: 10px; }
.rp-menus-tete-g { gap: 5px; }
.rp-menus-tete-d { justify-content: flex-end; }
.rp-menus-tete-d p { margin: 0; color: #b3ada2; font-size: .8em; line-height: 1.2; text-align: end; }
.rp-menus { padding: 0 2em 2em; background: var(--rp-nuit); }
.rp-menus-corps { display: flex; gap: 20px; max-width: var(--rp-boite); margin: 0 auto; }
.rp-menu { display: flex; flex-direction: column; gap: 30px; width: 33%; padding: 50px; border: 1px solid #efe6d61a; border-radius: 4px; }
.rp-menu-tete { display: flex; gap: 20px; padding-bottom: 15px; border-bottom: 1px solid #efe6d61a; }
.rp-menu-tete h3 { width: 100%; margin: 0; color: var(--rp-sable); font-family: Playfair, serif; font-size: var(--rp-h4); font-weight: 600; line-height: 1.2; }
.rp-menu-tete p { width: 100%; margin: 0; color: var(--rp-sable); font-size: .9em; font-weight: 600; line-height: 1; text-align: end; }
.rp-menu-note { margin: 0; color: var(--rp-sable); font-size: .8em; line-height: 1.3; }
.rp-menu-texte { margin: 0; color: #efe6d66b; font-size: .8em; line-height: 1.3; }
.rp-menu-action { margin-top: auto; text-align: center; }
@media (max-width: 1024px) {
	.rp-menus-corps { flex-direction: column; }
	.rp-menu { width: 100%; }
}
@media (max-width: 767px) {
	.rp-menus-tete { flex-direction: column; }
	.rp-menus-tete-g, .rp-menus-tete-d { width: 100%; }
	.rp-menus-tete-d p { text-align: start; }
	.rp-menu-tete { flex-wrap: wrap; }
	.rp-menu-tete h3 { font-size: 2em; }
}

/* Galeries */
.rp-galerie { padding: 0 2em 2em; background: var(--rp-nuit); }
.rp-galerie-corps { display: flex; flex-direction: column; gap: 20px; max-width: 1447px; margin: 0 auto; }
.rp-ornement { text-align: center; }
.rp-ornement img { max-width: 745px; opacity: .1; }
@media (max-width: 1024px) { .rp-ornement img { max-width: 100%; } }
.rp-carrousel { position: relative; --rp-photos: 4; }
@media (max-width: 1023px) { .rp-carrousel { --rp-photos: 2; } }
@media (max-width: 766px) { .rp-carrousel { --rp-photos: 1; } }
.rp-carrousel-fenetre { overflow: hidden; touch-action: pan-y; }
.rp-carrousel-piste { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; will-change: transform; }
.rp-carrousel-photo { flex: 0 0 calc((100% - (var(--rp-photos) - 1) * 10px) / var(--rp-photos)); padding: 10px; }
.rp-carrousel-photo img { display: block; width: 100%; border-radius: 5px; -webkit-user-drag: none; }
.rp-carrousel-fleche {
	position: absolute;
	top: 50%;
	display: flex;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: rgba(238, 238, 238, .9);
	cursor: pointer;
	transform: translateY(-50%);
	z-index: 1;
}
.rp-carrousel-fleche svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.rp-prec { left: 0; }
.rp-suiv { right: 0; }
@media (max-width: 767px) {
	.rp-carrousel-photo { padding: 0; }
	.rp-carrousel-fleche { width: 24px; height: 24px; }
}

/* Salles */
.rp-salles { padding: 69px 30px 30px; background: var(--rp-sapin); }
.rp-salles-corps { display: flex; align-items: center; max-width: 1214px; margin: 0 auto; }
.rp-salles-g, .rp-salles-d { display: flex; flex-direction: column; gap: 20px; width: 50%; padding: 10px; }
.rp-salles-d .rp-texte { text-align: end; }
@media (max-width: 767px) {
	.rp-salles-corps { flex-direction: column; }
	.rp-salles-g, .rp-salles-d { width: 100%; }
	.rp-salles-d .rp-texte { text-align: start; }
}

/* Chiffres */
.rp-chiffres { padding: 1em 2em 3em; background: var(--rp-sapin); }
.rp-chiffres-corps { display: flex; max-width: var(--rp-boite); margin: 0 auto; }
.rp-chiffre { display: flex; flex-direction: column; align-items: center; width: 25%; padding: 10px; border-right: 1px solid #efe6d61a; text-align: center; }
.rp-chiffre:last-child { border-right: 0; }
.rp-chiffre strong { color: var(--rp-sable); font-family: "Playfair Display", sans-serif; font-size: 3em; font-weight: 600; line-height: 1; }
.rp-chiffre span { color: var(--rp-sable); font-size: .8em; line-height: 2.5; }
.rp-chiffre p { margin: 0; color: #efe6d657; font-size: .8em; line-height: 1; text-transform: uppercase; }
@media (max-width: 1024px) { .rp-chiffre strong { font-size: 2.5em; } }
@media (max-width: 767px) {
	.rp-chiffres { padding: 1em 1em 5em; }
	.rp-chiffres-corps { flex-wrap: wrap; }
	.rp-chiffre { width: 50%; }
	.rp-chiffre strong { font-size: 2em; }
	.rp-chiffre:nth-child(1) { border-width: 0 1px 1px 0; border-style: solid; border-color: #efe6d61a; }
	.rp-chiffre:nth-child(2) { border-width: 0 0 1px; border-style: solid; border-color: #efe6d61a; }
}

/* Certificat cadeau */
.rp-certificat { background: linear-gradient(180deg, #050505 34%, var(--rp-nuit) 100%); }
.rp-certificat-corps { display: flex; flex-direction: column; gap: 20px; max-width: var(--rp-boite); margin: 0 auto; }
.rp-certificat-image { text-align: center; }

/* Nous joindre */
.rp-joindre { background: var(--rp-nuit); }
.rp-joindre-tete { display: flex; flex-direction: column; gap: 5px; max-width: var(--rp-boite); margin: 0 auto; padding: calc(3em + 10px) 10px 10px; text-align: center; }
.rp-joindre-cartes { display: flex; gap: 20px; max-width: calc(1350px + 4em); margin: 0 auto; padding: 1em 2em; }
.rp-carte { display: flex; flex-direction: column; gap: 10px; align-items: center; width: 33%; flex-grow: 1; padding: 2em 1em; border: 1px solid #efe6d61a; border-radius: 4px; text-align: center; text-decoration: none; }
.rp-carte svg { display: block; width: 21px; height: 21px; margin-bottom: max(calc(1.65em - 21px), 8.1px); fill: var(--rp-sable); }
.rp-carte p { margin: 0; line-height: 1; }
.rp-carte-libelle { color: #efe6d673; font-size: .9em; font-weight: 600; }
.rp-carte-valeur { color: var(--rp-sable); font-family: "Playfair Display", sans-serif; font-size: 1.3em; }
.rp-carte-valeur a { font-family: Playfair, sans-serif; font-weight: 700; text-decoration: none; }
.rp-carte-1 { background: #163a3414; }
.rp-carte-2 { background: var(--rp-sapin); }
.rp-carte-3 { background: var(--rp-sable); }
.rp-carte-3 svg { margin-bottom: calc(1.65em - 19px); fill: var(--rp-nuit); }
.rp-carte-3 .rp-carte-libelle { color: var(--rp-sapin); }
.rp-carte-3 .rp-carte-valeur { color: var(--rp-nuit); font-size: 1.2em; font-weight: 700; }
@media (max-width: 1024px) {
	.rp-joindre-cartes { flex-direction: column; }
	.rp-carte { width: 100%; }
}
@media (max-width: 767px) {
	.rp-carte-valeur { font-size: 1.2em; }
	.rp-carte-3 .rp-carte-valeur { font-size: 1.3em; }
	.rp-carte-3 svg { margin-bottom: 9.1px; }
}

/* Réseaux */
.rp-reseaux { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: calc(1em + 10px) 1em calc(5em + 10px); background: var(--rp-nuit); }
.rp-reseaux-icones { display: flex; gap: 18px; }
.rp-reseaux-icones a { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 10%; background: var(--rp-sapin); }
.rp-reseaux-icones svg { display: block; width: 25px; height: 25px; fill: var(--rp-sable); }
.rp-badge { display: block; margin-top: 20px; line-height: 0; }
.rp-badge img { max-width: 200px; }

/* Pied */
.rp-pied { display: flex; align-items: center; padding: 10px; border-top: 1px solid #efe6d61c; background: var(--rp-nuit); }
.rp-pied > * { flex: 1 1 0; margin: 0; padding: 10px; color: #efe6d673; font-size: .7em; line-height: 1; text-align: center; text-transform: uppercase; }
.rp-pied > a { color: #efe6d6b3; text-decoration: none; }
.rp-pied > a:hover { color: var(--rp-sable); text-decoration: underline; }
.rp-pied-credit { font-size: 1em; line-height: 1.65; }
.rp-pied-credit a { font-family: Playfair, sans-serif; font-weight: 700; }
.rp-pied-credit img { max-width: 150px; }
@media (max-width: 767px) {
	.rp-pied { flex-wrap: wrap; }
	.rp-pied > * { flex: 1 1 100%; }
}

/* Retour en haut */
.rp-haut {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 99;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 31.5px;
	height: 31.5px;
	border-radius: 2px;
	background: var(--rp-nuit);
	color: #fff;
}
.rp-haut[hidden] { display: none; }
.rp-haut svg { display: block; width: 15px; transform: rotate(180deg); }

/* Témoins */
.rp-temoins {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 100;
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: min(420px, calc(100% - 40px));
	padding: 20px;
	border: 1px solid #efe6d633;
	border-radius: 4px;
	background: var(--rp-nuit);
	color: var(--rp-sable);
	font-size: 15px;
	line-height: 1.45;
}
.rp-temoins[hidden] { display: none; }
.rp-temoins-texte { margin: 0; }
.rp-temoins-texte a { color: var(--rp-sable); }
.rp-temoins-actions { display: flex; gap: 10px; }
.rp-temoins-btn {
	flex: 1 1 0;
	min-height: 44px;
	padding: 8px 16px;
	border: 1px solid var(--rp-sable);
	border-radius: 4px;
	background: transparent;
	color: var(--rp-sable);
	font: 600 16px/1 Playfair, sans-serif;
	cursor: pointer;
}
.rp-temoins-btn:hover { background: #efe6d61f; }
.rp-temoins-btn--oui { background: var(--rp-sable); color: var(--rp-nuit); }
.rp-temoins-btn--oui:hover { background: #fff; }
@media (max-width: 767px) { .rp-temoins { left: 12px; bottom: 12px; width: calc(100% - 24px); padding: 16px; } }

/* Pages génériques */
.rp-generique { display: flex; flex-direction: column; align-items: center; gap: 20px; min-height: 50vh; padding: 5em 2em; background: var(--rp-nuit); color: var(--rp-sable); text-align: center; }
.rp-generique h1 { margin: 0; font-family: "Playfair Display", sans-serif; font-size: 2.5em; font-weight: 600; line-height: 1.3; }
.rp-generique-texte { width: 100%; max-width: 760px; font-size: .95em; text-align: left; }
.rp-generique-texte h2 { margin: 1.8em 0 .4em; font-family: "Playfair Display", sans-serif; font-size: 1.45em; font-weight: 600; line-height: 1.25; }
.rp-generique-texte p, .rp-generique-texte ul { margin: 0 0 1em; }
.rp-generique-texte ul { padding-left: 1.2em; }
.rp-generique-texte a { color: var(--rp-sable); text-decoration: underline; }
.rp-generique-date { color: #efe6d6b3; font-size: .9em; }
