:root {
  --es-vert: #00E676; --es-vert-tx: #00B85C; --es-vert-doux: #E9FDF1; --es-noir: #000; --es-blanc: #ffffff;
  --es-gris: #F1F1F1; --es-filet: #EAEAEA; --es-2: #6B6B6B; --es-3: #9A9A9A; --es-champ: #D6D6D6; --es-rouge: #D50000; --es-fond-ext: #EDEDED;
  --es-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;
}
html.es, html.es body { margin: 0; background: var(--es-blanc); color: var(--es-noir); font-family: var(--es-font); -webkit-text-size-adjust: 100%; }
.es *, .es *::before, .es *::after { box-sizing: border-box; }
.es [hidden] { display: none !important; }
.es :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.es :where(a) { color: inherit; }
.es :focus-visible { outline: 3px solid var(--es-vert); outline-offset: 2px; }
.es-tel input:focus-visible, .es-otp input:focus-visible, .es-champ:focus-visible { outline: 0; }
.es-champ:focus { box-shadow: 0 0 0 3px var(--es-vert-tx); }
.es-app { position: relative; max-width: 390px; min-height: 100dvh; margin: 0 auto; display: flex; flex-direction: column; background: var(--es-blanc);
  padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }

.es-logo { font-weight: 900; font-size: 20px; letter-spacing: -0.03em; white-space: nowrap; text-decoration: none; color: var(--es-noir); }
.es-logo span { background: var(--es-vert); color: var(--es-noir); border-radius: 6px; padding: 0 5px; margin: 0 2px; }

.es-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 60px; border-radius: 14px; background: var(--es-vert);
  color: var(--es-noir); font-size: 17px; font-weight: 800; text-decoration: none; }
.es-btn[aria-disabled="true"] { opacity: .35; cursor: not-allowed; }
.es-btn--noir { background: var(--es-noir); color: var(--es-blanc); }
.es-btn i { font-style: normal; font-size: 20px; }
.es-rond { width: 40px; height: 40px; border-radius: 50%; background: var(--es-gris); display: flex; align-items: center; justify-content: center; font-size: 22px; flex: none; }

.es-stores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.es-store { display: flex; align-items: center; justify-content: center; gap: 8px; background: #000; color: #fff; border-radius: 12px; height: 52px; text-decoration: none; box-shadow: 0 0 0 1px #333; }
.es-store > span { display: flex; flex-direction: column; line-height: 1.05; }
.es-store small { font-size: 10px; }
.es-store b { font-size: 15px; font-weight: 700; }
.es-store[aria-disabled="true"] { cursor: default; }

.es-cx-tete { display: flex; align-items: center; justify-content: space-between; padding: 6px 20px 0; flex: none; }
.es-cx-tete .es-rond { visibility: hidden; }
.es-cx-tete[data-retour="1"] .es-rond { visibility: visible; }
.es-cx-vue { flex: 1; display: flex; flex-direction: column; gap: 18px; padding: 34px 20px 0; }
.es-cx-h { display: flex; flex-direction: column; gap: 10px; }
.es-cx-h1 { margin: 0; font-size: 36px; font-weight: 900; letter-spacing: -0.045em; line-height: 1.02; }
.es-cx-h1 em { font-style: normal; color: var(--es-vert-tx); }
.es-cx-sous { margin: 0; font-size: 16px; line-height: 1.4; font-weight: 700; }
.es-cx-sous button { text-decoration: underline; font-weight: 800; }
.es-tel { display: flex; align-items: center; gap: 10px; background: #fff; color: #000; border: 3px solid var(--es-champ); border-radius: 14px; padding: 0 14px; height: 62px; }
.es-tel[data-ok="1"] { border-color: var(--es-vert-tx); }
.es-tel-pre { display: flex; align-items: center; gap: 7px; font-size: 17px; font-weight: 700; flex: none; }
.es-drapeau { width: 20px; height: 14px; border-radius: 2px; background: linear-gradient(90deg, #0055A4 0 33%, #fff 33% 66%, #EF4135 66%); box-shadow: 0 0 0 1px #DDD; }
.es-tel-sep { width: 1px; height: 26px; background: var(--es-champ); }
.es-tel input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 19px; font-weight: 600; color: #000; font-family: inherit; }
.es-tel input::placeholder { color: var(--es-3); }
.es-cx-bascule { font-size: 14px; line-height: 1.45; font-weight: 600; }
.es-cx-bascule button { font-weight: 800; color: var(--es-vert-tx); text-decoration: underline; text-underline-offset: 3px; }
.es-ou { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; }
.es-ou::before, .es-ou::after { content: ""; flex: 1; height: 1px; background: var(--es-gris); box-shadow: 0 0 0 .5px var(--es-champ); }
.es-cx-accord { margin-top: auto; padding-bottom: 34px; font-size: 12.5px; line-height: 1.45; text-align: center; font-weight: 600; }
.es-cx-accord a { font-weight: 800; color: var(--es-vert-tx); }
.es-otp { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.es-otp span { height: 62px; border-radius: 14px; background: #fff; color: #000; border: 3px solid var(--es-champ); display: flex; align-items: center; justify-content: center; font-size: 27px; font-weight: 800; }
.es-otp span[data-cur="1"] { border-color: var(--es-vert-tx); }
.es-otp[data-err="1"] span { border-color: var(--es-rouge); }
.es-otp input { position: absolute; inset: 0; opacity: 0; font-size: 16px; border: 0; cursor: text; width: 100%; }
.es-err { align-self: flex-start; font-size: 13px; font-weight: 700; background: var(--es-rouge); color: #fff; border-radius: 8px; padding: 6px 10px; }
.es-renvoyer { align-self: flex-start; font-size: 14px; font-weight: 800; background: var(--es-gris); color: var(--es-vert-tx); border-radius: 999px; padding: 9px 14px; }
.es-renvoyer[aria-disabled="true"] { opacity: .5; cursor: default; }
.es-cx-bas { margin-top: auto; margin-bottom: 34px; display: flex; flex-direction: column; gap: 6px; }
.es-ok-rond { width: 68px; height: 68px; border-radius: 50%; background: var(--es-vert-tx); display: flex; align-items: center; justify-content: center; }
.es-champ-l { display: flex; flex-direction: column; gap: 8px; }
.es-champ-l b { font-size: 15px; font-weight: 800; }
.es-champ { height: 58px; border-radius: 14px; background: var(--es-gris); border: 0; padding: 0 14px; font-size: 16px; outline: 0; font-family: inherit; color: #000; width: 100%; }
.es-lien-doux { text-align: center; font-size: 14px; font-weight: 800; padding: 10px; }

@keyframes esPop { 0% { transform: scale(.6) translateY(40px); opacity: 0 } 60% { transform: scale(1.04) translateY(0); opacity: 1 } 100% { transform: scale(1) } }
@keyframes esFondu { from { opacity: 0 } to { opacity: 1 } }
@keyframes esConfetti { 0% { transform: translateY(-20px) rotate(0); opacity: 0 } 15% { opacity: 1 } 100% { transform: translateY(520px) rotate(540deg); opacity: 0 } }
@keyframes esLueur { 0%, 100% { box-shadow: 0 0 0 0 rgba(0,230,118,.6) } 50% { box-shadow: 0 0 0 14px rgba(0,230,118,0) } }
.es-app--espace { height: 100dvh; min-height: 0; overflow: hidden; }
.es-tete { display: flex; align-items: center; justify-content: space-between; padding: 10px 20px 0; flex: none; }
.es-compte { display: flex; align-items: center; gap: 7px; background: var(--es-gris); border-radius: 999px; padding: 4px 12px 4px 4px; text-decoration: none; color: #000; max-width: 62%; }
.es-photo { position: relative; width: 32px; height: 32px; flex: none; }
.es-photo > img, .es-photo > i { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: flex; align-items: center; justify-content: center; border: 2px solid #000; font-style: normal; font-size: 12px; font-weight: 900; background: #fff; }
.es-photo > b { position: absolute; right: -2px; bottom: -2px; width: 13px; height: 13px; border-radius: 50%; background: var(--es-vert); border: 2px solid #fff; display: flex; align-items: center; justify-content: center; font-size: 7px; font-weight: 900; color: #000; }
.es-compte-t { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.es-compte-t b { font-size: 13px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-compte-t small { font-size: 11px; font-weight: 600; color: var(--es-2); white-space: nowrap; }
.es-compte > i { font-style: normal; font-size: 15px; color: var(--es-2); margin-left: 2px; }
.es-vue { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 20px 110px; display: flex; flex-direction: column; gap: 12px; scrollbar-width: none; }
.es-vue::-webkit-scrollbar { display: none; }
.es-vue > * { flex: none; }
.es-h1 { margin: 0; font-size: 32px; font-weight: 900; letter-spacing: -0.045em; line-height: 1.02; }
.es-chercher { display: flex; align-items: center; gap: 10px; background: var(--es-gris); border-radius: 14px; padding: 0 14px; height: 46px; }
.es-chercher input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 15px; font-family: inherit; color: #000; }
.es-chercher input::placeholder { color: var(--es-2); }
.es-chercher button { width: 22px; height: 22px; border-radius: 50%; background: #000; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 11px; flex: none; }
.es-sur { display: flex; align-items: center; justify-content: space-between; margin: 2px 4px -4px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; color: var(--es-2); }
.es-sur--bas { margin: 6px 0 -4px 4px; }
.es-pastille { font-size: 12px; font-weight: 800; letter-spacing: 0; background: #000; color: #fff; border-radius: 999px; padding: 3px 9px; }
.es-vide { font-size: 14px; color: var(--es-2); padding: 4px; }
.es-carrousel { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -20px; padding: 0 20px; scrollbar-width: none; }
.es-carrousel::-webkit-scrollbar { display: none; }
.es-encours { flex: 0 0 100%; scroll-snap-align: center; border-radius: 22px; padding: 16px; display: flex; flex-direction: column; gap: 14px; background: var(--es-vert); color: #000; }
.es-carrousel[data-n="plusieurs"] .es-encours { flex-basis: calc(100% - 34px); }
.es-encours-t { display: flex; align-items: center; gap: 10px; }
.es-av { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; letter-spacing: -0.04em; overflow: hidden; flex: none; background: #000; color: var(--es-vert); }
.es-av img { width: 100%; height: 100%; object-fit: cover; }
.es-encours .es-av { box-shadow: 0 0 0 2px #fff; }
.es-encours-n { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.es-encours-n b { display: flex; align-items: center; gap: 5px; font-size: 15px; font-weight: 800; white-space: nowrap; }
.es-encours-n small { font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-pos { font-size: 11.5px; font-weight: 800; background: #000; color: #fff; border-radius: 999px; padding: 4px 9px; flex: none; }
.es-montant { font-size: 44px; font-weight: 900; letter-spacing: -0.05em; line-height: 1; }
.es-encours-g { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.es-encours-g button { height: 52px; border-radius: 14px; font-size: 16px; font-weight: 800; background: #000; color: #fff; }
.es-encours-g button + button { background: #fff; color: #000; padding: 0 16px; font-size: 14px; font-weight: 700; }
.es-souligne { align-self: center; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.es-verifie { flex: none; display: inline-block; vertical-align: middle; }
.es-liste { display: flex; flex-direction: column; border: 1px solid var(--es-filet); border-radius: 16px; overflow: hidden; }
.es-ligne { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-top: 1px solid var(--es-gris); text-align: left; width: 100%; }
.es-liste > :first-child { border-top: 0; }
.es-ligne .es-av { width: 38px; height: 38px; font-size: 12px; }
.es-ligne-t { display: flex; flex-direction: column; min-width: 0; }
.es-ligne-t b { font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-ligne-t small { font-size: 12px; color: var(--es-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-ligne > em { font-style: normal; font-size: 14.5px; font-weight: 900; white-space: nowrap; }
.es-ligne[data-ton="plus"] > em { color: var(--es-vert-tx); }
.es-ligne[data-ton="gris"] { opacity: .55; }
.es-nav { position: fixed; left: 50%; transform: translateX(-50%); width: min(358px, calc(100% - 32px)); bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 4; display: flex; gap: 4px; padding: 6px; background: #000; border-radius: 999px; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.es-nav a { flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 6px; height: 48px; border-radius: 999px; color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; min-width: 0; }
.es-nav a span { display: none; white-space: nowrap; }
.es-nav a[aria-current="page"] { flex: 1.8 1 0; background: var(--es-vert); color: #000; }
.es-nav a[aria-current="page"] span { display: inline; }
.es-nav svg { flex: none; }
.es-voile { position: fixed; inset: 0; z-index: 30; background: rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center; padding: 18px; animation: esFondu .2s ease-out both; }
.es-modale { width: 100%; max-width: 354px; max-height: calc(100dvh - 36px); overflow: auto; background: #fff; border-radius: 24px; padding: 20px; display: flex; flex-direction: column; gap: 14px; animation: esPop .4s cubic-bezier(.2,.9,.3,1.2) both; }
.es-modale-t { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.es-modale-t h2 { margin: 0; font-size: 19px; font-weight: 900; letter-spacing: -0.02em; }
.es-fermer { width: 32px; height: 32px; border-radius: 50%; background: var(--es-gris); display: flex; align-items: center; justify-content: center; font-size: 15px; flex: none; }
.es-modale h3 { margin: 0; font-size: 22px; font-weight: 900; letter-spacing: -0.03em; }
.es-qui { display: flex; align-items: center; gap: 10px; }
.es-qui .es-av { width: 44px; height: 44px; font-size: 12px; }
.es-qui span:not(.es-av) { display: flex; flex-direction: column; min-width: 0; }
.es-qui b { font-size: 15px; font-weight: 800; }
.es-qui small { font-size: 12.5px; color: var(--es-2); }
.es-points { display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; line-height: 1.4; margin: 0; padding: 0; list-style: none; }
.es-raison { font-size: 13px; font-weight: 700; }
.es-puces { display: flex; gap: 6px; flex-wrap: wrap; }
.es-puces button { font-size: 12.5px; font-weight: 700; border-radius: 999px; padding: 6px 11px; background: var(--es-gris); color: #000; }
.es-puces button[aria-pressed="true"] { background: #000; color: #fff; }
.es-btn--plat { height: 52px; font-size: 16px; }
.es-lien-gris { text-align: center; font-size: 14px; font-weight: 700; color: var(--es-2); }
.es-conds { display: flex; flex-direction: column; gap: 12px; border: 2px solid var(--es-vert); border-radius: 16px; padding: 14px; margin: 0; list-style: none; }
.es-conds li { display: flex; gap: 12px; font-size: 14px; line-height: 1.4; }
.es-conds svg { flex: none; margin-top: 1px; }
.es-case { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 700; cursor: pointer; }
.es-case input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.es-case i { width: 26px; height: 26px; border-radius: 7px; border: 2px solid #000; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 15px; font-weight: 900; flex: none; }
.es-case input:checked + i { background: var(--es-vert); }
.es-case input:checked + i::after { content: "✓"; }
.es-case input:focus-visible + i { outline: 3px solid var(--es-vert); outline-offset: 2px; }
.es-modale--code { align-items: center; text-align: center; gap: 10px; }
.es-modale--code > small { font-size: 13px; font-weight: 700; color: var(--es-2); }
.es-qr { width: 180px; height: 180px; padding: 8px; border: 1px solid var(--es-filet); border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.es-qr > * { width: 100%; height: 100%; }
.es-code { font-family: ui-monospace, Menlo, monospace; font-size: 34px; font-weight: 800; letter-spacing: .1em; }
.es-lie { font-size: 13px; font-weight: 700; color: var(--es-vert-tx); }
.es-toucher { font-size: 12px; color: var(--es-2); }
.es-toast { position: fixed; left: 50%; transform: translateX(-50%); width: min(358px, calc(100% - 32px)); bottom: calc(92px + env(safe-area-inset-bottom)); z-index: 25; background: #000; color: #fff; border-radius: 14px; padding: 12px 14px; font-size: 13.5px; font-weight: 700; animation: esFondu .2s ease-out both; }
@media (prefers-reduced-motion: reduce) { .es-voile, .es-modale, .es-toast { animation: none; } }

.es-recharge { display: flex; align-items: center; gap: 10px; background: var(--es-vert); color: #000; border-radius: 14px; padding: 10px 12px; animation: esPop .45s ease-out both; }
.es-recharge > span:first-child { width: 28px; height: 28px; border-radius: 50%; background: #000; color: var(--es-vert); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 900; flex: none; }
.es-recharge > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.es-recharge b { font-size: 14px; font-weight: 800; }
.es-recharge small { font-size: 12px; font-weight: 600; }
.es-info { display: flex; align-items: center; gap: 10px; background: var(--es-gris); border-radius: 14px; padding: 10px 12px; font-size: 12.5px; line-height: 1.4; }
.es-info > span:first-child { width: 22px; height: 22px; border-radius: 50%; background: #000; color: var(--es-vert); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; flex: none; }
.es-filtres { display: flex; gap: 6px; flex-wrap: wrap; }
.es-filtres button { font-size: 13px; font-weight: 700; border-radius: 999px; padding: 8px 12px; background: var(--es-gris); color: #000; }
.es-filtres button[aria-pressed="true"] { background: #000; color: #fff; }
.es-ecartes { display: flex; flex-direction: column; gap: 10px; }
.es-ecarte { border: 1px solid var(--es-filet); border-radius: 20px; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: #fff; cursor: pointer; transition: box-shadow .3s, border .3s; }
.es-ecarte--recharge { border: 2px solid var(--es-vert); box-shadow: 0 0 0 6px rgba(0,230,118,.22); }
.es-ecarte-t { display: flex; align-items: center; gap: 10px; }
.es-ecarte .es-av { width: 44px; height: 44px; font-size: 12px; }
.es-ecarte-n { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.es-ecarte-n b { font-size: 15.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-ecarte-n small { font-size: 11.5px; font-weight: 700; color: var(--es-2); }
.es-solde { display: flex; flex-direction: column; align-items: flex-end; flex: none; }
.es-solde small { font-size: 10.5px; font-weight: 800; color: var(--es-2); letter-spacing: .06em; }
.es-solde b { font-size: 24px; font-weight: 900; letter-spacing: -0.04em; line-height: 1; }
.es-solde b.es-solde--nul { color: var(--es-3); }
.es-coupons { display: flex; gap: 6px; flex-wrap: wrap; }
.es-coupons span { font-size: 11.5px; font-weight: 800; background: var(--es-vert-doux); color: #000; border: 1px solid var(--es-vert); border-radius: 999px; padding: 3px 9px; }
.es-btn--carte { height: 48px; font-size: 15.5px; }
.es-plus { color: var(--es-vert); font-size: 18px; }
.es-derniers { display: flex; flex-direction: column; border-top: 1px solid var(--es-gris); font-size: 12.5px; }
.es-derniers > div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 2px 0; }
.es-derniers > div span, .es-derniers > span { color: var(--es-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-top: 7px; }
.es-derniers > div span { padding-top: 0; }
.es-derniers b { flex: none; }
[data-ton="plus"] > b, b[data-ton="plus"] { color: var(--es-vert-tx); }
.es-voile:has(.es-modale--feuille) { align-items: flex-end; padding: 0; }
.es-modale--feuille { max-width: 390px; border-radius: 26px 26px 0 0; padding: 18px 18px 34px; gap: 12px; max-height: 88dvh; }
.es-modale--feuille .es-qui > span:not(.es-av) { flex: 1; }
.es-modale--feuille .es-qui b { font-size: 17px; font-weight: 900; }
.es-sur-t { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; color: var(--es-2); }
.es-solde-noir { background: #000; color: #fff; border-radius: 18px; padding: 14px 16px; display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; }
.es-solde-noir b { font-size: 40px; font-weight: 900; letter-spacing: -0.05em; line-height: 1; }
.es-solde-noir span { font-size: 11.5px; font-weight: 800; background: var(--es-vert); color: #000; border-radius: 999px; padding: 4px 10px; }
.es-solde-noir span[data-actif="false"] { background: #fff; }
.es-gagne { border: 2px solid var(--es-vert); border-radius: 16px; padding: 12px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.es-gagne > span { display: flex; flex-direction: column; min-width: 0; }
.es-gagne > span b { font-size: 14.5px; font-weight: 800; }
.es-gagne > span small { font-size: 12px; color: var(--es-2); }
.es-gagne > b { font-size: 20px; font-weight: 900; white-space: nowrap; }
.es-ligne--petite { grid-template-columns: 30px minmax(0, 1fr) auto; cursor: default; }
.es-ic { width: 30px; height: 30px; border-radius: 50%; background: var(--es-gris); color: #000; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 900; }
.es-ligne--petite[data-ton="plus"] .es-ic { background: var(--es-vert); }
.es-ligne--petite > em { font-size: 14px; }
.es-qui-h { font-size: 17px !important; font-weight: 900 !important; letter-spacing: -0.02em; }
.es-modale--utiliser .es-qui > span:not(.es-av) { flex: 1; }
.es-saisie { display: flex; align-items: center; gap: 8px; background: var(--es-gris); border: 2px solid var(--es-vert); border-radius: 16px; padding: 0 16px; height: 72px; }
.es-saisie--trop { border-color: var(--es-rouge); }
.es-saisie span { flex: 1; min-width: 0; font-size: 40px; font-weight: 900; letter-spacing: -0.04em; }
.es-saisie span[data-vide="true"] { color: var(--es-3); }
.es-saisie b { font-size: 32px; font-weight: 900; }
.es-trop { margin: 0; font-size: 13px; font-weight: 700; color: var(--es-rouge); }
.es-pave { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.es-pave button { height: 46px; border-radius: 12px; background: var(--es-gris); font-size: 22px; font-weight: 700; user-select: none; }
.es-pave button:active { background: #DADADA; }
.es-mention { font-size: 11.5px; line-height: 1.4; color: var(--es-2); }
.es-centre { text-align: center; align-self: center; }
.es-ordre { display: flex; flex-direction: column; border: 1px solid var(--es-filet); border-radius: 14px; overflow: hidden; }
.es-ordre > div { display: flex; justify-content: space-between; gap: 10px; padding: 8px 12px; font-size: 13px; border-top: 1px solid var(--es-gris); }
.es-ordre > div:first-child { border-top: 0; }
.es-ordre span { color: var(--es-2); }
.es-ordre .es-gros { font-size: 18px; }
.es-ordre .es-vert { color: var(--es-vert-tx); }
.es-ok-rond--centre { align-self: center; }
.es-texte { margin: 0; font-size: 14px; line-height: 1.45; }
.es-debite { align-self: center; font-size: 40px; font-weight: 900; letter-spacing: -0.05em; }
.es-reste { display: flex; justify-content: space-between; background: var(--es-gris); border-radius: 14px; padding: 12px 14px; font-size: 14px; }
.es-zero { display: flex; flex-direction: column; gap: 4px; background: var(--es-gris); border-radius: 14px; padding: 12px 14px; font-size: 13px; line-height: 1.4; }
.es-voile--cadeau { background: rgba(0,0,0,.7); padding: 20px; overflow: hidden; z-index: 40; }
.es-confettis { position: absolute; inset: 0; pointer-events: none; }
.es-confettis span { position: absolute; top: 0; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); animation-name: esConfetti; animation-timing-function: ease-in; animation-iteration-count: infinite; }
.es-cadeau { position: relative; width: 100%; max-width: 350px; background: #fff; border-radius: 24px; overflow: hidden; animation: esPop .5s cubic-bezier(.2,.9,.3,1.2) both; }
.es-cadeau-h { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 16px 24px; text-align: center; }
.es-av--cadeau { width: 70px !important; height: 70px !important; font-size: 13px !important; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #9B5CF6; }
.es-cadeau-offre { font-size: 13px; font-weight: 800; letter-spacing: .1em; margin-top: 6px; }
.es-cadeau-m { font-size: 72px; font-weight: 900; letter-spacing: -0.06em; line-height: 1; }
.es-cadeau-s { font-size: 15px; font-weight: 700; }
.es-cadeau-b { display: flex; flex-direction: column; gap: 10px; padding: 18px; }
.es-cadeau-b ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.35; }
.es-cadeau-b li { display: flex; align-items: center; gap: 10px; }
.es-cadeau-b li i { width: 22px; height: 22px; border-radius: 50%; background: var(--es-vert); color: #000; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 12px; font-weight: 900; flex: none; }
.es-btn--lueur { height: 54px; animation: esLueur 1.6s ease-in-out infinite; }
.es-cadeau-n { font-size: 12px; color: var(--es-2); text-align: center; }
@media (prefers-reduced-motion: reduce) { .es-confettis { display: none; } .es-btn--lueur, .es-cadeau, .es-recharge { animation: none; } }

.es-h1--carte { font-size: 28px; line-height: 1.05; }
.es-tuiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.es-tuiles[data-n="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.es-tuile { display: flex; flex-direction: column; align-items: center; gap: 3px; border: 1.5px solid var(--es-filet); background: #fff; border-radius: 12px; padding: 8px 4px; color: #000; }
.es-tuile[aria-pressed="true"] { border-color: var(--es-vert); background: var(--es-vert-doux); }
.es-tuile b { font-size: 13px; font-weight: 700; line-height: 1.1; }
.es-tuile small { font-size: 10.5px; color: var(--es-2); line-height: 1.1; }
.es-sur--carte { margin: 0; font-size: 10.5px; font-weight: 700; }
.es-sur--carte em { font-style: normal; font-size: 11.5px; letter-spacing: 0; color: var(--es-vert-tx); }
.es-plan { position: relative; height: 126px; border-radius: 14px; overflow: hidden; border: 1px solid #E1E3E6; background: #F3F4F2;
  background-image: linear-gradient(28deg, transparent 48%, #E2E4E1 48%, #E2E4E1 51%, transparent 51%), linear-gradient(-12deg, transparent 60%, #E6E8E5 60%, #E6E8E5 62%, transparent 62%), radial-gradient(ellipse 70px 50px at 8% 70%, #D7DCDF 98%, transparent 100%); }
.es-plan-l { position: absolute; inset: 0; width: 100%; height: 100%; }
.es-pin { position: absolute; transform: translate(-50%, -100%); display: flex; align-items: center; gap: 4px; background: #fff; color: #000; font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 3px 7px 3px 3px; box-shadow: 0 2px 6px rgba(0,0,0,.18); white-space: nowrap; }
.es-pin[aria-current="true"] { background: var(--es-vert); z-index: 2; }
.es-pin > span { width: 16px; height: 16px; border-radius: 5px; background: #000; display: flex; align-items: center; justify-content: center; }
.es-moi { position: absolute; transform: translate(-50%, -50%); width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 9px rgba(0,230,118,.35), 0 1px 4px rgba(0,0,0,.2); display: flex; align-items: center; justify-content: center; }
.es-moi i { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 10px solid #000; transform: rotate(60deg); }
.es-plan-sel { position: absolute; left: 8px; top: 8px; display: flex; align-items: center; gap: 5px; background: #fff; border-radius: 999px; padding: 4px 10px; font-size: 11.5px; font-weight: 700; color: #000; box-shadow: 0 2px 8px rgba(0,0,0,.1); max-width: 75%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-plan-loc { position: absolute; right: 8px; bottom: 8px; width: 30px; height: 30px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.15); display: flex; align-items: center; justify-content: center; font-size: 15px; color: #000; }
.es-carte-f { display: flex; align-items: center; gap: 6px; }
.es-carte-f > span:empty { flex: 1; }
.es-carte-f [data-ouverts] { font-size: 12px; font-weight: 650; border-radius: 999px; padding: 5px 12px; border: 1px solid var(--es-filet); background: #fff; color: #000; }
.es-carte-f [data-ouverts][aria-pressed="true"] { border-color: #000; background: #000; color: #fff; }
.es-suivant { font-size: 12px; font-weight: 650; color: var(--es-vert-tx); padding: 5px 2px; }
.es-point { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; align-items: center; border: 2px solid #000; border-radius: 14px; padding: 8px 10px; }
.es-point-ic { width: 36px; height: 36px; border-radius: 10px; background: #000; display: flex; align-items: center; justify-content: center; }
.es-point-t { display: flex; flex-direction: column; min-width: 0; }
.es-point-t b { font-size: 13.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-point-t small { font-size: 11px; color: #6B7280; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-point-t em { font-style: normal; font-size: 11px; font-weight: 700; color: var(--es-vert-tx); }
.es-point-t em[data-ouvert="false"] { color: var(--es-rouge); }
.es-moyens { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.es-moyens span { font-size: 10.5px; font-weight: 800; background: var(--es-gris); color: #000; border-radius: 6px; padding: 2px 6px; }
.es-point-d { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.es-point-d b { font-size: 12.5px; font-weight: 700; color: var(--es-vert-tx); white-space: nowrap; }
.es-point-d a, .es-point-d button { font-size: 11.5px; font-weight: 800; background: #000; border-radius: 999px; padding: 4px 10px; color: #fff; text-decoration: none; white-space: nowrap; }
.es-point-d button[aria-disabled="true"] { background: var(--es-gris); color: var(--es-2); }
.es-en { display: flex; flex-direction: column; gap: 6px; }
.es-en-o { display: flex; align-items: center; gap: 10px; border: 1.5px solid var(--es-filet); background: #fff; border-radius: 12px; padding: 12px; text-align: left; color: #000; }
.es-en-o > i { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--es-filet); display: flex; align-items: center; justify-content: center; flex: none; }
.es-en-o[aria-pressed="true"] { border-color: var(--es-vert); background: var(--es-vert-doux); }
.es-en-o[aria-pressed="true"] > i { border-color: var(--es-vert); }
.es-en-o[aria-pressed="true"] > i::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #000; }
.es-en-o span { display: flex; flex-direction: column; }
.es-en-o b { font-size: 14px; font-weight: 700; }
.es-en-o small { font-size: 11.5px; color: #6B7280; }
.es-en-info { margin: 0; font-size: 12px; line-height: 1.4; color: var(--es-2); padding: 2px 2px 0; }
.es-vue .es-btn--plat { height: 50px; font-size: 15.5px; }
.es-ctx { margin: -20px -20px 0; padding: 4px 16px 18px; border-radius: 0 0 24px 24px; display: flex; flex-direction: column; gap: 10px; }
.es-app--ctx .es-tete { background: var(--es-ctx-fond, transparent); }
.es-ctx-l { display: flex; align-items: center; gap: 10px; }
.es-ctx-retour { width: 36px; height: 36px; border-radius: 50%; background: rgba(0,0,0,.08); color: inherit; font-size: 20px; flex: none; }
.es-av--ctx { width: 50px !important; height: 50px !important; font-size: 11px !important; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #9B5CF6; }
.es-ctx-n { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.es-ctx-n b { font-size: 17px; font-weight: 800; letter-spacing: -0.02em; display: flex; align-items: center; gap: 5px; }
.es-ctx-n small { font-size: 12.5px; font-weight: 600; opacity: .75; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-ctx-n u { font-size: 11.5px; font-weight: 700; text-underline-offset: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-ctx-m { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: none; }
.es-ctx-m b { font-size: 22px; font-weight: 900; letter-spacing: -0.04em; }
.es-ctx-m i { font-style: normal; font-size: 12px; font-weight: 700; background: #FFF6DF; color: #8A5A12; border: 1px solid #E9C36A; border-radius: 8px; padding: 3px 8px; }
.es-ctx-rsl { display: flex; align-items: center; gap: 8px; padding-left: 46px; }
.es-ctx-rsl > span { font-size: 11px; font-weight: 600; opacity: .75; }
.es-ctx-rs { width: 28px; height: 28px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 1.5px rgba(0,0,0,.12); }
.es-ctx-rs .es-rs { width: 16px; height: 16px; background-color: #141821; }
.es-rs { display: block; width: 14px; height: 14px; background-color: currentColor; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; flex: none; }
.es-rs[data-k="snapchat"] { -webkit-mask-image: url(vendor/simple-icons-16.36.0/snapchat.svg?v=fbbc31c55449); mask-image: url(vendor/simple-icons-16.36.0/snapchat.svg?v=fbbc31c55449); }
.es-rs[data-k="instagram"] { -webkit-mask-image: url(vendor/simple-icons-16.36.0/instagram.svg?v=f53af2d1fc52); mask-image: url(vendor/simple-icons-16.36.0/instagram.svg?v=f53af2d1fc52); }
.es-rs[data-k="tiktok"] { -webkit-mask-image: url(vendor/simple-icons-16.36.0/tiktok.svg?v=6f54ac8d325f); mask-image: url(vendor/simple-icons-16.36.0/tiktok.svg?v=6f54ac8d325f); }
.es-rs[data-k="whatsapp"] { -webkit-mask-image: url(vendor/simple-icons-16.36.0/whatsapp.svg?v=8fb209a53a61); mask-image: url(vendor/simple-icons-16.36.0/whatsapp.svg?v=8fb209a53a61); }
.es-rs[data-k="telegram"] { -webkit-mask-image: url(vendor/simple-icons-16.36.0/telegram.svg?v=147fd8f8923e); mask-image: url(vendor/simple-icons-16.36.0/telegram.svg?v=147fd8f8923e); }
.es-rs[data-k="facebook"] { -webkit-mask-image: url(vendor/simple-icons-16.36.0/facebook.svg?v=b06d18d844ed); mask-image: url(vendor/simple-icons-16.36.0/facebook.svg?v=b06d18d844ed); }

.es-titre-s { display: flex; flex-direction: column; gap: 4px; }
.es-titre-s p { margin: 0; font-size: 13.5px; color: var(--es-2); font-weight: 500; }
.es-filtres--defile { flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px; padding: 0 20px; scrollbar-width: none; }
.es-filtres--defile::-webkit-scrollbar { display: none; }
.es-filtres--defile button { flex: none; padding: 8px 13px; }
.es-sellers { display: flex; flex-direction: column; gap: 10px; }
.es-seller { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 12px; align-items: center; border: 1px solid var(--es-filet); border-radius: 18px; padding: 12px; cursor: pointer; }
.es-av--seller { width: 48px; height: 48px; box-shadow: 0 0 0 2.5px #fff, 0 0 0 4px var(--anneau, #000); }
.es-seller-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.es-seller-t b { display: flex; align-items: center; gap: 5px; font-size: 15px; font-weight: 800; }
.es-seller-t small { font-size: 12px; color: var(--es-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.es-voir { display: flex; align-items: center; gap: 6px; background: #000; color: #fff; border-radius: 999px; padding: 7px 11px; font-size: 12.5px; font-weight: 700; text-decoration: none; }
.es-fiche { position: fixed; inset: 0; z-index: 30; max-width: 390px; margin: 0 auto; background: #fff; display: flex; flex-direction: column; overflow-y: auto; animation: esFondu .25s ease-out both; }
.es-fiche-h { position: relative; padding: 56px 18px 22px; border-radius: 0 0 28px 28px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.es-fiche-h > b { display: flex; align-items: center; gap: 6px; font-size: 22px; font-weight: 900; letter-spacing: -0.03em; }
.es-fiche-h > small { font-size: 13px; font-weight: 600; opacity: .8; }
.es-fiche-r { position: absolute; left: 16px; top: 16px; width: 38px; height: 38px; border-radius: 50%; background: rgba(0,0,0,.12); color: inherit; font-size: 20px; }
.es-av--fiche { width: 84px !important; height: 84px !important; font-size: 18px !important; box-shadow: 0 0 0 4px #fff; }
.es-fiche-b { flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 18px 20px 30px; }
.es-fiche-o { display: flex; align-items: center; gap: 12px; border: 1.5px solid #000; border-radius: 16px; padding: 14px; text-decoration: none; color: #000; text-align: left; background: #fff; }
.es-fiche-o--vert { background: var(--es-vert); border-color: var(--es-vert); }
.es-fiche-o > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; }
.es-fiche-o b { font-size: 15px; font-weight: 800; }
.es-fiche-o small { font-size: 12px; color: var(--es-2); }
.es-fiche-o--vert small { color: #000; }
.es-fiche-o > i { font-style: normal; font-size: 18px; }
.es-fiche-ic { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex: none; }
.es-fiche-ic .es-rs { width: 20px; height: 20px; }
.es-fiche-ic--noir { background: #000; color: var(--es-vert); font-size: 20px; font-weight: 900; }
.es-fiche-solde { display: flex; flex-direction: column; gap: 6px; background: var(--es-gris); border-radius: 16px; padding: 14px; }
.es-fiche-solde b { font-size: 13px; font-weight: 800; }
.es-fiche-solde span { font-size: 28px; font-weight: 900; letter-spacing: -0.04em; }
.es-app--ctx .es-tete { color: var(--es-ctx-encre, #000); }
.es-app--ctx .es-tete .es-logo { color: inherit; }
.es-app--ctx .es-compte { background: rgba(0,0,0,.08); color: inherit; }
.es-vue > * { flex: none; }
.es-cp-moi { display: flex; align-items: center; gap: 12px; border: 1px solid var(--es-filet); border-radius: 18px; padding: 12px; text-decoration: none; color: #000; }
.es-cp-photo { width: 52px; height: 52px; flex: none; border-radius: 50%; border: 2px solid var(--es-vert); overflow: hidden; display: flex; align-items: center; justify-content: center; background: #fff; }
.es-cp-photo > img { width: 100%; height: 100%; object-fit: cover; }
.es-cp-photo > i { font-style: normal; font-size: 18px; font-weight: 900; }
.es-cp-photo > svg { width: 26px; height: 26px; }
.es-cp-moi-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.es-cp-moi-t > b { font-size: 17px; font-weight: 800; }
.es-cp-moi-t small { font-size: 13px; color: var(--es-2); }
.es-cp-moi-t small b { color: var(--es-vert-tx); font-weight: 700; }
.es-cp-plafonds { display: flex; flex-direction: column; gap: 8px; background: var(--es-gris); border-radius: 16px; padding: 12px; }
.es-cp-pl { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; }
.es-cp-barre { height: 6px; border-radius: 9px; background: #fff; overflow: hidden; }
.es-cp-barre > i { display: block; height: 100%; background: var(--es-vert); }
.es-cp-barre[data-plein="1"] > i { background: var(--es-rouge); }
.es-cp-plafonds small, .es-cp-note { font-size: 11.5px; color: var(--es-2); }
.es-cp-note { margin: 0 4px; line-height: 1.4; }
.es-cp-g { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; color: var(--es-2); margin: 6px 0 -6px 4px; text-transform: uppercase; }
.es-cp-liste { display: flex; flex-direction: column; border: 1px solid var(--es-filet); border-radius: 16px; overflow: hidden; background: #fff; }
.es-cp-l { display: flex; align-items: center; gap: 12px; padding: 0 14px; min-height: 52px; border-top: 1px solid var(--es-gris); text-decoration: none; color: #000; width: 100%; text-align: left; }
.es-cp-l:first-child { border-top: 0; }
.es-cp-l > svg { flex: none; }
.es-cp-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.es-cp-t > span { font-size: 15px; font-weight: 600; }
.es-cp-t > small { font-size: 12px; line-height: 1.35; color: var(--es-2); }
.es-cp-l:has(.es-cp-t > small), .es-cp-l--haut { padding-top: 10px; padding-bottom: 10px; }
.es-cp-v { font-size: 13px; color: var(--es-2); white-space: nowrap; }
.es-cp-chev { font-style: normal; font-size: 18px; color: var(--es-3); flex: none; }
.es-bascule { width: 50px; height: 30px; border-radius: 999px; background: #D6D6D6; position: relative; flex: none; transition: background .2s; }
.es-bascule > i { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: left .2s; }
[aria-checked="true"] > .es-bascule { background: var(--es-vert); }
[aria-checked="true"] > .es-bascule > i { left: 23px; }
.es-cp-sortir { display: flex; align-items: center; justify-content: center; gap: 8px; border: 1.5px solid #000; border-radius: 14px; height: 52px; font-size: 15px; font-weight: 800; margin-top: 4px; width: 100%; }
.es-cp-supprimer { display: flex; align-items: center; justify-content: center; min-height: 44px; text-align: center; font-size: 13px; font-weight: 600; color: var(--es-2); text-decoration: none; }
.es-cp-suivez { font-size: 14px; font-weight: 800; margin-top: 6px; }
.es-cp-rs { display: flex; gap: 10px; }
.es-cp-rs a { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; background: #111; }
.es-cp-rs a .es-rs { width: 20px; height: 20px; }
.es-cp-rs a[data-k="snapchat"] { background: #FFFC00; color: #141821; }
.es-cp-rs a[data-k="instagram"] { background: #D62976; }
.es-cp-rs a[data-k="tiktok"] { background: #111111; }
.es-cp-rs a[data-k="whatsapp"] { background: #25D366; }
.es-app--page .es-tete, .es-app--page .es-nav { display: none; }
.es-app--page .es-vue { padding-bottom: calc(32px + env(safe-area-inset-bottom)); }
.es-page-retour { align-self: flex-start; width: 40px; height: 40px; margin: -6px 0 -4px -10px; display: flex; align-items: center; justify-content: center; font-size: 30px; line-height: 1; text-decoration: none; color: #000; }
.es-cp-sous { margin: -4px 0 0; font-size: 14px; color: var(--es-2); }
.es-cp-p { margin: 0; font-size: 14px; line-height: 1.45; }
.es-cp-lbl { display: block; font-size: 13px; font-weight: 700; margin: 0 0 8px 2px; }
.es-cp-code, .es-cp-champ { display: block; }
.es-cp-champ input { width: 100%; height: 56px; border-radius: 14px; border: 3px solid var(--es-champ); padding: 0 14px; font: inherit; font-size: 17px; font-weight: 700; background: #fff; color: #000; }
.es-cp-champ input:focus { outline: 0; border-color: var(--es-vert-tx); }
.es-cp-mono { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 16px; font-weight: 800; letter-spacing: .08em; }
.es-cp-page body { background: #fff; }
.es-cp-page .pec-scene, .es-cp-page .pec-device { background: #fff !important; box-shadow: none !important; border: 0 !important; max-width: 430px; margin: 0 auto; min-height: 100dvh; padding: 0 !important; }
.es-cp-page .pec-statusbar, .es-cp-page .cp-hdr, .es-cp-page .pec-page-tete .tx, .es-cp-page .pec-page-tete .pec-bons-outils, .es-cp-page .pec-tabbar { display: none !important; }
.es-cp-page #cp-page { padding: 14px 20px calc(32px + env(safe-area-inset-bottom)) !important; background: #fff !important; font-family: var(--es-font); color: #000; }
.es-cp-page #cp-page > .pec-page-tete { display: flex !important; margin: 0 0 4px !important; padding: 0 !important; min-height: 0 !important; background: none !important; }
.es-cp-page #cp-retour { width: 40px; height: 40px; margin-left: -10px; display: flex; align-items: center; justify-content: center; color: #000; text-decoration: none; background: none; border: 0; }
.es-cp-page #cp-retour .pec-ico { width: 26px; height: 26px; stroke-width: 2.4; }
.es-cp-page #cp-retour-lbl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.es-cp-page .cp-grille { display: block !important; }
.es-cp-page .cp-sections { display: flex !important; flex-direction: column; gap: 12px; padding: 0 !important; margin: 0 !important; max-width: none !important; }
.es-cp-page #cp-sec-t { display: block !important; margin: 0 !important; font-size: 32px !important; font-weight: 900 !important; letter-spacing: -0.045em !important; line-height: 1.02 !important; color: #000 !important; }
.es-cp-page #cp-sec-s { margin: -4px 0 0 !important; font-size: 14px !important; color: var(--es-2) !important; }
.es-cp-page .pec-card, .es-cp-page .cp-carte { background: #fff !important; border: 1px solid var(--es-filet) !important; border-radius: 16px !important; box-shadow: none !important; padding: 14px !important; margin: 0 !important; color: #000; }
.es-cp-page .pec-card .pec-card, .es-cp-page .cp-pan { border-radius: 14px !important; background: var(--es-gris) !important; border: 0 !important; }
.es-cp-page :is(.cp-s, .cp-aide, .cpx-l-s, .cpx-note, .cpx-vide) { color: var(--es-2) !important; font-size: 13px !important; line-height: 1.45 !important; }
.es-cp-page :is(h2, h3, .cp-t) { color: #000 !important; font-family: var(--es-font) !important; letter-spacing: -0.02em; }
.es-cp-page .pec-cta { display: flex !important; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 56px; border-radius: 14px !important; background: var(--es-vert) !important; color: #000 !important; border: 0 !important; font-size: 16px !important; font-weight: 800 !important; box-shadow: none !important; text-decoration: none; }
.es-cp-page .pec-btn-secondary { display: flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 52px; border-radius: 14px !important; background: #fff !important; color: #000 !important; border: 1.5px solid #000 !important; font-size: 15px !important; font-weight: 800 !important; box-shadow: none !important; text-decoration: none; }
.es-cp-page :is(.cp-lien, a:not([class])) { color: #000 !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.es-cp-page .cp-lien .pec-ico { display: none; }
.es-cp-page .pec-input, .es-cp-page select, .es-cp-page textarea { min-height: 56px; border-radius: 14px !important; border: 3px solid var(--es-champ) !important; background: #fff !important; color: #000 !important; font: inherit; font-size: 16px !important; font-weight: 600; padding: 0 14px !important; box-shadow: none !important; }
.es-cp-page textarea { padding: 12px 14px !important; }
.es-cp-page .pec-input:focus, .es-cp-page select:focus, .es-cp-page textarea:focus { border-color: var(--es-vert-tx) !important; outline: 0; }
.es-cp-page .pec-input-label { font-size: 13px !important; font-weight: 700 !important; color: #000 !important; }
.es-cp-page .pec-pill { border-radius: 999px !important; font-weight: 700; }
.es-cp-page .cpx-liste { border: 1px solid var(--es-filet) !important; border-radius: 16px !important; background: #fff !important; overflow: hidden; box-shadow: none !important; }
.es-cp-page .cpx-l { min-height: 52px; padding: 10px 14px !important; gap: 12px; border-top: 1px solid var(--es-gris) !important; background: #fff !important; color: #000 !important; }
.es-cp-page .cpx-l:first-child { border-top: 0 !important; }
.es-cp-page .cpx-l-t { font-size: 15px !important; font-weight: 600 !important; color: #000 !important; }
.es-cp-page .cpx-bascule { width: 50px; height: 30px; border-radius: 999px; background: #D6D6D6 !important; position: relative; flex: none; }
.es-cp-page .cpx-bascule i { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff !important; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: left .2s; }
.es-cp-page [aria-checked="true"] .cpx-bascule { background: var(--es-vert) !important; }
.es-cp-page [aria-checked="true"] .cpx-bascule i { left: 23px; }
.es-cp-page .pec-msg--ko, .es-cp-page .cp-msg.ko { background: #FFEDED !important; color: var(--es-rouge) !important; border: 0 !important; border-radius: 10px; }
.es-cp-page .pec-msg--ok, .es-cp-page .cp-msg.ok { background: var(--es-vert-doux) !important; color: #00753B !important; border: 0 !important; border-radius: 10px; }
html.es-cp-page[data-pec-theme], html.es-cp-page body { --color-bg: #fff; --color-surface: #fff; --color-text: #000; --color-accent: var(--es-vert); --color-accent-text: #000; --color-accent-fill: var(--es-vert); --color-on-accent: #000;
  --color-accent-tint: var(--es-gris); --color-divider: var(--es-filet); --color-text-2: var(--es-2); --color-text-3: var(--es-2);
  --pa-bg: #fff; --pa-surface: #fff; --pa-text: #000; --pa-muted: var(--es-2); --pa-faint: var(--es-3); --pa-divider: var(--es-filet); --pa-accent: #000; --pa-accent-ink: #000; --pa-lien: #000;
  --pa-teinte: var(--es-gris); --pa-plein: var(--es-vert); --pa-sur-plein: #000; --pa-segment: var(--es-gris); --pa-ok: var(--es-vert-tx); --pa-ok-fond: var(--es-vert-doux); --pa-champ: var(--es-champ); }
.es-cp-page #cp-page { background-image: none !important; }
.es-cp-page #cp-sec-t { position: static !important; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; overflow: visible !important; white-space: normal !important; }
.es-cp-page #cp-retour, .es-cp-page #cp-retour .pec-ico { color: #000 !important; stroke: currentColor; }
html.es-cp-page body[data-pec-space] #cp-page { background: #fff !important; }
html.es-cp-page body[data-pec-space] #cp-page > .pec-page-tete { margin: 0 !important; min-height: 0 !important; padding: 0 !important; }

.es-ligne--autre { cursor: pointer; color: inherit; text-decoration: none; background: none; font: inherit; }
.es-ligne--autre[aria-disabled="true"] { cursor: default; opacity: .55; }
.es-ligne--autre[aria-disabled="true"] .es-ligne-t small { white-space: normal; }
.es-ligne--autre[role="radio"][aria-checked="true"] .es-ic { background: var(--es-vert); }
.es-recu { flex-wrap: wrap; gap: 10px; }
.es-recu > span:first-child { flex: 1 1 220px; }
.es-recu > span:first-child small + small { white-space: normal; }
.es-recu > .es-recu-g { display: flex; flex-direction: row; align-items: center; gap: 12px; }
.es-recu > .es-recu-g .es-btn { width: auto; height: 44px; padding: 0 20px; font-size: 15px; white-space: nowrap; }
html[data-pec-fenetre] .es-nav, html[data-pec-fenetre] .es-compte { display: none; }
.es-toast[data-ton="alerte"] { background: var(--es-rouge); }
.es-cx-invite { display: none; align-self: center; }
html[data-pec-natif] .es-cx-invite:not([hidden]) { display: block; }

html.es.pec-cookies-ouvert body { padding-bottom: var(--pec-cookies-h, 0px); }
html.es .pec-cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--es-blanc); border-top: 1px solid var(--es-filet);
  box-shadow: 0 -8px 24px rgba(0,0,0,.08); padding: 14px 16px max(14px, env(safe-area-inset-bottom)); font-family: var(--es-font); }
html.es .pec-cookies-in { display: flex; flex-direction: column; gap: 10px; max-width: 390px; margin: 0 auto; }
html.es .pec-cookies-tx { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--es-2); }
html.es .pec-cookies-tx b { color: var(--es-noir); }
html.es .pec-cookies a, html.es .pec-cookies-panneau a { color: var(--es-noir); font-weight: 800; text-decoration: underline; }
html.es .pec-cookies-err { margin: 0; padding: 8px 10px; border-radius: 10px; background: var(--es-rouge); color: #fff; font-size: 12px; font-weight: 700; }
html.es .pec-cookies-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
html.es .pec-cookies-actions button, html.es .pec-cookies-panneau .pec-btn-secondary { min-height: 44px; border-radius: 12px; border: 0; background: var(--es-gris);
  color: var(--es-noir); font: inherit; font-size: 13.5px; font-weight: 800; cursor: pointer; padding: 0 8px; }
html.es .pec-cookies-voile { position: fixed; inset: 0; z-index: 70; background: rgba(0,0,0,.45); }
html.es .pec-cookies-panneau { position: fixed; left: 0; right: 0; bottom: 0; z-index: 71; max-height: 88dvh; overflow: auto; background: var(--es-blanc);
  border-radius: 20px 20px 0 0; padding: 18px 18px max(18px, env(safe-area-inset-bottom)); font-family: var(--es-font); box-sizing: border-box; }
@media (min-width: 600px) { html.es .pec-cookies-panneau { left: 50%; right: auto; bottom: auto; top: 50%; transform: translate(-50%, -50%); width: 520px; border-radius: 20px; } }
html.es .pec-cookies-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html.es .pec-cookies-tete h2 { margin: 0; font-size: 18px; font-weight: 900; }
html.es .pec-cookies-x { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--es-gris); font-size: 18px; cursor: pointer; }
html.es .pec-cookies-panneau .intro, html.es .pec-cookies-responsable, html.es .pec-cookies-etat { font-size: 12.5px; line-height: 1.5; color: var(--es-2); }
html.es .pec-cookies-cat { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-top: 1px solid var(--es-filet); font-size: 13px; }
html.es .pec-cookies-cat .tx { flex: 1; min-width: 0; }
html.es .pec-cookies-cat .t { font-size: 14px; font-weight: 800; }
html.es .pec-cookies-cat p, html.es .pec-cookies-cat details { margin: 4px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--es-2); }
html.es .pec-cookies-cat summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; color: var(--es-noir); }
