/* =========================================================================
   Codes promo (l'index et ses pages de région), refondus — 2.137.0.

   Chargée avec eg-ap.css sur ?apercu=1, et pour tout le monde quand
   eg_refonte_promo vaut 1.

   Le HTML est celui d'aujourd'hui, sans une modification : le héros, les
   codes valables groupés par région, les villes, le mode d'emploi, l'index
   des 565 enseignes, les autres pages. Cette feuille habille : héros
   encre, tickets or comme sur l'accueil, régions en pastilles, index sur
   plusieurs colonnes. Les 565 liens restent dans la page.

   Rien n'est masqué.
   ========================================================================= */

.ap-promo { background: var(--ap-papier); }

/* ---------- Le héros ---------- */
.ap-promo .eg-kd__hero { background: var(--ap-encre); color: #fff; padding: 52px 0 40px; }
.ap-promo .eg-kd__hero .eg-doc__grille,
.ap-promo .eg-kd__hero .eg-jeu__halo { display: none; }
.ap-promo .eg-doc__fil { font-family: var(--eg-display, Oswald), sans-serif; font-weight: 300; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .62); }
.ap-promo .eg-doc__fil a { color: rgba(255, 255, 255, .78); text-decoration: none; }
.ap-promo .eg-jeu__sur { font-family: var(--eg-display, Oswald), sans-serif; font-weight: 300; font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--ap-lampe); }
.ap-promo .eg-kd__h { font-family: var(--eg-display, Oswald), sans-serif; font-weight: 300; font-size: clamp(36px, 5vw, 60px); line-height: 1.02; color: #fff; }
.ap-promo .eg-kd__lede { font-size: clamp(17px, 1.5vw, 19px); line-height: 1.6; color: rgba(255, 255, 255, .78); max-width: 44em; }
.ap-promo .eg-kd__hero .eg-kd__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.ap-promo .eg-kd__hero .eg-kd__chips a { border: 0; border-radius: 999px; background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .88); font-family: var(--eg-display, Oswald), sans-serif; font-size: 14px; letter-spacing: .04em; padding: 10px 18px; text-decoration: none; }
.ap-promo .eg-kd__hero .eg-kd__chips a:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.ap-promo .eg-kd__hero .eg-kd__chips a[aria-current],
.ap-promo .eg-kd__hero .eg-kd__chips .is-on { background: var(--ap-lampe); color: var(--ap-encre); }

/* ---------- Les codes : des tickets, comme sur l'accueil ---------- */
.ap-promo .eg-kd__codes { padding-top: 56px; }
.ap-promo .eg-kd__groupe { margin-bottom: 40px; }
.ap-promo .eg-kd__groupe-tete h2 { font-family: var(--eg-display, Oswald), sans-serif; font-weight: 300; font-size: clamp(26px, 3vw, 36px); line-height: 1.08; color: var(--ap-encre); }
.ap-promo .eg-kd__groupe-tete h2 small { font-family: var(--eg-body, Karla), sans-serif; font-size: 15px; color: var(--ap-txt3); }
.ap-promo .eg-kd__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ap-promo .eg-ticket-promo { border: 0; border-radius: var(--ap-r); background: var(--ap-lampe); color: var(--ap-encre); box-shadow: none; overflow: hidden; }
.ap-promo .eg-ticket-promo__ens a { font-family: var(--eg-display, Oswald), sans-serif; font-weight: 400; font-size: 21px; line-height: 1.15; color: var(--ap-encre); }
.ap-promo .eg-ticket-promo__offre { font-family: var(--eg-display, Oswald), sans-serif; font-weight: 300; font-size: 30px; line-height: 1.05; }
.ap-promo .eg-ticket-promo__bas { border-top: 1px dashed rgba(18, 18, 15, .25); background: rgba(255, 255, 255, .25); }
.ap-promo .eg-ticket-promo code,
.ap-promo .eg-ticket-promo__code { font-family: var(--eg-display, Oswald), sans-serif; font-size: 18px; letter-spacing: .12em; color: var(--ap-encre); background: transparent; }
.ap-promo .eg-ticket-promo .eg-btn,
.ap-promo .eg-ticket-promo button { background: var(--ap-encre); color: #fff; border: 0; border-radius: 0; font-family: var(--eg-display, Oswald), sans-serif; font-weight: 500; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 4px 0 rgba(18, 18, 15, .35); }

/* ---------- Villes, mode d'emploi, index, autres ---------- */
.ap-promo .eg-kd__villes,
.ap-promo .eg-kd__index,
.ap-promo .eg-kd__autres { padding-top: 56px; }
.ap-promo .eg-kd__sombre { margin-top: 56px; background: var(--ap-encre); color: #fff; }
.ap-promo .eg-kd__h2,
.ap-promo .eg-kd__index h2,
.ap-promo .eg-kd__villes h2,
.ap-promo .eg-kd__autres h2 { font-family: var(--eg-display, Oswald), sans-serif; font-weight: 300; font-size: clamp(26px, 3vw, 38px); line-height: 1.06; }
.ap-promo .eg-kicker { font-family: var(--eg-display, Oswald), sans-serif; font-weight: 300; font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--ap-chaud); }
.ap-promo .eg-kd__sombre .eg-kicker { color: var(--ap-lampe); }

/* L'index des 565 : cinq colonnes serrées, chaque lien à sa place. */
.ap-promo .eg-kd__index ul,
.ap-promo .eg-kd__index ol { columns: 5; column-gap: 28px; list-style: none; margin: 18px 0 0; padding: 0; }
.ap-promo .eg-kd__index li { break-inside: avoid; margin: 0; padding: 0; line-height: 2; font-size: 15px; }
.ap-promo .eg-kd__index li a { color: var(--ap-encre); text-decoration: none; }
.ap-promo .eg-kd__index li a:hover { color: var(--ap-chaud); text-decoration: underline; }

.ap-promo .eg-kd__villes ul,
.ap-promo .eg-kd__autres ul { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ap-promo .eg-kd__villes li a,
.ap-promo .eg-kd__autres li a { display: inline-flex; align-items: baseline; gap: 9px; padding: 11px 18px; border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(18, 18, 15, .05); font-size: 15.5px; color: var(--ap-encre); text-decoration: none; }
.ap-promo .eg-kd__villes li a:hover,
.ap-promo .eg-kd__autres li a:hover { background: var(--ap-encre); color: #fff; }

@media (max-width: 1040px) {
	.ap-promo .eg-kd__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ap-promo .eg-kd__index ul, .ap-promo .eg-kd__index ol { columns: 3; }
}
@media (max-width: 680px) {
	.ap-promo .eg-kd__hero { padding: 36px 0 30px; }
	.ap-promo .eg-kd__grille { grid-template-columns: 1fr; gap: 16px; }
	.ap-promo .eg-kd__index ul, .ap-promo .eg-kd__index ol { columns: 2; column-gap: 18px; }
	.ap-promo .eg-kd__codes, .ap-promo .eg-kd__villes, .ap-promo .eg-kd__index, .ap-promo .eg-kd__autres { padding-top: 40px; }
}

/* Contrôle d'après publication (27 sept., 0 h 40) : sur le fond or du
   ticket, le gris de l'ancien ticket (#6b6357 : 3,4) et son orange
   (#b76e12 : 2,6) ne passaient plus. Tout le texte du ticket est en encre ;
   le secondaire à 78 % d'encre fait 6,4 sur or. Et le kicker de la carte
   « application », or sur or dans la section sombre : encre lui aussi. */
.ap-promo .eg-ticket-promo,
.ap-promo .eg-ticket-promo__offre,
.ap-promo .eg-ticket-promo__ens a { color: var(--ap-encre); }
.ap-promo .eg-ticket-promo__ens small,
.ap-promo .eg-ticket-promo__fin,
.ap-promo .eg-ticket-promo__code i,
.ap-promo .eg-ticket-promo small { color: rgba(18, 18, 15, .78); }
.ap-promo .eg-kd__app .eg-kicker { color: var(--ap-encre); }

/* Les pastilles de région qui vivent HORS du héros (pages de région, sur
   fond clair) : encre sur blanc, pas blanc sur blanc. Relevé après
   publication sur la page Occitanie. */
.ap-promo section .eg-kd__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.ap-promo section .eg-kd__chips a { border: 0; border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(18, 18, 15, .06); color: var(--ap-encre); font-family: var(--eg-display, Oswald), sans-serif; font-size: 14px; letter-spacing: .04em; padding: 10px 18px; text-decoration: none; }
.ap-promo section .eg-kd__chips a i { font-style: normal; color: var(--ap-txt3); }
.ap-promo section .eg-kd__chips a:hover { background: var(--ap-encre); color: #fff; }
.ap-promo section .eg-kd__chips a[aria-current] { background: var(--ap-lampe); color: var(--ap-encre); }

/* Le compteur des pastilles hors héros : la règle d'origine (--eg-muted, 3,1
   sur blanc) l'emporte encore ; on force, c'est la seule exception. */
.ap-promo section .eg-kd__chips a i { color: var(--ap-txt3) !important; }
