/*
 * Maison de Bacon — surcharges globales (habillage concept).
 *
 * Source de vérité visuelle : /concept/styles.css
 * Cible : header Elementor (template MDB Header) + composants globaux.
 */

/* Garde-fou global anti-overflow horizontal.
   Symptôme : à certaines largeurs intermédiaires, un widget Elementor
   (instagram strip, srcset large, etc.) pouvait pousser le <body> au-delà
   de 100vw, créant une bande blanche à droite + un mini scroll horizontal
   trompeur. On verrouille html/body à la largeur du viewport et on coupe
   le débordement. Les éléments « full-bleed » qui en ont besoin (header
   fixed, switcher) ne sont pas concernés (ils sont position:fixed). */
html,
body {
	max-width: 100vw;
	overflow-x: hidden;
}

/* =========================================================
   HEADER — barre minimaliste façon Terre Blanche
   MENU (gauche) · logo (centre) · Carte cadeau + Réserver (droite)
   Cible le template Elementor MDB Header (classes .mdb-header*)
   ========================================================= */
/* header.mdb-header (élément + classe) bat la spécificité des règles
   .elementor-section d'Elementor. !important sur position/left/width pour
   neutraliser le style inline « stretched » qu'Elementor pose en JS
   (style="width:1920px;left:0px") et qui empêchait le header de rester collé. */
header.mdb-header,
.mdb-header {
	position: fixed !important;
	top: 0;
	left: 0 !important;
	right: 0;
	z-index: var(--mdb-z-nav);
	width: 100% !important;
	max-width: 100vw;
	overflow: hidden;
	background: var(--mdb-navy-deep);
	border-bottom: 1px solid rgba(177, 137, 84, 0.22);
	transition: box-shadow 0.45s var(--mdb-ease);
}
.mdb-header > .elementor-container {
	max-width: var(--mdb-wrap-max);
	margin-inline: auto;
	padding-inline: var(--mdb-gutter);
}
body.mdb-scrolled .mdb-header {
	box-shadow: 0 8px 30px -12px rgba(9, 26, 45, 0.55);
}

/* Logo parfaitement centré dans sa colonne */
.mdb-header__logo .elementor-widget-container,
.mdb-header__logo img { margin-inline: auto; }

/* --- Bouton MENU (gauche) --- */
.mdb-menu-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	background: none;
	border: 0;
	padding: 6px 0;
	cursor: pointer;
	color: var(--mdb-cream);
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.74rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.mdb-menu-toggle__bars {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 24px;
}
.mdb-menu-toggle__bars span {
	display: block;
	height: 1px;
	background: var(--mdb-gold-bright);
	transition: width 0.4s var(--mdb-ease), background 0.3s var(--mdb-ease);
}
.mdb-menu-toggle__bars span:first-child { width: 24px; }
.mdb-menu-toggle__bars span:last-child  { width: 16px; }
/* Au survol : seules les BARRES réagissent (la 2e s'allonge). Le TEXTE « MENU »
   ne bouge pas — on verrouille sa couleur sur la teinte de repos car le reset
   Hello (button:hover{color:#fff}) le passait en blanc. */
.mdb-menu-toggle,
.mdb-menu-toggle:hover,
.mdb-menu-toggle:focus { color: var(--mdb-cream); }
.mdb-menu-toggle:hover .mdb-menu-toggle__bars span:last-child { width: 24px; }

/* Hello Elementor (reset.css) applique `button:hover,button:focus{
   background-color:#c36;color:#fff}` à TOUT <button> nu du site — d'où le fond
   rose au survol (toggle MENU, croix du panneau, etc.). On neutralise ce reset
   globalement : un bouton non stylé ne doit pas hériter d'un fond de couleur.
   Les vrais boutons (Elementor, .mdb-btn) ont leurs propres styles plus
   spécifiques et ne sont pas affectés. */
button:hover,
button:focus,
[type="button"]:hover,
[type="button"]:focus,
[type="submit"]:hover,
[type="submit"]:focus {
	background-color: transparent;
	/* On ne touche PAS à la couleur ici : `color: inherit` forçait certains
	   boutons (ex. toggle MENU) à hériter du #333 de leur conteneur Elementor au
	   survol. Chaque bouton gère sa propre couleur. */
}

/* --- Boutons d'action (droite) --- */
.mdb-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(0.6rem, 1.4vw, 1.1rem);
}
.mdb-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	padding: 0.7rem 1.3rem;
	border: 1px solid transparent;
	transition: background 0.4s var(--mdb-ease), color 0.4s var(--mdb-ease), border-color 0.4s var(--mdb-ease);
}
.mdb-btn__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--mdb-gold);
	flex-shrink: 0;
	transition: background 0.4s var(--mdb-ease);
}
.mdb-btn--ghost {
	background: transparent;
	color: var(--mdb-cream);
	border-color: rgba(244, 236, 220, 0.4);
}
.mdb-btn--ghost:hover {
	background: var(--mdb-gold);
	color: var(--mdb-navy-deep);
	border-color: var(--mdb-gold);
}
.mdb-btn--ghost:hover .mdb-btn__dot { background: var(--mdb-navy-deep); }
.mdb-btn--solid {
	background: var(--mdb-gold);
	color: var(--mdb-navy-deep);
	border-color: var(--mdb-gold);
}
.mdb-btn--solid:hover {
	background: var(--mdb-gold-bright);
	border-color: var(--mdb-gold-bright);
}
.mdb-btn--block { width: 100%; justify-content: center; padding-block: 0.95rem; }

/* --- Pont boutons NATIFS Elementor dans le header ---------------------------
   Depuis 0.9.245, les CTA du header sont des widgets Bouton Elementor (éditables
   sans HTML par l'éditrice) portant les classes `mdb-btn` + variante. Elementor
   les rend en `<div class="elementor-button-wrapper"><a class="elementor-button">`.
   On neutralise le wrapper et on rhabille `.elementor-button` avec le look
   `.mdb-btn` — même grammaire que le hero (.mdb-hero__cta). La classe de variante
   (mdb-btn--solid / --ghost) posée sur le widget atterrit sur `.elementor-button`,
   donc les règles .mdb-btn--solid/.--ghost plus haut s'appliquent telles quelles. */
/* Cible `.mdb-header__actions` ET `#mdbhdrcta` : le conteneur natif porte l'id
   stable `mdbhdrcta` (posé par nous), et la classe mdb-header__actions quand
   Elementor la restitue. Les deux visent le même élément. */
/* Le conteneur natif Elementor rend `e-con e-flex` mais en COLONNE par défaut :
   on force la rangée horizontale (burger | boutons | drapeaux), alignée à droite,
   comme l'ancien .mdb-header__actions. */
#mdbhdrcta.e-con,
.mdb-header__actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(0.6rem, 1.4vw, 1.1rem);
	width: auto;
}
.mdb-header__actions .elementor-button-wrapper,
#mdbhdrcta .elementor-button-wrapper { display: inline-flex; }
.mdb-header__actions .elementor-button,
#mdbhdrcta .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	padding: 0.7rem 1.3rem;
	border: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	transition: background 0.4s var(--mdb-ease), color 0.4s var(--mdb-ease), border-color 0.4s var(--mdb-ease);
}

/* Le WRAPPER du widget bouton (div .elementor-element-*) doit ÉPOUSER son bouton,
   pas se laisser comprimer. Par défaut Elementor le rend en flex-item shrinkable
   (flex: 0 1 auto) avec une largeur calculée courte : le <a> intérieur (plus
   large, overflow visible) débordait alors des deux côtés du cadre et
   chevauchait le voisin + les drapeaux. On fige le wrapper à sa largeur de
   contenu (flex: 0 0 auto, width auto) pour que le libellé reste DANS le cadre. */
#mdbhdrcta > .elementor-element,
#mdbhdrcta > .elementor-widget-button,
.mdb-header__actions > .elementor-element,
.mdb-header__actions > .elementor-widget-button {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
}
#mdbhdrcta .elementor-button,
#mdbhdrcta a.mdb-btn,
.mdb-header__actions .elementor-button,
.mdb-header__actions a.mdb-btn { width: auto; }

/* Icône « lien externe » (flèche ↗) à droite du libellé des CTA du header qui
   sortent du site (Réserver → Zenchef, nouvel onglet). Ciblée par
   target="_blank" (posé par « is_external » du widget Bouton) : tout CTA
   externe la reçoit quel que soit le libellé saisi par l'éditrice, et un CTA
   repointé vers une page interne la perd tout seul. Masque SVG +
   background currentColor : la flèche suit la couleur du texte sur chaque
   variante et au survol (navy/gold MdB, sable/clay RT). L'espacement vient du
   gap flex du bouton (0.55rem), comme le point .mdb-btn__dot. */
#mdbhdrcta .elementor-button[target="_blank"]::after,
.mdb-header__actions .elementor-button[target="_blank"]::after,
.mdb-header__actions a.mdb-btn[target="_blank"]::after {
	content: "";
	width: 0.7em;
	height: 0.7em;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 9.5 9.5 2.5M4 2.5h5.5V8' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 9.5 9.5 2.5M4 2.5h5.5V8' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: background-color 0.4s var(--mdb-ease);
}

/* Sur petit écran : on masque les BOUTONS du header (Voir la carte + Réserver)
   et le label du MENU — le « Réserver » est déjà présent dans le hero + le CTA
   flottant, donc redondant dans la barre. Les drapeaux FR/GB restent : c'est
   le seul sélecteur de langue du site (retiré du panneau mega-menu). */
@media (max-width: 880px) {
	.mdb-header__actions .mdb-btn,
	.mdb-header__actions .elementor-button-wrapper,
	#mdbhdrcta .elementor-widget-button { display: none; }
	.mdb-menu-toggle__label { display: none; }

	/* Barre sur UNE seule ligne : burger | logo | drapeaux. Sous 768px les
	   colonnes Elementor passent en width:100% et s'empilaient (burger, logo
	   et sélecteur sur 3 rangées → barre très haute). On force le rang flex ;
	   col1/col3 en flex:1 égaux pour que le logo reste réellement centré. */
	.mdb-header > .elementor-container {
		display: flex !important;
		flex-flow: row nowrap !important;
	}
	.mdb-header > .elementor-container > .elementor-column { width: auto !important; }
	.mdb-header .elementor-element-mdbhdrcol1,
	.mdb-header .elementor-element-mdbhdrcol3 { flex: 1 1 0 !important; }
	.mdb-header .elementor-element-mdbhdrcol2 { flex: 0 0 auto !important; }

	/* Barre fine sur mobile. On impose une hauteur compacte au CONTENEUR du
	   header et on force les 3 colonnes (.elementor-column) à cette hauteur,
	   centrées verticalement. Le surcroît venait des colonnes (142px) que les
	   réglages desktop Elementor étiraient ; on les borne ici explicitement. */
	header.mdb-header,
	.mdb-header { padding-top: 6px !important; padding-bottom: 6px !important; }
	.mdb-header > .elementor-container {
		min-height: 0 !important;
		align-items: center !important;
	}
	.mdb-header > .elementor-container > .elementor-column {
		min-height: 0 !important;
		height: auto !important;
		align-self: center !important;
	}
	.mdb-header > .elementor-container > .elementor-column > .elementor-widget-wrap {
		align-content: center !important;
	}
	.mdb-header__logo,
	.mdb-header__logo .elementor-widget-container {
		margin: 0 !important;
		padding: 0 !important;
	}
	/* Logo : SVG 247×138 (viewBox seul) ; height fixe + width:auto garde le
	   ratio. Conteneurs en flex centré pour qu'il ne crée pas de hauteur morte. */
	.mdb-header .mdb-header__logo,
	.mdb-header .mdb-header__logo .elementor-widget-wrap,
	.mdb-header .mdb-header__logo .elementor-widget-container {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	.mdb-header .mdb-header__logo img {
		height: 44px !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 !important;
	}
}

/* =========================================================
   MEGA-MENU OFF-CANVAS (panneau latéral)
   ========================================================= */
.mdb-panel,
.mdb-panel *,
.mdb-panel *::before,
.mdb-panel *::after { box-sizing: border-box; }
.mdb-panel {
	position: fixed;
	inset: 0;
	z-index: var(--mdb-z-mobile-panel);
	visibility: hidden;
	pointer-events: none;
	/* À la fermeture, on retarde le passage en visibility:hidden le temps que
	   le panneau ait fini de glisser dehors (sinon il disparaîtrait net). */
	transition: visibility 0s linear 0.55s;
}
.mdb-panel.is-open {
	visibility: visible;
	pointer-events: auto;
	transition: visibility 0s linear 0s;
}

.mdb-panel__overlay {
	position: absolute;
	inset: 0;
	background: rgba(9, 26, 45, 0.55);
	opacity: 0;
	transition: opacity 0.5s var(--mdb-ease);
}
.mdb-panel.is-open .mdb-panel__overlay { opacity: 1; }

/* Colonne rubriques (gauche) — crème, comme la référence.
   z-index supérieur au sous-panneau : ce dernier émerge de DERRIÈRE le nav en
   glissant vers la droite (slide gauche→droite bien visible). */
.mdb-panel__nav {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: min(420px, 88vw);
	background: var(--mdb-cream);
	color: var(--mdb-navy-deep);
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 3vw, 2.4rem);
	transform: translateX(-100%);
	transition: transform 0.55s var(--mdb-ease);
	overflow-y: auto;
	z-index: 2;
}
.mdb-panel.is-open .mdb-panel__nav { transform: translateX(0); }

.mdb-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: clamp(1.5rem, 4vw, 2.6rem);
}
.mdb-panel__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: 0 0 auto;
	border-radius: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
	font-size: 1.9rem;
	line-height: 1;
	color: var(--mdb-navy-deep);
	transition: color 0.3s var(--mdb-ease);
}
.mdb-panel__close:hover { background: transparent; color: var(--mdb-gold-deep); }
/* (Le sélecteur de langue du panneau a déménagé dans la barre de navigation :
   drapeaux FR/GB injectés dans .mdb-header__actions, cf. .mdb-header__lang.) */

.mdb-panel__eyebrow {
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.7rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
	margin: 0 0 0.8rem;
}
.mdb-panel__list { list-style: none; margin: 0; padding: 0; }
.mdb-panel__item + .mdb-panel__item { margin-top: 0.15rem; }
/* Filet de séparation entre items du menu (clé `divider` before/after). Même
   trait léger que les autres filets du panneau ; marge verticale propre. */
.mdb-panel__rule {
	height: 0;
	border-top: 1px solid var(--mdb-rule);
	margin: 0.9rem 0;
	list-style: none;
}
.mdb-panel__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.4rem 0;
	text-decoration: none;
	color: var(--mdb-navy-deep);
	font-family: var(--mdb-font-display);
	/* Floor abaissé 1.5→1.4rem (2026-07-01) pour que « Villa Les Roches de Bacon »
	   (le plus long) tienne sur une seule ligne dans le panneau, à la MÊME taille
	   que les autres liens (cf. nowrap plus bas). Cap desktop inchangé (1.9rem). */
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 400;
	line-height: 1.1;
	transition: color 0.3s var(--mdb-ease);
}
.mdb-panel__link:hover,
.mdb-panel__link.is-active { color: var(--mdb-gold-deep); }
.mdb-panel__item.is-active .mdb-panel__link { font-weight: 600; }
/* 2026-07-01 : tous les libellés du panneau tiennent sur UNE ligne (demande
   client), à TAILLE UNIFORME. « Villa Les Roches de Bacon » est le plus long ;
   plutôt que de le rétrécir seul (deux tailles = incohérent), on `nowrap` tous
   les liens — la taille de base `.mdb-panel__link` (clamp ci-dessus) est calée
   pour que même ce libellé rentre dans la largeur du panneau off-canvas
   (≈334px de contenu sur mobile) sans déborder. */
.mdb-panel__link > span { white-space: nowrap; }
.mdb-panel__chevron {
	font-size: 1.6rem;
	color: var(--mdb-gold-deep);
	opacity: 1;
	flex: 0 0 auto;
}

/* Liens secondaires (Carte cadeau, Nous trouver) — juste sous le menu, séparés
   par un filet, comme la référence Terre Blanche. Pas collés au bas du panneau. */
.mdb-panel__secondary {
	list-style: none;
	margin: 1.6rem 0 1.6rem;
	padding: 1.6rem 0 0;
	border-top: 1px solid var(--mdb-rule);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.mdb-panel__secondary a {
	text-decoration: none;
	color: var(--mdb-navy-deep);
	font-family: var(--mdb-font-display);
	font-size: 1.15rem;
	transition: color 0.3s var(--mdb-ease);
}
.mdb-panel__secondary a:hover { color: var(--mdb-gold-deep); }

/* Bloc CTA + réseaux — directement sous les liens secondaires, séparé par un
   filet. Pas de margin-top: auto : on ne le pousse PAS au bas du panneau. */
.mdb-panel__foot {
	padding-top: 1.6rem;
	border-top: 1px solid var(--mdb-rule);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.3rem;
}
.mdb-panel__foot .mdb-btn--block { width: 100%; max-width: 100%; border-radius: 0; }

.mdb-panel__social {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.1rem;
	justify-content: center;
}
.mdb-panel__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--mdb-navy-deep);
	opacity: 0.75;
	transition: opacity 0.3s var(--mdb-ease), color 0.3s var(--mdb-ease);
}
.mdb-panel__social a:hover { opacity: 1; color: var(--mdb-gold-deep); }

/* Sous-panneau (droite) — conteneur de la bande blanche. Il définit la zone
   (position/taille) et masque le débordement ; les VOLETS à l'intérieur portent
   le fond blanc et glissent. Le conteneur lui-même ne glisse plus : ce sont les
   volets qui animent l'entrée/sortie/changement. */
.mdb-panel__sub {
	position: absolute;
	top: 0;
	left: min(420px, 88vw);
	height: 100%;
	width: min(420px, 80vw);
	pointer-events: none;
	overflow: hidden;            /* coupe les volets qui sortent à gauche */
}
.mdb-panel.is-open .mdb-panel__sub.is-open { pointer-events: auto; }

/* Chaque VOLET = une couche plein-format dans le sous-panneau. Au repos il est
   hors écran à gauche et masqué. */
.mdb-panel__pane {
	position: absolute;
	inset: 0;
	background: #fff;
	color: var(--mdb-navy-deep);
	padding: clamp(2.4rem, 4vw, 3.4rem) clamp(1.6rem, 3vw, 2.6rem);
	overflow-y: auto;
	transform: translateX(-100%);
	opacity: 0;
	transition: transform 0.54s var(--mdb-ease), opacity 0.44s var(--mdb-ease);
	will-change: transform;
}
.mdb-panel__pane[hidden] { display: none; }

/* Volet courant : en place, opaque, interactif. */
.mdb-panel__pane.is-current {
	transform: translateX(0);
	opacity: 1;
	z-index: 2;
}
/* Volet entrant : point de départ hors écran à gauche, AU-DESSUS du sortant,
   prêt à glisser vers translateX(0) (passe is-current la frame suivante). */
.mdb-panel__pane.is-entering {
	transform: translateX(-100%);
	opacity: 1;
	z-index: 3;
}
/* Volet sortant : repart vers la gauche en se fondant, EN DESSOUS de l'entrant.
   Comme l'entrant démarre aussi à gauche mais le recouvre (z-index sup.), on lit
   bien le nouveau volet qui pousse l'ancien — même couloir, mouvements croisés. */
.mdb-panel__pane.is-leaving {
	transform: translateX(-100%);
	opacity: 0;
	z-index: 1;
}

/* Croix de fermeture du sous-panneau — masquée sur desktop (les deux colonnes
   sont visibles côte à côte, la croix du nav suffit), affichée sur mobile où le
   sous-panneau recouvre la liste plein écran (modèle Terre Blanche). */
.mdb-panel__pane-close {
	display: none;
	position: absolute;
	top: clamp(1.2rem, 3vw, 1.8rem);
	right: clamp(1.2rem, 3vw, 1.8rem);
	z-index: 10;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--mdb-gold);
	border: 0;
	cursor: pointer;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--mdb-cream);
	box-shadow: 0 2px 10px rgba(9, 26, 45, 0.25);
	transition: background 0.3s var(--mdb-ease);
}
.mdb-panel__pane-close:hover { background: var(--mdb-gold-deep); }

.mdb-panel__media {
	width: min(260px, 100%);
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 0 64px 0 0;
	margin-bottom: 1.8rem;
	background: var(--mdb-cream-warm);
}
.mdb-panel__media img { width: 100%; height: 100%; object-fit: cover; }
.mdb-panel__sublist { list-style: none; margin: 0 0 1.6rem; padding: 0; }
.mdb-panel__sublist li + li { margin-top: 0.6rem; }
/* Intitulé de groupe dans un sous-panneau (« Cartes » / « Menus ») : même
   traitement que l'eyebrow du panneau. Espace au-dessus de chaque groupe sauf
   le premier ; le filet visuel reste léger pour ne pas alourdir la colonne. */
.mdb-panel__subgroup {
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.68rem;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
	margin: 0 0 0.55rem;
}
.mdb-panel__subgroup + li { margin-top: 0 !important; }
.mdb-panel__sublist li.mdb-panel__subgroup + li { margin-top: 0; }
.mdb-panel__subgroup ~ .mdb-panel__subgroup,
li + .mdb-panel__subgroup { margin-top: 1.4rem !important; }
.mdb-panel__sublink {
	text-decoration: none;
	color: var(--mdb-navy-deep);
	font-family: var(--mdb-font-display);
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
	line-height: 1.2;
	transition: color 0.3s var(--mdb-ease);
}
.mdb-panel__sublink:hover { color: var(--mdb-gold-deep); }
.mdb-panel__discover {
	display: inline-block;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.68rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--mdb-navy-deep);
	border: 1px solid var(--mdb-rule);
	border-radius: 999px;
	padding: 0.6rem 1.2rem;
	transition: background 0.3s var(--mdb-ease), color 0.3s var(--mdb-ease);
}
.mdb-panel__discover:hover { background: var(--mdb-navy-deep); color: var(--mdb-cream); }

/* Verrouille le scroll du body quand le panneau est ouvert */
body.mdb-panel-open { overflow: hidden; }

/* Sélecteur de langue — drapeaux FR/GB dans la barre de navigation, à droite
   du bouton « Réserver » (markup injecté par le filtre mdbhdrcta, functions.php).
   Langue active : drapeau plein + fin liseré crème ; l'autre est estompé.
   Les drapeaux étant auto-colorés, le même style tient sur navy (MdB) et
   terracotta (Roof Top) sans surcharge body.mdb-rt. */
.mdb-lang {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	white-space: nowrap;
}
.mdb-header__lang { margin-left: 0.2rem; }
.mdb-lang__flag {
	display: inline-flex;
	padding: 6px 0; /* élargit la zone de clic sans grossir le drapeau */
	opacity: 0.45;
	transition: opacity 0.3s var(--mdb-ease);
}
.mdb-lang__flag svg {
	display: block;
	border-radius: 2px;
}
.mdb-lang__flag:hover,
.mdb-lang__flag:focus-visible { opacity: 1; }
.mdb-lang__flag.is-active { opacity: 1; }
.mdb-lang__flag.is-active svg {
	outline: 1px solid rgba(244, 236, 220, 0.8);
	outline-offset: 2px;
}

/* MOBILE — le panneau et son sous-panneau remplissent l'écran. Le conteneur du
   sous-panneau recouvre la liste des rubriques (plein écran) ; ce sont les
   VOLETS à l'intérieur qui glissent (même couloir que desktop). Croix de
   fermeture en haut à droite.
   Breakpoint à 880px : c'est là que le label du toggle disparaît (l.154) et que
   le hamburger devient la nav principale ; le panneau doit donc être plein écran
   jusqu'à cette largeur, sinon il reste coincé à 420px sur les grands mobiles /
   petites tablettes (bouton décentré, filets qui débordent). */
@media (max-width: 880px) {
	.mdb-panel__nav { width: 100%; }
	.mdb-panel__sub {
		left: 0;
		width: 100%;
		z-index: 3; /* au-dessus du nav (z-index: 2) */
	}
	.mdb-panel__pane-close { display: flex; }
}

/* Le header est position:fixed → il sort du flux et recouvre le haut du
   contenu. Sur les pages dont la 1re section est un hero plein écran
   (fond image/vidéo sombre), c'est voulu : le hero passe sous le header.
   Ailleurs, on pousse le contenu vers le bas via une classe body posée par
   functions.php (mdb-needs-header-offset).
   Avec le bandeau switcher (28px) il faut décaler le header de 28px aussi. */
body.mdb-needs-header-offset .elementor-location-header ~ .e-con,
body.mdb-needs-header-offset .site-content,
/* Pages en template PHP classique (ex. /rendez-vous) : Hello Elementor les
   enveloppe dans main.site-main (les pages Elementor, elles, sont en template
   elementor_header_footer SANS .site-main → pas de double padding). */
body.mdb-needs-header-offset .site-main,
body.mdb-needs-header-offset .elementor-location-header + div[data-elementor-type="wp-page"],
body.mdb-needs-header-offset .elementor-location-header + div[data-elementor-type="single-post"] {
	/* Hauteur réelle bandeau + barre, mesurée par sticky-cta.js : la barre est
	   en hauteur naturelle (contenu éditable), un clamp statique finit faux
	   (bug « La Carte » 2026-07-13, barre 133px + bandeau 28px > 132px max).
	   Le fallback ne sert qu'avant le JS / sans JS. */
	padding-top: var(--mdb-header-clearance, 172px);
}

/* Ancrage : compenser le header fixe + le bandeau switcher pour les liens #section */
:target { scroll-margin-top: calc(var(--mdb-header-clearance, 172px) + 12px); }

/* =========================================================
   BRAND SWITCHER — bandeau global au-dessus de la navbar
   Maison de Bacon | Le Roof Top, l'actif coloré dans sa marque.
   Rendu par functions.php / wp_body_open. Présent partout (chrome global).
   Architecture : positionné fixed top:0, le header (.mdb-header) recule de
   28px (top:28px) ; le footer reste inchangé.
   ========================================================= */
.mdb-brandswitch {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: calc(var(--mdb-z-nav) + 1); /* au-dessus du header fixe (80) */
	height: 28px;
	background: var(--mdb-cream); /* bandeau clair (Nicole 2026-07-13), détaché du header sombre */
	border-bottom: 1px solid var(--mdb-rule);
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.68rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(9, 26, 45, 0.65);
}
.mdb-brandswitch__inner {
	max-width: var(--mdb-wrap-max);
	margin-inline: auto;
	padding-inline: var(--mdb-gutter);
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.9rem;
}
.mdb-brandswitch__item {
	color: rgba(9, 26, 45, 0.65); /* navy-deep à 65 % : AA (>=4.5:1) sur crème */
	text-decoration: none;
	padding: 2px 4px;
	transition: color 0.3s var(--mdb-ease);
}
.mdb-brandswitch__item:hover { color: var(--mdb-navy-deep); }
.mdb-brandswitch__item.is-active {
	color: var(--mdb-gold-deep-aa); /* MdB actif = laiton foncé, AA sur crème */
}
.mdb-brandswitch__item--rt.is-active {
	color: var(--rt-terracotta-deep, #b54115); /* RT actif = terracotta foncé, AA sur crème */
}
.mdb-brandswitch__sep {
	color: rgba(138, 103, 54, 0.55); /* laiton foncé, décoratif */
}
/* Le header fixe recule sous le bandeau switcher. */
header.mdb-header,
.mdb-header { top: 28px !important; }

/* Mobile : on garde le bandeau (chrome global, important pour la nav).
   Hauteur identique pour cohérence ; on serre seulement le tracking. */
@media (max-width: 768px) {
	.mdb-brandswitch { font-size: 0.62rem; letter-spacing: 0.18em; }
	.mdb-brandswitch__inner { gap: 0.6rem; padding-inline: 1rem; }
}

/* Vidéo de fond du hero — désormais self-hosted (MP4), plus d'embed YouTube :
   aucun chrome (titre, bouton pause, contrôles). La balise <video> couvre la
   section sans déborder. On neutralise tout clic par sécurité. */
.elementor-background-video-container { pointer-events: none; }

/* =========================================================
   STICKY RESERVATION CTA (toutes pages)
   ========================================================= */
.mdb-sticky-cta {
	position: fixed;
	right: clamp(1rem, 2.5vw, 2rem);
	bottom: clamp(1rem, 2.5vw, 2rem);
	z-index: var(--mdb-z-sticky-cta);

	display: inline-flex;
	align-items: center;
	gap: 0.75rem;

	padding: 0.95rem 1.5rem;
	border-radius: 999px;

	font-family: var(--mdb-font-eyebrow);
	font-size: 0.8rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--mdb-navy-deep);

	background: var(--mdb-gold);
	box-shadow: 0 12px 28px rgba(9, 26, 45, 0.28);

	transform: translateY(120%);
	opacity: 0;
	transition:
		transform 320ms cubic-bezier(0.2, 0.6, 0.2, 1),
		opacity 220ms ease,
		background-color 220ms ease,
		color 220ms ease,
		box-shadow 220ms ease;
}

.mdb-sticky-cta.is-visible {
	transform: translateY(0);
	opacity: 1;
}

.mdb-sticky-cta:hover,
.mdb-sticky-cta:focus-visible {
	background: var(--mdb-navy-deep);
	color: var(--mdb-cream);
	box-shadow: 0 16px 32px rgba(9, 26, 45, 0.42);
}

.mdb-sticky-cta__arrow {
	display: inline-block;
	transform: translateX(0);
	transition: transform 220ms ease;
}

.mdb-sticky-cta:hover .mdb-sticky-cta__arrow,
.mdb-sticky-cta:focus-visible .mdb-sticky-cta__arrow {
	transform: translateX(3px);
}

/* Masque la sticky CTA quand on est dans la section #reserver de la page OU
 * quand le footer est visible (doublon avec le bouton Réserver de la barre nav,
 * et chevauchement avec la barre légale). */
body.mdb-reserver-in-view .mdb-sticky-cta,
body.mdb-footer-in-view .mdb-sticky-cta {
	transform: translateY(120%);
	opacity: 0;
	pointer-events: none;
}

/* Cache la sticky CTA dans le back-office Elementor (édition en direct) */
body.elementor-editor-active .mdb-sticky-cta {
	display: none;
}

/* Badge reCAPTCHA v3 (chargé globalement par Contact Form 7) masqué.
   Conformité Google : on affiche la mention légale via .mdb-recaptcha-note
   (injectée dans le footer), comme l'autorisent les CGU reCAPTCHA. */
.grecaptcha-badge {
	visibility: hidden;
}
.mdb-recaptcha-note {
	font-family: var(--mdb-font-body);
	font-size: 0.7rem;
	line-height: 1.5;
	color: var(--mdb-cream);
	opacity: 0.45;
	text-align: center;
	margin: 1.25rem auto 0;
	white-space: nowrap;
}
/* Sur très petit écran, autoriser le retour à la ligne pour éviter le débordement. */
@media (max-width: 600px) {
	.mdb-recaptcha-note { white-space: normal; }
}
.mdb-recaptcha-note a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.mdb-recaptcha-note a:hover { color: var(--mdb-gold-bright); opacity: 1; }

/* =========================================================
   HERO HOME — refonte façon concept (Univers grand-hôtel)
   La section hero = container Elementor #167c86ed (vidéo de fond conservée).
   On scelle au sélecteur d'ID Elementor stable (.elementor-element-167c86ed)
   car les classes custom des CONTAINERS Elementor ne sortent pas toujours dans
   le HTML ; les classes mdb-hero__* des WIDGETS, elles, sortent bien.
   Contenu : widgets eyebrow / titre / lede / CTA / lien — texte réel dans
   .elementor-heading-title / .elementor-button.
   ========================================================= */

/* Overlay sombre posé UNIQUEMENT sur la vidéo de fond (jamais sur le contenu).
   La structure réelle : #167c86ed > [.elementor-background-video-container(z0),
   .elementor-element-57e6219 (le contenu)]. On assombrit la vidéo via son
   ::after (reste en z0, derrière tout) et on remonte explicitement le contenu
   en z2 → le texte garde sa pleine luminosité. */
.elementor-element-167c86ed { position: relative; }
.elementor-element-167c86ed .elementor-background-video-container::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(9,26,45,0.70) 0%, rgba(9,26,45,0.45) 45%, rgba(9,26,45,0.35) 100%),
		linear-gradient(180deg, rgba(9,26,45,0.35) 0%, rgba(9,26,45,0.20) 45%, rgba(9,26,45,0.55) 100%);
}
/* Home uniquement (2026-06-19, consigne client) : filtre vidéo allégé pour
   laisser respirer l'image. Le wordmark home étant en SVG clair sur z2, la
   lisibilité reste assurée à voile réduit. Les autres heros (restaurant, villa,
   appartement) gardent le voile plein ci-dessus — d'où le scoping .elementor-106136. */
.elementor-106136 .elementor-element-167c86ed .elementor-background-video-container::after {
	background:
		linear-gradient(90deg, rgba(9,26,45,0.45) 0%, rgba(9,26,45,0.28) 45%, rgba(9,26,45,0.22) 100%),
		linear-gradient(180deg, rgba(9,26,45,0.20) 0%, rgba(9,26,45,0.10) 45%, rgba(9,26,45,0.38) 100%);
}
/* Le contenu (container 57e6219) passe explicitement au-dessus de la vidéo. */
.elementor-element-167c86ed > .elementor-element-57e6219 {
	position: relative;
	z-index: 2;
}

/* Colonne de contenu centrée. Le container boxed 57e6219 est centré dans la
   section ; ses items sont alignés horizontalement au centre. */
.elementor-element-167c86ed > .elementor-element-57e6219 {
	margin-inline: auto !important;
	align-items: center !important;
	text-align: center;
}
.elementor-element-167c86ed > .elementor-element-57e6219 > .e-con-inner {
	align-items: center !important;
	gap: clamp(1.1rem, 2.6vh, 2rem) !important;
}
/* Chaque widget du hero : centré, largeur auto */
.elementor-element-167c86ed .mdb-hero__eyebrow,
.elementor-element-167c86ed .mdb-hero__title,
.elementor-element-167c86ed .mdb-hero__lede,
.elementor-element-167c86ed .mdb-hero__cta,
.elementor-element-167c86ed .mdb-hero__link {
	text-align: center !important;
	/* width géré plus bas (stretch dans la colonne ctarow) — ne pas forcer
	   auto ici, sinon le CTA ne s'aligne pas en largeur sur « ou appeler ». */
	max-width: 100%;
}
.elementor-element-167c86ed .mdb-hero__eyebrow .elementor-heading-title,
.elementor-element-167c86ed .mdb-hero__title .elementor-heading-title,
.elementor-element-167c86ed .mdb-hero__lede .elementor-heading-title {
	text-align: center !important;
}

/* Eyebrow : filets bilatéraux + texte Tenor Sans espacé, crème translucide */
.mdb-hero__eyebrow .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: rgba(244, 236, 220, 0.82);
	font-weight: 400;
	line-height: 1.4;
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	max-width: 100%;
	flex-wrap: wrap;
	justify-content: center;
}
.mdb-hero__eyebrow .elementor-heading-title::before,
.mdb-hero__eyebrow .elementor-heading-title::after {
	content: "";
	width: clamp(28px, 6vw, 56px);
	height: 1px;
	background: var(--mdb-gold);
	flex-shrink: 0;
}

/* Titre géant Cormorant ; "de Bacon" en italique or via <em>.
   NOTE : sur la home, le heading a1b2c302 est masqué au profit du wordmark
   SVG (.mdb-hero__logo, widget mdbherologo). On garde la règle pour les
   éventuelles autres pages héritières. */
.mdb-hero__title .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 300;
	font-size: var(--mdb-step-6);
	line-height: 0.92;
	letter-spacing: -0.015em;
	color: var(--mdb-cream);
	margin: 0;
}
.mdb-hero__title .elementor-heading-title em {
	display: block;
	font-style: italic;
	font-weight: 300;
	color: var(--mdb-gold-bright);
}

/* Wordmark SVG « Maison De Bacon » dans le hero home — remplace le titre
   Cormorant a1b2c302 (masqué). Pendant MdB du logo orange RT (hero RT). */
.elementor-element-167c86ed .elementor-element-a1b2c302 { display: none !important; }
.elementor-element-167c86ed .mdb-hero__logo {
	align-self: center !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
}
.elementor-element-167c86ed .mdb-hero__logo .elementor-widget-container,
.elementor-element-167c86ed .mdb-hero__logo figure,
.elementor-element-167c86ed .mdb-hero__logo a { margin: 0 auto !important; }
/* Wordmark : largeur fluide qui descend bien en-dessous de la largeur
   du plus petit téléphone (320px) tout en gardant la stature voulue
   sur grand écran. Le min de 240px assure que les lettres restent
   lisibles même au plus serré. */
.elementor-element-167c86ed .mdb-hero__logo img {
	display: block;
	width: clamp(240px, 62vw, 900px) !important;
	height: auto !important;
	max-width: 100% !important;
	margin-inline: auto !important;
}

/* Lede italique : "Cuisine marine du Chef Nicolas Davouze" */
.mdb-hero__lede .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: var(--mdb-step-2);
	line-height: 1.3;
	color: var(--mdb-cream);
	margin: 0;
}
.mdb-hero__lede .elementor-heading-title em {
	font-style: italic;
	color: var(--mdb-gold-bright);
}

/* CTA primaire or plein, angles droits, flèche concept */
.mdb-hero__cta .elementor-button,
.mdb-hero__cta a.elementor-button {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1.05rem 1.8rem;
	background: var(--mdb-gold);
	color: var(--mdb-navy-deep);
	border-radius: 0;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.78rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	font-weight: 400;
	transition: background 0.4s var(--mdb-ease), transform 0.4s var(--mdb-ease);
}
.mdb-hero__cta .elementor-button:hover {
	background: var(--mdb-gold-bright);
	transform: translateY(-2px);
}
.mdb-hero__cta .elementor-button-text::after {
	content: "→";
	margin-left: 0.9rem;
	font-family: var(--mdb-font-body);
}

/* Lien secondaire : texte souligné or, pas de boîte (concept .chef__more) */
.mdb-hero__link .elementor-button,
.mdb-hero__link a.elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--mdb-cream);
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.72rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}
.mdb-hero__link .elementor-button-text {
	border-bottom: 1px solid var(--mdb-gold);
	padding-bottom: 4px;
	transition: color 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease);
}
.mdb-hero__link .elementor-button:hover .elementor-button-text {
	color: var(--mdb-gold-bright);
	border-color: var(--mdb-gold-bright);
}

/* Mobile : titre un cran plus petit, contenu dégagé du header fixe, overlay
   un peu plus dense (vidéo souvent très claire sur petit écran). */
@media (max-width: 768px) {
	.mdb-hero__title .elementor-heading-title { font-size: clamp(3.2rem, 16vw, 5rem); }
	.mdb-hero__eyebrow .elementor-heading-title { letter-spacing: 0.22em; gap: 0.7rem; }
	/* Hero quasi plein écran sur mobile : la section remplit toute la hauteur
	   visible (le header fixe la recouvre par-dessus, c'est voulu). Le contenu
	   est poussé sous le header (padding-top qui dégage la barre ~150px + marge)
	   puis centré dans l'espace restant — l'eyebrow ne touche jamais la barre et
	   le titre n'est jamais rogné. */
	.elementor-element-167c86ed {
		min-height: 100svh !important;
		display: flex !important;
		align-items: stretch !important;
	}
	.elementor-element-167c86ed > .elementor-element-57e6219 {
		flex: 1 1 auto !important;
		padding-top: clamp(170px, 24vh, 230px) !important;
		padding-bottom: clamp(2.5rem, 8vh, 4.5rem) !important;
		justify-content: center !important;
	}
	/* Voile vidéo un peu plus dense sur mobile (footage souvent très clair) */
	.elementor-element-167c86ed .elementor-background-video-container::after {
		background:
			linear-gradient(180deg, rgba(9,26,45,0.55) 0%, rgba(9,26,45,0.30) 45%, rgba(9,26,45,0.66) 100%);
	}
}

/* =========================================================
   HERO LAYOUT A — info bar + CTA row (CTA + « ou appelez »).
   Partagé entre MdB (167c86ed) et RT (body.mdb-rt, posée par functions.php).
   ========================================================= */

/* Info bar : texte Tenor caps crème, sans filet. */
.mdb-hero__info .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: rgba(244, 236, 220, 0.82);
	font-weight: 400;
	line-height: 1.5;
}
body.mdb-rt .mdb-hero__info .elementor-heading-title {
	color: rgba(244, 230, 210, 0.88);
}

/* CTA row : flex row, CTA + « ou appelez » sur la même ligne. */
.mdb-hero__ctarow,
.elementor-element.mdb-hero__ctarow,
.elementor-element-mdbherorow,
.elementor-element-rtherorow {
	width: auto !important;
	max-width: 100% !important;
	align-self: center !important;
}
.mdb-hero__ctarow > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 14px 22px !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100% !important;
}
/* La row est e-con-full (sans .e-con-inner). Elementor STRIPS le custom
   class .mdb-hero__ctarow des CONTAINERS, donc on cible aussi par ID stable.
   Layout : empilé vertical (CTA au-dessus du lien « ou appeler le »).
   align-items: center → le lien « ou appeler » se centre sous le CTA. */
.mdb-hero__ctarow,
.mdb-hero__ctarow.e-con-full,
.elementor-element-mdbherorow,
.elementor-element-rtherorow {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	/* stretch + width:max-content -> la colonne épouse la largeur du bouton le
	   plus large, et les deux boutons s'y étirent => MÊME LARGEUR. */
	align-items: stretch !important;
	width: max-content !important;
	gap: 14px !important;
	padding: 0 !important;
	max-width: 100% !important;
}
/* Les deux boutons remplissent la largeur de la colonne (donc identiques).
   NB : Elementor STRIPE la classe .mdb-hero__ctarow du conteneur e-con-full,
   donc on cible les enfants via l'ID stable de la row (mdbherorow / rtherorow)
   ET via .mdb-hero__cta/.mdb-hero__call eux-mêmes (qui, eux, survivent). */
.elementor-element-mdbherorow > .mdb-hero__cta,
.elementor-element-mdbherorow > .mdb-hero__call,
.elementor-element-rtherorow > .mdb-hero__cta,
.elementor-element-rtherorow > .mdb-hero__call,
.mdb-hero__cta.elementor-widget,
.mdb-hero__call.elementor-widget {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	align-self: stretch !important;
}
/* Le bouton « ou appeler » s'étire => son lien interne doit remplir aussi. */
.mdb-hero__call .elementor-widget-container > a.mdb-hero__call-link { width: 100%; box-sizing: border-box; }
/* CTA primaire : le wrapper Elementor + le widget-container doivent remplir
   la largeur étirée pour que le bouton doré ait la MÊME largeur que le bouton
   « ou appeler ». */
.mdb-hero__cta .elementor-widget-container,
.mdb-hero__cta .elementor-button-wrapper { width: 100%; }

/* « ou appelez » — le widget HTML lui-même n'a pas de marge propre ; on
   stylise le lien interne .mdb-hero__call-link.
   Layout vertical : align-items:center sur le ctarow place ce widget centré
   horizontalement sous le CTA. */
.mdb-hero__call,
.elementor-element.mdb-hero__call {
	width: auto !important;
	text-align: center !important;
}
.mdb-hero__call .elementor-widget-container { padding: 0 !important; margin: 0 !important; text-align: center !important; }
/* « ou appeler le … » = bouton secondaire (ghost) : surface sombre translucide
   + filet doré fin -> contraste maîtrisé quelle que soit la photo du hero,
   pendant visuel du CTA doré plein au-dessus. */
a.mdb-hero__call-link,
a.mdb-hero__call-link:link,
a.mdb-hero__call-link:visited {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem 0.6rem;
	padding: 0.7rem 1.6rem;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.72rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(244, 236, 220, 0.82);
	text-decoration: none;
	background: rgba(9, 26, 45, 0.42);
	-webkit-backdrop-filter: blur(2px);
	        backdrop-filter: blur(2px);
	border: 1px solid rgba(201, 163, 113, 0.5);
	max-width: 100%;
	transition: background 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease), color 0.3s var(--mdb-ease);
}
a.mdb-hero__call-link .num {
	/* Numéro lisible : police de corps (Inter Tight, chiffres alignés nets)
	   au lieu des chiffres bas-de-casse du Cormorant. Le cadre du bouton fait
	   le travail de séparation -> plus besoin de soulignement. */
	font-family: var(--mdb-font-body);
	font-style: normal;
	font-weight: 500;
	font-size: clamp(1.05rem, 1.4vw, 1.35rem);
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--mdb-cream);
	text-decoration: none;
}
a.mdb-hero__call-link:hover {
	background: rgba(9, 26, 45, 0.62);
	border-color: var(--mdb-gold-bright);
	color: var(--mdb-cream);
}
body.mdb-rt a.mdb-hero__call-link {
	color: rgba(244, 230, 210, 0.88);
	background: rgba(122, 40, 16, 0.34);
	border-color: rgba(217, 83, 30, 0.55);
}
body.mdb-rt a.mdb-hero__call-link .num { color: var(--rt-sand); }
body.mdb-rt a.mdb-hero__call-link:hover {
	color: var(--rt-sand);
	background: rgba(122, 40, 16, 0.5);
	border-color: var(--rt-terracotta);
}
/* Mobile : "ou appelez" passe sous le CTA si manque de place (le wrap est
   déjà géré par flex-wrap sur le ctarow). */
@media (max-width: 600px) {
	a.mdb-hero__call-link { font-size: 0.66rem; letter-spacing: 0.18em; padding: 0.6rem 1.2rem; }
	a.mdb-hero__call-link .num { font-size: 1.1rem; }
}

/* =========================================================
   HOME — refonte des sections sous le hero (esprit concept)
   Scellé par ID de section Elementor. Restyle CSS uniquement :
   typographie, eyebrows, filets héraldiques, rythme de padding,
   alternance navy/cream, traitements images & CTA. Le contenu et la
   structure Elementor restent inchangés (réversible).

   Sections (ordre) :
     7bacf566  « Le renouveau »      -> cream, intro éditoriale
     4bc5b43   « Le Chef »            -> blanc, intro Nicolas Davouze
     337ce1e   « Prochains événements» -> navy-deep, strip sombre
     a8f323f   cartes promo (RS/recrutement) -> cream
     7170bb4c  « Nos Univers »        -> navy, cartes arche
     611a8b9a  « Bon Cadeau »         -> cream
   ========================================================= */

/* --- Helpers communs : rythme de section + titres ------------------- */
.elementor-element-7bacf566,
.elementor-element-4bc5b43,
.elementor-element-337ce1e,
.elementor-element-a8f323f,
.elementor-element-7170bb4c,
.elementor-element-611a8b9a {
	padding-block: clamp(3.5rem, 8vw, 7rem) !important;
	position: relative;
}

/* Titres de section : Cormorant, taille éditoriale, interligne serré.
   (4bc5b43 : seul le titre d432678 — l'eyebrow 111dffc a sa propre règle.) */
.elementor-element-7bacf566 .elementor-widget-heading .elementor-heading-title,
.elementor-element-d432678 .elementor-heading-title,
.elementor-element-337ce1e .elementor-widget-heading .elementor-heading-title,
.elementor-element-7170bb4c .elementor-widget-heading .elementor-heading-title,
.elementor-element-611a8b9a .elementor-widget-heading .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -0.012em;
}

/* CTA façon concept : bouton plein or, angles droits, label espacé.
   On cible les boutons Elementor de ces sections. */
.elementor-element-7bacf566 .elementor-button,
.elementor-element-4bc5b43 .elementor-button,
.elementor-element-337ce1e .elementor-button,
.elementor-element-7170bb4c .elementor-button,
.elementor-element-611a8b9a .elementor-button {
	border-radius: 0 !important;
	font-family: var(--mdb-font-eyebrow);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-size: 0.72rem;
	transition: background 0.4s var(--mdb-ease), color 0.4s var(--mdb-ease), border-color 0.4s var(--mdb-ease);
}

/* --- 7bacf566 « Le renouveau » : intro crème éditoriale ------------- */
.elementor-element-7bacf566 {
	background: var(--mdb-cream) !important;
}
.elementor-element-7bacf566 .elementor-heading-title {
	color: var(--mdb-navy) !important;
	font-size: var(--mdb-step-4) !important;
	max-width: 16ch;
}
/* Eyebrow ÉDITABLE (surtitre Tenor Sans).
   L'éditrice ajoute un widget (titre ou texte) au-dessus du titre de section
   et lui applique la classe `mdb-eyebrow` (Elementor → Avancé → Classes CSS).
   Le texte se saisit normalement dans le widget ; il n'est PLUS codé en CSS,
   et le style ne dépend d'aucun ID Elementor (donc rien ne casse si la section
   est dupliquée ou reconstruite). FR/EN via TranslatePress comme tout contenu.
   Remplace les anciens ::before scellés aux IDs 7bacf566/611a8b9a. */
.mdb-eyebrow .elementor-heading-title,
.mdb-eyebrow .elementor-widget-container,
.elementor-widget-heading.mdb-eyebrow .elementor-heading-title,
.elementor-widget-text-editor.mdb-eyebrow .elementor-widget-container {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	line-height: 1.2 !important;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep) !important;
	margin: 0 0 1.1rem !important;
}
/* Le titre (7b3343c3) et le corps (1a58da65) du « renouveau » portent une
   marge latérale Elementor de 20px que le widget eyebrow (inséré par script,
   sans réglages de marge) n'a pas : « Notre histoire » débordait de 20px à
   gauche du bloc. On aligne l'eyebrow sur ses voisins, à tous les breakpoints
   (les 20px des voisins sont globaux). */
.elementor-element-7bacf566 .elementor-widget.mdb-eyebrow {
	margin-inline: 20px;
}
.elementor-element-7bacf566 .elementor-widget-text-editor {
	color: rgba(20, 32, 44, 0.86) !important;
	font-family: var(--mdb-font-body) !important;
	/* !important : l'inline Elementor (22px) doit céder — corps commun step-0. */
	font-size: var(--mdb-step-0) !important;
	line-height: 1.65 !important;
	max-width: 54ch;
}
.elementor-element-7bacf566 .elementor-widget-text-editor strong { color: var(--mdb-gold-deep-aa); } /* texte sur crème : variante AA */
/* L'ancien toggle « En Savoir Plus » (1ee0af39) a été converti en text-editor
   simple au niveau des données — cf. home-histoire-toggle-to-text.php.
   MASQUÉ pour l'instant (demande client). Le contenu reste en base : retirer la
   règle display:none ci-dessous le réaffiche, le style éditorial est conservé. */
.elementor-element-7bacf566 .elementor-element-1ee0af39 { display: none !important; }
.elementor-element-7bacf566 .elementor-element-1ee0af39,
.elementor-element-7bacf566 .elementor-element-1ee0af39 p {
	color: rgba(20, 32, 44, 0.86) !important;
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.65 !important;
	max-width: 54ch;
}
.elementor-element-7bacf566 .elementor-element-1ee0af39 p + p { margin-top: 1rem !important; }
.elementor-element-7bacf566 .elementor-element-1ee0af39 a { color: var(--mdb-gold-deep-aa) !important; } /* texte sur crème : variante AA */

/* --- 4bc5b43 « Le Chef » : intro Nicolas Davouze, blanc éditorial ----
   Widgets : 111dffc eyebrow · d432678 titre · aed8591 corps ·
   54c9782 bouton · 74fcca2 colonne image · f97e21d portrait.
   Même grammaire que 7bacf566 : eyebrow Tenor or, titre Cormorant navy
   step-4, corps encre step-0, strong or profond, CTA or commun. */
.elementor-element-111dffc .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow) !important;
	font-weight: 400 !important;
	font-size: var(--mdb-step--1) !important;
	letter-spacing: 0.34em !important;
	text-transform: uppercase !important;
	color: var(--mdb-gold-deep) !important;
}
.elementor-element-d432678 .elementor-heading-title {
	color: var(--mdb-navy) !important;
	font-size: var(--mdb-step-4) !important;
	max-width: 16ch;
}
.elementor-element-aed8591,
.elementor-element-aed8591 p {
	color: rgba(20, 32, 44, 0.86) !important;
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.65 !important;
	max-width: 54ch;
}
.elementor-element-aed8591 strong { color: var(--mdb-gold-deep-aa); } /* texte sur crème : variante AA */
/* Portrait : même traitement éditorial que les visuels de section. */
.elementor-element-f97e21d img {
	display: block;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center 30%;
}

/* --- 337ce1e « Prochains événements » : strip navy ------------------ */
/* Le conteneur du titre (1c35481) porte un margin_tablet de -239px dans les
   réglages Elementor (remontée voulue en tablette). Elementor propage la
   valeur tablette au mobile, où la grille est empilée : le titre chevauchait
   le bouton « Découvrir le chef » de la section précédente. On annule la
   remontée UNIQUEMENT sous le breakpoint mobile d'Elementor (767px). */
@media (max-width: 767px) {
	.elementor-element-337ce1e .elementor-element-1c35481 { margin-top: 0 !important; }
}
/* Le fond navy doit couvrir la section ET son conteneur interne / overlay :
   selon le cas Elementor peint le fond sur .e-con-inner ou via un overlay, ce
   qui laissait apparaître un gris. On force le navy sur les trois. */
.elementor-element-337ce1e,
.elementor-element-337ce1e > .e-con-inner,
.elementor-element-337ce1e > .elementor-background-overlay {
	background: var(--mdb-navy-deep) !important;
	background-color: var(--mdb-navy-deep) !important;
	background-image: none !important;
}
/* Un ::before plein peint la section en BLANC (défaut prod : section blanche).
   Il recouvrait le navy → rendu grisâtre. On le neutralise. */
.elementor-element-337ce1e::before {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}
.elementor-element-337ce1e {
	color: var(--mdb-cream) !important;
}
.elementor-element-337ce1e .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 400 !important;
	font-size: var(--mdb-step-4) !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	color: var(--mdb-cream) !important;
	text-align: center;
}
/* Texte/lignes d'événements lisibles sur navy. */
.elementor-element-337ce1e,
.elementor-element-337ce1e p,
.elementor-element-337ce1e a:not(.elementor-button),
.elementor-element-337ce1e span,
.elementor-element-337ce1e .tribe-events-calendar-list__event-title,
.elementor-element-337ce1e h3 {
	color: var(--mdb-cream);
}
.elementor-element-337ce1e a:not(.elementor-button):hover { color: var(--mdb-gold-bright); }
/* La date en exergue passe en or italique Cormorant. */
.elementor-element-337ce1e .tribe-events-calendar-list__event-date-tag,
.elementor-element-337ce1e .tribe-event-date-start {
	color: var(--mdb-gold-bright) !important;
}
.elementor-element-337ce1e .elementor-button {
	background: var(--mdb-gold) !important;
	color: var(--mdb-navy-deep) !important;
	border-color: var(--mdb-gold) !important;
}
.elementor-element-337ce1e .elementor-button:hover {
	background: var(--mdb-gold-bright) !important;
	border-color: var(--mdb-gold-bright) !important;
}
/* ====================================================================
   AGENDA ÉVÉNEMENTS (ElementsKit .ectbe-*) — refonte éditoriale.
   Structure réelle d'une ligne :
     .ectbe-inner-wrapper.ectbe-simple-event   (flex row)
       .ectbe-date-area      → jour / mois / année empilés
       .mdb-evt-frame        → vignette (injectée par le thème, cf. functions.php)
       .ectbe-content-box     → titre / heure / description / coût
       .ectbe-evt-more-box    → lien « Find out more » (était un bloc BLANC)
   On compose une liste « agenda d'hôtel » sur le navy : grand chiffre or
   Cormorant, libellés Tenor, filets or, lien souligné — pas de blocs blancs. */

/* Conteneur : pas de fond, espace généreux. */
.elementor-element-337ce1e .ectbe-wrapper,
.elementor-element-337ce1e .ectbe-content-box,
.elementor-element-337ce1e .ectbe-evt-more-box {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* Une ligne d'événement = bloc aéré, séparé par un filet or fin.
   align-items: baseline → la ligne de base du grand chiffre « 20 » s'aligne
   sur celle du titre (MAI/2026 retombent dessous). */
.elementor-element-337ce1e .ectbe-inner-wrapper {
	display: flex !important;
	align-items: baseline !important;
	gap: clamp(1.5rem, 4vw, 3.5rem) !important;
	padding: clamp(1.75rem, 4vw, 2.75rem) 0 !important;
	border-bottom: 1px solid var(--mdb-rule) !important;
	/* Le plugin arrondit chaque rangée (border-radius 15px, ectbe-list.min.css
	   style-1) : notre filet border-bottom suivait la courbe aux extrémités.
	   On équarrit et on neutralise tout fond résiduel. */
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transition: opacity 0.4s var(--mdb-ease);
}
.elementor-element-337ce1e .ectbe-inner-wrapper:first-child { border-top: 1px solid var(--mdb-rule) !important; }
.elementor-element-337ce1e .ectbe-inner-wrapper:hover { opacity: 0.96; }

/* --- Colonne DATE : grand jour or italique Cormorant, mois/année Tenor --- */
.elementor-element-337ce1e .ectbe-date-area {
	flex: 0 0 auto !important;
	width: clamp(70px, 9vw, 104px) !important;
	text-align: center !important;
	padding-top: 0 !important;
	line-height: 1;
	justify-content: flex-start !important;
	height: auto !important;
	min-height: 0 !important;
}
.elementor-element-337ce1e .ectbe-ev-day {
	display: block !important;
	font-family: var(--mdb-font-display) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: clamp(2.6rem, 5vw, 3.6rem) !important;
	color: var(--mdb-gold-bright) !important;
	letter-spacing: -0.01em;
}
.elementor-element-337ce1e .ectbe-ev-mo,
.elementor-element-337ce1e .ectbe-ev-yr {
	display: block !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--mdb-cream) !important;
	opacity: 0.7;
	margin-top: 0.35rem;
}
.elementor-element-337ce1e .ectbe-ev-yr { opacity: 0.5; }

/* --- Vignette : image mise en avant de l'event, entre date et contenu.
   Injectée par le thème (filtre render_content, le widget ECTBE ne la rend pas
   en list/style-1). Cadre 3/2 fixe, cover, zoom doux au survol — même langage
   que l'agenda /rendez-vous (.mdb-agenda__frame). --- */
.elementor-element-337ce1e .mdb-evt-frame {
	flex: 0 0 auto;
	align-self: center;
	display: block;
	width: clamp(6.5rem, 12vw, 10rem);
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: 3px;
}
.elementor-element-337ce1e .mdb-evt-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Affiches portrait (visages dans le tiers haut) : cadrer vers le haut,
	   sinon le cover centré coupe les têtes. Sans effet sur les paysages. */
	object-position: 50% 20%;
	display: block;
	transition: transform 0.8s var(--mdb-ease);
}
.elementor-element-337ce1e .mdb-evt-frame:hover .mdb-evt-img { transform: scale(1.04); }

/* --- Colonne CONTENU --- */
.elementor-element-337ce1e .ectbe-content-box {
	flex: 1 1 auto !important;
	display: block !important;
	padding: 0 !important;
}
.elementor-element-337ce1e .ectbe-evt-title { margin: 0 0 0.55rem !important; }
.elementor-element-337ce1e .ectbe-evt-title a,
.elementor-element-337ce1e .ectbe-evt-url {
	font-family: var(--mdb-font-display) !important;
	font-weight: 400 !important;
	font-size: clamp(1.35rem, 2.4vw, 1.85rem) !important;
	line-height: 1.18 !important;
	letter-spacing: -0.005em !important;
	color: var(--mdb-gold-bright) !important;
	text-transform: none !important;
	transition: color 0.3s var(--mdb-ease);
}
.elementor-element-337ce1e .ectbe-evt-title a:hover { color: #fff !important; }

/* Heure : petite ligne Tenor, icône or. */
.elementor-element-337ce1e .ectbe-evt-time {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--mdb-cream) !important;
	opacity: 0.7;
	margin: 0 0 0.85rem !important;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.elementor-element-337ce1e .ectbe-evt-time i,
.elementor-element-337ce1e .ectbe-icon-clock { color: var(--mdb-gold) !important; }

/* Excerpt + bloc « En savoir plus » masqués : le titre porte le lien. */
.elementor-element-337ce1e .ectbe-evt-description,
.elementor-element-337ce1e .ectbe-evt-cost,
.elementor-element-337ce1e .ectbe-evt-more-box {
	display: none !important;
}

/* Le titre EST le lien : affordance visible au repos (soulignement or
   permanent + flèche), renforcée au survol (soulignement plein + blanc). */
.elementor-element-337ce1e .ectbe-evt-title a,
.elementor-element-337ce1e .ectbe-evt-url {
	display: inline;
	background-image: linear-gradient(var(--mdb-gold), var(--mdb-gold));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 100% 1px;
	padding-bottom: 0.1em;
	transition: color 0.3s var(--mdb-ease), background-size 0.4s var(--mdb-ease), opacity 0.3s var(--mdb-ease);
}
/* Flèche persistante pour signaler le clic, alignée au texte. */
.elementor-element-337ce1e .ectbe-evt-title a::after,
.elementor-element-337ce1e .ectbe-evt-url::after {
	content: " \2192";
	display: inline-block;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.6em;
	vertical-align: middle;
	margin-left: 0.4em;
	transform: translateX(0);
	transition: transform 0.3s var(--mdb-ease);
}
.elementor-element-337ce1e .ectbe-evt-title a:hover,
.elementor-element-337ce1e .ectbe-evt-url:hover {
	color: #fff !important;
	background-image: linear-gradient(#fff, #fff);
}
.elementor-element-337ce1e .ectbe-evt-title a:hover::after,
.elementor-element-337ce1e .ectbe-evt-url:hover::after {
	transform: translateX(0.25em);
}

/* Mobile : carte événement compacte. Date sur une ligne (jour + mois + année),
   titre juste dessous, rythme resserré. On supprime les grands gaps fluides qui
   créaient d'énormes vides verticaux entre la date, le titre et chaque event. */
@media (max-width: 767px) {
	.elementor-element-337ce1e .ectbe-inner-wrapper {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.6rem !important;
		padding: 1.5rem 0 !important;
	}
	.elementor-element-337ce1e .ectbe-date-area {
		width: auto !important;
		display: flex !important;
		align-items: baseline !important;
		gap: 0.45rem !important;
		text-align: left !important;
	}
	.elementor-element-337ce1e .ectbe-ev-day { font-size: 1.9rem !important; }
	.elementor-element-337ce1e .ectbe-ev-mo,
	.elementor-element-337ce1e .ectbe-ev-yr { margin-top: 0 !important; font-size: 0.7rem !important; }
	.elementor-element-337ce1e .ectbe-content-box { flex: 1 1 100% !important; }
	/* Vignette VISIBLE aussi sur mobile (consigne 2026-07-13, remplace le
	   repli) : bandeau pleine largeur 16/9 entre la ligne date et le titre,
	   même langage que le hero du single event. */
	.elementor-element-337ce1e .mdb-evt-frame {
		width: 100%;
		aspect-ratio: 16 / 9;
	}
	.elementor-element-337ce1e .ectbe-evt-title a,
	.elementor-element-337ce1e .ectbe-evt-url { font-size: 1.4rem !important; }
	.elementor-element-337ce1e .ectbe-evt-more-box { flex: 0 0 auto !important; align-self: flex-start !important; margin-top: 0.3rem !important; }
	/* Intro éditoriale : titre + corps un cran plus petits sur mobile. */
	.elementor-element-7bacf566 .elementor-heading-title { font-size: clamp(2rem, 9vw, 2.6rem) !important; }
	.elementor-element-7bacf566 .elementor-widget-text-editor { font-size: 1rem !important; line-height: 1.6 !important; }

	/* Nos Univers : sur mobile (cartes empilées) le légende était trop loin de
	   son image. On resserre la pile : image collée à l'eyebrow/titre, marges
	   verticales des widgets neutralisées, espace contrôlé. */
	.elementor-element-7170bb4c .elementor-widget-image { margin-bottom: 0 !important; }
	.elementor-element-7170bb4c .elementor-widget-image .elementor-widget-container { margin-bottom: 0 !important; }
	.elementor-element-7170bb4c .elementor-widget-heading:not(:first-of-type) .elementor-heading-title {
		margin-top: 0.85rem !important;
	}
	.elementor-element-7170bb4c .elementor-widget-heading:not(:first-of-type) {
		margin-top: 0 !important;
	}
	/* Espace réduit sous chaque carte (entre une carte et la suivante). */
	.elementor-element-7a5faa3b,
	.elementor-element-6520f472,
	.elementor-element-4c990681 { gap: 0.25rem !important; margin-bottom: 1.5rem !important; }
	/* …mais on redonne de l'air AU-DESSUS du bouton (sinon il colle au titre). */
	.elementor-element-7170bb4c .elementor-widget-button { margin-top: 1.1rem !important; }
}

/* --- a8f323f cartes promo (recrutement / RSE) : fond crème ---------- */
.elementor-element-a8f323f {
	background: var(--mdb-cream) !important;
}

/* Cartes « Blog Posts » ElementsKit (.elementskit-post-image-card) :
   restyle premium éditorial pour s'accorder au reste de la home.
   NB : les vignettes sources sont en 150×150 → object-fit:cover + ratio fixe
   pour un cadrage propre (le vrai correctif serait de régénérer les miniatures
   en plus grand côté média). */
/* Une carte par ligne : mise en page horizontale magazine (image | texte),
   l'image alternant de côté d'une carte à l'autre. */
.elementor-element-a8f323f .post-items {
	display: flex !important;
	flex-direction: column !important;
	gap: clamp(1.5rem, 4vw, 3rem) !important;
}
.elementor-element-a8f323f .post-items > [class*="col-"] {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-element-a8f323f .elementskit-post-image-card {
	background: var(--mdb-navy-deep) !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	box-shadow: 0 18px 48px -28px rgba(9, 26, 45, 0.55) !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	height: 100% !important;
	transition: transform 0.45s var(--mdb-ease), box-shadow 0.45s var(--mdb-ease);
}
/* Carte paire : image à droite (mise en page miroir). */
.elementor-element-a8f323f .post-items > [class*="col-"]:nth-child(even) .elementskit-post-image-card {
	flex-direction: row-reverse !important;
}
.elementor-element-a8f323f .elementskit-post-image-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 28px 60px -26px rgba(9, 26, 45, 0.7) !important;
}

/* Vignette : moitié de la largeur, hauteur pleine, recadrage cover. */
.elementor-element-a8f323f .elementskit-entry-header {
	margin: 0 !important;
	flex: 0 0 45% !important;
	max-width: 45% !important;
}
.elementor-element-a8f323f .elementskit-entry-thumb {
	display: block !important;
	overflow: hidden !important;
	height: 100% !important;
	min-height: 300px;
}
.elementor-element-a8f323f .elementskit-entry-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center top !important;
	display: block !important;
	transition: transform 0.7s var(--mdb-ease);
}
.elementor-element-a8f323f .elementskit-post-image-card:hover .elementskit-entry-thumb img {
	transform: scale(1.05);
}

/* Corps : occupe le reste, texte centré verticalement, padding généreux. */
.elementor-element-a8f323f .elementskit-post-body {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	padding: clamp(1.75rem, 4vw, 3rem) !important;
}
.elementor-element-a8f323f .entry-title {
	margin: 0 0 1.25rem !important;
}
.elementor-element-a8f323f .entry-title a {
	font-family: var(--mdb-font-display) !important;
	font-weight: 400 !important;
	font-size: clamp(1.3rem, 2.1vw, 1.7rem) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.005em !important;
	text-transform: none !important;
	color: var(--mdb-cream) !important;
	transition: color 0.3s var(--mdb-ease);
}
.elementor-element-a8f323f .entry-title a:hover { color: var(--mdb-gold-bright) !important; }

/* Contenu de l'article sous le titre : Inter crème, lisible, aéré. */
.elementor-element-a8f323f .elementskit-post-body > p {
	font-family: var(--mdb-font-body) !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	color: var(--mdb-cream) !important;
	opacity: 0.82;
	margin: 0 0 1.5rem !important;
	text-align: left !important;
}
.elementor-element-a8f323f .elementskit-post-body > p:last-of-type { margin-bottom: 1.75rem !important; }

/* Bouton « Lire » : plus de pavé brass arrondi → lien or souligné + flèche. */
.elementor-element-a8f323f .btn-wraper {
	margin-top: auto !important;
	text-align: left !important;
}
.elementor-element-a8f323f .elementskit-btn {
	display: inline-block !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0.25rem 0 !important;
	color: var(--mdb-gold-bright) !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	border-bottom: 1px solid var(--mdb-rule) !important;
	transition: color 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease);
}
.elementor-element-a8f323f .elementskit-btn::after {
	content: " \2192";
	display: inline-block;
	transition: transform 0.3s var(--mdb-ease);
}
.elementor-element-a8f323f .elementskit-btn:hover {
	color: #fff !important;
	border-color: var(--mdb-gold-bright) !important;
	background: transparent !important;
}
.elementor-element-a8f323f .elementskit-btn:hover::after { transform: translateX(0.25em); }

/* Mobile : la carte horizontale repasse en vertical (image au-dessus). */
@media (max-width: 767px) {
	.elementor-element-a8f323f .elementskit-post-image-card,
	.elementor-element-a8f323f .post-items > [class*="col-"]:nth-child(even) .elementskit-post-image-card {
		flex-direction: column !important;
	}
	.elementor-element-a8f323f .elementskit-entry-header {
		flex: 0 0 auto !important;
		max-width: 100% !important;
	}
	.elementor-element-a8f323f .elementskit-entry-thumb {
		min-height: 0 !important;
		aspect-ratio: 4 / 3;
	}
}

/* --- 7170bb4c « Nos Univers » : section navy, cartes ---------------
   ⚠️ SUPERSÉDÉE (2026-07-01). L'accueil affiche désormais la section GLOBALE
   « Nos Espaces » (.mdb-venues, 4 espaces, Villa incluse) rendue par le thème
   au-dessus du footer, comme partout ailleurs (cf. mdb_venue_cards / get_footer,
   exclusion accueil levée). On MASQUE ici l'ancienne section inline (3 cartes,
   sans Villa) plutôt que de la supprimer en DB : réversible, Elementor la garde.
   Les styles ci-dessous ne s'appliquent donc plus en front, conservés au cas où.
   3 univers (Restaurant / Appartement de Victor / Roof Top), cadres
   d'image STRICTEMENT égaux (ratio 3/4, cadre net — pas d'arche),
   eyebrow doré au-dessus de chaque titre, CTA « Découvrir » alignés.
   Titres : 265c21d5 (Restaurant) · 728a3929 (Appartement) · 5ba5eec4 (Roof Top). */
.elementor-element-7170bb4c {
	display: none !important;   /* supersédée par la section globale .mdb-venues */
	background: var(--mdb-navy) !important;
	color: var(--mdb-cream) !important;
}
.elementor-element-7170bb4c .elementor-widget-heading:first-of-type .elementor-heading-title {
	color: var(--mdb-cream) !important;
	font-size: var(--mdb-step-4) !important;
	text-align: center;
}

.elementor-element-7a5faa3b,
.elementor-element-6520f472,
.elementor-element-4c990681 {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	/* Les 3 colonnes s'ancrent en HAUT de la rangée : les arches s'alignent
	   parfaitement quel que soit le nombre de lignes de la légende en dessous
	   (Appartement est sur 2 lignes). Remplace le hack de _padding en DB sur le
	   titre Roof Top (5ba5eec4), fragile et dépendant du contenu. */
	align-self: flex-start !important;
	justify-content: flex-start !important;
}
/* La rangée (e-con-inner qui contient les 3 colonnes) aligne ses items en haut
   plutôt que de les étirer, pour que les images restent calées en haut. */
.elementor-element-7170bb4c > .e-con-inner,
.elementor-element-7170bb4c > .e-con-inner > .e-flex {
	align-items: flex-start !important;
}

/* L'arche est baked-in dans les PNG (750x1000 RGBA, coins transparents).
   Les fichiers servent des hauteurs légèrement différentes (le Roof Top,
   ré-uploadé, rend ~20px plus haut) -> on impose la MÊME boîte aux 3 images
   via aspect-ratio + object-fit:cover ancré en haut. La couronne de l'arche
   (en haut) est préservée ; seul le bas plat (rangée 924/1000) est rogné de
   quelques px, de façon identique -> les 3 arches s'alignent parfaitement. */
.elementor-element-7170bb4c .elementor-widget-image img {
	display: block;
	width: 100% !important;
	aspect-ratio: 3 / 4;
	height: auto !important;
	object-fit: cover;
	object-position: top center;
	transition: transform 1.2s var(--mdb-ease), filter 0.6s var(--mdb-ease);
	filter: saturate(0.95) brightness(0.9);
}
.elementor-element-7170bb4c .elementor-widget-image:hover img {
	transform: scale(1.02);
	filter: saturate(1) brightness(1);
}

/* (Eyebrows dorés au-dessus des titres de carte retirés — demande client.) */

/* Titres des cartes : Cormorant bas-de-casse (lisible), fin filet or.
   On abandonne les capitales ultra-espacées d'origine. */
.elementor-element-7170bb4c .elementor-widget-heading:not(:first-of-type) .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	/* Libellés courts (« Restaurant », « Appartement Victor », « Le Roof Top ») :
	   on peut agrandir nettement le titre — il tient sur une seule ligne. */
	font-size: clamp(1.7rem, 2.4vw, 2.3rem) !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	color: var(--mdb-cream) !important;
	line-height: 1.15 !important;
	margin: 1.25rem 0 0 !important;
}
/* Desktop : on verrouille les titres de carte sur une seule ligne (les 3 cartes
   restent ainsi de hauteur égale). Sur mobile (≤767px) on laisse wrapper. */
@media (min-width: 768px) {
	.elementor-element-7170bb4c .elementor-widget-heading:not(:first-of-type) .elementor-heading-title {
		white-space: nowrap !important;
	}
}

/* CTA des univers : ghost crème -> se remplit d'or au survol.
   On cible AUSSI a.elementor-button + le <span> interne et on force la couleur :
   sur mobile le lien retombait sinon en bleu lien par défaut (#0000ee) — quasi
   invisible sur le fond navy. padding + display:inline-flex pour qu'il ait bien
   l'allure d'un bouton (et pas d'un simple lien texte). */
.elementor-element-7170bb4c a.elementor-button,
.elementor-element-7170bb4c .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.7rem 1.5rem !important;
	background: transparent !important;
	color: var(--mdb-cream) !important;
	border: 1px solid var(--mdb-gold) !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	font-size: 0.8rem !important;
}
.elementor-element-7170bb4c a.elementor-button .elementor-button-text,
.elementor-element-7170bb4c .elementor-button .elementor-button-content-wrapper {
	color: var(--mdb-cream) !important;
}
.elementor-element-7170bb4c a.elementor-button:hover,
.elementor-element-7170bb4c .elementor-button:hover {
	background: var(--mdb-gold) !important;
	color: var(--mdb-navy-deep) !important;
	border-color: var(--mdb-gold) !important;
}
.elementor-element-7170bb4c a.elementor-button:hover .elementor-button-text {
	color: var(--mdb-navy-deep) !important;
}
/* Les boutons « Découvrir » portent elementor-hidden-mobile/-tablet (vestige de
   l'ancienne maquette où toute la carte était cliquable) : ils étaient donc
   masqués sur mobile. On les ré-affiche dans cette section et on garantit le
   style bouton (sinon le lien nu retombe en bleu #0000ee, invisible sur navy). */
.elementor-element-7170bb4c .elementor-widget-button.elementor-hidden-mobile,
.elementor-element-7170bb4c .elementor-widget-button.elementor-hidden-tablet,
.elementor-element-7170bb4c .elementor-widget-button.elementor-hidden-phone {
	display: block !important;
}
.elementor-element-7170bb4c .elementor-button,
.elementor-element-7170bb4c a.elementor-button .elementor-button-text {
	color: var(--mdb-cream) !important;
}

/* --- 611a8b9a « Bon Cadeau » : fond crème, déjà proche concept ------ */
.elementor-element-611a8b9a {
	background: var(--mdb-cream) !important;
}
.elementor-element-611a8b9a .elementor-heading-title {
	color: var(--mdb-navy) !important;
	font-size: var(--mdb-step-3) !important;
}
/* Corps : même encre et même step-0 que renouveau / Le Chef (inline 16px). */
.elementor-element-611a8b9a .elementor-widget-text-editor,
.elementor-element-611a8b9a .elementor-widget-text-editor p {
	color: rgba(20, 32, 44, 0.86) !important;
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.65 !important;
	max-width: 54ch;
}
/* Eyebrow « Offrir » : désormais un widget éditable portant la classe
   `mdb-eyebrow` (cf. bloc .mdb-eyebrow plus haut). L'ancien ::before scellé à
   l'ID 611a8b9a a été retiré — le style vit sur la classe, le texte dans le
   widget saisi par l'éditrice. */
.elementor-element-611a8b9a .elementor-button {
	background: var(--mdb-navy) !important;
	color: var(--mdb-cream) !important;
	border-color: var(--mdb-navy) !important;
}
.elementor-element-611a8b9a .elementor-button:hover {
	background: var(--mdb-gold) !important;
	color: var(--mdb-navy-deep) !important;
	border-color: var(--mdb-gold) !important;
}

/* --- Bon Cadeau : CARTE-CADEAU (objet posé sur la page) ---
   Plus de bande à fond perdu : le bon est un OBJET aux proportions de
   chèque-cadeau, posé sur la section crème — largeur contenue, double
   filet or (épais dehors / fin dedans), ombre portée douce. Moitié photo,
   moitié « talon » texte séparées par une perforation pointillée ; un
   ruban satin grenat (--mdb-coral-deep) plonge du cadre sur la photo ;
   micro-ligne « série » sous le bouton.
   Structure : 611a8b9a (e-con-boxed) > .e-con-inner [ 7e05eb5a · 7b368fcb ]. */
.elementor-element-611a8b9a {
	padding: clamp(3.5rem, 8vw, 6.5rem) var(--mdb-gutter) !important;
}
.elementor-element-611a8b9a > .e-con-inner {
	max-width: min(72rem, 100%) !important;  /* objet contenu, ~2.3:1 */
	width: 100% !important;
	margin-inline: auto !important;
	/* Le contenu (image + texte) est calé À L'INTÉRIEUR du filet or intérieur :
	   padding = retrait du filet (6px) + petite gouttière. */
	padding: 14px !important;
	align-items: stretch !important; /* image + texte = même hauteur */
	min-height: clamp(22rem, 32vw, 30rem);
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(255, 252, 244, 0.97), rgba(247, 240, 226, 0.97)) !important;
	/* Double filet : trait épais dehors, fin dedans (::before). */
	border: 3px solid var(--mdb-gold) !important;
	/* L'ombre fait l'objet : le bon est POSÉ sur la page, il ne s'y fond pas. */
	box-shadow:
		0 1px 2px rgba(9, 26, 45, 0.08),
		0 18px 28px -18px rgba(9, 26, 45, 0.28),
		0 44px 80px -48px rgba(9, 26, 45, 0.42);
}
/* Filet or intérieur, TRÈS proche du bord (inset 6px) et fin (1px)
   -> double-rule serré. z6 : il passe PAR-DESSUS le ruban (z3). */
.elementor-element-611a8b9a > .e-con-inner::before {
	content: "";
	position: absolute;
	inset: 6px;
	border: 1px solid var(--mdb-gold);
	pointer-events: none;
	z-index: 6;
}
/* Colonne image : on cale l'image en absolu pour qu'elle couvre TOUTE la
   hauteur de la carte (object-fit:cover), sans dépendre de l'étirement flex
   du widget. La colonne sert de cadre relatif plein écran de sa moitié.
   PAS d'overflow:hidden ici : le ruban dépasse en haut (top négatif) pour
   plonger sous le cadre or — c'est l'overflow du .e-con-inner qui le coupe
   exactement au bord intérieur du trait épais. L'img reste inset 0. */
.elementor-element-7e05eb5a {
	padding: 0 !important;
	align-self: stretch !important;
	position: relative !important;
}
/* Ruban : l'ombre d'abord (::before). box-shadow ne suit pas un clip-path,
   on la pose donc sur un rectangle séparé légèrement plus court — le creux
   de la queue est invisible dans le flou. */
.elementor-element-7e05eb5a::before {
	content: "";
	position: absolute;
	top: -14px;
	left: clamp(1.75rem, 9%, 5rem);
	width: clamp(2.5rem, 3.2vw, 3.1rem);
	height: calc(56% - 1rem);
	box-shadow: 0.35rem 0.55rem 1.4rem rgba(9, 26, 45, 0.38);
	z-index: 2;
}
/* …puis le ruban lui-même (::after) : grenat, reflet satin en travers,
   côtes grosgrain horizontales, bas assombri, queue en hirondelle. */
.elementor-element-7e05eb5a::after {
	content: "";
	position: absolute;
	top: -14px;
	left: clamp(1.75rem, 9%, 5rem);
	width: clamp(2.5rem, 3.2vw, 3.1rem);
	height: 56%;
	background:
		repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0 1px, rgba(0, 0, 0, 0) 1px 3px),
		linear-gradient(90deg,
			rgba(40, 6, 6, 0.32) 0,
			rgba(255, 233, 214, 0.16) 9%,
			rgba(40, 6, 6, 0.04) 24%,
			rgba(255, 233, 214, 0.10) 48%,
			rgba(40, 6, 6, 0.10) 70%,
			rgba(255, 233, 214, 0.14) 90%,
			rgba(40, 6, 6, 0.34) 100%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0) 18%, rgba(0, 0, 0, 0) 60%, rgba(24, 4, 4, 0.22)),
		var(--mdb-coral-deep);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 1rem), 0 100%);
	z-index: 3;
}
.elementor-element-603f6b34 {
	position: absolute !important;
	inset: 0 !important;
	margin: 0 !important;
}
.elementor-element-603f6b34 .elementor-widget-container {
	position: absolute !important;
	inset: 0 !important;
}
.elementor-element-603f6b34 img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border: 0 !important;
	border-radius: 0 !important;
	display: block;
}
/* Colonne texte = « talon » du bon : pile centrée, padding intérieur,
   perforation pointillée pleine hauteur contre la photo (ligne de déchirure). */
.elementor-element-7b368fcb {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center;
	padding: clamp(2.25rem, 4.5vw, 3.5rem) clamp(1.75rem, 4vw, 3.25rem) !important;
	border-left: 1px dashed rgba(177, 137, 84, 0.5) !important;
}
.elementor-element-611a8b9a .elementor-widget-heading .elementor-heading-title::before {
	text-align: center;
}
/* Composition certificat : TOUT est centré, paragraphe compris (l'inline
   Elementor du widget force align left -> on reprend la main). */
.elementor-element-611a8b9a .elementor-widget-text-editor {
	max-width: 38ch;
	margin-inline: auto;
}
.elementor-element-611a8b9a .elementor-widget-text-editor,
.elementor-element-611a8b9a .elementor-widget-text-editor p {
	text-align: center !important;
}
.elementor-element-611a8b9a .elementor-widget-button {
	margin-top: 1.4rem !important;
}
.elementor-element-611a8b9a .elementor-button {
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-size: 0.82rem;
	padding: 1rem 2.2rem !important;
}
/* Micro-ligne « série » de chèque-cadeau, sous le bouton (côté texte).
   ÉDITABLE : un widget texte portant la classe `mdb-serie` (au lieu d'un
   ::after scellé à l'ID 7b368fcb). L'éditrice saisit/modifie la ligne dans
   le widget ; le style (filet + petites capitales or) vit sur la classe et
   ne dépend d'aucun ID Elementor. */
.mdb-serie .elementor-widget-container {
	margin-top: 1.75rem;
	padding-top: 1.1rem;
	border-top: 1px dashed rgba(177, 137, 84, 0.4);
	width: 100%;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.6rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
	opacity: 0.7;
}
/* Mobile (col-reverse Elementor : talon texte AU-DESSUS de la photo).
   La photo absolue ne donne pas de hauteur à sa colonne -> aspect-ratio.
   La perforation verticale n'a plus de sens ; la ligne « série » fait
   office de déchirure au-dessus de la photo. Ruban raccourci, calé au
   bord haut de la photo (plus de plongée sous le cadre). */
@media (max-width: 767px) {
	.elementor-element-7e05eb5a {
		width: 100% !important;
		aspect-ratio: 4 / 3;
	}
	.elementor-element-7b368fcb {
		border-left: 0 !important;
	}
	.elementor-element-7e05eb5a::before,
	.elementor-element-7e05eb5a::after {
		top: 0;
		height: 46%;
	}
	.elementor-element-7e05eb5a::before {
		height: calc(46% - 1rem);
	}
}

/* Filet héraldique entre deux sections claires/sombres : fine ligne or
   centrée en tête. (Plus sur Bon Cadeau 611a8b9a, qui est désormais une
   carte-cadeau encadrée posée sur la section.) */
.elementor-element-a8f323f::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	height: 1px;
	background: var(--mdb-gold);
	opacity: 0.7;
}

/* =========================================================
   FOOTER (refonte concept) — template Elementor 108363
   4 colonnes : Marque · La Maison · Privé & Événements · Contact
   + barre légale.
   NB : Elementor n'émet PAS les _css_classes posées sur les CONTAINERS
   (mdb-footer/mdb-foot-top/col), mais les émet sur les WIDGETS. On scope
   donc au wrapper stable .elementor-108363 et on cible la structure
   .e-con pour la grille ; les classes widget (.mdb-foot-*) restent valides.
   ========================================================= */
.elementor.elementor-108363 {
	background: var(--mdb-navy-deep) !important;
	color: var(--mdb-cream) !important;
	padding: clamp(3.5rem, 7vw, 6rem) var(--mdb-gutter) clamp(1.5rem, 3vw, 2.5rem) !important;
}
/* Air AU-DESSUS du bandeau navy (sitewide) : espace dans la couleur de
   page, pour que le contenu de page ne touche pas le footer. */
.ekit-template-content-footer { margin-top: clamp(3rem, 8vw, 6rem); }
/* Structure réelle (après restructuration en tiers) :
   .elementor-108363 > .e-con(full) > [
     TIER 1 strip 97020d4 = [ marque 5a1bc48 | horaires resto | horaires roof ],
     TIER 2 rangée 303d9d2 = 3 colonnes (La Maison | Événements | Contact),
     TIER 3 légale 878265c ].
   On cible par ID stable (et NON par :first/:last-child). */

/* --- TIER 1 : bandeau « réserver » — 97020d4 ---
   Logo + adresse + réseaux retirés de ce tier (demande client) : il ne reste
   que les 2 blocs horaires + boutons. On garde la MÊME grille 3 colonnes que
   le tier nav pour que Horaires Restaurant / Horaires Le Roof Top s'alignent
   sous La Maison / Événements ; la 3e colonne reste vide (sous Contact). */
/* NB : ce conteneur est e-con-full -> PAS de .e-con-inner. On cible le
   conteneur 97020d4 directement (les blocs horaires sont ses enfants directs). */
.elementor-108363 .elementor-element-97020d4 {
	max-width: var(--mdb-wrap-max) !important;
	margin-inline: auto !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: flex-start !important;
	gap: 0 !important;
	padding-bottom: clamp(2.5rem, 5vw, 4rem) !important;
	margin-bottom: clamp(2.5rem, 5vw, 4rem) !important;
	border-bottom: 1px solid var(--mdb-rule) !important;
	text-align: left !important;
}
/* Les 2 blocs horaires centrés sur la page, filet vertical entre eux. */
.elementor-108363 .mdb-foot-hours--rest,
.elementor-108363 .mdb-foot-hours--roof {
	align-self: stretch !important;
	flex: 0 1 auto !important;
	padding: 0 clamp(2rem, 4vw, 3.5rem) !important;
}
.elementor-108363 .mdb-foot-hours--roof {
	border-left: 1px solid var(--mdb-rule) !important;
}
.elementor-108363 .mdb-foot-hours-strip .mdb-foot-sub {
	margin-bottom: 0.6rem !important;
}

/* --- TIER 2 : 4 colonnes de navigation — 303d9d2 ---
   La Maison | Événements | Nous Contacter | Restez Informés (newsletter). */
.elementor-108363 .elementor-element-303d9d2 > .e-con-inner {
	max-width: var(--mdb-wrap-max) !important;
	margin-inline: auto !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr 1fr !important;
	gap: clamp(1.5rem, 3.5vw, 3.5rem) !important;
	align-items: start !important;
}
.elementor-108363 .elementor-element-303d9d2 > .e-con-inner > .e-con {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
}
/* --- Newsletter en 4e colonne du tier nav — conteneur 27fcfe8 ---
   « Restez Informés » aligné à gauche comme les autres colonnes. NB : Elementor
   n'émet PAS les _css_classes sur les CONTENEURS, donc on cible par ID stable
   (.elementor-element-27fcfe8), pas par .mdb-foot-col--nl. Formulaire en pile
   verticale (input puis bouton) car la colonne est étroite. */
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-eyebrow--nl,
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-eyebrow--nl .elementor-heading-title {
	margin: 0 0 1.5rem !important;
}
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-newsletter { margin: 0 !important; }
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-newsletter .wpcf7 { max-width: 100% !important; }
/* La .mdb-nl-row est un <p> contenant un <span> (wrap email) + le submit,
   séparés par des <br>. On masque les <br>, pile verticale, pleine largeur. */
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-newsletter .mdb-nl-row {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0.6rem !important;
}
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-newsletter .mdb-nl-row br { display: none !important; }
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-newsletter .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
}
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-newsletter input[type="email"] {
	width: 100% !important;
	box-sizing: border-box !important;
}
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-newsletter .mdb-nl-submit,
.elementor-108363 .elementor-element-27fcfe8 .mdb-foot-newsletter input[type="submit"] {
	width: 100% !important;
}

/* --- TIER 3 : barre légale + réseaux — 878265c ---
   Le tier accueille désormais le bloc légal ET les réseaux sociaux (déplacés
   tout en bas). On range les deux en ligne : légal à gauche, réseaux à droite. */
.elementor-108363 .elementor-element-878265c > .e-con-inner {
	max-width: var(--mdb-wrap-max) !important;
	margin-inline: auto !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1.5rem !important;
}
.elementor-108363 .elementor-element-878265c > .e-con-inner > .elementor-element-3867107 {
	flex: 1 1 auto !important;
}
/* Réseaux en pied : pas de marge haute (la marge venait du contexte colonne). */
.elementor-108363 .mdb-foot-social--bottom { margin-top: 0 !important; flex: 0 0 auto !important; }
.elementor-108363 .mdb-foot-social--bottom .elementor-social-icons-wrapper {
	justify-content: flex-end !important;
}
.elementor-108363 .mdb-foot-hours-strip p:not(.mdb-foot-sub):not(.mdb-foot-btn-wrap) {
	font-family: var(--mdb-font-body) !important;
	font-size: 1.02rem !important;
	line-height: 1.7 !important;
	color: var(--mdb-cream) !important;
	opacity: 0.9;
	margin: 0 !important;
}
/* Bouton « Réserver en ligne » sous chaque bloc horaires. */
.elementor-108363 .mdb-foot-btn-wrap { margin: 1.1rem 0 0 !important; }
.elementor-108363 a.mdb-foot-btn {
	display: inline-block !important;
	white-space: nowrap !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--mdb-gold) !important;
	text-decoration: none !important;
	padding: 0.7rem 1.6rem !important;
	border: 1px solid var(--mdb-gold) !important;
	transition: background-color 0.3s var(--mdb-ease), color 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease) !important;
}
.elementor-108363 a.mdb-foot-btn:hover {
	background-color: var(--mdb-gold) !important;
	border-color: var(--mdb-gold) !important;
	color: var(--mdb-navy-deep) !important;
}

/* --- Colonne marque --- */
.elementor-108363 .mdb-foot-logo { text-align: left !important; }
.elementor-108363 .mdb-foot-logo .elementor-widget-container { text-align: left !important; }
/* Logo SVG : le fichier Logo_Blanc.svg n'a pas de width/height sur sa balise
   <svg> (juste un viewBox), donc width:auto le laissait gonfler à la largeur
   de la colonne sur les grands écrans et chevaucher l'adresse. On fixe une
   largeur explicite + display:block pour qu'il occupe sa propre ligne. */
.elementor-108363 .mdb-foot-logo img {
	display: block !important;
	width: 210px !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 0 1.5rem 0 !important;
}
.elementor-108363 .mdb-foot-tagline p {
	font-family: var(--mdb-font-display) !important;
	font-style: italic !important;
	font-size: clamp(1.05rem, 1.6vw, 1.3rem) !important;
	line-height: 1.5 !important;
	color: var(--mdb-cream) !important;
	opacity: 0.92;
	margin: 0 0 1.5rem !important;
	max-width: 30ch;
}
.elementor-108363 .mdb-foot-address p {
	font-family: var(--mdb-font-body) !important;
	font-size: 0.98rem !important;
	line-height: 1.7 !important;
	color: var(--mdb-cream) !important;
	opacity: 0.75;
	margin: 0 !important;
}
/* Adresse avec épingle de localisation discrète */
.elementor-108363 .mdb-foot-address .mdb-foot-address__line {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
}
.elementor-108363 .mdb-foot-pin {
	flex: 0 0 auto;
	margin-top: 0.35rem;
	color: var(--mdb-gold);
	opacity: 0.9;
}

/* Icônes réseaux sous l'adresse : filet or discret, sobre. */
.elementor-108363 .mdb-foot-social { margin-top: 1.5rem !important; }
.elementor-108363 .mdb-foot-social .elementor-social-icons-wrapper {
	display: flex !important;
	justify-content: flex-start !important;
	gap: 0.75rem !important;
}
.elementor-108363 .mdb-foot-social .elementor-icon.elementor-social-icon {
	background-color: transparent !important;
	border: 1px solid var(--mdb-rule) !important;
	color: var(--mdb-cream) !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.95rem !important;
	transition: color 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease), background-color 0.3s var(--mdb-ease) !important;
}
.elementor-108363 .mdb-foot-social .elementor-icon.elementor-social-icon:hover {
	color: var(--mdb-navy-deep) !important;
	background-color: var(--mdb-gold) !important;
	border-color: var(--mdb-gold) !important;
}
.elementor-108363 .mdb-foot-social .elementor-icon.elementor-social-icon i { color: inherit !important; }

/* --- Eyebrows de colonne (Tenor, or, espacé) --- */
.elementor-108363 .mdb-foot-eyebrow .elementor-heading-title,
.elementor-108363 .mdb-foot-eyebrow {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase !important;
	color: var(--mdb-gold) !important;
	margin: 0 0 1.75rem !important;
}

/* --- Newsletter « Restez informés » (colonne Marque, sous les réseaux) ---
   Formulaire CF7 (email seul + consentement). Input crème bordé or, bouton
   ghost qui se remplit d'or au survol. Placeholder backend : contact@…
   (à confirmer client). */
.elementor-108363 .mdb-foot-eyebrow--nl .elementor-heading-title,
.elementor-108363 .mdb-foot-eyebrow--nl {
	margin: 2.25rem 0 1rem !important;
}
.elementor-108363 .mdb-foot-newsletter { margin-top: 0 !important; }
.elementor-108363 .mdb-foot-newsletter .wpcf7 { max-width: 22rem; }
.elementor-108363 .mdb-foot-newsletter .mdb-nl-row {
	display: flex !important;
	gap: 0.5rem;
	margin: 0 0 0.75rem !important;
}
.elementor-108363 .mdb-foot-newsletter input[type="email"] {
	flex: 1 1 auto;
	min-width: 0;
	background: transparent !important;
	border: 1px solid var(--mdb-rule) !important;
	border-radius: 2px !important;
	color: var(--mdb-cream) !important;
	font-family: var(--mdb-font-body) !important;
	font-size: 0.95rem !important;
	padding: 0.7rem 0.9rem !important;
}
.elementor-108363 .mdb-foot-newsletter input[type="email"]::placeholder {
	color: var(--mdb-cream) !important;
	opacity: 0.45;
}
.elementor-108363 .mdb-foot-newsletter input[type="email"]:focus {
	outline: none !important;
	border-color: var(--mdb-gold) !important;
}
.elementor-108363 .mdb-foot-newsletter .mdb-nl-submit,
.elementor-108363 .mdb-foot-newsletter input[type="submit"] {
	flex: 0 0 auto;
	background: transparent !important;
	border: 1px solid var(--mdb-gold) !important;
	border-radius: 2px !important;
	color: var(--mdb-gold) !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 0.7rem 1.1rem !important;
	cursor: pointer;
	transition: background 0.3s var(--mdb-ease), color 0.3s var(--mdb-ease);
}
.elementor-108363 .mdb-foot-newsletter .mdb-nl-submit:hover,
.elementor-108363 .mdb-foot-newsletter input[type="submit"]:hover {
	background: var(--mdb-gold) !important;
	color: var(--mdb-navy-deep) !important;
}
/* Consentement : petit texte discret. */
.elementor-108363 .mdb-foot-newsletter .wpcf7-acceptance,
.elementor-108363 .mdb-foot-newsletter .wpcf7-list-item-label {
	font-family: var(--mdb-font-body) !important;
	font-size: 0.78rem !important;
	line-height: 1.5 !important;
	color: var(--mdb-cream) !important;
	opacity: 0.6;
}
.elementor-108363 .mdb-foot-newsletter .wpcf7-list-item { margin: 0 !important; }
/* Messages de réponse CF7 sobres. */
.elementor-108363 .mdb-foot-newsletter .wpcf7-response-output {
	font-family: var(--mdb-font-body) !important;
	font-size: 0.82rem !important;
	margin: 0.6rem 0 0 !important;
	padding: 0.5rem 0.7rem !important;
	border-width: 1px !important;
}

/* --- Listes de liens --- */
.elementor-108363 .mdb-foot-links {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.elementor-108363 .mdb-foot-links li { margin: 0 0 0.95rem !important; }
.elementor-108363 .mdb-foot-links li:last-child { margin-bottom: 0 !important; }
.elementor-108363 .mdb-foot-links a {
	font-family: var(--mdb-font-body) !important;
	font-size: 1.02rem !important;
	color: var(--mdb-cream) !important;
	opacity: 0.85;
	text-decoration: none !important;
	transition: color 0.3s var(--mdb-ease), opacity 0.3s var(--mdb-ease);
}
.elementor-108363 .mdb-foot-links a:hover { color: var(--mdb-gold-bright) !important; opacity: 1; }

/* --- Colonne contact --- */
.elementor-108363 .mdb-foot-sub {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.24em !important;
	text-transform: uppercase !important;
	color: var(--mdb-gold) !important;
	opacity: 1; /* était .85 : contraste AA de l'or sur fond ink (>=4.5:1) */
	margin: 0 0 0.5rem !important;
}
.elementor-108363 .mdb-foot-contact,
.elementor-108363 .mdb-foot-hours { margin-bottom: 1.5rem !important; }
.elementor-108363 .mdb-foot-contact p:not(.mdb-foot-sub),
.elementor-108363 .mdb-foot-hours p:not(.mdb-foot-sub) {
	font-family: var(--mdb-font-body) !important;
	font-size: 1.02rem !important;
	line-height: 1.7 !important;
	color: var(--mdb-cream) !important;
	opacity: 0.9;
	margin: 0 0 1rem !important;
}
.elementor-108363 .mdb-foot-contact a {
	color: var(--mdb-cream) !important;
	text-decoration: none !important;
	transition: color 0.3s var(--mdb-ease);
}
.elementor-108363 .mdb-foot-contact a:hover { color: var(--mdb-gold-bright) !important; }

/* --- Barre légale ---
   Marge haute réduite : le bandeau newsletter au-dessus fournit déjà l'espace
   de séparation, on évite d'empiler deux grands écarts. */
.elementor-108363 .mdb-foot-legal-wrap {
	max-width: var(--mdb-wrap-max) !important;
	margin: clamp(2rem, 4vw, 3rem) auto 0 !important;
	padding-top: 1.75rem !important;
	border-top: 1px solid var(--mdb-rule) !important;
}
.elementor-108363 .mdb-foot-legal {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 1rem !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--mdb-cream) !important;
}
.elementor-108363 .mdb-foot-legal > span:first-child { opacity: 0.6; }
.elementor-108363 .mdb-foot-legal-links {
	display: flex !important;
	gap: clamp(1rem, 3vw, 2.5rem) !important;
	flex-wrap: wrap;
}
.elementor-108363 .mdb-foot-legal-links a {
	color: var(--mdb-cream) !important;
	opacity: 0.7;
	text-decoration: none !important;
	transition: color 0.3s var(--mdb-ease), opacity 0.3s var(--mdb-ease);
}
.elementor-108363 .mdb-foot-legal-links a:hover { color: var(--mdb-gold-bright) !important; opacity: 1; }

/* --- Responsive ---
   Elementor n'émet PAS .mdb-foot-top (classe posée sur le CONTAINER) : on
   recible donc la grille réelle (.e-con-inner de la 1re rangée), comme à la
   mise en place ligne ~1485. Sans ça, la grille 4 colonnes restait figée sur
   mobile et chaque mot passait à la ligne. */
@media (max-width: 1024px) {
	/* TIER 1 : les 2 blocs horaires restent centrés (flex, déjà géré). */
	/* TIER 2 : 4 -> 2 colonnes. */
	.elementor-108363 .elementor-element-303d9d2 > .e-con-inner {
		grid-template-columns: 1fr 1fr !important;
		gap: clamp(2rem, 5vw, 3rem) !important;
	}
}
@media (max-width: 600px) {
	/* TIER 1 : les 2 blocs en pile, filet horizontal entre eux. */
	.elementor-108363 .elementor-element-97020d4 {
		flex-direction: column !important;
		align-items: center !important;
	}
	.elementor-108363 .mdb-foot-hours--rest,
	.elementor-108363 .mdb-foot-hours--roof {
		padding: 1.75rem 0 0 !important;
		border-left: 0 !important;
		border-top: 1px solid var(--mdb-rule) !important;
		margin-top: 1.75rem !important;
		text-align: center !important;
	}
	/* TIER 2 : une seule colonne. */
	.elementor-108363 .elementor-element-303d9d2 > .e-con-inner {
		grid-template-columns: 1fr !important;
		gap: 2.5rem !important;
	}
	.elementor-108363 .mdb-foot-legal { flex-direction: column !important; align-items: flex-start !important; }
}

/* =========================================================
   PAGE « LE ROOF TOP » (106766) — identité propre terracotta
   (décision client 2026-05-27 avec Nicole : le Roof Top est une marque à
   part entière. Voir mémoire [[roof-top-identity-propre]]).
   - Header = template Elementor RT (110554, scopé sur cette page)
   - Page = palette terracotta (vs navy/gold du reste du site)
   - Mega-menu = GLOBAL inchangé. Footer = global re-teinté en contexte RT.
   Scellé au wrapper .elementor-106766 + IDs Elementor stables.
   Structure (après nettoyage DB roof-cleanup-junk.php) :
     651e311  hero (photo ROOFTO4 en bg) > grille 34da85ec
              [titre bfabdc5 « Le Roof Top » (masqué), logo orange 34a8c93,
               btn Réserver ad86369, btn tél 454470c, texte horaires 7488ca8]
     34e7f20  rangée 3 boutons (Restaurant / Carte cocktails / Carte mets)
     039f6cd  heading « LE CONCEPT »
     fd01a52  grille [vidéo YouTube d4b8bba + texte concept e801010]
     adca52d  heading « Rejoignez-nous sur Instagram »
     0f371ac  sous-texte instagram
     61fe278  bouton « Instagram Le Roof Top »
   ========================================================= */

/* Tokens RT — scellés au contexte de la page Le Roof Top.
   La palette est tirée du logo + header live (orange terracotta brûlé).
   On garde la même typo (Cormorant/Tenor/Inter) pour la cohérence éditoriale,
   mais on substitue navy/gold/cream par terracotta/sable/ivoire. */
body.mdb-rt {
	--rt-terracotta: #d9531e;     /* signature, repris du logo prod */
	--rt-terracotta-bright: #e26a3a;
	--rt-terracotta-deep: #b54115; /* hover, ombres */
	--rt-clay: #7a2810;           /* fond foncé (équiv. navy-deep côté MdB) */
	--rt-clay-soft: #9b3618;
	--rt-sand: #f4e6d2;           /* papier crème chaud, équiv. cream */
	--rt-bone: #e8d5b5;           /* papier vieilli, équiv. bone */
	--rt-gold-warm: #c7884c;      /* doré chaud pour les filets */
	/* « Fond doré » (consigne client 2026-06-24) : teinte échantillonnée sur le
	   sous-titre « par la Maison de Bacon » du LOGO Roof Top (#d2ad87 = champagne
	   chaud). On l'utilise en lavis de fond sur les sections claires (ex-sable),
	   ce qui dore la page SANS abandonner le terracotta du lieu (le doré vient du
	   logo lui-même → cohérent avec l'identité validée par Nicole). */
	--rt-gold-logo: #d2ad87;
	--rt-gold-bg: #e7cba2;        /* lavis doré clair pour fonds de section */
	--rt-ink: #2a0e05;            /* texte très foncé sur fond clair */
	--rt-rule: rgba(199, 136, 76, 0.32);
}

/* --- HERO : photo conservée + scrim navy + contenu bas-gauche -------------- */
.elementor-106766 > .elementor-element-651e311 {
	position: relative;
	min-height: 86svh !important;
	display: flex !important;
	align-items: flex-end !important;
	overflow: hidden;
	padding: 0 !important;
}
/* Scrim dégradé navy posé sur la photo de fond (jamais sur le contenu). */
/* Assombrissement façon hero home : voile navy uniforme + dégradé directionnel.
   IMPORTANT : Elementor utilise déjà ::before sur ce conteneur pour SON overlay
   de fond (background_overlay). On ne se bat pas avec : on pose NOTRE scrim sur
   ::after (qu'Elementor n'utilise pas), au-dessus de la photo mais sous le
   contenu (.e-con-inner est en z-index:2). */
.elementor-106766 > .elementor-element-651e311::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	/* Voile sombre NEUTRE (charcoal grey) sur le hero RT (demande client) :
	   ni navy ni terracotta — un gris foncé neutre qui n'entre pas en compétition
	   avec l'orange du logo et du header au-dessus, tout en gardant la
	   lisibilité du texte. */
	background:
		linear-gradient(
			180deg,
			rgba(28, 28, 28, 0.62) 0%,
			rgba(28, 28, 28, 0.42) 35%,
			rgba(28, 28, 28, 0.55) 65%,
			rgba(18, 18, 18, 0.88) 100%
		),
		linear-gradient(90deg, rgba(28, 28, 28, 0.38) 0%, rgba(28, 28, 28, 0.24) 50%, rgba(28, 28, 28, 0.16) 100%);
}
/* La grille interne du hero : colonne, alignée bas-gauche, dégagée du header.
   Elementor pose le contenu dans .e-con-inner (display:grid 4 col par défaut) :
   c'est CE nœud qu'il faut passer en flex-column, pas le .e-con extérieur. */
.elementor-106766 .elementor-element-34da85ec {
	position: relative !important;
	z-index: 2 !important;
	width: 100%;
	background: transparent !important;
	inset: auto !important;
}
.elementor-106766 .elementor-element-34da85ec > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	grid-template-columns: none !important;
	gap: clamp(1.1rem, 2.4vh, 1.8rem) !important;
	width: 100%;
	max-width: var(--mdb-wrap-max);
	margin: 0 auto !important;
	padding: clamp(150px, 22vh, 220px) var(--mdb-gutter) clamp(2.5rem, 7vh, 4.5rem) !important;
	text-align: center !important;
}
/* Titre = logo orange « Le Roof Top » d'origine (image 34a8c93). Le heading
   Cormorant bfabdc5 est masqué au profit du logo, posé bas-gauche sur la photo. */
.elementor-106766 .elementor-element-bfabdc5 { display: none !important; }

.elementor-106766 .elementor-element-34a8c93 {
	display: block !important;
	align-self: center !important;
	width: auto !important;
	order: 1;
}
.elementor-106766 .elementor-element-34a8c93 .elementor-widget-container,
.elementor-106766 .elementor-element-34a8c93 figure,
.elementor-106766 .elementor-element-34a8c93 a { margin: 0 auto !important; }
.elementor-106766 .elementor-element-34a8c93 img {
	width: auto !important;
	height: clamp(200px, 28vw, 380px) !important;
	max-width: 100% !important;
	object-fit: contain;
	object-position: center center;
	margin-inline: auto !important;
}

/* --- Ordre vertical des widgets du hero RT (Layout A — mirror MdB) ---
   La grille 34da85ec est en flex-column ; chaque widget a un ordre explicite
   pour matcher la pile MdB : eyebrow → logo → info bar → CTA row.
   Le CTA (ad86369) est désormais ENFANT du conteneur rtherorow, donc l'ordre
   se pose sur le conteneur row, pas sur le CTA. */
.elementor-106766 .elementor-element-rthereye   { order: 0; align-self: center !important; width: auto !important; }
.elementor-106766 .elementor-element-34a8c93    { order: 1; }
.elementor-106766 .elementor-element-rtheroinfo { order: 2; align-self: center !important; width: auto !important; }
.elementor-106766 .elementor-element-rtherorow  { order: 3; align-self: center !important; width: auto !important; }
/* À l'intérieur du rtherorow : CTA en order:1, « ou appelez » en order:2.
   Neutralise l'order:4 hérité des règles ad86369 historiques. */
.elementor-106766 .elementor-element-rtherorow .elementor-element-ad86369  { order: 1 !important; align-self: center !important; }
.elementor-106766 .elementor-element-rtherorow .elementor-element-rtherocall { order: 2 !important; align-self: center !important; }

/* --- Eyebrow miroir du hero MdB (widget rthereye) ---
   Texte « Soirées & cocktails face à la mer » avec filet, en haut de la pile.
   On force le filet et la couleur en teinte RT (terracotta-bright + sand) au
   lieu du gold MdB hérité de la classe partagée .mdb-hero__eyebrow. */
body.mdb-rt .mdb-hero__eyebrow .elementor-heading-title {
	color: rgba(244, 230, 210, 0.88) !important;
}
body.mdb-rt .mdb-hero__eyebrow .elementor-heading-title::before,
body.mdb-rt .mdb-hero__eyebrow .elementor-heading-title::after {
	background: var(--rt-terracotta-bright) !important;
}

/* --- CTA RT en contexte hero (mdb-hero__cta--rt sur ad86369) ---
   Reprend la mécanique du CTA MdB (gold plein → terracotta plein), avec la
   flèche → identique pour que le visuel soit miroir. */
body.mdb-rt .mdb-hero__cta .elementor-button,
body.mdb-rt .mdb-hero__cta a.elementor-button {
	background: var(--rt-terracotta) !important;
	color: var(--rt-sand) !important;
}
body.mdb-rt .mdb-hero__cta .elementor-button:hover {
	background: var(--rt-terracotta-bright) !important;
}
/* L'ancien style ciblé sur l'ID (ad86369) ajoutait son propre padding/font.
   La classe .mdb-hero__cta fournit déjà ces réglages — on neutralise la double
   déclaration en laissant la classe gagner (les règles ad86369 sont
   conservées pour la version éditeur ; en frontend, .mdb-hero__cta arrive
   après dans la cascade). */

/* --- Liens secondaires RT (phone + voir la carte) ---
   Téléphone 454470c + lien rtherelnk partagent .mdb-hero__link. Le téléphone
   garde son icône (.mdb-hero__link--phone) ; le lien « Voir la carte » est
   un simple texte souligné. La couleur du filet passe en terracotta. */
body.mdb-rt .mdb-hero__link .elementor-button,
body.mdb-rt .mdb-hero__link a.elementor-button {
	color: var(--rt-sand) !important;
}
body.mdb-rt .mdb-hero__link .elementor-button-text {
	border-bottom-color: var(--rt-terracotta-bright) !important;
}
body.mdb-rt .mdb-hero__link .elementor-button:hover .elementor-button-text {
	color: var(--rt-terracotta-bright) !important;
	border-bottom-color: var(--rt-sand) !important;
}

/* Bloc info hero (jours / horaires / tenue). Markup : 3 <p> avec classes
   .mdb-rt-days / .mdb-rt-hours / .mdb-rt-dress (cf. roof-hero-hours.php).
   - jours + tenue : eyebrow Tenor crème, espacé
   - horaires : Cormorant italique brass, encadré de deux filets fins */
.elementor-106766 .elementor-element-7488ca8 {
	align-self: center !important;
	width: auto !important;
	max-width: 100%;
	order: 3;
	text-align: center !important;
}
.elementor-106766 .elementor-element-7488ca8 p { margin: 0 !important; }

.elementor-106766 .elementor-element-7488ca8 .mdb-rt-days,
.elementor-106766 .elementor-element-7488ca8 .mdb-rt-dress {
	font-family: var(--mdb-font-eyebrow) !important;
	font-weight: 400 !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase !important;
	color: rgba(244, 230, 210, 0.88) !important;
	text-align: center !important;
	line-height: 1.5 !important;
}
/* Horaires en exergue : Cormorant italique terracotta-bright, filet fin. */
.elementor-106766 .elementor-element-7488ca8 .mdb-rt-hours {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
	font-family: var(--mdb-font-display) !important;
	font-style: italic;
	font-weight: 400 !important;
	font-size: var(--mdb-step-2) !important;
	line-height: 1 !important;
	color: var(--rt-terracotta-bright) !important;
	text-align: center !important;
	margin: 0.8rem auto !important;
	padding: 0.7rem 1.2rem !important;
	border-top: 1px solid var(--rt-rule);
	border-bottom: 1px solid var(--rt-rule);
}

/* CTA hero : « Réserver sa table » terracotta plein, téléphone en lien discret. */
/* ad86369 = le CTA dans la colonne ctarow : doit s'étirer (largeur = bouton
   « ou appeler »). 454470c reste auto (lien tél historique hors colonne). */
.elementor-106766 .elementor-element-ad86369 {
	align-self: stretch !important;
	width: 100% !important;
	order: 4;
}
.elementor-106766 .elementor-element-454470c {
	align-self: center !important;
	width: auto !important;
	order: 4;
}
.elementor-106766 .elementor-element-ad86369 .elementor-button {
	display: flex !important;
	width: 100% !important;
	justify-content: center;
	align-items: center;
	gap: 0.8rem;
	padding: 1.05rem 1.8rem !important;
	background: var(--rt-terracotta) !important;
	color: var(--rt-sand) !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase !important;
	font-weight: 400 !important;
	transition: background 0.4s var(--mdb-ease), transform 0.4s var(--mdb-ease);
}
.elementor-106766 .elementor-element-ad86369 .elementor-button:hover {
	background: var(--rt-terracotta-bright) !important;
	transform: translateY(-2px);
}
.elementor-106766 .elementor-element-454470c .elementor-button {
	display: inline-flex !important;
	align-items: center;
	gap: 0.6rem;
	padding: 0.4rem 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--rt-sand) !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.24em !important;
	text-transform: uppercase !important;
}
.elementor-106766 .elementor-element-454470c .elementor-button:hover { color: var(--rt-terracotta-bright) !important; }
/* Côte à côte sur desktop (le hero étant en flex-column, on regroupe via wrap). */
@media (min-width: 600px) {
	.elementor-106766 .elementor-element-ad86369,
	.elementor-106766 .elementor-element-454470c { order: 4; }
}

/* --- RANGÉE BOUTONS (Restaurant / Carte cocktails / Carte mets) ------------ */
.elementor-106766 .elementor-element-34e7f20 {
	background: var(--rt-clay) !important;
	padding: clamp(2rem, 5vw, 3.2rem) var(--mdb-gutter) !important;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center !important;
	align-items: center;
	gap: 1rem !important;
}
.elementor-106766 .elementor-element-34e7f20 .elementor-widget-button { width: auto !important; }
.elementor-106766 .elementor-element-34e7f20 .elementor-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0.95rem 1.8rem !important;
	background: transparent !important;
	color: var(--rt-sand) !important;
	border: 1px solid var(--rt-terracotta-bright) !important;
	border-radius: 0 !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.26em !important;
	text-transform: uppercase !important;
	font-weight: 400 !important;
	transition: background 0.4s var(--mdb-ease), color 0.4s var(--mdb-ease);
}
.elementor-106766 .elementor-element-34e7f20 .elementor-button:hover {
	background: var(--rt-terracotta) !important;
	color: var(--rt-sand) !important;
	border-color: var(--rt-terracotta) !important;
}

/* --- Le Concept : « fond doré » (consigne client 2026-06-24) — lavis champagne
   chaud (échantillonné sur le logo RT) en dégradé vers le sable. Remplace le fond
   sable plat. Le titre terracotta reste lisible sur ce fond doré clair. */
.elementor-106766 .elementor-element-039f6cd {
	background: linear-gradient(180deg, var(--rt-gold-bg) 0%, #efdcbe 60%, var(--rt-sand) 100%) !important;
	padding: clamp(3.5rem, 8vw, 6rem) var(--mdb-gutter) clamp(1rem, 3vw, 2rem) !important;
	text-align: center;
}
.elementor-106766 .elementor-element-37a9128 .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: clamp(2.2rem, 4.5vw, 3.4rem) !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--rt-terracotta) !important;
}
/* Grille vidéo + texte (fd01a52) sur le même fond sable, 2 colonnes alignées.
   On vise la grille interne réelle (.e-con-inner) comme pour le hero. */
.elementor-106766 .elementor-element-fd01a52 {
	/* Suite du fond doré : on prolonge le lavis (du sable vers un doré plus marqué
	   en bas de page) pour une transition continue avec la section ci-dessus. */
	background: linear-gradient(180deg, var(--rt-sand) 0%, #efdcbe 55%, var(--rt-gold-bg) 100%) !important;
	padding: clamp(0.5rem, 2vw, 1.5rem) var(--mdb-gutter) clamp(3.5rem, 8vw, 6rem) !important;
}
.elementor-106766 .elementor-element-fd01a52 > .e-con-inner {
	max-width: var(--mdb-wrap-max);
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: 1.05fr 1fr !important;
	gap: clamp(1.5rem, 4vw, 3.5rem) !important;
	align-items: stretch !important;
}
.elementor-106766 .elementor-element-d4b8bba .elementor-custom-embed-image-overlay,
.elementor-106766 .elementor-element-d4b8bba .elementor-wrapper { border-radius: 0 !important; }
/* La vignette est un YouTube Short : Elementor lui impose --video-aspect-ratio
   0.5625 (9:16 portrait) → colonne démesurée (~1.8× sa largeur). On neutralise
   le ratio : c'est le TEXTE voisin qui fixe la hauteur de rangée, le média
   remplit la cellule (wrapper en absolu) et déborde d'un filet en haut/bas
   (marges négatives) pour rester « un peu plus haut » que le texte. */
.elementor-106766 .elementor-element-d4b8bba {
	position: relative;
	margin: -1.25rem 0 !important;
	min-height: 340px;
}
.elementor-106766 .elementor-element-d4b8bba .elementor-wrapper {
	position: absolute !important;
	inset: 0;
	height: 100% !important;
	aspect-ratio: auto !important;
}
.elementor-106766 .elementor-element-d4b8bba .elementor-custom-embed-image-overlay {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}
.elementor-106766 .elementor-element-d4b8bba .elementor-video,
.elementor-106766 .elementor-element-d4b8bba iframe {
	width: 100% !important;
	height: 100% !important;
}
/* Filet terracotta autour de la vidéo. */
.elementor-106766 .elementor-element-d4b8bba .elementor-wrapper::after {
	content: "";
	position: absolute;
	inset: 12px;
	border: 1px solid rgba(217, 83, 30, 0.55);
	pointer-events: none;
}
.elementor-106766 .elementor-element-e801010 { color: var(--rt-ink) !important; }
.elementor-106766 .elementor-element-e801010 p {
	font-family: var(--mdb-font-body) !important;
	color: var(--rt-ink) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.7 !important;
	margin: 0 0 0.9rem !important;
}
.elementor-106766 .elementor-element-e801010 p:first-child {
	font-family: var(--mdb-font-display) !important;
	font-style: italic;
	font-size: var(--mdb-step-2) !important;
	line-height: 1.3 !important;
	color: var(--rt-terracotta-deep) !important;
}

/* --- INSTAGRAM : bloc de clôture clay, centré --------------------------- */
.elementor-106766 .elementor-element-adca52d {
	background: var(--rt-clay) !important;
	padding: clamp(3.5rem, 8vw, 6rem) var(--mdb-gutter) 0.5rem !important;
	text-align: center;
}
.elementor-106766 .elementor-element-fc86a06 .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 400 !important;
	font-size: var(--mdb-step-3) !important;
	line-height: 1.05 !important;
	color: var(--rt-sand) !important;
	text-transform: none !important;
}
.elementor-106766 .elementor-element-0f371ac {
	background: var(--rt-clay) !important;
	padding: 0 var(--mdb-gutter) 1.8rem !important;
	text-align: center;
}
.elementor-106766 .elementor-element-9d1f8e5 p {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: rgba(244, 230, 210, 0.74) !important;
	margin: 0 !important;
}
.elementor-106766 .elementor-element-61fe278 {
	background: var(--rt-clay) !important;
	padding: 0 var(--mdb-gutter) clamp(3.5rem, 8vw, 6rem) !important;
	text-align: center;
}
.elementor-106766 .elementor-element-61fe278 .elementor-button {
	display: inline-flex !important;
	align-items: center;
	gap: 0.8rem;
	padding: 1rem 1.9rem !important;
	background: transparent !important;
	color: var(--rt-sand) !important;
	border: 1px solid var(--rt-terracotta-bright) !important;
	border-radius: 0 !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: 0.76rem !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase !important;
	transition: background 0.4s var(--mdb-ease), color 0.4s var(--mdb-ease);
}
.elementor-106766 .elementor-element-61fe278 .elementor-button:hover {
	background: var(--rt-terracotta) !important;
	color: var(--rt-sand) !important;
	border-color: var(--rt-terracotta) !important;
}

/* --- Roof Top : mobile --------------------------------------------------- */
@media (max-width: 768px) {
	.elementor-106766 > .elementor-element-651e311 { min-height: 100svh !important; }
	.elementor-106766 .elementor-element-34a8c93 img {
		height: clamp(200px, 52vw, 320px) !important;
	}
	/* La grille vit sur > .e-con-inner (pas le conteneur) : on empile là. */
	.elementor-106766 .elementor-element-fd01a52 > .e-con-inner {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}
	/* Empilé : plus de rangée partagée avec le texte → hauteur propre, sans
	   les marges négatives du desktop (elles mordraient titre et texte). */
	.elementor-106766 .elementor-element-d4b8bba {
		margin: 0 !important;
		min-height: clamp(280px, 70vw, 420px);
	}
	.elementor-106766 .elementor-element-7488ca8 .mdb-rt-hours { font-size: var(--mdb-step-1) !important; }
}

/* =========================================================================
   HEADER en contexte ROOF TOP — barre principale en terracotta.
   La barre du template 110554 hérite du fond navy via .mdb-header. On la
   passe en terracotta UNIQUEMENT sur la page Roof Top, en scellant au body.
   Le filet bas + l'effet d'ombre au scroll suivent la même teinte.
   ========================================================================= */
body.mdb-rt header.mdb-header,
body.mdb-rt .mdb-header {
	background: var(--rt-terracotta) !important;
	border-bottom-color: rgba(42, 14, 5, 0.32) !important;
}
body.mdb-rt.mdb-scrolled .mdb-header {
	box-shadow: 0 8px 30px -12px rgba(122, 40, 16, 0.65) !important;
}
/* Toggle MENU : texte et barres en sable pour rester lisibles sur terracotta. */
body.mdb-rt .mdb-menu-toggle,
body.mdb-rt .mdb-menu-toggle:hover,
body.mdb-rt .mdb-menu-toggle:focus { color: var(--rt-sand) !important; }
body.mdb-rt .mdb-menu-toggle__bars span {
	background: var(--rt-sand) !important;
}
/* Boutons CTA droite (Voir la carte / Réserver) sur la barre terracotta.
   Problème historique : .mdb-btn--solid garde son background gold MdB —
   gold sur orange = sale. On force LES DEUX variantes en teintes RT.
    - --ghost (Voir la carte) : transparent + filet sable, texte sable.
    - --solid (Réserver)      : fond ink/clay foncé, texte sable. Le contraste
      vient du tone foncé sur fond orange clair, pas d'une teinte concurrente.
   Hover : inversion sable/clay pour les deux. */
body.mdb-rt .mdb-header__actions .mdb-btn--ghost {
	background: transparent !important;
	color: var(--rt-sand) !important;
	border-color: rgba(244, 230, 210, 0.55) !important;
}
body.mdb-rt .mdb-header__actions .mdb-btn--ghost:hover {
	background: var(--rt-sand) !important;
	color: var(--rt-terracotta-deep) !important;
	border-color: var(--rt-sand) !important;
}
body.mdb-rt .mdb-header__actions .mdb-btn--solid {
	background: var(--rt-clay) !important;       /* #7a2810 — fond foncé, lisible sur terracotta */
	color: var(--rt-sand) !important;
	border-color: var(--rt-clay) !important;
}
body.mdb-rt .mdb-header__actions .mdb-btn--solid:hover {
	background: var(--rt-sand) !important;
	color: var(--rt-terracotta-deep) !important;
	border-color: var(--rt-sand) !important;
}
/* Logo RT (portrait 1248×1555) : on veut un logo VISUELLEMENT plus grand
   que le MdB sans toucher à la hauteur de la barre. Astuce : le widget
   contribue 69px à la hauteur (≈ logo MdB) ; le <img> rend lui plus grand
   (96px) et déborde verticalement. overflow:visible sur tout l'arbre du
   widget pour que le débordement ne soit pas coupé. Note : .mdb-header
   a overflow:hidden côté chrome — on le passe en visible UNIQUEMENT côté
   RT pour autoriser le débordement. */
body.mdb-rt header.mdb-header,
body.mdb-rt .mdb-header {
	overflow: visible !important;
}
body.mdb-rt .mdb-header .mdb-header__logo {
	height: 69px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
}
body.mdb-rt .mdb-header .mdb-header__logo .elementor-widget-container,
body.mdb-rt .mdb-header .mdb-header__logo figure,
body.mdb-rt .mdb-header .mdb-header__logo a {
	height: 69px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.mdb-rt .mdb-header .mdb-header__logo img {
	height: 96px !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	display: block !important;
}
body.mdb-rt .mdb-header .elementor-element-mdbhdrlogo,
body.mdb-rt .mdb-header .elementor-element-mdbhdrlogo .elementor-widget-container {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	overflow: visible !important;
}
@media (max-width: 880px) {
	body.mdb-rt .mdb-header .mdb-header__logo,
	body.mdb-rt .mdb-header .mdb-header__logo .elementor-widget-container,
	body.mdb-rt .mdb-header .mdb-header__logo figure,
	body.mdb-rt .mdb-header .mdb-header__logo a {
		height: 44px !important;
	}
	body.mdb-rt .mdb-header .mdb-header__logo img {
		height: 60px !important;
	}
}

/* =========================================================================
   PAGE « AVIS » (104781) — en-tête éditorial + cadre du widget Zenchef.
   Le contenu des avis vit DANS l'iframe Zenchef (cross-origin, non stylable) ;
   on soigne donc l'enrobage : en-tête concept + bande crème encadrant l'iframe.
   Container iframe 89adf1b = e-con-full -> cibler par ID (classes containers
   strippées par Elementor). Cf. mémoire elementor-econ-full-vs-boxed.
   ========================================================================= */
.elementor-104781 {
	background: var(--mdb-navy-deep);
}

/* --- En-tête (container a715head = e-con-boxed -> cibler > .e-con-inner par ID ;
   Elementor strip la classe mdb-avis-head du CONTAINER) --- */
.elementor-104781 .elementor-element-a715head > .e-con-inner {
	max-width: var(--mdb-wrap-max);
	margin-inline: auto;
	padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 4vw, 3rem) clamp(2.5rem, 5vw, 4rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1.1rem;
}
.elementor-104781 .mdb-avis-eyebrow .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--mdb-gold-bright);
	font-weight: 400;
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 1rem;
}
.elementor-104781 .mdb-avis-eyebrow .elementor-heading-title::before,
.elementor-104781 .mdb-avis-eyebrow .elementor-heading-title::after {
	content: "";
	width: 48px;
	height: 1px;
	background: var(--mdb-gold);
	display: inline-block;
}
.elementor-104781 .mdb-avis-title .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 300;
	font-size: var(--mdb-step-5);
	line-height: 0.96;
	letter-spacing: -0.015em;
	color: var(--mdb-cream);
	margin: 0;
}
.elementor-104781 .mdb-avis-lede .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: var(--mdb-step-2);
	line-height: 1.4;
	color: rgba(244, 236, 220, 0.78);
	margin: 0;
	max-width: 36ch;
}

/* --- Cadre crème autour de l'iframe Zenchef (container 89adf1b) --- */
.elementor-104781 .elementor-element-89adf1b {
	max-width: var(--mdb-wrap-max);
	margin-inline: auto;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3rem) clamp(4rem, 8vw, 7rem);
}
.elementor-104781 .elementor-element-89adf1b .elementor-widget-html { width: 100%; }

/* --- Bloc avis maison (fetch client-side de l'API Zenchef, rendu maison) --- */
.mdb-reviews {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(2.5rem, 5vw, 4rem);
}

/* Résumé / agrégat */
.mdb-reviews__summary {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	max-width: 460px;
	text-align: center;
}
.mdb-reviews__score {
	display: flex;
	align-items: baseline;
	gap: 0.15rem;
	color: var(--mdb-cream);
	font-family: var(--mdb-font-display);
}
.mdb-reviews__avg { font-size: clamp(3.2rem, 7vw, 5rem); font-weight: 300; line-height: 1; }
.mdb-reviews__avg-max { font-size: var(--mdb-step-2); color: rgba(244, 236, 220, 0.55); }
.mdb-reviews__stars {
	font-size: var(--mdb-step-2);
	letter-spacing: 0.18em;
	color: var(--mdb-gold-bright);
	line-height: 1;
}
.mdb-reviews__count {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(244, 236, 220, 0.7);
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	flex-wrap: wrap;
	justify-content: center;
}
.mdb-reviews__count-logo {
	display: inline-block;
	width: 4.8em;
	height: 1.4em;
	background: var(--mdb-gold-bright);
	-webkit-mask: url("../img/zenchef-logo.svg") left center / contain no-repeat;
	        mask: url("../img/zenchef-logo.svg") left center / contain no-repeat;
}
.mdb-reviews__breakdown {
	list-style: none;
	margin: 0.6rem 0 0;
	padding: 0;
	width: 100%;
	display: grid;
	gap: 0.6rem;
}
.mdb-reviews__breakdown li {
	display: grid;
	grid-template-columns: 7.5rem 1fr 2rem;
	align-items: center;
	gap: 0.85rem;
}
.mdb-reviews__bd-label {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step--1);
	color: rgba(244, 236, 220, 0.78);
	text-align: left;
}
.mdb-reviews__bd-bar {
	position: relative;
	height: 2px;
	background: rgba(177, 137, 84, 0.22);
	display: block;
}
.mdb-reviews__bd-bar > span {
	position: absolute;
	inset: 0 auto 0 0;
	background: var(--mdb-gold);
	display: block;
}
.mdb-reviews__bd-val {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step--1);
	color: var(--mdb-gold-bright);
	text-align: right;
}
.mdb-reviews__summary[data-state="loading"] .mdb-reviews__breakdown { opacity: 0.35; }

/* Grille de cartes */
.mdb-reviews__grid {
	width: 100%;
	max-width: var(--mdb-wrap-max);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2vw, 1.75rem);
}
.mdb-reviews__loading {
	grid-column: 1 / -1;
	text-align: center;
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-1);
	color: rgba(244, 236, 220, 0.6);
	margin: 0;
	padding: 2rem 0;
}
.mdb-review {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin: 0;
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
	background: rgba(244, 236, 220, 0.04);
	border: 1px solid var(--mdb-rule-soft);
}
/* en-tête carte : nom à gauche, note globale à droite */
.mdb-review__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}
.mdb-review__name {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(244, 236, 220, 0.92);
}
.mdb-review__stars {
	font-size: var(--mdb-step-0);
	letter-spacing: 0.16em;
	color: var(--mdb-gold-bright);
	line-height: 1;
	white-space: nowrap;
}
/* ligne de réservation : date · heure · couverts */
.mdb-review__booking {
	margin: 0;
	font-family: var(--mdb-font-body);
	font-size: 0.78rem;
	letter-spacing: 0.02em;
	color: rgba(244, 236, 220, 0.5);
}
.mdb-review__body {
	margin: 0;
	font-family: var(--mdb-font-display);
	font-size: var(--mdb-step-1);
	font-style: italic;
	line-height: 1.45;
	color: var(--mdb-cream);
	flex: 1 0 auto;
}
/* notes par catégorie */
.mdb-review__cats {
	list-style: none;
	margin: 0;
	padding-top: 0.85rem;
	border-top: 1px solid var(--mdb-rule-soft);
	display: grid;
	gap: 0.45rem;
}
.mdb-review__cat {
	display: grid;
	grid-template-columns: 6.5rem 1fr 1.9rem;
	align-items: center;
	gap: 0.7rem;
}
.mdb-review__cat-label {
	font-family: var(--mdb-font-body);
	font-size: 0.74rem;
	letter-spacing: 0.04em;
	color: rgba(244, 236, 220, 0.62);
}
.mdb-review__cat-bar {
	position: relative;
	height: 2px;
	background: rgba(177, 137, 84, 0.2);
	display: block;
}
.mdb-review__cat-bar > span {
	position: absolute;
	inset: 0 auto 0 0;
	background: var(--mdb-gold);
	display: block;
}
.mdb-review__cat-val {
	font-family: var(--mdb-font-body);
	font-size: 0.74rem;
	color: var(--mdb-gold-bright);
	text-align: right;
}

/* Bouton « Voir plus d'avis » (pagination) */
.mdb-reviews__more {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mdb-cream);
	background: transparent;
	border: 1px solid var(--mdb-rule);
	padding: 1rem 2.4rem;
	cursor: pointer;
	transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}
.mdb-reviews__more:hover { background: rgba(177, 137, 84, 0.12); color: var(--mdb-gold-bright); }
.mdb-reviews__more:disabled { opacity: 0.5; cursor: default; }
.mdb-reviews__more[hidden] { display: none; }

@media (max-width: 1024px) {
	.mdb-reviews__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.elementor-104781 .mdb-avis-eyebrow .elementor-heading-title::before,
	.elementor-104781 .mdb-avis-eyebrow .elementor-heading-title::after { width: 28px; }
	.mdb-reviews__grid { grid-template-columns: 1fr; }
	.mdb-reviews__breakdown li { grid-template-columns: 6.5rem 1fr 1.8rem; }
}

/* =========================================================================
   ACCUEIL (106136) — section avis : en-tête + carrousel auto-défilant.
   Données récupérées client-side de l'API Zenchef (cf. page /avis).
   Section hav0sect : bande navy pleine largeur, carrousel en débord.
   ========================================================================= */
.elementor-106136 .elementor-element-hav0sect {
	background: var(--mdb-navy-deep) !important;
	/* Section placée juste sous le hero : padding resserré pour qu'elle lise
	   comme une bande « preuve sociale » compacte, pas un 2e écran plein. */
	padding-block: clamp(2.5rem, 4.5vw, 4rem) !important;
	overflow: hidden;
}
.elementor-106136 .elementor-element-hav0sect > .e-con-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.9rem;
}
/* En-tête « Témoignages / Ils parlent de nous » masqué : redondant avec la
   ligne de note (4,7/5 · avis vérifiés Zenchef) qui dit déjà ce qu'est la
   section. Gain vertical important sous le hero. (Widgets conservés en DB,
   réversible.) */
.elementor-106136 .mdb-homeavis-eyebrow,
.elementor-106136 .mdb-homeavis-title {
	display: none !important;
}
/* en-tête (styles conservés si réaffichés) */
.elementor-106136 .mdb-homeavis-eyebrow .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--mdb-gold-bright);
	font-weight: 400;
	margin: 0;
	text-align: center;
}
.elementor-106136 .mdb-homeavis-title .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 300;
	/* Titre resserré (step-3 au lieu de step-4) : section compacte sous le hero. */
	font-size: var(--mdb-step-3);
	line-height: 1.02;
	letter-spacing: -0.015em;
	color: var(--mdb-cream);
	margin: 0;
	text-align: center;
}

/* note moyenne */
.mdb-homeavis-rev { width: 100%; display: flex; flex-direction: column; align-items: center; gap: clamp(1.2rem, 2.4vw, 1.8rem); }
.mdb-homeavis-rev__rating {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 0;
}
.mdb-homeavis-rev__avg { font-family: var(--mdb-font-display); font-weight: 300; font-size: var(--mdb-step-2); color: var(--mdb-cream); line-height: 1; }
.mdb-homeavis-rev__avg-max { font-family: var(--mdb-font-display); font-size: var(--mdb-step-0); color: rgba(244,236,220,0.5); }
.mdb-homeavis-rev__stars { color: var(--mdb-gold-bright); letter-spacing: 0.14em; font-size: var(--mdb-step-0); margin-left: 0.4rem; }
/* La ligne « [n] avis vérifiés sur zenchef » EST le lien vers /avis : pas
   d'élément séparé. Le nombre + le suffixe sont SOULIGNÉS en permanence pour
   signaler la cliquabilité ; le logo Zenchef (span masqué) n'est pas souligné.
   Survol : éclaircit en crème. */
.mdb-homeavis-rev__count { font-family: var(--mdb-font-eyebrow); font-size: var(--mdb-step--1); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(244,236,220,0.6); margin-left: 0.4rem; display: inline-flex; align-items: center; gap: 0.4em; text-decoration: none !important; transition: color 0.3s ease; }
.mdb-homeavis-rev__count [data-count],
.mdb-homeavis-rev__count [data-count-suffix] {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
	text-decoration-color: rgba(244,236,220,0.35);
	transition: text-decoration-color 0.3s ease;
}
a.mdb-homeavis-rev__count:hover { color: var(--mdb-cream); }
a.mdb-homeavis-rev__count:hover [data-count],
a.mdb-homeavis-rev__count:hover [data-count-suffix] { text-decoration-color: var(--mdb-cream); }
a.mdb-homeavis-rev__count:hover .mdb-homeavis-rev__zlogo { background: var(--mdb-cream); }
.mdb-homeavis-rev__zlogo {
	display: inline-block;
	width: 4.6em;
	height: 1.35em;
	vertical-align: middle;
	background: var(--mdb-gold-bright);
	-webkit-mask: url("../img/zenchef-logo.svg") left center / contain no-repeat;
	        mask: url("../img/zenchef-logo.svg") left center / contain no-repeat;
}

/* carrousel : viewport plein écran, piste qui défile */
.mdb-homeavis-rev__viewport {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
	        mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.mdb-homeavis-rev__track {
	display: flex;
	gap: clamp(1rem, 2vw, 1.75rem);
	width: max-content;
	will-change: transform;
	padding-inline: clamp(1rem, 2vw, 1.75rem);
}
.mdb-homeavis-rev__loading {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-1);
	color: rgba(244, 236, 220, 0.6);
	padding: 2rem;
	margin: 0;
}
.mdb-homeavis-card {
	flex: 0 0 clamp(280px, 28vw, 380px);
	width: clamp(280px, 28vw, 380px);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0;
	padding: clamp(1.2rem, 1.8vw, 1.7rem);
	background: rgba(244, 236, 220, 0.04);
	border: 1px solid var(--mdb-rule-soft);
}
.mdb-homeavis-card__stars { color: var(--mdb-gold-bright); letter-spacing: 0.16em; font-size: var(--mdb-step-0); line-height: 1; }
.mdb-homeavis-card__body {
	margin: 0;
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-1);
	line-height: 1.45;
	color: var(--mdb-cream);
	flex: 1 0 auto;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mdb-homeavis-card__meta { display: flex; flex-direction: column; gap: 0.15rem; padding-top: 0.85rem; border-top: 1px solid var(--mdb-rule-soft); }
.mdb-homeavis-card__name { font-family: var(--mdb-font-eyebrow); font-size: var(--mdb-step--1); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(244,236,220,0.9); }
.mdb-homeavis-card__date { font-family: var(--mdb-font-body); font-size: 0.78rem; color: rgba(244,236,220,0.66); } /* .66 : contraste AA sur fond sombre (>=4.5:1) */

/* Lien « Lire tous les avis » sous le carrousel : sans règle il retombait sur
   la couleur de lien du kit Elementor (rose). Même langage que le lien de note
   au-dessus (eyebrow, soulignement or permanent, flèche, crème au survol).
   Sélecteur composé (.mdb-homeavis-rev a.…) : bat la couleur `a` du kit quel
   que soit l'ordre de chargement. */
.mdb-homeavis-rev a.mdb-homeavis-rev__more {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mdb-gold-bright);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	text-decoration-color: var(--mdb-gold);
	transition: color 0.3s var(--mdb-ease), text-decoration-color 0.3s var(--mdb-ease);
}
.mdb-homeavis-rev a.mdb-homeavis-rev__more::after {
	content: " \2192";
	display: inline-block;
	font-size: 0.85em;
	margin-left: 0.4em;
	transform: translateX(0);
	transition: transform 0.3s var(--mdb-ease);
}
.mdb-homeavis-rev a.mdb-homeavis-rev__more:hover {
	color: var(--mdb-cream);
	text-decoration-color: var(--mdb-cream);
}
.mdb-homeavis-rev a.mdb-homeavis-rev__more:hover::after { transform: translateX(0.25em); }

@media (max-width: 600px) {
	.elementor-106136 .mdb-homeavis-title .elementor-heading-title { font-size: var(--mdb-step-3); }
	.mdb-homeavis-card { flex-basis: 82vw; width: 82vw; }
}

/* ===================================================================
   Menu texte (cartes dégustation) — remplace les images de menu.
   Réutilisable sur toutes les pages carte : appliquer les classes
   mdb-menu-* aux widgets Elementor. Reproduit la mise en page du menu
   papier : titre Cormorant, plats FR navy capitales, traduction EN or
   italique, accord vin Cormorant italique navy, séparateurs « ++++ ».
   =================================================================== */
/* Eyebrow au-dessus du titre (« Menu » / « Carte ») */
.mdb-menu-eyebrow .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--mdb-gold);
	margin: 0 0 0.8em;
}
.mdb-menu-title .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 500;
	font-style: italic;
	font-size: var(--mdb-step-5);
	line-height: 1.05;
	color: var(--mdb-gold-deep);
	margin: 0 0 0.4em;
}
.mdb-menu-intro { max-width: 40ch; margin: 0 auto 1.4rem; }
.mdb-menu-intro .mdb-fr {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mdb-navy);
	margin: 0 0 0.3em;
}
.mdb-menu-intro .mdb-en {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-0);
	color: var(--mdb-gold-deep);
	margin: 0;
}
.mdb-menu-price .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-weight: 600;
	font-size: var(--mdb-step-3);
	color: var(--mdb-gold-deep);
	margin: 0.2em 0 0.1em;
}
.mdb-menu-pairing-intro p {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-1);
	color: var(--mdb-navy);
	margin: 0 0 2rem;
}
/* Intitulé de service (ex. « La Provence », « Le Loup ») — or, Cormorant */
.mdb-menu-course .mdb-menu-coursehead,
.mdb-menu-mignardise .mdb-menu-coursehead {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-weight: 600;
	font-size: var(--mdb-step-2);
	letter-spacing: 0.02em;
	color: var(--mdb-gold-deep);
	margin: 0 0 0.5em;
}
/* Supplément (ligne fine en petites capitales) */
.mdb-menu-course .mdb-menu-supp {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--mdb-navy-soft);
	margin: 0.5em 0 0;
}
/* Un plat : FR / EN / vin */
.mdb-menu-course { max-width: 46ch; margin: 0 auto; }
.mdb-menu-course .mdb-fr,
.mdb-menu-mignardise .mdb-fr-plain {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step-0);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--mdb-navy);
	margin: 0 0 0.35em;
}
.mdb-menu-mignardise .mdb-fr-plain { text-transform: none; }
.mdb-menu-course .mdb-en,
.mdb-menu-mignardise .mdb-en {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-1);
	line-height: 1.3;
	color: var(--mdb-gold-deep);
	margin: 0;
}
.mdb-menu-course .mdb-wine {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-0);
	color: var(--mdb-navy-soft);
	margin: 0.5em 0 0;
}
/* Connecteur « ou » entre deux choix d'un même plat */
.mdb-menu-course .mdb-menu-ou {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-0);
	color: var(--mdb-gold);
	margin: 0.6em 0;
}
/* Séparateurs « ++++ » */
.mdb-menu-sep p {
	font-family: var(--mdb-font-body);
	letter-spacing: 0.3em;
	color: var(--mdb-rule);
	margin: 1.6rem 0;
}
.mdb-menu-mignardise { max-width: 46ch; margin: 1rem auto 0; }
/* Mention origine viande (note de bas de carte) */
.mdb-menu-footnote .mdb-menu-note {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step--1);
	letter-spacing: 0.04em;
	color: var(--mdb-navy-soft);
	margin: 2rem 0 0;
}

@media (max-width: 600px) {
	.mdb-menu-title .elementor-heading-title { font-size: var(--mdb-step-4); }
	.mdb-menu-course .mdb-fr { font-size: var(--mdb-step--1); }
	.mdb-menu-course .mdb-en,
	.mdb-menu-pairing-intro p { font-size: var(--mdb-step-0); }
}

/* ===================================================================
   Quirk Elementor : conteneur « boxed » en mode GRID. Elementor pose
   --grid-justify-content:start + justify-items:legacy, donc le .e-con-inner
   (qui porte le content-width) est calé à GAUCHE du track 1fr au lieu d'être
   centré → toute la colonne de la carte/menu paraissait décalée à gauche
   (cf. /lesprit-du-midi). On recentre uniquement les boxed-grid qui portent
   un Price List menu (les pages menu dégustation), pour ne pas toucher les
   autres conteneurs grid du site. */
.e-con-boxed.e-grid:has(> .e-con-inner > .mdb-pricelist) { justify-content: center; }
.e-con-boxed.e-grid:has(> .e-con-inner > .mdb-pricelist) > .e-con-inner { justify-self: center; margin-inline: auto; }

/* ===================================================================
   « La Carte » — pages à la carte avec prix (Tradition Bacon, Desserts).
   Lignes plat à gauche (FR capitales navy + EN or italique), prix à
   droite. Intitulés de section centrés, encadrés de filets héraldiques.
   Réutilisable : classes mdb-carte-*.
   =================================================================== */
.mdb-carte-rowwrap { max-width: 52rem; margin: 0 auto; }

/* ===================================================================
   Skin du widget Elementor Price List pour les cartes à la carte.
   Éditable par l'éditrice via les champs natifs (Titre / Description /
   Prix). On reprend la typo MdB : plat FR navy capitales, traduction EN
   or italique, prix or ; on neutralise le lien et le pointillé natifs.
   =================================================================== */
.mdb-pricelist .elementor-price-list { max-width: 52rem; margin: 0 auto; }
.mdb-pricelist .elementor-price-list-item {
	cursor: default;
	pointer-events: none;
	padding: 0.7rem 0;
}
.mdb-pricelist .elementor-price-list-header { align-items: baseline; gap: 1.2rem; }
/* IMPORTANT specificité (2026-07-02) : Elementor charge sa CSS de widget
   Price List (widget-price-list.min.css) APRÈS overrides.css. Sa règle
   `.elementor-price-list .elementor-price-list-item p.elementor-price-list-description
   {font-size:14px}` (spécificité 0,2,1) écrasait nos tailles → la description
   restait bloquée à 14px (mesuré). On reprend EXACTEMENT sa chaîne de sélecteur
   (avec le `.elementor-price-list` UL + le type `p`) préfixée de `.mdb-pricelist`
   → 0,4,1, imbattable, ET on ajoute `!important` en ceinture-bretelles car on
   surcharge une CSS de plugin minifiée dont on ne maîtrise pas l'ordre. */
.mdb-pricelist .elementor-price-list .elementor-price-list-item .elementor-price-list-title {
	font-family: var(--mdb-font-eyebrow);
	/* Titre plat = ancre (capitales espacées). step-1. */
	font-size: var(--mdb-step-1) !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.35;
	color: var(--mdb-navy);
}
/* Tuer le pointillé natif entre titre et prix */
.mdb-pricelist .elementor-price-list-separator { display: none; }
.mdb-pricelist .elementor-price-list .elementor-price-list-item .elementor-price-list-price {
	font-family: var(--mdb-font-display);
	font-weight: 600;
	/* Prix proportionné à la ligne agrandie. step-2. */
	font-size: var(--mdb-step-2) !important;
	color: var(--mdb-gold-deep);
	white-space: nowrap;
}
.mdb-pricelist .elementor-price-list .elementor-price-list-item p.elementor-price-list-description {
	font-family: var(--mdb-font-display);
	font-style: italic;
	/* Sous-texte or (traduction EN / sous-ligne). La CASSE : le serif italique
	   Cormorant a une hauteur d'x FAIBLE → à taille px égale il PARAÎT bien plus
	   petit que les capitales Tenor du titre. Historique : 14px (défaut Elementor,
	   qui gagnait) → step-2 (1.4-1.85rem) avec spécificité 0,4,1 + !important
	   (2026-07-02) pour qu'il lise clairement, à parité visuelle avec le titre. */
	font-size: var(--mdb-step-2) !important;
	line-height: 1.3;
	color: var(--mdb-gold-deep);
	margin: 0.2em 0 0;
}
/* Variante « menu dégustation » : pas de prix, tout centré (Midi, Soir,
   Fête des Mères). Le widget Price List sert juste de paire éditable
   Titre(FR) / Description(EN) ; on masque la colonne prix + le séparateur. */
.mdb-pricelist--menu .elementor-price-list { max-width: 46rem; }
.mdb-pricelist--menu .elementor-price-list-item { text-align: center; padding: 0.55rem 0; }
.mdb-pricelist--menu .elementor-price-list-text { width: 100%; }
.mdb-pricelist--menu .elementor-price-list-header { justify-content: center; }
.mdb-pricelist--menu .elementor-price-list-price { display: none; }
.mdb-pricelist--menu .elementor-price-list-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step-0);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--mdb-navy);
}
/* Tuer le max-width:80% natif sur le titre. La règle native
   `.elementor-price-list-item .elementor-price-list-title{max-width:80%}` a la
   même spécificité (0,2,0) que notre `.mdb-pricelist--menu …` : à égalité,
   c'est l'ordre de chargement qui tranche, et le CSS du widget Elementor
   gagnait → la boîte du titre restait à 80%, content-sized, calée à gauche du
   header centré (le texte FR multi-lignes paraissait décalé à gauche alors
   que la description EN, en <p> flex-basis:100%, se centrait bien).
   On reprend l'ancêtre .elementor-price-list-item pour passer à 3 classes
   (0,3,0) et gagner quel que soit l'ordre. */
.mdb-pricelist--menu .elementor-price-list-item .elementor-price-list-title {
	max-width: 100%;
	width: 100%;
	text-align: center;
}
.mdb-pricelist--menu .elementor-price-list-description {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-1);
	line-height: 1.3;
	color: var(--mdb-gold-deep);
	margin: 0.2em 0 0;
	text-align: center;
}
/* Variante « poissons » : prix long « Prix des 100gr brut N » en petit
   italique discret (au lieu du gros prix or). La description EN reste
   sur la même ligne que le titre (nom court + traduction). */
.mdb-pricelist--fish .elementor-price-list-price {
	font-size: var(--mdb-step--1);
	font-weight: 400;
	font-style: italic;
	color: var(--mdb-navy-soft);
	letter-spacing: 0.02em;
}
.mdb-pricelist--fish .elementor-price-list-title { font-size: var(--mdb-step--1); }
.mdb-pricelist--fish .elementor-price-list-description {
	/* Variante poissons : reste compacte/inline mais remontée step--1 → step-0
	   (2026-07-01) pour rester lisible sans dominer la ligne. */
	font-size: var(--mdb-step-0);
	display: inline;
}
/* Intitulé de section : centré, navy, petites capitales, filets latéraux */
.mdb-carte-section .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step-1);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mdb-navy);
	margin: 0 0 1.4rem;
	display: inline-flex;
	align-items: center;
	gap: 1.2rem;
}
/* Espace entre sections : porté par le widget heading (pas le <h2> interne,
   dont la marge est mangée par le wrapper Elementor). */
.mdb-carte-section { margin-top: clamp(2.8rem, 6vw, 4.5rem); }
/* Espace sous chaque liste de prix avant la section suivante */
.mdb-pricelist { margin-bottom: clamp(1rem, 3vw, 2rem); }
.mdb-carte-section .elementor-heading-title::before,
.mdb-carte-section .elementor-heading-title::after {
	content: "";
	width: clamp(28px, 6vw, 64px);
	height: 1px;
	background: var(--mdb-gold);
	opacity: 0.7;
}
.mdb-carte-section { text-align: center; }
/* Section encadrée (« Tradition Bacon » sur la carte, « Sélection de
   Bouchées » sur Les En-K du Bar) — cadre or façon carte papier, autour
   du heading + du Price List. Elementor n'émet PAS la classe custom d'un
   conteneur dans le HTML rendu (contrairement aux widgets) : on cible donc
   par l'ID d'élément Elementor stable (.elementor-element-<id>) plutôt que
   par une classe. Ajouter le nouvel ID ici pour encadrer une section. */
.mdb-carte-boxed,
.elementor-element-mdbtradbox,
.elementor-element-enkboucbox {
	max-width: 52rem;
	margin: 1.8rem auto 0;
	border: 1px solid var(--mdb-gold);
	box-shadow: 0 0 0 4px rgba(244,236,220,0.6), inset 0 0 0 1px var(--mdb-rule-soft);
	padding: 0.2rem clamp(1.2rem, 4vw, 2.6rem) 1.6rem;
}
.mdb-carte-boxed > .e-con-inner,
.elementor-element-mdbtradbox > .e-con-inner,
.elementor-element-enkboucbox > .e-con-inner { width: 100%; }
.mdb-carte-boxed .mdb-carte-section .elementor-heading-title,
.elementor-element-mdbtradbox .mdb-carte-section .elementor-heading-title,
.elementor-element-enkboucbox .mdb-carte-section .elementor-heading-title { margin-top: 1.6rem; }
/* Ligne plat : grid [dish | prix] */
.mdb-carte-row {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	column-gap: 1.5rem;
	padding: 0.7rem 0;
	text-align: left;
}
.mdb-carte-dish { display: block; }
.mdb-carte-fr {
	display: block;
	font-family: var(--mdb-font-eyebrow);
	/* Aligné sur le price-list : titre step-0 → step-1 (2026-07-02). */
	font-size: var(--mdb-step-1);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.35;
	color: var(--mdb-navy);
}
.mdb-carte-en {
	display: block;
	font-family: var(--mdb-font-display);
	font-style: italic;
	/* Sous-ligne or des rangées carte hand-codées — alignée sur le price-list :
	   step-2 (Cormorant italique à faible hauteur d'x, cf. price-list ; 2026-07-02). */
	font-size: var(--mdb-step-2);
	line-height: 1.3;
	color: var(--mdb-gold-deep);
	margin-top: 0.2em;
}
.mdb-carte-sub {
	display: block;
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-style: italic;
	color: var(--mdb-navy-soft);
	margin-top: 0.15em;
}
.mdb-carte-price {
	font-family: var(--mdb-font-display);
	font-weight: 600;
	/* Prix suit la ligne agrandie (step-1 → step-2, 2026-07-02). */
	font-size: var(--mdb-step-2);
	color: var(--mdb-gold-deep);
	white-space: nowrap;
	text-align: right;
}
/* Lignes poissons : prix « Prix des 100gr brut N » plus discret */
.mdb-carte-fishrow .mdb-carte-fr { display: inline; }
.mdb-carte-fishrow .mdb-carte-en { display: inline; }
.mdb-carte-fishrow .mdb-carte-price {
	font-size: var(--mdb-step--1);
	font-style: italic;
	letter-spacing: 0.02em;
}
/* Note (provenance, choix garnitures) centrée. Agrandie 2026-07-02 : les
   notes (FR navy caps + EN or italique) étaient en step--1, illisibles.
   FR note → step-0, EN note or → step-1 (le Cormorant italique à faible
   hauteur d'x doit être un cran au-dessus des caps navy pour paraître à
   parité, même logique que la sous-ligne des plats). */
.mdb-carte-note { text-align: center; max-width: 52rem; margin: 2.4rem auto 0; }
.mdb-carte-fr-note {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step-0);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mdb-navy);
	margin: 0.6rem 0 0.2rem;
}
.mdb-carte-en-note {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-1);
	color: var(--mdb-gold-deep);
	margin: 0 0 0.4rem;
}
/* Tableau caviar 30/50/100gr */
.mdb-carte-caviar { max-width: 52rem; margin: 0.5rem auto; }
.mdb-carte-caviar-head,
.mdb-carte-caviar-row {
	display: grid;
	grid-template-columns: 1fr 6rem 6rem 6rem;
	align-items: baseline;
	column-gap: 1.2rem;
	padding: 0.6rem 0;
}
/* En-têtes 30/50/100gr : un seul filet continu sous toute la rangée
   (porté par la rangée, pas par chaque cellule) pour éviter l'effet ragged. */
.mdb-carte-caviar-head {
	border-bottom: 1px solid var(--mdb-rule);
	padding-bottom: 0.4rem;
	margin-bottom: 0.2rem;
}
.mdb-carte-caviar-head span {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
	text-align: right;
}
.mdb-carte-caviar-row .mdb-carte-fr {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step-0);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mdb-navy);
	text-align: left;
}
.mdb-carte-caviar-row span:not(.mdb-carte-fr) {
	font-family: var(--mdb-font-display);
	font-size: var(--mdb-step-0);
	color: var(--mdb-gold-deep);
	text-align: right;
}
/* Accords atypiques (cidre/saké/thé) */
.mdb-carte-accordhead {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-weight: 600;
	font-size: var(--mdb-step-1);
	color: var(--mdb-navy);
	margin: 1.4rem 0 0.4rem;
	text-align: left;
	max-width: 52rem;
}
.mdb-carte-accord-fr {
	font-family: var(--mdb-font-display);
	font-size: var(--mdb-step-0);
	color: var(--mdb-navy);
}
.mdb-carte-accordrow .mdb-carte-row { padding: 0.4rem 0; }

@media (max-width: 600px) {
	.mdb-carte-row { column-gap: 1rem; }
	.mdb-carte-fishrow { grid-template-columns: 1fr; }
	.mdb-carte-fishrow .mdb-carte-price { text-align: left; margin-top: 0.2em; }
	.mdb-carte-caviar-head,
	.mdb-carte-caviar-row { grid-template-columns: 1fr 3.4rem 3.4rem 3.4rem; column-gap: 0.4rem; }
	.mdb-carte-section .elementor-heading-title { font-size: var(--mdb-step-0); }
}

/* =========================================================================
   PAGES « ESPACES PRIVATISABLES » — Appartement Victor (109275) & Villa Les
   Roches de Bacon (108852).
   Refonte visuelle dans la charte MdB (navy / crème / laiton), TEXTE INCHANGÉ.

   Pourquoi scellé à body.page-id-* (et pas à des classes posées sur les
   sections) : Elementor n'émet PAS les classes CSS perso sur les conteneurs
   de 1er niveau (e-parent) ; en revanche l'ID de page est immuable et survit
   à toutes les éditions de Nicole. On vise donc la structure via le scope de
   page + les classes natives Elementor stables (.e-con-boxed, .e-grid,
   .elementor-widget-heading…) plutôt que des IDs d'éléments fragiles.

   Les deux pages partagent le MÊME squelette (mêmes IDs de widgets), d'où un
   seul bloc partagé. Seules les images / le texte diffèrent (édités par
   Nicole dans Elementor normalement).

   Structure partagée :
     167c86ed  HERO  (bg vidéo, fallback blanc) > 57e6219 [spacer, H1, btn devis]
     7bacf566  SPLIT A : texte (4c1c904d) | image (6aceff82)   — bandeau brass
     2c2015a   SPLIT B : image (d27da10) | texte (8a9cb2a)      — fond clair
     048fdfe / a1a0d07  RANGÉE « autres espaces » (grille 3 col de boutons)
     5b74ef6   bloc bas (bouton devis natif)
   ========================================================================= */
.page-id-109275,
.page-id-108852 {
	background: var(--mdb-cream);
}

/* --- HERO : photo/vidéo conservée, scrim navy, titre + devis en bas ------- */
.page-id-109275 .elementor-element-167c86ed,
.page-id-108852 .elementor-element-167c86ed {
	position: relative;
	min-height: 78svh !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: center !important;
	overflow: hidden;
	background-color: var(--mdb-navy-deep) !important; /* fallback si pas de média */
}
/* Scrim navy directionnel posé sur ::after (Elementor garde ::before pour son
   propre overlay de fond). Au-dessus du média, sous le contenu. */
.page-id-109275 .elementor-element-167c86ed::after,
.page-id-108852 .elementor-element-167c86ed::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg,
			rgba(9, 26, 45, 0.30) 0%,
			rgba(9, 26, 45, 0.22) 45%,
			rgba(9, 26, 45, 0.72) 100%);
}
/* Le contenu du hero (spacer + H1 + bouton devis) passe au-dessus du scrim,
   centré, dégagé du header fixe, ancré en bas. */
.page-id-109275 .elementor-element-57e6219,
.page-id-108852 .elementor-element-57e6219 {
	position: relative !important;
	z-index: 2 !important;
	background: transparent !important;
	width: 100%;
	max-width: var(--mdb-wrap-max);
	margin: 0 auto !important;
	padding: clamp(140px, 20vh, 200px) var(--mdb-gutter) clamp(2.4rem, 6vh, 4rem) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: clamp(1.2rem, 2.6vh, 2rem) !important;
	text-align: center !important;
}
/* H1 du hero : Cormorant crème, large, ombré pour la lisibilité sur photo.
   On garde le retour à la ligne d'origine (« L'appartement de \n Victor »). */
.page-id-109275 .elementor-element-167c86ed .elementor-heading-title,
.page-id-108852 .elementor-element-167c86ed .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 500 !important;
	font-size: var(--mdb-step-5) !important;
	line-height: 1.02 !important;
	color: var(--mdb-cream) !important;
	letter-spacing: 0.01em;
	text-shadow: 0 2px 24px rgba(9, 26, 45, 0.55);
	margin: 0 !important;
}

/* --- Boutons « Demandez votre devis personnalisé » (natifs, .mdb-devis-cta)
   Primaire laiton plein, pilule, sur les deux pages (hero + bas). ---------- */
.mdb-devis-cta .elementor-button,
.mdb-devis-cta a.elementor-button {
	background: var(--mdb-gold) !important;
	color: var(--mdb-navy-deep) !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step-0) !important;
	font-weight: 400 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 1rem 2.4rem !important;
	border-radius: 999px !important;
	border: 1px solid var(--mdb-gold-bright) !important;
	box-shadow: 0 10px 30px rgba(14, 37, 63, 0.28);
	transition: transform 0.25s var(--mdb-ease), background 0.25s var(--mdb-ease), box-shadow 0.25s var(--mdb-ease);
}
.mdb-devis-cta .elementor-button:hover,
.mdb-devis-cta a.elementor-button:hover {
	background: var(--mdb-gold-bright) !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 38px rgba(14, 37, 63, 0.34);
}

/* --- SPLITS éditoriaux (texte ↔ image) ----------------------------------- */
/* On neutralise le bandeau brut #B48D64 du split A : crème chaud à la place,
   et on aligne les deux splits sur une grille éditoriale propre. */
.page-id-109275 .elementor-element-7bacf566,
.page-id-108852 .elementor-element-7bacf566 {
	background: var(--mdb-cream-warm) !important;
}
.page-id-109275 .elementor-element-2c2015a,
.page-id-108852 .elementor-element-2c2015a {
	background: var(--mdb-cream) !important;
}
.page-id-109275 .elementor-element-7bacf566 > .e-con-inner,
.page-id-108852 .elementor-element-7bacf566 > .e-con-inner,
.page-id-109275 .elementor-element-2c2015a > .e-con-inner,
.page-id-108852 .elementor-element-2c2015a > .e-con-inner {
	max-width: var(--mdb-wrap-max);
	margin-inline: auto;
	gap: clamp(2rem, 5vw, 4.5rem) !important;
	align-items: center !important;
	padding-block: clamp(3rem, 7vw, 6rem) !important;
}
/* Colonnes texte : titre Cormorant navy + filet laiton, corps Inter lisible. */
.page-id-109275 .elementor-element-7bacf566 .elementor-heading-title,
.page-id-108852 .elementor-element-7bacf566 .elementor-heading-title,
.page-id-109275 .elementor-element-2c2015a .elementor-heading-title,
.page-id-108852 .elementor-element-2c2015a .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 500 !important;
	font-size: var(--mdb-step-3) !important;
	line-height: 1.1 !important;
	color: var(--mdb-navy) !important;
	margin: 0 0 1.1rem !important;
	position: relative;
	padding-bottom: 0.9rem;
}
.page-id-109275 .elementor-element-7bacf566 .elementor-heading-title::after,
.page-id-108852 .elementor-element-7bacf566 .elementor-heading-title::after,
.page-id-109275 .elementor-element-2c2015a .elementor-heading-title::after,
.page-id-108852 .elementor-element-2c2015a .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 3rem;
	height: 2px;
	background: var(--mdb-gold);
}
.page-id-109275 .elementor-element-7bacf566 .elementor-widget-text-editor,
.page-id-108852 .elementor-element-7bacf566 .elementor-widget-text-editor,
.page-id-109275 .elementor-element-2c2015a .elementor-widget-text-editor,
.page-id-108852 .elementor-element-2c2015a .elementor-widget-text-editor {
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.75 !important;
	color: var(--mdb-ink) !important;
}
/* Images des splits : coins légèrement arrondis + ombre + filet laiton. */
.page-id-109275 .elementor-element-7bacf566 img,
.page-id-108852 .elementor-element-7bacf566 img,
.page-id-109275 .elementor-element-2c2015a img,
.page-id-108852 .elementor-element-2c2015a img {
	border-radius: 4px;
	box-shadow: 0 24px 60px rgba(14, 37, 63, 0.18);
	outline: 1px solid var(--mdb-rule);
	outline-offset: 10px;
}

/* --- RANGÉE cross-links (048fdfe / a1a0d07) : MASQUÉE -----------------------
   Remplacée par la section GLOBALE « Nos espaces » (cartes en arche) rendue par
   le thème au-dessus du footer (cf. mdb_venue_cards / get_footer). On masque la
   rangée de pilules d'origine ici plutôt que de la supprimer en DB : réversible,
   et les boutons restent dispo dans Elementor si besoin. */
.page-id-109275 .elementor-element-048fdfe,
.page-id-108852 .elementor-element-a1a0d07 {
	display: none !important;
}

/* --- Bloc bas (5b74ef6) : le 2e bouton devis, centré, respirant ----------- */
.page-id-109275 .elementor-element-5b74ef6,
.page-id-108852 .elementor-element-5b74ef6 {
	padding-block: clamp(1rem, 3vw, 2.5rem) clamp(3.5rem, 8vw, 6rem) !important;
	text-align: center;
}

/* --- Responsive : splits en colonne, image au-dessus du texte ------------- */
@media (max-width: 880px) {
	.page-id-109275 .elementor-element-7bacf566 > .e-con-inner,
	.page-id-108852 .elementor-element-7bacf566 > .e-con-inner,
	.page-id-109275 .elementor-element-2c2015a > .e-con-inner,
	.page-id-108852 .elementor-element-2c2015a > .e-con-inner {
		grid-template-columns: 1fr !important;
		flex-direction: column !important;
	}
	/* image toujours avant le texte sur mobile (split B a déjà image en 1er) */
	.page-id-109275 .elementor-element-6aceff82,
	.page-id-108852 .elementor-element-6aceff82 { order: -1; }
	.page-id-109275 .elementor-element-167c86ed .elementor-heading-title,
	.page-id-108852 .elementor-element-167c86ed .elementor-heading-title {
		font-size: var(--mdb-step-4) !important;
	}
}
/* (rangée cross-links masquée — plus de styles responsive nécessaires) */

/* =========================================================================
   SECTION GLOBALE « NOS ESPACES » — cartes en arche, rendue par le thème
   (mdb_venue_cards / hook get_footer) au-dessus du footer sur toutes les pages
   sauf accueil + exclusions. Reprend le langage des cartes « Nos Univers » de
   l'accueil : fond navy, arches baked-in (PNG 750×1000 ancrés en haut), titres
   Cormorant crème, CTA ghost-or. Classes propres (.mdb-venues*) — composant
   autonome, pas scellé à un ID Elementor.
   ========================================================================= */
.mdb-venues {
	/* PRÉ-FOOTER (2026-07-01) : bande distincte, collée au footer sans liseré blanc.
	   Fond `--mdb-navy` (#0e253f), soit un ou deux tons PLUS CLAIRS que le bandeau
	   footer (`--mdb-navy-deep` #091a2d) → la section se démarque légèrement comme
	   un vrai pré-footer, tout en restant dans la même famille sombre (pas de
	   couture crème). Padding-bas RÉTABLI : comme la bande est maintenant d'un ton
	   distinct, la limite de couleur est visible au bas de la section ; il faut donc
	   de l'air SOUS les noms (sinon ils collent au bord). La marge crème
	   `.ekit-template-content-footer{margin-top}` est neutralisée juste après. */
	background: var(--mdb-navy);
	color: var(--mdb-cream);
	padding: clamp(3.5rem, 8vw, 6.5rem) var(--mdb-gutter) clamp(3rem, 6vw, 5rem);
}
/* Soude la section au footer : plus de gouttière crème entre « Nos Espaces » et
   le bandeau navy. La marge n'est retirée QUE lorsque la section précède
   immédiatement le footer (cas normal) ; ailleurs le footer garde son air. */
.mdb-venues + .ekit-template-content-footer { margin-top: 0; }
.mdb-venues__inner {
	max-width: var(--mdb-wrap-max);
	margin-inline: auto;
}
.mdb-venues__title {
	font-family: var(--mdb-font-display);
	font-weight: 500;
	font-size: var(--mdb-step-4);
	line-height: 1.05;
	color: var(--mdb-cream);
	text-align: center;
	margin: 0 0 clamp(2rem, 4vw, 3.2rem);
}
.mdb-venues__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: clamp(1.5rem, 3vw, 2.8rem);
	align-items: start;            /* arches calées en haut, comme « Nos Univers » */
}
.mdb-venues__card { margin: 0; }
.mdb-venues__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	text-decoration: none;
	color: inherit;
}
/* Cadre de l'arche : l'arche est baked-in dans le PNG ; on impose la MÊME boîte
   3/4 aux 4 images (object-fit cover ancré en haut) pour que les couronnes
   s'alignent quel que soit le fichier. */
.mdb-venues__frame {
	display: block;
	width: 100%;
	overflow: hidden;
}
.mdb-venues__img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: top center;
	transition: transform 1.2s var(--mdb-ease), filter 0.6s var(--mdb-ease);
	filter: saturate(0.95) brightness(0.9);
}
.mdb-venues__link:hover .mdb-venues__img,
.mdb-venues__link:focus-visible .mdb-venues__img {
	transform: scale(1.02);
	filter: saturate(1) brightness(1);
}
.mdb-venues__name {
	font-family: var(--mdb-font-display);
	/* 2026-07-01 : taille calée pour que les 4 titres tiennent sur UNE seule ligne,
	   y compris le plus long (« Villa Les Roches de Bacon »). Colonne ≈ 290px sur
	   4 cartes (wrap-max 1320px). `white-space:nowrap` interdit le retour à la
	   ligne ; la taille est volontairement plus mesurée que l'ancien 2.1rem pour
	   que même le titre le plus long rentre sans déborder. Souligné or aligné à la
	   même hauteur pour les 4 → rangée nette. */
	font-size: clamp(1.15rem, 1.8vw, 1.55rem);
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--mdb-cream);
	line-height: 1.15;
	margin: 1.2rem 0 0;
	white-space: nowrap;
	/* Plus de bouton « Découvrir » (un titre sur 2 lignes — la Villa — décalait son
	   bouton par rapport aux 3 autres). La carte entière est déjà un <a> ; on signale
	   la cliquabilité par un SOULIGNÉ or sous le nom, discret au repos, qui
	   s'épaissit/s'éclaire au survol. */
	display: inline-block;
	padding-bottom: 0.25em;
	background-image: linear-gradient(var(--mdb-gold), var(--mdb-gold));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 100% 1px;
	transition: background-size 0.4s var(--mdb-ease), color 0.3s var(--mdb-ease);
}
.mdb-venues__link:hover .mdb-venues__name,
.mdb-venues__link:focus-visible .mdb-venues__name {
	color: #fff;
	background-size: 100% 2px;
}
/* Le bouton « Découvrir » est retiré du visuel (le markup PHP l'émet encore ;
   on le masque en CSS — réversible, et la carte reste cliquable dans son ensemble). */
.mdb-venues__cta { display: none; }
/* Contexte Roof Top : le souligné du nom prend l'accent terracotta du lieu. */
body.mdb-rt .mdb-venues__name {
	background-image: linear-gradient(var(--rt-terracotta, var(--mdb-gold)), var(--rt-terracotta, var(--mdb-gold)));
}
@media (max-width: 600px) {
	.mdb-venues__grid { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
	/* Sur mobile (colonnes ≈ 165px) « nowrap » ferait déborder la Villa : on
	   réautorise le retour à la ligne et on laisse le souligné épouser la 1re ligne.
	   L'alignement en 2 colonnes tolère des hauteurs de titre inégales. */
	.mdb-venues__name { font-size: 1.15rem; white-space: normal; }
}

/* =========================================================================
   PAGE /rendez-vous/ — AGENDA stylé (rendu par le thème via the_content).
   Liste éditoriale des soirées à venir, charte MdB crème/navy. Lignes :
   colonne date (Cormorant) + vignette + corps (lieu/titre/heure) + CTA.
   Le contenu Elementor de la page reste au-dessus (intro éditable).
   ========================================================================= */

/* Chrome du template PHP classique (Hello Elementor page.php) : titre
   .entry-title et chapô .page-content sortent en styles bruts (sans-serif
   noir sur blanc), et theme.css enferme .site-main dans une colonne 1140px
   centrée → l'agenda flottait en carte crème sur fond blanc. On passe le
   tout en charte : pleine largeur crème, colonne de texte alignée sur
   .mdb-agenda__inner (980px), titre Cormorant navy, chapô Inter. Même
   sélecteur que theme.css (body.classe .site-main, égalité de spécificité)
   → overrides.css chargé après gagne. Couvre aussi 404/recherche. */
body.mdb-needs-header-offset .site-main {
	max-width: none;
	padding-inline: 0;
	background: var(--mdb-cream);
}
.site-main .page-header,
.site-main .page-content > p {
	width: min(980px, calc(100% - 2 * var(--mdb-gutter)));
	margin-inline: auto;
}
.site-main .page-header { padding-top: clamp(2rem, 5vw, 3.75rem); }
.site-main .page-header .entry-title {
	font-family: var(--mdb-font-display);
	font-weight: 500;
	font-size: var(--mdb-step-4, 2.8rem);
	line-height: 1.08;
	letter-spacing: 0.005em;
	color: var(--mdb-navy);
	text-transform: none;
	padding-inline: 0;
	margin: 0 0 1rem;
}
.site-main .page-content > p {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0, 1.05rem);
	line-height: 1.75;
	color: var(--mdb-ink);
}

.mdb-agenda {
	background: var(--mdb-cream);
	color: var(--mdb-navy);
	padding: clamp(2.5rem, 6vw, 5rem) var(--mdb-gutter);
}
.mdb-agenda__inner {
	max-width: 980px;
	margin-inline: auto;
}
.mdb-agenda__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(1.2rem, 2.4vw, 2rem);
}
.mdb-agenda__item {
	display: grid;
	grid-template-columns: 5.5rem 11rem 1fr auto;
	align-items: center;
	gap: clamp(1rem, 2.4vw, 2rem);
	padding-bottom: clamp(1.2rem, 2.4vw, 2rem);
	border-bottom: 1px solid rgba(9, 26, 45, 0.12);
}
.mdb-agenda__item:last-child { border-bottom: 0; padding-bottom: 0; }
.mdb-agenda__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	font-family: var(--mdb-font-display);
	line-height: 1;
	color: var(--mdb-navy);
}
.mdb-agenda__day { font-size: var(--mdb-step-3, 2rem); font-weight: 500; }
.mdb-agenda__mon {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1, 0.8rem);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-top: 0.3rem;
	color: var(--mdb-gold-deep, #9a7b3a);
}
.mdb-agenda__year {
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	color: rgba(9, 26, 45, 0.45);
	margin-top: 0.2rem;
}
.mdb-agenda__frame {
	display: block;
	width: 11rem;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: 3px;
}
.mdb-agenda__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Affiches portrait : cadrage haut pour garder les visages (cf. accueil). */
	object-position: 50% 20%;
	display: block;
	transition: transform 0.8s var(--mdb-ease);
}
.mdb-agenda__frame:hover .mdb-agenda__img { transform: scale(1.04); }
.mdb-agenda__venue {
	display: inline-block;
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1, 0.78rem);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep, #9a7b3a);
	margin-bottom: 0.4rem;
}
.mdb-agenda__name {
	font-family: var(--mdb-font-display);
	font-weight: 500;
	font-size: var(--mdb-step-1, 1.3rem);
	line-height: 1.2;
	margin: 0;
}
.mdb-agenda__name a { color: var(--mdb-navy); text-decoration: none; transition: color 0.3s ease; }
.mdb-agenda__name a:hover { color: var(--mdb-gold-deep, #9a7b3a); }
.mdb-agenda__time {
	display: inline-block;
	margin-top: 0.35rem;
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1, 0.8rem);
	letter-spacing: 0.08em;
	color: rgba(9, 26, 45, 0.6);
}
.mdb-agenda__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1.6rem;
	white-space: nowrap;
	background: transparent;
	color: var(--mdb-navy);
	border: 1px solid var(--mdb-gold);
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.3s var(--mdb-ease), color 0.3s var(--mdb-ease);
}
.mdb-agenda__cta:hover { background: var(--mdb-gold); color: var(--mdb-navy-deep); }
.mdb-agenda__empty {
	text-align: center;
	font-family: var(--mdb-font-display);
	font-size: var(--mdb-step-1, 1.3rem);
	color: rgba(9, 26, 45, 0.6);
	padding: 3rem 0;
}
/* Tablette + mobile : vignette VISIBLE (consigne 2026-07-13, remplace le
   repli) — bandeau 16/9 pleine largeur sous la ligne date/titre. Placement
   explicite : l'auto-placement grid casserait la paire date|titre. */
@media (max-width: 860px) {
	.mdb-agenda__item { grid-template-columns: 4.5rem 1fr auto; }
	.mdb-agenda__date { grid-row: 1; grid-column: 1; }
	.mdb-agenda__body { grid-row: 1; grid-column: 2; }
	.mdb-agenda__cta { grid-row: 1; grid-column: 3; }
	.mdb-agenda__frame {
		grid-row: 2;
		grid-column: 1 / -1;
		width: 100%;
		aspect-ratio: 16 / 9;
	}
}
@media (max-width: 560px) {
	.mdb-agenda__item {
		grid-template-columns: 3.5rem 1fr;
		gap: 0.9rem 1rem;
	}
	.mdb-agenda__day { font-size: var(--mdb-step-2, 1.6rem); }
	.mdb-agenda__cta {
		grid-row: 3;
		grid-column: 1 / -1;
		justify-self: start;
		margin-top: 0.4rem;
		padding: 0.6rem 1.3rem;
	}
}

/* =========================================================================
   SINGLE ÉVÉNEMENT (/event/...) — mise en charte de la page TEC par défaut.
   Scellé à `body.single-tribe_events`. Le PHP (functions.php) injecte un
   bandeau image + fil d'Ariane avant le contenu et un CTA Réserver après ;
   ici on restyle TOUT le markup natif `tribe-events-*` dans le langage
   éditorial du site (crème/navy, Cormorant/Tenor/Inter), et on neutralise
   les éléments off-charte restants (dropdown d'abonnement, libellés bruts).
   ========================================================================= */
/* Le wrapper TEC est une <section id="tribe-events-pg-template"> sibling du
   header fixe : aucun sélecteur de l'offset générique (l. ~677) ne le couvre,
   le titre passait SOUS le header (bug 2026-07-13). Même recette que les
   articles FOCUS : clearance mesurée par sticky-cta.js. Sélecteur par ID
   obligatoire : TEC pose `#tribe-events-pg-template { padding-top: 40px }`
   qui bat toute pile de classes. */
body.mdb-needs-header-offset #tribe-events-pg-template {
	padding-top: var(--mdb-header-clearance, 172px);
}
.single-tribe_events #tribe-events-pg-template,
.single-tribe_events .tribe-events-single {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: var(--mdb-gutter);
}
.single-tribe_events #tribe-events-content.tribe-events-single {
	padding-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 7vw, 5rem);
	color: var(--mdb-navy);
	font-family: var(--mdb-font-body);
}

/* Dropdown d'abonnement iCal/Google : masqué (hors charte). */
.single-tribe_events .tribe-events-c-subscribe-dropdown__container,
.single-tribe_events .tribe-events-cal-links,
.single-tribe_events .tribe-events-schedule .tribe-events-cal-links { display: none !important; }

/* Image vedette native du single : doublon du bandeau .mdb-event-hero,
   coupée côté PHP (filtre tribe_event_featured_image) — ceinture CSS. */
.single-tribe_events .tribe-events-event-image { display: none; }

/* Nav précédent/suivant du HAUT (#tribe-events-header) : la paire du bas
   suffit — avant lecture, deux titres voisins n'apportent rien. */
.single-tribe_events #tribe-events-header .tribe-events-nav-pagination { display: none; }

/* Bandeau image vedette injecté en PHP. */
.mdb-event-hero {
	margin-bottom: clamp(1.5rem, 3.5vw, 2.5rem);
}
.mdb-event-hero__frame {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 4px;
	background: var(--mdb-cream-warm);
}
.mdb-event-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Bandeau 16/9 sur des affiches souvent portrait : cadrage haut,
	   le cover centré décapitait les artistes. */
	object-position: 50% 20%;
	display: block;
}
.mdb-event-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1.2rem;
	margin-top: 1.1rem;
}
/* Depuis 0.9.255 le bandeau ne porte plus que le lieu : la date/heure vit
   uniquement dans la ligne native .tribe-events-schedule sous le H1. */
.mdb-event-hero__venue {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1, 0.78rem);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
}

/* Fil d'Ariane (retour agenda). */
.mdb-event-back,
.single-tribe_events .tribe-events-back {
	margin: 0 0 1.4rem;
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1, 0.8rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.mdb-event-back a,
.single-tribe_events .tribe-events-back a {
	color: var(--mdb-gold-deep);
	text-decoration: none;
	transition: color 0.3s var(--mdb-ease);
}
.mdb-event-back a:hover,
.single-tribe_events .tribe-events-back a:hover { color: var(--mdb-navy); }
/* Le « Tous les Évènements » natif de TEC fait doublon avec notre fil d'Ariane. */
.single-tribe_events .tribe-events-back { display: none; }

/* Titre de l'événement. Les titres saisis par l'éditrice sont longs
   (phrase complète) : text-wrap balance équilibre le drapeau sur 3-5 lignes
   dans la colonne 760px. */
.single-tribe_events .tribe-events-single-event-title {
	font-family: var(--mdb-font-display);
	font-weight: 500;
	font-size: var(--mdb-step-4, 2.8rem);
	line-height: 1.08;
	letter-spacing: 0.005em;
	color: var(--mdb-navy);
	text-wrap: balance;
	text-transform: none;
	margin: 0 0 0.7rem;
}

/* Ligne de programmation (date · heure). */
.single-tribe_events .tribe-events-schedule {
	margin: 0 0 clamp(1.6rem, 3.5vw, 2.4rem);
	padding-bottom: clamp(1.4rem, 3vw, 2rem);
	border-bottom: 1px solid var(--mdb-rule);
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step-0, 1rem);
	letter-spacing: 0.04em;
	color: var(--mdb-gold-deep);
}
.single-tribe_events .tribe-events-schedule h2,
.single-tribe_events .tribe-events-schedule .tribe-events-schedule__datetime { margin: 0; }

/* Corps éditorial. */
.single-tribe_events .tribe-events-single-event-description {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0, 1.05rem);
	line-height: 1.75;
	color: var(--mdb-ink);
}
.single-tribe_events .tribe-events-single-event-description p { margin: 0 0 1.2rem; }
.single-tribe_events .tribe-events-single-event-description ul,
.single-tribe_events .tribe-events-single-event-description ol { margin: 0 0 1.2rem 1.2rem; }
.single-tribe_events .tribe-events-single-event-description a {
	color: var(--mdb-gold-deep);
	text-decoration: underline;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}
.single-tribe_events .tribe-events-single-event-description a:hover { color: var(--mdb-coral-deep); }
.single-tribe_events .tribe-events-single-event-description strong { color: var(--mdb-navy); }

/* Liste « Au programme » — reconstruite depuis les puces emoji de
   l'éditrice (filtre the_content, functions.php), filets or en guise de
   puces. Préfixe #tribe-events-pg-template OBLIGATOIRE : TEC pose
   `#tribe-events-pg-template .tribe-events-content ul { list-style: disc }`
   (poids id) qui bat toute pile de classes. */
#tribe-events-pg-template .tribe-events-content .mdb-event-programme {
	list-style: none;
	margin: 0 0 1.2rem;
	padding: 0;
}
#tribe-events-pg-template .tribe-events-content .mdb-event-programme li {
	position: relative;
	padding-left: 2rem;
	margin: 0 0 0.5rem;
	line-height: 1.75;
}
#tribe-events-pg-template .tribe-events-content .mdb-event-programme li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.85em;
	width: 1.2rem;
	height: 1px;
	background: var(--mdb-gold-deep);
}

/* Navigation prev/next entre événements. Le border-top natif de
   #tribe-events-footer doublonnerait notre filet (et, tant que la carte
   méta était flottée par TEC, il passait SOUS elle en fausse rayure
   pleine largeur) : retiré. */
.single-tribe_events #tribe-events-footer { border-top: 0; }
.single-tribe_events .tribe-events-nav-pagination {
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	padding-top: clamp(1.4rem, 3vw, 2rem);
	border-top: 1px solid var(--mdb-rule);
}
.single-tribe_events .tribe-events-sub-nav {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.single-tribe_events .tribe-events-sub-nav li { background: none; min-width: 0; }
.single-tribe_events .tribe-events-sub-nav a {
	display: inline-flex;
	flex-direction: column;
	gap: 0.4rem;
	max-width: 34ch;
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1, 0.82rem);
	letter-spacing: 0.06em;
	color: var(--mdb-navy);
	text-decoration: none;
	transition: color 0.3s var(--mdb-ease);
}
.single-tribe_events .tribe-events-sub-nav a:hover { color: var(--mdb-gold-deep); }
.single-tribe_events .tribe-events-nav-next { text-align: right; }
.single-tribe_events .tribe-events-nav-next a { align-items: flex-end; }
/* Flèches image de TEC (pseudo-éléments de tribe-events-single-full.css) :
   avec l'ancre passée en colonne, elles décrochaient sur leur propre ligne. */
.single-tribe_events .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a::before,
.single-tribe_events .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a::after,
.single-tribe_events .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a::before,
.single-tribe_events .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a::after {
	content: none;
	background: none;
}
/* Libellé + titre injectés par mdb_event_nav_link() (functions.php). Le
   `display` est posé explicitement : TEC masque tous les <span> des ancres
   de sub-nav (règle chevrons de tribe-events-single-skeleton.css). */
.single-tribe_events .tribe-events-sub-nav a .mdb-event-nav__label {
	display: block;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
}
.single-tribe_events .tribe-events-sub-nav a .mdb-event-nav__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	line-height: 1.55;
}

/* Méta — carte « informations pratiques » réduite au groupe Lieu (nom,
   adresse, téléphone, plan). Les groupes Détails (date/heure/catégorie,
   déjà sous le titre via .tribe-events-schedule) et Organisateur (même nom
   que le lieu + « Voir le site Organisateur » qui bouclait sur le site
   lui-même) sont masqués ; le téléphone vit sur le LIEU (_VenuePhone).
   PIÈGE spécificité : tribe-events-single-full.css pose
   `.single-tribe_events .tribe-events-single .tribe-events-event-meta`
   (background: initial + largeur réduite) — il faut le même sélecteur à
   3 classes, gagné par ordre de source, sinon fond transparent et carte
   à 62 % de la colonne. */
.single-tribe_events .tribe-events-single .tribe-events-event-meta {
	width: 100%;
	float: none;
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	padding: clamp(1.6rem, 3.5vw, 2.4rem);
	background: var(--mdb-cream-warm);
	border: 1px solid var(--mdb-rule-soft);
	border-radius: 4px;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.4rem, 3vw, 2.4rem);
	color: var(--mdb-navy);
	font-family: var(--mdb-font-body);
}
.single-tribe_events .tribe-events-meta-group-details,
.single-tribe_events .tribe-events-meta-group-organizer { display: none; }
.single-tribe_events .tribe-events-meta-group {
	width: auto;
	float: none;
	padding: 0;
	margin: 0;
}
.single-tribe_events .tribe-events-single-section-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1, 0.8rem);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
	margin: 0 0 0.9rem;
	padding: 0;
	border: 0;
}
.single-tribe_events .tribe-events-meta-list,
.single-tribe_events .tribe-events-meta-group ul { list-style: none; margin: 0; padding: 0; }
.single-tribe_events .tribe-events-meta-item { margin: 0 0 0.55rem; background: none; }
.single-tribe_events .tribe-events-meta-label,
.single-tribe_events .tribe-events-meta-label span {
	display: inline;
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1, 0.78rem);
	letter-spacing: 0.05em;
	color: rgba(9, 26, 45, 0.55);
}
.single-tribe_events .tribe-events-meta-value,
.single-tribe_events .tribe-events-meta-value abbr,
.single-tribe_events .tribe-events-meta-value div {
	font-size: var(--mdb-step-0, 1rem);
	color: var(--mdb-navy);
	border: 0;
	text-decoration: none;
}
/* Liens de la carte : variante AA du laiton — gold-deep ne fait que 4.0:1
   sur le fond crème-warm de la carte (ok sur blanc, pas ici). */
.single-tribe_events .tribe-events-meta-value a,
.single-tribe_events .tribe-venue-location a { color: var(--mdb-gold-deep-aa); }
/* « + Google Map » : insécable, sur sa propre ligne sous l'adresse (il
   s'enroulait après « France », laissant un « + » orphelin). */
.single-tribe_events .tribe-events-gmap {
	display: inline-block;
	white-space: nowrap;
	margin-top: 0.4rem;
}
.single-tribe_events .tribe-events-address,
.single-tribe_events .tribe-street-address,
.single-tribe_events .tribe-locality { font-style: normal; line-height: 1.5; }
.single-tribe_events .tribe-events-meta-item.tribe-venue {
	font-family: var(--mdb-font-display);
	font-size: var(--mdb-step-1, 1.2rem);
	color: var(--mdb-navy);
	margin-bottom: 0.4rem;
}
/* Carte Google embarquée : masquée (coupée aussi côté PHP). */
.single-tribe_events .tribe-events-meta-group-gmap,
.single-tribe_events .tribe-events-venue-map { display: none !important; }

/* CTA Réserver injecté en PHP (soirées Roof Top). */
.mdb-event-cta {
	margin-top: clamp(2rem, 4vw, 3rem);
	text-align: center;
}
.mdb-event-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.95rem 2.6rem;
	background: var(--mdb-gold);
	color: var(--mdb-navy-deep);
	border: 1px solid var(--mdb-gold);
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.84rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.3s var(--mdb-ease), color 0.3s var(--mdb-ease);
}
.mdb-event-cta__btn:hover { background: var(--mdb-gold-bright); border-color: var(--mdb-gold-bright); }

@media (max-width: 640px) {
	.mdb-event-hero__frame { aspect-ratio: 4 / 3; }
}

/* =========================================================================
   PAGE « VOS ÉVÉNEMENTS » (106209) — contenu porté de la prod /event-2 (staff),
   redesigné dans la charte MdB. TEXTE INCHANGÉ.
   Devis = BookingShake (boutons .bs-booking-button .mdb-devis-cta).
   Structure (après suppression de la section « Nos Univers » inline, remplacée
   par la section GLOBALE « Nos espaces ») :
     167c86ed  HERO (bg vidéo Vimeo + fallback 105895) > 57e6219 [H1, CTA devis]
     ac96c4f   « Organisez votre événement… » [heading + texte + CTA devis]
   Scellé à .page-id-106209 (ID immuable) — pas aux classes de section.
   ========================================================================= */

/* --- HERO : photo/vidéo + scrim navy + bloc centré (eyebrow / H1 / CTA) ----
   Bloc de contenu centré verticalement (pas collé en bas), titre maîtrisé sur
   ~2 lignes, scrim renforcé + halo radial derrière le texte pour la lisibilité
   sur la photo « soirée » chargée (image conservée à la demande du client). */
.page-id-106209 .elementor-element-167c86ed {
	position: relative;
	min-height: 78svh !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden;
	background-color: var(--mdb-navy-deep) !important;
}
.page-id-106209 .elementor-element-167c86ed::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	/* scrim vertical renforcé + halo central : assied le texte quelle que soit
	   la zone de la photo (chemises blanches, visages clairs). */
	background:
		radial-gradient(ellipse 60% 55% at 50% 52%, rgba(9, 26, 45, 0.55) 0%, rgba(9, 26, 45, 0) 70%),
		linear-gradient(180deg, rgba(9, 26, 45, 0.58) 0%, rgba(9, 26, 45, 0.34) 42%, rgba(9, 26, 45, 0.78) 100%);
}
/* Le conteneur hero 57e6219 est e-con-BOXED : le contenu vit dans .e-con-inner.
   On rend l'extérieur pleine largeur et on centre la colonne de contenu DANS
   .e-con-inner (sinon le bloc était calé à gauche, pas au centre de la page). */
.page-id-106209 .elementor-element-57e6219 {
	position: relative !important;
	z-index: 2 !important;
	background: transparent !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: clamp(120px, 16vh, 180px) var(--mdb-gutter) clamp(3rem, 8vh, 5rem) !important;
	display: flex !important;
	justify-content: center !important;
}
.page-id-106209 .elementor-element-57e6219 > .e-con-inner {
	width: 100% !important;
	max-width: var(--mdb-wrap-max) !important;
	margin-inline: auto !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: clamp(1.5rem, 3.2vh, 2.4rem) !important;
	text-align: center !important;
}
/* Titre (H1 id 11022c82 UNIQUEMENT) : Cormorant crème, ~2 lignes, centré.
   Scellé à l'ID du H1 pour NE PAS toucher le sous-titre mdb-evt-hero__sub
   (qui est aussi un widget heading) — celui-ci est piloté dans l'éditeur. */
.page-id-106209 .elementor-element-11022c82 .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 500 !important;
	font-size: clamp(2.6rem, 5.2vw, 4.6rem) !important;
	line-height: 1.06 !important;
	color: var(--mdb-cream) !important;
	letter-spacing: 0.005em;
	text-shadow: 0 2px 30px rgba(9, 26, 45, 0.6);
	text-wrap: balance;
	text-align: center !important;
	margin: 0 auto !important;
	max-width: 20ch;
}
/* Le widget TITRE (H1, id 11022c82) centré. NB : on ne touche PAS au sous-titre
   mdb-evt-hero__sub (piloté dans l'éditeur Elementor — cf. plus bas). */
.page-id-106209 .elementor-element-11022c82 {
	text-align: center !important;
	width: 100% !important;
}
/* CTA devis du hero (BookingShake) : on RÉAFFIRME le gold pill ici (le rendu par
   défaut Elementor / link-blue l'emportait par moments en contexte hero).
   Le scrim ::after (z-index:1) repassait DEVANT le bouton (le conteneur
   BookingShake créait son propre contexte d'empilement) → la pastille
   paraissait sombre. On force le conteneur CTA + le bouton AU-DESSUS du scrim. */
.page-id-106209 .elementor-element-2da504d {
	background: transparent !important;
	position: relative !important;
	z-index: 5 !important;
}
.page-id-106209 .elementor-element-167c86ed .mdb-devis-cta,
.page-id-106209 .elementor-element-167c86ed .mdb-devis-cta .elementor-button,
.page-id-106209 .elementor-element-167c86ed .mdb-devis-cta a.elementor-button {
	position: relative !important;
	z-index: 5 !important;
}
.page-id-106209 .elementor-element-167c86ed .mdb-devis-cta .elementor-button,
.page-id-106209 .elementor-element-167c86ed .mdb-devis-cta a.elementor-button {
	/* Or VIF et 100% opaque (le brass mat #b18954 paraissait terne sur la photo).
	   background-image:none neutralise tout dégradé hérité ; opacity:1 garanti. */
	background: #c9a371 !important;
	background-image: none !important;
	opacity: 1 !important;
	color: var(--mdb-navy-deep) !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step-0) !important;
	font-weight: 500 !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 1.05rem 2.6rem !important;
	border-radius: 999px !important;
	border: 1px solid #d8b27e !important;
	box-shadow: 0 8px 22px rgba(9, 26, 45, 0.3);
}
.page-id-106209 .elementor-element-167c86ed .mdb-devis-cta .elementor-button:hover,
.page-id-106209 .elementor-element-167c86ed .mdb-devis-cta a.elementor-button:hover {
	background: #d6b585 !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(9, 26, 45, 0.36);
}

/* --- SECTION « Organisez votre événement… » : bandeau crème éditorial ------ */
.page-id-106209 .elementor-element-ac96c4f {
	background: var(--mdb-cream) !important;
	padding: clamp(3.5rem, 8vw, 6.5rem) var(--mdb-gutter) !important;
	text-align: center;
}
.page-id-106209 .elementor-element-ac96c4f > .e-con-inner {
	max-width: 60rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.6rem;
}
.page-id-106209 .elementor-element-ac96c4f .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 500 !important;
	font-size: var(--mdb-step-3) !important;
	line-height: 1.1 !important;
	color: var(--mdb-navy) !important;
	margin: 0 !important;
	position: relative;
	padding-bottom: 1rem;
}
.page-id-106209 .elementor-element-ac96c4f .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 3rem;
	height: 2px;
	background: var(--mdb-gold);
}
.page-id-106209 .elementor-element-ac96c4f .elementor-widget-text-editor {
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.75 !important;
	color: var(--mdb-ink) !important;
}
@media (max-width: 880px) {
	.page-id-106209 .elementor-element-11022c82 .elementor-heading-title {
		font-size: var(--mdb-step-4) !important;
	}
}

/* --- /vos-evenements : sous-titre hero (mdb-evt-hero__sub) ------------------
   Overrides CSS RETIRÉS à la demande du client (2026-06-18) : le widget est
   désormais piloté dans l'éditeur Elementor (typo, alignement, espacement).
   Ne pas réintroduire de règles ici sans accord. */

/* --- /vos-evenements : sections venue (3 lignes texte ↔ image alternées) --
   Widgets natifs : heading (eyebrow/titre), text-editor, icon-list, image.
   IMPORTANT : Elementor STRIPPE le `_css_classes` des conteneurs e-con
   (mdb-evt-spaces / mdb-evt-row / mdb-evt__txtcol / __imgcol disparaissent du
   rendu). On cible donc les CONTENEURS par leur ID stable (b8d91f0 = section
   « espaces », 4a7e080 = bandeau « accompagnement ») et par la STRUCTURE (lignes
   = enfants e-con directs de la section ; colonnes = leurs 2 enfants e-con).
   Les classes de WIDGETS (__eyebrow/__title/__body/__ideal/__img) survivent. */
.page-id-106209 .elementor-element-b8d91f0 {
	background: #fff !important;
	padding: clamp(3.5rem, 8vw, 6.5rem) var(--mdb-gutter) clamp(2rem, 5vw, 3.5rem) !important;
}
.page-id-106209 .mdb-evt-spaces__hd .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 500 !important;
	font-size: var(--mdb-step-3) !important;
	line-height: 1.1 !important;
	color: var(--mdb-navy) !important;
	text-align: center;
	max-width: 22ch;
	margin: 0 auto clamp(2.5rem, 6vw, 4rem) !important;
	position: relative;
	padding-bottom: 1rem;
}
.page-id-106209 .mdb-evt-spaces__hd .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 3rem;
	height: 2px;
	background: var(--mdb-gold);
}

/* Une ligne venue = enfant e-con direct de la section espaces b8d91f0.
   Grille 2 colonnes (déjà flex_direction:row en données), centrée. */
.page-id-106209 .elementor-element-b8d91f0 > .e-con-inner > .elementor-element.e-con,
.page-id-106209 .elementor-element-b8d91f0 > .elementor-element.e-con {
	max-width: var(--mdb-wrap-max);
	margin-inline: auto !important;
	padding-block: clamp(2rem, 5vw, 3.5rem) !important;
}
.page-id-106209 .mdb-evt__eyebrow .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	font-weight: 400 !important;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep) !important;
	margin: 0 0 0.7rem 0 !important;
}
.page-id-106209 .mdb-evt__title .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 500 !important;
	font-size: var(--mdb-step-2) !important;
	line-height: 1.12 !important;
	color: var(--mdb-navy) !important;
	margin: 0 0 1rem 0 !important;
}
.page-id-106209 .mdb-evt__body,
.page-id-106209 .mdb-evt__body p {
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.7 !important;
	color: var(--mdb-ink) !important;
	margin: 0 0 1.4rem 0 !important;
}
.page-id-106209 .mdb-evt__idealhd .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	font-weight: 400 !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mdb-navy) !important;
	opacity: 0.7;
	margin: 0 0 0.6rem 0 !important;
}
/* Icon-list « Idéal pour » : puces or discrètes, texte encre. */
.page-id-106209 .mdb-evt__ideal .elementor-icon-list-items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.35rem 1.5rem;
}
/* Puce alignée sur la 1re ligne du libellé : on cale la hauteur de la colonne
   icône sur le line-height du texte (1.5em) et on centre la pastille dedans.
   flex-start => si un libellé passe sur 2 lignes, la puce reste en haut. */
.page-id-106209 .mdb-evt__ideal .elementor-icon-list-item {
	align-items: flex-start;
}
.page-id-106209 .mdb-evt__ideal .elementor-icon-list-icon {
	padding-top: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 1.5em !important;     /* = line-height de .elementor-icon-list-text */
	width: 14px !important;       /* gouttière icône : pastille 6px + marge → pas de clip */
	min-width: 14px !important;
	flex: 0 0 14px !important;
}
.page-id-106209 .mdb-evt__ideal .elementor-icon-list-icon svg {
	width: 6px !important;
	height: 6px !important;
	min-width: 6px !important;
	max-width: 6px !important;
	flex: 0 0 auto !important;
	fill: var(--mdb-gold) !important;
	overflow: visible !important; /* pastille ronde entière, jamais rognée */
}
.page-id-106209 .mdb-evt__ideal .elementor-icon-list-text {
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step--1) !important;
	line-height: 1.5 !important;
	color: var(--mdb-ink) !important;
	letter-spacing: 0.01em;
}
/* Image venue : ratio éditorial, coins nets, ombre douce. */
.page-id-106209 .mdb-evt__img img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	box-shadow: 0 18px 44px rgba(14, 37, 63, 0.18);
}

/* --- « Un accompagnement sur mesure » : bandeau navy, CTA devis -----------
   Conteneur ciblé par ID (4a7e080) : son `_css_classes` mdb-evt-accompagne est
   strippé par Elementor → la règle de fond navy ne matchait pas et le texte
   crème s'affichait sur crème (illisible). */
.page-id-106209 .elementor-element-4a7e080 {
	background: var(--mdb-navy) !important;
	padding: clamp(3.5rem, 8vw, 6rem) var(--mdb-gutter) !important;
	text-align: center;
	gap: 1.4rem !important;
}
.page-id-106209 .elementor-element-4a7e080 > .e-con-inner {
	max-width: 52rem;
	margin-inline: auto;
	align-items: center;
}
.page-id-106209 .mdb-evt-accompagne__hd .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 500 !important;
	font-size: var(--mdb-step-3) !important;
	line-height: 1.1 !important;
	color: var(--mdb-cream) !important;
	margin: 0 !important;
}
.page-id-106209 .mdb-evt-accompagne__body,
.page-id-106209 .mdb-evt-accompagne__body p {
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.75 !important;
	color: rgba(244, 236, 220, 0.86) !important;
	margin: 0 0 0.6rem 0 !important;
}

/* Empilement mobile : image au-dessus du texte, liste « Idéal pour » 1 col.
   Colonnes ciblées par structure (les 2 enfants e-con de chaque ligne) car
   mdb-evt__txtcol / __imgcol sont strippés. La colonne IMAGE contient .mdb-evt__img
   → on la remonte (order:-1) via :has(); fallback : empilement simple sinon. */
@media (max-width: 880px) {
	.page-id-106209 .elementor-element-b8d91f0 > .e-con-inner > .e-con,
	.page-id-106209 .elementor-element-b8d91f0 > .e-con {
		flex-wrap: wrap !important;
	}
	.page-id-106209 .elementor-element-b8d91f0 .e-con > .e-con-inner > .e-con,
	.page-id-106209 .elementor-element-b8d91f0 .e-con > .e-con {
		width: 100% !important;
	}
	.page-id-106209 .elementor-element-b8d91f0 .e-con:has(.mdb-evt__img) {
		order: -1;
	}
	.page-id-106209 .mdb-evt__ideal .elementor-icon-list-items {
		grid-template-columns: 1fr;
	}
}

/* --- /le-roof-top (106766) : « Privatiser le Roof Top » (BookingShake) ------
   Refonte 2026-07-02 : reprend le contenu du bloc Roof Top de /vos-evenements
   (« Le coucher de soleil sur le Cap d'Antibes », intro, « Idéal pour » en 2
   colonnes) en palette RT, sur bande blanche entre le lavis doré du Concept et
   le clay des Rendez-vous. « Privatiser le Roof Top » devient l'eyebrow (même
   hiérarchie que la source : kicker + grand titre).
   NB : la classe custom d'un CONTENEUR n'est pas émise par Elementor → la
   section est ciblée par .elementor-element-rtprivsec (cf. gotcha mdbtradbox) ;
   les classes des WIDGETS (mdb-rt-privatise-*) sortent normalement. */
.mdb-rt .elementor-element-rtprivsec {
	background: #fff;
	padding: clamp(3.5rem, 8vw, 6rem) var(--mdb-gutter);
	text-align: center;
}
.mdb-rt .mdb-rt-privatise-head .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	font-weight: 400 !important;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--rt-terracotta, #d9531e) !important;
	margin: 0 0 0.8rem !important;
}
.mdb-rt .mdb-rt-privatise-sun .elementor-heading-title {
	font-family: var(--mdb-font-display) !important;
	font-weight: 500 !important;
	font-size: clamp(1.9rem, 3.6vw, 2.8rem) !important;
	line-height: 1.12 !important;
	color: var(--rt-ink) !important;
	margin: 0 0 1.1rem !important;
}
.mdb-rt .mdb-rt-privatise-txt,
.mdb-rt .mdb-rt-privatise-txt p {
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.7 !important;
	color: var(--rt-ink) !important;
	max-width: 46rem;
	margin: 0 auto !important;
}
.mdb-rt .mdb-rt-privatise-idealhd .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	font-weight: 400 !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--rt-ink) !important;
	opacity: 0.65;
	margin: clamp(1.8rem, 4vw, 2.6rem) 0 1rem !important;
}
/* Icon-list « Idéal pour » : grille 2 colonnes centrée, items alignés à
   gauche, pastilles terracotta (anatomie reprise de mdb-evt__ideal). */
.mdb-rt .mdb-rt-privatise-ideal .elementor-icon-list-items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 2.4rem;
	max-width: 34rem;
	margin: 0 auto;
	text-align: left;
}
.mdb-rt .mdb-rt-privatise-ideal .elementor-icon-list-item {
	align-items: flex-start;
}
.mdb-rt .mdb-rt-privatise-ideal .elementor-icon-list-icon {
	padding-top: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 1.5em !important;
	width: 14px !important;
	min-width: 14px !important;
	flex: 0 0 14px !important;
}
.mdb-rt .mdb-rt-privatise-ideal .elementor-icon-list-icon svg {
	width: 6px !important;
	height: 6px !important;
	min-width: 6px !important;
	max-width: 6px !important;
	flex: 0 0 auto !important;
	fill: var(--rt-terracotta, #d9531e) !important;
	overflow: visible !important;
}
.mdb-rt .mdb-rt-privatise-ideal .elementor-icon-list-text {
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-0) !important;
	line-height: 1.5 !important;
	color: var(--rt-ink) !important;
	letter-spacing: 0.01em;
}
.mdb-rt .mdb-rt-privatise-cta { margin-top: clamp(2rem, 4.5vw, 3rem) !important; }
/* CTA terracotta plein (sur-écrit le gold pill global .mdb-devis-cta). */
.mdb-rt .mdb-rt-privatise-cta .elementor-button {
	background: var(--rt-terracotta, #d9531e) !important;
	color: #fff !important;
	border-color: var(--rt-terracotta-bright, #e26a3a) !important;
}
.mdb-rt .mdb-rt-privatise-cta .elementor-button:hover {
	background: var(--rt-terracotta-deep, #b54115) !important;
}
@media (max-width: 600px) {
	.mdb-rt .mdb-rt-privatise-ideal .elementor-icon-list-items {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   Roof Top — Prochains rendez-vous (bloc events, rendu par le thème)
   Section .rt-events injectée par functions.php sur /le-roof-top/, juste après
   « Privatiser le Roof Top » et avant le pré-footer Nos Espaces (get_footer
   prio 9). Rangée date / vignette / titre : la vignette TEC (image mise en
   avant) est rendue quand elle existe (consigne 2026-07-13). Hors arbre
   Elementor (donc pas de .elementor-106766), mais scellée au contexte RT via
   body.mdb-rt. Palette terracotta/sable.
   ============================================================ */
body.mdb-rt .rt-events {
	background: var(--rt-clay, #7a2810);
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1.2rem, 5vw, 3rem);
}
body.mdb-rt .rt-events__inner {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
}
body.mdb-rt .rt-events__eyebrow {
	font-family: var(--mdb-font-eyebrow, sans-serif);
	font-size: var(--mdb-step--1, 0.82rem);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--rt-terracotta-bright, #e26a3a);
	margin: 0 0 0.6rem;
}
body.mdb-rt .rt-events__title {
	font-family: var(--mdb-font-display, serif);
	font-weight: 300;
	font-size: var(--mdb-step-3, 2.2rem);
	color: var(--rt-sand, #f4e6d2);
	margin: 0 0 clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
}
/* Liste verticale calquée sur l'agenda de l'accueil (ectbe 337ce1e restylé,
   cf. ~l.1330) : rangée flex alignée baseline, grand jour Cormorant italique,
   mois/année Tenor empilés, titre = lien souligné + flèche, heure discrète.
   Même anatomie, palette RT (terracotta/sable sur clay). */
body.mdb-rt .rt-events__list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 880px;
	text-align: left;
}
body.mdb-rt .rt-events__row {
	display: flex;
	align-items: baseline;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	padding: clamp(1.5rem, 3.5vw, 2.4rem) 0;
	border-bottom: 1px solid var(--rt-rule, rgba(199, 136, 76, 0.32));
}
body.mdb-rt .rt-events__row:first-child {
	border-top: 1px solid var(--rt-rule, rgba(199, 136, 76, 0.32));
}
body.mdb-rt .rt-events__date {
	flex: 0 0 auto;
	width: clamp(64px, 8vw, 96px);
	text-align: center;
	line-height: 1;
}
body.mdb-rt .rt-events__day {
	display: block;
	font-family: var(--mdb-font-display, serif);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(2.4rem, 4.5vw, 3.2rem);
	color: var(--rt-terracotta-bright, #e26a3a);
	letter-spacing: -0.01em;
}
body.mdb-rt .rt-events__mon,
body.mdb-rt .rt-events__yr {
	display: block;
	font-family: var(--mdb-font-eyebrow, sans-serif);
	font-size: var(--mdb-step--1, 0.82rem);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--rt-sand, #f4e6d2);
	opacity: 0.7;
	margin-top: 0.35rem;
}
body.mdb-rt .rt-events__yr { opacity: 0.5; }
/* Vignette de l'event (image mise en avant TEC), entre date et titre —
   même cadre 3/2 que l'agenda de l'accueil et /rendez-vous. */
body.mdb-rt .rt-events__frame {
	flex: 0 0 auto;
	align-self: center;
	display: block;
	width: clamp(6rem, 11vw, 9rem);
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: 3px;
}
body.mdb-rt .rt-events__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Affiches portrait : cadrage haut pour garder les visages (cf. accueil). */
	object-position: 50% 20%;
	display: block;
	transition: transform 0.8s ease;
}
body.mdb-rt .rt-events__frame:hover .rt-events__img { transform: scale(1.04); }
body.mdb-rt .rt-events__body { flex: 1 1 auto; }
body.mdb-rt .rt-events__name {
	margin: 0 0 0.5rem;
	font-weight: 400;
	line-height: 1.2;
}
body.mdb-rt .rt-events__name a {
	font-family: var(--mdb-font-display, serif);
	font-size: clamp(1.25rem, 2.2vw, 1.7rem);
	line-height: 1.2;
	color: var(--rt-sand, #f4e6d2);
	text-decoration: none;
	background-image: linear-gradient(var(--rt-terracotta-bright, #e26a3a), var(--rt-terracotta-bright, #e26a3a));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 100% 1px;
	padding-bottom: 0.1em;
	transition: color 0.3s ease, background-size 0.4s ease;
}
body.mdb-rt .rt-events__name a::after {
	content: " \2192";
	display: inline-block;
	font-family: var(--mdb-font-eyebrow, sans-serif);
	font-size: 0.6em;
	vertical-align: middle;
	margin-left: 0.4em;
	transition: transform 0.3s ease;
}
body.mdb-rt .rt-events__name a:hover {
	color: #fff;
	background-image: linear-gradient(#fff, #fff);
}
body.mdb-rt .rt-events__name a:hover::after { transform: translateX(0.25em); }
body.mdb-rt .rt-events__time {
	font-family: var(--mdb-font-eyebrow, sans-serif);
	font-size: var(--mdb-step--1, 0.82rem);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(244, 230, 210, 0.6);
}
body.mdb-rt .rt-events__reserve {
	display: inline-block;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding: 0.85rem 2.4rem;
	background: var(--rt-terracotta, #d9531e);
	color: var(--rt-sand, #f4e6d2);
	font-family: var(--mdb-font-eyebrow, sans-serif);
	font-size: var(--mdb-step--1, 0.82rem);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid var(--rt-terracotta-bright, #e26a3a);
	border-radius: 2px;
	transition: background 0.3s ease;
}
body.mdb-rt .rt-events__reserve:hover {
	background: var(--rt-terracotta-deep, #b54115);
}
/* Mobile : même compactage que l'agenda de l'accueil — date sur UNE ligne
   (jour + mois + année en baseline), titre dessous, rythme resserré. */
@media (max-width: 600px) {
	body.mdb-rt .rt-events__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.6rem;
		padding: 1.4rem 0;
	}
	body.mdb-rt .rt-events__date {
		width: auto;
		display: flex;
		align-items: baseline;
		gap: 0.45rem;
		text-align: left;
	}
	body.mdb-rt .rt-events__day { font-size: 1.9rem; }
	body.mdb-rt .rt-events__mon,
	body.mdb-rt .rt-events__yr { margin-top: 0; font-size: 0.7rem; }
	/* Vignette VISIBLE aussi sur mobile (consigne 2026-07-13, remplace le
	   repli) : bandeau pleine largeur 16/9 entre la ligne date et le titre. */
	body.mdb-rt .rt-events__frame {
		width: 100%;
		aspect-ratio: 16 / 9;
	}
	body.mdb-rt .rt-events__name a { font-size: 1.15rem; }
}

/* ============================================================
   Page Chef — Nicolas Davouze (106198)
   Article restructuré en widgets natifs Heading + Text Editor.
   La typo vit ICI (pas d'override par-widget) pour que Nicole
   édite le texte sans toucher au style.
   ============================================================ */
/* Section éditoriale Chef — MÊME recette que l'intro crème de la home
   (élément 7bacf566) : papier crème, titres Cormorant navy, corps Inter
   encre navy douce, emphase or. Cohérence sitewide.

   STRUCTURE 100 % NATIVE Elementor : chaque section image est un conteneur
   ligne (flex row) avec 2 colonnes (image + texte), alternées, éditables par
   Nicole dans l'éditeur. PAS de float/grid CSS — juste la typo + la déco.
   On cible la section par .elementor-element-fdad9d0 et la colonne de lecture
   par .elementor-element-76a75f9 (classes d'ID stables ; les classes custom
   des conteneurs e-con sont strippées par Elementor). */
body.page-id-106198 .elementor-element-fdad9d0 {
	background-color: var(--mdb-cream) !important;
	color: var(--mdb-navy);
}
/* Largeur de lecture éditoriale + rythme vertical entre sections. */
body.page-id-106198 .elementor-element-76a75f9 {
	max-width: 820px !important;
	margin: 0 auto !important;
	gap: clamp(1.8rem, 4vw, 2.6rem) !important;
}

/* Titres de section : Cormorant navy (comme la home). */
body.page-id-106198 .mdb-chef-prose__h .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 400;
	font-size: var(--mdb-step-3);
	line-height: 1.05;
	letter-spacing: -0.012em;
	color: var(--mdb-navy) !important;
	margin: 0 0 0.4em 0;
}

/* Corps : Inter Tight, encre navy douce (identique à l'intro home). */
body.page-id-106198 .mdb-chef-prose__body,
body.page-id-106198 .mdb-chef-prose__body .elementor-widget-container,
body.page-id-106198 .mdb-chef-prose__body p {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-1);
	line-height: 1.7;
	color: rgba(20, 32, 44, 0.86) !important;
}
body.page-id-106198 .mdb-chef-prose__body p { margin: 0 0 1.1em 0; }
body.page-id-106198 .mdb-chef-prose__body p:last-child { margin-bottom: 0; }
/* Emphase or, comme sur la home (pas de gras navy). */
body.page-id-106198 .mdb-chef-prose__body strong {
	color: var(--mdb-gold-deep) !important;
	font-weight: 600;
}
body.page-id-106198 .mdb-chef-prose__body a {
	color: var(--mdb-gold-deep) !important;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	text-decoration-color: rgba(138, 103, 54, 0.5);
	transition: text-decoration-color 0.3s ease;
}
body.page-id-106198 .mdb-chef-prose__body a:hover {
	text-decoration-color: var(--mdb-gold-deep);
}

/* Pull-quote : filets dorés, italique display, accent du chef. */
body.page-id-106198 .mdb-chef-prose__pull .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 500;
	font-style: italic;
	font-size: var(--mdb-step-2);
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: var(--mdb-gold-deep) !important;
	text-align: center;
	margin: 0.4em auto;
	padding: 1.4rem 0;
	border-top: 1px solid rgba(177, 137, 84, 0.4);
	border-bottom: 1px solid rgba(177, 137, 84, 0.4);
	max-width: 32ch;
}

/* Bouton LinkedIn natif, contour laiton sur crème. */
body.page-id-106198 .mdb-chef-prose__btn .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.74rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mdb-navy-deep) !important;
	background: transparent !important;
	border: 1px solid var(--mdb-gold) !important;
	border-radius: 0 !important;
	padding: 0.95rem 2rem !important;
	margin-top: 0.6rem;
	transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
body.page-id-106198 .mdb-chef-prose__btn .elementor-button:hover {
	background: var(--mdb-navy-deep) !important;
	border-color: var(--mdb-navy-deep) !important;
	color: var(--mdb-cream) !important;
}

/* Image de colonne (conteneur ligne natif) : remplit sa colonne, ratio
   portrait propre, bords nets. La mise en page vient des colonnes Elementor,
   pas du CSS. */
body.page-id-106198 .mdb-chef-colimg img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 25%;
}
body.page-id-106198 .mdb-chef-colimg .elementor-widget-container { height: 100%; }

/* Mobile : les colonnes natives Elementor passent en pile (flex-wrap) ; on
   force la largeur pleine, l'image au-dessus du texte, et on resserre la typo. */
@media (max-width: 767px) {
	body.page-id-106198 .mdb-chef-row { flex-wrap: wrap; }
	body.page-id-106198 .mdb-chef-row__img,
	body.page-id-106198 .mdb-chef-row__txt { width: 100% !important; }
	body.page-id-106198 .mdb-chef-row__img { order: -1; }
	body.page-id-106198 .mdb-chef-colimg img { aspect-ratio: 3 / 2; }
	body.page-id-106198 .mdb-chef-prose__pull .elementor-heading-title {
		font-size: var(--mdb-step-1);
		padding: 1.1rem 0;
	}
}

/* =========================================================================
   RECRUTEMENT — refonte façon concept (page recrutement, SANS hero).
   Structure (rebuild-recrutement.php) — tout sur papier crème, éditorial :
     7168cd1   intro éditoriale (1re section, sous le header fixe)
     b4c0a01   « Postes ouverts » (#postes) — job-board en LIGNES
               (cartes ElementsKit converties en lignes : titre | lien)
     b4c0a02   « Candidature spontanée » (#candidature) — CTA mailto
   Les widgets ne portent que le contenu ; tout le look vit ici, scellé
   aux IDs Elementor (les classes custom des containers ne sortent pas
   toujours dans le DOM — celles des widgets si).
   ========================================================================= */

/* Page sans hero : le wrapper wp-page reçoit le padding de compensation du
   header fixe (body.mdb-needs-header-offset) — on le peint en crème pour que
   la bande sous le header soit du même papier que la 1re section.
   :has() (tous navigateurs modernes) évite de coupler au page-id, qui
   diffèrera en prod ; fallback : bande blanche, acceptable. */
body.mdb-needs-header-offset div[data-elementor-type="wp-page"]:has(.elementor-element-b4c0a01) {
	background: var(--mdb-cream);
}

/* --- Helpers partagés de la page ----------------------------------------- */
/* Eyebrow Tenor or au-dessus des titres de section (widget réel, donc
   éditable et traduisible — contrairement aux ::before de la home). */
.mdb-rec-eyebrow .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.34em;
	text-transform: uppercase;
	font-weight: 400;
	color: var(--mdb-gold-deep);
}
.mdb-rec-eyebrow { margin-bottom: 1.1rem !important; }
/* Titre de section : Cormorant éditorial. */
.mdb-rec-title .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 400;
	font-size: var(--mdb-step-4);
	line-height: 1.02;
	letter-spacing: -0.012em;
	color: var(--mdb-navy);
}
.mdb-rec-title { margin-bottom: 2.2rem !important; }

/* --- INTRO (7168cd1) : crème éditoriale ----------------------------------- */
.elementor-element-7168cd1 {
	background: var(--mdb-cream) !important;
	padding-top: clamp(2.5rem, 5vw, 4rem) !important;
	padding-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}
.elementor-element-7168cd1 .mdb-rec-title .elementor-heading-title {
	max-width: 22ch;
	margin-inline: auto;
}
.mdb-rec-intro {
	max-width: 62ch;
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0);
	line-height: 1.65;
	color: rgba(20, 32, 44, 0.86);
}
.mdb-rec-intro p { margin: 0 0 1.1rem; }
.mdb-rec-intro p:last-child { margin-bottom: 0; }
.mdb-rec-intro strong { color: var(--mdb-gold-deep); font-weight: 500; }
/* Exergue : les deux questions en Cormorant italique, filet or au-dessus. */
.mdb-rec-intro .mdb-rec-pull {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-2);
	line-height: 1.4;
	color: var(--mdb-navy);
	text-align: center;
	margin: 2.4rem auto;
	padding-top: 2rem;
	position: relative;
}
.mdb-rec-intro .mdb-rec-pull::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	height: 1px;
	background: var(--mdb-gold);
}

/* --- POSTES OUVERTS (b4c0a01) : crème, job-board en lignes ----------------- */
.elementor-element-b4c0a01 {
	background: var(--mdb-cream) !important;
	padding-block: clamp(2rem, 5vw, 4rem) !important;
}
.elementor-element-b4c0a01 .mdb-rec-eyebrow,
.elementor-element-b4c0a01 .mdb-rec-title { text-align: center; }
.elementor-element-b4c0a01 .mdb-rec-title { margin-bottom: 1.2rem !important; }
/* Intitulé de groupe (À l'accueil / En cuisine / En salle) : Tenor or
   espacé + filet qui court jusqu'au bord droit. */
.mdb-rec-group { margin-top: 2.4rem !important; }
.mdb-rec-group .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	font-weight: 400;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
}
.mdb-rec-group .elementor-heading-title::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: var(--mdb-rule);
}
/* Les cartes ElementsKit deviennent des LIGNES : une offre par ligne,
   titre à gauche, lien « Voir le poste » à droite, filet fin entre deux. */
.elementor-element-b4c0a01 .post-items {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	margin: 0 !important;
}
.elementor-element-b4c0a01 .post-items > [class*="col-"] {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.elementor-element-b4c0a01 .elementskit-post-image-card {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--mdb-rule-soft) !important;
}
/* L'en-tête de carte (vignette) est vide — les offres n'ont pas d'image. */
.elementor-element-b4c0a01 .elementskit-entry-header { display: none !important; }
.elementor-element-b4c0a01 .elementskit-post-body {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1.5rem !important;
	padding: 1.3rem 0.25rem !important;
	transition: padding-left 0.35s var(--mdb-ease);
}
/* Affordance : la ligne s'indente doucement au survol. */
.elementor-element-b4c0a01 .elementskit-post-image-card:hover .elementskit-post-body {
	padding-left: 1rem !important;
}
.elementor-element-b4c0a01 .entry-title { margin: 0 !important; }
.elementor-element-b4c0a01 .entry-title a {
	font-family: var(--mdb-font-display) !important;
	font-weight: 400 !important;
	font-size: clamp(1.3rem, 2vw, 1.7rem) !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--mdb-navy) !important;
	transition: color 0.3s var(--mdb-ease);
}
.elementor-element-b4c0a01 .entry-title a:hover { color: var(--mdb-gold-deep) !important; }
/* Lien « Voir le poste » : or souligné + flèche (pattern cartes home). */
.elementor-element-b4c0a01 .btn-wraper { margin: 0 !important; flex-shrink: 0; }
.elementor-element-b4c0a01 .elementskit-btn {
	display: inline-block !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0.25rem 0 !important;
	color: var(--mdb-gold-deep) !important;
	font-family: var(--mdb-font-eyebrow) !important;
	font-size: var(--mdb-step--1) !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	border-bottom: 1px solid var(--mdb-rule) !important;
	transition: color 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease);
}
.elementor-element-b4c0a01 .elementskit-btn::after {
	content: " \2192";
	display: inline-block;
	transition: transform 0.3s var(--mdb-ease);
}
.elementor-element-b4c0a01 .elementskit-btn:hover {
	color: var(--mdb-navy) !important;
	border-color: var(--mdb-navy) !important;
	background: transparent !important;
}
.elementor-element-b4c0a01 .elementskit-btn:hover::after { transform: translateX(0.25em); }

/* --- CANDIDATURE SPONTANÉE (b4c0a02) : crème, centré ----------------------- */
.elementor-element-b4c0a02 {
	background: var(--mdb-cream) !important;
	padding-top: clamp(2.5rem, 5vw, 4rem) !important;
	padding-bottom: clamp(3.5rem, 8vw, 6rem) !important;
}
.mdb-rec-spont__title .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 400;
	font-size: var(--mdb-step-3);
	line-height: 1.05;
	color: var(--mdb-navy);
	padding-top: 1.8rem;
	position: relative;
}
/* Court filet héraldique au-dessus du titre. */
.mdb-rec-spont__title .elementor-heading-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	height: 1px;
	background: var(--mdb-gold);
}
.mdb-rec-spont__title { margin-bottom: 1.4rem !important; }
.mdb-rec-spont__text {
	max-width: 50ch;
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0);
	line-height: 1.65;
	color: rgba(20, 32, 44, 0.86);
	margin-bottom: 2rem !important;
}
.mdb-rec-spont__text a {
	color: var(--mdb-gold-deep);
	border-bottom: 1px solid var(--mdb-rule);
	transition: color 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease);
}
.mdb-rec-spont__text a:hover { color: var(--mdb-navy); border-color: var(--mdb-navy); }
.mdb-rec-spont__cta .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.05rem 2.2rem;
	background: var(--mdb-gold);
	color: var(--mdb-navy-deep);
	border-radius: 0;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.78rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 400;
	transition: background 0.4s var(--mdb-ease), transform 0.4s var(--mdb-ease);
}
.mdb-rec-spont__cta .elementor-button:hover {
	background: var(--mdb-gold-bright);
	transform: translateY(-2px);
}
.mdb-rec-spont__cta .elementor-button-text::after {
	content: "→";
	margin-left: 0.9rem;
	font-family: var(--mdb-font-body);
}

/* --- Mobile ---------------------------------------------------------------- */
@media (max-width: 767px) {
	/* La ligne d'offre s'empile : titre au-dessus, lien dessous. */
	.elementor-element-b4c0a01 .elementskit-post-body {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.55rem !important;
		padding: 1.1rem 0 !important;
	}
	.elementor-element-b4c0a01 .elementskit-post-image-card:hover .elementskit-post-body {
		padding-left: 0 !important;
	}
	.mdb-rec-group .elementor-heading-title { letter-spacing: 0.22em; }
	.mdb-rec-intro .mdb-rec-pull { font-size: var(--mdb-step-1); }
}

/* ============================================================
   ÉDITORIAUX — articles de la catégorie FOCUS (ex. /lengagement-rs-…).
   Rendu par le template Elementor « Article unique » (theme-post-title +
   theme-post-content) : le contenu vient de l'éditeur classique WP, tout
   le look vit ici. Scellé à .category-focus (slug de catégorie, identique
   staging/prod — PAS de postid-…, qui diffèrera en prod).
   MÊME recette que la page Chef : papier crème, titres Cormorant navy,
   corps Inter encre douce, emphase or, filets héraldiques.
   ============================================================ */
/* Le wrapper single est sibling du header fixe mais n'est pas .e-con :
   l'offset générique (l. 535) ne le couvre pas — on le pose ici. */
body.mdb-needs-header-offset .elementor-location-single.category-focus {
	padding-top: var(--mdb-header-clearance, 172px);
}
/* Papier crème sur le wrapper ; les conteneurs du template portent un fond
   hérité de l'ancien thème (taupe sombre), on les neutralise. */
.elementor-location-single.category-focus {
	background: var(--mdb-cream);
	padding-bottom: clamp(3.5rem, 8vw, 6rem);
}
.elementor-location-single.category-focus > .e-con {
	background: transparent !important;
}
/* Conteneur d'en-tête vide du template (spacer hérité) : sans objet ici. */
.elementor-location-single.category-focus > .e-con:not(:has(.elementor-widget)) {
	display: none;
}
/* Garde-fou : le contenu hérité de l'ancien thème (fond sombre) est truffé
   de spans blancs inline — invisibles sur crème, on force l'encre courante. */
.elementor-location-single.category-focus [style*="#ffffff"] {
	color: inherit !important;
}

/* --- Titre de l'article (theme-post-title) -------------------------------- */
.elementor-location-single.category-focus .elementor-widget-theme-post-title .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 400;
	font-size: var(--mdb-step-3);
	line-height: 1.12;
	letter-spacing: 0.04em;
	color: var(--mdb-navy) !important;
	text-align: center;
	max-width: 24ch;
	margin: 0 auto;
	padding: clamp(1.2rem, 3vw, 2.2rem) 0 1.7rem;
	position: relative;
}
/* Court filet héraldique sous le titre (même motif que recrutement). */
.elementor-location-single.category-focus .elementor-widget-theme-post-title .elementor-heading-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	height: 1px;
	background: var(--mdb-gold);
}
/* Eyebrow au-dessus du titre : label de rubrique (comme les pages construites
   à la main). Rendu en CSS pour rester éditeur-safe (aucun markup à saisir).
   FR/EN piloté par [lang] : la page bascule en lang="en" sous TranslatePress. */
.elementor-location-single.category-focus .elementor-widget-theme-post-title .elementor-heading-title::before {
	content: "Engagement";
	display: block;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
	margin-bottom: 0.9rem;
}
[lang="en"] .elementor-location-single.category-focus .elementor-widget-theme-post-title .elementor-heading-title::before,
html[lang^="en"] .elementor-location-single.category-focus .elementor-widget-theme-post-title .elementor-heading-title::before {
	content: "Commitment";
}

/* --- Colonne de lecture (theme-post-content) -------------------------------
   Le CSS du template (post-107243.css, chargé APRÈS overrides.css) pose sur
   le widget : fond or, color #FFFFFF, padding 150px, text-align center.
   On bat tout ça en !important. */
.elementor-location-single.category-focus .elementor-widget-theme-post-content {
	width: 100%;
	max-width: 820px !important;
	margin: 0 auto;
	padding: clamp(1.6rem, 3vw, 2.6rem) clamp(1.2rem, 4vw, 2rem) 0 !important;
	background: transparent !important;
	text-align: left !important;
	font-family: var(--mdb-font-body) !important;
	font-size: var(--mdb-step-1);
	line-height: 1.7;
	color: rgba(20, 32, 44, 0.86) !important;
}
.elementor-location-single.category-focus .elementor-widget-theme-post-content p {
	margin: 0 0 1.15em;
}

/* Figure vedette (injectée par le filtre the_content) : document encadré, tissé
   dans le texte façon magazine. Flotte à droite sur desktop, le corps l'enveloppe. */
.elementor-location-single.category-focus .mdb-edito-figure {
	float: right;
	width: min(300px, 42%);
	margin: 0.35rem 0 1.4rem 2rem;
	padding: 0;
}
.elementor-location-single.category-focus .mdb-edito-figure__img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--mdb-rule);
	background: #fff;
	padding: 0.55rem;
	box-shadow: 0 18px 40px -28px rgba(14, 37, 63, 0.5);
}
.elementor-location-single.category-focus .mdb-edito-figure__cap {
	margin-top: 0.7rem;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.66rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
	text-align: center;
}
/* Le float ne doit pas déborder sous les <hr>/titres suivants : on clear après
   la 1re section (par sécurité, un clear doux sur les h2 qui suivraient la figure
   n'est pas souhaitable — on laisse le texte envelopper, mais on garantit que le
   pied de colonne clear). */
.elementor-location-single.category-focus .elementor-widget-theme-post-content::after {
	content: "";
	display: block;
	clear: both;
}

/* Chapô : le 1er paragraphe du corps sert d'accroche (Cormorant, un cran plus
   grand, encre plus dense) — masthead éditorial comme /nicolas-davouze. */
.elementor-location-single.category-focus .elementor-widget-theme-post-content > p:first-of-type {
	font-family: var(--mdb-font-display);
	font-size: var(--mdb-step-2);
	line-height: 1.4;
	font-weight: 400;
	color: var(--mdb-navy);
	margin-bottom: 1.4em;
}
.elementor-location-single.category-focus .elementor-widget-theme-post-content > p:first-of-type strong {
	color: var(--mdb-gold-deep);
	font-weight: 500;
}

/* Titres de section : Cormorant navy, un cran sous le titre d'article. */
.elementor-location-single.category-focus .elementor-widget-theme-post-content h2 {
	font-family: var(--mdb-font-display);
	font-weight: 400;
	font-size: var(--mdb-step-2);
	line-height: 1.15;
	letter-spacing: -0.008em;
	color: var(--mdb-navy);
	margin: 1.6em 0 0.6em;
}
/* Sous-titres (résultats) : eyebrow Tenor or, comme les rubriques du site. */
.elementor-location-single.category-focus .elementor-widget-theme-post-content h3 {
	font-family: var(--mdb-font-eyebrow);
	font-weight: 400;
	font-size: var(--mdb-step-0);
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--mdb-gold-deep);
	margin: 1.8em 0 0.7em;
}

/* Emphase or, liens soulignés or — recette Davouze. */
.elementor-location-single.category-focus .elementor-widget-theme-post-content strong {
	color: var(--mdb-gold-deep);
	font-weight: 600;
}
.elementor-location-single.category-focus .elementor-widget-theme-post-content a {
	color: var(--mdb-gold-deep);
	text-decoration: underline;
	text-underline-offset: 0.2em;
	text-decoration-color: rgba(138, 103, 54, 0.5);
	transition: text-decoration-color 0.3s ease;
}
.elementor-location-single.category-focus .elementor-widget-theme-post-content a:hover {
	text-decoration-color: var(--mdb-gold-deep);
}

/* Listes : puces or, retrait doux. */
.elementor-location-single.category-focus .elementor-widget-theme-post-content ul {
	margin: 0 0 1.15em;
	padding-left: 1.3em;
}
.elementor-location-single.category-focus .elementor-widget-theme-post-content li {
	margin-bottom: 0.45em;
}
.elementor-location-single.category-focus .elementor-widget-theme-post-content li::marker {
	color: var(--mdb-gold);
}

/* Séparateurs <hr> : court filet héraldique centré, pas de trait pleine
   largeur. */
.elementor-location-single.category-focus .elementor-widget-theme-post-content hr {
	border: 0;
	width: 64px;
	height: 1px;
	background: var(--mdb-gold);
	margin: clamp(2rem, 4vw, 3rem) auto;
}

/* Images de contenu (infographie bilan) : centrées, cadrées d'un filet. */
.elementor-location-single.category-focus .elementor-widget-theme-post-content img.aligncenter {
	display: block;
	margin: 2rem auto;
	width: 100%;
	max-width: 540px;
	height: auto;
	border: 1px solid var(--mdb-rule);
	background: #fff;
	padding: 0.6rem;
}

/* Exergue de clôture : Cormorant italique or, filet au-dessus (motif
   .mdb-rec-pull). Posée en classe dans le contenu (rejouable par l'éditrice).
   p.… pour battre la règle de marge des <p> du widget (plus spécifique). */
.elementor-location-single.category-focus .elementor-widget-theme-post-content p.mdb-edito-pull {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-weight: 500;
	font-size: var(--mdb-step-2);
	line-height: 1.35;
	color: var(--mdb-gold-deep);
	text-align: center;
	max-width: 26ch;
	margin: 2.6rem auto 0;
	padding-top: 2rem;
	position: relative;
}
.elementor-location-single.category-focus .elementor-widget-theme-post-content p.mdb-edito-pull::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	height: 1px;
	background: var(--mdb-gold);
}
.elementor-location-single.category-focus .elementor-widget-theme-post-content p.mdb-edito-pull strong {
	color: inherit;
	font-weight: inherit;
}

/* --- Mobile ---------------------------------------------------------------- */
@media (max-width: 767px) {
	/* Header mobile (bandeau 28px + logo empilé) ≈ 170px : l'offset générique
	   de 100px laisse la 1re ligne du titre sous le header — on compense. */
	body.mdb-needs-header-offset .elementor-location-single.category-focus {
		padding-top: 185px;
	}
	.elementor-location-single.category-focus .elementor-widget-theme-post-content h3 {
		letter-spacing: 0.18em;
	}
	.elementor-location-single.category-focus .elementor-widget-theme-post-content p.mdb-edito-pull {
		font-size: var(--mdb-step-1);
	}
	/* Figure : plein cadre centré, plus de float, largeur bornée pour un doc portrait. */
	.elementor-location-single.category-focus .mdb-edito-figure {
		float: none;
		width: min(300px, 78%);
		margin: 0 auto 1.8rem;
	}
	.elementor-location-single.category-focus .elementor-widget-theme-post-title .elementor-heading-title::before {
		letter-spacing: 0.24em;
	}
	/* Chapô : un cran plus petit sur mobile. */
	.elementor-location-single.category-focus .elementor-widget-theme-post-content > p:first-of-type {
		font-size: var(--mdb-step-1);
	}
}

/* =========================================================================
   OFFRES D'EMPLOI — pages single des posts (ex. /chef-patissier).
   Données par offre : rebuild-job-posts.php (lien retour / description /
   « Postuler » / formulaire CF7 CANDIDATURE via shortcode).
   Le chrome vient du template single Elementor 107243 (« Article unique »),
   partagé par TOUS les posts : on le repeint ici en crème, scellé à
   body.single-post pour ne toucher ni les pages ni le Roof Top.
   ========================================================================= */

/* Wrapper du template : papier crème (la bande d'offset du header est déjà
   crème via la règle padding-top globale + ce fond). */
body.single-post div[data-elementor-type="single-post"] {
	background: var(--mdb-cream);
}

/* --- Template 107243 : neutraliser le look or hérité --------------------- */
/* 1er container : strip or vide -> masqué. */
body.single-post .elementor-element-ad654b1 { display: none !important; }
/* Bande titre : crème, titre éditorial Cormorant + court filet or dessous. */
body.single-post .elementor-element-a8776d3 {
	background: var(--mdb-cream) !important;
	padding-top: clamp(2rem, 4vw, 3rem) !important;
	padding-bottom: 0 !important;
}
body.single-post .elementor-element-a8776d3 .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 400;
	font-size: var(--mdb-step-4);
	line-height: 1.02;
	letter-spacing: -0.012em;
	color: var(--mdb-navy);
	text-align: center;
	padding-bottom: 1.6rem;
	position: relative;
}
body.single-post .elementor-element-a8776d3 .elementor-heading-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	height: 1px;
	background: var(--mdb-gold);
}
/* Zone contenu : crème, et reset complet du widget post-content (l'ancien
   réglage portait un mask "flower", width 9% et padding 150px).
   Le conteneur porte un fond blanc + padding 150px hérités : on neutralise en
   crème pour TOUS les single-post (offres ET FOCUS). */
body.single-post .elementor-element-d1fa1b7 {
	background: var(--mdb-cream) !important;
	padding-block: clamp(2rem, 4vw, 3.5rem) !important;
}
/* Reset pleine largeur du widget : réservé aux offres d'emploi. Les articles
   FOCUS partagent ce template (107243) mais gèrent leur propre colonne de
   lecture (820px, plus haut) — `:not(.mdb-focus)` les en exclut. La classe body
   `mdb-focus` est posée par le filtre body_class du thème. */
body.single-post:not(.mdb-focus) .elementor-element-d1fa1b7 .elementor-widget-theme-post-content {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	color: inherit !important;
}
/* Pour FOCUS : on garde le reset visuel (fond, mask, padding) SANS écraser la
   largeur de colonne définie plus haut. */
body.single-post.mdb-focus .elementor-element-d1fa1b7 .elementor-widget-theme-post-content {
	background: transparent !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
}

/* --- Lien retour « Toutes nos offres » ------------------------------------ */
.mdb-job-back { margin-bottom: 2.2rem !important; }
.mdb-job-back .elementor-button,
.mdb-job-back a.elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--mdb-gold-deep);
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.72rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}
.mdb-job-back .elementor-button-text::before {
	content: "← ";
	font-family: var(--mdb-font-body);
}
.mdb-job-back .elementor-button-text {
	border-bottom: 1px solid var(--mdb-rule);
	padding-bottom: 4px;
	transition: color 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease);
}
.mdb-job-back .elementor-button:hover .elementor-button-text {
	color: var(--mdb-navy);
	border-color: var(--mdb-navy);
}

/* --- Description de l'offre ----------------------------------------------- */
.mdb-job-desc {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0);
	line-height: 1.7;
	color: rgba(20, 32, 44, 0.86);
	max-width: 62ch;
}
.mdb-job-desc p { margin: 0 0 1rem; }
.mdb-job-desc strong { color: var(--mdb-gold-deep); font-weight: 500; }
.mdb-job-desc ul {
	margin: 0 0 1rem;
	padding-left: 1.2rem;
}
.mdb-job-desc li { margin-bottom: 0.35rem; }
.mdb-job-desc li::marker { color: var(--mdb-gold-deep); }

/* --- Section « Postuler » -------------------------------------------------- */
.mdb-job-apply {
	margin-top: 2.6rem !important;
	padding-top: 2.4rem !important;
	border-top: 1px solid var(--mdb-rule-soft);
}
.mdb-job-apply .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-weight: 400;
	font-size: var(--mdb-step-3);
	line-height: 1.05;
	color: var(--mdb-navy);
}
.mdb-job-form-intro {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0);
	line-height: 1.65;
	color: rgba(20, 32, 44, 0.86);
	max-width: 62ch;
	margin-top: 0.9rem !important;
	margin-bottom: 1.8rem !important;
}
.mdb-job-form-intro a {
	color: var(--mdb-gold-deep);
	border-bottom: 1px solid var(--mdb-rule);
	transition: color 0.3s var(--mdb-ease), border-color 0.3s var(--mdb-ease);
}
.mdb-job-form-intro a:hover { color: var(--mdb-navy); border-color: var(--mdb-navy); }

/* --- Formulaire CANDIDATURE (CF7) ------------------------------------------
   Champs éditoriaux : fond translucide, filet or, focus net. */
.mdb-job-form .wpcf7 { max-width: 620px; }
.mdb-job-form .wpcf7 p {
	margin: 0 0 1rem;
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0);
	color: rgba(20, 32, 44, 0.86);
}
.mdb-job-form input[type="text"],
.mdb-job-form input[type="email"],
.mdb-job-form input[type="tel"],
.mdb-job-form textarea {
	width: 100%;
	background: rgba(255, 255, 255, 0.45);
	border: 1px solid var(--mdb-rule);
	border-radius: 0;
	padding: 0.85rem 1rem;
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0);
	color: var(--mdb-ink);
	transition: border-color 0.3s var(--mdb-ease), background 0.3s var(--mdb-ease);
}
.mdb-job-form input:focus,
.mdb-job-form textarea:focus {
	outline: none;
	border-color: var(--mdb-gold-deep);
	background: rgba(255, 255, 255, 0.75);
}
.mdb-job-form ::placeholder { color: rgba(20, 32, 44, 0.45); opacity: 1; }
.mdb-job-form textarea { min-height: 140px; resize: vertical; }
/* Préfixe téléphonique : champ court. */
.mdb-job-form input[name="Prefixe"] { width: 110px; }
/* Upload CV : libellé + champ fichier discrets. */
.mdb-job-form input[type="file"] {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step--1);
	color: rgba(20, 32, 44, 0.7);
}
/* Bouton envoyer : CTA or maison. */
.mdb-job-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.05rem 2.2rem;
	background: var(--mdb-gold);
	color: var(--mdb-navy-deep);
	border: 0;
	border-radius: 0;
	font-family: var(--mdb-font-eyebrow);
	font-size: 0.78rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 400;
	cursor: pointer;
	transition: background 0.4s var(--mdb-ease), transform 0.4s var(--mdb-ease);
}
.mdb-job-form input[type="submit"]:hover {
	background: var(--mdb-gold-bright);
	transform: translateY(-2px);
}
/* Messages de validation CF7 sobres. */
.mdb-job-form .wpcf7-not-valid-tip {
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step--1);
	color: var(--mdb-coral);
	margin-top: 0.3rem;
}
.mdb-job-form .wpcf7-response-output {
	border: 1px solid var(--mdb-rule) !important;
	font-family: var(--mdb-font-body);
	font-size: var(--mdb-step-0);
	color: var(--mdb-ink);
	margin: 1.2rem 0 0 !important;
	padding: 0.8rem 1rem !important;
}

/* =========================================================================
   CARTES LE ROOF TOP — /le-roof-top/cocktails/ + /le-roof-top/vins-champagnes/
   + /le-roof-top/le-menu-food-du-roof-top/ (rejouée depuis le PDF food MAJ
   juillet 2026, cf. site-backup/rt-carte-food-rebuild.php).
   Skin des cartes papier RT (fond blanc, orange vif, filets tan) posé sur le
   SYSTÈME carte MdB existant (mdb-menu-title / mdb-carte-section /
   mdb-pricelist / mdb-carte-note) : mêmes widgets natifs, recolorés.
   Nouveautés propres aux cartes RT :
    - .mdb-rtcarte-meta     : prix de section affiché UNE fois (« 24 € »),
                              comme sur la carte papier.
    - .mdb-rtcarte-sub      : sous-intitulé script (« Vins Blancs ») avec
                              format en ligne (.mdb-rtcarte-fmt, « 12cl - 75cl »).
    - .mdb-rtcarte-subcaps  : sous-intitulé capitales souligné (spiritueux).
    - --rtwine / --rtcktl / --rtspirit : variantes du price-list.
   Scope : body.mdb-rt-carte (posée par functions.php via mdb_is_rt_page()).
   Le chrome RT (header terracotta, footer, brandswitch) suit body.mdb-rt.
   ========================================================================= */
body.mdb-rt-carte {
	--rtc-orange: #dd6f16;        /* orange vif des cartes papier RT */
	--rtc-orange-deep: #b45a10;   /* déclinaison foncée : prix, hover */
	--rtc-bronze: #a5622a;        /* sous-lignes italiques lisibles sur blanc */
	--rtc-tan: #c49a6c;           /* filets + libellés de format */
	--rtc-taupe: #6e5844;         /* noms (cocktails, flacons) */
	--rtc-rule: rgba(196, 154, 108, 0.45);
}
/* Racine des trois pages : respiration sous le header fixe + avant Nos Espaces */
body.mdb-rt-carte .elementor-element-rtccroot,
body.mdb-rt-carte .elementor-element-rtcvroot,
body.mdb-rt-carte .elementor-element-rtcfroot {
	padding: clamp(2.2rem, 5vw, 4rem) var(--mdb-gutter, 1.5rem) clamp(3rem, 7vw, 5rem);
}
/* En-tête de carte : eyebrow tan + grand titre Cormorant italique orange */
body.mdb-rt-carte .mdb-menu-eyebrow .elementor-heading-title { color: var(--rtc-tan); }
body.mdb-rt-carte .mdb-menu-title .elementor-heading-title { color: var(--rtc-orange); }
body.mdb-rt-carte .mdb-rtcarte-intro p {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-size: var(--mdb-step-1);
	line-height: 1.5;
	color: var(--rtc-bronze);
	max-width: 44ch;
	margin: 0 auto;
	text-align: center;
}
/* Intitulés de section : mêmes filets latéraux que MdB, passés en orange/tan */
body.mdb-rt-carte .mdb-carte-section .elementor-heading-title {
	color: var(--rtc-orange);
	letter-spacing: 0.22em;
}
body.mdb-rt-carte .mdb-carte-section .elementor-heading-title::before,
body.mdb-rt-carte .mdb-carte-section .elementor-heading-title::after {
	background: var(--rtc-tan);
}
/* Prix de section unique (« 24 € ») : geste signature des cartes papier RT.
   Collé sous l'intitulé (dont le h2 porte 1.4rem de marge basse). */
body.mdb-rt-carte .mdb-rtcarte-meta { text-align: center; margin-top: -1.1rem; }
body.mdb-rt-carte .mdb-rtcarte-meta .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-weight: 600;
	font-size: var(--mdb-step-2);
	color: var(--rtc-orange);
	margin: 0 0 0.4rem;
}
/* Sous-intitulé script (« Vins Blancs » + format « 12cl - 75cl ») */
body.mdb-rt-carte .mdb-rtcarte-sub {
	max-width: 52rem;
	margin: clamp(1.6rem, 4vw, 2.6rem) auto 0;
}
body.mdb-rt-carte .mdb-rtcarte-sub .elementor-heading-title {
	font-family: var(--mdb-font-display);
	font-style: italic;
	font-weight: 600;
	font-size: var(--mdb-step-2);
	color: var(--rtc-orange);
	display: flex;
	align-items: baseline;
	gap: 1.2rem;
	border-bottom: 1px solid var(--rtc-rule);
	padding-bottom: 0.3em;
	margin: 0;
	text-align: left;
}
body.mdb-rt-carte .mdb-rtcarte-fmt {
	font-family: var(--mdb-font-eyebrow);
	font-style: normal;
	font-weight: 400;
	font-size: var(--mdb-step--1);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rtc-tan);
	white-space: nowrap;
}
/* Sous-intitulé capitales souligné (familles de spiritueux) */
body.mdb-rt-carte .mdb-rtcarte-subcaps { margin: clamp(1.4rem, 3vw, 2.2rem) 0 0; }
body.mdb-rt-carte .mdb-rtcarte-subcaps .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step-0);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--rtc-orange);
	border-bottom: 1px solid var(--rtc-rule);
	padding-bottom: 0.45em;
	margin: 0;
	text-align: left;
}
/* Price-list : recolorisation RT (la typo/les tailles restent celles du
   système carte ; même chaîne de sélecteur pour gagner en spécificité). */
body.mdb-rt-carte .mdb-pricelist .elementor-price-list .elementor-price-list-item .elementor-price-list-title {
	color: var(--rtc-taupe);
}
body.mdb-rt-carte .mdb-pricelist .elementor-price-list .elementor-price-list-item .elementor-price-list-price {
	color: var(--rtc-orange-deep);
}
body.mdb-rt-carte .mdb-pricelist .elementor-price-list .elementor-price-list-item p.elementor-price-list-description {
	color: var(--rtc-bronze);
}
/* Variante VINS : noms de flacons en casse phrase (pas de capitales),
   sous-ligne cuvée plus courte donc un cran plus discrète. */
body.mdb-rt-carte .mdb-pricelist--rtwine .elementor-price-list .elementor-price-list-item .elementor-price-list-title {
	text-transform: none;
	letter-spacing: 0.03em;
}
body.mdb-rt-carte .mdb-pricelist--rtwine .elementor-price-list .elementor-price-list-item p.elementor-price-list-description {
	font-size: var(--mdb-step-1) !important;
}
/* Variante COCKTAILS : compositions longues → step-1 avec interligne aéré
   (step-2 des cartes plats est pensé pour des sous-lignes d'UNE ligne). */
body.mdb-rt-carte .mdb-pricelist--rtcktl .elementor-price-list .elementor-price-list-item p.elementor-price-list-description {
	font-size: var(--mdb-step-1) !important;
	line-height: 1.45;
	max-width: 56ch;
}
/* Variante SPIRITUEUX : rangées compactes nom + prix */
body.mdb-rt-carte .mdb-pricelist--rtspirit .elementor-price-list-item { padding: 0.35rem 0; }
body.mdb-rt-carte .mdb-pricelist--rtspirit .elementor-price-list .elementor-price-list-item .elementor-price-list-title {
	font-size: var(--mdb-step-0) !important;
	letter-spacing: 0.08em;
}
body.mdb-rt-carte .mdb-pricelist--rtspirit .elementor-price-list .elementor-price-list-item .elementor-price-list-price {
	font-size: var(--mdb-step-1) !important;
}
/* Grille 2 colonnes des spiritueux (conteneur e-con-full → cibler l'ID,
   cf. mémoire elementor-econ-full-vs-boxed : pas de .e-con-inner ici). */
body.mdb-rt-carte .elementor-element-rtccspirits {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem clamp(2.5rem, 6vw, 5rem);
	max-width: 52rem;
	width: 100%;
	margin: 0 auto;
	align-items: start;
}
/* Sections encadrées RT (Signatures / Côté Asie) : cadre tan façon carte
   papier. Elementor n'émet pas la classe custom d'un conteneur → IDs. */
body.mdb-rt-carte .elementor-element-rtccsignbox,
body.mdb-rt-carte .elementor-element-rtcvasiebox {
	max-width: 52rem;
	margin: 1.8rem auto 0;
	border: 1px solid var(--rtc-tan);
	box-shadow: 0 0 0 4px rgba(221, 111, 22, 0.06), inset 0 0 0 1px var(--rtc-rule);
	padding: 0.2rem clamp(1.2rem, 4vw, 2.6rem) 1.6rem;
}
body.mdb-rt-carte .elementor-element-rtccsignbox > .e-con-inner,
body.mdb-rt-carte .elementor-element-rtcvasiebox > .e-con-inner { width: 100%; }
body.mdb-rt-carte .elementor-element-rtccsignbox .mdb-carte-section .elementor-heading-title,
body.mdb-rt-carte .elementor-element-rtcvasiebox .mdb-carte-section .elementor-heading-title { margin-top: 1.6rem; }
/* Notes bas de carte */
body.mdb-rt-carte .mdb-carte-fr-note { color: var(--rtc-taupe); }
body.mdb-rt-carte .mdb-carte-en-note { color: var(--rtc-bronze); }

@media (max-width: 767px) {
	/* Le header RT mobile empile toggle + logo (~178px avec le brandswitch),
	   plus haut que l'offset générique (100px) : sans ce complément, l'eyebrow
	   passe SOUS le header fixe. */
	body.mdb-rt-carte .elementor-element-rtccroot,
	body.mdb-rt-carte .elementor-element-rtcvroot,
	body.mdb-rt-carte .elementor-element-rtcfroot { padding-top: 7rem; }
}
@media (max-width: 700px) {
	body.mdb-rt-carte .elementor-element-rtccspirits { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	body.mdb-rt-carte .mdb-rtcarte-sub .elementor-heading-title {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.15rem;
	}
}

/* =========================================================================
   BANDE « NOS CARTES » — /le-roof-top, juste sous le hero.
   Deux liens (La Carte des Cocktails / Vins & Champagnes) vers les pages
   cartes RT. Widgets natifs posés par site-backup/rt-cartesnav-insert.php ;
   conteneurs ciblés par ID (classes custom non émises, cf. carte-styling).
   Bande blanche entre le hero sombre et le lavis doré du Concept, boutons
   filet terracotta → inversion terracotta/sable au survol.
   ========================================================================= */
body.mdb-rt .elementor-element-rtcartesnav {
	background: #fff;
	padding: clamp(2.6rem, 6vw, 4rem) var(--mdb-gutter, 1.5rem);
	text-align: center;
}
body.mdb-rt .mdb-rt-cartesnav-head .elementor-heading-title {
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step-0);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--rt-terracotta);
	margin: 0 0 1.8rem;
}
body.mdb-rt .elementor-element-rtcarterow {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1rem 1.5rem;
	width: 100%;
}
body.mdb-rt .elementor-element-rtcarterow .elementor-widget-button { width: auto; }
body.mdb-rt .mdb-rt-cartesnav-btn .elementor-button {
	background: transparent;
	border: 1px solid var(--rt-terracotta);
	border-radius: 0;
	color: var(--rt-terracotta-deep);
	font-family: var(--mdb-font-eyebrow);
	font-size: var(--mdb-step--1);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 1.05rem 2.4rem;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
body.mdb-rt .mdb-rt-cartesnav-btn .elementor-button:hover,
body.mdb-rt .mdb-rt-cartesnav-btn .elementor-button:focus {
	background: var(--rt-terracotta);
	border-color: var(--rt-terracotta);
	color: var(--rt-sand);
}
@media (max-width: 600px) {
	body.mdb-rt .elementor-element-rtcarterow { flex-direction: column; }
	body.mdb-rt .elementor-element-rtcarterow .elementor-widget-button { width: 100%; max-width: 22rem; }
	body.mdb-rt .mdb-rt-cartesnav-btn .elementor-button { display: block; width: 100%; }
}
