@charset "UTF-8";
/**
 * Escape Gamer — socle commun
 *
 * Jetons, en-tête, pied de page et composants partagés. Chargé sur
 * toutes les pages ; c'est la seule feuille qui le soit.
 *
 * Tout est préfixé « eg- » : aucune collision possible avec MyListing,
 * Elementor ou WooCommerce, et aucun combat de spécificité à mener.
 */

/* =========================================================================
   1. Jetons
   ====================================================================== */

:root {
	--eg-paper:    #F7F5F2;
	--eg-surface:  #FFFFFF;
	--eg-ink:      #14181E;
	--eg-ink-2:    #39424F;
	--eg-muted:    #5E6878; /* 2.24.4 : 5,3:1 sur papier (était #6B7686, 4,3:1) */
	--eg-hair:     #E4E0D9;
	--eg-hair-2:   #CFC9C0;

	--eg-accent:      #0B6E8A;
	--eg-accent-hi:   #0E87A8;
	--eg-accent-soft: #E6F1F5;

	--eg-warm:      #B76E12;
	--eg-warm-soft: #FBF0DE;

	--eg-dark:   #12161C;
	--eg-dark-2: #1B222C;
	--eg-line:   #262E39;
	--eg-lamp:   #F0C97A;

	/**
	 * Boutons : fond sombre, texte or.
	 *
	 * Le cyan reste la couleur des liens, des soulignements et des états
	 * actifs — il porte l'information. Les boutons, eux, sont des objets
	 * d'action : le contraste maximal du noir et de l'or les détache de
	 * tout, sur fond clair comme sur fond sombre.
	 */
	--eg-btn-bg:    #12161C;
	--eg-btn-bg-hi: #000000;
	--eg-btn-fg:    #F0C97A;

	--eg-u: 8px;
	--eg-wrap: 1200px;

	--eg-display: "Oswald", "Oswald Fallback", system-ui, sans-serif;
	--eg-body:    "Karla", "Karla Fallback", system-ui, -apple-system, sans-serif;
	--eg-mono:    "Courier Prime", ui-monospace, "SFMono-Regular", monospace;
}

/* 2.39.0 : Karla et Oswald hébergées dans le thème (fichiers variables de Google Fonts, latin et latin étendu). */
@font-face {
	font-family: "Karla";
	font-style: italic;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/karla-italic-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Karla";
	font-style: italic;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/karla-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Karla";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/karla-normal-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Karla";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/karla-normal-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Oswald";
	font-style: normal;
	font-weight: 200 700;
	font-display: swap;
	src: url("../fonts/oswald-normal-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Oswald";
	font-style: normal;
	font-weight: 200 700;
	font-display: swap;
	src: url("../fonts/oswald-normal-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/**
 * Polices de repli aux métriques ajustées.
 *
 * Sans cela, le basculement de la police système vers Oswald ou Karla
 * déplace chaque ligne de texte : c'est la principale source de décalage
 * cumulé sur un site typographié. Les valeurs ci-dessous alignent la
 * hauteur d'x et la chasse du repli sur celles de la police finale, si
 * bien que le passage de l'une à l'autre ne bouge plus rien.
 */
@font-face {
	font-family: "Oswald Fallback";
	src: local("Arial Narrow"), local("Helvetica Neue Condensed"), local("Arial");
	size-adjust: 87%;
	ascent-override: 112%;
	descent-override: 28%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Karla Fallback";
	src: local("Helvetica Neue"), local("Arial");
	size-adjust: 102%;
	ascent-override: 96%;
	descent-override: 24%;
	line-gap-override: 0%;
}

/* =========================================================================
   2. Base
   ====================================================================== */

.eg-header *,
.eg-footer *,
[class^="eg-"],
[class*=" eg-"] {
	box-sizing: border-box;
}

body {
	background: var(--eg-paper);
	color: var(--eg-ink);
	font-family: var(--eg-body);
	font-size: 16px;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
}

.eg-wrap {
	max-width: var(--eg-wrap);
	margin-inline: auto;
	padding-inline: calc(var(--eg-u) * 3.25);
}

.eg-ic {
	width: 1em;
	height: 1em;
	flex: none;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
	vertical-align: -0.12em;
}

.eg-skip {
	position: absolute;
	left: -9999px;
	z-index: 999;
	padding: 12px 20px;
	background: var(--eg-ink);
	color: #fff;
}

.eg-skip:focus {
	left: 12px;
	top: 12px;
}

:where(.eg-header, .eg-footer, [class^="eg-"], [class*=" eg-"]) a {
	color: inherit;
	text-decoration: none;
}

:where([class^="eg-"], [class*=" eg-"]) :focus-visible {
	outline: 2px solid var(--eg-accent);
	outline-offset: 3px;
}

/* =========================================================================
   3. Boutons
   ====================================================================== */

.eg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 20px;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.2;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color .18s, color .18s, border-color .18s;
}

.eg-btn--primary {
	background: var(--eg-btn-bg);
	color: var(--eg-btn-fg);
}

.eg-btn--primary:hover,
.eg-btn--primary:focus-visible {
	background: var(--eg-btn-bg-hi);
	color: var(--eg-btn-fg);
}

/**
 * Généralisation aux boutons produits par MyListing.
 *
 * Le thème parent en émet dans le moteur de recherche, la page
 * d'exploration, les fiches et les formulaires. Les aligner ici évite
 * que deux grammaires de bouton cohabitent sur la même page.
 */
.eg-search .buttons.search,
.eg-search button.button-2,
.cts-explore .c27-explore-search-button,
.cts-explore .buttons.button-2,
.single-job-listing .buttons.button-1,
.single-job-listing .buttons.button-2,
.eg-comments input[type="submit"] {
	background: var(--eg-btn-bg) !important;
	color: var(--eg-btn-fg) !important;
	border-color: var(--eg-btn-bg) !important;
	border-radius: 0 !important;
}

.eg-search .buttons.search:hover,
.eg-search button.button-2:hover,
.cts-explore .c27-explore-search-button:hover,
.cts-explore .buttons.button-2:hover,
.single-job-listing .buttons.button-1:hover,
.single-job-listing .buttons.button-2:hover,
.eg-comments input[type="submit"]:hover {
	background: var(--eg-btn-bg-hi) !important;
	color: var(--eg-btn-fg) !important;
}

.eg-btn--ghost {
	border-color: var(--eg-hair-2);
	color: var(--eg-ink-2);
	background: transparent;
}

.eg-btn--ghost:hover,
.eg-btn--ghost:focus-visible {
	border-color: var(--eg-accent);
	color: var(--eg-accent);
}

/* =========================================================================
   4. En-tête et menu
   ====================================================================== */

/**
 * Garde-fou, en tout premier.
 *
 * MyListing rebranche son propre en-tête sur le filtre que nous
 * utilisons pour le retirer. Le PHP a désormais le dernier mot, mais si
 * une mise à jour changeait à nouveau cet ordre, les deux en-têtes se
 * superposeraient comme avant. Cette règle rend l'accident impossible.
 */
.c27-main-header {
	display: none !important;
}

/**
 * z-index 1000, et ce n'est pas un chiffre pris au hasard.
 *
 * MyListing enveloppe tout le site dans #c27-site-wrapper, auquel il
 * donne « position: relative; z-index: 999 ». Ce conteneur est frère de
 * notre en-tête dans le contexte d'empilement du <body> : avec 60, nous
 * passions systématiquement dessous. Les panneaux du menu s'ouvraient
 * bien — visibility et opacity le confirmaient — mais se peignaient
 * derrière le contenu de la page. Ils étaient donc invisibles.
 *
 * 1000 nous place juste au-dessus, et reste sous les fenêtres modales du
 * thème, qui montent à 1050.
 */
.eg-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(247, 245, 242, .93);
	-webkit-backdrop-filter: saturate(1.7) blur(16px);
	backdrop-filter: saturate(1.7) blur(16px);
	border-bottom: 1px solid var(--eg-hair);
}

.eg-header__in {
	max-width: var(--eg-wrap);
	margin-inline: auto;
	padding-inline: calc(var(--eg-u) * 3.25);
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 76px;
}

/* --- Marque ------------------------------------------------------------- */

.eg-brand {
	display: flex;
	align-items: center;
	gap: 11px;
	white-space: nowrap;
	flex: none;
}

.eg-brand__img {
	height: 40px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
}

.eg-brand__mark {
	width: 36px;
	height: 36px;
	flex: none;
	display: grid;
	place-items: center;
	background: var(--eg-ink);
	color: var(--eg-lamp);
	font-size: 19px;
}

.eg-brand__mark--lg {
	width: 44px;
	height: 44px;
	font-size: 22px;
	background: var(--eg-lamp);
	color: var(--eg-dark);
}

.eg-brand__txt {
	display: flex;
	flex-direction: column;
	line-height: 1;
}

.eg-brand__txt b {
	font-family: var(--eg-display);
	font-weight: 600;
	font-size: 18px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.eg-brand__txt small {
	font-family: var(--eg-mono);
	font-size: 9.5px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--eg-muted);
	margin-top: 4px;
}

/* --- Barre de navigation ------------------------------------------------ */

.eg-nav {
	flex: 1 1 auto;
	min-width: 0;
}

/**
 * Marge et espacement resserrés.
 *
 * Cinq rubriques, trois pictos de réseaux et un bouton dépassaient la
 * largeur utile : la liste débordait sur le groupe de droite, et les
 * pictos venaient se poser sur « Contact ».
 */
.eg-nav__list {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0 0 0 10px;
	padding: 0;
	list-style: none;
}

.eg-nav__item {
	position: static;
}

.eg-nav__link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 27px 11px;
	white-space: nowrap;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--eg-ink-2);
	transition: color .16s;
}

.eg-nav__ic {
	font-size: 16px;
	color: var(--eg-muted);
	transition: color .18s, transform .3s cubic-bezier(.2, .8, .2, 1);
}

.eg-nav__chev {
	width: 5px;
	height: 5px;
	border-right: 1.6px solid currentColor;
	border-bottom: 1.6px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	opacity: .45;
	transition: transform .25s, opacity .18s;
}

/**
 * Le trait sous la rubrique occupe une place réservée en permanence :
 * il se révèle par une mise à l'échelle, si bien que rien ne se déplace
 * au survol.
 */
.eg-nav__link::after {
	content: "";
	position: absolute;
	left: 11px;
	right: 11px;
	bottom: 20px;
	height: 2px;
	background: var(--eg-accent);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .26s cubic-bezier(.2, .8, .2, 1);
}

.eg-nav__item:hover > .eg-nav__link,
.eg-nav__item:focus-within > .eg-nav__link {
	color: var(--eg-ink);
}

.eg-nav__item:hover > .eg-nav__link::after,
.eg-nav__item:focus-within > .eg-nav__link::after {
	transform: scaleX(1);
}

.eg-nav__item:hover .eg-nav__ic,
.eg-nav__item:focus-within .eg-nav__ic {
	color: var(--eg-accent);
	transform: translateY(-2px);
}

.eg-nav__item:hover .eg-nav__chev,
.eg-nav__item:focus-within .eg-nav__chev {
	opacity: 1;
	transform: rotate(225deg) translateY(-1px);
}

/* --- Panneaux ------------------------------------------------------------ */

/**
 * Un panneau pleine largeur plutôt qu'une liste déroulante : on y montre
 * où mène chaque rubrique — les régions et leurs volumes, les salles les
 * mieux notées avec leur photo, les derniers articles — au lieu de se
 * contenter de l'annoncer.
 */
.eg-panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 1;
	background: var(--eg-surface);
	border-top: 1px solid var(--eg-hair);
	border-bottom: 1px solid var(--eg-hair);
	box-shadow: 0 26px 50px rgba(20, 24, 30, .13);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity .2s ease, transform .24s cubic-bezier(.2, .8, .2, 1), visibility .24s;
}

.eg-nav__item:hover > .eg-panel,
.eg-nav__item:focus-within > .eg-panel {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.eg-panel__in {
	max-width: var(--eg-wrap);
	margin-inline: auto;
	padding: calc(var(--eg-u) * 4) calc(var(--eg-u) * 3.25);
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: calc(var(--eg-u) * 5);
	align-items: start;
}

.eg-panel__kicker {
	margin: 0 0 8px;
	font-family: var(--eg-display);
	font-weight: 600;
	font-size: 20px;
	letter-spacing: -.008em;
	color: var(--eg-ink);
}

.eg-panel__txt {
	margin: 0 0 16px;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--eg-muted);
}

.eg-panel__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--eg-accent);
	transition: gap .2s;
}

.eg-panel__all:hover {
	gap: 13px;
}

/**
 * Les éléments du panneau entrent en cascade, décalés de 24 ms chacun.
 * Le regard suit la lecture au lieu de recevoir le bloc entier d'un coup.
 */
.eg-panel__grid li,
.eg-panel .eg-mini {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .28s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
	transition-delay: calc(var(--i, 0) * 24ms);
}

.eg-nav__item:hover .eg-panel__grid li,
.eg-nav__item:focus-within .eg-panel__grid li,
.eg-nav__item:hover .eg-panel .eg-mini,
.eg-nav__item:focus-within .eg-panel .eg-mini {
	opacity: 1;
	transform: none;
}

/* Régions */

.eg-panel__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--eg-hair);
	border: 1px solid var(--eg-hair);
}

.eg-panel__grid a {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 12px 15px;
	background: var(--eg-surface);
	font-size: 14.5px;
	color: var(--eg-ink-2);
	transition: background-color .16s, color .16s;
}

.eg-panel__grid a:hover {
	background: var(--eg-accent-soft);
	color: var(--eg-accent);
}

.eg-panel__c {
	margin-left: auto;
	font-family: var(--eg-mono);
	font-size: 11.5px;
	font-variant-numeric: tabular-nums;
	color: var(--eg-hair-2);
}

.eg-panel__grid a:hover .eg-panel__c {
	color: var(--eg-accent);
}

.eg-panel__carte {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 16px;
	padding: 11px 18px;
	background: var(--eg-dark);
	color: var(--eg-lamp);
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 12.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: background-color .18s;
}

.eg-panel__carte:hover {
	background: var(--eg-dark-2);
}

/* Salles et articles */

.eg-panel__cartes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(var(--eg-u) * 2.5);
}

.eg-mini {
	display: grid;
	grid-template-rows: auto auto;
	gap: 10px;
}

.eg-mini__img {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	background: var(--eg-hair) center / cover no-repeat;
	overflow: hidden;
}

.eg-mini__img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(11, 110, 138, 0);
	transition: background-color .2s;
}

.eg-mini:hover .eg-mini__img::after {
	background: rgba(11, 110, 138, .16);
}

.eg-mini__note {
	position: absolute;
	right: 8px;
	bottom: 8px;
	z-index: 2;
	display: grid;
	place-items: center;
	min-width: 34px;
	height: 26px;
	padding-inline: 6px;
	background: var(--eg-lamp);
	color: var(--eg-dark);
	font-family: var(--eg-display);
	font-weight: 600;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

.eg-mini__txt b {
	display: block;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.22;
	color: var(--eg-ink);
	transition: color .16s;
}

.eg-mini:hover .eg-mini__txt b {
	color: var(--eg-accent);
}

.eg-mini__txt em {
	display: block;
	margin-top: 4px;
	font-family: var(--eg-mono);
	font-size: 11px;
	font-style: normal;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--eg-muted);
}

@media (prefers-reduced-motion: reduce) {
	.eg-panel__grid li,
	.eg-panel .eg-mini {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* --- Fin d'en-tête ------------------------------------------------------- */

.eg-header__end {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 16px;
	flex: none;
	padding-left: 18px;
}

/**
 * Les pictos de réseaux forment un groupe aligné, séparé du menu par un
 * filet et une marge franche. Sans cette respiration, ils se posaient
 * sur la dernière rubrique.
 */
.eg-social {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0 16px 0 0;
	list-style: none;
	border-right: 1px solid var(--eg-hair-2);
}

.eg-social a {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	font-size: 15px;
	color: var(--eg-muted);
	transition: color .16s, background-color .16s, transform .18s;
}

.eg-social a:hover {
	color: var(--eg-accent);
	background: var(--eg-accent-soft);
	transform: translateY(-2px);
}

.eg-header__cta {
	padding: 12px 20px;
	font-size: 12.5px;
}

.eg-header__cta .eg-ic {
	font-size: 15px;
}

/* --- Bouton du menu replié ---------------------------------------------- */

.eg-nav-toggle {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.eg-burger {
	display: none;
	place-items: center;
	width: 44px;
	height: 44px;
	cursor: pointer;
	border: 1px solid var(--eg-hair-2);
	color: var(--eg-ink);
}

.eg-burger__lines {
	display: grid;
	gap: 4px;
	width: 20px;
}

.eg-burger__lines i {
	display: block;
	height: 2px;
	background: currentColor;
	transform-origin: center;
	transition: transform .26s cubic-bezier(.2, .8, .2, 1), opacity .18s;
}

/* Les trois traits deviennent une croix, sans changer de balisage. */
.eg-nav-toggle:checked ~ .eg-header .eg-burger__lines i:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.eg-nav-toggle:checked ~ .eg-header .eg-burger__lines i:nth-child(2) {
	opacity: 0;
}

.eg-nav-toggle:checked ~ .eg-header .eg-burger__lines i:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

/* --- Panneau replié ------------------------------------------------------ */

.eg-drawer {
	display: none;
	position: fixed;
	inset: 76px 0 0;
	z-index: 1000;
	background: var(--eg-paper);
	padding: calc(var(--eg-u) * 3) calc(var(--eg-u) * 3.25) calc(var(--eg-u) * 6);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.eg-nav-toggle:checked ~ .eg-drawer {
	display: block;
}

.eg-drawer__list {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.eg-drawer__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 0;
	border-bottom: 1px solid var(--eg-hair);
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 18px;
	letter-spacing: .03em;
	cursor: pointer;
	list-style: none;
}

.eg-drawer__link::-webkit-details-marker {
	display: none;
}

.eg-drawer__ic {
	font-size: 19px;
	color: var(--eg-accent);
}

.eg-acc__chev {
	margin-left: auto;
	width: 7px;
	height: 7px;
	border-right: 1.8px solid var(--eg-muted);
	border-bottom: 1.8px solid var(--eg-muted);
	transform: rotate(45deg);
	transition: transform .24s;
}

.eg-acc[open] .eg-acc__chev {
	transform: rotate(225deg);
}

.eg-acc__in {
	padding: 16px 0 20px;
	border-bottom: 1px solid var(--eg-hair);
}

.eg-acc__in .eg-panel__grid {
	grid-template-columns: 1fr 1fr;
}

.eg-acc__in .eg-panel__cartes {
	grid-template-columns: 1fr;
	gap: 14px;
}

.eg-acc__in .eg-mini {
	grid-template-columns: 96px 1fr;
	grid-template-rows: none;
	align-items: center;
	gap: 14px;
	opacity: 1;
	transform: none;
}

.eg-acc__in .eg-panel__grid li {
	opacity: 1;
	transform: none;
}

.eg-acc__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--eg-accent);
}

.eg-drawer__cta {
	width: 100%;
	padding-block: 15px;
}

.eg-social--drawer {
	justify-content: center;
	gap: 8px;
	margin-top: 26px;
	padding: 0;
	border-right: none;
}

.eg-social--drawer a {
	width: 46px;
	height: 46px;
	font-size: 19px;
	border: 1px solid var(--eg-hair-2);
}

/* --- Bascule ------------------------------------------------------------- */

/**
 * Trois paliers plutôt qu'un seul. Les pictos de réseaux partent en
 * premier — ils sont repris dans le pied et dans le panneau replié —
 * puis le bouton, puis le menu entier.
 */
@media (max-width: 1300px) {
	.eg-social--head {
		display: none;
	}
}

@media (max-width: 1180px) {
	.eg-header__cta span {
		display: none;
	}

	.eg-header__cta {
		padding: 12px 14px;
	}
}

@media (max-width: 1060px) {
	.eg-nav,
	.eg-header__cta {
		display: none;
	}

	.eg-burger {
		display: grid;
	}
}

@media (max-width: 980px) {
	.eg-panel__in {
		grid-template-columns: 1fr;
		gap: calc(var(--eg-u) * 3);
	}
}

@media (max-width: 420px) {
	.eg-brand__txt small {
		display: none;
	}

	.eg-brand__txt b {
		font-size: 16px;
	}

	.eg-brand__img {
		height: 34px;
		max-width: 150px;
	}
}

/* =========================================================================
   5. Sections
   ====================================================================== */

.eg-sec {
	padding-block: calc(var(--eg-u) * 10);
}

.eg-sec__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 26px;
	margin-bottom: calc(var(--eg-u) * 4.5);
	padding-bottom: 18px;
	border-bottom: 1px solid var(--eg-hair-2);
}

.eg-sec__head--dark {
	border-bottom-color: var(--eg-line);
}

.eg-kicker {
	margin: 0 0 9px;
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--eg-accent);
}

.eg-kicker--lamp {
	color: var(--eg-lamp);
}

.eg-sec__h {
	margin: 0;
	font-family: var(--eg-display);
	font-weight: 600;
	font-size: clamp(24px, 3.4vw, 34px);
	line-height: 1.08;
	letter-spacing: -.01em;
	text-wrap: balance;
}

@media (max-width: 700px) {
	.eg-sec {
		padding-block: calc(var(--eg-u) * 6.5);
	}

	.eg-sec__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
}

/* =========================================================================
   6. Grilles et cartes
   ====================================================================== */

.eg-grid {
	display: grid;
	gap: calc(var(--eg-u) * 3);
}

.eg-grid--3 {
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
	.eg-grid--3 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 580px) {
	.eg-grid--3 {
		grid-template-columns: 1fr;
	}
}

.eg-card {
	background: var(--eg-surface);
	border: 1px solid var(--eg-hair);
	transition: border-color .18s, transform .18s;
}

.eg-card:hover {
	border-color: var(--eg-hair-2);
	transform: translateY(-2px);
}

.eg-card__link {
	display: block;
	height: 100%;
}

/**
 * Le rapport d'aspect est fixé ici et les dimensions sont portées par
 * la balise img. La place de l'image est donc réservée avant même que
 * le réseau ne réponde : aucune ligne ne se déplace au chargement.
 */
.eg-card__media {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--eg-hair);
}

.eg-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.eg-card__fallback {
	display: grid;
	place-items: center;
	height: 100%;
	background: var(--eg-dark-2);
	color: rgba(240, 201, 122, .5);
}

.eg-card__fallback-ic {
	font-size: 54px;
	stroke-width: 1.2;
}

.eg-card__body {
	padding: calc(var(--eg-u) * 2.25) calc(var(--eg-u) * 2.5) calc(var(--eg-u) * 2.5);
}

.eg-card__title {
	margin: 0 0 8px;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 18px;
	line-height: 1.22;
	text-wrap: balance;
}

.eg-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 0;
	font-size: 13.5px;
	color: var(--eg-muted);
}

.eg-card__meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.eg-card__tested {
	color: var(--eg-accent);
}

/* --- Le tampon de note ------------------------------------------------- */

.eg-stamp {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: flex;
	align-items: baseline;
	gap: 2px;
	padding: 6px 11px 5px;
	background: var(--eg-dark);
	color: var(--eg-lamp);
	font-family: var(--eg-display);
	font-variant-numeric: tabular-nums;
}

.eg-stamp b {
	font-weight: 600;
	font-size: 20px;
	line-height: 1;
}

.eg-stamp span {
	font-size: 11px;
	opacity: .72;
}

/* =========================================================================
   9. Confort de lecture et de mouvement
   ====================================================================== */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* =========================================================================
   10. Compléments de menu
   ====================================================================== */

/**
 * Sous-entrées d'une rubrique.
 *
 * Ce sont les liens de votre menu — « Rechercher sur la carte », « Qui
 * sommes-nous ? » — présentés en tête de panneau, avant les données.
 */
.eg-panel__liens {
	display: grid;
	gap: 1px;
	margin: 0 0 calc(var(--eg-u) * 2.5);
	padding: 0;
	list-style: none;
	background: var(--eg-hair);
	border: 1px solid var(--eg-hair);
}

.eg-panel__liens a {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 13px 16px;
	background: var(--eg-surface);
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 14.5px;
	letter-spacing: .02em;
	color: var(--eg-ink);
	transition: background-color .16s, color .16s;
}

.eg-panel__liens a:hover {
	background: var(--eg-accent-soft);
	color: var(--eg-accent);
}

.eg-panel__liens .eg-ic {
	font-size: 16px;
	color: var(--eg-accent);
}

/* Le panneau de contact n'affiche que des liens : une colonne suffit. */
.eg-panel--liens .eg-panel__liens {
	margin-bottom: 0;
	max-width: 380px;
}

/* Enseignes ayant un code promo. */
.eg-panel__grid--promos {
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.eg-panel__grid--promos a {
	font-size: 14px;
}

/* --- Bouton « Ajouter une salle » ---------------------------------------- */

.eg-header__add {
	padding: 12px 16px;
	font-size: 12px;
}

.eg-header__add .eg-ic {
	font-size: 15px;
}

.eg-drawer__add {
	width: 100%;
	padding-block: 15px;
	margin-bottom: 10px;
}

/**
 * Ordre d'effacement quand la place manque : le bouton secondaire part
 * avant le principal, qui part avant le menu.
 */
@media (max-width: 1240px) {
	.eg-header__add span {
		display: none;
	}

	.eg-header__add {
		padding: 12px 13px;
	}
}

@media (max-width: 1140px) {
	.eg-header__add {
		display: none;
	}
}

/* =========================================================================
   11. Fond de page
   ====================================================================== */

/**
 * Sélecteur « html body » et non « body » seul.
 *
 * MyListing impose au corps de page un fond sombre, par une feuille
 * émise après les nôtres. À spécificité égale, c'est la dernière qui
 * gagne : nos sections claires se retrouvaient sur fond noir, et les
 * titres — cyan foncé sur noir — devenaient illisibles.
 *
 * « html body » vaut 0,0,2 contre 0,0,1 : la règle l'emporte quel que
 * soit l'ordre de chargement, sans recourir à !important.
 */
html body {
	background: var(--eg-paper);
	color: var(--eg-ink);
}

#eg-main {
	background: var(--eg-paper);
}

/**
 * Le conteneur du thème parent.
 *
 * C'est lui, et lui seul, qui peignait le noir : #c27-site-wrapper porte
 * un fond opaque hérité du réglage de peau sombre de MyListing. Placé à
 * l'intérieur de #eg-main, il recouvrait le fond clair que nous venions
 * de poser — d'où des titres foncés sur aplat noir.
 *
 * On le rend transparent : le fond vient désormais de #eg-main, et les
 * sections qui doivent être sombres peignent le leur.
 */
html body #c27-site-wrapper {
	background: transparent;
}

/* Les sections sombres reprennent la main sur ce fond clair. */
#eg-main .eg-hero,
#eg-main .eg-best,
#eg-main .eg-404,
#eg-main .eg-page-head--dark {
	background-color: var(--eg-dark);
}

#eg-main .eg-method,
#eg-main .eg-page-head,
#eg-main .eg-topics {
	background-color: var(--eg-surface);
}

/**
 * Contraste des surtitres.
 *
 * Le cyan foncé passe sur fond clair, jamais sur fond sombre. Chaque
 * contexte a donc sa teinte, plutôt qu'une seule qui échoue une fois
 * sur deux.
 */
.eg-best .eg-kicker,
.eg-page-head--dark .eg-kicker,
.eg-404 .eg-kicker {
	color: var(--eg-lamp);
}

.eg-best .eg-btn--ghost,
.eg-page-head--dark .eg-btn--ghost {
	border-color: #3A4553;
	color: #C9D0D9;
}

.eg-best .eg-btn--ghost:hover,
.eg-page-head--dark .eg-btn--ghost:hover {
	border-color: var(--eg-lamp);
	color: var(--eg-lamp);
}

/**
 * Titres de section.
 *
 * MyListing applique sa propre couleur aux titres via .case27-primary-text
 * et ses styles de peau. On reprend la main explicitement, avec une
 * teinte par contexte plutôt qu'une seule valable une fois sur deux.
 */
#eg-main .eg-sec__h,
#eg-main .eg-page-head__h {
	color: var(--eg-ink);
}

#eg-main .eg-best .eg-sec__h,
#eg-main .eg-page-head--dark .eg-page-head__h,
#eg-main .eg-404 .eg-404__h,
#eg-main .eg-doc__h,
#eg-main .eg-hero .eg-hero__h {
	color: #F6F3EE;
}

/* =========================================================================
   12. Carte des régions
   ====================================================================== */

.eg-carte {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: calc(var(--eg-u) * 6);
	align-items: center;
}

.eg-carte__zone {
	min-width: 0;
}

.eg-carte__svg {
	width: 100%;
	height: auto;
	max-width: 420px;
	overflow: visible;
	display: block;
	margin-inline: auto;
}

/* --- Les tuiles ---------------------------------------------------------- */

.eg-tuile {
	cursor: pointer;
}

.eg-tuile__forme {
	stroke: var(--eg-paper);
	stroke-width: 3;
	transition: transform .22s cubic-bezier(.2, .8, .2, 1), filter .22s;
	transform-box: fill-box;
	transform-origin: center;
}

.eg-tuile:hover .eg-tuile__forme,
.eg-tuile:focus-visible .eg-tuile__forme {
	transform: scale(1.06);
	filter: drop-shadow(0 8px 18px rgba(11, 110, 138, .35));
}

.eg-tuile__nom,
.eg-tuile__nb {
	text-anchor: middle;
	pointer-events: none;
	transition: transform .22s cubic-bezier(.2, .8, .2, 1);
}

.eg-tuile__nom {
	font-family: "Oswald", "Oswald Fallback", sans-serif;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: .01em;
}

.eg-tuile__nb {
	font-family: "Courier Prime", monospace;
	font-size: 15px;
	font-weight: 700;
}

/**
 * Les tuiles apparaissent l'une après l'autre lorsque la section entre
 * dans le champ. L'effet dure moins d'une seconde au total et ne se
 * rejoue jamais.
 */
@media (prefers-reduced-motion: no-preference) {
	.eg-tuile {
		animation: eg-tuile-apparait .5s cubic-bezier(.2, .8, .2, 1) both;
		animation-delay: calc(var(--i, 0) * 55ms);
	}
}

@keyframes eg-tuile-apparait {
	from { opacity: 0; transform: translateY(14px) scale(.9); }
	to   { opacity: 1; transform: none; }
}

/* --- Le côté ------------------------------------------------------------- */

.eg-carte__legende {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0 0 20px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--eg-muted);
}

.eg-carte__echelle {
	display: flex;
	flex: none;
}

.eg-carte__echelle i {
	width: 16px;
	height: 10px;
	display: block;
}

.eg-carte__liste {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--eg-hair);
}

.eg-carte__liste a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--eg-hair);
	font-size: 14.5px;
	color: var(--eg-ink-2);
	transition: color .16s, padding-left .16s;
}

.eg-carte__liste a:hover {
	color: var(--eg-accent);
	padding-left: 6px;
}

.eg-carte__liste b {
	font-family: var(--eg-mono);
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
	color: var(--eg-hair-2);
}

.eg-carte__liste a:hover b {
	color: var(--eg-accent);
}

.eg-carte__hors {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 20px 0 0;
	padding: 11px 14px;
	background: var(--eg-surface);
	border: 1px dashed var(--eg-hair-2);
	font-size: 14px;
	color: var(--eg-muted);
}

.eg-carte__hors .eg-ic {
	font-size: 17px;
	color: var(--eg-accent);
}

.eg-carte__hors a {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	color: var(--eg-ink-2);
}

.eg-carte__hors b {
	font-family: var(--eg-mono);
	font-size: 12.5px;
	color: var(--eg-hair-2);
}

@media (max-width: 940px) {
	.eg-carte {
		grid-template-columns: 1fr;
		gap: calc(var(--eg-u) * 4);
	}

	.eg-carte__svg {
		max-width: 340px;
	}
}

/* =========================================================================
   13. Pied de page
   ====================================================================== */

.eg-footer {
	position: relative;
	background: var(--eg-dark);
	color: #C9D0D9;
	margin-top: calc(var(--eg-u) * 6);
	overflow: hidden;
}

/* --- Le bandeau défilant -------------------------------------------------- */

/**
 * Les dernières salles jouées, avec leur note. Le groupe est écrit deux
 * fois et la piste translate d'exactement la moitié de sa largeur : la
 * boucle est donc invisible, sans JavaScript ni duplication au montage.
 */
.eg-ticker {
	border-bottom: 1px solid var(--eg-line);
	background: var(--eg-dark-2);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.eg-ticker__piste {
	display: flex;
	width: max-content;
}

/* Le défilement suppose deux groupes : il n'est armé qu'une fois le second
   cloné, sinon la piste sauterait à mi-course. */
.eg-ticker--prete .eg-ticker__piste {
	animation: eg-defile 46s linear infinite;
}

.eg-ticker:hover .eg-ticker__piste {
	animation-play-state: paused;
}

.eg-ticker__groupe {
	display: flex;
	align-items: center;
	flex: none;
}

.eg-ticker__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 0;
	white-space: nowrap;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: .04em;
	color: #8B94A0;
}

.eg-ticker__item b {
	display: inline-grid;
	place-items: center;
	min-width: 30px;
	height: 22px;
	padding-inline: 6px;
	background: var(--eg-lamp);
	color: var(--eg-dark);
	font-family: var(--eg-mono);
	font-size: 12px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.eg-ticker__item i {
	font-style: normal;
	margin-inline: 22px;
	color: #3A4553;
}

@keyframes eg-defile {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.eg-ticker__piste {
		animation: none;
	}
}

/* --- Corps ---------------------------------------------------------------- */

.eg-footer__in {
	position: relative;
	z-index: 2;
	max-width: var(--eg-wrap);
	margin-inline: auto;
	padding-inline: calc(var(--eg-u) * 3.25);
	display: flex;
	gap: calc(var(--eg-u) * 7);
	padding-block: calc(var(--eg-u) * 7);
}

.eg-footer__brand {
	flex: 1 1 300px;
}

.eg-footer__pitch {
	margin: 18px 0 22px;
	font-size: 15px;
	max-width: 34ch;
	color: #A6AEBA;
}

/* Compteurs façon afficheur de chronomètre. */
.eg-chrono {
	display: flex;
	gap: 1px;
	margin: 0;
	background: var(--eg-line);
	border: 1px solid var(--eg-line);
	width: max-content;
}

.eg-chrono > div {
	padding: 10px 14px;
	background: var(--eg-dark);
	text-align: center;
}

.eg-chrono dt {
	font-family: var(--eg-mono);
	font-size: 17px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: #F6F3EE;
	line-height: 1;
}

.eg-chrono dd {
	margin: 6px 0 0;
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6E7887;
}

.eg-chrono--hl dt {
	color: var(--eg-lamp);
}

.eg-footer__cols {
	display: flex;
	gap: calc(var(--eg-u) * 6);
	flex: 1 1 auto;
}

.eg-footer__col {
	min-width: 150px;
}

.eg-footer__h {
	margin: 0 0 15px;
	font-family: var(--eg-mono);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--eg-lamp);
}

.eg-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14.5px;
}

.eg-footer__list li {
	margin-bottom: 9px;
}

.eg-footer__list a {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	transition: color .16s;
}

.eg-footer__list a:hover {
	color: var(--eg-lamp);
}

.eg-footer__list em {
	font-family: var(--eg-mono);
	font-style: normal;
	font-size: 11px;
	color: #4E5867;
}

.eg-footer__list--deux {
	columns: 2;
	column-gap: 26px;
}

.eg-social--footer {
	margin-top: 20px;
	padding: 0;
	border-right: none;
	gap: 6px;
}

.eg-social--footer a {
	width: 38px;
	height: 38px;
	font-size: 17px;
	border: 1px solid var(--eg-line);
	color: #8B94A0;
}

.eg-social--footer a:hover {
	background: transparent;
	border-color: var(--eg-lamp);
	color: var(--eg-lamp);
}

/* --- La signature --------------------------------------------------------- */

/**
 * Le nom en très grand, tronqué par le bas et par les côtés : une
 * enseigne qu'on ne voit jamais en entier. Purement décoratif, donc
 * retiré de l'arbre d'accessibilité et non sélectionnable.
 */
.eg-signature {
	position: relative;
	z-index: 1;
	overflow: hidden;
	height: clamp(70px, 11vw, 132px);
	user-select: none;
	pointer-events: none;
}

.eg-signature span {
	display: block;
	margin-top: -.14em;
	text-align: center;
	font-family: var(--eg-display);
	font-weight: 700;
	font-size: clamp(72px, 15.5vw, 220px);
	line-height: 1;
	letter-spacing: -.02em;
	text-transform: uppercase;
	color: transparent;
	-webkit-text-stroke: 1px #262E39;
}

/* --- Barre du bas --------------------------------------------------------- */

.eg-footer__bar {
	position: relative;
	z-index: 2;
	border-top: 1px solid var(--eg-line);
	background: var(--eg-dark);
}

.eg-footer__bar .eg-footer__in {
	padding-block: 18px;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.eg-footer__bar p {
	margin: 0;
	font-size: 13px;
	color: #6E7887;
}

.eg-footer__made {
	font-family: var(--eg-mono);
}

/* Chronomètre arrêté : la durée d'une partie. */
.eg-footer__timer {
	font-family: var(--eg-mono) !important;
	font-size: 15px !important;
	font-variant-numeric: tabular-nums;
	color: var(--eg-lamp) !important;
	letter-spacing: .08em;
}

.eg-footer__timer span {
	display: inline-block;
	padding: 3px 6px;
	background: var(--eg-dark-2);
	border: 1px solid var(--eg-line);
}

@media (max-width: 900px) {
	.eg-footer__in,
	.eg-footer__cols {
		flex-direction: column;
		gap: calc(var(--eg-u) * 4.5);
	}

	.eg-footer__bar .eg-footer__in {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 12px;
	}

	.eg-footer__list--deux {
		columns: 2;
	}
}

/* =========================================================================
   14. Raccourcis vers les pages promo
   ====================================================================== */

/**
 * Les pages de code promo prennent la forme de coupons détachables :
 * un talon perforé, un corps, et le geste de l'arracher au survol.
 *
 * Ce n'est pas un ornement gratuit. Ces 928 pages se ressemblent toutes
 * et ne portent qu'un nom d'enseigne : sans forme reconnaissable, la
 * liste devient un mur de liens bleus que personne ne parcourt.
 */
.eg-promos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: calc(var(--eg-u) * 1.75);
}

.eg-promo {
	position: relative;
	display: grid;
	grid-template-columns: 54px 1fr;
	align-items: stretch;
	min-height: 76px;
	background: var(--eg-surface);
	border: 1px solid var(--eg-hair-2);
	transition: transform .2s cubic-bezier(.2, .8, .2, 1), border-color .2s, box-shadow .2s;
}

/*
 * Pas d'overflow: hidden ici — les encoches débordent volontairement en
 * haut et en bas du coupon, et seraient sinon rognées.
 */

.eg-promo:hover {
	transform: translateY(-3px);
	border-color: var(--eg-warm);
	box-shadow: 0 12px 26px rgba(183, 110, 18, .16);
}

/* --- Le talon ------------------------------------------------------------- */

.eg-promo__talon {
	display: grid;
	place-items: center;
	background: var(--eg-dark);
	color: var(--eg-lamp);
	font-family: var(--eg-display);
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	transition: background-color .2s;
}

.eg-promo:hover .eg-promo__talon {
	background: var(--eg-warm);
	color: var(--eg-dark);
}

/**
 * La perforation : une colonne de points blancs entre talon et corps,
 * dessinée en dégradé radial répété plutôt qu'en éléments.
 */
.eg-promo__talon::after {
	content: "";
	position: absolute;
	top: -4px;
	bottom: -4px;
	left: 54px;
	width: 2px;
	transform: translateX(-1px);
	background-image: radial-gradient(circle, var(--eg-paper) 1.6px, transparent 1.7px);
	background-size: 2px 8px;
	background-repeat: repeat-y;
}

/* Les encoches, en haut et en bas de la perforation. */
.eg-promo::before,
.eg-promo::after {
	content: "";
	position: absolute;
	left: 54px;
	width: 12px;
	height: 12px;
	transform: translateX(-50%);
	border-radius: 50%;
	background: var(--eg-paper);
	z-index: 2;
}

.eg-promo::before {
	top: -6px;
}

.eg-promo::after {
	bottom: -6px;
}

/* --- Le corps ------------------------------------------------------------- */

.eg-promo__corps {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	padding: 12px 16px;
	min-width: 0;
}

.eg-promo__corps b {
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	color: var(--eg-ink);
	overflow-wrap: anywhere;
}

.eg-promo__corps em {
	font-family: var(--eg-mono);
	font-style: normal;
	font-size: 10px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--eg-muted);
	transition: color .16s;
}

.eg-promo:hover .eg-promo__corps em {
	color: var(--eg-warm);
}

/* --- Dans le panneau du menu ---------------------------------------------- */

/**
 * Sur fond blanc du panneau, les encoches doivent être blanches et non
 * de la couleur du papier.
 */
.eg-promos--menu {
	grid-template-columns: repeat(4, 1fr);
	gap: calc(var(--eg-u) * 1.5);
}

.eg-promos--menu .eg-promo {
	min-height: 64px;
	grid-template-columns: 42px 1fr;
}

.eg-promos--menu .eg-promo__talon {
	font-size: 19px;
}

.eg-promos--menu .eg-promo__talon::after,
.eg-promos--menu .eg-promo::before,
.eg-promos--menu .eg-promo::after {
	left: 42px;
}

.eg-promos--menu .eg-promo::before,
.eg-promos--menu .eg-promo::after,
.eg-promos--menu .eg-promo__talon::after {
	background-color: var(--eg-surface);
}

.eg-promos--menu .eg-promo__talon::after {
	background-image: radial-gradient(circle, var(--eg-surface) 1.6px, transparent 1.7px);
}

.eg-promos--menu .eg-promo__corps b {
	font-size: 13.5px;
}

.eg-promos--menu .eg-promo__corps em {
	display: none;
}

@media (max-width: 1100px) {
	.eg-promos--menu {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* -------------------------------------------------------------------------
   Pages de ville
   ---------------------------------------------------------------------- */

.eg-ville__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 7vw, 5rem) 0 clamp(1.5rem, 4vw, 2.5rem);
	background: var(--eg-noir, #12161c);
	color: var(--eg-creme, #f6f4ef);
}

.eg-ville__hero-in { position: relative; z-index: 1; }

/* Le sur-titre en petites capitales espacées : il nomme la catégorie,
   le titre nomme le lieu. Deux informations, deux traitements. */
.eg-ville__sur {
	display: block;
	margin-bottom: .3rem;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .74rem;
	font-weight: 400;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--eg-or, #f0c97a);
}

.eg-ville__h {
	margin: 0 0 .8rem;
	font-size: clamp(2rem, 6vw, 3.6rem);
	line-height: .98;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.eg-ville__chiffres {
	margin: 0 0 .9rem;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .82rem;
	letter-spacing: .06em;
	color: rgba(246, 244, 239, .74);
}

.eg-ville__chiffres b { color: var(--eg-or, #f0c97a); font-weight: 700; }
.eg-ville__chiffres i { margin: 0 .5rem; font-style: normal; opacity: .5; }

.eg-ville__lede {
	max-width: 60ch;
	margin: 0;
	font-size: clamp(.98rem, 1.6vw, 1.08rem);
	line-height: 1.55;
	color: rgba(246, 244, 239, .86);
}

.eg-ville__liste { margin: clamp(2rem, 5vw, 3.5rem) auto; }

.eg-ville__suite {
	margin: 1.5rem 0 0;
	color: var(--eg-gris, #6b6357);
}

.eg-ville__autres { margin: 0 auto clamp(2.5rem, 6vw, 4rem); }
.eg-ville__autres h2 { margin: 0 0 1rem; font-size: clamp(1.1rem, 2.4vw, 1.4rem); }

/* La liste des autres villes : des jetons, pas des cartes. Ils doivent
   se parcourir d'un regard et tenir sur peu de lignes. */
.eg-villes {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eg-villes a {
	display: inline-flex;
	align-items: baseline;
	gap: .45rem;
	padding: .45rem .8rem;
	border: 1px solid var(--eg-trait, #e3ded4);
	border-radius: 2px;
	text-decoration: none;
	transition: border-color .18s, background-color .18s;
}

.eg-villes a:hover,
.eg-villes a:focus-visible {
	background: var(--eg-noir, #12161c);
	border-color: var(--eg-noir, #12161c);
	color: var(--eg-or, #f0c97a);
}

.eg-villes b {
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .74rem;
	opacity: .7;
}

/* -------------------------------------------------------------------------
   Palmarès
   ---------------------------------------------------------------------- */

.eg-palm__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 7vw, 5rem) 0 clamp(1.5rem, 4vw, 2.5rem);
	background: var(--eg-noir, #12161c);
	color: var(--eg-creme, #f6f4ef);
}

.eg-palm__hero-in { position: relative; z-index: 1; }

.eg-palm__sur {
	display: block;
	margin-bottom: .3rem;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .74rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--eg-or, #f0c97a);
}

.eg-palm__h {
	margin: 0 0 .8rem;
	font-size: clamp(1.9rem, 5.5vw, 3.4rem);
	line-height: 1;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.eg-palm__lede {
	max-width: 62ch;
	margin: 0;
	font-size: clamp(.98rem, 1.6vw, 1.08rem);
	line-height: 1.55;
	color: rgba(246, 244, 239, .86);
}

.eg-palm__corps { margin: clamp(2rem, 5vw, 3.5rem) auto; }

.eg-palm__liste {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.eg-palm__locaux { margin: 0 auto clamp(2rem, 5vw, 3rem); }
.eg-palm__locaux h2 { margin: 0 0 1rem; font-size: clamp(1.1rem, 2.4vw, 1.4rem); }

.eg-palm__suite {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: clamp(1rem, 4vw, 3rem);
	margin: 0 auto clamp(2.5rem, 6vw, 4rem);
	padding-top: clamp(1.5rem, 4vw, 2.5rem);
	border-top: 1px solid var(--eg-trait, #e3ded4);
}

.eg-palm__suite h2 { margin: 0 0 .4rem; font-size: clamp(1.1rem, 2.4vw, 1.4rem); }
.eg-palm__suite p { max-width: 60ch; margin: 0; color: var(--eg-gris, #6b6357); line-height: 1.55; }
.eg-palm__cta { display: grid; gap: .5rem; }

@media (max-width: 760px) {

	.eg-palm__item {
		grid-template-columns: 2.2rem 3.6rem 1fr;
		row-gap: .35rem;
	}

	.eg-palm__barre { grid-column: 1 / -1; }
	.eg-palm__suite { grid-template-columns: 1fr; }
}

/* Sélections thématiques : même charpente que les pages de ville, dont
   elles partagent la fonction — une liste de salles répondant à un
   critère unique, annoncé sans détour. */
.eg-sel__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 7vw, 4.5rem) 0 clamp(1.5rem, 4vw, 2.5rem);
	background: var(--eg-noir, #12161c);
	color: var(--eg-creme, #f6f4ef);
}

.eg-sel__hero-in { position: relative; z-index: 1; }

.eg-sel__h {
	margin: 0 0 .7rem;
	font-size: clamp(1.9rem, 5.5vw, 3.2rem);
	line-height: 1;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.eg-sel__chiffres {
	margin: 0 0 .9rem;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .82rem;
	letter-spacing: .06em;
	color: rgba(246, 244, 239, .74);
}

.eg-sel__chiffres b { color: var(--eg-or, #f0c97a); font-weight: 700; }
.eg-sel__chiffres i { margin: 0 .5rem; font-style: normal; opacity: .5; }

.eg-sel__lede {
	max-width: 62ch;
	margin: 0;
	font-size: clamp(.98rem, 1.6vw, 1.08rem);
	line-height: 1.55;
	color: rgba(246, 244, 239, .86);
}

.eg-sel__liste { margin: clamp(2rem, 5vw, 3.5rem) auto; }
.eg-sel__suite { margin: 1.5rem 0 0; color: var(--eg-gris, #6b6357); }
.eg-sel__autres { margin: 0 auto clamp(2.5rem, 6vw, 4rem); }
.eg-sel__autres h2 { margin: 0 0 1rem; font-size: clamp(1.1rem, 2.4vw, 1.4rem); }

/* -------------------------------------------------------------------------
   Espace professionnel
   ---------------------------------------------------------------------- */

/* Cette page ne s'adresse pas aux joueurs. Le registre change : moins
   d'atmosphère, des chiffres lisibles, des cartes qui se comparent d'un
   regard. On garde la palette du site pour ne pas donner l'impression
   d'avoir changé de maison. */
.eg-pro__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 7vw, 5rem) 0 clamp(2rem, 5vw, 3rem);
	background: var(--eg-noir, #12161c);
	color: var(--eg-creme, #f6f4ef);
}

.eg-pro__hero-in { position: relative; z-index: 1; }

.eg-pro__sur {
	margin: 0 0 .5rem;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .74rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--eg-or, #f0c97a);
}

.eg-pro__h {
	max-width: 20ch;
	margin: 0 0 .9rem;
	font-size: clamp(1.9rem, 5.5vw, 3.4rem);
	line-height: 1.02;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.eg-pro__h em { display: block; font-style: normal; color: var(--eg-or, #f0c97a); }

.eg-pro__lede {
	max-width: 60ch;
	margin: 0 0 1.8rem;
	font-size: clamp(.98rem, 1.6vw, 1.08rem);
	line-height: 1.55;
	color: rgba(246, 244, 239, .86);
}

/* Les chiffres : la première chose qu'un exploitant regarde. */
.eg-pro__chiffres {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1.5rem, 5vw, 3.5rem);
	padding-top: 1.2rem;
	border-top: 1px solid rgba(246, 244, 239, .16);
}

.eg-pro__chiffres b {
	display: block;
	font-family: var(--eg-titre, Oswald), system-ui, sans-serif;
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	font-weight: 600;
	line-height: 1;
	color: var(--eg-or, #f0c97a);
	font-variant-numeric: tabular-nums;
}

.eg-pro__chiffres span {
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(246, 244, 239, .66);
}

.eg-pro__pourquoi {
	display: grid;
	grid-template-columns: 1fr minmax(16rem, 22rem);
	gap: clamp(1.5rem, 5vw, 3.5rem);
	margin: clamp(2.5rem, 6vw, 4rem) auto;
}

.eg-pro__pourquoi h2 { margin: 0 0 .8rem; font-size: clamp(1.2rem, 2.8vw, 1.7rem); }
.eg-pro__pourquoi p { max-width: 64ch; margin: 0 0 .9rem; line-height: 1.6; }

.eg-pro__encart {
	align-self: start;
	padding: 1.2rem 1.3rem;
	background: var(--eg-creme, #f6f4ef);
	border-left: 3px solid var(--eg-chaud, #b76e12);
}

.eg-pro__encart-t {
	margin: 0 0 .4rem !important;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--eg-chaud, #b76e12);
}

.eg-pro__encart p { font-size: .92rem; }

.eg-pro__formules { margin: 0 auto clamp(2.5rem, 6vw, 4rem); }
.eg-pro__formules > h2 { margin: 0 0 1.4rem; font-size: clamp(1.2rem, 2.8vw, 1.7rem); }

.eg-pro__grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1rem;
	align-items: start;
}

.eg-pro__carte {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .6rem;
	padding: 1.4rem;
	background: var(--eg-blanc, #fff);
	border: 1px solid var(--eg-trait, #e3ded4);
	border-radius: 2px;
}

/* La formule centrale se distingue par le fond, pas par la taille :
   agrandir une carte casse l'alignement des listes qu'on veut comparer. */
.eg-pro__carte--phare {
	background: var(--eg-noir, #12161c);
	border-color: var(--eg-noir, #12161c);
	color: var(--eg-creme, #f6f4ef);
}

.eg-pro__carte--phare h3,
.eg-pro__carte--phare .eg-pro__prix { color: var(--eg-or, #f0c97a); }
.eg-pro__carte--phare .eg-pro__promesse { color: rgba(246, 244, 239, .8); }
.eg-pro__carte--phare li { color: rgba(246, 244, 239, .9); }

.eg-pro__ruban {
	position: absolute;
	top: -.6rem;
	right: 1rem;
	padding: .18rem .5rem;
	background: var(--eg-or, #f0c97a);
	color: var(--eg-noir, #12161c);
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .64rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 2px;
}

.eg-pro__carte h3 { margin: 0; font-size: 1.15rem; }
.eg-pro__promesse { margin: 0; color: var(--eg-gris, #6b6357); font-size: .92rem; line-height: 1.45; }

.eg-pro__prix {
	margin: .2rem 0 .4rem;
	font-family: var(--eg-titre, Oswald), system-ui, sans-serif;
	font-size: 1.35rem;
	font-weight: 600;
}

.eg-pro__prix--vide { font-size: .88rem; font-weight: 400; opacity: .7; }

.eg-pro__carte ul { margin: 0 0 .8rem; padding: 0; list-style: none; display: grid; gap: .45rem; }

.eg-pro__carte li {
	display: grid;
	grid-template-columns: 1rem 1fr;
	gap: .5rem;
	align-items: start;
	font-size: .9rem;
	line-height: 1.4;
}

.eg-pro__carte li .eg-ic { width: 1rem; height: 1rem; margin-top: .15rem; color: var(--eg-chaud, #b76e12); }
.eg-pro__carte--phare li .eg-ic { color: var(--eg-or, #f0c97a); }
.eg-pro__carte .eg-btn { margin-top: auto; justify-content: center; }

.eg-pro__faq { margin: 0 auto clamp(2.5rem, 6vw, 4rem); }
.eg-pro__faq > h2 { margin: 0 0 1rem; font-size: clamp(1.2rem, 2.8vw, 1.7rem); }
.eg-pro__qr { display: grid; gap: .5rem; max-width: 70ch; }

.eg-pro__qr details {
	padding: .9rem 1.1rem;
	background: var(--eg-creme, #f6f4ef);
	border-radius: 2px;
}

.eg-pro__qr summary { cursor: pointer; font-weight: 600; }
.eg-pro__qr p { margin: .6rem 0 0; line-height: 1.55; color: var(--eg-gris, #6b6357); }

.eg-pro__fin {
	padding: clamp(2rem, 5vw, 3.5rem) 0;
	background: var(--eg-creme, #f6f4ef);
	border-top: 1px solid var(--eg-trait, #e3ded4);
	text-align: center;
}

.eg-pro__fin h2 { margin: 0 0 .5rem; font-size: clamp(1.3rem, 3vw, 1.9rem); }
.eg-pro__fin p { max-width: 56ch; margin: 0 auto 1.2rem; line-height: 1.55; color: var(--eg-gris, #6b6357); }

/* Le badge de transparence, présent partout où une fiche est mise en
   avant. Discret mais lisible : il doit se voir sans crier. */
.eg-badge-pro {
	display: inline-flex;
	align-items: center;
	padding: .12rem .42rem;
	background: var(--eg-chaud, #b76e12);
	color: #fff;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .62rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 2px;
	vertical-align: middle;
}

.eg-mention-classement {
	margin: 0 0 1rem;
	font-size: .82rem;
	line-height: 1.45;
	color: var(--eg-gris, #6b6357);
}

@media (max-width: 780px) {
	.eg-pro__pourquoi { grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------------
   Titres des en-têtes sombres
   -------------------------------------------------------------------------

   MyListing pose « h1, h2, h3, h4, h5, h6 { color: #242429 } », un gris
   presque noir. Nos bandeaux sombres donnaient bien leur couleur au
   conteneur, en comptant sur l'heritage — mais une couleur declaree sur
   le titre lui-meme coupe cet heritage. Resultat : « Les meilleurs escape
   games de France » s'affichait en gris anthracite sur fond noir,
   pratiquement illisible.

   La lecon vaut pour la suite : sur un fond sombre, ne jamais compter sur
   l'heritage pour la couleur d'un titre. On la declare.
   ---------------------------------------------------------------------- */

.eg-palm__hero .eg-palm__h,
.eg-ville__hero .eg-ville__h,
.eg-sel__hero .eg-sel__h,
.eg-pro__hero .eg-pro__h,
.eg-palm__hero h1,
.eg-ville__hero h1,
.eg-sel__hero h1,
.eg-pro__hero h1 {
	color: var(--eg-creme, #f6f4ef);
}

/* Les sur-titres et accents gardent l'or, qui ressort sur le noir. */
.eg-palm__hero .eg-palm__sur,
.eg-ville__hero .eg-ville__sur,
.eg-pro__hero .eg-pro__sur,
.eg-pro__hero .eg-pro__h em {
	color: var(--eg-or, #f0c97a);
}

/* Le fil d'Ariane des bandeaux sombres : le lien actif en or, le reste
   en creme attenue, jamais en gris fonce. */
.eg-palm__hero .eg-doc__fil,
.eg-ville__hero .eg-doc__fil,
.eg-sel__hero .eg-doc__fil {
	color: rgba(246, 244, 239, .62);
}

.eg-palm__hero .eg-doc__fil a,
.eg-ville__hero .eg-doc__fil a,
.eg-sel__hero .eg-doc__fil a {
	color: var(--eg-or, #f0c97a);
}

/* -------------------------------------------------------------------------
   Palmarès par paliers
   -------------------------------------------------------------------------

   Le classement ne numerote plus les salles une a une : seize d'entre
   elles partagent la meilleure note, et les departager par l'ordre
   alphabetique aurait ete un faux classement. Chaque palier affiche donc
   sa note, son effectif, et les salles a egalite.

   La note est le point d'ancrage visuel : gros chiffre, colonne fixe.
   Tout le reste s'aligne dessus.
   ---------------------------------------------------------------------- */

.eg-palm__corps { margin: clamp(2rem, 5vw, 3.5rem) auto; }

/* La regle graduee du bandeau : une barre par palier, hauteur
   proportionnelle a l'effectif. Elle situe la page dans l'ensemble. */
.eg-palm__regle {
	display: flex;
	align-items: flex-end;
	gap: 3px;
	height: 34px;
	margin-top: 1.4rem;
	padding-top: 1.2rem;
	border-top: 1px solid rgba(246, 244, 239, .16);
}

.eg-palm__tick {
	flex: 1 1 0;
	min-width: 2px;
	height: var(--h, 20%);
	background: rgba(246, 244, 239, .22);
	border-radius: 1px;
	transition: background-color .2s;
}

.eg-palm__tick.est-actif { background: var(--eg-or, #f0c97a); }

/* Un palier. */
.eg-palier {
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
	padding-bottom: clamp(1.25rem, 3vw, 2rem);
	border-bottom: 1px solid var(--eg-trait, #e3ded4);
}

.eg-palier:last-of-type { border-bottom: 0; }

.eg-palier__tete {
	display: grid;
	grid-template-columns: auto 1fr minmax(5rem, 11rem);
	align-items: center;
	gap: clamp(.8rem, 2.5vw, 1.6rem);
	margin-bottom: 1rem;
}

/* La note, en pastille. Sur le palier le plus haut, elle passe en noir
   et or : une seule distinction, pour une seule information. */
.eg-palier__note {
	display: flex;
	align-items: baseline;
	gap: .1rem;
	padding: .5rem .8rem;
	background: var(--eg-creme, #f6f4ef);
	border-radius: 2px;
	font-family: var(--eg-titre, Oswald), system-ui, sans-serif;
	font-variant-numeric: tabular-nums;
}

.eg-palier__note b { font-size: clamp(1.5rem, 4vw, 2.1rem); font-weight: 600; line-height: 1; }
.eg-palier__note i { font-size: .78rem; font-style: normal; color: var(--eg-gris, #6b6357); }

.eg-palier--sommet .eg-palier__note {
	background: var(--eg-noir, #12161c);
	color: var(--eg-or, #f0c97a);
}

.eg-palier--sommet .eg-palier__note i { color: rgba(240, 201, 122, .7); }

.eg-palier__info h2 {
	margin: 0;
	font-size: clamp(1rem, 2.2vw, 1.25rem);
	line-height: 1.15;
}

.eg-palier__info p {
	margin: .15rem 0 0;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
}

.eg-palier__jauge {
	height: 4px;
	background: var(--eg-trait, #e3ded4);
	border-radius: 2px;
	overflow: hidden;
}

.eg-palier__jauge i { display: block; width: var(--eg-part, 0%); height: 100%; background: var(--eg-chaud, #b76e12); }
.eg-palier--sommet .eg-palier__jauge i { background: var(--eg-noir, #12161c); }

/* Les salles du palier : en colonnes, sans puce ni numero — elles sont
   a egalite, rien ne doit suggerer un ordre. */
.eg-palier__salles {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 2;
	column-gap: clamp(1rem, 3vw, 2.5rem);
}

.eg-palier__salles li { break-inside: avoid; margin-bottom: .4rem; }

.eg-palier__salles a {
	display: block;
	padding: .3rem 0 .3rem .8rem;
	border-left: 2px solid var(--eg-trait, #e3ded4);
	text-decoration: none;
	transition: border-color .18s, padding-left .18s;
}

.eg-palier__salles a:hover,
.eg-palier__salles a:focus-visible {
	border-left-color: var(--eg-chaud, #b76e12);
	padding-left: 1.1rem;
}

.eg-palier__nom { display: block; font-weight: 600; line-height: 1.3; }

.eg-palier__salles em {
	display: block;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .7rem;
	font-style: normal;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
}

/* -------------------------------------------------------------------------
   Pagination
   -------------------------------------------------------------------------

   Chaque numero porte la plage de notes qu'il couvre : on choisit une
   page en sachant ce qu'on va y trouver, plutot qu'en tatonnant.
   ---------------------------------------------------------------------- */

.eg-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
	padding-top: clamp(1.25rem, 3vw, 2rem);
	border-top: 1px solid var(--eg-trait, #e3ded4);
}

.eg-pager__bord {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.eg-pager__bord.est-inactif { color: var(--eg-gris, #6b6357); opacity: .5; }
.eg-pager__fleche { width: 1em; height: 1em; }
.eg-pager__fleche--g { transform: rotate(180deg); }

.eg-pager__pages {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eg-pager__num {
	display: grid;
	justify-items: center;
	gap: .1rem;
	min-width: 3.4rem;
	padding: .4rem .5rem;
	border: 1px solid var(--eg-trait, #e3ded4);
	border-radius: 2px;
	text-decoration: none;
	transition: background-color .18s, border-color .18s, color .18s;
}

.eg-pager__num b {
	font-family: var(--eg-titre, Oswald), system-ui, sans-serif;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

/* La plage de notes, sous le numero : le repere qui rend le choix utile. */
.eg-pager__num em {
	font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace;
	font-size: .62rem;
	font-style: normal;
	letter-spacing: .04em;
	color: var(--eg-gris, #6b6357);
}

.eg-pager__num:hover,
.eg-pager__num:focus-visible {
	border-color: var(--eg-noir, #12161c);
}

.eg-pager__num.est-courant {
	background: var(--eg-noir, #12161c);
	border-color: var(--eg-noir, #12161c);
	color: var(--eg-or, #f0c97a);
}

.eg-pager__num.est-courant em { color: rgba(240, 201, 122, .72); }

@media (max-width: 760px) {

	.eg-palier__tete { grid-template-columns: auto 1fr; row-gap: .6rem; }
	.eg-palier__jauge { grid-column: 1 / -1; }
	.eg-palier__salles { columns: 1; }

	.eg-pager { justify-content: center; }
	.eg-pager__pages { order: -1; width: 100%; justify-content: center; }
}

/* --- Questions fréquentes des pages de ville (eg-ville.php) ------------ */

.eg-ville__faq {
	padding-top: calc(var(--eg-u) * 4);
}

.eg-ville__faq h2 {
	margin: 0 0 14px;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.2;
}

.eg-ville__faq .eg-bref__faq {
	background: var(--eg-surface);
	border: 1px solid var(--eg-hair);
	padding: 4px 18px;
}

.eg-ville__faq .eg-bref__q {
	border-top: 1px solid var(--eg-hair);
	padding: 12px 0;
}

.eg-ville__faq .eg-bref__q:first-child {
	border-top: 0;
}

.eg-ville__faq .eg-bref__q summary {
	cursor: pointer;
	font-weight: 700;
	font-size: 15px;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 12px;
}

.eg-ville__faq .eg-bref__q summary::-webkit-details-marker {
	display: none;
}

.eg-ville__faq .eg-bref__q summary::after {
	content: "+";
	color: var(--eg-muted);
	font-weight: 400;
}

.eg-ville__faq .eg-bref__q[open] summary::after {
	content: "–";
}

.eg-ville__faq .eg-bref__q p {
	margin: 8px 0 0;
	max-width: 72ch;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--eg-ink-2);
}

/* --- Thèmes d'une ville (eg-ville.php) --------------------------------- */

.eg-ville__themes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	padding-top: calc(var(--eg-u) * 3);
	font-size: 14px;
}

.eg-ville__themes-lab {
	margin-right: 6px;
	font-family: var(--eg-display);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--eg-muted);
}

.eg-ville__themes a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid var(--eg-hair);
	background: var(--eg-surface);
	color: var(--eg-ink);
	text-decoration: none;
}

.eg-ville__themes a:hover {
	border-color: var(--eg-accent);
	color: var(--eg-accent);
}

.eg-ville__themes i {
	font-style: normal;
	font-size: 12px;
	color: var(--eg-muted);
}

.eg-liee__faits {
	margin: 4px 0 8px;
	font-size: 13px;
	color: var(--eg-ink-2);
}

/* Cinq colonnes de pied de page depuis le maillage du 5 septembre 2026. */
.eg-footer__cols {
	flex-wrap: wrap;
}

/* --- Pages de ville : introduction, intertitres, pagination, mini-sélections --- */

.eg-ville__intro {
	max-width: 74ch;
	margin: 0 0 calc(var(--eg-u) * 3);
	font-size: 16px;
	line-height: 1.6;
	color: var(--eg-ink-2);
}

.eg-ville__h2 {
	margin: calc(var(--eg-u) * 3) 0 14px;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.2;
}

.eg-ville__liste .eg-ville__h2:first-of-type {
	margin-top: 0;
}

.eg-ville__pages {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: calc(var(--eg-u) * 3);
}

.eg-ville__pages a,
.eg-ville__pages span[aria-current] {
	display: inline-grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid var(--eg-hair);
	background: var(--eg-surface);
	color: var(--eg-ink);
	text-decoration: none;
	font-family: var(--eg-display);
	font-size: 14px;
}

.eg-ville__pages span[aria-current] {
	background: var(--eg-dark);
	color: var(--eg-lamp);
	border-color: var(--eg-dark);
}

.eg-ville__pages-nb {
	margin-left: 8px;
	font-size: 13px;
	color: var(--eg-muted);
}

.eg-ville__minis {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: calc(var(--eg-u) * 2);
	padding-top: calc(var(--eg-u) * 4);
}

.eg-ville__mini {
	padding: 18px 20px;
	background: var(--eg-surface);
	border: 1px solid var(--eg-hair);
}

.eg-ville__mini .eg-ville__h2 {
	margin: 0 0 8px;
	font-size: 18px;
}

.eg-ville__mini p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--eg-ink-2);
}

.eg-ville__arr {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
}

.eg-ville__arr i {
	font-style: normal;
	color: var(--eg-muted);
	font-size: 12px;
}

@media (max-width: 700px) {
	.eg-ville__minis {
		grid-template-columns: 1fr;
	}
}


/* =========================================================================
   15. Espace pro : en-tête, page /pro/, bandeaux, tableau de bord
   (2.14.0, 6 septembre 2026)
   ====================================================================== */

/* --- Picto de connexion ------------------------------------------------- */

.eg-header__compte {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--eg-ligne, rgba(255, 255, 255, .18));
	color: inherit;
	position: relative;
	flex: 0 0 auto;
	transition: background .18s ease, color .18s ease, transform .18s ease;
}

.eg-header__compte .eg-ic {
	font-size: 18px;
}

.eg-header__compte:hover,
.eg-header__compte:focus-visible {
	background: var(--eg-accent-soft);
	color: var(--eg-accent);
	transform: translateY(-1px);
}

.eg-header__compte--in::after {
	content: "";
	position: absolute;
	top: 6px;
	right: 6px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--eg-accent, #f0c97a);
	box-shadow: 0 0 0 2px var(--eg-fond, #12161c);
}

.eg-drawer__compte {
	width: 100%;
	padding-block: 15px;
	margin-bottom: 10px;
}

@media (max-width: 1140px) {
	.eg-header__compte {
		width: 38px;
		height: 38px;
	}
}

@media (max-width: 560px) {
	.eg-header__compte {
		display: none;
	}
}

/* --- Page /pro/ : compléments ------------------------------------------- */

.eg-pro__cta {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
	margin: 1.4rem 0;
}

.eg-pro__cta .eg-btn {
	justify-content: center;
}

.eg-btn--clair {
	border-color: rgba(255, 255, 255, .35);
	color: inherit;
}

.eg-pro__intro {
	max-width: 64ch;
	margin: -.6rem 0 1.4rem;
	color: var(--eg-gris, #6b6357);
	line-height: 1.55;
}

.eg-pro__etapes {
	margin: 0 auto clamp(2.5rem, 6vw, 4rem);
}

.eg-pro__etapes > h2 {
	margin: 0 0 1.2rem;
	font-size: clamp(1.2rem, 2.8vw, 1.7rem);
}

.eg-pro__pas {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 1rem;
}

.eg-pro__pas li {
	position: relative;
	padding: 1.2rem 1.2rem 1.2rem 1.2rem;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	border-radius: 14px;
}

.eg-pro__pas b {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--eg-or, #f0c97a);
	color: #12161c;
	font-size: .95rem;
	margin-bottom: .6rem;
}

.eg-pro__pas h3 {
	margin: 0 0 .3rem;
	font-size: 1.05rem;
}

.eg-pro__pas p {
	margin: 0;
	font-size: .92rem;
	line-height: 1.5;
	color: var(--eg-gris, #6b6357);
}

.eg-pro__prix small {
	font-size: .55em;
	font-weight: 400;
	opacity: .75;
}

.eg-pro__plancher {
	margin: -.4rem 0 .6rem;
	font-size: .85rem;
	color: var(--eg-chaud, #b76e12);
}

.eg-pro__carte--phare .eg-pro__plancher {
	color: var(--eg-or, #f0c97a);
}

.eg-pro__degressif {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	margin: 0 auto clamp(2.5rem, 6vw, 4rem);
}

.eg-pro__degressif h2 {
	margin: 0 0 .8rem;
	font-size: clamp(1.2rem, 2.8vw, 1.7rem);
}

.eg-pro__degressif p {
	max-width: 60ch;
	margin: 0 0 .9rem;
	line-height: 1.6;
}

.eg-pro__tableau-wrap,
.eg-tb__tableau-wrap {
	overflow-x: auto;
}

.eg-pro__tableau,
.eg-tb__tableau {
	width: 100%;
	border-collapse: collapse;
	font-size: .95rem;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	border-radius: 14px;
	overflow: hidden;
}

.eg-pro__tableau th,
.eg-pro__tableau td,
.eg-tb__tableau th,
.eg-tb__tableau td {
	padding: .7rem .9rem;
	text-align: left;
	border-bottom: 1px solid var(--eg-ligne, #e4e0d9);
	vertical-align: middle;
}

.eg-pro__tableau th,
.eg-tb__tableau th {
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
	background: var(--eg-fond-doux, #f7f5f2);
}

.eg-pro__tableau tr:last-child td,
.eg-tb__tableau tr:last-child td {
	border-bottom: 0;
}

.eg-pro__tableau td b {
	font-size: 1.05rem;
}

.eg-pro__regles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
	margin: 0 auto clamp(2.5rem, 6vw, 4rem);
}

.eg-pro__regle {
	padding: 1.4rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-pro__regle h2 {
	margin: 0 0 .8rem;
	font-size: 1.15rem;
}

.eg-pro__regle p {
	margin: 0;
	line-height: 1.6;
}

.eg-pro__regle ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .55rem;
}

.eg-pro__regle li {
	display: flex;
	gap: .5rem;
	line-height: 1.5;
}

.eg-pro__regle li .eg-ic {
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
	margin-top: .2rem;
	color: var(--eg-chaud, #b76e12);
}

.eg-pro__regle--sombre {
	background: #12161c;
	color: #f6f4ef;
	border-color: #12161c;
}

.eg-pro__regle--sombre h2 {
	color: var(--eg-or, #f0c97a);
}

@media (max-width: 860px) {
	.eg-pro__degressif {
		grid-template-columns: 1fr;
	}
}

/* --- Les enseignes fermées (2.66.0) ------------------------------------ */

.eg-fm__hero { background: var(--eg-dark, #12161c); color: #f6f4ef; padding: 42px 0 34px; }
.eg-fm__sur { margin: 0 0 8px; font-family: var(--eg-mono, monospace); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--eg-lamp, #f0c97a); }
.eg-fm__hero h1 { margin: 0 0 14px; font-family: var(--eg-display, sans-serif); font-weight: 500; font-size: clamp(28px, 5vw, 44px); line-height: 1.1; text-transform: uppercase; }
.eg-fm__chapo { max-width: 62ch; margin: 0; color: #cfc9bd; line-height: 1.6; }

.eg-fm__ans { margin-top: 30px; }
.eg-fm__ans h2,
.eg-fm__an h2,
.eg-fm__villes h2,
.eg-fm__fin h2 { font-family: var(--eg-display, sans-serif); font-weight: 500; font-size: 21px; text-transform: uppercase; letter-spacing: .02em; margin: 30px 0 12px; }

.eg-fm__barres { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.eg-fm__barres a { display: grid; grid-template-columns: 3.5rem 1fr 3rem; align-items: center; gap: 12px; padding: 5px 0; text-decoration: none; color: inherit; }
.eg-fm__barres b { font-family: var(--eg-mono, monospace); font-size: 13px; }
.eg-fm__barres span { display: block; height: 10px; background: var(--eg-fond-doux, #f1eee8); border-radius: 999px; overflow: hidden; }
.eg-fm__barres i { display: block; height: 100%; width: var(--p, 0%); background: var(--eg-warm, #b76e12); }
.eg-fm__barres em { font-style: normal; font-family: var(--eg-mono, monospace); font-size: 13px; text-align: right; font-variant-numeric: tabular-nums; }
.eg-fm__barres a:hover i { background: var(--eg-dark, #12161c); }

.eg-fm__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--eg-ligne, #e4e0d9); border: 1px solid var(--eg-ligne, #e4e0d9); border-radius: 4px; overflow: hidden; }
.eg-fm__liste li { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) 9rem 6rem; gap: 12px; align-items: baseline; padding: 10px 14px; background: var(--eg-carte, #fff); }
.eg-fm__nom { font-weight: 600; text-decoration: none; color: inherit; overflow-wrap: break-word; }
.eg-fm__nom:hover { text-decoration: underline; }
.eg-fm__ou a { color: var(--eg-gris, #6b6357); }
.eg-fm__quand { font-family: var(--eg-mono, monospace); font-size: 12.5px; color: var(--eg-gris, #6b6357); }
.eg-fm__salles { font-size: 12.5px; color: var(--eg-gris, #6b6357); text-align: right; }
.eg-fm__note { color: var(--eg-gris, #6b6357); margin: 0 0 12px; }
.eg-fm__note--lot { max-width: 72ch; font-size: 14px; border-left: 2px solid var(--eg-warm, #b76e12); padding-left: 12px; }
.eg-fm__reserve { max-width: 62ch; margin: 14px 0 0; padding: 12px 14px; border-left: 2px solid var(--eg-lamp, #f0c97a); background: rgba(255, 255, 255, .06); color: #cfc9bd; font-size: 14px; line-height: 1.55; }
.eg-fm__legende { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 13px; color: var(--eg-gris, #6b6357); }
.eg-fm__temoin { width: 26px; height: 10px; border-radius: 999px; background: repeating-linear-gradient(135deg, var(--eg-warm, #b76e12) 0 3px, rgba(255, 255, 255, .65) 3px 6px); }
.eg-fm__lot i { background: repeating-linear-gradient(135deg, var(--eg-warm, #b76e12) 0 3px, rgba(255, 255, 255, .65) 3px 6px) left / var(--l, 0%) 100% no-repeat, var(--eg-warm, #b76e12); }
.eg-fm__lot a:hover i { background: repeating-linear-gradient(135deg, var(--eg-dark, #12161c) 0 3px, rgba(255, 255, 255, .55) 3px 6px) left / var(--l, 0%) 100% no-repeat, var(--eg-dark, #12161c); }
.eg-fm__quand--lot abbr { text-decoration: none; border-bottom: 1px dotted currentColor; cursor: help; }
.eg-fm__fin { margin-bottom: 50px; }
.eg-fm__fin p { max-width: 68ch; color: var(--eg-ink-2, #39424f); }
.eg-ville__fermees { color: var(--eg-gris, #6b6357); margin: 18px auto; }
.eg-fi__ferme-tout { white-space: nowrap; }

@media (max-width: 700px) {
	.eg-fm__liste li { grid-template-columns: 1fr auto; gap: 2px 10px; }
	.eg-fm__nom { grid-column: 1 / -1; }
	.eg-fm__salles { text-align: left; }
	.eg-fm__quand { text-align: right; }
}

/* --- La Régie sur téléphone (2.63.0) ----------------------------------- */

@media (max-width: 780px) {

	/*
	 * Le filet : la Régie ne peut plus être plus large que l'écran. Ce qui
	 * dépasse est coupé au lieu d'entraîner la page entière, et les boîtes
	 * prévues pour défiler défilent quand même à l'intérieur.
	 */
	.eg-rg,
	.eg-rg > section,
	.eg-rg .eg-tb__ens,
	.eg-rg .eg-tb__ens > *,
	.eg-rg .eg-tb__ens-tete,
	.eg-rg .eg-tb__ens-tete > *,
	.eg-rg .eg-tb__ens-corps,
	.eg-rg .eg-tb__ens-corps > *,
	.eg-rg .eg-tb__actions,
	.eg-rg .eg-tb__tableau-wrap,
	.eg-rg .eg-pro__tableau-wrap {
		max-width: 100%;
		min-width: 0;
	}

	.eg-rg {
		overflow-x: clip;
	}

	/* Les mots interminables ne poussent plus la colonne. */
	.eg-rg h2,
	.eg-rg h3,
	.eg-rg p,
	.eg-rg li,
	.eg-rg td,
	.eg-rg summary {
		overflow-wrap: break-word;
	}

	/* Un tableau défile au lieu de s'écraser. */
	.eg-tb__tableau-wrap,
	.eg-pro__tableau-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		max-width: 100%;
		/* Une ombre à droite dit qu'il y a quelque chose de plus. */
		background:
			linear-gradient(to right, var(--eg-carte, #fff) 30%, rgba(255, 255, 255, 0)),
			linear-gradient(to left, var(--eg-carte, #fff) 30%, rgba(255, 255, 255, 0)) right,
			radial-gradient(farthest-side at 0 50%, rgba(18, 22, 28, .14), transparent),
			radial-gradient(farthest-side at 100% 50%, rgba(18, 22, 28, .14), transparent) right;
		background-repeat: no-repeat;
		background-size: 32px 100%, 32px 100%, 14px 100%, 14px 100%;
		background-attachment: local, local, scroll, scroll;
	}

	.eg-tb__tableau,
	.eg-pro__tableau {
		min-width: 34rem;
		font-size: .88rem;
		border-radius: 10px;
	}

	.eg-tb__tableau th,
	.eg-tb__tableau td {
		padding: .55rem .6rem;
	}

	/* La première colonne porte le nom : elle reste visible en défilant. */
	/* Assez large pour lire un nom d enseigne sans le hacher. */
	.eg-tb__tableau th:first-child,
	.eg-tb__tableau td:first-child {
		min-width: 9rem;
	}

	.eg-tb__tableau tbody td:first-child {
		position: sticky;
		left: 0;
		z-index: 1;
		background: var(--eg-carte, #fff);
		box-shadow: 1px 0 0 var(--eg-ligne, #e4e0d9);
	}

	.eg-tb__tableau thead th:first-child {
		position: sticky;
		left: 0;
		z-index: 2;
		background: var(--eg-fond-doux, #f7f5f2);
	}

	/* Les en-têtes de section : le titre d'abord, les boutons dessous. */
	.eg-tb__ens-tete {
		flex-direction: column;
		align-items: stretch;
		gap: .7rem;
	}

	.eg-tb__ens-tete h2 {
		font-size: 1.15rem;
		line-height: 1.25;
	}

	.eg-tb__actions {
		width: 100%;
	}

	.eg-tb__actions form,
	.eg-tb__actions > .eg-btn {
		flex: 1 1 auto;
	}

	.eg-tb__actions .eg-btn {
		width: 100%;
		justify-content: center;
	}

	/* Les formulaires en ligne se replient au lieu de déborder. */
	.eg-rg__inline {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		gap: .4rem;
	}

	.eg-rg__inline input[type="number"] {
		width: 5rem;
	}

	.eg-rg__inline select,
	.eg-rg__inline input[type="text"],
	.eg-rg__inline input[type="search"] {
		flex: 1 1 8rem;
		min-width: 0;
	}

	/* Une colonne d'actions ne force plus la largeur de la ligne. */
	.eg-rg__actions {
		white-space: normal;
	}

	/* Les grilles à colonnes fixes écrites dans les sections. */
	.eg-tb__ens-corps,
	.eg-tb__kpi,
	.eg-veille__activite,
	[style*="grid-template-columns:1fr 1fr"],
	[style*="grid-template-columns:repeat(3,1fr)"],
	[style*="grid-template-columns:repeat(4,1fr)"] {
		grid-template-columns: 1fr !important;
	}

	/* Les champs et les zones de texte ne débordent plus. */
	.eg-tb__ens input[type="text"],
	.eg-tb__ens input[type="url"],
	.eg-tb__ens input[type="email"],
	.eg-tb__ens input[type="password"],
	.eg-tb__ens input[type="search"],
	.eg-tb__ens textarea,
	.eg-tb__ens select {
		max-width: 100%;
	}

	.eg-tb__ens img {
		max-width: 100%;
		height: auto;
	}

	/* Les longues adresses cassent la colonne : on ne coupe un mot que
	   lorsqu'il ne rentre pas, jamais par principe. */
	.eg-tb__tableau td a,
	.eg-tb__tableau td small {
		overflow-wrap: break-word;
	}

	/* La file « À traiter » n'est pas un tableau de données : elle s'empile. */
	.eg-rg__inbox,
	.eg-rg__inbox-wrap .eg-tb__tableau {
		min-width: 0;
	}

	.eg-tb__tableau-wrap:has(.eg-rg__inbox) {
		overflow-x: visible;
		margin-inline: 0;
		padding-inline: 0;
		background: none;
	}

	.eg-rg__inbox tbody tr {
		display: grid;
		grid-template-columns: 1fr;
		gap: 4px;
		padding: 10px 12px;
		border-bottom: 1px solid var(--eg-ligne, #e4e0d9);
	}

	.eg-rg__inbox tbody tr.eg-rg__inbox-groupe {
		display: block;
		padding: 0;
	}

	.eg-rg__inbox td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
		/* La règle générale colle la première colonne : pas ici. */
		position: static;
		box-shadow: none;
	}

	.eg-rg__inbox-chip {
		width: auto;
	}

	.eg-rg__inbox-a {
		white-space: normal;
		text-align: left;
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		margin-top: 4px;
	}

	.eg-rg__inbox-a .eg-btn,
	.eg-rg__inbox-a button {
		margin: 0;
		flex: 1 1 auto;
		min-width: 7rem;
		justify-content: center;
	}

	/* Les cartes d'automate tiennent sur une colonne, sans déborder. */
	.eg-rg__autos {
		grid-template-columns: 1fr;
	}

	.eg-rg__auto-actions .eg-btn {
		flex: 1 1 auto;
		justify-content: center;
	}

	/* La barre de sections reste telle quelle : sur un téléphone, une bande
	   qui défile se manipule mieux qu une grille de trente-cinq entrées. */
	.eg-rg__rail a[data-section] {
		border-radius: 3px;
	}
}

@media (max-width: 480px) {
	.eg-tb__tableau,
	.eg-pro__tableau {
		min-width: 30rem;
	}

	.eg-rg__inbox {
		min-width: 0;
	}
}

/* --- Bandeau sur les fiches : réclamer, gérer, rattachement ------------- */

.eg-reclamer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .8rem 1.5rem;
	margin: 1.5rem auto;
	padding: 1rem 1.3rem;
	border-radius: 14px;
	background: #12161c;
	color: #f6f4ef;
}

.eg-reclamer p {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	margin: 0;
	max-width: 62ch;
	line-height: 1.5;
}

.eg-reclamer p .eg-ic {
	flex: 0 0 auto;
	width: 1.2rem;
	height: 1.2rem;
	margin-top: .15rem;
	color: var(--eg-or, #f0c97a);
}

.eg-reclamer__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.eg-reclamer .eg-btn--ghost {
	border-color: rgba(255, 255, 255, .35);
	color: #f6f4ef;
}

.eg-reclamer--mienne {
	background: var(--eg-accent-soft, #e6f1f5);
	color: inherit;
}

.eg-reclamer--mienne p .eg-ic {
	color: var(--eg-accent, #0b6e8a);
}

.eg-reclamer--mienne .eg-btn--ghost {
	border-color: currentColor;
	color: inherit;
}

.eg-ratt {
	position: fixed;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
	z-index: 10030;
	display: flex;
	align-items: center;
	gap: .7rem;
	max-width: min(92vw, 720px);
	padding: .8rem 1.1rem;
	border-radius: 999px;
	background: #12161c;
	color: #f6f4ef;
	font-size: .92rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}

.eg-ratt .eg-ic {
	flex: 0 0 auto;
	color: var(--eg-or, #f0c97a);
}

.eg-ratt a {
	color: var(--eg-or, #f0c97a);
	white-space: nowrap;
}

/* --- Actualités d'enseigne sur les fiches ------------------------------- */

.eg-actus {
	margin: 1.5rem auto;
}

.eg-actus > h2 {
	margin: 0 0 1rem;
	font-size: clamp(1.15rem, 2.5vw, 1.5rem);
}

.eg-actus__liste {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}

.eg-actu {
	padding: 1.1rem 1.2rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-actu__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem .8rem;
	margin: 0 0 .4rem;
	font-size: .78rem;
	color: var(--eg-gris, #6b6357);
}

.eg-actu__type {
	padding: .1rem .55rem;
	border-radius: 999px;
	background: var(--eg-accent-soft, #e6f1f5);
	color: var(--eg-accent, #0b6e8a);
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: .7rem;
}

.eg-actu h3 {
	margin: 0 0 .5rem;
	font-size: 1.05rem;
}

.eg-actu__faits {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem 1rem;
	margin: 0 0 .6rem;
	font-size: .88rem;
	font-weight: 600;
}

.eg-actu__faits span {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

.eg-actu__faits .eg-ic {
	width: .95rem;
	height: .95rem;
	color: var(--eg-chaud, #b76e12);
}

.eg-actu__texte {
	font-size: .93rem;
	line-height: 1.55;
}

.eg-actu__texte p {
	margin: 0 0 .6rem;
}

.eg-actu__salle {
	font-size: .88rem;
	font-weight: 600;
}

/* 2.82.0 : fiches et villes — le lien vers la page /actus/. */
.eg-actus__tout { margin: .8rem 0 0; }
.eg-actus__tout a { font-weight: 700; color: var(--eg-accent, #0b6e8a); text-decoration: none; }
.eg-actus__tout a:hover { text-decoration: underline; }

/* --- Mon compte : tableau de bord et actualités ------------------------- */

.eg-tb {
	display: grid;
	gap: 1.4rem;
}

.eg-tb__debut h2 {
	margin: 0 0 1rem;
}

.eg-tb__choix {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}

.eg-tb__carte {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	padding: 1.3rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	color: inherit;
	text-decoration: none;
}

.eg-tb__carte:hover {
	border-color: var(--eg-accent, #0b6e8a);
}

.eg-tb__carte > b {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--eg-or, #f0c97a);
	color: #12161c;
}

.eg-tb__carte h3 {
	margin: 0;
	font-size: 1.05rem;
}

.eg-tb__carte p {
	margin: 0;
	font-size: .92rem;
	color: var(--eg-gris, #6b6357);
	line-height: 1.5;
}

.eg-tb__carte .eg-btn {
	margin-top: auto;
	align-self: flex-start;
}

.eg-tb__note {
	font-size: .92rem;
	color: var(--eg-gris, #6b6357);
}

.eg-tb__kpi {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: .8rem;
}

.eg-tb__kpi > div {
	display: grid;
	gap: .15rem;
	padding: 1rem 1.1rem;
	border-radius: 14px;
	background: #12161c;
	color: #f6f4ef;
}

.eg-tb__kpi b {
	font-size: 1.7rem;
	line-height: 1.1;
	color: var(--eg-or, #f0c97a);
}

.eg-tb__kpi span {
	font-size: .85rem;
	opacity: .85;
}

.eg-tb__kpi small {
	font-size: .78rem;
}

.eg-tb__up {
	color: #8fd19e;
}

.eg-tb__down {
	color: #f0a37a;
}

.eg-tb__ens {
	padding: 1.3rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	display: grid;
	gap: 1.1rem;
}

.eg-tb__ens-tete {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: .8rem 1.5rem;
}

.eg-tb__ens-tete h2 {
	margin: 0;
	font-size: 1.35rem;
}

.eg-tb__sur {
	margin: 0 0 .2rem;
	font-size: .75rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
}

.eg-tb__formule {
	margin: .3rem 0 0;
	font-size: .92rem;
	color: var(--eg-gris, #6b6357);
}

.eg-tb__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.eg-tb__ens-corps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}

.eg-tb__bloc {
	padding: 1rem 1.1rem;
	border-radius: 12px;
	background: var(--eg-fond-doux, #f7f5f2);
}

.eg-tb__bloc h3 {
	margin: 0 0 .5rem;
	font-size: .8rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
}

.eg-tb__faits,
.eg-tb__manque,
.eg-tb__liste {
	margin: 0;
	padding: 0 0 0 1.1rem;
	display: grid;
	gap: .35rem;
	font-size: .93rem;
	line-height: 1.45;
}

.eg-tb__faits {
	list-style: none;
	padding-left: 0;
}

.eg-tb__ok {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: #2e7d4f;
	margin: 0;
}

.eg-tb__ok .eg-ic {
	width: 1rem;
	height: 1rem;
}

.eg-tb__alerte {
	padding: .8rem 1rem;
	border-radius: 12px;
	background: #e8f5ec;
}

.eg-tb__erreurs {
	margin: 0;
	padding: .8rem 1rem .8rem 2rem;
	border-radius: 12px;
	background: #fdecea;
	color: #8a2a1d;
	display: grid;
	gap: .3rem;
}

.eg-tb__muet {
	color: var(--eg-gris, #6b6357);
}

.eg-tb__pastille {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 .4rem;
	border-radius: 999px;
	background: var(--eg-chaud, #b76e12);
	color: #fff;
	font-size: .78rem;
	font-weight: 700;
	margin-right: .4rem;
}

.eg-tb__tableau small,
.eg-tb__tableau td small {
	display: block;
	font-size: .78rem;
	color: var(--eg-gris, #6b6357);
}

.eg-tb__vide {
	margin: 0;
	font-size: .93rem;
	color: var(--eg-gris, #6b6357);
}

.eg-btn--petit {
	padding: 8px 12px;
	font-size: 11px;
}

.eg-actu-form {
	display: grid;
	gap: 1rem;
}

.eg-actu-form label {
	display: grid;
	gap: .3rem;
	font-size: .9rem;
}

.eg-actu-form label > span {
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
}

.eg-actu-form input[type="text"],
.eg-actu-form input[type="date"],
.eg-actu-form select,
.eg-actu-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: .65rem .8rem;
	border: 1px solid var(--eg-ligne, #cfc9c0);
	border-radius: 10px;
	background: var(--eg-fond-doux, #f7f5f2);
	font: inherit;
	font-size: .95rem;
}

.eg-actu-form textarea {
	min-height: 180px;
	resize: vertical;
}

.eg-actu-form__ligne {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
}

.eg-actu-form__decl {
	display: flex !important;
	grid-template-columns: none;
	align-items: flex-start;
	gap: .6rem !important;
}

.eg-actu-form__decl input {
	margin-top: .25rem;
}

.eg-actu-form__decl span {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: .9rem !important;
	color: inherit !important;
}

.eg-actu-form__regles {
	margin: 0;
	font-size: .85rem;
	color: var(--eg-gris, #6b6357);
	line-height: 1.5;
}

.eg-actu-form .eg-btn {
	justify-self: start;
}

/* Bouton principal sur fond sombre : doré, sinon il se fond dans le noir. */
.eg-pro__hero .eg-btn--primary,
.eg-pro__fin .eg-btn--primary,
.eg-pro__carte--phare .eg-btn--primary,
.eg-reclamer:not(.eg-reclamer--mienne) .eg-btn--primary {
	background: var(--eg-or, #f0c97a);
	border-color: var(--eg-or, #f0c97a);
	color: #12161c;
}

/* Aperçu d'une actualité avant publication (2.14.1). */
.eg-apercu {
	border: 2px solid var(--eg-or, #f0c97a);
	background: #fffdf7;
}

.eg-actus__liste--seule {
	grid-template-columns: minmax(0, 640px);
}

.eg-actu-form__compte {
	font-size: .8rem;
	color: var(--eg-gris, #6b6357);
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.eg-actu-form__compte--court {
	color: var(--eg-chaud, #b76e12);
}

.eg-actu-form__compte--ok {
	color: #2e7d4f;
}

/* Actualités : image, vidéo, lien (2.14.2). */
.eg-actu__media {
	margin: 0 0 .7rem;
	border-radius: 10px;
	overflow: hidden;
	background: var(--eg-fond-doux, #f7f5f2);
}

.eg-actu__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.eg-actu__video {
	position: relative;
	display: block;
	margin: .2rem 0 .7rem;
	border-radius: 10px;
	overflow: hidden;
	background: #12161c;
	aspect-ratio: 16 / 9;
	color: #f6f4ef;
	text-decoration: none;
}

.eg-actu__video img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .85;
}

.eg-actu__play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	padding: .55rem 1rem;
	border-radius: 999px;
	background: var(--eg-or, #f0c97a);
	color: #12161c;
	font-weight: 700;
	font-size: .88rem;
	white-space: nowrap;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .35);
}

.eg-actu__video:hover .eg-actu__play {
	transform: translate(-50%, -50%) scale(1.05);
}

.eg-actu iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 10px;
	margin: .2rem 0 .7rem;
}

.eg-actu__liens {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
	margin: .2rem 0 0;
	font-size: .88rem;
	font-weight: 600;
}

.eg-actu__lien {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .4rem .8rem;
	border-radius: 999px;
	background: var(--eg-accent-soft, #e6f1f5);
	color: var(--eg-accent, #0b6e8a);
	text-decoration: none;
}

.eg-actu-form__ligne--medias {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.eg-actu-form__fichier input[type="file"] {
	padding: .55rem .6rem;
	border: 1px dashed var(--eg-ligne, #cfc9c0);
	border-radius: 10px;
	background: var(--eg-fond-doux, #f7f5f2);
	font: inherit;
	font-size: .9rem;
}

.eg-actu-form__deja {
	display: flex;
	align-items: center;
	gap: .7rem;
	font-size: .85rem;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: inherit !important;
}

.eg-actu-form__deja img {
	width: 64px;
	height: 48px;
	object-fit: cover;
	border-radius: 6px;
}

.eg-actu-form label > small {
	font-size: .78rem;
	color: var(--eg-gris, #6b6357);
}

/* =========================================================================
   16. Incitations à l'abonnement (2.15.0)
   ====================================================================== */

/* Bouton « Réserver » suivi, en bas de fiche. */
.eg-resa {
	position: fixed;
	left: 50%;
	bottom: 14px;
	transform: translateX(-50%);
	z-index: 10025;
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: min(94vw, 560px);
	padding: .55rem .6rem .55rem 1.1rem;
	border-radius: 999px;
	background: #12161c;
	color: #f6f4ef;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .3);
}

.eg-resa__txt {
	display: grid;
	min-width: 0;
	line-height: 1.2;
}

.eg-resa__txt b {
	font-size: .92rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.eg-resa__txt small {
	font-size: .75rem;
	opacity: .8;
}

.eg-resa__btn {
	flex: 0 0 auto;
	background: var(--eg-or, #f0c97a);
	border-color: var(--eg-or, #f0c97a);
	color: #12161c;
	padding: 11px 18px;
}

@media (max-width: 600px) {
	.eg-resa {
		left: 10px;
		right: 10px;
		bottom: 10px;
		transform: none;
		max-width: none;
		border-radius: 16px;
	}
	body:has(.eg-resa) {
		padding-bottom: 76px;
	}
}

/* Tableau de bord : ville, essai, réservation, rapport. */
.eg-tb__ville {
	grid-column: 1 / -1;
	background: #12161c;
	color: #f6f4ef;
}

.eg-tb__ville h3 {
	color: var(--eg-or, #f0c97a);
}

.eg-tb__ville-chiffres {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: .8rem;
	margin: 0 0 .8rem;
}

.eg-tb__ville-chiffres > div {
	display: grid;
	gap: .1rem;
}

.eg-tb__ville-chiffres b {
	font-size: 1.6rem;
	line-height: 1.1;
}

.eg-tb__ville-chiffres span {
	font-size: .82rem;
	opacity: .85;
}

.eg-tb__ville p {
	margin: 0;
	font-size: .93rem;
	line-height: 1.5;
}

.eg-tb__ville a {
	color: var(--eg-or, #f0c97a);
	font-weight: 700;
	margin-left: .4rem;
}

.eg-btn--or {
	background: var(--eg-or, #f0c97a);
	border-color: var(--eg-or, #f0c97a);
	color: #12161c;
}

.eg-tb__actions form {
	display: contents;
}

.eg-tb__inline {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: .6rem .8rem;
	padding: .8rem 1rem;
	border-radius: 12px;
	background: var(--eg-fond-doux, #f7f5f2);
	font-size: .9rem;
}

.eg-tb__inline label {
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
	white-space: nowrap;
}

.eg-tb__inline input[type="url"] {
	width: 100%;
	box-sizing: border-box;
	padding: .55rem .75rem;
	border: 1px solid var(--eg-ligne, #cfc9c0);
	border-radius: 10px;
	background: #fff;
	font: inherit;
	font-size: .93rem;
}

.eg-tb__inline small {
	grid-column: 1 / -1;
	font-size: .8rem;
	color: var(--eg-gris, #6b6357);
}

@media (max-width: 640px) {
	.eg-tb__inline {
		grid-template-columns: 1fr;
	}
}

.eg-tb__rapport {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .8rem 1.5rem;
	padding: 1rem 1.2rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px dashed var(--eg-ligne, #cfc9c0);
}

.eg-tb__rapport p {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	margin: 0;
	max-width: 60ch;
	font-size: .92rem;
	line-height: 1.5;
	color: var(--eg-gris, #6b6357);
}

.eg-tb__rapport .eg-ic {
	flex: 0 0 auto;
	width: 1.1rem;
	height: 1.1rem;
	margin-top: .15rem;
	color: var(--eg-chaud, #b76e12);
}

.eg-actu__chez {
	margin: -.3rem 0 .5rem;
	font-size: .85rem;
	color: var(--eg-gris, #6b6357);
}

.eg-ville__actus {
	margin-top: 2rem;
}

.eg-tb__ville {
	order: 9;
}


/* =========================================================================
   17. Espace joueur (2.16.0)
   ====================================================================== */

.eg-profil {
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
	display: grid;
	gap: .5rem;
}

.eg-profil legend {
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
	margin-bottom: .3rem;
}

.eg-profil label {
	display: flex;
	gap: .6rem;
	align-items: flex-start;
	padding: .7rem .9rem;
	border: 1px solid var(--eg-ligne, #e4e0d9);
	border-radius: 10px;
	cursor: pointer;
}

.eg-profil label:has(input:checked) {
	border-color: #12161c;
	background: var(--eg-fond-doux, #f7f5f2);
}

.eg-profil input {
	margin-top: .25rem;
}

.eg-profil span {
	display: grid;
}

.eg-profil small {
	color: var(--eg-gris, #6b6357);
	font-size: .82rem;
}

.eg-jr {
	margin: 1.5rem auto;
	display: grid;
	gap: 1rem;
}

.eg-jr__barre {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .8rem 1.5rem;
	padding: 1rem 1.3rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-jr__note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .7rem;
}

.eg-jr__note b {
	font-size: 1.6rem;
	line-height: 1;
}

.eg-jr__note span:last-child {
	font-size: .9rem;
	color: var(--eg-gris, #6b6357);
}

.eg-etoiles i {
	font-style: normal;
	color: #d8d2c8;
	font-size: 1.05rem;
	letter-spacing: .05em;
}

.eg-etoiles i.on {
	color: var(--eg-chaud, #b76e12);
}

.eg-jr__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}

.eg-jr__inline {
	display: contents;
}

.eg-jr__pour {
	font-size: .88rem;
	color: var(--eg-gris, #6b6357);
	max-width: 42ch;
}

.eg-jr__form {
	display: grid;
	gap: .9rem;
	padding: 1.2rem 1.3rem;
	border-radius: 14px;
	background: #fffdf7;
	border: 2px solid var(--eg-or, #f0c97a);
}

.eg-jr__form h3 {
	margin: 0;
	font-size: 1.1rem;
}

.eg-jr__form label {
	display: grid;
	gap: .3rem;
	font-size: .9rem;
}

.eg-jr__form label > span,
.eg-jr__notation > span:first-child {
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
}

.eg-jr__form input[type="date"],
.eg-jr__form input[type="number"],
.eg-jr__form select,
.eg-jr__form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: .55rem .75rem;
	border: 1px solid var(--eg-ligne, #cfc9c0);
	border-radius: 10px;
	background: #fff;
	font: inherit;
	font-size: .95rem;
}

.eg-jr__ligne {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: .8rem;
	align-items: end;
}

.eg-jr__case {
	display: flex !important;
	align-items: center;
	gap: .5rem;
	padding-bottom: .5rem;
}

.eg-jr__case span {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: .9rem !important;
	color: inherit !important;
}

.eg-jr__notation {
	display: grid;
	gap: .3rem;
}

.eg-jr__etoiles {
	display: inline-flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: .1rem;
}

.eg-jr__etoiles input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.eg-jr__etoiles label {
	font-size: 1.9rem;
	line-height: 1;
	color: #d8d2c8;
	cursor: pointer;
	display: block;
}

.eg-jr__etoiles input:checked ~ label,
.eg-jr__etoiles label:hover,
.eg-jr__etoiles label:hover ~ label {
	color: var(--eg-chaud, #b76e12);
}

.eg-jr__regle {
	margin: 0;
	font-size: .82rem;
	color: var(--eg-gris, #6b6357);
}

.eg-jr__form .eg-btn {
	justify-self: start;
}

.eg-jr__avis > h2 {
	margin: .5rem 0 1rem;
	font-size: clamp(1.15rem, 2.5vw, 1.5rem);
}

.eg-jr__liste {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
}

.eg-avis {
	padding: 1.1rem 1.2rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	display: grid;
	gap: .45rem;
}

.eg-avis header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .3rem .6rem;
}

.eg-avis header small,
.eg-avis header time {
	font-size: .8rem;
	color: var(--eg-gris, #6b6357);
}

.eg-avis header time {
	margin-left: auto;
}

.eg-avis__note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
	margin: 0;
}

.eg-avis__reussi {
	font-size: .75rem;
	padding: .15rem .55rem;
	border-radius: 999px;
	background: #e8f5ec;
	color: #2e7d4f;
}

.eg-avis__reussi--non {
	background: #fdecea;
	color: #8a2a1d;
}

.eg-avis__sous {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem .9rem;
	margin: 0;
	font-size: .82rem;
	color: var(--eg-gris, #6b6357);
}

.eg-avis__texte {
	font-size: .93rem;
	line-height: 1.55;
}

.eg-avis__texte p {
	margin: 0 0 .5rem;
}

.eg-carnet__badges {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.eg-carnet__badges li {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .35rem .7rem;
	border-radius: 999px;
	border: 1px solid var(--eg-ligne, #e4e0d9);
	font-size: .8rem;
	color: var(--eg-gris, #6b6357);
	opacity: .55;
}

.eg-carnet__badges li.on {
	opacity: 1;
	background: #12161c;
	color: var(--eg-or, #f0c97a);
	border-color: #12161c;
}

.eg-carnet__badges .eg-ic {
	width: .9rem;
	height: .9rem;
}

.eg-carnet__liste {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: .5rem .9rem;
}

.eg-carnet__liste li {
	display: grid;
	padding: .6rem .8rem;
	border-radius: 10px;
	background: var(--eg-fond-doux, #f7f5f2);
}

.eg-carnet__liste a {
	font-weight: 600;
}

.eg-carnet__liste small {
	font-size: .8rem;
	color: var(--eg-gris, #6b6357);
}

.eg-carnet__prefs label {
	cursor: pointer;
}

/* Monogramme EG (2.16.2) : le signe de la marque, en-tete et pied de page. */
.eg-brand__mark--mono {
	font-family: var(--eg-display);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: -.03em;
	line-height: 1;
	border-radius: 8px;
	padding-bottom: 1px;
	box-shadow: inset 0 -3px 0 0 var(--eg-lamp);
}

.eg-brand__mark--lg.eg-brand__mark--mono {
	font-size: 21px;
	border-radius: 10px;
	background: var(--eg-ink);
	color: var(--eg-lamp);
	box-shadow: inset 0 -4px 0 0 var(--eg-lamp);
}

/* Pseudo a l inscription (2.16.3). */
.eg-pseudo input {
	width: 100%;
	box-sizing: border-box;
}


/* =========================================================================
   18. Inscription et connexion (2.16.4)
   ====================================================================== */

.eg-cx__hero {
	position: relative;
	background: #12161c;
	color: #f6f4ef;
	padding: clamp(2rem, 6vw, 4rem) 0 clamp(1.6rem, 4vw, 2.6rem);
	overflow: hidden;
}

.eg-cx__hero-in {
	position: relative;
}

.eg-cx__hero h1 {
	margin: .2rem 0 .5rem;
	font-size: clamp(1.8rem, 4.5vw, 3rem);
	line-height: 1.05;
}

.eg-cx__lede {
	margin: 0;
	max-width: 52ch;
	font-size: 1.05rem;
	color: rgba(246, 244, 239, .85);
}

.eg-cx__retour {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 1rem 0 0;
	padding: .5rem .9rem;
	border-radius: 999px;
	background: rgba(240, 201, 122, .15);
	color: var(--eg-or, #f0c97a);
	font-size: .9rem;
}

.eg-cx__retour .eg-ic {
	width: 1rem;
	height: 1rem;
}

.eg-cx__corps {
	max-width: 900px;
	margin: 0 auto;
	padding-top: 1.5rem;
	padding-bottom: clamp(2.5rem, 6vw, 4rem);
	display: grid;
	gap: 1.2rem;
}

.eg-cx__notices:empty {
	display: none;
}

.eg-cx__notices .woocommerce-error,
.eg-cx__notices .woocommerce-message,
.eg-cx__notices .woocommerce-info {
	margin: 0;
	padding: .8rem 1rem;
	border-radius: 12px;
	list-style: none;
	background: #fdecea;
	color: #8a2a1d;
	font-size: .93rem;
}

.eg-cx__notices .woocommerce-message,
.eg-cx__notices .woocommerce-info {
	background: #e8f5ec;
	color: #2e7d4f;
}

.eg-cx__onglets {
	display: flex;
	gap: .4rem;
	padding: .3rem;
	border-radius: 999px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	width: fit-content;
}

.eg-cx__onglets a {
	padding: .6rem 1.1rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: .92rem;
	color: var(--eg-gris, #6b6357);
	text-decoration: none;
}

.eg-cx__onglets a.on {
	background: #12161c;
	color: var(--eg-or, #f0c97a);
}

.eg-cx__panneau {
	display: grid;
	gap: 1.2rem;
}

.eg-cx__profils {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
}

.eg-cx__profil {
	position: relative;
	display: grid;
	gap: .5rem;
	padding: 1.3rem 1.3rem 1.2rem;
	border-radius: 16px;
	background: var(--eg-carte, #fff);
	border: 2px solid var(--eg-ligne, #e4e0d9);
	cursor: pointer;
	transition: border-color .15s ease, transform .15s ease;
}

.eg-cx__profil:hover {
	transform: translateY(-2px);
}

.eg-cx__profil.on {
	border-color: var(--eg-or, #f0c97a);
	background: #fffdf7;
}

.eg-cx__profil input {
	position: absolute;
	top: 1.2rem;
	right: 1.2rem;
	width: 20px;
	height: 20px;
	accent-color: #12161c;
}

.eg-cx__profil-ic {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: #12161c;
	color: var(--eg-or, #f0c97a);
}

.eg-cx__profil-ic .eg-ic {
	width: 1.3rem;
	height: 1.3rem;
}

.eg-cx__profil b {
	font-size: 1.15rem;
}

.eg-cx__profil ul {
	margin: 0;
	padding-left: 1.1rem;
	display: grid;
	gap: .25rem;
	font-size: .92rem;
	color: var(--eg-gris, #6b6357);
	line-height: 1.45;
}

.eg-cx__form {
	display: grid;
	gap: 1rem;
	padding: 1.4rem;
	border-radius: 16px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-cx__panneau--cx .eg-cx__form {
	max-width: 480px;
}

.eg-cx__champs {
	display: grid;
	gap: .9rem;
}

.eg-cx__champ,
.eg-cx__form .form-row,
.eg-cx__form .form-group,
.eg-cx__champ--ml .fields-wrapper,
.eg-cx__champ--ml .form-group {
	display: grid;
	gap: .3rem;
	margin: 0;
	padding: 0;
	float: none;
	width: auto;
}

.eg-cx__form label {
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
}

.eg-cx__form .required {
	color: var(--eg-chaud, #b76e12);
	text-decoration: none;
}

.eg-cx__form input[type="text"],
.eg-cx__form input[type="email"],
.eg-cx__form input[type="password"],
.eg-cx__form input[type="tel"],
.eg-cx__form input[type="url"],
.eg-cx__form select,
.eg-cx__form textarea {
	width: 100%;
	box-sizing: border-box;
	height: auto;
	padding: .7rem .85rem;
	border: 1px solid var(--eg-ligne, #cfc9c0);
	border-radius: 10px;
	background: var(--eg-fond-doux, #f7f5f2);
	font: inherit;
	font-size: 1rem;
	color: inherit;
	box-shadow: none;
}

.eg-cx__form input:focus {
	outline: 2px solid var(--eg-or, #f0c97a);
	outline-offset: 1px;
}

.eg-cx__form .eg-profil[hidden] {
	display: none;
}

.eg-cx__aide {
	margin: 0;
	font-size: .88rem;
	color: var(--eg-gris, #6b6357);
}

.eg-cx__btn {
	justify-self: start;
	padding: 14px 22px;
}

.eg-cx__case {
	display: flex !important;
	align-items: center;
	gap: .5rem;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: .92rem !important;
	color: inherit !important;
	cursor: pointer;
}

.eg-cx__oubli {
	font-size: .9rem;
	align-self: center;
}

.eg-cx__form .g-recaptcha {
	margin: .2rem 0;
}

@media (max-width: 600px) {
	.eg-cx__onglets {
		width: auto;
	}
	.eg-cx__onglets a {
		flex: 1;
		text-align: center;
		padding-inline: .6rem;
	}
	.eg-cx__form {
		padding: 1.1rem;
	}
}

/* 2.16.5 : la page tient sans JavaScript. */
.eg-cx__form-ins {
	display: grid;
	gap: 1.2rem;
}

.eg-cx__profil:has(input:checked) {
	border-color: var(--eg-or, #f0c97a);
	background: #fffdf7;
}

.eg-cx .eg-profil {
	display: none !important;
}

.eg-cx__h2 {
	margin: 1rem 0 0;
	font-size: 1.3rem;
}

.eg-cx__hero .eg-doc__grille {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* =========================================================================
   19. Blocs du thème dans la fiche, podium des joueurs (2.17.0)
   ====================================================================== */

.eg-bloc-theme {
	margin-bottom: 30px;
}

.eg-bloc-theme .eg-wrap {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	margin: 0 0 1rem;
}

.eg-bloc-theme .eg-jr {
	margin-top: 0;
}

.block-type-raw:has(.eg-sans-test),
.content-block:has(.eg-sans-test) {
	display: none !important;
}

.eg-podium {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .5rem;
}

.eg-podium li {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: .8rem;
	padding: .7rem 1rem;
	border-radius: 12px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-podium li:first-child {
	background: #12161c;
	color: #f6f4ef;
	border-color: #12161c;
}

.eg-podium__rang {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--eg-or, #f0c97a);
	color: #12161c;
	font-weight: 700;
}

.eg-podium__qui,
.eg-podium__n {
	display: grid;
	line-height: 1.2;
}

.eg-podium__qui small,
.eg-podium__n small {
	font-size: .78rem;
	opacity: .75;
}

.eg-podium__n {
	text-align: right;
}

.eg-podium__n b {
	font-size: 1.2rem;
}

.eg-podium__ok {
	font-size: .8rem;
	padding: .2rem .6rem;
	border-radius: 999px;
	background: #e8f5ec;
	color: #2e7d4f;
}

.eg-podium li:first-child .eg-podium__ok {
	background: rgba(240, 201, 122, .18);
	color: var(--eg-or, #f0c97a);
}


/* =========================================================================
   20. Pages de compte du thème (2.17.1)
   ====================================================================== */

.eg-cp__hero {
	background: #12161c;
	color: #f6f4ef;
	padding: clamp(1.4rem, 4vw, 2.4rem) 0 0;
}

.eg-cp__hero-in {
	display: grid;
	gap: 1.2rem;
}

.eg-cp__qui {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.eg-cp__qui h1 {
	margin: 0;
	font-size: clamp(1.5rem, 3.5vw, 2.2rem);
	line-height: 1.05;
}

.eg-cp__qui .eg-pro__sur {
	margin: 0 0 .2rem;
}

.eg-cp__avatar {
	display: inline-grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: var(--eg-or, #f0c97a);
	color: #12161c;
	font-family: var(--eg-display);
	font-weight: 700;
	font-size: 1.6rem;
	flex: 0 0 auto;
}

.eg-cp__nav-haut {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem;
	margin: 0 -4px;
}

.eg-cp__nav-haut a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .75rem .9rem;
	border-radius: 12px 12px 0 0;
	color: rgba(246, 244, 239, .8);
	text-decoration: none;
	font-size: .92rem;
	font-weight: 600;
}

.eg-cp__nav-haut a .eg-ic {
	width: 1rem;
	height: 1rem;
	opacity: .8;
}

.eg-cp__nav-haut a:hover {
	color: #f6f4ef;
	background: rgba(255, 255, 255, .06);
}

.eg-cp__nav-haut a.on {
	background: var(--eg-fond, #f7f5f2);
	color: #12161c;
}

.eg-cp__nav-haut a.on .eg-ic {
	opacity: 1;
	color: var(--eg-chaud, #b76e12);
}

.eg-cp__corps {
	padding-top: clamp(1.4rem, 3vw, 2.2rem);
	padding-bottom: clamp(2.5rem, 6vw, 4rem);
	display: grid;
	gap: 1.2rem;
}

.eg-cp__corps .eg-tb {
	max-width: 1080px;
}

.eg-cp__corps .eg-cx__notices:empty {
	display: none;
}

@media (max-width: 640px) {
	.eg-cp__nav-haut {
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 0;
		scrollbar-width: none;
	}
	.eg-cp__nav-haut a {
		white-space: nowrap;
		flex: 0 0 auto;
	}
}

.eg-jr__parties {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .9rem;
	color: var(--eg-gris, #6b6357);
}

.eg-jr__parties .eg-ic {
	width: 1rem;
	height: 1rem;
	color: var(--eg-chaud, #b76e12);
}

/* 2.17.3 : dans le corps d'une fiche, MyListing colore les paragraphes ;
   nos blocs sombres imposent leur texte clair. */
.eg-bloc-theme .eg-reclamer,
.eg-bloc-theme .eg-reclamer p,
.eg-bloc-theme .eg-reclamer p span,
.eg-bloc-theme .eg-reclamer p b,
.eg-bloc-theme .eg-tb__kpi,
.eg-bloc-theme .eg-tb__kpi span {
	color: #f6f4ef;
}

.eg-bloc-theme .eg-reclamer--mienne,
.eg-bloc-theme .eg-reclamer--mienne p,
.eg-bloc-theme .eg-reclamer--mienne p span {
	color: #14181e;
}

.eg-bloc-theme .eg-reclamer p b {
	font-weight: 700;
}

.eg-bloc-theme p {
	margin-bottom: 0;
}

.eg-bloc-theme .eg-jr,
.eg-bloc-theme .eg-jr p,
.eg-bloc-theme .eg-actus,
.eg-bloc-theme .eg-actu p {
	color: #14181e;
}

.eg-bloc-theme .eg-jr__note span:last-child,
.eg-bloc-theme .eg-jr__parties,
.eg-bloc-theme .eg-jr__pour,
.eg-bloc-theme .eg-jr__regle,
.eg-bloc-theme .eg-avis header small,
.eg-bloc-theme .eg-avis header time,
.eg-bloc-theme .eg-avis__sous,
.eg-bloc-theme .eg-actu__meta,
.eg-bloc-theme .eg-actu__chez {
	color: #6b6357;
}

/* =========================================================================
   21. Codes promo des enseignes, par région (2.18.0)
   ====================================================================== */

.eg-actu__code {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .15rem .6rem;
	border-radius: 999px;
	background: #12161c;
	color: var(--eg-or, #f0c97a);
	font-family: var(--eg-mono);
	letter-spacing: .06em;
}

.eg-coupons {
	margin: 1.5rem auto 2.5rem;
	display: grid;
	gap: 1.2rem;
}

.eg-coupons__n {
	margin: 0;
	font-size: .9rem;
	color: var(--eg-gris, #6b6357);
}

.eg-coupons__regions {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.eg-coupons__regions a {
	padding: .4rem .8rem;
	border-radius: 999px;
	border: 1px solid var(--eg-ligne, #e4e0d9);
	background: var(--eg-carte, #fff);
	font-size: .88rem;
	text-decoration: none;
	color: inherit;
}

.eg-coupons__regions small {
	color: var(--eg-gris, #6b6357);
}

.eg-coupons__groupe h3 {
	margin: .6rem 0 .7rem;
	font-size: 1.15rem;
}

.eg-coupons__liste {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: .9rem;
}

.eg-coupon {
	display: grid;
	gap: .35rem;
	padding: 1rem 1.1rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	border-left: 4px solid var(--eg-or, #f0c97a);
}

.eg-coupon__ens {
	margin: 0;
	font-size: .85rem;
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	align-items: baseline;
}

.eg-coupon__ens a {
	font-weight: 700;
}

.eg-coupon__ens small {
	color: var(--eg-gris, #6b6357);
}

.eg-coupon h4 {
	margin: 0;
	font-size: 1rem;
	line-height: 1.3;
}

.eg-coupon__remise {
	margin: 0;
	font-weight: 700;
	color: var(--eg-chaud, #b76e12);
}

.eg-coupon__code {
	margin: .2rem 0 0;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .35rem .8rem;
	border-radius: 10px;
	background: #12161c;
	color: #f6f4ef;
	font-size: .85rem;
	width: fit-content;
}

.eg-coupon__code b {
	font-family: var(--eg-mono);
	letter-spacing: .08em;
	color: var(--eg-or, #f0c97a);
	user-select: all;
}

.eg-coupon__fin {
	margin: 0;
	font-size: .8rem;
	color: var(--eg-gris, #6b6357);
}

/* =========================================================================
   22. Régie (2.21.0)
   ====================================================================== */

.eg-rg__onglets {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.eg-rg__onglets a {
	padding: .5rem .9rem;
	border-radius: 999px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	font-size: .88rem;
	font-weight: 600;
	text-decoration: none;
	color: inherit;
}

.eg-rg__onglets a b {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 .35rem;
	border-radius: 999px;
	background: var(--eg-chaud, #b76e12);
	color: #fff;
	font-size: .75rem;
	margin-left: .3rem;
}

.eg-rg .eg-tb__kpi > div small {
	font-size: .78rem;
	opacity: .8;
}

.eg-rg__inline {
	display: inline-flex;
	gap: .35rem;
	align-items: center;
}

.eg-rg__inline select,
.eg-rg__inline input[type="number"] {
	padding: .35rem .5rem;
	border: 1px solid var(--eg-ligne, #cfc9c0);
	border-radius: 8px;
	font: inherit;
	font-size: .85rem;
	background: #fff;
}

.eg-rg__inline input[type="number"] {
	width: 64px;
}

.eg-rg__actions {
	white-space: nowrap;
}

.eg-rg__actions form,
.eg-rg__actions a {
	margin: 0 .2rem .2rem 0;
}

.eg-rg__reglages {
	display: grid;
	gap: .6rem;
}

.eg-rg__switch {
	display: flex;
	gap: .8rem;
	align-items: flex-start;
	padding: .8rem 1rem;
	border-radius: 12px;
	background: var(--eg-fond-doux, #f7f5f2);
	cursor: pointer;
}

.eg-rg__switch input {
	margin-top: .3rem;
	width: 18px;
	height: 18px;
	accent-color: #12161c;
}

.eg-rg__switch span {
	display: grid;
	gap: .15rem;
}

.eg-rg__switch small {
	color: var(--eg-gris, #6b6357);
	font-size: .85rem;
	line-height: 1.45;
}

.eg-rg__outils {
	padding-top: .6rem;
	border-top: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-rg__peupler {
	display: grid;
	gap: .6rem;
	margin-top: 1rem;
}

/* =========================================================================
   23. Encarts d'inscription à la lettre (2.21.3)
   ====================================================================== */

.eg-nl {
	margin: calc(var(--eg-u) * 3) 0;
}

.eg-nl .egml-form {
	margin: 0;
	font-family: inherit;
}

.eg-nl .egml-form__titre {
	font-family: var(--eg-display, inherit);
	letter-spacing: .01em;
}

.eg-nl--accueil,
.eg-nl--recherche,
.eg-nl--ville,
.eg-nl--region,
.eg-nl--palmares,
.eg-nl--selection,
.eg-nl--promo {
	margin: calc(var(--eg-u) * 4) 0;
}

.eg-nl--sombre .egml-form--sombre {
	border-radius: 20px;
	padding: 34px 36px 26px;
	background: var(--eg-dark, #12161c);
	background-image: radial-gradient(circle at 100% 0, rgba(240, 201, 122, .18), transparent 46%);
}

.eg-nl--sombre .egml-form__titre {
	font-size: 1.7rem;
	line-height: 1.1;
	max-width: 22ch;
}

.eg-nl--sombre .egml-form__texte {
	max-width: 56ch;
}

.eg-nl--fiche {
	margin: 0 0 calc(var(--eg-u) * 2);
}

.eg-nl--fiche .egml-form {
	padding: 20px 20px 16px;
}

.eg-nl--fiche .egml-form__titre {
	font-size: 1.1rem;
}

.eg-nl--fiche .egml-form__champs {
	flex-direction: column;
	align-items: stretch;
}

.eg-nl--fiche .egml-form__bouton {
	width: 100%;
}

.eg-nl--recherche {
	margin-top: calc(var(--eg-u) * 3);
}

.eg-nl--article {
	max-width: 760px;
	margin: calc(var(--eg-u) * 3) auto;
}

.eg-footer__nl {
	position: relative;
	z-index: 1;
	max-width: var(--eg-max, 1180px);
	margin: 0 auto calc(var(--eg-u) * 3);
	padding: 0 var(--eg-gutter, 20px);
}

.eg-footer__nl .eg-nl {
	margin: 0;
}

.eg-footer__nl .egml-form--carte {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
	gap: 8px 32px;
	align-items: center;
	padding: 24px 28px 18px;
	color: var(--eg-ink, #12161c);
}

.eg-footer__nl .egml-form__titre {
	margin: 0;
}

.eg-footer__nl .egml-form__texte {
	margin: 0;
	grid-column: 1;
}

.eg-footer__nl .egml-form__champs,
.eg-footer__nl .egml-form__retour {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.eg-footer__nl .egml-form__mention {
	grid-column: 1 / -1;
}

@media (max-width: 767px) {
	.eg-nl--sombre .egml-form--sombre {
		padding: 26px 22px 20px;
	}

	.eg-nl--sombre .egml-form__titre {
		font-size: 1.35rem;
	}

	.eg-footer__nl .egml-form--carte {
		grid-template-columns: 1fr;
	}

	.eg-footer__nl .egml-form__champs,
	.eg-footer__nl .egml-form__retour,
	.eg-footer__nl .egml-form__texte {
		grid-column: 1;
		grid-row: auto;
	}
}

.eg-nl--sombre .egml-form__titre {
	font-size: 2rem;
	max-width: 30ch;
}

.eg-nl--fiche .egml-form__champ {
	flex: 0 0 auto;
}

/* =========================================================================
   24. Fermetures (2.22.0)
   ====================================================================== */

.eg-ferme-tag {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	padding: 4px 10px;
	border-radius: 999px;
	background: #C8452B;
	color: #fff;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.eg-card--fermee .eg-card__media,
.eg-cs--fermee .eg-cs__media {
	position: relative;
}

.eg-card--fermee img,
.eg-cs--fermee .eg-cs__media img {
	filter: grayscale(1) contrast(.9);
	opacity: .75;
}

.eg-card--fermee .eg-card__title,
.eg-cs--fermee .eg-cs__title {
	color: var(--eg-gris, #6b6357);
}

.eg-fi__ferme {
	display: grid;
	gap: 4px;
	margin: 0 0 18px;
	padding: 14px 18px;
	border-left: 5px solid #C8452B;
	border-radius: 10px;
	background: rgba(200, 69, 43, .16);
	color: #F6F4EF;
}

.eg-fi__ferme b {
	font-size: 1.05rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #FFB4A3;
}

.eg-fi__ferme span {
	font-size: .95rem;
}

.eg-fi__ferme a {
	color: #F0C97A;
	font-weight: 700;
}

.eg-fi--fermee .eg-fi__hero img {
	filter: grayscale(.8);
}

.eg-fi--fermee .eg-resa,
.eg-fi--fermee .eg-fi__promo {
	display: none !important;
}

.eg-tb__pastille--ferme {
	background: #C8452B;
	color: #fff;
}

.eg-tb__ferme {
	color: #C8452B;
	font-weight: 700;
}

.eg-rg__h3 {
	margin: 18px 0 8px;
	font-size: 1rem;
}

.eg-rg__cherche {
	margin: 10px 0;
}

.eg-rg__cherche input[type="search"] {
	padding: .45rem .7rem;
	border: 1px solid var(--eg-ligne, #cfc9c0);
	border-radius: 8px;
	font: inherit;
	min-width: 260px;
}

.eg-rg__trouves li {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}

.eg-ferme__form {
	display: inline-flex;
}

.eg-cs--fermee .eg-ferme-tag,
.eg-card--fermee .eg-ferme-tag {
	left: auto;
	right: 10px;
}

.eg-footer__nl:empty {
	display: none;
}


/* =========================================================================
   25. Visibilité IA : fraîcheur, méthode (2.23.0)
   ====================================================================== */

.eg-ia__maj {
	margin: 10px 0 0;
	font-family: var(--eg-mono, "Courier Prime", monospace);
	font-size: .78rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eg-gris, #6b6357);
}

.eg-ia__top {
	margin: 8px 0 0;
	font-size: .98rem;
	line-height: 1.5;
	max-width: 70ch;
}

.eg-pro__hero .eg-ia__maj,
.eg-pro__hero .eg-ia__top {
	color: rgba(246, 244, 239, .8);
}

.eg-methode__corps {
	display: grid;
	gap: 28px;
	padding: 36px 0 20px;
	max-width: 820px;
}

.eg-methode__bloc h2 {
	margin: 0 0 10px;
	font-size: 1.35rem;
}

.eg-methode__bloc p {
	max-width: 70ch;
	line-height: 1.6;
}

.eg-methode__testeurs {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.eg-methode__testeurs a {
	display: grid;
	padding: 8px 14px;
	border-radius: 12px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	text-decoration: none;
	color: inherit;
}

.eg-methode__testeurs small {
	color: var(--eg-gris, #6b6357);
	font-size: .78rem;
}

.eg-methode__criteres {
	margin: 12px 0 0;
	padding: 0 0 0 1.4em;
	display: grid;
	gap: 6px;
}

.eg-methode__criteres b {
	display: inline-block;
	min-width: 170px;
}

.eg-methode__criteres span {
	color: var(--eg-gris, #6b6357);
}

.eg-methode__chiffre {
	margin-top: 14px;
	padding: 12px 16px;
	border-left: 4px solid var(--eg-or, #F0C97A);
	background: var(--eg-fond-doux, #f7f5f2);
	border-radius: 0 10px 10px 0;
}

.eg-methode__regles {
	margin: 0;
	padding-left: 1.2em;
	display: grid;
	gap: 8px;
	line-height: 1.55;
}


/* =========================================================================
   26. Codes promo : sommaire et bloc gérant (2.24.0)
   ====================================================================== */

.eg-cpr__hero {
	position: relative;
	overflow: hidden;
	background: var(--eg-dark, #12161c);
	color: #F6F4EF;
	padding: calc(var(--eg-u) * 3) 0 calc(var(--eg-u) * 3.5);
}

.eg-cpr__hero-in {
	position: relative;
	z-index: 1;
}

.eg-cpr__hero .eg-doc__fil,
.eg-cpr__hero .eg-doc__fil a {
	color: rgba(246, 244, 239, .65);
}

.eg-cpr__sur {
	margin: 18px 0 8px;
	font-family: var(--eg-mono, "Courier Prime", monospace);
	font-size: .72rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--eg-or, #F0C97A);
}

.eg-cpr__h {
	margin: 0;
	font-family: var(--eg-display, Oswald, sans-serif);
	font-size: clamp(2rem, 4.6vw, 3.4rem);
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .01em;
	max-width: 18ch;
	color: #F6F4EF;
}

.eg-cpr__lede {
	margin: 16px 0 0;
	max-width: 64ch;
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(246, 244, 239, .82);
}

.eg-cpr__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
}

.eg-cpr__chips a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 13px;
	border: 1px solid rgba(246, 244, 239, .25);
	border-radius: 999px;
	color: #F6F4EF;
	font-size: .85rem;
	font-weight: 600;
	text-decoration: none;
}

.eg-cpr__chips a.on,
.eg-cpr__chips a:hover {
	background: var(--eg-or, #F0C97A);
	border-color: var(--eg-or, #F0C97A);
	color: var(--eg-dark, #12161c);
}

.eg-cpr__chips i {
	font-style: normal;
	font-size: .75rem;
	opacity: .75;
}

.eg-cpr__codes {
	padding-top: calc(var(--eg-u) * 3);
}

.eg-cpr__vide {
	padding: 30px;
	text-align: center;
	color: var(--eg-gris, #6b6357);
	border: 2px dashed var(--eg-ligne, #e4e0d9);
	border-radius: 14px;
}

.eg-cpr__groupe {
	margin: 0 0 calc(var(--eg-u) * 3);
	scroll-margin-top: 90px;
}

.eg-cpr__groupe-tete {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-cpr__groupe-tete h2 {
	margin: 0;
	font-family: var(--eg-display, Oswald, sans-serif);
	font-size: 1.45rem;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.eg-cpr__groupe-tete h2 small {
	margin-left: 8px;
	font-family: var(--eg-mono, monospace);
	font-size: .72rem;
	letter-spacing: .12em;
	color: var(--eg-gris, #6b6357);
	text-transform: uppercase;
}

.eg-cpr__lien {
	font-size: .88rem;
	font-weight: 700;
	color: var(--eg-chaud, #b76e12);
	text-decoration: none;
	white-space: nowrap;
}

.eg-cpr__grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
}

.eg-ticket-promo {
	position: relative;
	display: grid;
	grid-template-rows: 1fr auto;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	border-radius: 16px;
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
}

.eg-ticket-promo:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(18, 22, 28, .1);
}

.eg-ticket-promo--enseigne {
	border-color: rgba(240, 201, 122, .8);
}

.eg-ticket-promo__haut {
	padding: 18px 18px 14px;
}

.eg-ticket-promo__ens {
	margin: 0 0 10px;
	font-size: .82rem;
	color: var(--eg-gris, #6b6357);
}

.eg-ticket-promo__ens a {
	color: var(--eg-ink, #12161c);
	font-weight: 700;
	font-size: .95rem;
	text-decoration: none;
	border-bottom: 1px dotted var(--eg-gris, #6b6357);
}

.eg-ticket-promo__ens small {
	margin-left: 6px;
}

.eg-ticket-promo__offre {
	margin: 0;
	font-family: var(--eg-display, Oswald, sans-serif);
	font-size: 1.7rem;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--eg-chaud, #b76e12);
}

.eg-ticket-promo__titre {
	margin: 6px 0 0;
	font-size: .9rem;
	line-height: 1.4;
}

.eg-ticket-promo__bas {
	position: relative;
	padding: 14px 18px 16px;
	background: var(--eg-fond-doux, #f7f5f2);
	border-top: 2px dashed var(--eg-ligne, #e4e0d9);
}

.eg-ticket-promo__bas::before,
.eg-ticket-promo__bas::after {
	content: "";
	position: absolute;
	top: -9px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--eg-papier, #f7f5f2);
	border: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-ticket-promo__bas::before { left: -9px; }
.eg-ticket-promo__bas::after { right: -9px; }

.eg-ticket-promo__code {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 10px 14px;
	border: 1.5px dashed var(--eg-ink, #12161c);
	border-radius: 10px;
	background: #fff;
	font: inherit;
	cursor: pointer;
	text-align: left;
	color: var(--eg-ink, #12161c);
}

.eg-ticket-promo__code span,
.eg-ticket-promo__code i {
	font-family: var(--eg-mono, monospace);
	font-size: .68rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-style: normal;
	color: var(--eg-gris, #6b6357);
}

.eg-ticket-promo__code b {
	font-family: var(--eg-mono, "Courier Prime", monospace);
	font-size: 1.15rem;
	letter-spacing: .08em;
}

.eg-ticket-promo__code:hover,
.eg-ticket-promo__code.copie {
	background: var(--eg-or, #F0C97A);
	border-style: solid;
}

.eg-ticket-promo__code--sans {
	cursor: default;
	border-style: solid;
	border-color: var(--eg-ligne, #e4e0d9);
}

.eg-ticket-promo__fin {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 10px 0 0;
	font-size: .8rem;
	color: var(--eg-gris, #6b6357);
}

.eg-ticket-promo__badge {
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--eg-or, #F0C97A);
	color: var(--eg-ink, #12161c);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.eg-cpr__regions-grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}

.eg-cpr__region {
	display: grid;
	gap: 4px;
	padding: 16px 18px;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	text-decoration: none;
	color: inherit;
}

.eg-cpr__region:hover {
	border-color: var(--eg-ink, #12161c);
}

.eg-cpr__region b {
	font-size: 1rem;
}

.eg-cpr__region span {
	font-size: .82rem;
	color: var(--eg-gris, #6b6357);
}

.eg-cpr__appel-wrap {
	margin: calc(var(--eg-u) * 3) auto;
}

.eg-cpr__index .eg-sec__head {
	align-items: center;
}

.eg-cpr__filtre {
	min-width: 260px;
	padding: 10px 14px;
	border: 1px solid var(--eg-ligne, #cfc9c0);
	border-radius: 10px;
	font: inherit;
	background: var(--eg-carte, #fff);
}

.eg-cpr__lettres {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 18px;
}

.eg-cpr__lettres a {
	display: inline-grid;
	place-items: center;
	min-width: 32px;
	height: 32px;
	border-radius: 8px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
	font-family: var(--eg-mono, monospace);
	font-weight: 700;
	text-decoration: none;
	color: inherit;
}

.eg-cpr__lettres a:hover {
	background: var(--eg-ink, #12161c);
	color: var(--eg-or, #F0C97A);
}

.eg-cpr__colonnes {
	column-width: 240px;
	column-gap: 28px;
}

.eg-cpr__lettre {
	break-inside: avoid;
	margin: 0 0 18px;
	scroll-margin-top: 90px;
}

.eg-cpr__lettre h3 {
	margin: 0 0 6px;
	font-family: var(--eg-display, Oswald, sans-serif);
	font-size: 1.3rem;
	color: var(--eg-chaud, #b76e12);
}

.eg-cpr__lettre ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.eg-cpr__lettre li {
	padding: 3px 0;
	font-size: .92rem;
	border-bottom: 1px solid var(--eg-ligne, #eee);
}

.eg-cpr__lettre a {
	color: inherit;
	text-decoration: none;
}

.eg-cpr__lettre a:hover {
	color: var(--eg-chaud, #b76e12);
}

.eg-cpr__aucun {
	color: var(--eg-gris, #6b6357);
}

/* --- Tableau de bord : le bloc Code promo --- */

.eg-tb__coupon {
	margin: 0 0 1rem;
	padding: 1rem 1.2rem;
	border-radius: 14px;
	background: var(--eg-carte, #fff);
	border: 1px solid var(--eg-ligne, #e4e0d9);
}

.eg-tb__coupon-actuel {
	display: grid;
	gap: 4px;
	margin: .4rem 0 1rem;
}

.eg-tb__coupon-code {
	display: inline-block;
	width: max-content;
	padding: 6px 14px;
	border: 1.5px dashed var(--eg-ink, #12161c);
	border-radius: 10px;
	font-family: var(--eg-mono, "Courier Prime", monospace);
	font-size: 1.2rem;
	letter-spacing: .1em;
}

.eg-tb__coupon-actuel small {
	color: var(--eg-gris, #6b6357);
}

.eg-tb__coupon-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 14px;
	margin-top: .6rem;
}

.eg-tb__coupon-form label {
	display: grid;
	gap: 4px;
	font-size: .82rem;
	font-weight: 600;
}

.eg-tb__coupon-form input {
	width: 100%;
	padding: .55rem .7rem;
	border: 1px solid var(--eg-ligne, #cfc9c0);
	border-radius: 8px;
	font: inherit;
	font-weight: 400;
	background: #fff;
}

.eg-tb__coupon-large,
.eg-tb__coupon-form .eg-tb__actions {
	grid-column: 1 / -1;
}

@media (max-width: 640px) {
	.eg-tb__coupon-form {
		grid-template-columns: 1fr;
	}
}

.eg-cpr__hero .eg-doc__fil {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	font-family: var(--eg-mono, "Courier Prime", monospace);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.eg-cpr__hero .eg-doc__fil i::before {
	content: "›";
	color: var(--eg-or, #F0C97A);
}

/* =========================================================================
   27. Pied de page : couleurs explicites (2.24.1)
   Sur les pages autonomes du thème (fiche, recherche, compte), la feuille
   de MyListing n'est pas chargée et les liens du pied retombaient sur la
   couleur par défaut du navigateur, illisible sur fond sombre.
   ====================================================================== */

.eg-footer,
.eg-footer a {
	color: #C9D0D9;
}

.eg-footer__list a,
.eg-footer__legal a,
.eg-footer__social a {
	color: #C9D0D9;
	text-decoration: none;
}

.eg-footer__list a small {
	color: #7F8794;
}

.eg-footer__list a:hover,
.eg-footer__legal a:hover {
	color: var(--eg-lamp, #F0C97A);
}

.eg-footer__pitch {
	color: #A6AEBA;
}

.eg-footer__h {
	color: var(--eg-lamp, #F0C97A);
}

.eg-nl--sombre .egml-form__champ > span,
.eg-nl--sombre .egml-form__mention {
	color: rgba(246, 244, 239, .8);
}

.eg-nl--sombre .egml-form__champ input {
	color: #12161c;
}


/* 2.24.4 : contrastes du pied de page (compteurs). */
.eg-footer__list em,
.eg-footer__list a small {
	color: #8F98A6;
}

/* 2.24.7 : barre du pied (copyright, devise) : 3,9:1 → 6,8:1 sur encre. */
.eg-footer__bar p,
.eg-footer__legal,
.eg-footer__made {
	color: #A6AEBA;
}

/* 2.24.8 : les fenêtres MyListing restent cachées tant qu'elles ne sont pas ouvertes,
   même sans la feuille de MyListing. */
.modal.modal-27:not(.in):not(.show) {
	display: none;
}


/* =========================================================================
   28. Formulaire d'ajout MyListing (/add-listing/), 2.25.0
   Maquette du 6 septembre 2026 (design-explore : Parcours écran 2
   « Votre enseigne », AjoutSalle) : étapes, une carte blanche, grille à
   deux colonnes, libellés Oswald en capitales, champs 44 px sur papier,
   angles droits.
   ====================================================================== */

/**
 * Titre de niveau 1 masqué. La règle vivait dans eg-explore.css, chargée
 * seulement sur la recherche : sur les pages Elementor (« Ajouter une
 * salle », « Nos tests ») le titre s'affichait, nu, collé au bord.
 */
.eg-h1-invisible {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.eg-ajout .eg-wrap {
	max-width: calc(900px + var(--eg-u) * 6.5);
}

/* --- Étapes et en-tête -------------------------------------------------- */

#eg-main .eg-ajout__head {
	padding: calc(var(--eg-u) * 3.5) 0 calc(var(--eg-u) * 2.5);
	background: transparent;
}

.eg-ajout__pas {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.eg-ajout__pas-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--eg-display);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eg-muted);
}

.eg-ajout__pas-item b {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--eg-hair);
	color: var(--eg-ink-2);
	font-family: var(--eg-body);
	font-size: 12px;
	font-weight: 700;
}

.eg-ajout__pas-item.is-on {
	color: var(--eg-ink);
}

.eg-ajout__pas-item.is-on b {
	background: var(--eg-lamp);
	color: var(--eg-dark);
}

.eg-ajout__pas-item.is-done b {
	background: var(--eg-dark);
	color: var(--eg-lamp);
}

.eg-ajout__fil {
	margin: 0 0 18px;
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--eg-muted);
}

.eg-ajout__fil a {
	color: inherit;
	text-decoration: none;
}

.eg-ajout__fil a:hover {
	color: var(--eg-accent);
}

.eg-ajout__fil i {
	display: inline-block;
	margin: 0 8px;
	font-style: normal;
}

.eg-ajout__titre {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	flex-wrap: wrap;
}

.eg-ajout__titre .eg-kicker {
	margin-bottom: 4px;
	color: var(--eg-muted);
}

#eg-main .eg-ajout__head .eg-page-head__h {
	margin: 0;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 30px;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
	color: var(--eg-ink);
	text-wrap: balance;
}

.eg-ajout__lede {
	margin: 6px 0 0;
	max-width: 64ch;
	font-size: 15px;
	line-height: 1.5;
	color: var(--eg-ink-2);
}

.eg-ajout__aside {
	margin: 0;
	font-size: 13px;
	color: var(--eg-muted);
	white-space: nowrap;
}

.eg-ajout__aside a {
	color: var(--eg-accent);
	text-decoration: none;
}

.eg-ajout__aside a:hover {
	text-decoration: underline;
}

.eg-ajout__ratt {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 18px 0 0;
	font-size: 14px;
	color: var(--eg-ink-2);
}

.eg-ajout__ratt a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 14px;
	border: 1px solid var(--eg-hair);
	border-radius: 999px;
	background: var(--eg-surface);
	color: var(--eg-ink);
	text-decoration: none;
}

.eg-ajout__ratt a .eg-ic {
	width: 14px;
	height: 14px;
	color: var(--eg-warm);
}

.eg-ajout__ratt a:hover {
	border-color: var(--eg-dark);
	background: var(--eg-dark);
	color: var(--eg-lamp);
}

.eg-ajout__repris {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 18px 0 0;
	padding: 12px 14px;
	background: var(--eg-surface);
	border: 1px solid var(--eg-hair);
	font-size: 13px;
	color: var(--eg-ink-2);
}

.eg-ajout__repris a {
	margin-left: auto;
	color: var(--eg-accent);
	text-decoration: none;
}

.eg-ajout__pre {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	background: var(--eg-accent-soft);
	color: var(--eg-accent);
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.eg-ajout__alerte {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0 0 24px;
	padding: 14px 16px;
	border-left: 3px solid var(--eg-warm);
	background: var(--eg-warm-soft);
	color: var(--eg-ink);
}

.eg-ajout__alerte > .eg-ic {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	color: var(--eg-warm);
}

.eg-ajout__alerte p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
}

/* --- Le choix de départ ------------------------------------------------- */

.eg-ajout__choix {
	padding-block: calc(var(--eg-u) * 1) calc(var(--eg-u) * 7);
}

#eg-main .eg-ajout__choix h2 {
	margin: 0 0 14px;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eg-ink-2);
}

.eg-ajout__cartes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}

.eg-ajout__carte {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px 24px;
	border: 1px solid var(--eg-hair);
	background: var(--eg-surface);
	color: inherit;
	text-decoration: none;
	transition: border-color .18s;
}

.eg-ajout__carte:hover {
	border-color: var(--eg-accent);
}

.eg-ajout__carte--phare {
	border-color: var(--eg-lamp);
	box-shadow: inset 0 0 0 1px var(--eg-lamp);
}

.eg-ajout__ic {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--eg-lamp);
	color: var(--eg-dark);
}

.eg-ajout__ic .eg-ic {
	width: 18px;
	height: 18px;
}

#eg-main .eg-ajout__carte h3 {
	margin: 4px 0 0;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 19px;
	line-height: 1.2;
	color: var(--eg-ink);
}

.eg-ajout__carte p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--eg-muted);
}

.eg-ajout__carte small {
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eg-muted);
}

.eg-ajout__carte .eg-btn {
	margin-top: auto;
	align-self: flex-start;
	border-radius: 0;
}

.eg-ajout__note {
	margin: 18px 0 0;
	font-size: 13px;
	color: var(--eg-muted);
}

/* --- Le formulaire de MyListing, repris ---------------------------------
 * Sa feuille est imprimée dans le corps de la page, après la nôtre : les
 * sélecteurs ci-dessous sont volontairement plus lourds que les siens.
 * Son script déplace le formulaire hors de notre article, dans un
 * .add-listing-step posé à la racine de la page (constaté le 7 septembre) :
 * les règles s'accrochent donc à la classe du <body>, pas à l'article. */

.eg-ajout-page .add-listing-step {
	box-sizing: border-box;
	max-width: calc(900px + var(--eg-u) * 6.5);
	margin: 0 auto;
	padding: calc(var(--eg-u) * 1) calc(var(--eg-u) * 3.25) calc(var(--eg-u) * 8);
}

.eg-ajout__form:empty {
	display: none;
}

.eg-ajout__form {
	padding-block: calc(var(--eg-u) * 1) calc(var(--eg-u) * 8);
}

.eg-ajout-page #eg-main .elementor-element-populated,
.eg-ajout-page #eg-main .elementor-widget-container {
	padding: 0;
}

.eg-ajout-page #eg-main .i-section {
	padding: 0;
	background: transparent;
}

.eg-ajout-page #eg-main .i-section > .container {
	width: auto;
	max-width: none;
	padding: 0;
}

.eg-ajout-page #eg-main .i-section .section-title,
.eg-ajout-page #eg-main .add-listing-nav {
	display: none !important; /* « Your listing details » et le sommaire flottant : l'en-tête suffit */
}

.eg-ajout-page #eg-main #submit-job-form {
	max-width: none;
	margin: 0;
	border: 1px solid var(--eg-hair);
	background: var(--eg-surface);
}

.eg-ajout-page #eg-main #submit-job-form .form-section-wrapper {
	margin: 0;
}

.eg-ajout-page #eg-main #submit-job-form .form-section {
	width: auto;
	margin: 0 !important;
	padding: 0;
	opacity: 1;
	transform: none;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.eg-ajout-page #eg-main #submit-job-form .form-section-wrapper + .form-section-wrapper .form-section {
	border-top: 1px solid var(--eg-hair);
}

.eg-ajout-page #eg-main #submit-job-form .element .pf-head {
	padding: 18px 24px 0;
	border: 0;
}

.eg-ajout-page #eg-main .title-style-1 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.eg-ajout-page #eg-main .title-style-1 i {
	display: none;
}

.eg-ajout-page #eg-main .title-style-1 h5 {
	margin: 0;
	font-family: var(--eg-mono);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--eg-muted);
}

.eg-ajout-page #eg-main .pf-head .heading-content {
	margin-top: 8px;
	font-size: 13px;
	color: var(--eg-muted);
}

.eg-ajout-page #eg-main #submit-job-form .pf-body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	padding: 14px 24px 22px;
}

.eg-ajout-page #eg-main #submit-job-form .form-group {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-wp-editor,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-texteditor,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-textarea,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-file,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-work-hours,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-location,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-links,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-term-checklist,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-term-hierarchy,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-general-repeater,
.eg-ajout-page #eg-main #submit-job-form .form-group.field-type-recurring-date {
	grid-column: 1 / -1;
}

.eg-ajout-page #eg-main #submit-job-form .field-head {
	display: block;
}

.eg-ajout-page #eg-main #submit-job-form .field-head label {
	display: block;
	margin: 0 0 6px;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eg-ink-2);
}

.eg-ajout-page #eg-main #submit-job-form .field-head label small {
	font-family: var(--eg-body);
	font-size: 11px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--eg-muted);
}

.eg-ajout-page #eg-main #submit-job-form .field-head:has(+ .required-field) label::after {
	content: " *";
	color: var(--eg-warm);
}

.eg-ajout-page #eg-main #submit-job-form .field-head .description {
	display: block;
	margin: -2px 0 6px;
	font-size: 12px;
	color: var(--eg-muted);
}

.eg-ajout-page #eg-main #submit-job-form .field-head .field-char-counter {
	font-size: 11px;
	color: var(--eg-muted);
}

.eg-ajout-page #eg-main #submit-job-form .field > input,
.eg-ajout-page #eg-main #submit-job-form .field > textarea,
.eg-ajout-page #eg-main #submit-job-form .field input.input-text,
.eg-ajout-page #eg-main #submit-job-form .field textarea.input-text,
.eg-ajout-page #eg-main #submit-job-form .field select,
.eg-ajout-page #eg-main #submit-job-form .field .select2-container .select2-selection {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--eg-hair-2) !important;
	border-radius: 0;
	background: var(--eg-paper);
	box-shadow: none;
	font: inherit;
	font-size: 15px;
	line-height: 42px;
	color: var(--eg-ink);
}

.eg-ajout-page #eg-main #submit-job-form .field > textarea,
.eg-ajout-page #eg-main #submit-job-form .field textarea.input-text {
	height: auto;
	min-height: 110px;
	padding: 10px 12px;
	line-height: 1.45;
}

.eg-ajout-page #eg-main #submit-job-form .field > input:focus,
.eg-ajout-page #eg-main #submit-job-form .field > textarea:focus,
.eg-ajout-page #eg-main #submit-job-form .field input.input-text:focus,
.eg-ajout-page #eg-main #submit-job-form .field select:focus {
	border-color: var(--eg-accent) !important;
	outline: 2px solid var(--eg-accent-soft);
	outline-offset: 0;
	background: var(--eg-surface);
}

.eg-ajout-page #eg-main #submit-job-form .wp-editor-wrap,
.eg-ajout-page #eg-main #submit-job-form .wp-editor-container {
	border: 1px solid var(--eg-hair-2);
	background: var(--eg-paper);
	overflow: hidden;
}

.eg-ajout-page #eg-main #submit-job-form div.mce-toolbar-grp {
	border-bottom: 1px solid var(--eg-hair);
	border-radius: 0;
	background: var(--eg-surface);
}

/* Listes à choix multiples (région, thèmes) : le select2 du parent. Les
   choix retenus s'alignent en pastilles dans la case (2.25.4). */
.eg-ajout-page #eg-main #submit-job-form .field .select2-container {
	width: 100% !important;
}

.eg-ajout-page #eg-main #submit-job-form .field .select2-container .select2-selection--multiple {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	height: auto;
	padding: 5px 8px;
	line-height: normal;
}

.eg-ajout-page #eg-main #submit-job-form .field .select2-selection--multiple .select2-selection__rendered {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: normal;
}

.eg-ajout-page #eg-main #submit-job-form .field .select2-selection__choice {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 4px 10px;
	border: 1px solid var(--eg-hair-2);
	border-radius: 999px;
	background: var(--eg-surface);
	font-size: 14px;
	line-height: 1.3;
	color: var(--eg-ink);
}

.eg-ajout-page #eg-main #submit-job-form .field .select2-selection__choice__remove {
	margin: 0;
	color: var(--eg-muted);
}

.eg-ajout-page #eg-main #submit-job-form .field .select2-search--inline,
.eg-ajout-page #eg-main #submit-job-form .field .select2-search--inline .select2-search__field {
	height: 30px;
	margin: 0;
	padding: 0 4px;
	border: 0 !important;
	background: transparent;
	font: inherit;
	font-size: 14px;
	line-height: 30px;
}

/* Envoi d'images : la case en pointillés, pleine largeur comme sur la
 * maquette. Le mécanisme du parent est conservé : le champ <input type=file>,
 * invisible, recouvre toute la case et reçoit le clic (2.25.3 : nos réglages
 * de champ le réduisaient à 44 px, plus rien ne s'ouvrait). */
.eg-ajout-page #eg-main .file-upload-field {
	padding: 0;
}

.eg-ajout-page #eg-main .file-upload-field .uploaded-files-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.eg-ajout-page #eg-main .file-upload-field .upload-file {
	position: relative;
	z-index: auto;
	display: block;
	float: none;
	width: 100%;
	height: 110px;
	margin: 0;
	opacity: 1;
	overflow: hidden;
	border: 2px dashed var(--eg-hair-2);
	border-radius: 0;
	background: var(--eg-paper);
	color: var(--eg-muted);
	font-size: 0;
	transition: border-color .18s, color .18s;
}

.eg-ajout-page #eg-main .file-upload-field.multiple-uploads .upload-file {
	width: 160px;
}

.eg-ajout-page #eg-main .file-upload-field .upload-file:hover {
	border-color: var(--eg-accent);
	color: var(--eg-accent);
	background: var(--eg-paper);
}

.eg-ajout-page #eg-main .file-upload-field .upload-file i {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 22px;
	color: inherit;
	pointer-events: none;
}

.eg-ajout-page #eg-main .file-upload-field .upload-file .content {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 !important;
	opacity: 1;
}

.eg-ajout-page #eg-main .file-upload-field .upload-file .content input[type="file"],
.eg-ajout-page #eg-main #submit-job-form .field .upload-file input.review-gallery-input {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent;
	opacity: 0 !important;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
}

.eg-ajout-page #eg-main .file-upload-field small.description {
	display: block;
	margin-top: 6px;
	padding: 0;
	font-size: 12px;
	color: var(--eg-muted);
}

/* Horaires : les jours en pastilles. */
.eg-ajout-page #eg-main .c27-work-hours .nav-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
}

.eg-ajout-page #eg-main .c27-work-hours .nav-tabs li {
	margin: 0;
	float: none;
}

.eg-ajout-page #eg-main .c27-work-hours .nav-tabs li a {
	display: inline-flex;
	height: 36px;
	align-items: center;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--eg-hair);
	border-radius: 999px;
	background: var(--eg-surface);
	font-size: 14px;
	color: var(--eg-ink-2);
}

.eg-ajout-page #eg-main .c27-work-hours .nav-tabs li.active a,
.eg-ajout-page #eg-main .c27-work-hours .nav-tabs li a:hover {
	border-color: var(--eg-dark);
	background: var(--eg-dark);
	color: var(--eg-lamp);
}

.eg-ajout-page #eg-main .c27-work-hours .tab-content {
	padding: 0;
	background: transparent;
}

.eg-ajout-page #eg-main .c27-work-hours .day-hour-ranges select {
	height: 36px;
	line-height: 34px;
	font-size: 13px;
}

/* Boutons du thème parent, dans le formulaire (répéteurs, connexion). */
.eg-ajout-page #eg-main .buttons {
	font-family: var(--eg-display);
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 0;
}

.eg-ajout-page #eg-main .buttons.icon-only {
	letter-spacing: 0;
	text-transform: none;
}

.eg-ajout-page #eg-main #form-section-auth .pf-body {
	display: block;
}

.eg-ajout-page #eg-main .fieldset-login_required p {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--eg-ink-2);
}

.eg-ajout-page #eg-main .fieldset-login_required p:last-child {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.eg-ajout-page #eg-main .fieldset-login_required .buttons {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 46px;
	padding: 0 18px;
	border: 1px solid var(--eg-btn-bg);
	background: var(--eg-btn-bg);
	color: var(--eg-btn-fg);
	font-size: 12px;
}

.eg-ajout-page #eg-main .fieldset-login_required .buttons + span + .buttons {
	background: transparent;
	border-color: var(--eg-hair-2);
	color: var(--eg-ink-2);
}

/* Le pied de la carte : la mention à gauche, publier à droite. */
.eg-ajout-page #eg-main #submit-job-form #form-section-submit .form-section {
	border-top: 1px solid var(--eg-hair);
}

.eg-ajout-page #eg-main #submit-job-form #form-section-submit .pf-body {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 16px 24px;
}

.eg-ajout-page #eg-main #submit-job-form #form-section-submit .hidden {
	display: none;
}

.eg-ajout__pied {
	margin: 0;
	max-width: 46ch;
	font-size: 12px;
	line-height: 1.45;
	color: var(--eg-muted);
}

.eg-ajout-page #eg-main .listing-form-submit-btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	margin-left: auto;
}

.eg-ajout-page #eg-main .listing-form-submit-btn .buttons {
	display: inline-flex;
	flex: 0 0 auto !important;
	width: auto !important;
	align-items: center;
	gap: 8px;
	height: 46px;
	margin: 0;
	padding: 0 18px;
	font-size: 12px;
	line-height: 1;
	border: 1px solid var(--eg-hair-2);
	background: transparent;
	color: var(--eg-ink-2);
	transition: background-color .18s, color .18s, border-color .18s;
}

.eg-ajout-page #eg-main .listing-form-submit-btn .buttons:hover {
	border-color: var(--eg-ink);
	color: var(--eg-ink);
}

.eg-ajout-page #eg-main .listing-form-submit-btn .buttons.button-2,
.eg-ajout-page #eg-main .listing-form-submit-btn .skip-preview-btn {
	order: 3;
	border-color: var(--eg-btn-bg);
	background: var(--eg-btn-bg);
	color: var(--eg-btn-fg);
}

.eg-ajout-page #eg-main .listing-form-submit-btn .buttons.button-2:hover,
.eg-ajout-page #eg-main .listing-form-submit-btn .skip-preview-btn:hover {
	background: var(--eg-btn-bg-hi);
	border-color: var(--eg-btn-bg-hi);
	color: var(--eg-btn-fg);
}

.eg-ajout-page #eg-main .listing-form-submit-btn .buttons i {
	display: none;
}

/* L'étape d'aperçu est retirée (functions.php) : le second bouton de
   publication du parent ferait doublon. */
.eg-ajout-page #eg-main .listing-form-submit-btn .skip-preview-btn ~ .preview-btn {
	display: none;
}

/* Fiche envoyée. */
.eg-ajout-page #eg-main .c27-listing-submitted-notice {
	width: auto;
	max-width: none;
	padding: 0;
}

.eg-ajout-page #eg-main .c27-listing-submitted-notice .row > div {
	width: auto;
	left: auto;
	padding: 0;
}

.eg-ajout-page #eg-main .submit-l-message {
	padding: 24px;
	border: 1px solid var(--eg-hair);
	background: var(--eg-surface);
}

.eg-ajout-page #eg-main .submit-l-message h5 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 20px;
	color: var(--eg-ink);
}

.eg-ajout-page #eg-main .submit-l-message h5 i {
	color: var(--eg-accent);
}

.eg-ajout-page #eg-main .submit-l-message a {
	color: var(--eg-accent);
}

@media (max-width: 700px) {

	#eg-main .eg-ajout__head {
		padding: calc(var(--eg-u) * 2.5) 0 calc(var(--eg-u) * 2);
	}

	.eg-ajout__pas {
		gap: 8px 14px;
	}

	.eg-ajout__aside {
		white-space: normal;
	}

	.eg-ajout__form {
		overflow-x: clip;
	}

	.eg-ajout-page #eg-main #submit-job-form .pf-body {
		grid-template-columns: 1fr;
		padding: 12px 16px 18px;
	}

	.eg-ajout-page #eg-main #submit-job-form .element .pf-head {
		padding: 16px 16px 0;
	}

	.eg-ajout-page #eg-main #submit-job-form #form-section-submit .pf-body {
		padding: 14px 16px;
	}

	.eg-ajout-page #eg-main .listing-form-submit-btn,
	.eg-ajout-page #eg-main .listing-form-submit-btn .buttons {
		width: 100% !important;
		justify-content: center;
	}
}

/* Fiche enregistrée : l'écran de fin (2.25.6). */
.eg-ajout__fait {
	padding-block: calc(var(--eg-u) * 1) calc(var(--eg-u) * 8);
}

.eg-ajout__fait-carte {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 640px;
	padding: 28px;
	border: 1px solid var(--eg-lamp);
	box-shadow: inset 0 0 0 1px var(--eg-lamp);
	background: var(--eg-surface);
}

#eg-main .eg-ajout__fait-carte h2 {
	margin: 6px 0 0;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 24px;
	line-height: 1.2;
	color: var(--eg-ink);
}

.eg-ajout__fait-carte p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--eg-muted);
}

.eg-ajout__fait-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.eg-ajout__fait-actions .eg-btn {
	border-radius: 0;
}

/* Tableau de bord : rattacher une salle orpheline (2.25.10). */
.eg-tb__ratt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 10px;
}

.eg-tb__ratt select {
	height: 34px;
	padding: 0 8px;
	border: 1px solid var(--eg-hair-2);
	background: var(--eg-surface);
	font: inherit;
	font-size: 14px;
}

/* Tableau de bord 2.25.12 : tuiles du mois, tableau des salles (maquette Tableau.dc). */
.eg-tb__kpis {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 12px;
	margin: 0 0 16px;
}

.eg-tb__kpi-tuile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 20px;
	border: 1px solid var(--eg-hair);
	background: var(--eg-surface);
}

.eg-tb__kpi-tuile > span {
	font-size: 13px;
	color: var(--eg-muted);
}

.eg-tb__kpi-tuile > b {
	font-family: var(--eg-display);
	font-weight: 600;
	font-size: 34px;
	line-height: 1.05;
	letter-spacing: .01em;
	color: var(--eg-ink);
}

.eg-tb__kpi-tuile > b i {
	font-style: normal;
	font-size: .5em;
	vertical-align: super;
}

.eg-tb__kpi-tuile > small {
	font-size: 12px;
	color: var(--eg-muted);
}

.eg-tb__kpi-tuile--encre {
	border-color: var(--eg-dark);
	background: var(--eg-dark);
}

.eg-tb__kpi-tuile--encre > span,
.eg-tb__kpi-tuile--encre > small {
	color: #C9D0D9;
}

.eg-tb__kpi-tuile--encre > b {
	color: var(--eg-lamp);
}

.eg-tb__kpi-tuile--encre a {
	color: var(--eg-lamp);
	font-weight: 700;
	text-decoration: none;
}

.eg-tb__bloc--actus {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}

.eg-tb__bloc--actus h3 {
	width: 100%;
}

.eg-tb__bloc--actus p {
	margin: 0;
	flex: 1 1 260px;
}

.eg-tb__salles {
	margin-top: 8px;
	border: 1px solid var(--eg-hair);
	background: var(--eg-surface);
}

.eg-tb__salles-tete {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px 0;
}

#eg-main .eg-tb__salles-tete h3 {
	margin: 0;
	font-family: var(--eg-display);
	font-weight: 500;
	font-size: 20px;
}

.eg-tb__salles-tete h3 small {
	margin-left: 6px;
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--eg-muted);
}

.eg-tb__salles-tete > span {
	font-size: 12px;
	color: var(--eg-muted);
}

.eg-tb__tableau--salles th {
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--eg-muted);
}

.eg-tb__tableau--salles td {
	vertical-align: middle;
}

.eg-tb__salle-img {
	width: 56px;
	padding-right: 0 !important;
}

.eg-tb__salle-img img,
.eg-tb__salle-vide {
	display: block;
	width: 56px;
	height: 40px;
	object-fit: cover;
	background: var(--eg-hair);
}

.eg-tb__salle-vide {
	display: grid;
	place-items: center;
	color: var(--eg-muted);
}

.eg-tb__salle-vide .eg-ic {
	width: 16px;
	height: 16px;
}

.eg-tb__salle-nom a {
	font-weight: 700;
	color: var(--eg-ink);
	text-decoration: none;
}

.eg-tb__salle-nom a:hover {
	color: var(--eg-accent);
}

.eg-tb__salle-nom small {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	color: var(--eg-muted);
}

.eg-tb__salle-nom .eg-tb__salle-manque {
	color: var(--eg-warm);
}

.eg-tb__tableau--salles .eg-tb__num {
	font-variant-numeric: tabular-nums;
	font-size: 15px;
	white-space: nowrap;
}

.eg-tb__tableau--salles .eg-tb__num small {
	color: var(--eg-muted);
}

.eg-tb__etat {
	display: inline-block;
	padding: 3px 8px;
	font-family: var(--eg-mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.eg-tb__etat--ok {
	background: #E3F3EA;
	color: #1F6B3E;
}

.eg-tb__etat--attente {
	background: var(--eg-warm-soft);
	color: var(--eg-warm);
}

.eg-tb__etat--brouillon {
	background: var(--eg-hair);
	color: var(--eg-ink-2);
}

.eg-tb__etat--ferme {
	background: #F6E1DE;
	color: #8A2C1F;
}

.eg-tb__tableau--salles tr.is-fermee .eg-tb__salle-img {
	opacity: .5;
}

@media (max-width: 700px) {
	.eg-tb__tableau--salles th:nth-child(4),
	.eg-tb__tableau--salles td:nth-child(5),
	.eg-tb__tableau--salles th:nth-child(5),
	.eg-tb__tableau--salles td:nth-child(6) {
		display: none;
	}
}

/* Actualités : modifier, supprimer (2.25.13). */
.eg-tb__actu-actions {
	white-space: nowrap;
}

.eg-tb__actu-actions form {
	display: inline-block;
	margin-left: 6px;
}


/* 2.25.17 : garde-fou mobile. Rien ne doit élargir la page : ce qui dépasse
   à droite est rogné (clip ne crée pas de conteneur de défilement, les
   éléments collants restent collants). */
@media (max-width: 900px) {
	html,
	body {
		overflow-x: clip;
	}
}

/* 2.27.0 : le code est dans l'app. */
.eg-code-app {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 8px 12px;
	border: 1.5px dashed var(--eg-lamp, #F0C97A);
	background: var(--eg-lamp-bg, #FBF0DE);
	color: var(--eg-ink, #14181E);
	text-decoration: none;
}
.eg-code-app span {
	font-family: var(--eg-mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--eg-warm, #B76E12);
}
.eg-code-app b {
	font-family: var(--eg-display, "Oswald", sans-serif);
	font-weight: 500;
	font-size: 17px;
}
.eg-code-app i {
	font-style: normal;
	font-size: 12px;
	color: var(--eg-muted, #6B7686);
}
.eg-code-app:hover { border-style: solid; }

/* 2.28.0 : niveau du joueur (app), sur ses avis. */
.eg-niveau {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 7px;
	background: var(--eg-dark, #12161C);
	color: var(--eg-lamp, #F0C97A);
	font-family: var(--eg-mono, ui-monospace, monospace);
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
	vertical-align: middle;
}

/* 2.28.1 : niveau, points, classement, jalons dans Mon carnet ; signalement sur les fiches. */
.eg-pts__total { margin-left: 10px; font-family: var(--eg-mono, ui-monospace, monospace); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--eg-warm, #B76E12); }
.eg-pts__barre { height: 8px; margin: 10px 0 6px; background: var(--eg-hair, #E4E0D9); max-width: 420px; }
.eg-pts__barre i { display: block; height: 100%; background: var(--eg-lamp, #F0C97A); border-bottom: 2px solid var(--eg-warm, #B76E12); }
.eg-pts__places { display: flex; gap: 10px; }
.eg-pts__places div { min-width: 120px; padding: 12px 14px; background: var(--eg-dark, #12161C); color: #fff; }
.eg-pts__places b { display: block; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; font-size: 30px; line-height: 1; color: var(--eg-lamp, #F0C97A); }
.eg-pts__places sup { font-size: 14px; font-weight: 400; }
.eg-pts__places span { font-size: 12px; color: rgba(255,255,255,.7); }
.eg-pts__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; margin-top: 18px; }
.eg-pts__bloc h3, .eg-pts__h3 { margin: 0 0 8px; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 500; font-size: 17px; }
.eg-pts__h3 { margin-top: 20px; }
.eg-pts__bareme { list-style: none; margin: 0; padding: 0; }
.eg-pts__bareme li { display: flex; align-items: baseline; gap: 10px; padding: 6px 0; border-top: 1px solid var(--eg-hair, #E4E0D9); font-size: 14px; }
.eg-pts__bareme b { width: 44px; text-align: right; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; font-size: 16px; color: var(--eg-warm, #B76E12); }
.eg-pts__bareme span { flex: 1; }
.eg-pts__bareme i { font-style: normal; font-size: 12px; color: var(--eg-muted, #6B7686); }
.eg-pts__classement { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--eg-hair, #E4E0D9); }
.eg-pts__classement li { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-top: 1px solid var(--eg-hair, #E4E0D9); }
.eg-pts__classement li:first-child { border-top: 0; }
.eg-pts__classement li.moi { background: var(--eg-lamp-bg, #FBF0DE); }
.eg-pts__rang { width: 28px; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; font-size: 17px; color: var(--eg-muted, #6B7686); }
.eg-pts__classement li:nth-child(-n+3) .eg-pts__rang { color: var(--eg-warm, #B76E12); }
.eg-pts__qui { flex: 1; display: flex; flex-direction: column; }
.eg-pts__qui small { font-size: 12px; color: var(--eg-muted, #6B7686); }
.eg-pts__pts { font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; font-size: 16px; }
.eg-pts__jalons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.eg-pts__jalons li { padding: 10px 12px; background: #fff; border: 1px solid var(--eg-hair, #E4E0D9); opacity: .7; }
.eg-pts__jalons li.on { background: var(--eg-dark, #12161C); border-color: var(--eg-dark, #12161C); color: #fff; opacity: 1; }
.eg-pts__jalons li.on .eg-ic, .eg-pts__jalons li.on svg { color: var(--eg-lamp, #F0C97A); }
.eg-pts__jalons b { display: block; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 500; font-size: 15px; }
.eg-pts__jalons li.on b { color: var(--eg-lamp, #F0C97A); }
.eg-pts__jalons span { font-size: 12px; opacity: .8; }
.eg-jr__signaler { margin-top: 18px; padding: 10px 14px; border: 1px dashed var(--eg-hair-2, #CFC9C0); }
.eg-jr__signaler summary { cursor: pointer; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.eg-jr__signaler summary small { color: var(--eg-muted, #6B7686); }
.eg-jr__signaler .eg-jr__form { margin-top: 12px; }

/* 2.29.0 : le jeu des joueurs, partout. */
.eg-pts-tag { display: inline-block; margin-left: 6px; padding: 1px 6px; background: var(--eg-lamp, #F0C97A); color: var(--eg-dark, #12161C); font-family: var(--eg-mono, ui-monospace, monospace); font-style: normal; font-size: 11px; letter-spacing: .06em; vertical-align: middle; }
.eg-btn--primary .eg-pts-tag, .eg-btn--or .eg-pts-tag { background: var(--eg-dark, #12161C); color: var(--eg-lamp, #F0C97A); }
.eg-pts-gain { display: inline-block; margin-left: 8px; padding: 1px 8px; background: var(--eg-dark, #12161C); color: var(--eg-lamp, #F0C97A); font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; }
.eg-pts-total { font-size: 13px; color: var(--eg-muted, #6B7686); }
.eg-jeu { padding-top: 48px; padding-bottom: 48px; }
.eg-jeu__tete { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 22px; }
.eg-jeu__tete h2 { margin: 4px 0 8px; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 500; font-size: clamp(26px, 3.4vw, 36px); line-height: 1.08; }
.eg-jeu__lede { margin: 0; max-width: 64ch; color: var(--eg-ink-2, #39424F); }
.eg-jeu__moi { display: flex; flex-direction: column; padding: 14px 18px; background: var(--eg-dark, #12161C); color: #fff; text-decoration: none; min-width: 180px; }
.eg-jeu__moi b { font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; font-size: 32px; line-height: 1; color: var(--eg-lamp, #F0C97A); }
.eg-jeu__moi span { font-size: 12px; color: rgba(255,255,255,.75); }
.eg-jeu__grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.eg-jeu__regle { position: relative; padding: 20px 20px 18px; background: #fff; border: 1px solid var(--eg-hair, #E4E0D9); }
.eg-jeu__num { display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 10px; background: var(--eg-lamp, #F0C97A); color: var(--eg-dark, #12161C); font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; box-shadow: 0 3px 0 var(--eg-warm, #B76E12); }
.eg-jeu__regle h3 { margin: 0 0 6px; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 500; font-size: 18px; }
.eg-jeu__regle p { margin: 0; font-size: 14px; color: var(--eg-ink-2, #39424F); }
.eg-jeu__top { padding: 18px 20px; background: var(--eg-dark, #12161C); color: #fff; }
.eg-jeu__top h3 { margin: 0 0 10px; font-family: var(--eg-mono, ui-monospace, monospace); font-weight: 400; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--eg-lamp, #F0C97A); }
.eg-jeu__top ol { list-style: none; margin: 0; padding: 0; }
.eg-jeu__top li { display: grid; grid-template-columns: 22px 1fr auto; gap: 4px 10px; align-items: baseline; padding: 6px 0; border-top: 1px solid rgba(255,255,255,.12); }
.eg-jeu__top li > span { font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; color: var(--eg-lamp, #F0C97A); }
.eg-jeu__top li b { font-weight: 700; }
.eg-jeu__top li small { grid-column: 2; font-size: 11px; color: rgba(255,255,255,.6); }
.eg-jeu__top li i { font-style: normal; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; grid-row: span 2; }
.eg-jeu__vide { margin: 0; font-size: 13px; color: rgba(255,255,255,.75); }
.eg-jeu__pied { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.eg-jeu-ville { padding-top: 32px; padding-bottom: 8px; }
.eg-jeu-ville h2 small { margin-left: 10px; font-family: var(--eg-body, "Karla", sans-serif); font-size: 13px; font-weight: 400; color: var(--eg-muted, #6B7686); }
.eg-jeu-ville__liste { list-style: none; margin: 12px 0 8px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.eg-jeu-ville__liste li { display: grid; grid-template-columns: 28px 1fr auto; gap: 2px 10px; align-items: baseline; padding: 12px 14px; background: #fff; border: 1px solid var(--eg-hair, #E4E0D9); }
.eg-jeu-ville__liste li.moi { border-color: var(--eg-lamp, #F0C97A); background: var(--eg-lamp-bg, #FBF0DE); }
.eg-jeu-ville__liste li > span { font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; font-size: 20px; color: var(--eg-warm, #B76E12); grid-row: span 2; }
.eg-jeu-ville__liste li small { grid-column: 2; font-size: 12px; color: var(--eg-muted, #6B7686); }
.eg-jeu-ville__liste li i { font-style: normal; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; grid-row: span 2; }
.eg-jeu-ville__pied { margin: 0; font-size: 13px; color: var(--eg-muted, #6B7686); }
.eg-regles__moi { margin-top: 14px; }
.eg-regles__moi a { color: inherit; }
.eg-regles__moi b { font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; font-size: 26px; color: var(--eg-lamp, #F0C97A); }
.eg-regles__niveaux { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
.eg-regles__niveaux li { padding: 10px 12px; background: #fff; border: 1px solid var(--eg-hair, #E4E0D9); }
.eg-regles__niveaux li.on { background: var(--eg-dark, #12161C); border-color: var(--eg-dark, #12161C); color: #fff; }
.eg-regles__niveaux b { display: block; font-family: var(--eg-display, "Oswald", sans-serif); font-weight: 600; font-size: 20px; color: var(--eg-warm, #B76E12); }
.eg-regles__niveaux li.on b { color: var(--eg-lamp, #F0C97A); }
.eg-regles__niveaux span { display: block; font-family: var(--eg-display, "Oswald", sans-serif); font-size: 15px; }
.eg-regles__niveaux small { font-size: 11px; opacity: .75; }
.eg-regles__pied { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.eg-methode__bloc h2 small { margin-left: 10px; font-family: var(--eg-body, "Karla", sans-serif); font-size: 13px; font-weight: 400; color: var(--eg-muted, #6B7686); }
@media (max-width: 900px) { .eg-jeu__grille { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .eg-jeu__grille { grid-template-columns: 1fr; } }

/* =========================================================================
   2.29.3 : le jeu des joueurs, digne d'un jeu (accueil, /regles-du-jeu/)
   ====================================================================== */
.eg-jeu { position: relative; overflow: hidden; padding: 0; margin-top: calc(var(--eg-u) * 6); }
.eg-jeu__bande { position: absolute; left: -10%; right: -10%; top: 40px; bottom: 0; background: var(--eg-dark); transform: rotate(-1.5deg); z-index: 0; }
.eg-jeu__halo { position: absolute; right: 4%; top: 20px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(240, 201, 122, .32), transparent 65%); z-index: 0; pointer-events: none; }
.eg-jeu__in { position: relative; z-index: 1; padding: 72px 32px 48px; color: #fff; }
.eg-jeu__tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.eg-jeu__sur { margin: 0 0 8px; font-family: var(--eg-mono); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--eg-lamp); }
.eg-jeu__h { margin: 0; font-family: var(--eg-display); font-weight: 500; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.05; color: #fff; }
.eg-jeu__h em, .eg-regles__h em { font-style: normal; color: var(--eg-lamp); }
.eg-jeu__lede { margin: 12px 0 0; max-width: 62ch; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.78); }
.eg-jeu__tampon { align-self: flex-start; flex-shrink: 0; padding: 8px 14px; border: 2px solid var(--eg-lamp); color: var(--eg-lamp); font-family: var(--eg-mono); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; transform: rotate(5deg); }
.eg-jeu__grille { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .8fr); gap: 20px; align-items: start; }
.eg-jeu__regles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.eg-jeu__tuile { position: relative; padding: 18px 18px 16px; background: var(--eg-surface); color: var(--eg-ink); border: 1.5px solid var(--eg-hair); box-shadow: 0 6px 0 var(--eg-hair); }
.eg-jeu__tuile--niveaux { grid-column: 1 / -1; }
.eg-jeu__num { position: absolute; top: -14px; left: 14px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--eg-lamp); color: var(--eg-dark); font-family: var(--eg-display); font-weight: 600; font-size: 16px; box-shadow: 0 3px 0 var(--eg-warm); }
.eg-jeu__tuile h3 { margin: 6px 0 4px; font-family: var(--eg-display); font-weight: 500; font-size: 21px; }
.eg-jeu__tuile p { margin: 0; font-size: 14px; color: var(--eg-ink-2); }
.eg-jeu__pts { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.eg-jeu__pts li { display: inline-flex; align-items: baseline; gap: 6px; padding: 4px 10px; background: var(--eg-warm-soft); }
.eg-jeu__pts b { font-family: var(--eg-display); font-weight: 600; font-size: 17px; color: var(--eg-warm); }
.eg-jeu__pts span { font-size: 12px; color: var(--eg-ink-2); }
.eg-jeu__cote { display: flex; flex-direction: column; gap: 14px; }
.eg-jeu__cta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 16px 20px; background: var(--eg-lamp); color: var(--eg-dark); text-decoration: none; box-shadow: 0 5px 0 var(--eg-warm); transition: transform .15s; }
.eg-jeu__cta:hover { transform: translateY(-2px); color: var(--eg-dark); }
.eg-jeu__cta b { font-family: var(--eg-display); font-weight: 500; font-size: 20px; letter-spacing: .04em; text-transform: uppercase; }
.eg-jeu__cta small { font-family: var(--eg-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; opacity: .8; }
.eg-jeu__moi { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; padding: 16px 20px; background: var(--eg-lamp); color: var(--eg-dark); text-decoration: none; box-shadow: 0 5px 0 var(--eg-warm); }
.eg-jeu__moi-n { grid-row: span 2; font-family: var(--eg-display); font-weight: 600; font-size: 40px; line-height: 1; }
.eg-jeu__moi-l { font-size: 13px; line-height: 1.3; }
.eg-jeu__moi-a { font-family: var(--eg-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.eg-jeu__regles-lien { align-self: flex-start; color: var(--eg-lamp); font-weight: 700; font-size: 14px; }
.eg-jeu__regles-lien:hover { color: #fff; }
/* Tableau des scores */
.eg-scores { padding: 16px 18px; background: var(--eg-dark-2); border: 1.5px dashed rgba(240, 201, 122, .55); color: #fff; }
.eg-scores__titre { margin: 0 0 8px; font-family: var(--eg-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--eg-lamp); }
.eg-scores ol { list-style: none; margin: 0; padding: 0; }
.eg-scores li { display: grid; grid-template-columns: 30px 1fr auto; gap: 2px 12px; align-items: center; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.1); }
.eg-scores li:first-child { border-top: 0; }
.eg-scores li.moi { background: rgba(240, 201, 122, .1); margin: 0 -18px; padding-left: 18px; padding-right: 18px; }
.eg-scores__rang { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.25); font-family: var(--eg-display); font-weight: 600; font-size: 14px; color: rgba(255,255,255,.7); }
.eg-scores li.podium .eg-scores__rang, .eg-scores li:nth-child(-n+3) .eg-scores__rang { background: var(--eg-lamp); border-color: var(--eg-lamp); color: var(--eg-dark); box-shadow: 0 2px 0 var(--eg-warm); }
.eg-scores__qui { display: flex; flex-direction: column; min-width: 0; }
.eg-scores__qui b { font-size: 15px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eg-scores__qui small { font-size: 11px; color: rgba(255,255,255,.6); }
.eg-scores__pts { font-family: var(--eg-display); font-weight: 600; font-size: 20px; color: var(--eg-lamp); }
.eg-scores__vide { margin: 0; font-size: 13px; color: rgba(255,255,255,.75); }
.eg-scores__bareme li { grid-template-columns: 64px 1fr; }
.eg-scores__bareme .eg-scores__pts { font-size: 24px; }
.eg-scores--large { padding: 22px 24px; }
/* La piste des niveaux */
.eg-piste { list-style: none; margin: 14px 0 0; padding: 18px 0 0; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 4px; position: relative; }
.eg-piste::before { content: ""; position: absolute; left: 5%; right: 5%; top: 34px; border-top: 2px dashed var(--eg-hair-2); }
.eg-piste li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.eg-piste__case { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--eg-surface); border: 1.5px solid var(--eg-hair-2); color: var(--eg-muted); font-family: var(--eg-display); font-weight: 600; font-size: 14px; }
.eg-piste li b { font-family: var(--eg-display); font-weight: 500; font-size: 12px; line-height: 1.1; color: var(--eg-ink); }
.eg-piste li small { font-family: var(--eg-mono); font-size: 10px; letter-spacing: .04em; color: var(--eg-muted); }
.eg-piste li.fait .eg-piste__case { background: var(--eg-dark); border-color: var(--eg-dark); color: var(--eg-lamp); }
.eg-piste li.ici .eg-piste__case { background: var(--eg-lamp); border-color: var(--eg-lamp); color: var(--eg-dark); box-shadow: 0 0 0 6px rgba(240, 201, 122, .35); transform: scale(1.15); }
.eg-piste li.ici b { color: var(--eg-warm); }
/* /regles-du-jeu/ */
.eg-regles__hero { position: relative; overflow: hidden; padding: 64px 0 56px; background: var(--eg-dark); color: #fff; }
.eg-regles__hero-in { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.eg-regles__h { margin: 0; font-family: var(--eg-display); font-weight: 500; font-size: clamp(34px, 4.6vw, 58px); line-height: 1.02; color: #fff; }
.eg-regles__lede { margin: 16px 0 0; max-width: 62ch; font-size: 16px; line-height: 1.55; color: rgba(255,255,255,.78); }
.eg-regles__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 22px 0 0; }
.eg-regles__tampon { font-size: 13px; padding: 10px 18px; margin-top: 10px; }
.eg-regles__titre { margin-bottom: 8px; }
.eg-regles__titre h2 { margin: 4px 0 6px; font-family: var(--eg-display); font-weight: 500; font-size: clamp(24px, 3vw, 34px); line-height: 1.1; }
.eg-regles__titre p { margin: 0; color: var(--eg-ink-2); }
.eg-regles__parcours { padding: 44px 0 40px; }
.eg-regles__parcours .eg-piste { margin-top: 22px; }
.eg-regles__parcours .eg-piste__case { width: 46px; height: 46px; font-size: 18px; }
.eg-regles__parcours .eg-piste::before { top: 41px; }
.eg-regles__parcours .eg-piste li b { font-size: 14px; }
.eg-regles__cinq { padding: 44px 0; }
.eg-regles__cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-top: 18px; }
.eg-regles__carte { position: relative; padding: 26px 22px 20px 22px; background: var(--eg-surface); border: 1.5px solid var(--eg-hair); box-shadow: 0 6px 0 var(--eg-hair); }
.eg-regles__n { position: absolute; top: -16px; left: 18px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--eg-lamp); color: var(--eg-dark); font-family: var(--eg-display); font-weight: 600; font-size: 18px; box-shadow: 0 3px 0 var(--eg-warm); }
.eg-regles__carte h3 { margin: 4px 0 8px; font-family: var(--eg-display); font-weight: 500; font-size: 24px; }
.eg-regles__carte p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--eg-ink-2); }
.eg-regles__gains { list-style: none; margin: 14px 0 0; padding: 0; display: flex; gap: 8px; }
.eg-regles__gains li { padding: 6px 12px; background: var(--eg-dark); color: var(--eg-lamp); font-family: var(--eg-display); font-weight: 600; font-size: 18px; }
.eg-regles__carte--zero { border-color: var(--eg-dark); }
.eg-regles__carte--zero .eg-regles__n { background: var(--eg-dark); color: var(--eg-lamp); box-shadow: 0 3px 0 #000; }
.eg-regles__carte--zero .eg-regles__gains li { background: var(--eg-warm-soft); color: var(--eg-warm); }
.eg-regles__sombre { padding: 48px 0; background: var(--eg-dark); }
.eg-regles__duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.eg-regles__duo > div { display: flex; flex-direction: column; gap: 14px; }
.eg-regles__fin { padding: 48px 0 56px; text-align: center; }
.eg-regles__fin h2 { margin: 0 0 18px; font-family: var(--eg-display); font-weight: 500; font-size: clamp(24px, 3vw, 34px); }
.eg-regles__fin .eg-regles__actions { justify-content: center; }
@media (max-width: 1000px) { .eg-jeu__grille, .eg-regles__duo { grid-template-columns: 1fr; } .eg-piste { grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 14px; } .eg-piste::before { display: none; } }
@media (max-width: 640px) { .eg-jeu__in { padding: 56px 18px 36px; } .eg-jeu__regles { grid-template-columns: 1fr; } .eg-jeu__tete { flex-direction: column; } .eg-jeu__tampon { transform: rotate(-3deg); } .eg-regles__hero-in { flex-direction: column; } }
/* =========================================================================
   2.30.0 : la page des codes promo (.eg-kd, renommé en 2.37.1 : .eg-cx est la page de compte) (/code-promo-escape-game/ et régions)
   ====================================================================== */
.eg-kd__hero { position: relative; overflow: hidden; padding: 40px 0 36px; background: var(--eg-dark); color: #fff; }
.eg-kd__hero-in { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.eg-kd__hero .eg-doc__fil, .eg-kd__hero .eg-doc__fil a { color: rgba(255,255,255,.65); }
.eg-kd__h { margin: 0; font-family: var(--eg-display); font-weight: 500; font-size: clamp(30px, 4vw, 48px); line-height: 1.04; color: #fff; }
.eg-kd__lede { margin: 12px 0 0; max-width: 64ch; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.78); }
.eg-kd__cherche { display: flex; align-items: center; gap: 10px; max-width: 460px; margin: 18px 0 0; padding: 0 14px; height: 52px; background: var(--eg-surface); color: var(--eg-ink); }
.eg-kd__cherche .eg-ic { color: var(--eg-muted); width: 18px; height: 18px; }
.eg-kd__cherche input { flex: 1; height: 100%; border: 0; background: transparent; font: inherit; font-size: 16px; color: var(--eg-ink); outline: none; }
.eg-kd__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.eg-kd__chips a { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: rgba(255,255,255,.85); font-size: 13px; text-decoration: none; }
.eg-kd__chips a i { font-style: normal; font-size: 11px; opacity: .7; }
.eg-kd__chips a.on, .eg-kd__chips a:hover { background: var(--eg-lamp); border-color: var(--eg-lamp); color: var(--eg-dark); }
.eg-kd__chips--papier a { border-color: var(--eg-hair-2); color: var(--eg-ink); }
.eg-kd__tampon { margin-top: 30px; }
.eg-kd__codes { padding: 36px 0 8px; }
.eg-kd__groupe { margin-bottom: 34px; }
.eg-kd__groupe-tete { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.eg-kd__groupe-tete h2 { margin: 0; font-family: var(--eg-display); font-weight: 500; font-size: 26px; }
.eg-kd__groupe-tete h2 small { margin-left: 10px; font-family: var(--eg-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--eg-warm); }
.eg-kd__lien { font-weight: 700; font-size: 14px; }
.eg-kd__grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.eg-kd__ticket { box-shadow: 0 6px 0 var(--eg-hair); }
.eg-kd__ticket .eg-ticket-promo__offre { font-size: 2.1rem; }
.eg-kd__ticket .eg-ticket-promo__code b { font-size: 1.35rem; letter-spacing: .12em; }
.eg-kd__reserver { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 700; }
.eg-kd__vide, .eg-kd__aucun { padding: 24px; background: var(--eg-surface); border: 1.5px dashed var(--eg-hair-2); text-align: center; color: var(--eg-ink-2); }
/* Rester : trois tuiles. */
.eg-kd__rester { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 8px 0 40px; }
.eg-kd__tuile { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px 20px 20px; background: var(--eg-surface); border: 1.5px solid var(--eg-hair); box-shadow: 0 6px 0 var(--eg-hair); }
.eg-kd__tuile h3 { margin: 4px 0 0; font-family: var(--eg-display); font-weight: 500; font-size: 22px; line-height: 1.1; }
.eg-kd__tuile p { margin: 0; font-size: 14px; color: var(--eg-ink-2); }
.eg-kd__tuile .eg-jeu__cta { margin-top: auto; align-self: flex-start; }
.eg-kd__tuile--sombre { background: var(--eg-dark); color: #fff; border-color: var(--eg-dark); box-shadow: 0 6px 0 var(--eg-warm); }
.eg-kd__tuile--sombre h3 { color: #fff; }
.eg-kd__tuile--sombre p { color: rgba(255,255,255,.78); }
.eg-kd__tuile--sombre .eg-nl { margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.eg-kd__regles { font-size: 13px; font-weight: 700; }
.eg-kd__form { display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
.eg-kd__form input { height: 42px; padding: 0 12px; border: 1px solid var(--eg-hair-2); background: var(--eg-paper); font: inherit; font-size: 14px; color: var(--eg-ink); width: 100%; }
.eg-kd__form-l { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.eg-kd__mono { font-family: var(--eg-mono) !important; letter-spacing: .1em; text-transform: uppercase; }
.eg-kd__ok { padding: 12px; background: var(--eg-warm-soft); color: var(--eg-warm); font-weight: 700; }
.eg-kd__ko { padding: 10px 12px; background: #F7E3E2; color: #B4231F; font-size: 13px; }
/* Par ville */
.eg-kd__villes { padding: 0 0 36px; }
.eg-kd__villes-liste { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.eg-kd__ville { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1px solid var(--eg-hair-2); border-radius: 999px; background: var(--eg-surface); font: inherit; font-size: 13px; color: var(--eg-ink); cursor: pointer; }
.eg-kd__ville i { font-style: normal; font-size: 11px; color: var(--eg-muted); }
.eg-kd__ville.on, .eg-kd__ville:hover { background: var(--eg-dark); border-color: var(--eg-dark); color: var(--eg-lamp); }
.eg-kd__ville.on i, .eg-kd__ville:hover i { color: inherit; }
/* Sombre : FAQ + appel */
.eg-kd__sombre { padding: 48px 0; background: var(--eg-dark); color: #fff; }
.eg-kd__duo { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.eg-kd__h2 { margin: 4px 0 14px; font-family: var(--eg-display); font-weight: 500; font-size: clamp(24px, 3vw, 32px); line-height: 1.1; color: #fff; }
.eg-kd__faq { margin: 0; }
.eg-kd__faq dt { margin: 14px 0 4px; font-family: var(--eg-display); font-weight: 500; font-size: 18px; color: var(--eg-lamp); }
.eg-kd__faq dd { margin: 0; font-size: 14.5px; line-height: 1.55; color: rgba(255,255,255,.8); }
.eg-kd__cote { display: flex; flex-direction: column; gap: 14px; }
.eg-kd__appel { display: flex; color: #fff; text-decoration: none; flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px; background: var(--eg-dark-2); border: 1.5px dashed rgba(240, 201, 122, .55); box-shadow: none; }
.eg-kd__appel::after { display: none; }
.eg-kd__appel > span:first-child { display: flex; flex-direction: column; gap: 4px; }
.eg-kd__appel .eg-kicker { color: var(--eg-lamp); }
.eg-kd__appel b { font-size: 20px; }
.eg-kd__app { display: flex; flex-direction: column; gap: 4px; padding: 20px 24px; background: var(--eg-lamp); color: var(--eg-dark); text-decoration: none; box-shadow: 0 5px 0 var(--eg-warm); }
.eg-kd__app .eg-kicker { color: var(--eg-warm); }
.eg-kd__app b { font-family: var(--eg-display); font-weight: 500; font-size: 18px; }
.eg-kd__index { padding: 40px 0; }
.eg-kd__filtre { height: 42px; padding: 0 12px; border: 1px solid var(--eg-hair-2); background: var(--eg-surface); font: inherit; }
.eg-kd__autres { padding: 36px 0; }
@media (max-width: 1000px) { .eg-kd__rester { grid-template-columns: 1fr; } .eg-kd__duo { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .eg-kd__hero-in { flex-direction: column; } .eg-kd__tampon { margin-top: 0; } .eg-kd__ticket .eg-ticket-promo__offre { font-size: 1.7rem; } }

/* =========================================================================
   2.31.0 : /qui-sommes-nous/ (.eg-qsn)
   ====================================================================== */
.eg-qsn__hero-in { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.eg-qsn__tampon { margin-top: 14px; }
.eg-qsn__chiffres { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; max-width: 760px; margin: 0; }
.eg-qsn__chiffres > div { padding: 14px 16px; background: rgba(255, 255, 255, .06); border: 1px dashed rgba(240, 201, 122, .5); }
.eg-qsn__chiffres dt { margin: 0; font-family: var(--eg-display); font-weight: 600; font-size: 30px; line-height: 1; color: var(--eg-lamp); font-variant-numeric: tabular-nums; }
.eg-qsn__chiffres dd { margin: 6px 0 0; font-size: 12.5px; color: rgba(246, 244, 239, .78); }
.eg-qsn__tete { max-width: 720px; margin: 0 0 28px; }
.eg-qsn__tete--clair { color: #fff; }
.eg-qsn__tete--clair .eg-kicker { color: var(--eg-lamp) !important; }
.eg-qsn__tete--clair .eg-qsn__h2 { color: #fff !important; } /* 2.31.2 : le thème parent colore les h2 en encre ; la bande sombre couvre tout le titre */
.eg-qsn__histoire .eg-jeu__bande { top: -28px; bottom: -28px; }
.eg-qsn__h2 { margin: 0 0 10px; font-family: var(--eg-display); font-weight: 500; font-size: clamp(1.6rem, 3.6vw, 2.3rem); line-height: 1.08; text-wrap: balance; }
.eg-qsn__h2 em { font-style: normal; color: var(--eg-warm); }
.eg-qsn__tete--clair .eg-qsn__h2 em { color: var(--eg-lamp); }
.eg-qsn__lede { margin: 0; max-width: 62ch; color: var(--eg-ink-2); font-size: 15.5px; line-height: 1.55; }
.eg-qsn .eg-qsn__fondateurs, .eg-qsn .eg-qsn__compagnons, .eg-qsn .eg-qsn__testeurs, .eg-qsn .eg-qsn__engagements { padding-top: 56px; padding-bottom: 56px; }
.eg-qsn__sombre .eg-jeu__cta { display: inline-flex; }
.eg-qsn__duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.eg-qsn__fondateur { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 28px 26px 26px; background: var(--eg-surface); border: 1.5px solid var(--eg-hair); box-shadow: 0 6px 0 var(--eg-hair); }
.eg-qsn__fondateur h3, .eg-qsn__carte h3 { margin: 0; font-family: var(--eg-display); font-weight: 600; font-size: 24px; line-height: 1.05; }
.eg-qsn__carte h3 { font-size: 19px; }
.eg-qsn__trait { position: absolute; top: -12px; right: 18px; padding: 5px 12px; background: var(--eg-lamp); color: var(--eg-dark); font-family: var(--eg-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; box-shadow: 0 3px 0 var(--eg-warm); transform: rotate(3deg); }
.eg-qsn__role { margin: 0; font-family: var(--eg-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--eg-warm); }
.eg-qsn__lieu { margin: 0; font-family: var(--eg-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--eg-muted); }
.eg-qsn__bio { margin: 8px 0 0; color: var(--eg-ink-2); font-size: 14.5px; line-height: 1.55; }
.eg-qsn__avatar { display: grid; place-items: center; flex-shrink: 0; width: 64px; height: 64px; background-color: var(--eg-dark); background-size: cover; background-position: center; border: 2px solid var(--eg-lamp); box-shadow: 0 4px 0 var(--eg-warm); }
.eg-qsn__avatar--grand { width: 88px; height: 88px; margin-bottom: 10px; }
.eg-qsn__avatar--mono b { font-family: var(--eg-display); font-weight: 600; font-size: 28px; color: var(--eg-lamp); }
.eg-qsn__avatar--grand.eg-qsn__avatar--mono b { font-size: 40px; }
.eg-qsn__carte { display: flex; gap: 18px; align-items: flex-start; padding: 22px 20px; background: var(--eg-surface); border: 1.5px solid var(--eg-hair); box-shadow: 0 6px 0 var(--eg-hair); }
.eg-qsn__carte > div { min-width: 0; }
.eg-qsn__tests { display: inline-block; margin-top: 10px; font-family: var(--eg-mono); font-size: 12.5px; letter-spacing: .04em; color: var(--eg-warm); text-decoration: none; border-bottom: 1px solid currentColor; }
.eg-qsn__tests:hover { color: var(--eg-ink); }
.eg-qsn__histoire { position: relative; overflow: hidden; padding: 64px 24px 72px; }
.eg-qsn__histoire-in { position: relative; z-index: 1; }
.eg-qsn__etapes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.eg-qsn__etape { position: relative; padding: 26px 18px 20px; background: var(--eg-surface); border: 1.5px solid var(--eg-hair); box-shadow: 0 6px 0 rgba(0, 0, 0, .35); }
.eg-qsn__etape time { display: block; font-family: var(--eg-mono); font-size: 12px; letter-spacing: .18em; color: var(--eg-warm); }
.eg-qsn__etape h3 { margin: 4px 0 8px; font-family: var(--eg-display); font-weight: 600; font-size: 20px; line-height: 1.05; }
.eg-qsn__etape p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--eg-ink-2); }
.eg-qsn__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.eg-qsn__carte--testeur { flex-direction: column; gap: 12px; }
.eg-qsn__note { max-width: 62ch; margin: 22px 0 0; font-size: 13.5px; color: var(--eg-muted); }
.eg-qsn__trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.eg-qsn__tuile h3 { margin: 0; font-family: var(--eg-display); font-weight: 600; font-size: 20px; line-height: 1.05; }
.eg-qsn__tuile p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--eg-ink-2); }
.eg-qsn__methode { margin: 22px 0 0; }
.eg-qsn__methode a { font-family: var(--eg-mono); font-size: 13px; color: var(--eg-warm); text-decoration: none; border-bottom: 1px solid currentColor; }
.eg-qsn__sombre-p { margin: 0 0 20px; max-width: 56ch; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .82); }
.eg-qsn__contact p { margin: 0 0 16px; font-size: 14.5px; line-height: 1.55; color: rgba(255, 255, 255, .82); }
.eg-qsn__btn-clair { color: #fff; border-color: rgba(255, 255, 255, .45); }
.eg-qsn__btn-clair:hover { color: var(--eg-dark); background: var(--eg-lamp); border-color: var(--eg-lamp); }
.eg-qsn__lien-clair { display: block; margin-top: 14px; font-family: var(--eg-mono); font-size: 12.5px; color: var(--eg-lamp); text-decoration: none; }
@media (max-width: 1000px) { .eg-qsn__etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .eg-qsn__grille, .eg-qsn__trio { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .eg-qsn__hero-in { flex-direction: column; } .eg-qsn__tampon { margin-top: 0; } .eg-qsn__chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); } .eg-qsn__duo, .eg-qsn__etapes, .eg-qsn__grille, .eg-qsn__trio { grid-template-columns: 1fr; } .eg-qsn .eg-qsn__fondateurs, .eg-qsn .eg-qsn__compagnons, .eg-qsn .eg-qsn__testeurs, .eg-qsn .eg-qsn__engagements { padding-top: 40px; padding-bottom: 40px; } }

/* =========================================================================
   2.32.0 : Régie lisible (.eg-rg__barre, sections repliables, recherche)
   ====================================================================== */
.eg-rg__barre { position: sticky; top: 0; z-index: 30; display: grid; gap: .5rem; margin: 0 -4px; padding: .7rem 4px .6rem; background: rgba(247, 245, 242, .94); backdrop-filter: blur(6px); border-bottom: 1px solid var(--eg-hair); }
.eg-rg__barre .eg-rg__onglets a { padding: .38rem .7rem; font-size: .82rem; }
.eg-rg__onglet--trouver { background: var(--eg-dark) !important; color: #fff !important; border-color: var(--eg-dark) !important; }
.eg-rg__barre-bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.eg-rg__traiter { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .8rem; margin: 0; font-size: .88rem; }
.eg-rg__traiter strong { font-family: var(--eg-display); font-weight: 600; font-size: 1rem; letter-spacing: .01em; }
.eg-rg__traiter a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--eg-hair-2); }
.eg-rg__traiter a b { color: var(--eg-warm); }
.eg-rg__plis { display: flex; gap: .4rem; }
.eg-rg__pli > .eg-tb__ens-tete { position: relative; padding-right: 44px; cursor: pointer; }
.eg-rg__pli-btn { position: absolute; right: 0; top: 0; width: 34px; height: 34px; border: 1px solid var(--eg-hair); border-radius: 50%; background: var(--eg-surface); cursor: pointer; }
.eg-rg__pli-btn::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -6px 0 0 -4px; border-right: 2px solid var(--eg-ink-2); border-bottom: 2px solid var(--eg-ink-2); transform: rotate(45deg); transition: transform .15s; }
.eg-rg__pli--ferme > .eg-rg__pli-btn::before, .eg-rg__pli--ferme > .eg-tb__ens-tete .eg-rg__pli-btn::before { transform: rotate(-45deg); margin-top: -2px; }
.eg-rg__pli--ferme > :not(.eg-tb__ens-tete) { display: none !important; }
.eg-rg__pli--ferme { gap: 0; padding-top: .9rem; padding-bottom: .9rem; }
.eg-rg__pli--ferme > .eg-tb__ens-tete .eg-tb__formule, .eg-rg__pli--ferme > .eg-tb__ens-tete .eg-tb__actions, .eg-rg__pli--ferme > .eg-tb__ens-tete .eg-tb__ok { display: none; }
.eg-rg__trouver-form { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; }
.eg-rg__trouver-form input[type="search"] { flex: 1 1 260px; height: 44px; padding: 0 12px; border: 1.5px solid var(--eg-hair-2); background: var(--eg-paper); font: inherit; font-size: 15px; }
.eg-rg__trouver-form input[type="search"]:focus { outline: 2px solid var(--eg-lamp); outline-offset: 1px; }
.eg-rg__filtre-n { font-family: var(--eg-mono); font-size: 12px; color: var(--eg-muted); }
.eg-rg__resultats td { vertical-align: middle; }
.eg-rg__resultats-actions { white-space: nowrap; }
.eg-rg__resultats-actions .eg-btn { margin: 2px 2px 2px 0; }
.eg-rg__resultats code { font-family: var(--eg-mono); font-size: 13px; }
@media (max-width: 760px) { .eg-rg__barre { position: static; } .eg-rg__resultats-actions { white-space: normal; } }

/* =========================================================================
   2.33.0 — Affiches « Pose ton avis » (QR codes) : tableau de bord + page enseigne
   ====================================================================== */
.eg-tb__qr { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; margin-top: 8px; }
.eg-tb__qr-texte p { max-width: 62ch; }
.eg-tb__nouveau { display: inline-block; margin-left: 8px; padding: 4px 6px; font-family: var(--eg-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--eg-warm); background: var(--eg-warm-soft); vertical-align: middle; }
.eg-tb__qr-actions { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 0; }
.eg-tb__qr-actions small { color: var(--eg-muted); }
.eg-tb__qr-apercu { display: flex; gap: 14px; align-items: center; }
.eg-tb__qr-apercu p { margin: 0; font-size: 13.5px; max-width: 22ch; }
.eg-tb__qr-apercu p small { color: var(--eg-muted); }
.eg-tb__qr-vignette { flex: none; width: 46px; height: 46px; padding: 4px; background: var(--eg-dark); border-radius: 4px; }
.eg-tb__qr-vignette canvas { display: block; width: 100%; height: auto; border-radius: 3px; }
.eg-tb__qr-vignette--grande { width: 118px; height: auto; padding: 8px 8px 6px; text-align: center; }
.eg-tb__qr-vignette--grande i { display: block; margin-top: 6px; font-family: var(--eg-display); font-style: normal; font-weight: 600; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: var(--eg-lamp); }
.eg-tb__qr-cell { white-space: nowrap; }
.eg-tb__qr-cell > div { display: inline-block; vertical-align: middle; }
.eg-tb__qr-cell .eg-tb__qr-vignette { display: inline-block; margin-right: 10px; }
.eg-tb__qr-cell small { display: block; font-size: 11.5px; color: var(--eg-muted); }
.eg-tb__qr-lien { padding: 0; border: 0; background: none; font: inherit; font-size: 13px; color: var(--eg-accent); text-decoration: underline; cursor: pointer; }
.eg-tb__qr-lien:hover { color: var(--eg-accent-hi); }
[data-eg-qr].is-attente { opacity: .55; cursor: progress; }
@media (max-width: 760px) { .eg-tb__qr { grid-template-columns: 1fr; } .eg-tb__qr-cell { white-space: normal; } }

.eg-fi__choix-avis { margin: 0 0 32px; padding: 20px 22px; background: var(--eg-dark); color: var(--eg-paper); }
.eg-fi__choix-avis .eg-fi__h2 { color: var(--eg-paper) !important; }
.eg-fi__choix-avis .eg-fi__h2 b { color: var(--eg-lamp); }
.eg-fi__choix-avis > p { margin: 0 0 14px; color: #D8D3CA; max-width: 60ch; }
.eg-fi__choix-avis ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.eg-fi__choix-avis li a { display: flex; align-items: center; gap: 12px; padding: 8px 10px 8px 8px; background: var(--eg-dark-2); border: 1px solid var(--eg-line); color: var(--eg-paper); text-decoration: none; }
.eg-fi__choix-avis li a:hover { border-color: var(--eg-lamp); }
.eg-fi__choix-avis li img, .eg-fi__choix-vide { flex: none; width: 72px; height: 52px; object-fit: cover; background: var(--eg-line); display: grid; place-items: center; }
.eg-fi__choix-avis li b { flex: 1; font-family: var(--eg-display); font-weight: 500; font-size: 17px; line-height: 1.15; }
.eg-fi__choix-avis li .eg-btn { flex: none; }

/* 2.35.0 — textes écrits : lede de ville en paragraphes, bloc « Dans le même registre » */
.eg-ville__hero .eg-ville__lede--ecrit { color: rgba(246, 244, 239, .86); }
.eg-ville__intro--ecrit p { max-width: 74ch; margin: 0 0 .8em; font-size: 16px; line-height: 1.6; color: var(--eg-ink-2); }
.eg-ville__intro--ecrit p:last-child { margin-bottom: 0; }
.eg-fi__liens p { max-width: 64ch; font-size: 1.02rem; line-height: 1.6; }
.eg-fi__liens a { font-weight: 700; color: var(--eg-accent); text-decoration-thickness: 2px; text-underline-offset: 2px; }

/* =========================================================================
   2.36.0 — Régie : colonne de gauche, une section à la fois, accueil
   ====================================================================== */
.eg-rg { display: grid; grid-template-columns: 208px minmax(0, 1fr); column-gap: 24px; align-items: start; }
.eg-rg > * { grid-column: 2; min-width: 0; }
.eg-rg > .eg-rg__rail { grid-column: 1; grid-row: 1 / span 200; position: sticky; top: 12px; align-self: start; }
.eg-rg > section[id][hidden] { display: none; }
.eg-rg__rail { background: var(--eg-dark); color: #D8D3CA; padding: 12px 0 14px; border-radius: 4px; }
.eg-rg__rail-marque { margin: 0 16px 10px; padding-bottom: 12px; border-bottom: 1px solid var(--eg-line); font-family: var(--eg-display); font-weight: 600; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--eg-lamp); }
.eg-rg__rail-cherche { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0 12px 6px; padding: 7px 10px; border: 1px solid var(--eg-line); color: #8E97A5; font-size: 12.5px; text-decoration: none; }
.eg-rg__rail-cherche kbd { font-family: var(--eg-mono); font-size: 11px; border: 1px solid #3A4450; padding: 0 5px; border-radius: 3px; }
.eg-rg__rail-fam { margin: 10px 16px 4px; font-family: var(--eg-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: #8E97A5; }
.eg-rg__rail a[data-section] { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 16px; color: #D8D3CA; text-decoration: none; font-size: 13.5px; line-height: 1.3; }
.eg-rg__rail a[data-section]:hover { color: #fff; background: #171D26; }
.eg-rg__rail a[data-section].is-on { background: var(--eg-dark-2); color: #fff; box-shadow: inset 3px 0 0 var(--eg-lamp); }
.eg-rg__rail a[data-section] b { flex: none; font-family: var(--eg-display); font-weight: 600; font-size: 11px; background: var(--eg-lamp); color: var(--eg-dark); padding: 3px 6px; border-radius: 9px; min-width: 20px; text-align: center; }
.eg-rg__rail a[data-section] b.z { background: #2A323D; color: #8E97A5; }
.eg-rg__alerte { display: flex; gap: 10px; align-items: center; padding: 9px 12px; margin: 0 0 12px; font-size: 13.5px; border: 1px solid var(--eg-hair); }
.eg-rg__alerte i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.eg-rg__alerte--ok { background: #E3F3EA; color: #1F6B3E; border-color: transparent; }
.eg-rg__alerte--ko { background: #F6E3E3; color: #9E2B2B; border-color: transparent; }
.eg-rg__alerte a { color: inherit; font-weight: 700; }
.eg-rg__autos { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin: 0 0 16px; }
.eg-rg__auto { display: flex; flex-direction: column; gap: 6px; padding: 12px 12px 10px; background: var(--eg-surface); border: 1px solid var(--eg-hair); min-width: 0; }
.eg-rg__auto--actif { border-top: 3px solid var(--eg-lamp); }
.eg-rg__auto-nom { display: flex; justify-content: space-between; align-items: center; gap: 6px; }
.eg-rg__auto-nom b { font-family: var(--eg-display); font-weight: 600; font-size: 15px; }
.eg-rg__pill { font-family: var(--eg-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 6px; border-radius: 2px; white-space: nowrap; }
.eg-rg__pill--on { background: #E3F3EA; color: #1F6B3E; }
.eg-rg__pill--wait { background: var(--eg-paper); color: var(--eg-muted); border: 1px solid var(--eg-hair-2); }
.eg-rg__pill--off { background: #F6E3E3; color: #9E2B2B; }
.eg-rg__pill--work { background: var(--eg-dark); color: var(--eg-lamp); }
.eg-rg__auto-chiffre { font-family: var(--eg-display); font-weight: 600; font-size: 24px; line-height: 1; margin-top: 2px; }
.eg-rg__auto-chiffre small { font-family: var(--eg-body); font-weight: 400; font-size: 12px; color: var(--eg-muted); margin-left: 5px; }
.eg-rg__auto-detail { font-size: 12px; color: var(--eg-muted); line-height: 1.35; }
.eg-rg__auto-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 4px; padding-top: 4px; }
.eg-rg__auto-actions form { display: inline; }
.eg-rg__sur-note { color: var(--eg-ink-2); letter-spacing: 0; text-transform: none; font-family: var(--eg-body); font-size: 12.5px; }
.eg-rg__inbox td { vertical-align: middle; }
.eg-rg__inbox-groupe td { padding: 8px 12px; background: var(--eg-paper); font-family: var(--eg-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--eg-muted); }
.eg-rg__inbox-chip { width: 110px; }
.eg-rg__chip { display: inline-block; font-family: var(--eg-display); font-weight: 600; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 7px; border-radius: 2px; background: var(--eg-paper); color: var(--eg-ink-2); border: 1px solid var(--eg-hair-2); }
.eg-rg__chip--veille { background: var(--eg-accent-soft); color: var(--eg-accent); border-color: transparent; }
.eg-rg__chip--plume { background: var(--eg-warm-soft); color: var(--eg-warm); border-color: transparent; }
.eg-rg__chip--reseaux { background: #EDE7F6; color: #5B3FA0; border-color: transparent; }
.eg-rg__chip--retouche { background: #E8F0E9; color: #2C6B3F; border-color: transparent; }
.eg-rg__chip--securite { background: #F6E3E3; color: #9E2B2B; border-color: transparent; }
.eg-rg__inbox-t b { display: block; font-size: 14px; }
.eg-rg__inbox-t small { display: block; color: var(--eg-muted); font-size: 12.5px; }
.eg-rg__inbox-a { white-space: nowrap; text-align: right; }
.eg-rg__inbox-a form { display: inline; }
.eg-rg__inbox-a .eg-btn, .eg-rg__inbox-a button { margin: 2px 0 2px 4px; }
.eg-rg__reglages { margin-top: 12px; border-top: 1px solid var(--eg-hair); padding-top: 8px; }
.eg-rg__reglages > summary { cursor: pointer; font-weight: 700; font-size: 14px; }
.eg-rg__reglages[open] > summary { margin-bottom: 8px; }
/* Le bandeau permanent : au-dessus de toutes les sections, il n'existe que
   lorsqu'il a quelque chose à dire. */
.eg-rg__bandeau {
	grid-column: 2;
	display: grid;
	gap: 6px;
	margin: 0 0 14px;
}

.eg-rg__bandeau-l {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 14px;
	border-radius: 4px;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.35;
}

.eg-rg__bandeau-l b {
	flex: none;
	font-family: var(--eg-mono, monospace);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.eg-rg__bandeau-l em {
	flex: none;
	margin-left: auto;
	font-style: normal;
	font-family: var(--eg-display, sans-serif);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: underline;
}

.eg-rg__bandeau-l--ko {
	background: #fbeaea;
	color: #8d2a1c;
	box-shadow: inset 3px 0 0 #c8452b;
}

.eg-rg__bandeau-l--attention {
	background: #fdf4e3;
	color: #7a5410;
	box-shadow: inset 3px 0 0 #b76e12;
}

a.eg-rg__bandeau-l:hover { filter: brightness(.97); }

/* La gravité, dans les deux listes de sections. */
.eg-rg__rail a[data-gravite="3"] b,
.eg-rg__menu-corps a[data-gravite="3"] b {
	background: #c8452b;
	color: #fff;
}

.eg-rg__rail a[data-gravite="2"],
.eg-rg__menu-corps a[data-gravite="2"] {
	color: #edcd8e;
}

.eg-rg__rail a[data-gravite="2"]::before,
.eg-rg__menu-corps a[data-gravite="2"]::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #b76e12;
	margin-right: -4px;
}

.eg-rg__rail a[data-gravite="3"]::before,
.eg-rg__menu-corps a[data-gravite="3"]::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #c8452b;
	margin-right: -4px;
}

.eg-rg__menu { display: none; }

@media (max-width: 860px) {
	.eg-rg { display: block; }

	/* La bande qui défilait cède la place au menu dépliant. */
	.eg-rg > .eg-rg__rail { display: none; }

	.eg-rg__menu {
		display: block;
		margin: 0 0 12px;
		background: var(--eg-dark, #12161c);
		border-radius: 4px;
		color: #d8d3ca;
	}

	.eg-rg__menu > summary {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 14px;
		cursor: pointer;
		list-style: none;
		font-size: 15px;
	}

	.eg-rg__menu > summary::-webkit-details-marker { display: none; }

	/* Le chevron dit que ça s'ouvre, et se retourne quand c'est ouvert. */
	.eg-rg__menu > summary::after {
		content: "▾";
		margin-left: auto;
		color: var(--eg-lamp, #f0c97a);
		font-size: 15px;
		line-height: 1;
		transition: transform .15s;
	}

	.eg-rg__menu[open] > summary::after {
		transform: rotate(180deg);
	}

	.eg-rg__menu-ou {
		font-family: var(--eg-mono, monospace);
		font-size: 10.5px;
		letter-spacing: .14em;
		text-transform: uppercase;
		color: #8e97a5;
	}

	.eg-rg__menu-quoi {
		font-family: var(--eg-display, sans-serif);
		font-weight: 600;
		color: #fff;
	}

	.eg-rg__menu > summary b {
		font-family: var(--eg-mono, monospace);
		font-size: 11px;
		background: var(--eg-lamp, #f0c97a);
		color: #12161c;
		border-radius: 999px;
		padding: 1px 8px;
	}

	.eg-rg__menu-corps {
		border-top: 1px solid #2a303a;
		padding: 6px 0 10px;
		max-height: 60vh;
		overflow-y: auto;
	}

	.eg-rg__menu-fam {
		margin: 10px 14px 3px;
		font-family: var(--eg-mono, monospace);
		font-size: 10px;
		letter-spacing: .14em;
		text-transform: uppercase;
		color: #8e97a5;
	}

	.eg-rg__menu-corps a {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 9px 14px;
		color: #d8d3ca;
		text-decoration: none;
		font-size: 15px;
	}

	.eg-rg__menu-corps a.is-on {
		background: #1a1f27;
		color: var(--eg-lamp, #f0c97a);
		font-weight: 600;
		box-shadow: inset 3px 0 0 var(--eg-lamp, #f0c97a);
	}

	.eg-rg__menu-corps a b {
		margin-left: auto;
		font-family: var(--eg-mono, monospace);
		font-size: 11px;
		background: var(--eg-lamp, #f0c97a);
		color: #12161c;
		border-radius: 999px;
		padding: 1px 8px;
	}

	.eg-rg > .eg-rg__rail-inutile { position: static; display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 2px; padding: 8px; margin-bottom: 12px; }
	.eg-rg__rail-marque, .eg-rg__rail-fam, .eg-rg__rail-cherche { display: none; }
	.eg-rg__rail a[data-section] { padding: 7px 10px; white-space: nowrap; }
	.eg-rg__inbox-a { white-space: normal; text-align: left; }
}

/* 2.36.5 — fiche tenue par un gérant : une porte discrète pour un accès perdu */
.eg-reclamer--tenue { opacity: .85; }
.eg-reclamer--tenue p span { font-size: .92em; }

/* =========================================================================
   2.37.1 : parcours de revendication relu le 9 septembre 2026
   ====================================================================== */
/* Le champ e-mail vient de MyListing avec l'étiquette après le champ (libellé flottant) : on la remet devant. */
.eg-cx__champ--ml .form-group label { order: -1; }
/* « Rester connecté » : une case de 18 px, pas un champ à 100 %. */
.eg-cx__case input { width: 18px; height: 18px; margin: 0; flex: none; accent-color: #12161c; }
.eg-cx__case span { white-space: nowrap; }
/* Arrivée depuis « C'est mon enseigne » : la phrase de contexte, sur deux lignes si besoin. */
.eg-cx__retour--reprise { display: flex; align-items: flex-start; max-width: 62ch; border-radius: 14px; line-height: 1.45; }
.eg-cx__retour--reprise .eg-ic { flex: none; margin-top: .15rem; }
/* Mot de passe perdu : une carte, comme la connexion. */
.eg-cx--mdp .eg-cx__form { max-width: 480px; }
.eg-cx--mdp .eg-tb__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; }
/* La galerie PhotoSwipe de MyListing est imprimée deux fois en pied de page sans sa feuille :
   ses boutons apparaissaient en petits carrés gris sous le pied de page. */
.pswp { display: none; }
.pswp--open { display: block; }

/* 2.37.2 : un seul panneau à la fois sur la page de compte (relevé de François, 9 sept.). */
.eg-cx__panneau[hidden] { display: none; }
.eg-cx__panneau--cx .eg-cx__form { max-width: none; }
.eg-cx__panneau--cx .eg-cx__champ { max-width: 480px; }

/* =========================================================================
   2.37.3 : Mon compte > Mes demandes de gestion (.eg-rq) et le formulaire
   de réclamation MyListing (/demander-la-gestion-de-la-page/)
   ====================================================================== */
.eg-rq { display: grid; gap: 1.2rem; }
.eg-rq__bandeau { display: flex; gap: .8rem; align-items: flex-start; padding: 1rem 1.2rem; border-radius: 14px; background: #e8f5ec; color: #1f5a36; font-size: .95rem; line-height: 1.5; }
.eg-rq__bandeau .eg-ic { flex: none; width: 1.3rem; height: 1.3rem; margin-top: .1rem; }
.eg-rq__bandeau b { display: block; }
.eg-rq__liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.eg-rq__carte { display: grid; gap: .6rem; align-content: start; padding: 1.2rem 1.3rem; border-radius: 14px; background: var(--eg-carte, #fff); border: 1px solid var(--eg-ligne, #e4e0d9); }
.eg-rq__carte--neuve { border-color: var(--eg-or, #f0c97a); box-shadow: 0 0 0 3px rgba(240, 201, 122, .25); }
.eg-rq__tete { display: flex; justify-content: space-between; align-items: flex-start; gap: .8rem; }
.eg-rq__tete h2 { margin: 0; font-size: 1.25rem; line-height: 1.15; }
.eg-rq__tete h2 a { color: inherit; text-decoration: none; }
.eg-rq__etat { flex: none; padding: .25rem .65rem; border-radius: 999px; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.eg-rq__etat--attente { background: #fdf3e0; color: #8a5a10; }
.eg-rq__etat--ok { background: #e8f5ec; color: #2e7d4f; }
.eg-rq__etat--non { background: #fdecea; color: #8a2a1d; }
.eg-rq__quand { margin: 0; font-size: .85rem; color: var(--eg-gris, #6b6357); }
.eg-rq__texte { margin: 0; font-size: .95rem; line-height: 1.5; }

.submit-claim-form .section-title { display: none; }
.submit-claim-form .container, .submit-claim-form .row { width: auto; max-width: none; margin: 0; padding: 0; }
.submit-claim-form .form-section-wrapper { margin: 0 0 1rem; }
.submit-claim-form .form-section { padding: 1.4rem; border-radius: 16px; background: var(--eg-carte, #fff); border: 1px solid var(--eg-ligne, #e4e0d9); box-shadow: none; }
.submit-claim-form .form-footer .form-section { padding: 0; border: 0; background: transparent; }
.submit-claim-form .form-group { display: grid; gap: .3rem; margin: 0 0 1rem; }
.submit-claim-form .field-head label { margin: 0; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--eg-gris, #6b6357); }
.submit-claim-form .field-head small { text-transform: none; letter-spacing: 0; }
.submit-claim-form .field-head .description { display: block; margin: .2rem 0 0; font-size: .85rem; color: var(--eg-gris, #6b6357); }
.submit-claim-form input[type="text"], .submit-claim-form input[type="email"], .submit-claim-form input[type="tel"], .submit-claim-form input[type="url"], .submit-claim-form input[type="number"], .submit-claim-form textarea, .submit-claim-form select {
	width: 100%; box-sizing: border-box; height: auto; min-height: 0; padding: .7rem .85rem; border: 1px solid var(--eg-ligne, #cfc9c0); border-radius: 10px; background: var(--eg-fond-doux, #f7f5f2); font: inherit; font-size: 1rem; color: inherit; box-shadow: none;
}
.submit-claim-form textarea { min-height: 120px; }
.submit-claim-form input:focus, .submit-claim-form textarea:focus { outline: 2px solid var(--eg-or, #f0c97a); outline-offset: 1px; }
.submit-claim-form .listing-form-submit-btn { text-align: left; }
.submit-claim-form .buttons.button-2 { display: inline-flex; align-items: center; gap: 8px; padding: 14px 22px; border: 1px solid transparent; border-radius: 0; background: var(--eg-btn-bg); color: var(--eg-btn-fg); font-family: var(--eg-display); font-weight: 500; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2; box-shadow: none; }
.submit-claim-form .buttons.button-2:hover { background: var(--eg-btn-bg-hi); color: var(--eg-btn-fg); }

/* =========================================================================
   2.37.4 : tableau de bord relu sur la capture de François (9 sept.)
   ====================================================================== */
/* Le pseudo du bandeau était encre sur encre (règle globale des h1). */
.eg-cp__qui h1 { color: #f6f4ef; font-family: var(--eg-display); font-weight: 500; }
.eg-cp__qui .eg-pro__sur { color: var(--eg-or, #f0c97a); }
/* Les trois blocs de l'enseigne : contenu calé en haut, même hauteur sans vide au milieu. */
.eg-tb__ens-corps { align-items: start; }
.eg-tb__bloc { display: grid; align-content: start; gap: .6rem; }
.eg-tb__bloc h3 { margin: 0; }
.eg-tb__bloc--actus { display: grid; align-content: start; }
.eg-tb__bloc--actus p { flex: none; }
.eg-tb__bloc--actus .eg-btn { justify-self: start; }
.eg-tb__manque { list-style: disc; padding-left: 1.1rem; }
.eg-tb__bloc-cta { justify-self: start; margin-top: .2rem; }
/* La phrase de la ville était encre sur encre. */
.eg-tb__ville p, .eg-tb__ville-chiffres span { color: rgba(246, 244, 239, .85); }
.eg-tb__ville-chiffres b { color: #fff; font-family: var(--eg-display); font-weight: 600; }

/* 2.37.5 : Régie > Réclamations, champ du compte à vider. */
.eg-rg__inline .eg-rg__champ { height: 36px; padding: 0 10px; margin-right: 6px; border: 1px solid var(--eg-hair-2); background: var(--eg-paper); font: inherit; font-size: 13px; min-width: 220px; }

/* =========================================================================
   2.37.8 : /escape-games/ , l'index des villes (.eg-vi)
   ====================================================================== */
.eg-vi__corps { padding: clamp(1.6rem, 4vw, 2.6rem) 0 clamp(2.5rem, 6vw, 4rem); display: grid; gap: 2.2rem; }
.eg-vi__corps h2 { margin: 0 0 .9rem; font-family: var(--eg-display); font-weight: 500; font-size: clamp(22px, 2.6vw, 28px); }
.eg-vi__grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.eg-vi__carte { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: var(--eg-surface); border: 1.5px solid var(--eg-hair); box-shadow: 0 4px 0 var(--eg-hair); color: var(--eg-ink); text-decoration: none; }
.eg-vi__carte:hover { border-color: var(--eg-dark); box-shadow: 0 4px 0 var(--eg-warm); }
.eg-vi__carte b { font-family: var(--eg-display); font-weight: 500; font-size: 20px; line-height: 1.1; }
.eg-vi__carte span { font-size: 12.5px; color: var(--eg-muted); }
.eg-vi__lettres { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 14px; }
.eg-vi__lettres a { display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 6px; border: 1px solid var(--eg-hair-2); font-family: var(--eg-display); font-size: 13px; color: var(--eg-ink); text-decoration: none; }
.eg-vi__lettres a:hover { background: var(--eg-dark); color: var(--eg-lamp); border-color: var(--eg-dark); }
.eg-vi__colonnes { columns: 4 200px; column-gap: 28px; }
.eg-vi__lettre { break-inside: avoid; margin: 0 0 18px; }
.eg-vi__lettre h3 { margin: 0 0 4px; font-family: var(--eg-display); font-weight: 500; font-size: 18px; color: var(--eg-warm); }
.eg-vi__lettre ul { list-style: none; margin: 0; padding: 0; }
.eg-vi__lettre li { padding: 3px 0; font-size: 14.5px; }
.eg-vi__lettre li a { color: var(--eg-ink); text-decoration: none; }
.eg-vi__lettre li a:hover { text-decoration: underline; }
.eg-vi__lettre small { color: var(--eg-muted); font-size: 12px; margin-left: 4px; }
.eg-vi__autre { margin: 0; font-size: 14px; color: var(--eg-ink-2); }

/* 2.39.0 : fil d'Ariane sur les en-têtes clairs (pages, journal, recherche). */
.eg-page-head .eg-doc__fil { color: var(--eg-muted); margin-bottom: 10px; }
.eg-page-head .eg-doc__fil a { color: var(--eg-warm); text-decoration: none; }
.eg-page-head .eg-doc__fil a:hover { text-decoration: underline; }
.eg-page-head .eg-doc__fil i { background: var(--eg-hair-2); }
.eg-pro__hero .eg-doc__fil, .eg-regles__hero .eg-doc__fil, .eg-dep__hero .eg-doc__fil, .eg-qsn__hero .eg-doc__fil { margin-bottom: 14px; }

/* 2.44.0 : photos des joueurs, votes « utile ». */
.eg-ph { display: grid; gap: 12px; }
.eg-ph__grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
.eg-ph__item { margin: 0; background: var(--eg-white); border: 1px solid var(--eg-hair); }
.eg-ph__item img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.eg-ph__item figcaption { padding: 6px 8px; font-size: 12px; color: var(--eg-muted); }
.eg-ph__item figcaption b { color: var(--eg-ink); }
.eg-ph__verifie { color: var(--eg-ok, #1E7B4E); font-weight: 700; }
.eg-ph__vide { margin: 0; font-size: 14px; color: var(--eg-muted); }
.eg-ph__form { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.eg-ph__form small { color: var(--eg-muted); }
.eg-avis__pied { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.eg-avis__verifie { font-family: var(--eg-font-display, Oswald, sans-serif); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--eg-ok, #1E7B4E); }
.eg-avis__utile { border: 1px solid var(--eg-hair-2); background: var(--eg-white); border-radius: 999px; padding: 4px 12px; font: inherit; font-size: 13px; color: var(--eg-ink); cursor: pointer; }
.eg-avis__utile b { color: var(--eg-warm); }
.eg-avis__utile--on { background: var(--eg-ink); color: var(--eg-lamp, #F0C97A); border-color: var(--eg-ink); }
.eg-avis__utile--on b { color: inherit; }
.eg-avis__utile--nb { border: 0; padding: 0; color: var(--eg-muted); cursor: default; }

/* 2.45.0 : le site est un jeu. Bandeau, gains de la fiche, aide. */
.eg-band { background: var(--eg-ink); color: #F6F4EF; border-bottom: 1px solid rgba(255,255,255,.1); }
.eg-band__in { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 10px 0; }
.eg-band__mj, .eg-band__mj-mini { font-family: "Courier Prime", ui-monospace, monospace; font-size: 13px; color: var(--eg-lamp, #F0C97A); margin: 0; }
.eg-band__mj span, .eg-band__mj-mini { opacity: .65; }
.eg-band__gestes { display: flex; gap: 14px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: rgba(255,255,255,.8); flex-wrap: wrap; }
.eg-band__gestes b { color: var(--eg-lamp, #F0C97A); font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; margin-right: 4px; }
.eg-band__actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.eg-band__lien { color: rgba(255,255,255,.75); font-size: 13px; text-decoration: underline; }
.eg-band__fermer { background: none; border: 0; color: rgba(255,255,255,.6); font-size: 20px; cursor: pointer; line-height: 1; padding: 0 4px; }
.eg-band__moi { display: flex; align-items: center; gap: 10px; color: #F6F4EF; text-decoration: none; font-size: 13px; }
.eg-band__moi b { color: var(--eg-lamp, #F0C97A); }
.eg-band__niv { width: 30px; height: 30px; border-radius: 50%; background: var(--eg-lamp, #F0C97A); color: var(--eg-ink); display: grid; place-items: center; font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 14px; }
.eg-band__geste { margin-left: auto; color: #F6F4EF; text-decoration: none; font-size: 13px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; max-width: 60ch; }
.eg-band__geste b { color: var(--eg-lamp, #F0C97A); font-family: var(--eg-font-display, Oswald, sans-serif); font-size: 15px; }
.eg-band__geste small { width: 100%; color: rgba(255,255,255,.65); }
.eg-band__geste:hover { text-decoration: underline; }
@media (max-width: 700px) { .eg-band__gestes { display: none; } .eg-band__actions, .eg-band__geste { margin-left: 0; } }
.eg-gains { margin: 16px 0 6px; background: var(--eg-white); border: 1px solid var(--eg-hair); }
.eg-gains__tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; background: var(--eg-ink); color: #F6F4EF; flex-wrap: wrap; }
.eg-gains__mj { margin: 0; font-family: "Courier Prime", ui-monospace, monospace; font-size: 13px; color: var(--eg-lamp, #F0C97A); }
.eg-gains__mj span { opacity: .65; }
.eg-gains__regles { color: rgba(255,255,255,.75); font-size: 13px; }
.eg-gains__liste { list-style: none; margin: 0; padding: 0; }
.eg-gains__item { display: grid; grid-template-columns: 84px 1fr auto; gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--eg-hair); }
.eg-gains__item--fait { opacity: .6; }
.eg-gains__item--regle { background: var(--eg-lamp-bg, #FBF0DE); }
.eg-gains__pts { display: flex; flex-direction: column; line-height: 1.1; }
.eg-gains__pts b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 20px; color: var(--eg-warm); }
.eg-gains__pts small { font-size: 11px; color: var(--eg-ok, #1E7B4E); font-weight: 700; }
.eg-gains__fait { font-size: 20px; color: var(--eg-ok, #1E7B4E); font-weight: 700; }
.eg-gains__x2 { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 20px; color: var(--eg-warm); }
.eg-gains__txt b { display: block; font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 16px; color: var(--eg-ink); }
.eg-gains__txt p { margin: 2px 0 0; font-size: 13px; color: var(--eg-muted); line-height: 1.4; }
.eg-gains__act span { font-size: 12px; color: var(--eg-muted); }
.eg-gains__note { max-width: 14ch; display: block; text-align: right; }
@media (max-width: 600px) { .eg-gains__item { grid-template-columns: 64px 1fr; } .eg-gains__act { grid-column: 2; justify-self: start; } }
.eg-aide { position: relative; display: inline-block; margin-left: 4px; }
.eg-aide__i { display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: var(--eg-hair-2); color: var(--eg-ink); font-size: 11px; font-weight: 700; cursor: help; }
.eg-aide__b { display: none; position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); width: 240px; padding: 8px 10px; background: var(--eg-ink); color: #F6F4EF; font-size: 12px; line-height: 1.4; border-radius: 4px; z-index: 20; }
.eg-aide:hover .eg-aide__b, .eg-aide:focus .eg-aide__b, .eg-aide:focus-within .eg-aide__b { display: block; }

/* 2.46.0 : classement public, profils, contributeurs. */
.eg-cl__hero, .eg-pf__hero { background: var(--eg-ink); color: #F6F4EF; padding: 28px 0 22px; }
.eg-cl__hero h1, .eg-pf__hero h1 { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: clamp(26px, 4vw, 40px); margin: 4px 0 8px; color: #fff; }
.eg-cl__mj, .eg-contrib__mj { font-family: "Courier Prime", ui-monospace, monospace; font-size: 13px; color: var(--eg-lamp, #F0C97A); max-width: 72ch; }
.eg-cl__mj span, .eg-contrib__mj span { opacity: .65; }
.eg-cl__filtres { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; margin-top: 16px; }
.eg-cl__puces { display: flex; flex-wrap: wrap; gap: 6px; }
.eg-cl__puces a { padding: 7px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); color: #F6F4EF; text-decoration: none; font-size: 13px; }
.eg-cl__puces a.on { background: var(--eg-lamp, #F0C97A); color: var(--eg-ink); border-color: var(--eg-lamp, #F0C97A); }
.eg-cl__select label { display: flex; flex-direction: column; gap: 4px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.7); font-family: var(--eg-font-display, Oswald, sans-serif); }
.eg-cl__select select { font: inherit; font-size: 13px; padding: 6px 8px; background: #fff; color: var(--eg-ink); border: 0; }
.eg-cl__corps { padding: 24px 0 60px; }
.eg-cl__corps h2 { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 22px; margin: 14px 0; }
.eg-cl__corps h2 small { font-size: 13px; color: var(--eg-muted); margin-left: 8px; }
.eg-cl__moi { padding: 10px 14px; background: var(--eg-lamp-bg, #FBF0DE); border-left: 3px solid var(--eg-lamp, #F0C97A); font-size: 14px; }
.eg-cl__liste { list-style: none; margin: 0; padding: 0; background: var(--eg-white); border: 1px solid var(--eg-hair); }
.eg-cl__liste li { display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--eg-hair); }
.eg-cl__liste li:first-child { border-top: 0; }
.eg-cl__liste li.podium .eg-cl__rang { color: var(--eg-warm); }
.eg-cl__liste li.moi { background: var(--eg-lamp-bg, #FBF0DE); }
.eg-cl__rang { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 20px; color: var(--eg-muted); }
.eg-cl__qui { text-decoration: none; color: var(--eg-ink); display: flex; flex-direction: column; }
.eg-cl__qui b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 17px; }
.eg-cl__qui small { color: var(--eg-muted); font-size: 12px; }
.eg-cl__qui:hover b { color: var(--eg-warm); }
.eg-cl__pts { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 18px; }
.eg-cl__pts small { font-weight: 400; font-size: 12px; color: var(--eg-muted); }
.eg-cl__pied, .eg-pf__pied { margin-top: 18px; font-size: 14px; color: var(--eg-muted); }
.eg-cl__vide { padding: 24px; text-align: center; color: var(--eg-muted); }
.eg-pf__tete { display: flex; gap: 18px; align-items: center; }
.eg-pf__niv { width: 64px; height: 64px; border-radius: 50%; background: var(--eg-lamp, #F0C97A); color: var(--eg-ink); display: grid; place-items: center; font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 28px; flex: none; }
.eg-pf__pts { margin: 0; font-size: 15px; color: rgba(255,255,255,.8); }
.eg-pf__pts b { color: var(--eg-lamp, #F0C97A); font-family: var(--eg-font-display, Oswald, sans-serif); font-size: 20px; }
.eg-pf__rangs { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 16px 0 0; padding: 0; }
.eg-pf__rangs a { display: flex; flex-direction: column; padding: 10px 14px; background: rgba(255,255,255,.08); color: #F6F4EF; text-decoration: none; min-width: 120px; }
.eg-pf__rangs b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 24px; color: var(--eg-lamp, #F0C97A); }
.eg-pf__rangs small { font-size: 12px; color: rgba(255,255,255,.7); }
.eg-pf__titres { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.eg-pf__titres li { padding: 6px 10px; background: var(--eg-lamp, #F0C97A); color: var(--eg-ink); font-size: 13px; font-weight: 700; }
.eg-pf__corps { padding: 24px 0 60px; }
.eg-pf__corps h2 { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 22px; margin: 26px 0 12px; }
.eg-pf__corps h2 small { font-size: 13px; color: var(--eg-muted); margin-left: 8px; }
.eg-pf__chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; list-style: none; margin: 0; padding: 0; }
.eg-pf__chiffres li { background: var(--eg-white); border: 1px solid var(--eg-hair); padding: 12px; display: flex; flex-direction: column; }
.eg-pf__chiffres b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 24px; color: var(--eg-ink); }
.eg-pf__chiffres span { font-size: 12px; color: var(--eg-muted); }
.eg-pf__jalons { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.eg-pf__jalons li { display: flex; flex-direction: column; padding: 8px 12px; background: var(--eg-ink); color: var(--eg-lamp, #F0C97A); }
.eg-pf__jalons li b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 14px; }
.eg-pf__jalons li small { font-size: 11px; color: rgba(255,255,255,.7); }
.eg-pf__avis { display: grid; gap: 12px; }
.eg-avis__auteur { text-decoration: none; color: inherit; }
.eg-avis__auteur:hover b { color: var(--eg-warm); }
.eg-contrib { background: var(--eg-white); border: 1px solid var(--eg-hair); padding: 14px 16px; }
.eg-contrib__liste { list-style: none; margin: 10px 0 0; padding: 0; }
.eg-contrib__liste li { display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-top: 1px solid var(--eg-hair); }
.eg-contrib__liste li:first-child { border-top: 0; }
.eg-contrib__liste a { text-decoration: none; color: var(--eg-ink); }
.eg-contrib__liste b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 16px; }
.eg-contrib__liste small { color: var(--eg-muted); margin-left: 6px; }
.eg-contrib__rang { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 18px; color: var(--eg-warm); }
.eg-contrib__pts { font-size: 12px; color: var(--eg-muted); }

/* 2.47.0 : missions. */
.eg-mi__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.eg-mi__item { background: var(--eg-white); border: 1px solid var(--eg-hair); padding: 12px 14px; display: grid; gap: 6px; }
.eg-mi__item--fini { border-color: var(--eg-lamp, #F0C97A); }
.eg-mi__tete { display: flex; justify-content: space-between; align-items: baseline; }
.eg-mi__tete b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 16px; }
.eg-mi__palier { font-family: var(--eg-font-display, Oswald, sans-serif); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; padding: 2px 8px; background: var(--eg-hair); color: var(--eg-muted); }
.eg-mi__palier--1 { background: #E7C9A5; color: #6B3F12; } .eg-mi__palier--2 { background: #E4E6EA; color: #3A4250; } .eg-mi__palier--3 { background: var(--eg-lamp, #F0C97A); color: var(--eg-ink); } .eg-mi__palier--4 { background: var(--eg-ink); color: var(--eg-lamp, #F0C97A); }
.eg-mi__barre { height: 6px; background: var(--eg-hair); } .eg-mi__barre i { display: block; height: 6px; background: var(--eg-warm); }
.eg-mi__item p { margin: 0; font-size: 13px; color: var(--eg-ink); } .eg-mi__item small { color: var(--eg-muted); font-size: 12px; }

/* 2.48.0 : le profil tranché (modèle Local Guides) : en-tête, trois chiffres, anneaux, contributions. */
.eg-pf__hero { background: linear-gradient(180deg, #FBF0DE 0%, var(--eg-paper, #F7F5F2) 100%); color: var(--eg-ink); padding: 22px 0 18px; border-bottom: 1px solid var(--eg-hair); }
.eg-pf__hero h1 { color: var(--eg-ink); text-align: center; margin: 10px 0 2px; font-size: clamp(26px, 4vw, 34px); }
.eg-pf__id { display: flex; flex-direction: column; align-items: center; }
.eg-pf__avatar { position: relative; width: 92px; height: 92px; border-radius: 50%; background: var(--eg-ink); color: var(--eg-lamp, #F0C97A); display: grid; place-items: center; font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 34px; }
.eg-pf__etoile { position: absolute; right: -4px; bottom: -4px; width: 32px; height: 32px; border-radius: 50%; background: var(--eg-lamp, #F0C97A); color: var(--eg-ink); display: grid; place-items: center; font-style: normal; font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 15px; border: 3px solid #FBF0DE; }
.eg-pf__sous { margin: 0; color: var(--eg-muted); font-size: 14px; }
.eg-pf__trois { display: flex; gap: 34px; list-style: none; margin: 16px 0 0; padding: 0; justify-content: center; }
.eg-pf__trois li { display: flex; flex-direction: column; align-items: center; }
.eg-pf__trois b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 26px; color: var(--eg-warm); line-height: 1; }
.eg-pf__trois span { font-size: 12px; color: var(--eg-muted); }
.eg-pf__titres { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 12px 0 0; }
.eg-pf__titres span { padding: 4px 10px; background: var(--eg-lamp, #F0C97A); color: var(--eg-ink); font-size: 12px; font-weight: 700; }
.eg-pf__actions { margin: 14px 0 0; display: flex; gap: 8px; }
.eg-pf__puces { display: flex; gap: 8px; overflow-x: auto; list-style: none; margin: 18px 0 0; padding: 0 0 4px; }
.eg-pf__puces li { flex: none; padding: 8px 12px; border-radius: 999px; background: var(--eg-white); border: 1px solid var(--eg-hair); font-size: 13px; white-space: nowrap; }
.eg-pf__puces b { font-weight: 700; color: var(--eg-ink); }
.eg-pf__corps { padding: 20px 0 60px; }
.eg-pf__corps h2 { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 22px; margin: 28px 0 12px; }
.eg-pf__corps h2 small { font-size: 13px; color: var(--eg-muted); margin-left: 8px; }
.eg-pf__titre-ligne { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.eg-pf__titre-ligne a { font-size: 14px; color: var(--eg-teal, #0B6E8A); }
.eg-pf__niveau { background: var(--eg-white); border: 1px solid var(--eg-hair); padding: 16px 18px; display: grid; gap: 8px; }
.eg-pf__niveau-tete { display: flex; justify-content: space-between; align-items: baseline; }
.eg-pf__niveau-tete b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 18px; }
.eg-pf__niveau-tete span { font-size: 13px; color: var(--eg-muted); }
.eg-pf__barre { height: 8px; border-radius: 4px; background: var(--eg-hair); overflow: hidden; }
.eg-pf__barre i { display: block; height: 8px; background: var(--eg-warm); }
.eg-pf__niveau p { margin: 0; font-size: 13px; color: var(--eg-ink-2); }
.eg-pf__niveau .eg-pf__rangs { margin-top: 6px; }
.eg-pf__rangs a { background: var(--eg-paper, #F7F5F2); color: var(--eg-ink); }
.eg-pf__rangs b { color: var(--eg-warm); }
.eg-pf__rangs small { color: var(--eg-muted); }
.eg-bd__rangee { display: flex; gap: 14px; overflow-x: auto; padding: 4px 0 8px; }
.eg-bd__item { flex: none; width: 116px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; color: var(--eg-ink); text-align: center; }
.eg-bd__item span { font-size: 14px; line-height: 1.2; display: flex; flex-direction: column; }
.eg-bd__item small { font-size: 11px; color: var(--eg-muted); }
.eg-bd__item--vide { opacity: .55; }
.eg-bd__anneau { position: relative; display: inline-grid; place-items: center; }
.eg-bd__anneau svg { position: absolute; inset: 0; }
.eg-bd__ic { width: 22px; height: 22px; display: inline-block; background: currentColor; color: var(--eg-ink); -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.eg-bd__anneau .eg-bd__ic { width: 32px; height: 32px; }
.eg-bd__ic--unlock { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 9.9-1'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 9.9-1'/></svg>"); }
.eg-bd__ic--edit-3 { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/></svg>"); }
.eg-bd__ic--camera { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z'/><circle cx='12' cy='13' r='4'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z'/><circle cx='12' cy='13' r='4'/></svg>"); }
.eg-bd__ic--map-pin { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>"); }
.eg-bd__ic--compass { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/></svg>"); }
.eg-bd__ic--flag { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/><line x1='4' y1='22' x2='4' y2='15'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/><line x1='4' y1='22' x2='4' y2='15'/></svg>"); }
.eg-bd__ic--users { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>"); }
.eg-bd__ic--lock { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>"); }
.eg-bd__ic--zap { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/></svg>"); }
.eg-bd__ic--eye, .eg-bd__ic--thumbs-up, .eg-bd__ic--maximize, .eg-bd__ic--bookmark, .eg-bd__ic--bell, .eg-bd__ic--award, .eg-bd__ic--home, .eg-bd__ic--map, .eg-bd__ic--user-plus, .eg-bd__ic--key { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><circle cx='12' cy='12' r='3'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><circle cx='12' cy='12' r='3'/></svg>"); }
.eg-pf__prochains { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.eg-pf__prochains li { display: grid; grid-template-columns: 26px 1fr auto 20px; align-items: center; gap: 10px; padding: 10px 12px; background: var(--eg-white); border: 1px solid var(--eg-hair); font-size: 14px; }
.eg-pf__prochains b { color: var(--eg-muted); font-weight: 400; font-size: 13px; }
.eg-pf__prochains a { text-decoration: none; color: var(--eg-warm); font-size: 20px; text-align: center; }
.eg-ct { list-style: none; margin: 0; padding: 0; background: var(--eg-white); border: 1px solid var(--eg-hair); }
.eg-ct li { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: center; padding: 11px 14px; border-top: 1px solid var(--eg-hair); font-size: 15px; }
.eg-ct li:first-child { border-top: 0; }
.eg-ct b { font-weight: 700; font-variant-numeric: tabular-nums; }
.eg-bd__details { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; margin-top: 10px; }
.eg-bd__detail { background: var(--eg-white); border: 1px solid var(--eg-hair); padding: 14px; display: grid; gap: 8px; }
.eg-bd__detail header { display: flex; gap: 12px; align-items: center; }
.eg-bd__detail header b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 17px; display: block; }
.eg-bd__detail header p { margin: 2px 0 0; font-size: 12px; color: var(--eg-muted); }
.eg-bd__taches { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.eg-bd__taches li { display: grid; grid-template-columns: 1fr auto 18px; gap: 8px; align-items: center; padding: 8px 10px; background: var(--eg-paper, #F7F5F2); font-size: 13px; }
.eg-bd__taches li.ok { color: var(--eg-ok, #1E7B4E); }
.eg-bd__taches i { font-style: normal; font-weight: 700; color: var(--eg-ok, #1E7B4E); }
.eg-bd__detail small { color: var(--eg-muted); font-size: 12px; }
.eg-bd__niveaux summary { font-size: 12px; color: var(--eg-teal, #0B6E8A); cursor: pointer; }
.eg-bd__niveaux ol { margin: 6px 0 0; padding-left: 18px; font-size: 13px; color: var(--eg-muted); }
.eg-bd__niveaux li.ok { color: var(--eg-ink); }
.eg-bd__niveaux li small { color: var(--eg-warm); }

/* 2.50.0 : l'Indice sur la fiche de l'enseigne. */
.eg-ix { display: flex; gap: 16px; align-items: center; background: var(--eg-ink); color: #F6F4EF; padding: 16px 18px; }
.eg-ix__score { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 44px; line-height: 1; color: var(--eg-lamp, #F0C97A); }
.eg-ix__score small { font-size: 14px; color: rgba(255,255,255,.6); font-weight: 400; }
.eg-ix__txt b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 17px; }
.eg-ix__txt p { margin: 4px 0 0; font-size: 13px; color: rgba(255,255,255,.75); max-width: 60ch; }
.eg-ix__txt a { color: var(--eg-lamp, #F0C97A); }
.eg-ix__mv { color: var(--eg-lamp, #F0C97A); font-size: 14px; margin-left: 6px; }

/* 2.52.0 : le bandeau en grand (visiteurs) et le bloc « Le jeu des joueurs » en ludique. */
.eg-band--grand { border-bottom: 3px solid var(--eg-lamp, #F0C97A); }
.eg-band__in--grand { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 12px 28px; align-items: center; padding: 18px 0; }
.eg-band__t { margin: 0; font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: clamp(20px, 2.4vw, 28px); line-height: 1.1; color: #F6F4EF; }
.eg-band__t em { font-style: normal; color: var(--eg-lamp, #F0C97A); }
.eg-band__in--grand .eg-band__mj { margin: 4px 0 0; }
.eg-band__pts { grid-column: 1; display: flex; gap: 10px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.eg-band__pts li { display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(240,201,122,.35); }
.eg-band__pts b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 600; font-size: 24px; line-height: 1; color: var(--eg-lamp, #F0C97A); }
.eg-band__pts span { font-size: 14px; color: rgba(255,255,255,.85); }
.eg-band__act { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.eg-band__cta { display: inline-block; padding: 14px 22px; background: var(--eg-lamp, #F0C97A); color: var(--eg-ink); text-decoration: none; font-family: var(--eg-font-display, Oswald, sans-serif); font-size: 16px; letter-spacing: .1em; text-transform: uppercase; border-bottom: 4px solid var(--eg-warm, #B76E12); }
.eg-band__cta:hover { color: var(--eg-ink); transform: translateY(-2px); }
.eg-band__fermer--grand { position: absolute; right: 0; top: 0; }
.eg-band--moi .eg-band__in { padding: 14px 0; font-size: 15px; }
.eg-band--moi .eg-band__moi, .eg-band--moi .eg-band__geste { font-size: 15px; }
.eg-band--moi .eg-band__geste b { font-size: 18px; }
.eg-band--moi .eg-band__niv { width: 36px; height: 36px; font-size: 16px; }
@media (max-width: 760px) { .eg-band__in--grand { grid-template-columns: 1fr; } .eg-band__act { grid-column: 1; grid-row: auto; align-items: flex-start; } .eg-band__pts { display: flex; } }

.eg-jx .eg-jeu__halo { width: 520px; height: 520px; }
.eg-jx__h { font-size: clamp(34px, 4.6vw, 58px) !important; line-height: 1 !important; text-wrap: balance; }
.eg-jx__lede { font-size: 17px !important; max-width: 58ch !important; }
.eg-jx__tampon { transform: rotate(4deg); padding: 10px 16px !important; }
.eg-jx__cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-bottom: 30px; }
.eg-jx__carte { position: relative; display: block; padding: 22px; background: var(--eg-surface, #fff); color: var(--eg-ink); border-radius: 6px; box-shadow: 0 18px 40px rgba(0,0,0,.35); text-decoration: none; transition: transform .25s; }
.eg-jx__carte:nth-child(1) { transform: rotate(-1.6deg); }
.eg-jx__carte:nth-child(2) { transform: rotate(1deg) translateY(10px); }
.eg-jx__carte:nth-child(3) { transform: rotate(-.6deg); }
.eg-jx__carte:hover { transform: rotate(0) translateY(-6px); color: var(--eg-ink); }
.eg-jx__pts { position: absolute; top: -16px; right: 16px; padding: 8px 14px; background: var(--eg-lamp); color: var(--eg-dark); font-family: var(--eg-display); font-weight: 600; font-size: 28px; line-height: 1; border-bottom: 4px solid var(--eg-warm); }
.eg-jx__pts small { display: block; margin-top: 2px; font-family: var(--eg-mono); font-size: 10px; letter-spacing: .1em; text-align: right; font-weight: 400; }
.eg-jx__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--eg-warm-soft, #FBF0DE); margin-bottom: 12px; }
.eg-jx__ic .eg-bd__ic { color: var(--eg-warm); }
.eg-jx__carte h3 { margin: 0 0 4px; font-family: var(--eg-display); font-weight: 500; font-size: 24px; color: var(--eg-ink); }
.eg-jx__carte p { margin: 0; font-size: 14px; color: var(--eg-ink-2); }
.eg-jx__x2 { margin-top: 12px !important; font-family: var(--eg-mono); font-size: 12px; color: var(--eg-ok, #1E7B4E) !important; }
.eg-jx__x2 b { font-family: var(--eg-display); font-size: 16px; }
.eg-jx__piste { background: var(--eg-dark-2, #1B2129); border: 1.5px dashed rgba(240,201,122,.5); padding: 18px 22px 16px; margin-bottom: 26px; }
.eg-jx__piste-t { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0 0 6px; }
.eg-jx__piste-t b { font-family: var(--eg-display); font-weight: 500; font-size: 20px; color: #fff; }
.eg-jx__piste-t span { font-family: var(--eg-mono); font-size: 12px; color: var(--eg-lamp); }
.eg-jx .eg-piste { margin-top: 10px; padding-top: 26px; overflow-x: auto; }
.eg-jx .eg-piste::before { top: 44px; border-top: 3px dashed rgba(240,201,122,.45); }
.eg-jx .eg-piste li { min-width: 60px; }
.eg-jx .eg-piste__case { width: 38px; height: 38px; background: var(--eg-dark); border: 2px solid rgba(240,201,122,.6); color: var(--eg-lamp); font-size: 15px; }
.eg-jx .eg-piste li b { color: #fff; font-size: 13px; }
.eg-jx .eg-piste li small { color: rgba(255,255,255,.55); }
.eg-jx .eg-piste li.fait .eg-piste__case { background: var(--eg-warm); border-color: var(--eg-warm); color: #fff; }
.eg-jx .eg-piste li.ici .eg-piste__case { background: var(--eg-lamp); border-color: var(--eg-lamp); color: var(--eg-dark); box-shadow: 0 0 0 8px rgba(240,201,122,.2); }
.eg-jx .eg-piste li.ici::before { content: "TOI"; position: absolute; top: -24px; font-family: var(--eg-mono); font-size: 10px; letter-spacing: .14em; color: var(--eg-lamp); }
.eg-jx .eg-piste li.cle b { color: var(--eg-lamp); }
.eg-jx__badges { display: flex; gap: 18px; flex-wrap: wrap; align-items: flex-end; margin-bottom: 30px; }
.eg-jx__badges-t { flex: 1 1 200px; }
.eg-jx__badges-t b { display: block; font-family: var(--eg-display); font-weight: 500; font-size: 20px; color: #fff; }
.eg-jx__badges-t span { font-size: 13px; color: rgba(255,255,255,.7); }
.eg-jx__badge { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 74px; font-size: 12px; color: rgba(255,255,255,.85); text-align: center; }
.eg-jx__anneau { position: relative; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; border: 5px solid rgba(255,255,255,.14); font-style: normal; }
.eg-jx__anneau::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 5px solid transparent; border-top-color: var(--eg-lamp); transform: rotate(-30deg); }
.eg-jx__anneau .eg-bd__ic { color: var(--eg-lamp); }
.eg-jx__bas { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .9fr); gap: 22px; align-items: start; }
.eg-jx__live { padding: 18px 20px; background: var(--eg-dark-2, #1B2129); border: 1.5px dashed rgba(240,201,122,.55); }
.eg-jx__live-t { margin: 0 0 10px; font-family: var(--eg-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--eg-lamp); }
.eg-jx__live-t i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #E07C78; margin-right: 8px; animation: eg-jx-pouls 1.4s infinite; }
@keyframes eg-jx-pouls { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .eg-jx__live-t i { animation: none; } .eg-jx__carte { transition: none; } }
.eg-jx__live ol { list-style: none; margin: 0; padding: 0; }
.eg-jx__live li { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.08); font-size: 14px; color: #fff; }
.eg-jx__live li:first-child { border-top: 0; }
.eg-jx__live-q { grid-column: 1; }
.eg-jx__live-q a { color: #fff; text-decoration: none; }
.eg-jx__live-q a:hover { color: var(--eg-lamp); }
.eg-jx__live li small { grid-column: 1; font-size: 12px; color: rgba(255,255,255,.55); }
.eg-jx__live-pts { grid-row: span 2; align-self: center; font-family: var(--eg-display); font-weight: 600; font-size: 22px; color: var(--eg-lamp); }
.eg-jx .eg-scores li:first-child .eg-scores__rang { width: 36px; height: 36px; font-size: 18px; box-shadow: 0 0 0 6px rgba(240,201,122,.18); }
.eg-jx__cta { border-bottom: 5px solid var(--eg-warm); padding: 18px 22px !important; }
.eg-jx__cta b { font-size: 24px !important; }
@media (max-width: 900px) { .eg-jx__cartes { grid-template-columns: 1fr; } .eg-jx__carte:nth-child(n) { transform: none; } .eg-jx__bas { grid-template-columns: 1fr; } .eg-jx .eg-jeu__halo { display: none; } }
@media (max-width: 900px) { .eg-jx__badges { flex-wrap: nowrap; overflow-x: auto; align-items: flex-start; padding-bottom: 6px; } .eg-jx__badges-t { flex: 0 0 170px; } }

/* 2.53.0 : la page pro, les six signaux des joueurs. */
.eg-pro__signaux .eg-pro__intro { margin: -.6rem 0 1.2rem; max-width: 64ch; color: var(--eg-gris, #6b6357); }
.eg-pro__signaux .eg-pro__pas b { background: var(--eg-noir, #12161c); color: var(--eg-or, #f0c97a); width: 38px; height: 38px; }
.eg-pro__signaux .eg-pro__pas b .eg-ic { width: 18px; height: 18px; }
.eg-pro__signaux .eg-pro__pas h3 { font-size: 1.15rem; }
.eg-pro__tag { display: block; margin-top: .7rem; font-family: var(--eg-mono, "Courier Prime"), ui-monospace, monospace; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--eg-chaud, #b76e12); }
@media (max-width: 860px) { .eg-pro__pourquoi { grid-template-columns: 1fr; } }

/* 2.54.0 : les abonnements. Tuiles verrouillées, bloc des joueurs, paliers de la page pro. */
.eg-abo { margin: 0 0 16px; }
.eg-abo__tete { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.eg-abo__tete h3 { margin: 0 0 2px; font-family: var(--eg-display); font-weight: 500; font-size: 20px; }
.eg-abo__tete p { margin: 0; font-size: 13px; color: var(--eg-muted); max-width: 60ch; }
.eg-tb__kpi-tuile--large { grid-column: span 2; }
.eg-tb__kpi-tuile--verrou { border: 1.5px dashed var(--eg-hair-2, #D5D0C7); background: repeating-linear-gradient(-45deg, var(--eg-surface) 0 12px, var(--eg-paper) 12px 24px); position: relative; }
.eg-tb__kpi-tuile--verrou > b { color: var(--eg-hair-2, #D5D0C7); letter-spacing: .1em; filter: blur(1.5px); user-select: none; }
.eg-tb__verrou-cta { display: inline-block; margin-top: 6px; padding: 8px 12px; background: var(--eg-dark); color: var(--eg-lamp); font-family: var(--eg-display); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; align-self: flex-start; }
.eg-tb__verrou-cta:hover { color: var(--eg-lamp); transform: translateY(-1px); }
.eg-abo__familles { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 6px; }
.eg-abo__familles li { display: grid; grid-template-columns: 110px 1fr 56px; gap: 10px; align-items: center; font-size: 13px; }
.eg-abo__familles li i { display: block; height: 8px; background: var(--eg-warm); border-radius: 4px; min-width: 2px; }
.eg-abo__familles li b { text-align: right; font-family: var(--eg-display); font-weight: 600; font-size: 15px; }
.eg-abo__liste { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; }
.eg-abo__liste li { display: grid; grid-template-columns: 1fr auto; gap: 0 10px; font-size: 14px; }
.eg-abo__liste li em { font-style: normal; font-family: var(--eg-display); font-weight: 600; color: var(--eg-warm); }
.eg-abo__liste li small { grid-column: 1 / -1; font-size: 12px; color: var(--eg-muted); }
.eg-abo__barres { display: flex; align-items: flex-end; gap: 3px; height: 60px; margin-top: 8px; }
.eg-abo__barres i { flex: 1; background: var(--eg-warm); min-height: 2px; border-radius: 2px 2px 0 0; }
.eg-abo__classement { list-style: none; margin: 8px 0 0; padding: 0; max-height: 320px; overflow: auto; display: grid; gap: 2px; }
.eg-abo__classement li { display: grid; grid-template-columns: 28px 1fr auto; gap: 0 10px; align-items: baseline; padding: 6px 0; border-top: 1px solid rgba(255,255,255,.08); color: #F6F4EF; font-size: 14px; }
.eg-abo__classement li.moi { background: rgba(240,201,122,.12); }
.eg-abo__classement li > span { font-family: var(--eg-display); font-weight: 600; color: var(--eg-lamp); }
.eg-abo__classement li a { color: #F6F4EF; text-decoration: none; font-weight: 700; }
.eg-abo__classement li small { grid-column: 2; font-size: 12px; color: rgba(255,255,255,.6); }
.eg-abo__classement li b { grid-row: span 2; font-family: var(--eg-display); font-weight: 600; font-size: 18px; color: var(--eg-lamp); }
.eg-pro__paliers { margin: 0 auto clamp(2.5rem, 6vw, 4rem); }
.eg-pro__paliers > h2 { margin: 0 0 .6rem; font-size: clamp(1.2rem, 2.8vw, 1.7rem); }
.eg-pro__paliers .eg-pro__intro { margin: 0 0 1rem; max-width: 64ch; color: var(--eg-gris, #6b6357); }
.eg-pro__tableau--paliers th small { display: block; font-weight: 400; font-size: .72rem; color: var(--eg-gris, #6b6357); }
.eg-pro__tableau--paliers td b { display: block; }
.eg-pro__tableau--paliers td small { font-size: .8rem; color: var(--eg-gris, #6b6357); }
.eg-pro__tableau--paliers td.oui { color: var(--eg-chaud, #b76e12); text-align: center; }
.eg-pro__tableau--paliers td.non { text-align: center; color: var(--eg-ligne, #e4e0d9); }
.eg-pro__tableau--paliers td .eg-ic { width: 1.1rem; height: 1.1rem; }
@media (max-width: 700px) { .eg-tb__kpi-tuile--large { grid-column: span 1; } .eg-abo__familles li { grid-template-columns: 90px 1fr 50px; } }

/* 2.57.0 : les faits comparés, sur les fiches. */
.eg-fa { margin: 22px 0; padding: 18px 20px; background: var(--eg-lamp-bg, #FBF0DE); border-left: 4px solid var(--eg-warm, #B76E12); }
.eg-fa__t { margin: 0 0 10px; font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 20px; color: var(--eg-ink); }
.eg-fa__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.eg-fa__i { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.5; color: var(--eg-ink-2, #39424F); }
.eg-fa__i::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; background: var(--eg-warm, #B76E12); border-radius: 50%; }
.eg-fa--ville { max-width: var(--eg-wrap); margin: 34px auto; padding: 22px 26px; }
.eg-fa--ville .eg-fa__t { font-size: 23px; }
.eg-fa--ville .eg-fa__l { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 10px 26px; }
.eg-fa__s { margin: 12px 0 0; font-family: var(--eg-mono, ui-monospace, monospace); font-size: 11px; color: var(--eg-muted, #6B7686); }
@media (max-width: 700px) { .eg-fa { padding: 14px 16px; } .eg-fa__t { font-size: 18px; } }

/* =========================================================================
   2.81.0 — Éléments présents sur toutes les pages (voir eg-accueil.css)
   ====================================================================== */

/* ---------- 1. Bandeau ---------- */

.eg-a-bandeau { background: var(--eg-lamp); color: var(--eg-dark); font-size: 15px; }
.eg-a-bandeau__in { display: flex; align-items: center; gap: 16px; min-height: 42px; }
.eg-a-bandeau p { margin: 0; flex: 1; }
.eg-a-bandeau p b {
	font-family: var(--eg-display);
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	background: var(--eg-dark);
	color: var(--eg-lamp);
	padding: 2px 8px;
	margin-right: 8px;
}
.eg-a-bandeau a { color: var(--eg-dark); font-weight: 700; text-decoration: underline; white-space: nowrap; }
.eg-a-bandeau button { background: none; border: 0; font-size: 22px; line-height: 1; color: var(--eg-dark); cursor: pointer; padding: 4px; }

/* Badges des stores (aussi dans le pied de page). */
.eg-store { position: relative; display: inline-flex; align-items: center; gap: 12px; min-width: 210px; padding: 9px 18px; border: 1.5px solid rgba(255, 255, 255, .45); border-radius: 10px; background: #000; color: #fff; text-decoration: none; }
a.eg-store:hover { border-color: var(--eg-lamp); color: #fff; }
.eg-store__logo { display: flex; width: 28px; color: #fff; }
.eg-store__logo svg { width: 26px; height: 28px; }
.eg-store__txt { display: flex; flex-direction: column; line-height: 1.1; }
.eg-store__txt small { font-size: 11px; opacity: .8; }
.eg-store__txt b { font-family: var(--eg-body); font-size: 21px; font-weight: 700; }
.eg-store__bientot { position: absolute; right: -10px; top: -10px; padding: 3px 7px; background: var(--eg-lamp); color: var(--eg-dark); font: normal 700 10px var(--eg-body); letter-spacing: .08em; text-transform: uppercase; transform: rotate(6deg); }
.eg-store--petit { min-width: 0; padding: 6px 12px; gap: 8px; border-radius: 8px; }
.eg-store--petit .eg-store__logo svg { width: 18px; height: 20px; }
.eg-store--petit .eg-store__txt b { font-size: 15px; }
.eg-store--petit .eg-store__txt small { font-size: 10px; }
.eg-footer__h--app { margin-top: 22px; }
.eg-footer__stores { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 18px; }

@media (max-width: 720px) {
	.eg-a-bandeau { font-size: 13px; }
	.eg-a-bandeau__in { gap: 10px; padding-top: 6px; padding-bottom: 6px; }
	.eg-a-bandeau p b { display: none; }
	.eg-store { min-width: 0; }
}

/* =========================================================================
   2.84.0 — Gérer ma fiche : l'encadré gérant des fiches et le parcours
   ====================================================================== */

.eg-reclamer.eg-gerant {
	display: block;
	padding: 18px 20px 20px;
	border-radius: 0;
	background: var(--eg-dark);
	color: #fff;
	box-shadow: 6px 6px 0 var(--eg-lamp);
}
.eg-reclamer.eg-gerant p { display: block; max-width: none; }
.eg-gerant--attente { box-shadow: 6px 6px 0 #E0A64A !important; }
.eg-reclamer--tenue.eg-gerant { box-shadow: 6px 6px 0 var(--eg-muted) !important; }
.eg-gerant__k { margin: 0 0 4px !important; font: 700 11px/1.3 var(--eg-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--eg-lamp); }
.eg-gerant__h { margin: 0 0 8px !important; font: 500 22px/1.1 var(--eg-display); color: #fff; }
.eg-gerant__p { margin: 0 0 12px !important; font-size: 14.5px; line-height: 1.5; color: rgba(255, 255, 255, .78); }
.eg-gerant__l { list-style: none; margin: 0 0 14px; padding: 0; }
.eg-gerant__l li { display: flex; gap: 8px; align-items: flex-start; padding: 3px 0; font-size: 14.5px; line-height: 1.4; }
.eg-gerant__l .eg-ic { width: 16px; height: 16px; margin-top: 2px; flex: none; color: var(--eg-lamp); }
.eg-gerant__btn {
	display: flex;
	justify-content: center;
	padding: 13px 16px;
	background: var(--eg-lamp);
	color: var(--eg-dark);
	font: 500 15px/1 var(--eg-display);
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 4px 0 var(--eg-warm);
}
.eg-gerant__btn:hover { color: var(--eg-dark); }
.eg-gerant__btn--contour { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .35); box-shadow: none; }
.eg-gerant__btn--contour:hover { color: #fff; border-color: var(--eg-lamp); }
.eg-gerant__note { margin: 10px 0 0 !important; font-size: 12.5px; color: rgba(255, 255, 255, .6); }

.eg-rv { padding: 40px 16px 64px; background: var(--eg-paper); }
.eg-rv__carte { max-width: 560px; margin: 0 auto; padding: 26px 28px 30px; background: #fff; box-shadow: 8px 8px 0 var(--eg-hair); }
.eg-rv__marque { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font: 700 11px/1 var(--eg-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--eg-warm); }
.eg-rv__marque .eg-ic { width: 15px; height: 15px; }
.eg-rv h1 { margin: 0 0 12px; font: 500 clamp(26px, 5vw, 32px)/1.08 var(--eg-display); color: var(--eg-ink); text-wrap: balance; }
.eg-rv p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.55; color: var(--eg-ink-2); }
.eg-rv__prog { display: flex; gap: 5px; margin: 0 0 8px; }
.eg-rv__prog span { flex: 1; height: 5px; background: var(--eg-hair); }
.eg-rv__prog span.on { background: var(--eg-lamp); }
.eg-rv p.eg-rv__etape { margin: 0 0 6px; font: 700 11px/1 var(--eg-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--eg-muted); }
.eg-rv__fiche { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; padding: 12px 14px; background: var(--eg-paper); border: 1px solid var(--eg-hair); }
.eg-rv__logo { width: 56px; height: 56px; flex: none; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--eg-dark); color: var(--eg-lamp); font: 600 18px/1 var(--eg-display); }
.eg-rv__logo img { width: 100%; height: 100%; object-fit: cover; background: #fff; }
.eg-rv__fiche b { display: block; font: 500 19px/1.15 var(--eg-display); color: var(--eg-ink); }
.eg-rv__fiche small { display: block; font-size: 13px; color: var(--eg-muted); }
.eg-rv p.eg-rv__recevrez { margin-bottom: 6px; }
.eg-rv__salles { display: flex; flex-wrap: wrap; gap: 6px; }
.eg-rv__salles span { padding: 4px 10px; border-radius: 99px; background: var(--eg-paper); border: 1px solid var(--eg-hair); font-size: 13px; }
.eg-rv__btn {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 6px 0 0;
	padding: 15px 18px;
	border: 0;
	background: var(--eg-lamp);
	color: var(--eg-dark);
	font: 500 16px/1 var(--eg-display);
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 5px 0 var(--eg-warm);
	cursor: pointer;
}
.eg-rv__btn:hover { color: var(--eg-dark); }
.eg-rv__btn--encre { background: var(--eg-dark); color: var(--eg-lamp); box-shadow: 0 5px 0 #000; }
.eg-rv__btn--encre:hover { color: var(--eg-lamp); }
.eg-rv p.eg-rv__lien { margin: 16px 0 0; text-align: center; }
.eg-rv__lien a { font-weight: 700; color: var(--eg-accent); }
.eg-rv p.eg-rv__sur { display: flex; gap: 8px; margin: 18px 0 0; font-size: 13px; color: var(--eg-muted); }
.eg-rv__sur .eg-ic { width: 16px; height: 16px; flex: none; margin-top: 2px; color: #1E7B4E; }
.eg-rv p.eg-rv__erreur { padding: 10px 12px; background: #F8E6E5; color: #8E2A1A; font-weight: 700; }
.eg-rv__ok { width: 64px; height: 64px; display: grid; place-items: center; margin: 4px 0 12px; border-radius: 50%; background: #E4F3EA; color: #1E7B4E; }
.eg-rv__ok .eg-ic { width: 32px; height: 32px; stroke-width: 2.6; }
.eg-rv__cherche { display: flex; align-items: center; gap: 8px; height: 54px; padding: 0 6px 0 14px; border: 2px solid var(--eg-dark); background: #fff; }
.eg-rv__cherche .eg-ic { width: 20px; height: 20px; flex: none; }
.eg-rv__cherche input { flex: 1; min-width: 0; height: 44px; border: 0; outline: 0; background: transparent; box-shadow: none; font: 16px var(--eg-body); }
.eg-rv__cherche button { height: 42px; padding: 0 14px; border: 0; background: var(--eg-dark); color: var(--eg-lamp); font: 500 14px/1 var(--eg-display); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.eg-rv__res { list-style: none; margin: 14px 0 0; padding: 0; }
.eg-rv__r { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 12px; border-bottom: 1px solid var(--eg-hair); color: var(--eg-ink); text-decoration: none; }
.eg-rv__r:hover { background: var(--eg-paper); color: var(--eg-ink); }
.eg-rv__r b { display: block; font: 500 17px/1.15 var(--eg-display); }
.eg-rv__r small { font-size: 12.5px; color: var(--eg-muted); }
.eg-rv__r em { flex: none; font-style: normal; font-weight: 700; font-size: 13.5px; color: var(--eg-accent); }
.eg-rv__r--geree em, .eg-rv__r--moi em, .eg-rv__r--demande em { font-weight: 400; color: var(--eg-muted); }
.eg-rv p.eg-rv__vide { margin-top: 14px; }
.eg-rv__tel { margin: 0 0 14px; padding: 12px; background: var(--eg-paper); }
.eg-rv__tel label { display: block; margin-bottom: 6px; font-size: 13.5px; font-weight: 700; }
.eg-rv__tel span { display: flex; gap: 6px; }
.eg-rv__tel input { flex: 1; min-width: 0; height: 42px; padding: 0 10px; border: 1.5px solid var(--eg-hair); font: 15px var(--eg-body); }
.eg-rv__tel button { padding: 0 14px; border: 0; background: var(--eg-dark); color: var(--eg-lamp); font: 500 13px/1 var(--eg-display); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.eg-rv p.eg-rv__merci { display: flex; gap: 6px; align-items: center; color: #1E7B4E; font-weight: 700; }
.eg-rv__merci .eg-ic { width: 16px; height: 16px; }

.eg-cx__revendiquer { margin-top: 14px; }
.eg-cx__etape { margin: 0 0 6px; font: 700 11px/1 var(--eg-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--eg-lamp); }
.eg-gerant__note a { color: var(--eg-lamp); font-weight: 700; }

/* 2.85.0 : « Ce que ça vous rapporte » en une barre, la liste complète se déplie. */
details.eg-gains > summary.eg-gains__barre { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 14px; background: var(--eg-ink); color: #F6F4EF; cursor: pointer; list-style: none; }
details.eg-gains > summary.eg-gains__barre::-webkit-details-marker { display: none; }
.eg-gains__barre > b { font-family: var(--eg-font-display, Oswald, sans-serif); font-weight: 500; font-size: 17px; color: #fff; }
.eg-gains__puces { display: flex; flex-wrap: wrap; gap: 6px; }
.eg-gains__puces > span { padding: 3px 9px; background: rgba(255,255,255,.1); font-size: 12.5px; color: rgba(255,255,255,.85); }
.eg-gains__puces > span em { font-style: normal; font-weight: 700; color: var(--eg-lamp, #F0C97A); }
.eg-gains__puces > span.fait { opacity: .6; }
.eg-gains__voir { margin-left: auto; font-size: 13px; color: rgba(255,255,255,.75); }
.eg-gains__voir::after { content: " ▾"; }
details.eg-gains[open] .eg-gains__voir::after { content: " ▴"; }
details.eg-gains[open] .eg-gains__tete { border-top: 1px solid rgba(255,255,255,.12); }
@media (max-width: 600px) { .eg-gains__voir { margin-left: 0; } }

/* 2.85.1 : le fil d'Ariane sans la feuille éditoriale (classement, profils de
   joueurs) s'affichait collé : « Le jeuClassement ». Le minimum, partout. */
:where(.eg-doc__fil) { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
:where(.eg-doc__fil) :where(i) { display: inline-block; width: 22px; height: 1px; background: currentColor; opacity: .45; }

/* 2.87.0 : tableau de bord, les salles fermées rangées sous le tableau. */
.eg-tb__fermees { margin-top: 12px; padding: 10px 12px; border: 1px dashed var(--eg-hair-2, #cfc8bd); background: #faf8f5; }
.eg-tb__fermees > summary { cursor: pointer; font-weight: 700; color: var(--eg-ink, #14181e); }
.eg-tb__fermees > summary small { font-weight: 400; color: var(--eg-muted, #5e6878); margin-left: 6px; }
.eg-tb__fermees .eg-tb__tableau-wrap { margin-top: 8px; }

/* -------------------------------------------------------------------------
   2.90.0 : la page de l'application (/application/)
   ---------------------------------------------------------------------- */
.eg-appli__hero-in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.eg-appli__hero .eg-pro__h { max-width: 16ch; }
.eg-appli__stores { display: flex; flex-wrap: wrap; gap: 12px; }
.eg-appli__note { margin: .9rem 0 0; font-size: .86rem; color: rgba(246, 244, 239, .66); }
.eg-appli__hero-tel { display: flex; justify-content: center; }
.eg-appli__ecran { display: block; width: 100%; max-width: 280px; height: auto; border-radius: 34px; border: 8px solid #0a0c10; box-shadow: 0 0 0 1px #3a4250, 0 24px 60px rgba(0, 0, 0, .45); background: #0a0c10; }
.eg-appli__ecran--hero { max-width: 300px; transform: rotate(2deg); }
.eg-appli__bloc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; padding-top: clamp(2.5rem, 7vw, 5rem); padding-bottom: clamp(2.5rem, 7vw, 5rem); }
.eg-appli__bloc--inverse .eg-appli__duo { order: 2; }
.eg-appli__duo { display: flex; justify-content: center; gap: clamp(.8rem, 3vw, 1.6rem); }
.eg-appli__duo .eg-appli__ecran { max-width: 230px; }
.eg-appli__ecran--decale { margin-top: 3rem; }
.eg-appli__txt h2 { margin: 0 0 1rem; font-family: var(--eg-display); font-weight: 500; font-size: clamp(1.6rem, 3.6vw, 2.4rem); line-height: 1.08; text-wrap: balance; }
.eg-appli__liste { margin: 0; padding: 0; list-style: none; display: grid; gap: .7rem; }
.eg-appli__liste li { position: relative; padding-left: 1.6rem; line-height: 1.55; }
.eg-appli__liste li::before { content: ""; position: absolute; left: 0; top: .55em; width: .7rem; height: .7rem; border-radius: 2px; background: var(--eg-lamp); box-shadow: inset 0 -2px 0 var(--eg-warm); }
.eg-appli__sombre { background: var(--eg-noir, #12161c); color: var(--eg-creme, #f6f4ef); }
.eg-appli__sombre .eg-appli__txt h2 { color: var(--eg-creme, #f6f4ef); }
.eg-appli__sombre .eg-appli__liste li { color: rgba(246, 244, 239, .86); }
.eg-appli__legende { margin-top: 0; font-size: .8rem; color: var(--eg-muted); }
.eg-appli__faq { max-width: 760px; padding-top: clamp(1.5rem, 4vw, 3rem); padding-bottom: clamp(2rem, 5vw, 3.5rem); }
.eg-appli__faq h2 { font-family: var(--eg-display); font-weight: 500; font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 1rem; }
.eg-appli__faq details { border-top: 1px solid var(--eg-hair); padding: .9rem 0; }
.eg-appli__faq details:last-of-type { border-bottom: 1px solid var(--eg-hair); }
.eg-appli__faq summary { cursor: pointer; font-weight: 700; color: var(--eg-ink); }
.eg-appli__faq summary:focus-visible { outline: 2px solid var(--eg-warm); outline-offset: 3px; }
.eg-appli__faq details p { margin: .6rem 0 0; line-height: 1.6; color: var(--eg-ink-2); }
.eg-appli__liens { margin-top: 1.2rem; font-size: .9rem; color: var(--eg-muted); }
.eg-appli__fin { background: var(--eg-noir, #12161c); color: var(--eg-creme, #f6f4ef); padding: clamp(2rem, 6vw, 3.5rem) 0; text-align: center; }
.eg-appli__fin h2 { margin: 0 0 1.2rem; font-family: var(--eg-display); font-weight: 500; font-size: clamp(1.6rem, 4vw, 2.4rem); color: var(--eg-creme, #f6f4ef); }
.eg-appli__fin .eg-appli__stores { justify-content: center; }
@media (max-width: 760px) {
	.eg-appli__hero-in, .eg-appli__bloc { grid-template-columns: 1fr; }
	.eg-appli__hero-tel { order: 2; }
	.eg-appli__ecran--hero { max-width: 240px; }
	.eg-appli__bloc--inverse .eg-appli__duo { order: 0; }
	.eg-appli__duo .eg-appli__ecran { max-width: 46%; border-width: 5px; border-radius: 22px; }
	.eg-appli__ecran--decale { margin-top: 1.5rem; }
}
