
:root{
  --bg:#05050a;
  --bg2:#090910;
  --panel:rgba(255,255,255,.045);
  --panel2:rgba(255,255,255,.07);
  --line:rgba(255,255,255,.10);
  --gold:#d6b56d;
  --gold2:#ead089;
  --text:#fff;
  --muted:rgba(255,255,255,.68);
  --soft:rgba(214,213,240,.72);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
body.public{
  background:
    radial-gradient(circle at 72% 20%,rgba(214,181,109,.08),transparent 28%),
    linear-gradient(180deg,#030306,#090910);
}
.container{width:min(1280px,100%);margin:auto;padding:48px 6vw}
.container.narrow{width:min(860px,100%);padding-top:68px}
.small{color:rgba(255,255,255,.58);font-size:14px}
.center{text-align:center}
.eyebrow{
  margin:0 0 14px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:11px;
  font-weight:700;
}
.brand,.logo{
  font-family:Georgia,serif;
  letter-spacing:.28em;
  color:var(--gold)!important;
  font-weight:600;
  white-space:nowrap;
}

/* NAV */
header.nav,header.siteNav,.nav,.siteNav,.appbar{
  position:sticky;
  top:0;
  z-index:50;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  min-height:76px;
  padding:18px 5vw;
  background:rgba(5,5,10,.82);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.07);
}
header.nav nav,header.siteNav nav,.nav nav,.siteNav nav,.appbar nav{
  display:flex!important;
  gap:24px;
  align-items:center;
}
header.nav a,header.siteNav a,.nav a,.siteNav a,.appbar a{
  color:rgba(255,255,255,.72);
  font-size:14px;
}
.navButton,.navbtn{
  border:1px solid rgba(214,181,109,.42);
  padding:9px 16px;
  border-radius:999px;
  color:#e8cd8c!important;
}
.mobileTopLogin,.mobileScrollCue,.mobileMenuToggle{display:none}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  padding:13px 20px;
  border:1px solid rgba(255,255,255,.14);
  background:transparent;
  color:#fff;
  cursor:pointer;
  font-weight:800;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.btn.primary,.btn.gold{
  background:linear-gradient(135deg,#b89145,#ead089);
  border:0;
  color:#15110a;
  box-shadow:0 18px 34px rgba(184,145,69,.20);
}
.btn.secondary,.btn.ghost{
  border-color:rgba(214,181,109,.38);
  color:#e7cc8b;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}
.smallBtn{padding:8px 12px!important;font-size:12px!important}

/* HOME */
.hero{
  position:relative;
  min-height:calc(100vh - 76px);
  display:grid;
  grid-template-columns:.84fr 1.16fr;
  align-items:center;
  gap:40px;
  padding:52px 6vw 74px;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 45%,rgba(214,181,109,.08),transparent 28%),
    linear-gradient(180deg,#030306,#090910);
}
.hero::before{
  content:"";
  position:absolute;
  inset:-18%;
  background:radial-gradient(circle at 68% 44%,rgba(214,181,109,.07),transparent 26%);
  filter:blur(22px);
  animation:ambient 10s ease-in-out infinite alternate;
}
.hero>*{position:relative;z-index:1}
.hero h1{
  margin:0 0 22px;
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(42px,5.2vw,74px);
  line-height:1.02;
  max-width:10.5ch;
}
.mobileGoldLine{display:inline}
.heroLead{
  margin:0;
  max-width:620px;
  color:var(--muted);
  font-size:18px;
}
.heroActions,.actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
.heroMedia{
  display:flex;
  justify-content:center;
  align-items:center;
  perspective:1600px;
}
.cardScene{
  position:relative;
  width:min(980px,60vw);
  aspect-ratio:1.61/1;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transform-style:preserve-3d;
  will-change:transform;
  animation:cardIn .9s cubic-bezier(.19,1,.22,1) both, cardFloat 7s ease-in-out 1.1s infinite;
}
.cardGlow{
  position:absolute;
  inset:0 4%;
  background:radial-gradient(circle at 50% 46%,rgba(214,181,109,.16),rgba(214,181,109,.03) 42%,transparent 70%);
  filter:blur(38px);
  z-index:0;
}
.cardShadow{
  position:absolute;
  left:17%;
  right:17%;
  bottom:-24px;
  height:54px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.78),rgba(214,181,109,.12) 43%,transparent 75%);
  filter:blur(16px);
  z-index:0;
}
.cardShine{
  position:absolute;
  inset:6% 4%;
  border-radius:28px;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.02) 38%,rgba(255,255,255,.12) 50%,transparent 62%);
  transform:translateX(-130%) skewX(-12deg);
  mix-blend-mode:screen;
  animation:cardShine 5.4s ease-in-out 1.2s infinite;
}
.heroCard{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:30px;
  filter:drop-shadow(0 34px 62px rgba(0,0,0,.52)) drop-shadow(0 12px 34px rgba(214,181,109,.12));
}
.homeHeroCardScene::after,.cardScene::after{
  content:"";
  position:absolute;
  left:14%;
  right:14%;
  bottom:-18px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(214,181,109,.44),#ead089,rgba(214,181,109,.44),transparent);
  box-shadow:0 0 22px rgba(214,181,109,.36),0 12px 28px rgba(0,0,0,.45);
  z-index:3;
  pointer-events:none;
}
.brandMarqueeSection{
  padding:34px 0;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  overflow:hidden;
}
.marqueeHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:0 6vw 18px;
}
.marqueeHeader a{color:var(--gold)}
.marquee{overflow:hidden}
.marqueeTrack{display:flex;gap:16px;width:max-content;animation:marquee 26s linear infinite}
.marqueeItem{
  min-width:180px;
  text-align:center;
  border:1px solid rgba(214,181,109,.18);
  border-radius:999px;
  padding:13px 22px;
  background:rgba(255,255,255,.035);
  color:#f1dfb3;
}
.section{padding:86px 6vw}
.sectionHeader{max-width:760px;margin-bottom:34px}
.sectionHeader.center{text-align:center;margin-left:auto;margin-right:auto}
.sectionHeader h2,.statement h2{
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(36px,4.5vw,66px);
  line-height:1.06;
  margin:0;
}
.benefitGrid,.processGrid,.offerGrid,.sponsorGrid,.choiceGrid,.stats,.grid2,.walletGrid,.featuredOfferRail,.spotlightOffers{
  display:grid;
  gap:18px;
}
.benefitGrid{grid-template-columns:repeat(3,1fr)}
.processGrid{grid-template-columns:repeat(4,1fr)}
.grid2,.walletGrid,.choiceGrid{grid-template-columns:1fr 1fr}
.offerGrid,.sponsorGrid{grid-template-columns:repeat(3,1fr)}
.stats{grid-template-columns:repeat(6,1fr)}
.benefitCard,.processCard,.offerCard,.sponsorCard,.choiceCard,.authPanel,.panel,.statement{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:30px;
  padding:28px;
}
.benefitCard span,.processCard b,.offerCard span{
  color:var(--gold);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:12px;
}
.benefitCard h3,.processCard h3,.offerCard h3,.sponsorCard h3{
  margin:12px 0 8px;
  color:#fff;
}
.benefitCard p,.processCard p,.offerCard p,.sponsorCard p{color:var(--muted)}
.statement{
  margin:0 6vw;
  text-align:center;
  padding:56px 28px;
}
.contactSection{padding:80px 6vw}
.contactCard{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:26px;
  border-radius:34px;
  border:1px solid rgba(214,181,109,.18);
  background:var(--panel);
  padding:32px;
}

/* FORMS / AUTH */
.authChoice,.authLayout{max-width:1180px;margin:auto;padding:90px 6vw}
.authHero{text-align:center;max-width:760px;margin:0 auto 34px}
.authHero h1,.authLayout h1{
  font-family:Georgia,serif;
  font-size:clamp(42px,5vw,70px);
  font-weight:400;
  line-height:1.05;
  margin:0 0 16px;
}
.authHero p,.authLayout p{color:var(--muted);font-size:18px}
.choiceCard{transition:.22s ease}
.choiceCard:hover{transform:translateY(-6px);border-color:rgba(214,181,109,.30)}
.choiceCard span{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:12px}
.choiceCard h2{font-family:Georgia,serif;font-weight:400;font-size:34px}
.authLayout{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.form{display:grid;gap:14px}
.form label{display:grid;gap:8px;color:rgba(255,255,255,.78);font-weight:700}
.form input,.form textarea,.form select{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.055);
  color:#fff;
  padding:13px 14px;
  outline:none;
}
.form textarea{min-height:110px}
.formLink{font-size:14px!important}
.formLink a{color:var(--gold);font-weight:700}

/* DASHBOARDS */
.dashHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}
.dashHead h1{
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(38px,4.5vw,68px);
  font-weight:400;
  line-height:1.05;
}
.stats > div{
  padding:22px;
  border-radius:22px;
  background:var(--panel);
  border:1px solid var(--line);
}
.stats strong{display:block;color:var(--gold2);font-size:30px}
.stats span{color:var(--muted);font-size:13px}
.table{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}
th{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.12em}

/* WALLET */
.clientWalletHero,.clientMainCardBlock{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:34px;
  align-items:center;
  margin:18px 0 30px;
  padding:24px;
  border:1px solid rgba(214,181,109,.16);
  border-radius:34px;
  background:radial-gradient(circle at 70% 45%,rgba(214,181,109,.08),transparent 36%),rgba(255,255,255,.035);
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.walletFlipScene{perspective:1600px;min-height:360px;position:relative}
.walletFlipInner{
  position:relative;
  width:100%;
  min-height:360px;
  transform-style:preserve-3d;
  transition:transform .85s cubic-bezier(.19,1,.22,1);
}
.walletFlipScene.is-flipped .walletFlipInner{transform:rotateY(180deg)}
.walletCardFace{
  position:absolute;
  inset:0;
  border-radius:28px;
  backface-visibility:hidden;
  overflow:hidden;
}
.walletCardFront img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:28px;
}
.walletCardBack{transform:rotateY(180deg)}
.merchantCardFace,.merchantCardPreview{
  min-height:260px;
  padding:26px;
  border-radius:28px;
  background:
    radial-gradient(circle at 80% 20%,var(--merchant-card-accent,#d6b56d),transparent 30%),
    linear-gradient(135deg,var(--merchant-card-bg,#0b0b10),#05050a);
  border:1px solid var(--merchant-card-accent,#d6b56d);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 28px 70px rgba(0,0,0,.42);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.merchantCardHero{height:100%;min-height:360px}
.merchantCardTop,.merchantCardBottom{
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:var(--merchant-card-accent,#d6b56d);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.merchantCardCenter h3{margin:0 0 8px;font-family:Georgia,serif;font-size:34px;font-weight:400;color:#fff}
.merchantCardCenter p{margin:0;color:var(--muted)}
.merchantList{display:grid;gap:12px;margin-top:18px}
.merchantListItem{
  width:100%;
  text-align:left;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  color:#fff;
  cursor:pointer;
  transition:.2s ease;
}
.merchantListItem:hover{transform:translateY(-3px);border-color:rgba(214,181,109,.28)}
.merchantListItem.active{border-color:rgba(214,181,109,.56);background:rgba(214,181,109,.10)}
.merchantListItem strong{display:block}
.merchantListItem span{display:block;color:rgba(255,255,255,.58);font-size:13px}
.merchantListItem em{font-style:normal;color:var(--gold);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.progress{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.progress span{display:block;height:100%;background:linear-gradient(135deg,#b89145,#ead089)}
.bonusTabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bonusTabs div{text-align:center;padding:18px;border:1px solid var(--line);border-radius:18px}
.bonusTabs strong{display:block;color:var(--gold2);font-size:30px}
.reward{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035)}
.clientUniqueQr{
  position:absolute;
  top:19%;
  left:11.2%;
  z-index:4;
  width:18.4%;
  max-width:158px;
  min-width:92px;
  aspect-ratio:1/1;
  padding:10px;
  border-radius:18px;
  background:linear-gradient(145deg,#f0d690,#cfaa5b 46%,#af8440);
  border:2px solid rgba(255,244,210,.36);
  box-shadow:0 16px 34px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.30);
}
.clientUniqueQr img{width:100%!important;height:100%!important;border-radius:8px!important;background:#f8f5ee;padding:6px;object-fit:contain;filter:none!important}
.clientUniqueQr span{display:none}

/* OFFERS / SPONSORS */
.featuredOfferRail{grid-template-columns:repeat(4,1fr);margin:22px 0 8px}
.featuredOfferCard,.spotlightOffer,.enhancedOfferCard{
  padding:22px;
  border:1px solid rgba(214,181,109,.18);
  border-radius:26px;
  background:radial-gradient(circle at 82% 18%,rgba(214,181,109,.14),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
}
.featuredOfferCard span,.offerBadge,.spotlightOffer span{
  display:inline-flex;
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(214,181,109,.12);
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  font-weight:800;
}
.clientPartnerMarqueeBlock{margin-top:34px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);overflow:hidden}
.clientPartnerMarqueeHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.clientPartnerMarquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.clientPartnerTrack{display:flex;gap:16px;width:max-content;animation:clientPartnersScroll 28s linear infinite}
.clientPartnerLogo{
  min-width:170px;
  width:170px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border:1px solid rgba(214,181,109,.18);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
}
.clientPartnerLogo img{max-width:100%;max-height:52px;object-fit:contain}

/* PWA / MODALS / NOTIFICATIONS */
.pwaActions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;max-width:420px}
.pwaHelpText{width:100%;margin:6px 0 0;color:rgba(255,255,255,.52);font-size:12px}
.pwaHelpModal{position:fixed;inset:0;z-index:9999;display:none;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.62);backdrop-filter:blur(10px);padding:18px}
.pwaHelpModal.open{display:flex}
.pwaHelpCard{width:min(680px,100%);max-height:88vh;overflow:auto;border:1px solid rgba(214,181,109,.22);border-radius:30px;background:#08080f;box-shadow:0 28px 90px rgba(0,0,0,.62);padding:28px;position:relative}
.pwaHelpClose{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font-size:26px}
.pushDiagnosticBox{margin:18px 0;padding:16px;border:1px solid rgba(214,181,109,.16);border-radius:18px;background:rgba(255,255,255,.035)}
.pushDiagnosticBox span{color:var(--gold);font-weight:800}
.clientNotificationCenter{
  margin:18px 0 28px;
  padding:24px;
  border:1px solid rgba(214,181,109,.24);
  border-radius:28px;
  background:radial-gradient(circle at 82% 18%,rgba(214,181,109,.14),transparent 34%),rgba(255,255,255,.045);
  display:grid;
  grid-template-columns:.75fr 1.25fr auto;
  gap:22px;
  align-items:center;
}

/* SCANNER */
.scannerPanel{text-align:center}
.scannerStatus{margin:18px auto;padding:12px 14px;border:1px solid rgba(214,181,109,.18);border-radius:16px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.76);max-width:560px}
.scannerStatus.warn{border-color:rgba(234,208,137,.36);color:#ead089}
.scannerStatus.error{border-color:rgba(255,85,85,.42);color:#ffb5b5}
.scannerVideoWrap{position:relative;overflow:hidden;border-radius:24px;background:#000;border:1px solid rgba(214,181,109,.20);max-width:560px;margin:18px auto;aspect-ratio:3/4}
.scannerVideoWrap::after{content:"";position:absolute;inset:12%;border:2px solid rgba(234,208,137,.70);border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.26);pointer-events:none}
#camera{width:100%;height:100%;object-fit:cover;background:#000}

/* ANIMATIONS */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.19,1,.22,1)}
.reveal.visible,.js-ready .reveal.visible{opacity:1;transform:none}
.delay1{transition-delay:.08s}.delay2{transition-delay:.16s}.delay3{transition-delay:.24s}
.spaceCardEntrance{opacity:0;transform:translateY(26px) scale(.985);animation:spaceCardEnter .9s cubic-bezier(.19,1,.22,1) .12s forwards}
@keyframes ambient{to{transform:translate3d(-2%,1%,0) scale(1.04)}}
@keyframes cardIn{from{opacity:0;transform:translateY(32px) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes cardShine{0%,58%{transform:translateX(-130%) skewX(-12deg)}72%,100%{transform:translateX(130%) skewX(-12deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes clientPartnersScroll{to{transform:translateX(-50%)}}
@keyframes spaceCardEnter{from{opacity:0;transform:translateY(34px) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* RESPONSIVE TABLET */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr}
  .cardScene{width:min(880px,88vw)}
  .benefitGrid,.processGrid,.offerGrid,.sponsorGrid,.featuredOfferRail,.spotlightOffers{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(3,1fr)}
  .contactCard,.authLayout,.clientWalletHero,.clientMainCardBlock{grid-template-columns:1fr}
}
@media(max-width:900px){
  .choiceGrid,.walletGrid,.grid2{grid-template-columns:1fr}
}

/* MOBILE APP-LIKE HOME + APP SPACES */
@media(max-width:760px){
  body{font-size:15px}

  header.nav,header.siteNav,.nav,.siteNav,.appbar{
    min-height:64px;
    padding:12px 16px;
  }
  .mobileMenuToggle{
    display:flex;
    width:44px;
    height:44px;
    border:1px solid rgba(214,181,109,.18);
    border-radius:14px;
    background:rgba(255,255,255,.045);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    order:3;
  }
  .mobileMenuToggle span{width:19px;height:2px;border-radius:999px;background:var(--gold);transition:.22s ease}
  .mobileMenuToggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobileMenuToggle.open span:nth-child(2){opacity:0}
  .mobileMenuToggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  header.nav nav,header.siteNav nav,.nav nav,.siteNav nav,.appbar nav{
    position:absolute;
    left:12px;
    right:12px;
    top:calc(100% + 8px);
    display:none!important;
    flex-direction:column;
    gap:8px;
    align-items:stretch;
    padding:14px;
    border:1px solid rgba(214,181,109,.18);
    border-radius:22px;
    background:rgba(5,5,10,.97);
    box-shadow:0 22px 70px rgba(0,0,0,.48);
  }
  .mobileMenuOpen nav{display:flex!important}
  header.nav nav a,header.siteNav nav a,.nav nav a,.siteNav nav a,.appbar nav a{
    padding:13px 14px;
    border-radius:14px;
    background:rgba(255,255,255,.045);
    color:#fff!important;
  }
  .container{padding:34px 16px}

  /* PUBLIC HOME MOBILE ONLY */
  body.public{
    background:linear-gradient(180deg,#05050a 0%,#080812 52%,#05050a 100%);
  }
  body.public .siteNav{
    min-height:74px;
    padding:14px 20px;
    background:rgba(5,5,10,.94);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  body.public .brand{font-size:17px;letter-spacing:.22em}
  body.public .mobileTopLogin{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    order:2;
    margin-left:auto;
    margin-right:12px;
    padding:9px 18px;
    border:1px solid rgba(234,208,137,.62);
    border-radius:999px;
    color:#ead089!important;
    font-size:15px;
    font-weight:700;
    background:rgba(214,181,109,.035);
  }
  body.public .siteNav .mobileMenuToggle{
    width:48px;
    height:48px;
    border-radius:16px;
    background:rgba(36,31,70,.72);
  }
  body.public .siteNav nav .navButton{display:none!important}
  body.public .hero{
    min-height:auto;
    display:flex;
    flex-direction:column;
    gap:28px;
    padding:62px 20px 34px;
    text-align:center;
    background:
      radial-gradient(circle at 50% 16%,rgba(214,181,109,.08),transparent 30%),
      linear-gradient(180deg,#05050a 0%,#080812 100%);
  }
  body.public .heroCopy{
    width:100%;
    max-width:620px;
    margin:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  body.public .hero .eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
    margin:0 auto 28px;
    padding:10px 18px;
    border:1px solid rgba(234,208,137,.20);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#ead089;
    font-size:12px;
    letter-spacing:.22em;
    line-height:1.2;
    white-space:nowrap;
  }
  body.public .hero .eyebrow::before{
    content:"";
    width:9px;
    height:9px;
    margin-right:10px;
    border-radius:50%;
    background:#ead089;
  }
  body.public .hero h1{
    max-width:100%;
    margin:0 0 22px;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    font-weight:850;
    font-size:clamp(36px,9.4vw,48px);
    line-height:1.14;
    letter-spacing:-.04em;
  }
  body.public .hero h1 .mobileGoldLine{display:block;color:#eadcaa}
  body.public .heroLead{
    max-width:540px;
    margin:auto;
    color:var(--soft);
    font-size:clamp(19px,5.1vw,25px);
    line-height:1.68;
  }
  body.public .heroActions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-top:32px;
  }
  body.public .heroActions .btn{
    width:100%;
    min-height:82px;
    border-radius:22px;
    font-size:21px;
  }
  body.public .heroActions .btn.primary{
    background:linear-gradient(135deg,#f4dfa3,#e7c875);
    color:#05050a;
    box-shadow:none;
  }
  body.public .heroActions .btn.secondary{
    color:#f3dfaa;
    background:rgba(255,255,255,.012);
    border:1px solid rgba(214,181,109,.30);
  }
  body.public .heroMedia{
    width:100%;
    margin-top:18px;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  body.public .cardScene{
    width:100%;
    max-width:540px;
    aspect-ratio:1.61/1;
    overflow:visible;
  }
  body.public .heroCard{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:24px;
  }
  body.public .cardGlow{inset:5%;filter:blur(26px);opacity:.72}
  body.public .cardShadow{left:16%;right:16%;bottom:-10px;height:34px;filter:blur(12px)}
  body.public .cardShine{display:none}
  body.public .homeHeroCardScene::after,body.public .cardScene::after{left:19%;right:19%;bottom:-13px;height:3px}
  body.public .mobileScrollCue{
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    margin:24px auto 0;
    border-radius:50%;
    color:#fff;
    font-size:35px;
    line-height:1;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.13);
  }
  body.public .brandMarqueeSection{padding-top:24px;border-top:0}
  body.public .marqueeHeader{padding:0 20px 16px;align-items:flex-start;flex-direction:column}

  /* APP MOBILE */
  .dashHead{display:block!important}
  .dashHead h1{font-size:34px}
  .pwaActions{margin-top:16px;display:grid;grid-template-columns:1fr;max-width:none}
  .pwaActions .btn{width:100%}
  .clientWalletHero,.walletGrid,.grid2,.offerGrid,.featuredOfferRail,.spotlightOffers,.sponsorGrid,.choiceGrid,.authLayout,.contactCard,.benefitGrid,.processGrid,.stats{
    grid-template-columns:1fr!important;
  }
  .clientWalletHero{padding:16px;gap:18px;border-radius:24px}
  .walletFlipScene,.walletFlipInner{min-height:220px!important}
  .walletCardFace{border-radius:20px}
  .merchantCardHero{min-height:220px!important;border-radius:20px;padding:18px}
  .merchantCardCenter h3{font-size:24px!important}
  .panel{padding:18px!important;border-radius:22px!important}
  .panel > h2{padding-right:30px;margin-bottom:0}
  .mobileAccordionTitle{position:relative}
  .mobileAccordionTitle::after{
    content:"";
    display:block;
    position:absolute;
    right:0;
    top:50%;
    width:9px;
    height:9px;
    border-right:2px solid var(--gold);
    border-bottom:2px solid var(--gold);
    transform:translateY(-65%) rotate(45deg);
  }
  .mobileAccordionClosed .mobileAccordionTitle::after{transform:translateY(-35%) rotate(-45deg)}
  .panel.mobileAccordionClosed > *:not(h2){display:none!important}
  .merchantListItem{padding:14px;border-radius:16px;align-items:flex-start;flex-direction:column}
  .bonusTabs{grid-template-columns:repeat(3,1fr)!important}
  .clientNotificationCenter{grid-template-columns:1fr;padding:18px;border-radius:22px}
  .clientPartnerLogo{width:138px!important;min-width:138px!important;height:68px!important}
  .clientPartnerLogo img{max-height:38px!important}
}
@media(max-width:430px){
  body.public .siteNav{padding-left:16px;padding-right:16px}
  body.public .brand{font-size:15px;letter-spacing:.18em}
  body.public .mobileTopLogin{padding:8px 15px;font-size:14px;margin-right:9px}
  body.public .siteNav .mobileMenuToggle{width:44px;height:44px}
  body.public .hero{padding-left:18px;padding-right:18px}
  body.public .hero .eyebrow{font-size:10px;letter-spacing:.20em;padding:10px 14px}
  body.public .hero h1{font-size:36px}
  body.public .heroLead{font-size:20px}
  body.public .heroActions .btn{min-height:76px;font-size:19px;border-radius:21px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* Interface */
.brandMarqueeSection .clientPartnerMarquee{
  margin-top:4px;
}
.homePartnerMarquee{
  width:100%;
}
.brandMarqueeSection .clientPartnerTrack{
  animation:clientPartnersScroll 28s linear infinite;
}
.brandMarqueeSection .clientPartnerMarquee:hover .clientPartnerTrack{
  animation-play-state:paused;
}

/* Position initiale */
html.forceTopOnLoad{
  scroll-behavior:auto!important;
}

@media(max-width:760px){
  body.public .hero{
    min-height:calc(100svh - 74px);
    justify-content:start;
    padding:24px 18px 22px;
    gap:14px;
  }

  body.public .hero .eyebrow{
    margin-bottom:14px;
    padding:8px 13px;
    font-size:10px;
    letter-spacing:.18em;
  }

  body.public .hero h1{
    margin-bottom:12px;
    font-size:clamp(29px,7.7vw,38px);
    line-height:1.08;
  }

  body.public .heroLead{
    font-size:clamp(16px,4.25vw,20px);
    line-height:1.46;
    max-width:440px;
  }

  body.public .heroActions{
    margin-top:18px;
    gap:10px;
  }

  body.public .heroActions .btn{
    min-height:58px;
    border-radius:18px;
    font-size:17px;
  }

  body.public .heroMedia{
    margin-top:8px;
  }

  body.public .cardScene{
    max-width:92vw;
    width:100%;
    aspect-ratio:1.61/1;
  }

  body.public .heroCard{
    object-fit:contain;
    border-radius:22px;
  }

  body.public .mobileScrollCue{
    width:54px;
    height:54px;
    margin-top:12px;
    font-size:28px;
  }

  body.public .brandMarqueeSection{
    padding:22px 0 26px;
  }

  body.public .clientPartnerMarquee{
    mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
  }

  body.public .clientPartnerTrack{
    gap:12px;
    animation-duration:24s;
  }

  body.public .clientPartnerLogo{
    width:132px!important;
    min-width:132px!important;
    height:64px!important;
    border-radius:18px;
    padding:10px 14px;
  }

  body.public .clientPartnerLogo img{
    max-height:36px!important;
  }
}

@media(max-width:430px){
  body.public .hero{
    padding-top:18px;
    gap:12px;
  }

  body.public .hero h1{
    font-size:31px;
  }

  body.public .heroLead{
    font-size:16px;
  }

  body.public .heroActions .btn{
    min-height:54px;
    font-size:16px;
  }

  body.public .cardScene{
    max-width:94vw;
  }

  body.public .mobileScrollCue{
    width:50px;
    height:50px;
    margin-top:10px;
  }
}

/* Interface */

/* Le bandeau partenaires devient indépendant, pleine largeur, sans bloc ni contour */
.brandMarqueeSection{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:34px 0 38px!important;
  border:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.brandMarqueeSection .marqueeHeader{
  width:min(1280px,100%);
  margin:0 auto;
  padding:0 6vw 20px!important;
}
.brandMarqueeSection .clientPartnerMarquee,
.clientPartnerMarquee{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  overflow:hidden!important;
  mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%)!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%)!important;
}
.clientPartnerTrack{
  gap:34px!important;
  padding:0 34px!important;
}
.clientPartnerLogo{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  width:190px!important;
  min-width:190px!important;
  height:78px!important;
}
.clientPartnerLogo img{
  max-width:100%!important;
  max-height:58px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.28))!important;
}

/* Page d'accueil : même rendu premium que l'espace client, sans bord coupé */
body.public .homeHeroCardScene{
  width:min(920px,58vw)!important;
  aspect-ratio:1448/1086!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
}
body.public .homeHeroCardScene .heroCard{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 34px 62px rgba(0,0,0,.54)) drop-shadow(0 12px 34px rgba(214,181,109,.14))!important;
}
body.public .homeHeroCardScene .cardGlow{
  inset:8% 6% 12%!important;
  background:radial-gradient(circle at 50% 48%,rgba(214,181,109,.18),rgba(214,181,109,.04) 42%,transparent 70%)!important;
}
body.public .homeHeroCardScene .cardShadow{
  left:14%!important;
  right:14%!important;
  bottom:4%!important;
  height:44px!important;
  filter:blur(18px)!important;
}
body.public .homeHeroCardScene::after{
  left:22%!important;
  right:22%!important;
  bottom:6.5%!important;
  height:3px!important;
  opacity:.85!important;
}

/* Desktop: un peu moins massif pour retrouver une carte posée proprement */
@media(min-width:761px){
  body.public .hero{
    grid-template-columns:.78fr 1.22fr!important;
  }
  body.public .heroMedia{
    align-items:center!important;
  }
}

/* Mobile : carte visible immédiatement et bandeau logos toujours indépendant */
@media(max-width:760px){
  body.public .hero{
    min-height:calc(100svh - 74px)!important;
    padding:18px 18px 18px!important;
    gap:10px!important;
    justify-content:start!important;
  }
  body.public .hero .eyebrow{
    margin-bottom:10px!important;
    padding:7px 12px!important;
    font-size:9px!important;
    letter-spacing:.17em!important;
  }
  body.public .hero h1{
    margin-bottom:9px!important;
    font-size:clamp(28px,7.2vw,35px)!important;
    line-height:1.07!important;
  }
  body.public .heroLead{
    font-size:clamp(15px,4vw,18px)!important;
    line-height:1.42!important;
    max-width:430px!important;
  }
  body.public .heroActions{
    margin-top:14px!important;
    gap:9px!important;
  }
  body.public .heroActions .btn{
    min-height:50px!important;
    border-radius:17px!important;
    font-size:16px!important;
  }
  body.public .heroMedia{
    margin-top:4px!important;
  }
  body.public .homeHeroCardScene{
    width:100%!important;
    max-width:94vw!important;
    aspect-ratio:1448/1086!important;
  }
  body.public .homeHeroCardScene .heroCard{
    object-fit:contain!important;
  }
  body.public .homeHeroCardScene::after{
    bottom:7%!important;
  }
  body.public .mobileScrollCue{
    width:48px!important;
    height:48px!important;
    margin-top:6px!important;
    font-size:26px!important;
  }
  body.public .brandMarqueeSection{
    padding:22px 0 28px!important;
  }
  body.public .brandMarqueeSection .marqueeHeader{
    padding:0 20px 14px!important;
  }
  body.public .clientPartnerTrack{
    gap:24px!important;
    padding:0 24px!important;
  }
  body.public .clientPartnerLogo{
    width:145px!important;
    min-width:145px!important;
    height:58px!important;
  }
  body.public .clientPartnerLogo img{
    max-height:42px!important;
  }
}

@media(max-width:430px){
  body.public .hero{
    padding-top:14px!important;
    gap:8px!important;
  }
  body.public .hero h1{
    font-size:29px!important;
  }
  body.public .heroLead{
    font-size:15px!important;
  }
  body.public .heroActions .btn{
    min-height:48px!important;
    font-size:15px!important;
  }
  body.public .homeHeroCardScene{
    max-width:96vw!important;
  }
}

/* Interface */
.walletIntroEmpty{
  min-height:34px;
  margin:8px 0 12px;
}
.enhancedMerchantItem{
  display:grid!important;
  grid-template-columns:1fr minmax(130px, .32fr);
  gap:18px;
  align-items:center!important;
  padding:18px!important;
}
.merchantListMain{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.merchantAvatar{
  width:46px!important;
  height:46px!important;
  min-width:46px;
  display:grid!important;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#b89145,#ead089);
  color:#15110a!important;
  font-weight:900;
  font-family:Georgia,serif;
  font-size:20px!important;
  letter-spacing:0!important;
}
.merchantListMeta{
  display:grid;
  gap:8px;
  justify-items:end;
}
.miniProgress{
  width:100%;
  min-width:130px;
  height:7px!important;
}
.loyaltyFocusEmpty{
  min-height:0;
  margin:0!important;
}
.walletFlipScene.merchant-selected{
  cursor:zoom-in;
}
.walletFlipScene.merchant-selected::after{
  content:"Cliquer pour agrandir";
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:8;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(0,0,0,.58);
  border:1px solid rgba(214,181,109,.25);
  color:#ead089;
  font-size:12px;
  font-weight:800;
  opacity:0;
  transition:.2s ease;
  pointer-events:none;
}
.walletFlipScene.merchant-selected:hover::after{
  opacity:1;
}
.bonusPanelHeader{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.bonusPanelHeader h2{
  margin:0;
}
.bonusStatusPill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(214,181,109,.12);
  color:#ead089;
  border:1px solid rgba(214,181,109,.18);
  font-size:12px;
  font-weight:900;
}
.bonusProgressBox{
  margin:18px 0;
  display:grid;
  gap:12px;
  padding:18px;
  border:1px solid rgba(214,181,109,.16);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(214,181,109,.075),rgba(255,255,255,.025));
}
.bonusProgressBox strong{
  display:block;
  color:#fff;
  font-size:18px;
}
.bonusProgressBox span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.62);
}
.bonusList{
  display:grid;
  gap:12px;
}
.rewardLabel{
  display:inline-flex;
  margin-bottom:6px;
  color:#ead089!important;
  font-size:11px!important;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
}
.bonusEmptyState{
  padding:18px;
  border:1px dashed rgba(214,181,109,.20);
  border-radius:18px;
  color:rgba(255,255,255,.68);
}
.bonusEmptyState strong{
  display:block;
  color:#fff;
}
.bonusEmptyState span{
  display:block;
  margin-top:4px;
}
.walletCardModal{
  position:fixed;
  inset:0;
  z-index:9998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:4vw;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(16px);
}
.walletCardModal.open{
  display:flex;
}
.walletCardModalInner{
  width:min(980px,92vw);
  aspect-ratio:1.61/1;
  position:relative;
  animation:walletZoomIn .38s cubic-bezier(.19,1,.22,1);
}
.walletCardModalInner .merchantCardFace,
.walletCardModalInner .walletCardFront{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:32px!important;
}
.walletCardModalInner img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.walletCardModalClose{
  position:fixed;
  top:22px;
  right:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  z-index:10000;
}
body.modalLocked{
  overflow:hidden;
}
@keyframes walletZoomIn{
  from{opacity:0;transform:translateY(20px) scale(.94);filter:blur(6px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:none}
}
@media(max-width:760px){
  .walletIntroEmpty{
    min-height:20px;
  }
  .enhancedMerchantItem{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .merchantListMeta{
    justify-items:stretch;
    width:100%;
  }
  .miniProgress{
    min-width:0;
  }
  .bonusPanelHeader{
    display:grid;
  }
  .walletCardModal{
    padding:18px;
  }
  .walletCardModalInner{
    width:100%;
  }
  .walletFlipScene.merchant-selected::after{
    opacity:1;
    bottom:10px;
  }
}

/* Interface */
.walletIntroEmpty{
  min-height:36px;
  margin:12px 0 14px;
}
.enhancedMerchantItem{
  display:grid!important;
  grid-template-columns:1fr minmax(140px,.34fr);
  gap:18px;
  align-items:center!important;
  padding:18px!important;
}
.merchantListMain{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.merchantAvatar{
  width:46px!important;
  height:46px!important;
  min-width:46px;
  display:grid!important;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#b89145,#ead089);
  color:#15110a!important;
  font-weight:900;
  font-family:Georgia,serif;
  font-size:20px!important;
  letter-spacing:0!important;
}
.merchantListMeta{
  display:grid;
  gap:8px;
  justify-items:end;
}
.miniProgress{
  width:100%;
  min-width:140px;
  height:7px!important;
}
.loyaltyFocusEmpty{
  min-height:0;
  margin:0!important;
}
.walletFlipScene.merchant-selected{
  cursor:zoom-in;
}
.walletFlipScene.merchant-selected::after{
  content:"Cliquer pour agrandir";
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:8;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(0,0,0,.62);
  border:1px solid rgba(214,181,109,.25);
  color:#ead089;
  font-size:12px;
  font-weight:900;
  opacity:0;
  transition:.2s ease;
  pointer-events:none;
}
.walletFlipScene.merchant-selected:hover::after{
  opacity:1;
}
.bonusPanel{
  position:relative;
  overflow:hidden;
}
.bonusPanel::before{
  content:"";
  position:absolute;
  inset:-20% -10% auto auto;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(214,181,109,.08);
  filter:blur(18px);
  pointer-events:none;
}
.bonusPanelHeader{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.bonusPanelHeader h2{
  margin:0;
}
.bonusStatusPill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(214,181,109,.14);
  color:#ead089;
  border:1px solid rgba(214,181,109,.24);
  font-size:12px;
  font-weight:900;
}
.bonusProgressBox{
  position:relative;
  margin:18px 0;
  display:grid;
  gap:12px;
  padding:18px;
  border:1px solid rgba(214,181,109,.20);
  border-radius:20px;
  background:
    radial-gradient(circle at 88% 12%,rgba(234,208,137,.10),transparent 35%),
    linear-gradient(135deg,rgba(214,181,109,.09),rgba(255,255,255,.025));
}
.bonusProgressBox strong{
  display:block;
  color:#fff;
  font-size:19px;
}
.bonusProgressBox span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.64);
}
.bonusList{
  display:grid;
  gap:12px;
}
.reward.available{
  border-color:rgba(234,208,137,.34);
  background:linear-gradient(135deg,rgba(214,181,109,.11),rgba(255,255,255,.035));
}
.rewardLabel{
  display:inline-flex;
  margin-bottom:6px;
  color:#ead089!important;
  font-size:11px!important;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
}
.bonusEmptyState{
  padding:18px;
  border:1px dashed rgba(214,181,109,.24);
  border-radius:18px;
  color:rgba(255,255,255,.68);
}
.bonusEmptyState strong{
  display:block;
  color:#fff;
}
.bonusEmptyState span{
  display:block;
  margin-top:4px;
}
.walletCardModal{
  position:fixed;
  inset:0;
  z-index:9998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:4vw;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(16px);
}
.walletCardModal.open{
  display:flex;
}
.walletCardModalInner{
  width:min(980px,92vw);
  aspect-ratio:1.61/1;
  position:relative;
  animation:walletZoomIn .38s cubic-bezier(.19,1,.22,1);
}
.walletCardModalInner .merchantCardFace,
.walletCardModalInner .walletCardFront{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:32px!important;
}
.walletCardModalInner img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.walletCardModalClose{
  position:fixed;
  top:22px;
  right:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  z-index:10000;
}
body.modalLocked{
  overflow:hidden;
}
@keyframes walletZoomIn{
  from{opacity:0;transform:translateY(20px) scale(.94);filter:blur(6px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:none}
}
.bonsPlansPanel{
  margin-top:34px;
  margin-bottom:42px!important;
}
.networkOfferStrip{
  margin:20px 0 22px;
  padding:18px 20px;
  border:1px solid rgba(214,181,109,.18);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(214,181,109,.09),rgba(255,255,255,.025));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.networkOfferStrip strong{
  display:block;
  color:#fff;
  font-size:18px;
}
.networkOfferStrip span{
  display:block;
  color:rgba(255,255,255,.62);
}
.networkOfferStrip a{
  color:#ead089;
  font-weight:900;
  white-space:nowrap;
}
.networkOfferRail{
  margin-top:18px!important;
}
.networkOfferCard.isNewCommerce{
  border-color:rgba(234,208,137,.42)!important;
  box-shadow:0 22px 60px rgba(214,181,109,.08);
}
.partnerMarqueeStandalone{
  width:100vw!important;
  margin:48px calc(50% - 50vw) 18px!important;
  padding:12px 0 28px!important;
  border:0!important;
  background:transparent!important;
  overflow:hidden!important;
}
.partnerMarqueeStandalone .clientPartnerMarqueeHeader{
  width:min(1280px,100%);
  margin:0 auto 18px;
  padding:0 6vw;
}
.partnerMarqueeStandalone .clientPartnerMarquee{
  width:100vw!important;
  margin-left:0!important;
  margin-right:0!important;
}
.partnerMarqueeStandalone .clientPartnerLogo{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
@media(max-width:760px){
  .walletIntroEmpty{
    min-height:22px;
  }
  .enhancedMerchantItem{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .merchantListMeta{
    justify-items:stretch;
    width:100%;
  }
  .miniProgress{
    min-width:0;
  }
  .bonusPanelHeader{
    display:grid;
  }
  .walletCardModal{
    padding:18px;
  }
  .walletCardModalInner{
    width:100%;
  }
  .walletFlipScene.merchant-selected::after{
    opacity:1;
    bottom:10px;
  }
  .networkOfferStrip{
    display:grid;
    padding:16px;
  }
  .partnerMarqueeStandalone{
    margin-top:38px!important;
  }
  .partnerMarqueeStandalone .clientPartnerMarqueeHeader{
    padding:0 20px;
  }
}


/* Interface */
.clientCardOpenable,
[data-open-card-modal="1"]{
  cursor:pointer;
  position:relative;
}
.clientCardOpenable::after,
[data-open-card-modal="1"]::after{
  content:"Toucher pour agrandir";
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  padding:7px 11px;
  border-radius:999px;
  background:rgba(0,0,0,.58);
  color:#f5d98d;
  border:1px solid rgba(226,192,122,.28);
  font-size:11px;
  font-weight:800;
  opacity:0;
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
  white-space:nowrap;
  backdrop-filter:blur(10px);
  z-index:5;
}
.clientCardOpenable:hover::after,
[data-open-card-modal="1"]:hover::after{
  opacity:1;
  transform:translateX(-50%) translateY(-2px);
}
.clientCardScanModal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.clientCardScanModal.isOpen{display:flex;}
.clientCardScanOverlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(18px);
}
.clientCardScanPanel{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:calc(100vh - 32px);
  overflow:auto;
  border:1px solid rgba(226,192,122,.22);
  border-radius:30px;
  background:
    radial-gradient(circle at 50% 0%,rgba(226,192,122,.16),transparent 34%),
    linear-gradient(180deg,#0b0a0c,#030304);
  box-shadow:0 40px 120px rgba(0,0,0,.7);
  padding:24px;
}
.clientCardScanClose{
  position:absolute;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(226,192,122,.24);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.clientCardScanHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-right:42px;
  margin-bottom:22px;
}
.clientCardScanEyebrow{
  margin:0 0 6px;
  color:#c9a96e;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:10px;
  font-weight:900;
}
.clientCardScanHeader h2{
  margin:0;
  color:#fff;
  font-family:Georgia,serif;
  font-weight:400;
  font-size:clamp(24px,4vw,34px);
  line-height:1.05;
}
.clientCardScanBadge{
  flex-shrink:0;
  margin-top:2px;
  border:1px solid rgba(226,192,122,.25);
  color:#f0d690;
  border-radius:999px;
  padding:8px 11px;
  font-size:11px;
  font-weight:900;
  background:rgba(226,192,122,.06);
}
.clientCardScanCardWrap{
  display:flex;
  justify-content:center;
  padding:8px 0 10px;
}
.clientCardScanCard{
  width:min(420px,100%);
  aspect-ratio:1.586/1;
  border-radius:26px;
  position:relative;
  overflow:hidden;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    radial-gradient(circle at 25% 18%,rgba(255,226,154,.20),transparent 27%),
    radial-gradient(circle at 82% 78%,rgba(226,192,122,.12),transparent 26%),
    linear-gradient(135deg,#17120a 0%,#050505 48%,#1a1208 100%);
  border:1px solid rgba(226,192,122,.40);
  box-shadow:0 26px 70px rgba(0,0,0,.52), inset 0 0 0 1px rgba(255,255,255,.04);
}
.clientCardScanCard::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 13px);
  pointer-events:none;
}
.clientCardScanTop{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  color:#e2c07a;
}
.clientCardScanTop span{
  font-family:Georgia,serif;
  font-size:22px;
  letter-spacing:.08em;
}
.clientCardScanTop small{
  color:rgba(255,255,255,.48);
  letter-spacing:.18em;
  font-size:10px;
  margin-top:4px;
}
.clientCardScanQrBox{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-43%);
  width:42%;
  aspect-ratio:1;
  border-radius:18px;
  background:#fff;
  padding:10px;
  display:grid;
  place-items:center;
  box-shadow:0 18px 45px rgba(0,0,0,.42);
  z-index:2;
}
.clientCardScanQrBox img,
.clientCardScanQrBox canvas,
.clientCardScanQrBox svg{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
  display:block;
}
.clientCardScanInfos{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
}
.clientCardScanInfos strong{
  color:#fff;
  font-size:18px;
}
.clientCardScanInfos span{
  color:rgba(255,255,255,.58);
  font-size:12px;
  text-align:right;
}
.clientCardScanHelp{
  margin:14px auto 0;
  max-width:430px;
  color:rgba(255,255,255,.58);
  text-align:center;
  line-height:1.55;
  font-size:14px;
}
body.cardScanModalOpen{overflow:hidden;}
@media(max-width:560px){
  .clientCardScanModal{
    padding:12px;
    align-items:flex-start;
  }
  .clientCardScanPanel{
    margin-top:14px;
    border-radius:24px;
    padding:18px;
  }
  .clientCardScanHeader{
    display:block;
    padding-right:42px;
  }
  .clientCardScanBadge{
    display:inline-block;
    margin-top:12px;
  }
  .clientCardScanCard{
    border-radius:22px;
    padding:18px;
  }
  .clientCardScanQrBox{
    width:48%;
    padding:8px;
    border-radius:15px;
  }
  .clientCardOpenable::after,
  [data-open-card-modal="1"]::after{
    opacity:1;
    bottom:8px;
  }
}


/* Interface */
.merchantCardHero,
.merchantCardPreview{
  position:relative;
}
.merchantCardQr{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:92px;
  min-height:112px;
  border-radius:18px;
  background:#fff;
  padding:8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  box-shadow:0 18px 42px rgba(0,0,0,.32);
  z-index:4;
}
.merchantCardQr[hidden]{
  display:none!important;
}
.merchantCardQr img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  display:block;
}
.merchantCardQr span{
  color:#121212;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.merchantCardHero .merchantCardCenter,
.merchantCardPreview .merchantCardCenter{
  padding-right:112px;
}
@media(max-width:560px){
  .merchantCardQr{
    width:76px;
    min-height:94px;
    right:12px;
    border-radius:14px;
    padding:6px;
  }
  .merchantCardHero .merchantCardCenter,
  .merchantCardPreview .merchantCardCenter{
    padding-right:88px;
  }
}


/* Interface */

.clientSelfScanNotice{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin:18px 0 24px;
  padding:22px;
  border:1px solid rgba(214,181,109,.18);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(214,181,109,.12),rgba(255,255,255,.035));
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}

.clientSelfScanNotice h2{
  margin:0 0 6px;
}

.clientSelfScanNotice p{
  margin:0;
  color:var(--muted);
}

.clientScannerPanel .scannerHelp{
  text-align:left;
}

@media(max-width:760px){
  .clientSelfScanNotice{
    flex-direction:column;
    align-items:stretch;
    padding:18px;
    border-radius:20px;
  }

  .clientSelfScanNotice .btn{
    width:100%;
  }
}


/* Interface */
.dailyOfferToggle{
  display:flex!important;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(214,181,109,.22);
  background:linear-gradient(135deg,rgba(214,181,109,.10),rgba(255,255,255,.035));
}

.dailyOfferToggle input{
  margin-top:4px;
}

.dailyOfferToggle span{
  display:grid;
  gap:4px;
}

.dailyOfferToggle strong{
  color:#fff;
}

.dailyOfferToggle small{
  color:var(--muted);
  line-height:1.4;
}


/* Interface */
.merchantLogoThumb{
  display:inline-block;
  width:44px;
  height:44px;
  object-fit:contain;
  vertical-align:middle;
  margin-left:8px;
  border-radius:12px;
  background:#fff;
  padding:4px;
}

.merchantCardIdentity{
  position:absolute;
  top:58px;
  left:22px;
  width:58px;
  height:58px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}

.merchantCardIdentity img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}

.merchantCardIdentity span{
  font-size:20px;
  font-weight:800;
  color:#fff;
  letter-spacing:.06em;
}





/* Interface */
.merchantCardHero .merchantCardIdentity{
  position:absolute;top:66px;left:24px;width:92px;height:92px;border-radius:28px;display:flex;align-items:center;justify-content:center;padding:4px;box-sizing:border-box;
  background:transparent!important;border:0!important;overflow:visible!important;z-index:3;box-shadow:none!important;backdrop-filter:none!important;
}
.merchantCardHero .merchantCardIdentity img{width:100%;height:100%;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;filter:drop-shadow(0 10px 18px rgba(0,0,0,.34));}
.merchantCardHero .merchantCardIdentity span{width:80px;height:80px;border-radius:24px;display:flex;align-items:center;justify-content:center;color:#05050a;background:linear-gradient(135deg,#b89145,#ead089);font-weight:900;font-size:24px;letter-spacing:.06em;}
.merchantCardHero .merchantCardCenter{padding-left:124px!important;padding-right:130px!important;}
.merchantCardHero .merchantCardCenter em,#heroMerchantAddress,#heroMerchantPhone{display:block;margin-top:6px;color:rgba(255,255,255,.58);font-size:11px;line-height:1.25;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.merchantCardHero .merchantCardQr{width:116px!important;height:116px!important;right:24px!important;bottom:70px!important;border-radius:24px!important;padding:8px!important;}
.walletVisitCounter{position:absolute;left:24px;bottom:92px;z-index:4;display:flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);}
.walletVisitCounter strong{color:var(--merchant-card-accent,#d6b56d);font-family:Georgia,serif;font-size:21px;line-height:1;font-weight:400;}
.walletVisitCounter span{color:rgba(255,255,255,.66);font-size:11px;}
.merchantAvatar img{width:100%;height:100%;object-fit:contain;background:transparent!important;border-radius:inherit;}

/* Interface */
.merchantCardHero .merchantCardIdentity [hidden]{
  display:none!important;
}

.merchantCardHero .merchantCardIdentity{
  width:112px!important;
  height:74px!important;
  top:74px!important;
  left:28px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  backdrop-filter:none!important;
}

.merchantCardHero .merchantCardIdentity img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.42));
}

.merchantCardHero .merchantCardIdentity span{
  width:76px!important;
  height:76px!important;
  border-radius:24px!important;
}

.merchantCardHero .merchantCardCenter{
  padding-left:152px!important;
  padding-right:130px!important;
}

@media(max-width:760px){
  .merchantCardHero .merchantCardIdentity{
    width:86px!important;
    height:60px!important;
    left:22px!important;
  }

  .merchantCardHero .merchantCardCenter{
    padding-left:120px!important;
  }
}

/* Interface */
#heroMerchantInitials[hidden],
.merchantCardHero .merchantCardIdentity [hidden]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}

#heroMerchantLogoImg:not([hidden]) + #heroMerchantInitials{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

.merchantCardHero .merchantCardIdentity img:not([hidden]){
  display:block!important;
}


/* Bandeau logos partenaires uniforme */
.partnerLogoBand{
  width:100%;
  overflow:hidden;
  padding:18px 0;
}
.partnerLogoBand .clientPartnerMarquee{
  width:100%;
}


/* globalLogoBandFixbandeau logos unique et commun */
.partnerLogoBand.globalPartnerBand{
  width:100%;
  overflow:hidden;
  padding:16px 0;
}
.partnerLogoBand.globalPartnerBand .clientPartnerMarquee{
  width:100%;
}
.partnerLogoBand.globalPartnerBand .clientPartnerLogo img{
  object-fit:contain;
}






/* v165 — fallback global bandeau logos client sans encadrement */
.partnerLogoBand.clientWalletLogoBand{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  padding:10px 0!important;
  overflow:hidden!important;
  border:0!important;
  background:transparent!important;
}
.partnerLogoBand.clientWalletLogoBand .clientPartnerMarquee{
  width:100vw!important;
  max-width:100vw!important;
  overflow:hidden!important;
}
.partnerLogoBand.clientWalletLogoBand .clientPartnerTrack{
  gap:28px!important;
  align-items:center!important;
}
.partnerLogoBand.clientWalletLogoBand .clientPartnerLogo{
  min-width:auto!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.partnerLogoBand.clientWalletLogoBand .clientPartnerLogo img{
  max-width:128px!important;
  max-height:42px!important;
  object-fit:contain!important;
}
@media(max-width:720px){
  .partnerLogoBand.clientWalletLogoBand{padding:6px 0!important;}
  .partnerLogoBand.clientWalletLogoBand .clientPartnerTrack{gap:22px!important;}
  .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo img{max-width:104px!important;max-height:30px!important;}
}
@media(max-width:420px){
  .partnerLogoBand.clientWalletLogoBand{padding:5px 0!important;}
  .partnerLogoBand.clientWalletLogoBand .clientPartnerTrack{gap:18px!important;}
  .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo img{max-width:96px!important;max-height:28px!important;}
}


/* v166 — Espace client mobile app-like + QR carte + modal optimisée */
.walletCardFront.clientCardOpenable{
  border:0;
  padding:0;
  background:transparent;
  appearance:none;
  -webkit-appearance:none;
  display:block;
  text-align:initial;
}
.walletCardFront.clientCardOpenable img{
  pointer-events:none;
}
.clientUniqueQr{
  top:21.8%!important;
  left:12.4%!important;
  width:13.8%!important;
  min-width:62px!important;
  max-width:118px!important;
  padding:6px!important;
  border-radius:12px!important;
  border:1px solid rgba(255,244,210,.30)!important;
}
.clientUniqueQr img{
  padding:3px!important;
  border-radius:5px!important;
}
.clientCardOpenable::after,
[data-open-card-modal="1"]::after{
  content:"Agrandir";
  opacity:0;
  bottom:14px;
  background:rgba(3,3,7,.62);
}

@media(max-width:760px){
  body.app{
    background:#05050a;
    padding-bottom:92px;
  }

  body.app .clientMobileAppbar{
    min-height:58px!important;
    padding:10px 18px!important;
    border-bottom:1px solid rgba(255,255,255,.06)!important;
    background:rgba(5,5,10,.92)!important;
  }
  body.app .clientMobileAppbar .brand{
    font-size:15px;
    letter-spacing:.20em;
  }
  body.app .clientMobileAppbar nav{
    display:none!important;
  }

  body.app .clientAppShell{
    width:100%!important;
    padding:18px 14px 98px!important;
  }

  body.app .cleanDashHead{
    border:0!important;
    background:transparent!important;
    padding:0 2px 8px!important;
    box-shadow:none!important;
  }
  body.app .cleanDashHead h1{
    font-size:28px!important;
    line-height:1.02!important;
  }
  body.app .pwaActions{
    display:flex;
    justify-content:flex-start;
    max-width:none;
  }
  body.app .pwaActions .pwaHelpText{
    display:none!important;
  }

  body.app .clientSelfScanNotice,
  body.app .clientNotificationCenter,
  body.app .clientWalletHero,
  body.app .networkOfferSection,
  body.app .networkOffersSection,
  body.app .clientNetworkSection,
  body.app .clientMobileProfilePanel{
    border-radius:28px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;
    border:1px solid rgba(214,181,109,.13)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
  }

  body.app .clientWalletHero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:16px!important;
    margin:14px 0 18px!important;
  }

  body.app .walletFlipScene{
    min-height:auto!important;
    aspect-ratio:1.61/1!important;
    width:100%;
  }
  body.app .walletFlipInner{
    min-height:0!important;
    height:100%!important;
  }
  body.app .walletCardFace{
    border-radius:22px!important;
  }
  body.app .walletCardFront img{
    object-fit:contain!important;
    background:#04040a;
  }
  body.app .clientUniqueQr{
    top:22.2%!important;
    left:12.2%!important;
    width:13.5%!important;
    min-width:45px!important;
    padding:4px!important;
    border-radius:9px!important;
  }
  body.app .clientUniqueQr img{
    padding:2px!important;
    border-radius:4px!important;
  }
  body.app .clientMainCardCopy{
    padding:0!important;
  }

  body.app .walletCardModal{
    padding:10px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.app .walletCardModalInner{
    width:calc(100vw - 20px)!important;
    max-width:520px!important;
    aspect-ratio:1.61/1!important;
  }
  body.app .walletCardModalClose{
    top:12px!important;
    right:12px!important;
    width:42px!important;
    height:42px!important;
  }

  body.app .clientMobileProfilePanel{
    display:none;
    padding:18px;
    margin:14px 0;
  }
  body.app .mobileProfileCard h2{
    margin:0 0 16px;
    font-family:Georgia,serif;
    font-weight:400;
    font-size:28px;
  }
  body.app .mobileProfileRows{
    display:grid;
    gap:10px;
    margin-bottom:14px;
  }
  body.app .mobileProfileRows div{
    border:1px solid rgba(214,181,109,.12);
    border-radius:16px;
    padding:12px;
    background:rgba(255,255,255,.025);
  }
  body.app .mobileProfileRows span{
    display:block;
    color:#d6b56d;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.16em;
    margin-bottom:4px;
  }
  body.app .mobileProfileRows strong{
    color:#fff;
    font-size:14px;
    word-break:break-word;
  }

  body.app.clientTabDeals .clientMobileSection[data-client-section="wallet"],
  body.app.clientTabDeals .partnerLogoBand.clientWalletLogoBand,
  body.app.clientTabDeals .clientMobileSection[data-client-section="profile"]{
    display:none!important;
  }
  body.app.clientTabProfile .clientMobileSection[data-client-section="wallet"],
  body.app.clientTabProfile .partnerLogoBand.clientWalletLogoBand,
  body.app.clientTabProfile .clientMobileSection[data-client-section="deals"]{
    display:none!important;
  }
  body.app.clientTabWallet .clientMobileSection[data-client-section="profile"],
  body.app.clientTabWallet .clientMobileSection[data-client-section="deals"]{
    display:none!important;
  }
  body.app.clientTabProfile .clientMobileProfilePanel{
    display:block!important;
  }

  .clientMobileTabbar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9000;
    height:82px;
    padding:8px 18px max(8px,env(safe-area-inset-bottom));
    background:rgba(5,5,10,.88);
    backdrop-filter:blur(22px);
    border-top:1px solid rgba(255,255,255,.08);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
  }
  .clientMobileTabbar button{
    border:0;
    background:transparent;
    color:rgba(255,255,255,.42);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    font-weight:800;
  }
  .clientMobileTabbar button.active{
    color:#d6b56d;
  }
  .clientMobileTabbar .tabIcon{
    font-size:28px;
    line-height:1;
  }
  .clientMobileTabbar strong{
    font-size:12px;
  }
}
@media(min-width:761px){
  .clientMobileTabbar,
  .clientMobileProfilePanel{
    display:none!important;
  }
}


/* v167 — Corrections espace client : PC stable, mobile en vraies pages */
@media(min-width:761px){
  .walletCardFront.clientCardOpenable{
    cursor:default!important;
  }
  .walletCardFront.clientCardOpenable::after,
  [data-open-card-modal="1"]::after{
    display:none!important;
    content:none!important;
  }
}

@media(max-width:760px){
  html,body.app{
    min-height:calc(var(--lc-vh,1vh) * 100);
    overflow-x:hidden;
  }

  body.app{
    padding-bottom:0!important;
  }

  body.app .clientMobileAppbar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:8500!important;
  }

  body.app .clientAppShell{
    position:relative!important;
    height:calc(var(--lc-vh,1vh) * 100)!important;
    min-height:calc(var(--lc-vh,1vh) * 100)!important;
    overflow-y:auto!important;   /* était hidden — bloquait le scroll sur toutes les pages */
    overflow-x:hidden!important;
    padding:72px 14px 96px!important;
    box-sizing:border-box!important;
  }

  body.app .clientMobileSection,
  body.app .partnerLogoBand.clientWalletLogoBand{
    display:none!important;
  }

  body.app.clientTabWallet .clientMobileSection[data-client-section="wallet"],
  body.app.clientTabWallet .partnerLogoBand.clientWalletLogoBand{
    display:block!important;
  }

  body.app.clientTabDeals .clientMobileSection[data-client-section="deals"]{
    display:block!important;
  }

  body.app.clientTabProfile .clientMobileSection[data-client-section="profile"]{
    display:block!important;
  }

  body.app .clientAppShell{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.app .clientMobileTabbar{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    transform:none!important;
    z-index:9500!important;
    height:78px!important;
    min-height:78px!important;
    padding:7px 18px max(7px,env(safe-area-inset-bottom))!important;
    background:rgba(5,5,10,.94)!important;
    backdrop-filter:blur(24px)!important;
    -webkit-backdrop-filter:blur(24px)!important;
  }

  body.app .clientWalletHero{
    min-height:auto!important;
  }

  body.app .walletGrid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  body.app .walletCardFront.clientCardOpenable::after,
  body.app [data-open-card-modal="1"]::after{
    display:inline-flex!important;
    content:"Agrandir la carte"!important;
    opacity:1!important;
  }

  body.app .bonsPlansPanel{
    margin:0!important;
    padding:18px!important;
  }

  body.app .bonsPlansPanel .featuredOfferRail,
  body.app .networkOfferRail{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}


/* v168 — Correction modale carte client : vrai QR uniquement */
.clientCardScanQrBox{
  width:34%!important;
  padding:8px!important;
  border-radius:16px!important;
  background:#f8f5ee!important;
  overflow:hidden!important;
}
.clientCardScanQrBox img{
  border-radius:8px!important;
  background:#f8f5ee!important;
  padding:0!important;
  filter:none!important;
}
.clientCardScanCard{
  overflow:hidden!important;
}
@media(max-width:560px){
  .clientCardScanPanel{
    width:100%!important;
    max-height:calc((var(--lc-vh,1vh) * 100) - 24px)!important;
    overflow:auto!important;
  }
  .clientCardScanQrBox{
    width:38%!important;
    padding:7px!important;
  }
  .clientCardScanHeader h2{
    font-size:clamp(28px,9vw,40px)!important;
  }
}



.loyaltyModeForm .loyaltyModeBox{
  border:1px solid rgba(214,181,109,.14);
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,.025);
  margin-top:12px;
}
.loyaltyModeBox h3{margin:0 0 12px;color:#ead089}
.rewardQrCard{
  width:min(360px,100%);
  margin:22px auto;
  padding:18px;
  border-radius:26px;
  border:1px solid rgba(214,181,109,.18);
  background:rgba(255,255,255,.035);
}
.rewardQrCard img{
  width:100%;
  border-radius:18px;
  background:#fff;
  padding:12px;
}
.rewardQrCard strong,.rewardQrCard span{display:block;margin-top:10px}


/* v170 — Nettoyage logique commerçant + champs visibles */
select,select option,input,textarea{
  background:#0b0b12!important;
  color:#fff!important;
}
select{
  border:1px solid rgba(214,181,109,.22)!important;
  color-scheme:dark;
}
select option{
  background:#0b0b12!important;
  color:#fff!important;
}
.logicHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  margin-bottom:20px;
}
.logicModePill{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(214,181,109,.25);
  border-radius:999px;
  padding:10px 14px;
  color:#ead089;
  background:rgba(214,181,109,.06);
  font-weight:900;
  font-size:12px;
}
.logicChoiceGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}
.logicChoiceCard{
  cursor:pointer;
  display:flex!important;
  align-items:flex-start;
  gap:12px;
  border:1px solid rgba(214,181,109,.14);
  border-radius:20px;
  padding:16px;
  background:rgba(255,255,255,.025);
}
.logicChoiceCard.active{
  border-color:rgba(234,208,137,.55);
  background:linear-gradient(135deg,rgba(214,181,109,.12),rgba(255,255,255,.025));
}
.logicChoiceCard input{
  width:auto!important;
  margin-top:5px;
  accent-color:#d6b56d;
}
.logicChoiceCard strong{display:block;color:#fff}
.logicChoiceCard small{display:block;margin-top:4px;color:rgba(255,255,255,.62);line-height:1.4}
.logicExample{
  border:1px dashed rgba(214,181,109,.20);
  border-radius:16px;
  padding:13px 14px;
  color:rgba(255,255,255,.68);
  background:rgba(255,255,255,.018);
}
.unifiedMerchantCardPreview{
  margin:18px 0 22px;
  display:flex;
  justify-content:center;
}
.unifiedMerchantCardPreview .unifiedCardPreview{
  width:min(520px,100%);
}
@media(max-width:760px){
  .logicHead,.logicChoiceGrid{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* v171 — Footer mobile client affiné */
@media(max-width:760px){
  body.app .clientAppShell{
    padding-bottom:68px!important;
  }

  body.app .clientMobileTabbar{
    height:56px!important;
    min-height:56px!important;
    padding:4px 16px max(4px,env(safe-area-inset-bottom))!important;
    gap:4px!important;
    align-items:center!important;
  }

  body.app .clientMobileTabbar button{
    gap:1px!important;
    min-height:42px!important;
    padding:0!important;
  }

  body.app .clientMobileTabbar .tabIcon{
    font-size:21px!important;
    line-height:1!important;
  }

  body.app .clientMobileTabbar strong{
    font-size:10.5px!important;
    line-height:1.05!important;
  }
}

@media(max-width:420px){
  body.app .clientAppShell{
    padding-bottom:64px!important;
  }

  body.app .clientMobileTabbar{
    height:52px!important;
    min-height:52px!important;
    padding:3px 14px max(3px,env(safe-area-inset-bottom))!important;
  }

  body.app .clientMobileTabbar button{
    min-height:39px!important;
  }

  body.app .clientMobileTabbar .tabIcon{
    font-size:20px!important;
  }

  body.app .clientMobileTabbar strong{
    font-size:10px!important;
  }
}


/* v172 — Bandeau logos mobile : plus de gros footer noir */
@media(max-width:760px){
  body.public .partnerLogoBand,
  body.public .globalPartnerBand,
  body.public .partnerMarqueeStandalone,
  body.mobileHomePage .partnerLogoBand,
  body.mobileHomePage .globalPartnerBand,
  body.mobileHomePage .partnerMarqueeStandalone,
  body.app .partnerLogoBand,
  body.app .globalPartnerBand,
  body.app .partnerMarqueeStandalone{
    min-height:0!important;
    height:auto!important;
    max-height:58px!important;
    padding:4px 0!important;
    margin:0!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
  }

  body.public .clientPartnerMarquee,
  body.mobileHomePage .clientPartnerMarquee,
  body.app .clientPartnerMarquee{
    height:50px!important;
    max-height:50px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
  }

  body.public .clientPartnerTrack,
  body.mobileHomePage .clientPartnerTrack,
  body.app .clientPartnerTrack{
    height:50px!important;
    align-items:center!important;
    gap:22px!important;
  }

  body.public .clientPartnerLogo,
  body.mobileHomePage .clientPartnerLogo,
  body.app .clientPartnerLogo{
    min-width:auto!important;
    width:auto!important;
    height:34px!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body.public .clientPartnerLogo img,
  body.mobileHomePage .clientPartnerLogo img,
  body.app .clientPartnerLogo img{
    width:auto!important;
    max-width:96px!important;
    height:auto!important;
    max-height:30px!important;
    object-fit:contain!important;
  }

  /* Cas spécifique landing mobile : le bandeau était pris dans une zone trop haute */
  body.mobileHomePage .mobilePartnerBand,
  body.public .mobilePartnerBand,
  body.mobileHomePage .mmPartnerBand,
  body.public .mmPartnerBand{
    height:54px!important;
    max-height:54px!important;
    min-height:0!important;
    padding:4px 0!important;
    margin:0!important;
    overflow:hidden!important;
  }
}

@media(max-width:420px){
  body.public .partnerLogoBand,
  body.public .globalPartnerBand,
  body.public .partnerMarqueeStandalone,
  body.mobileHomePage .partnerLogoBand,
  body.mobileHomePage .globalPartnerBand,
  body.mobileHomePage .partnerMarqueeStandalone,
  body.app .partnerLogoBand,
  body.app .globalPartnerBand,
  body.app .partnerMarqueeStandalone{
    max-height:48px!important;
    padding:3px 0!important;
  }

  body.public .clientPartnerMarquee,
  body.mobileHomePage .clientPartnerMarquee,
  body.app .clientPartnerMarquee,
  body.public .clientPartnerTrack,
  body.mobileHomePage .clientPartnerTrack,
  body.app .clientPartnerTrack{
    height:42px!important;
    max-height:42px!important;
  }

  body.public .clientPartnerLogo,
  body.mobileHomePage .clientPartnerLogo,
  body.app .clientPartnerLogo{
    height:30px!important;
  }

  body.public .clientPartnerLogo img,
  body.mobileHomePage .clientPartnerLogo img,
  body.app .clientPartnerLogo img{
    max-width:86px!important;
    max-height:26px!important;
  }
}


/* v173 — correction définitive du bandeau logos partout */
@media(max-width:760px){
  .mmLogoBand{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
  .partnerLogoBand.clientWalletLogoBand,
  body.app .partnerLogoBand.clientWalletLogoBand{
    height:44px!important;
    min-height:0!important;
    max-height:44px!important;
    padding:3px 0!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
  }
  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerMarquee,
  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerTrack{
    height:38px!important;
    max-height:38px!important;
    align-items:center!important;
  }
  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo{
    height:30px!important;
    min-height:0!important;
    width:auto!important;
    min-width:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo img{
    max-height:26px!important;
    max-width:90px!important;
  }
}


/* v174 — Correction hauteur réelle mobile app/footer */
@media(max-width:760px){
  html,
  body.app{
    min-height:100dvh!important;
    height:100dvh!important;
    /* overflow:hidden retiré — bloquait le scroll sur toutes les pages */
  }

  body.app .clientAppShell{
    height:auto!important;
    min-height:0!important;
    position:fixed!important;
    top:58px!important;
    right:0!important;
    bottom:56px!important;
    left:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px 14px 14px!important;
    box-sizing:border-box!important;
  }

  body.app .clientMobileTabbar{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    z-index:9500!important;
  }
}

@media(max-width:420px){
  body.app .clientAppShell{
    bottom:52px!important;
  }

  body.app .clientMobileTabbar{
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
  }
}


/* v175 — Espace client : bandeau logos sans faux footer */
@media(max-width:760px){
  body.app .partnerLogoBand.clientWalletLogoBand{
    position:relative!important;
    left:50%!important;
    width:100vw!important;
    margin-left:-50vw!important;
    height:44px!important;
    min-height:0!important;
    max-height:44px!important;
    padding:0!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
  }
  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerMarquee,
  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerTrack{
    height:44px!important;
    max-height:44px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo{
    height:30px!important;
    min-height:0!important;
    width:auto!important;
    min-width:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}


/* v176 — Espace commerçant en vraies pages + dashboard clair */
.merchantTopNav a.active{
  color:#ead089!important;
  border-bottom:1px solid rgba(234,208,137,.65);
  padding-bottom:4px;
}
.merchantTabbedDashboard{
  padding-top:34px;
}
.merchantPage{
  display:none;
}
.merchantPage.active{
  display:block;
}
.merchantPage > section{
  margin-bottom:22px;
}
.merchantDashboardOverview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:20px 0 22px;
}
.merchantDashboardOverview article{
  border:1px solid rgba(214,181,109,.13);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
}
.merchantDashboardOverview span,
.offerLogicNotice strong{
  display:block;
  color:#d6b56d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.merchantDashboardOverview strong{
  display:block;
  margin:8px 0 6px;
  color:#fff;
  font-size:22px;
  line-height:1.15;
}
.merchantDashboardOverview small{
  color:rgba(255,255,255,.60);
  line-height:1.45;
}
.offerLogicNotice{
  border:1px solid rgba(214,181,109,.14);
  border-radius:18px;
  padding:14px 16px;
  margin:14px 0 18px;
  background:rgba(214,181,109,.055);
}
.offerLogicNotice span{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.62);
}

/* QR toujours contenu dans son carré blanc */
.merchantQrCard{
  overflow:hidden;
}
.merchantQrCard .qr,
.merchantQrCard img.qr{
  display:block!important;
  width:min(220px,100%)!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  padding:12px!important;
  margin:16px auto!important;
  border-radius:20px!important;
  background:#fff!important;
  object-fit:contain!important;
  box-sizing:border-box!important;
}
.merchantCardQr{
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.merchantCardQr img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  padding:4px!important;
  border-radius:10px!important;
  background:#fff!important;
  object-fit:contain!important;
  box-sizing:border-box!important;
}

/* Offres plus lisibles */
.merchantOfferCreatePanel{
  position:relative;
}
@media(max-width:980px){
  .merchantDashboardOverview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .merchantTopNav{
    overflow:auto;
    white-space:nowrap;
    gap:16px!important;
  }
  .merchantDashboardOverview{
    grid-template-columns:1fr;
  }
}


/* === Mobile client v178 conservé, PC v176 verrouillé === */
/* v177 — Auth mobile scroll réparé */
@media(max-width:760px){
  body.public.authPage{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    position:static!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.public.authPage .authLayout{
    min-height:auto!important;
    height:auto!important;
    padding:26px 18px 90px!important;
    overflow:visible!important;
  }
  body.public.authPage .partnerLogoBand.globalPartnerBand{
    position:relative!important;
    height:44px!important;
    max-height:44px!important;
    overflow:hidden!important;
  }
}

/* v177 — Espace client mobile : Dashboard / Wallet / Bons plans / Profil / Aide */
@media(max-width:760px){
  body.app .clientAppShell{
    position:fixed!important;
    top:58px!important;
    right:0!important;
    bottom:56px!important;
    left:0!important;
    height:auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding:14px 14px 16px!important;
    background:#05050a!important;
  }
  body.app .clientMobileSection[data-client-section]{display:none;}
  body.app.clientTabDashboard .clientMobileSection[data-client-section="dashboard"],
  body.app.clientTabWallet .clientMobileSection[data-client-section="wallet"],
  body.app.clientTabDeals .clientMobileSection[data-client-section="deals"],
  body.app.clientTabProfile .clientMobileSection[data-client-section="profile"],
  body.app.clientTabHelp .clientMobileSection[data-client-section="help"]{display:block!important;}

  body.app .clientMobileTabbar{
    grid-template-columns:repeat(5,1fr)!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:3px 7px max(3px,env(safe-area-inset-bottom))!important;
    gap:1px!important;
  }
  body.app .clientMobileTabbar button{min-height:42px!important;gap:1px!important;padding:0!important;}
  body.app .clientMobileTabbar .tabIcon{font-size:18px!important;}
  body.app .clientMobileTabbar strong{font-size:8.8px!important;line-height:1!important;}

  .clientDashboardHome{display:grid;gap:14px;}
  .clientDashboardStats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
  .clientDashboardStats article,
  .clientDashboardScanCta,
  .clientDashboardCommerceList,
  .mobileProfileCard{
    border:1px solid rgba(214,181,109,.14);
    border-radius:24px;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
    padding:18px;
  }
  .clientDashboardStats article{padding:13px 10px;text-align:center;}
  .clientDashboardStats strong{display:block;color:#ead089;font-size:20px;}
  .clientDashboardStats span{color:rgba(255,255,255,.62);font-size:10px;text-transform:uppercase;letter-spacing:.08em;}
  .clientDashboardScanCta{display:block;}
  .clientDashboardScanCta span,.miniSectionHead span{color:#d6b56d;font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;}
  .clientDashboardScanCta strong{display:block;color:#fff;font-size:18px;margin:5px 0;}
  .clientDashboardScanCta em{color:rgba(255,255,255,.62);font-style:normal;font-size:13px;}
  .miniSectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
  .clientDashboardCommerceList article{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid rgba(255,255,255,.07);}
  .clientDashboardCommerceList article strong{display:block;}
  .clientDashboardCommerceList article span,.clientDashboardCommerceList article em{color:rgba(255,255,255,.58);font-style:normal;font-size:12px;}

  body.app.clientTabWallet .clientWalletHero{margin-bottom:14px!important;}
  body.app.clientTabWallet .walletGrid{display:block!important;}
  body.app.clientTabWallet .walletGrid > .panel:first-child{background:transparent!important;border:0!important;padding:0!important;}
  body.app.clientTabWallet .walletGrid > .panel:first-child h2{display:none!important;}
  body.app.clientTabWallet .merchantList{display:flex!important;flex-direction:column!important;gap:0!important;padding:8px 0 80px!important;}
  body.app.clientTabWallet .merchantListItem{
    position:relative!important;
    min-height:122px!important;
    margin-bottom:-58px!important;
    padding:18px!important;
    border-radius:26px!important;
    border:1px solid rgba(214,181,109,.25)!important;
    background:radial-gradient(circle at 75% 20%,rgba(214,181,109,.16),transparent 30%),linear-gradient(135deg,#17120a,#050507 58%,#21160a)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.42)!important;
    transform:translateZ(0)!important;
  }
  body.app.clientTabWallet .merchantListItem:last-child{margin-bottom:0!important;}
  body.app.clientTabWallet .merchantListItem.active{margin-bottom:12px!important;transform:translateY(-4px) scale(1.015)!important;border-color:rgba(234,208,137,.55)!important;}
  body.app.clientTabWallet .merchantAvatar{width:42px!important;height:42px!important;border-radius:50%!important;background:rgba(214,181,109,.12)!important;}
  body.app.clientTabWallet .bonusPanel{margin-top:18px!important;}

  .mobilePasswordForm{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}
  .mobilePasswordForm h3{margin:0 0 10px;}
}


/* v178 — Client mobile final avant démo : clair, sans doublons */
@media(max-width:760px){
  body.public.authPage{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    position:static!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.public.authPage .authLayout{
    min-height:auto!important;
    height:auto!important;
    padding:26px 18px 100px!important;
    overflow:visible!important;
  }

  body.app .clientAppShell{
    position:fixed!important;
    top:58px!important;
    right:0!important;
    bottom:56px!important;
    left:0!important;
    height:auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px 14px 18px!important;
    background:#05050a!important;
  }

  body.app .clientMobileSection[data-client-section],
  body.app .partnerLogoBand.clientWalletLogoBand.clientMobileSection{
    display:none!important;
  }
  body.app.clientTabDashboard .clientMobileSection[data-client-section="dashboard"],
  body.app.clientTabWallet .clientMobileSection[data-client-section="wallet"],
  body.app.clientTabDeals .clientMobileSection[data-client-section="deals"],
  body.app.clientTabProfile .clientMobileSection[data-client-section="profile"],
  body.app.clientTabHelp .clientMobileSection[data-client-section="help"]{
    display:block!important;
  }

  body.app .mobileOnlyHiddenDuplicate,
  body.app .mobileWalletRewardsHidden{
    display:none!important;
  }

  body.app .clientMobileTabbar{
    grid-template-columns:repeat(5,1fr)!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:3px 7px max(3px,env(safe-area-inset-bottom))!important;
    gap:1px!important;
  }
  body.app .clientMobileTabbar button{min-height:42px!important;padding:0!important;gap:1px!important;}
  body.app .clientMobileTabbar .tabIcon{font-size:18px!important;line-height:1!important;}
  body.app .clientMobileTabbar strong{font-size:8.7px!important;line-height:1!important;}

  .clientDashboardHome{display:grid!important;gap:16px!important;}
  .clientDashboardStats{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:12px!important;
  }
  .clientDashboardStats article,
  .clientDashboardVisitCta,
  .clientDashboardAccordion,
  .mobileProfileCard,
  .mobileDealsHero,
  .mobileDealsGroups section{
    border:1px solid rgba(214,181,109,.14)!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;
    padding:18px!important;
  }
  .clientDashboardStats article{text-align:center!important;padding:16px 10px!important;}
  .clientDashboardStats strong{display:block;color:#ead089;font-size:20px;}
  .clientDashboardStats span{font-size:10px;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.08em;}

  .clientDashboardVisitCta{display:block!important;}
  .clientDashboardVisitCta span,.mobileDealLine span{
    color:#d6b56d;font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;
  }
  .clientDashboardVisitCta strong{display:block;color:#fff;font-size:20px;margin:6px 0;}
  .clientDashboardVisitCta em{display:block;color:rgba(255,255,255,.62);font-style:normal;font-size:13px;margin-bottom:14px;}
  .clientDashboardVisitCta b{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:42px;padding:0 16px;border-radius:999px;
    background:linear-gradient(135deg,#b89145,#ead089);color:#111;font-size:13px;
  }

  .clientDashboardAccordion summary{
    list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;
  }
  .clientDashboardAccordion summary::-webkit-details-marker{display:none;}
  .clientDashboardAccordion summary span{font-weight:900;color:#fff;}
  .clientDashboardAccordion summary strong{color:#d6b56d;font-size:12px;}
  .clientDashboardCommerceList{padding-top:12px;}
  .clientDashboardCommerceList article{
    display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid rgba(255,255,255,.07);
  }
  .clientDashboardCommerceList article span,.clientDashboardCommerceList article em{color:rgba(255,255,255,.58);font-style:normal;font-size:12px;}

  /* Wallet : uniquement cartes, pile type Apple Wallet */
  body.app.clientTabWallet .clientSelfScanNotice,
  body.app.clientTabWallet .clientNotificationCenter,
  body.app.clientTabWallet .bonusPanel,
  body.app.clientTabWallet .loyaltyFocus,
  body.app.clientTabWallet .clientMainCardCopy{
    display:none!important;
  }
  body.app.clientTabWallet .clientWalletHero{
    background:transparent!important;border:0!important;padding:0!important;margin:0 0 12px!important;
  }
  body.app.clientTabWallet .walletFlipScene{
    transform:scale(.88)!important;
    transform-origin:top center!important;
    margin-bottom:-18px!important;
  }
  body.app.clientTabWallet .walletGrid{
    display:block!important;
    background:transparent!important;
  }
  body.app.clientTabWallet .walletGrid > .panel:first-child{
    background:transparent!important;border:0!important;padding:0!important;
  }
  body.app.clientTabWallet .walletGrid > .panel:first-child h2{
    display:block!important;
    margin:8px 0 14px!important;
    font-family:Georgia,serif!important;
    font-size:30px!important;
    font-weight:400!important;
  }
  body.app.clientTabWallet .merchantList{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:0 0 96px!important;
  }
  body.app.clientTabWallet .merchantListItem{
    min-height:132px!important;
    margin-bottom:-64px!important;
    padding:18px!important;
    border-radius:26px!important;
    border:1px solid rgba(214,181,109,.24)!important;
    background:
      radial-gradient(circle at 78% 22%,rgba(214,181,109,.16),transparent 30%),
      linear-gradient(135deg,#17120a,#060608 58%,#24170a)!important;
    box-shadow:0 22px 46px rgba(0,0,0,.45)!important;
  }
  body.app.clientTabWallet .merchantListItem:last-child{margin-bottom:0!important;}
  body.app.clientTabWallet .merchantListItem.active{
    margin-bottom:14px!important;
    transform:translateY(-6px) scale(1.02)!important;
    border-color:rgba(234,208,137,.55)!important;
  }

  /* Bons plans : une liste claire, pas un mur de cartes */
  .mobileDealsClean{display:grid;gap:16px;}
  .mobileDealsHero h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 8px;}
  .mobileDealLine{
    display:flex;justify-content:space-between;align-items:center;gap:14px;
    padding:14px 0;border-top:1px solid rgba(255,255,255,.07);
  }
  .mobileDealLine strong{display:block;color:#fff;font-size:15px;margin:4px 0;}
  .mobileDealLine em{display:block;color:rgba(255,255,255,.58);font-style:normal;font-size:12px;}
  .mobileDealLine a{color:#ead089;font-weight:900;font-size:13px;}

  .mobileProfileForm,.mobilePasswordForm{display:grid;gap:10px;}
  .mobileProfileForm{margin-bottom:16px;}
  .mobilePasswordForm{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}
}


/* v179 — Garde-fou PC : conserver l'affichage desktop de la v176 */
@media(min-width:761px){
  .clientDashboardHome,
  .clientHelpPanel,
  .clientMobileTabbar{
    display:none!important;
  }
  .mobileOnlyHiddenDuplicate{
    display:block!important;
  }
  .mobileWalletRewardsHidden{
    display:block!important;
  }
}


/* v180 — Séparation stricte PC / mobile */
/* PC : on retire les bons plans intégrés de la page client, ils restent uniquement dans client_deals.php */
@media(min-width:761px){
  body.app .bonsPlansPanel.clientMobileSection[data-client-section="deals"]{
    display:none!important;
  }
}

/* Mobile : dashboard espacé, wallet propre, bons plans détaillés */
@media(max-width:760px){
  body.app .clientAppShell{
    padding:18px 16px 20px!important;
  }

  .clientDashboardHome{
    gap:20px!important;
    padding-bottom:18px!important;
  }
  .clientDashboardStats{
    gap:14px!important;
    margin-bottom:2px!important;
  }
  .clientDashboardStats article{
    padding:18px 12px!important;
    border-radius:26px!important;
  }
  .clientDashboardVisitCta,
  .clientDashboardAccordion{
    margin-top:4px!important;
    padding:20px!important;
    border-radius:28px!important;
  }
  .clientDashboardCommerceList{
    padding-top:16px!important;
  }
  .clientDashboardCommerceList article{
    padding:15px 0!important;
  }

  /* Wallet : aucune récompense, aucune carte client Le Cercle, uniquement pile de cartes commerces */
  body.app.clientTabWallet .clientWalletHero,
  body.app.clientTabWallet .bonusPanel,
  body.app.clientTabWallet .loyaltyFocus,
  body.app.clientTabWallet .clientSelfScanNotice,
  body.app.clientTabWallet .clientNotificationCenter,
  body.app.clientTabWallet .clientMainCardCopy{
    display:none!important;
  }

  body.app.clientTabWallet .walletGrid{
    display:block!important;
    padding-bottom:120px!important;
  }
  body.app.clientTabWallet .walletGrid > .panel:first-child{
    border:0!important;
    background:transparent!important;
    padding:0!important;
  }
  body.app.clientTabWallet .walletGrid > .panel:first-child h2{
    display:block!important;
    margin:4px 0 18px!important;
    font-family:Georgia,serif!important;
    font-size:34px!important;
    line-height:1!important;
    font-weight:500!important;
  }
  body.app.clientTabWallet .merchantList{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:0 0 140px!important;
    perspective:900px!important;
  }
  body.app.clientTabWallet .merchantListItem{
    position:relative!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    min-height:150px!important;
    margin:0 0 -72px!important;
    padding:19px 18px!important;
    border-radius:28px!important;
    border:1px solid rgba(214,181,109,.24)!important;
    background:
      radial-gradient(circle at 82% 18%,rgba(234,208,137,.22),transparent 28%),
      linear-gradient(135deg,#22170b 0%,#050506 56%,#1a1006 100%)!important;
    box-shadow:0 24px 48px rgba(0,0,0,.52)!important;
    transform:translate3d(0,0,0) scale(1)!important;
    transition:transform .22s ease, margin .22s ease, border-color .22s ease!important;
    overflow:hidden!important;
  }
  body.app.clientTabWallet .merchantListItem:nth-child(2n){
    background:
      radial-gradient(circle at 80% 18%,rgba(214,181,109,.18),transparent 28%),
      linear-gradient(135deg,#121727 0%,#050507 58%,#1b1d2b 100%)!important;
  }
  body.app.clientTabWallet .merchantListItem:nth-child(3n){
    background:
      radial-gradient(circle at 78% 18%,rgba(214,181,109,.18),transparent 30%),
      linear-gradient(135deg,#0e2a21 0%,#050507 58%,#142b21 100%)!important;
  }
  body.app.clientTabWallet .merchantListItem:last-child{
    margin-bottom:0!important;
  }
  body.app.clientTabWallet .merchantListItem.active{
    margin-bottom:18px!important;
    transform:translateY(-8px) scale(1.025)!important;
    border-color:rgba(234,208,137,.68)!important;
  }
  body.app.clientTabWallet .merchantListItem::after{
    content:"";
    position:absolute;
    right:18px;
    bottom:18px;
    width:42px;
    height:26px;
    border-radius:999px;
    border:1px solid rgba(234,208,137,.42);
    opacity:.7;
  }
  body.app.clientTabWallet .merchantListMain{
    align-items:flex-start!important;
  }
  body.app.clientTabWallet .merchantAvatar{
    width:46px!important;
    height:46px!important;
    border-radius:50%!important;
    background:rgba(234,208,137,.12)!important;
    border:1px solid rgba(234,208,137,.26)!important;
  }
  body.app.clientTabWallet .merchantListMain strong{
    color:#fff!important;
    font-size:18px!important;
  }
  body.app.clientTabWallet .merchantListMain span{
    color:rgba(255,255,255,.62)!important;
    font-size:12px!important;
  }
  body.app.clientTabWallet .merchantListMeta{
    position:absolute!important;
    left:20px!important;
    bottom:18px!important;
    right:72px!important;
  }
  body.app.clientTabWallet .merchantListMeta em{
    color:#ead089!important;
    font-size:12px!important;
    font-style:normal!important;
  }
  body.app.clientTabWallet .miniProgress{
    margin-top:7px!important;
  }

  /* Carte commerce agrandie */
  .mobileMerchantCardModal{
    display:none;
    position:fixed;
    inset:0;
    z-index:9900;
    padding:74px 16px 24px;
  }
  .mobileMerchantCardModal.open{
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .mobileMerchantCardBackdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(14px);
  }
  .mobileMerchantCardClose{
    position:absolute;
    top:18px;
    right:18px;
    z-index:2;
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid rgba(234,208,137,.28);
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:28px;
  }
  .mobileMerchantCardPanel{
    position:relative;
    z-index:1;
    width:100%;
  }
  .mobileBigMerchantCard{
    position:relative;
    width:100%;
    aspect-ratio:1.586/1;
    border-radius:28px;
    overflow:hidden;
    background:
      radial-gradient(circle at 78% 14%,rgba(234,208,137,.20),transparent 32%),
      linear-gradient(135deg,var(--merchant-card-bg,#0b0b10),#050506 60%,#201407);
    border:1px solid rgba(234,208,137,.38);
    box-shadow:0 30px 80px rgba(0,0,0,.62);
    padding:22px;
  }
  .mobileBigMerchantTop,
  .mobileBigMerchantBottom{
    display:flex;
    justify-content:space-between;
    color:#ead089;
    font-size:10px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:900;
  }
  .mobileBigMerchantLogo{
    position:absolute;
    left:22px;
    top:62px;
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(234,208,137,.28);
    color:#ead089;
    overflow:hidden;
  }
  .mobileBigMerchantLogo img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .mobileBigMerchantMain{
    position:absolute;
    left:22px;
    right:120px;
    bottom:44px;
  }
  .mobileBigMerchantMain h2{
    margin:0 0 6px;
    color:#fff;
    font-size:24px;
    line-height:1;
  }
  .mobileBigMerchantMain p,
  .mobileBigMerchantMain em{
    display:block;
    color:rgba(255,255,255,.60);
    font-style:normal;
    font-size:11px;
    line-height:1.28;
  }
  .mobileBigMerchantQr{
    position:absolute;
    right:20px;
    top:72px;
    width:88px;
    padding:7px;
    border-radius:16px;
    background:#fff;
  }
  .mobileBigMerchantQr img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:contain;
  }
  .mobileBigMerchantQr span{
    display:block;
    color:#111;
    font-size:7px;
    font-weight:900;
    text-align:center;
    margin-top:3px;
  }
  .mobileBigMerchantBottom{
    position:absolute;
    left:22px;
    right:22px;
    bottom:18px;
  }
  .mobileBigMerchantHelp{
    text-align:center;
    color:rgba(255,255,255,.62);
    font-size:13px;
  }

  /* Bons plans détaillés mais structurés */
  .mobileDealsClean{
    display:grid!important;
    gap:18px!important;
  }
  .mobileDealsHero{
    padding:20px!important;
  }
  .mobileDealsHero h2{
    font-size:32px!important;
    line-height:1.02!important;
  }
  .mobileDealsGroups section{
    padding:18px!important;
  }
  .mobileDealLine{
    align-items:flex-start!important;
    padding:16px 0!important;
  }
  .mobileDealLine strong{
    font-size:16px!important;
    line-height:1.2!important;
  }
  .mobileDealLine em{
    font-size:12px!important;
    line-height:1.35!important;
  }
  .mobileDealLine a{
    flex-shrink:0;
    border:1px solid rgba(234,208,137,.24);
    border-radius:999px;
    padding:8px 11px;
  }
}


/* v181 — PC : bandeau logos poussé en bas de l'écran quand la page est courte */
@media(min-width:761px){
  body.app{
    min-height:100vh!important;
  }
  body.app .clientAppShell{
    min-height:calc(100vh - 190px)!important;
  }
  body.app .partnerLogoBand.clientWalletLogoBand{
    margin-top:auto!important;
  }
}

/* v181 — Mobile : Wallet façon Apple Wallet, vraie pile de cartes sélectionnables */
@media(max-width:760px){
  body.app.clientTabWallet .clientAppShell{
    background:#000!important;
  }

  body.app.clientTabWallet .walletGrid{
    padding:0 0 150px!important;
  }

  body.app.clientTabWallet .walletGrid > .panel:first-child h2{
    display:block!important;
    margin:2px 0 18px!important;
    color:#fff!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
    font-size:34px!important;
    font-weight:800!important;
    letter-spacing:-.05em!important;
  }

  body.app.clientTabWallet .merchantList{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    padding:0 0 170px!important;
    perspective:1200px!important;
  }

  body.app.clientTabWallet .merchantListItem{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:196px!important;
    min-height:196px!important;
    margin:0 0 -118px!important;
    padding:18px 18px 16px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:18px!important;
    background:
      radial-gradient(circle at 82% 20%,rgba(255,212,124,.28),transparent 27%),
      linear-gradient(135deg,#2a1b0b 0%,#050505 54%,#15100a 100%)!important;
    box-shadow:0 24px 52px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.12)!important;
    overflow:hidden!important;
    transform-origin:50% 0!important;
    transition:transform .24s cubic-bezier(.22,1,.36,1), margin .24s cubic-bezier(.22,1,.36,1), box-shadow .24s ease!important;
    color:#fff!important;
  }

  body.app.clientTabWallet .merchantListItem:nth-child(2n){
    background:
      radial-gradient(circle at 80% 18%,rgba(102,171,255,.22),transparent 28%),
      linear-gradient(135deg,#122943 0%,#050506 56%,#1b2034 100%)!important;
  }
  body.app.clientTabWallet .merchantListItem:nth-child(3n){
    background:
      radial-gradient(circle at 78% 18%,rgba(67,225,171,.18),transparent 30%),
      linear-gradient(135deg,#0c3025 0%,#050506 56%,#142a22 100%)!important;
  }
  body.app.clientTabWallet .merchantListItem:nth-child(4n){
    background:
      radial-gradient(circle at 78% 18%,rgba(225,92,145,.18),transparent 30%),
      linear-gradient(135deg,#32101f 0%,#050506 56%,#25111c 100%)!important;
  }

  body.app.clientTabWallet .merchantListItem:nth-child(n+2){
    transform:translateY(0) scale(.985)!important;
  }

  body.app.clientTabWallet .merchantListItem:last-child{
    margin-bottom:0!important;
  }

  body.app.clientTabWallet .merchantListItem.active{
    margin:0 0 18px!important;
    height:210px!important;
    min-height:210px!important;
    transform:translateY(-6px) scale(1.018)!important;
    z-index:20!important;
    box-shadow:0 34px 78px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.16)!important;
  }

  body.app.clientTabWallet .merchantListItem::before{
    content:"LE CERCLE";
    position:absolute;
    left:18px;
    top:16px;
    color:rgba(234,208,137,.92);
    font-family:Georgia,serif;
    font-size:16px;
    letter-spacing:.20em;
    font-weight:600;
  }

  body.app.clientTabWallet .merchantListItem::after{
    content:"";
    position:absolute;
    right:20px;
    bottom:20px;
    width:48px;
    height:30px;
    border-radius:999px;
    border:1px solid rgba(234,208,137,.52);
    opacity:.72;
    box-shadow:-18px 0 0 -1px rgba(234,208,137,.18);
  }

  body.app.clientTabWallet .merchantListMain{
    position:absolute!important;
    left:18px!important;
    right:18px!important;
    bottom:54px!important;
    display:block!important;
  }

  body.app.clientTabWallet .merchantAvatar{
    position:absolute!important;
    top:-64px!important;
    left:0!important;
    width:44px!important;
    height:44px!important;
    border-radius:50%!important;
    border:1px solid rgba(234,208,137,.35)!important;
    background:rgba(234,208,137,.10)!important;
  }

  body.app.clientTabWallet .merchantListMain div{
    padding-left:0!important;
  }

  body.app.clientTabWallet .merchantListMain strong{
    display:block!important;
    max-width:78%!important;
    color:#fff!important;
    font-size:26px!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
  }

  body.app.clientTabWallet .merchantListMain span{
    display:block!important;
    margin-top:5px!important;
    color:rgba(255,255,255,.62)!important;
    font-size:12px!important;
  }

  body.app.clientTabWallet .merchantListMeta{
    position:absolute!important;
    left:18px!important;
    right:82px!important;
    bottom:19px!important;
  }

  body.app.clientTabWallet .merchantListMeta em{
    color:rgba(234,208,137,.95)!important;
    font-size:12px!important;
    font-style:normal!important;
    font-weight:800!important;
  }

  body.app.clientTabWallet .merchantListMeta .miniProgress{
    height:5px!important;
    margin-top:8px!important;
    background:rgba(255,255,255,.16)!important;
  }

  body.app.clientTabWallet .merchantListMeta .miniProgress span{
    background:linear-gradient(90deg,#b89145,#ead089)!important;
  }

  /* La grande carte doit ressembler à une vraie carte, pas à une fiche */
  .mobileMerchantCardModal.open{
    display:flex!important;
  }
  .mobileBigMerchantCard{
    border-radius:22px!important;
    aspect-ratio:1.586/1!important;
    background:
      radial-gradient(circle at 80% 18%,rgba(234,208,137,.22),transparent 30%),
      linear-gradient(135deg,var(--merchant-card-bg,#17100a),#050505 56%,#1b1208)!important;
  }
  .mobileBigMerchantMain h2{
    font-size:28px!important;
    letter-spacing:-.055em!important;
  }
}


/* v182 — Correctif réel PC + wallet natif mobile */
/* PC : le bandeau logos descend en bas en flex réel */
@media(min-width:761px){
  body.app{
    min-height:100vh!important;
  }
  body.app .clientAppShell{
    min-height:calc(100vh - 76px)!important;
    display:flex!important;
    flex-direction:column!important;
  }
  body.app .partnerLogoBand.clientWalletLogoBand{
    margin-top:auto!important;
    flex-shrink:0!important;
  }
  .mobileWalletNative{
    display:none!important;
  }
}

/* Mobile : on masque l'ancien wallet desktop et on affiche un wallet dédié */
@media(max-width:760px){
  body.app.clientTabWallet .clientWalletHero,
  body.app.clientTabWallet .walletGrid{
    display:none!important;
  }

  body.app.clientTabWallet .mobileWalletNative{
    display:block!important;
  }

  .mobileWalletNative{
    padding-bottom:128px!important;
    background:#000!important;
  }

  .mobileWalletHeader{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin:2px 0 18px;
  }
  .mobileWalletHeader h2{
    margin:0;
    color:#fff;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    font-size:38px;
    font-weight:800;
    letter-spacing:-.06em;
    line-height:1;
  }
  .mobileWalletHeader p{
    margin:0;
    color:rgba(255,255,255,.48);
    font-size:12px;
  }

  .mobileWalletStack{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:0;
    padding-bottom:160px;
  }

  .mobileWalletCard{
    position:relative;
    width:100%;
    height:196px;
    min-height:196px;
    margin:0 0 -116px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    padding:18px;
    text-align:left;
    color:#fff;
    overflow:hidden;
    background:
      radial-gradient(circle at 82% 20%,rgba(234,208,137,.24),transparent 28%),
      linear-gradient(135deg,var(--merchant-card-bg,#24180b),#050505 58%,#1a1007);
    box-shadow:0 24px 52px rgba(0,0,0,.60),inset 0 1px 0 rgba(255,255,255,.14);
    transition:transform .22s cubic-bezier(.22,1,.36,1), margin .22s cubic-bezier(.22,1,.36,1), box-shadow .22s ease;
    transform:translate3d(0,0,0);
  }
  .mobileWalletCard:nth-child(2n){
    background:
      radial-gradient(circle at 82% 20%,rgba(118,180,255,.22),transparent 28%),
      linear-gradient(135deg,#102842,#050505 58%,#171c2e);
  }
  .mobileWalletCard:nth-child(3n){
    background:
      radial-gradient(circle at 82% 20%,rgba(78,220,169,.18),transparent 28%),
      linear-gradient(135deg,#0b2d22,#050505 58%,#11261e);
  }
  .mobileWalletCard:nth-child(4n){
    background:
      radial-gradient(circle at 82% 20%,rgba(229,94,149,.18),transparent 28%),
      linear-gradient(135deg,#32101f,#050505 58%,#24111d);
  }
  .mobileWalletCard:last-child{
    margin-bottom:0;
  }
  .mobileWalletCard.active{
    margin-bottom:18px;
    transform:translateY(-8px) scale(1.018);
    border-color:rgba(234,208,137,.62);
    box-shadow:0 34px 78px rgba(0,0,0,.74),inset 0 1px 0 rgba(255,255,255,.18);
    z-index:10;
  }

  .mobileWalletCardBrand{
    position:absolute;
    left:18px;
    top:16px;
    color:#ead089;
    font-family:Georgia,serif;
    font-size:16px;
    letter-spacing:.22em;
    font-weight:600;
  }
  .mobileWalletCardCategory{
    position:absolute;
    right:18px;
    top:19px;
    color:rgba(255,255,255,.50);
    font-size:10px;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:900;
  }
  .mobileWalletCardName{
    position:absolute;
    left:18px;
    right:80px;
    bottom:54px;
    color:#fff;
    font-size:26px;
    line-height:1.02;
    letter-spacing:-.045em;
    font-weight:800;
  }
  .mobileWalletCardSub{
    position:absolute;
    left:18px;
    right:80px;
    bottom:36px;
    color:rgba(255,255,255,.58);
    font-size:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobileWalletCardMetric{
    position:absolute;
    left:18px;
    right:90px;
    bottom:17px;
    color:#ead089;
    font-size:12px;
    font-weight:800;
  }
  .mobileWalletCardChip{
    position:absolute;
    right:20px;
    bottom:20px;
    width:50px;
    height:30px;
    border-radius:999px;
    border:1px solid rgba(234,208,137,.55);
  }
  .mobileWalletCardChip:before{
    content:"";
    position:absolute;
    left:-20px;
    top:-1px;
    width:30px;
    height:30px;
    border-radius:999px;
    border:1px solid rgba(234,208,137,.22);
  }

  .mobileWalletEmpty{
    border:1px solid rgba(234,208,137,.14);
    border-radius:24px;
    padding:22px;
    background:rgba(255,255,255,.035);
  }
  .mobileWalletEmpty strong,
  .mobileWalletEmpty span{
    display:block;
  }
  .mobileWalletEmpty span{
    color:rgba(255,255,255,.58);
    margin-top:6px;
  }

  .nativeBigCard{
    background:
      radial-gradient(circle at 82% 18%,rgba(234,208,137,.24),transparent 30%),
      linear-gradient(135deg,var(--merchant-card-bg,#24180b),#050505 58%,#1a1007)!important;
  }
}


/* v183 — PC : bandeau logos vraiment poussé au bas de l'écran */
/* Page publique desktop */
@media(min-width:761px){
  html,
  body.public{
    min-height:100vh!important;
  }
  body.public{
    display:flex!important;
    flex-direction:column!important;
  }
  body.public > main,
  body.public main.hero,
  body.public .hero{
    flex:1 0 auto!important;
  }
  body.public > .partnerLogoBand.globalPartnerBand:last-of-type,
  body.public .partnerLogoBand.globalPartnerBand{
    flex-shrink:0!important;
  }

  /* Espace client desktop */
  html,
  body.app{
    min-height:100vh!important;
  }
  body.app{
    display:flex!important;
    flex-direction:column!important;
  }
  body.app > .appbar{
    flex:0 0 auto!important;
  }
  body.app > .clientAppShell{
    flex:1 0 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  body.app > .clientAppShell > .partnerLogoBand.clientWalletLogoBand{
    margin-top:auto!important;
    flex-shrink:0!important;
  }
}

/* v183 — Mobile wallet : ajout de la carte Le Cercle + agrandissement en overlay */
@media(max-width:760px){
  .mobileWalletBaseCard{
    background:
      radial-gradient(circle at 80% 16%,rgba(234,208,137,.28),transparent 28%),
      linear-gradient(135deg,#050505 0%,#0c0905 54%,#251706 100%)!important;
    border-color:rgba(234,208,137,.42)!important;
  }
  .mobileWalletBaseCard .mobileWalletCardBrand{
    color:#ead089!important;
  }
  .mobileWalletBaseCard .mobileWalletCardCategory{
    color:rgba(234,208,137,.70)!important;
  }
  .mobileWalletBaseCard .mobileWalletCardName{
    font-family:Georgia,serif!important;
    font-weight:500!important;
    letter-spacing:-.04em!important;
  }
  .mobileBigLeCercleCard{
    background:
      radial-gradient(circle at 82% 16%,rgba(234,208,137,.28),transparent 31%),
      linear-gradient(135deg,#050505,#0d0a05 58%,#261806)!important;
  }
  .mobileBigLeCercleCard .mobileBigMerchantMain h2{
    font-family:Georgia,serif!important;
    font-weight:500!important;
  }

  /* Le modal est une surcouche, pas une page */
  .mobileMerchantCardModal{
    position:fixed!important;
    inset:0!important;
  }
  .mobileMerchantCardModal.open{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .mobileMerchantCardPanel{
    transform:scale(.98);
    animation:walletCardZoomIn .22s cubic-bezier(.22,1,.36,1) forwards;
  }
  @keyframes walletCardZoomIn{
    from{opacity:.2;transform:translateY(18px) scale(.92);}
    to{opacity:1;transform:translateY(0) scale(1);}
  }
}


/* v184 — Correctif PC : aucun élément mobile ne fuite sur desktop */
.mobileMerchantCardModal,
.mobileMerchantCardClose,
.mobileMerchantCardBackdrop,
.mobileMerchantCardPanel,
.mobileWalletNative,
.clientMobileTabbar{
  display:none;
}

@media(min-width:761px){
  html,
  body{
    overflow-x:hidden!important;
  }

  body.app{
    min-height:100vh!important;
    display:flex!important;
    flex-direction:column!important;
  }

  body.app > .appbar{
    flex:0 0 auto!important;
  }

  body.app > .clientAppShell{
    flex:1 0 auto!important;
    width:100%!important;
    max-width:1280px!important;
    display:flex!important;
    flex-direction:column!important;
    padding-bottom:0!important;
  }

  /* Annule les anciens styles mobile du bandeau logos injectés dans client.php */
  body.app .partnerLogoBand.clientWalletLogoBand{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    margin-top:auto!important;
    padding:14px 0 0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    flex-shrink:0!important;
    background:transparent!important;
    border:0!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerMarquee{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerTrack{
    width:max-content!important;
    display:flex!important;
    align-items:center!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo{
    width:auto!important;
    min-width:auto!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo img{
    max-height:30px!important;
    max-width:118px!important;
    width:auto!important;
    object-fit:contain!important;
  }
}

/* v184 — Mobile : on réactive uniquement la surcouche wallet en contexte mobile */
@media(max-width:760px){
  .mobileMerchantCardModal{
    display:none;
  }
  .mobileMerchantCardModal.open{
    display:flex!important;
  }
  .clientMobileTabbar{
    display:grid!important;
  }
}


/* v185 — PC : vrai bandeau logos épais, séparé des blocs par un espace noir */
@media(min-width:761px){
  body.app > .clientAppShell{
    min-height:calc(100vh - 76px)!important;
    display:flex!important;
    flex-direction:column!important;
    padding-bottom:0!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand{
    position:relative!important;
    left:50%!important;
    right:auto!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:-50vw!important;
    margin-right:0!important;
    margin-top:72px!important;
    padding:0!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    overflow:hidden!important;
    background:#05050a!important;
    border-top:1px solid rgba(214,181,109,.16)!important;
    border-bottom:1px solid rgba(214,181,109,.08)!important;
    box-shadow:0 -28px 80px rgba(0,0,0,.58)!important;
    flex-shrink:0!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand::before{
    content:"";
    position:absolute;
    inset:-70px 0 auto;
    height:70px;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(5,5,10,0),#05050a);
  }

  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerMarquee{
    width:100vw!important;
    max-width:100vw!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)!important;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerTrack{
    width:max-content!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    display:flex!important;
    align-items:center!important;
    gap:72px!important;
    padding:0 48px!important;
    margin:0!important;
    animation:clientLogoMarqueePc 34s linear infinite!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo{
    width:auto!important;
    min-width:auto!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand .clientPartnerLogo img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-height:54px!important;
    max-width:180px!important;
    object-fit:contain!important;
    filter:none!important;
    opacity:.96!important;
  }

  @keyframes clientLogoMarqueePc{
    from{transform:translate3d(0,0,0);}
    to{transform:translate3d(-50%,0,0);}
  }
}


/* v186 — PC : espace noir plus généreux avant le bandeau logos */
@media(min-width:761px){
  body.app .walletGrid{
    margin-bottom:64px!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand{
    margin-top:112px!important;
  }

  body.app .partnerLogoBand.clientWalletLogoBand::before{
    height:112px!important;
    inset:-112px 0 auto!important;
    background:linear-gradient(180deg,rgba(5,5,10,0),rgba(5,5,10,.72) 58%,#05050a)!important;
  }
}


/* v187 — PC verrouillé : les nouveaux éléments wallet mobile restent invisibles sur desktop */
@media(min-width:761px){
  .mobileWalletNative,
  .mobileMerchantCardModal{
    display:none!important;
  }
}

/* v187 — Wallet mobile fonctionnel + carte Le Cercle conforme au visuel fourni */
@media(max-width:760px){
  html.walletModalOpen,
  html.walletModalOpen body{
    overflow:hidden!important;
  }

  body.app.clientTabWallet .mobileWalletNative{
    display:block!important;
  }

  .mobileWalletImageCard{
    padding:0!important;
    background:#050505!important;
    border:1px solid rgba(234,208,137,.42)!important;
  }

  .mobileWalletImageCard img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:inherit;
    pointer-events:none;
  }

  .mobileWalletImageCard::before,
  .mobileWalletImageCard::after{
    display:none!important;
    content:none!important;
  }

  .mobileMerchantCardModal{
    display:none;
    position:fixed!important;
    inset:0!important;
    z-index:20000!important;
    padding:74px 16px 24px!important;
  }

  .mobileMerchantCardModal.open{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .mobileMerchantCardBackdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(0,0,0,.78)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
  }

  .mobileMerchantCardClose{
    display:flex!important;
    position:absolute!important;
    top:18px!important;
    right:18px!important;
    z-index:3!important;
    width:44px!important;
    height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    border:1px solid rgba(234,208,137,.34)!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:28px!important;
  }

  .mobileMerchantCardPanel{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    max-width:430px!important;
    animation:walletCardZoomIn .22s cubic-bezier(.22,1,.36,1) forwards;
  }

  .mobileBigCercleCard{
    position:relative;
    width:100%;
    aspect-ratio:1.70/1;
    border-radius:24px;
    overflow:hidden;
    background:#050505;
    border:1px solid rgba(234,208,137,.46);
    box-shadow:0 34px 90px rgba(0,0,0,.76);
  }

  .mobileBigCercleVisual{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .mobileBigCercleQr{
    position:absolute;
    left:8%;
    top:12%;
    width:16%;
    aspect-ratio:1/1;
    background:#fff;
    border-radius:8px;
    padding:4px;
    box-shadow:0 8px 22px rgba(0,0,0,.35);
  }

  .mobileBigCercleQr img{
    width:100%;
    height:100%;
    object-fit:contain;
  }

  .mobileBigCercleQr span{
    display:none;
  }

  .mobileBigCercleName{
    position:absolute;
    left:7%;
    bottom:7%;
    color:rgba(234,208,137,.78);
    font-size:10px;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
}


/* v188 — Mobile uniquement : wallet interactif inline, sans modale */
@media(min-width:761px){
  .mobileWalletNative,
  .mobileMerchantCardModal{
    display:none!important;
  }
}

@media(max-width:760px){
  /* plus aucune surcouche modale dans le wallet */
  body.app.clientTabWallet .mobileMerchantCardModal,
  body.app.clientTabWallet .mobileMerchantCardModal.open{
    display:none!important;
  }

  body.app.clientTabWallet .mobileWalletStack{
    padding-bottom:180px!important;
  }

  body.app.clientTabWallet .mobileWalletCard{
    height:188px!important;
    min-height:188px!important;
    margin:0 0 -102px!important;
    border-radius:24px!important;
    transform-origin:center top!important;
    will-change:height,transform,margin;
  }

  body.app.clientTabWallet .mobileWalletCard.active{
    height:292px!important;
    min-height:292px!important;
    margin:0 0 24px!important;
    transform:translateY(-4px) scale(1.015)!important;
    z-index:40!important;
  }

  /* Carte Le Cercle : vrai effet carte premium, pas simple image plate */
  body.app.clientTabWallet .mobileWalletBaseCard{
    background:#050505!important;
    border:1px solid rgba(234,208,137,.55)!important;
    box-shadow:
      0 32px 70px rgba(0,0,0,.72),
      inset 0 1px 0 rgba(255,255,255,.16),
      inset 0 -1px 0 rgba(234,208,137,.20)!important;
  }

  body.app.clientTabWallet .mobileWalletImageCard img{
    filter:contrast(1.08) saturate(1.04);
    transform:scale(1.012);
  }

  body.app.clientTabWallet .mobileWalletImageCard::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    border-radius:inherit!important;
    pointer-events:none!important;
    background:
      linear-gradient(115deg,rgba(255,255,255,.18),transparent 24%,transparent 70%,rgba(234,208,137,.10)),
      radial-gradient(circle at 52% -8%,rgba(255,255,255,.20),transparent 30%)!important;
    mix-blend-mode:screen!important;
    opacity:.72!important;
  }

  /* QR client seulement quand la carte Le Cercle est agrandie */
  .mobileWalletInlineQr{
    position:absolute;
    right:18px;
    top:70px;
    width:82px;
    padding:7px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 14px 34px rgba(0,0,0,.42);
    opacity:0;
    transform:translateY(8px) scale(.92);
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;
    z-index:4;
  }

  .mobileWalletInlineQr img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:contain;
    display:block;
  }

  .mobileWalletCard.active .mobileWalletInlineQr{
    opacity:1;
    transform:translateY(0) scale(1);
  }

  .mobileWalletImageCard .mobileWalletClientQr{
    left:7.8%;
    right:auto;
    top:11.6%;
    width:16.5%;
    padding:4px;
    border-radius:8px;
  }

  .mobileWalletExpandHint{
    position:absolute;
    left:18px;
    bottom:14px;
    color:rgba(234,208,137,.78);
    font-size:10px;
    letter-spacing:.14em;
    text-transform:uppercase;
    opacity:.72;
    z-index:3;
  }

  .mobileWalletCard.active .mobileWalletExpandHint{
    opacity:0;
  }

  /* Cartes commerçants : esthétique donnée par le commerçant */
  body.app.clientTabWallet .mobileWalletCard:not(.mobileWalletBaseCard){
    background:
      radial-gradient(circle at 82% 18%,var(--merchant-card-accent,#d6b56d),transparent 31%),
      linear-gradient(135deg,var(--merchant-card-bg,#0b0b10),#050506 58%,var(--merchant-card-bg,#0b0b10))!important;
    border-color:var(--merchant-card-accent,#d6b56d)!important;
  }

  body.app.clientTabWallet .mobileWalletCard:not(.mobileWalletBaseCard) .mobileWalletCardBrand,
  body.app.clientTabWallet .mobileWalletCard:not(.mobileWalletBaseCard) .mobileWalletCardMetric{
    color:var(--merchant-card-accent,#d6b56d)!important;
  }

  body.app.clientTabWallet .mobileWalletCard:not(.mobileWalletBaseCard) .mobileWalletCardChip{
    border-color:var(--merchant-card-accent,#d6b56d)!important;
  }

  .mobileWalletInlineDetails{
    position:absolute;
    left:18px;
    right:116px;
    bottom:54px;
    display:grid;
    gap:3px;
    opacity:0;
    transform:translateY(6px);
    transition:opacity .2s ease,transform .2s ease;
  }

  .mobileWalletInlineDetails em{
    color:rgba(255,255,255,.58);
    font-size:11px;
    font-style:normal;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobileWalletCard.active .mobileWalletInlineDetails{
    opacity:1;
    transform:translateY(0);
  }

  .mobileWalletCard.active .mobileWalletCardName{
    bottom:108px!important;
  }

  .mobileWalletCard.active .mobileWalletCardSub{
    bottom:88px!important;
  }

  .mobileWalletCard.active .mobileWalletCardMetric{
    bottom:20px!important;
  }

  .mobileWalletCard.active .mobileWalletCardChip{
    opacity:.35;
  }
}


/* v189 — Wallet mobile : cartes opaques, carte Le Cercle plus premium, suppression des éléments sous cartes */
@media(max-width:760px){
  body.app.clientTabWallet .mobileWalletCard{
    background:#090909!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 26px 56px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.09)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body.app.clientTabWallet .mobileWalletCard::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(140deg, rgba(255,255,255,.06), transparent 22%, transparent 72%, rgba(255,255,255,.02));
    opacity:.55;
  }

  body.app.clientTabWallet .mobileWalletCard:not(.mobileWalletBaseCard){
    background:
      linear-gradient(135deg,
        var(--merchant-card-bg,#0b0b10) 0%,
        var(--merchant-card-bg,#0b0b10) 56%,
        var(--merchant-card-bg,#0b0b10) 100%)!important;
    border-color:var(--merchant-card-accent,#d6b56d)!important;
  }

  body.app.clientTabWallet .mobileWalletCard:not(.mobileWalletBaseCard)::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:44%;
    border-radius:0 0 inherit inherit;
    pointer-events:none;
    background:radial-gradient(circle at 82% 24%, var(--merchant-card-accent,#d6b56d), transparent 30%);
    opacity:.68;
  }

  /* Carte Le Cercle : rendu carte 3D plus premium */
  body.app.clientTabWallet .mobileWalletBaseCard{
    background:#020202!important;
    border:1px solid rgba(234,208,137,.58)!important;
    box-shadow:
      0 36px 80px rgba(0,0,0,.74),
      0 12px 26px rgba(0,0,0,.48),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -1px 0 rgba(234,208,137,.22)!important;
  }

  body.app.clientTabWallet .mobileWalletBaseCard::before{
    content:""!important;
    position:absolute!important;
    left:10%; right:10%; bottom:-12px;
    height:24px;
    border-radius:999px;
    background:radial-gradient(ellipse at center, rgba(0,0,0,.56), transparent 72%);
    filter:blur(10px);
    opacity:.95;
    z-index:0;
  }

  body.app.clientTabWallet .mobileWalletBaseCard img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:inherit;
    filter:contrast(1.06) saturate(1.04) drop-shadow(0 16px 24px rgba(0,0,0,.34));
    transform:perspective(1100px) rotateX(5deg) rotateY(-9deg) rotateZ(-1.2deg) scale(1.03) translateY(1px);
    transform-origin:center center;
    transition:transform .24s cubic-bezier(.22,1,.36,1), filter .24s ease;
    z-index:1;
  }

  body.app.clientTabWallet .mobileWalletBaseCard.active img{
    transform:perspective(1200px) rotateX(2.4deg) rotateY(-4deg) rotateZ(-.4deg) scale(1.055) translateY(-1px);
    filter:contrast(1.07) saturate(1.05) drop-shadow(0 24px 34px rgba(0,0,0,.42));
  }

  body.app.clientTabWallet .mobileWalletImageCard::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    border-radius:inherit!important;
    pointer-events:none!important;
    background:
      linear-gradient(115deg, rgba(255,255,255,.16), transparent 24%, transparent 69%, rgba(234,208,137,.08)),
      radial-gradient(circle at 50% -10%, rgba(255,255,255,.16), transparent 32%)!important;
    mix-blend-mode:screen!important;
    opacity:.74!important;
    z-index:2!important;
  }

  body.app.clientTabWallet .mobileWalletCard.active{
    box-shadow:0 40px 86px rgba(0,0,0,.78), inset 0 1px 0 rgba(255,255,255,.16)!important;
  }

  /* on ne garde plus aucun élément sous les cartes */
  body.app.clientTabWallet .mobileWalletExpandHint,
  body.app.clientTabWallet .mobileWalletInlineDetails{
    display:none!important;
  }

  /* Ajustement des labels pour éviter l'effet "posé sous la carte" */
  body.app.clientTabWallet .mobileWalletCard.active .mobileWalletCardName{
    bottom:86px!important;
  }
  body.app.clientTabWallet .mobileWalletCard.active .mobileWalletCardSub{
    bottom:64px!important;
  }
  body.app.clientTabWallet .mobileWalletCard.active .mobileWalletCardMetric{
    bottom:20px!important;
  }
}


/* v190 — Wallet mobile façon Claude, uniquement mobile, PC verrouillé */
@media(min-width:761px){
  .mobileWalletNative,
  .lcWalletSurface,
  .mobileMerchantCardModal{
    display:none!important;
  }
}

@media(max-width:760px){
  body.app.clientTabWallet .clientAppShell{
    background:#03030a!important;
    padding:12px 12px 0!important;
    overflow:hidden!important;
  }

  body.app.clientTabWallet .clientWalletHero,
  body.app.clientTabWallet .walletGrid,
  body.app.clientTabWallet .mobileMerchantCardModal,
  body.app.clientTabWallet .mobileMerchantCardModal.open{
    display:none!important;
  }

  body.app.clientTabWallet .mobileWalletNative{
    display:block!important;
    height:100%!important;
    min-height:100%!important;
    padding:0!important;
    background:#03030a!important;
  }

  .lcWalletSurface{
    position:relative;
    height:calc((var(--lc-vh,1vh) * 100) - 126px);
    min-height:560px;
    max-height:720px;
    overflow:hidden;
    border-radius:30px;
    background:#03030a;
    perspective:950px;
  }

  .lcWalletHeader{
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:58px;
    z-index:120;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 4px 0;
    transition:opacity .35s ease;
    pointer-events:none;
  }

  .lcWalletHeader h2{
    margin:0;
    color:#fff;
    font-size:34px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.055em;
  }

  .lcWalletAdd{
    pointer-events:auto;
    border:1px solid rgba(196,160,85,.32);
    border-radius:999px;
    padding:7px 12px;
    color:#c4a055;
    font-size:12px;
    font-weight:800;
    background:rgba(255,255,255,.035);
  }

  .lcWalletOverlay{
    position:absolute;
    inset:0;
    z-index:60;
    background:rgba(0,0,0,0);
    pointer-events:none;
    transition:background .45s ease;
  }

  .lcWalletSurface.walletExpanded .lcWalletOverlay{
    background:rgba(0,0,0,.55);
  }

  .lcWalletCards{
    position:absolute;
    top:64px;
    left:0;
    right:0;
    bottom:56px;
    z-index:70;
  }

  .lcWalletCard{
    position:absolute;
    left:0;
    right:0;
    height:164px;
    border:0;
    padding:0;
    background:transparent;
    transform-style:preserve-3d;
    will-change:transform, opacity;
    cursor:pointer;
    transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .42s ease,box-shadow .42s ease;
  }

  .lcWalletCardInner{
    position:relative;
    height:164px;
    border-radius:22px;
    overflow:hidden;
    /* base color = var(--merchant-card-bg) */
    background-color:var(--merchant-card-bg,#0b0b10);
    background-image:
      radial-gradient(circle at 80% 18%, rgba(255,255,255,.16), transparent 36%),
      linear-gradient(135deg, rgba(255,255,255,.07) 0%, rgba(0,0,0,.05) 45%, rgba(0,0,0,.28) 100%);
    border:1.5px solid var(--merchant-card-accent,rgba(214,181,109,.42));
    box-shadow:0 16px 46px rgba(0,0,0,.82), inset 0 1px 0 rgba(255,255,255,.10);
  }

  .lcWalletCardInner::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      repeating-linear-gradient(45deg, transparent, transparent 30px, rgba(255,255,255,.025) 30px, rgba(255,255,255,.025) 31px),
      linear-gradient(115deg, rgba(255,255,255,.06), transparent 24%, transparent 72%, rgba(255,255,255,.025));
    opacity:.7;
  }

  .lcWalletCard.expanded .lcWalletCardInner{
    height:290px;
    border-radius:24px;
    box-shadow:0 30px 82px rgba(0,0,0,.82), inset 0 1px 0 rgba(255,255,255,.16);
  }

  .lcWalletCard.expanded{
    height:290px;
  }

  .lcWalletCard.isPeeking{
    pointer-events:none;
  }

  .lcWalletCercleInner{
    background:#050505!important;
    border-color:rgba(234,208,137,.56)!important;
    box-shadow:0 22px 58px rgba(0,0,0,.9),0 6px 20px rgba(196,160,85,.16),inset 0 1px 0 rgba(255,240,160,.08)!important;
  }

  .lcWalletCercleInner > img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:perspective(950px) rotateX(3.8deg) rotateY(-7deg) rotateZ(-.8deg) scale(1.03);
    transform-origin:center center;
    filter:contrast(1.06) saturate(1.04) drop-shadow(0 15px 20px rgba(0,0,0,.35));
  }

  .lcWalletCard.expanded .lcWalletCercleInner > img{
    transform:perspective(1050px) rotateX(1.5deg) rotateY(-3deg) rotateZ(-.3deg) scale(1.06);
  }

  .lcWalletCercleInner::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(ellipse at 32% 22%,rgba(255,236,180,.16),rgba(255,236,180,.05) 42%,transparent 66%),
      linear-gradient(115deg,rgba(255,255,255,.14),transparent 24%,transparent 72%,rgba(234,208,137,.08));
    mix-blend-mode:screen;
    opacity:.78;
  }

  .lcWalletLiveQr{
    position:absolute;
    right:18px;
    top:70px;
    width:84px;
    padding:7px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 13px 34px rgba(0,0,0,.46);
    opacity:0;
    transform:translateY(8px) scale(.92);
    transition:opacity .22s ease, transform .22s ease;
    z-index:4;
    pointer-events:none;
  }

  .lcWalletLiveQr img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:contain;
  }

  .lcWalletClientLiveQr{
    left:7.5%;
    right:auto;
    top:10.5%;
    width:17%;
    padding:4px;
    border-radius:8px;
  }

  .lcWalletCard.expanded .lcWalletLiveQr{
    opacity:1;
    transform:translateY(0) scale(1);
  }

  .lcWalletMemberName{
    display:none!important;
  }

  .lcWalletMerchantType{
    position:absolute;
    top:18px;
    left:20px;
    color:var(--merchant-card-accent,#d6b56d);
    font-size:8.5px;
    letter-spacing:.20em;
    text-transform:uppercase;
    font-weight:900;
    z-index:2;
  }

  .lcWalletMerchantName{
    position:absolute;
    left:20px;
    right:78px;
    bottom:50px;
    color:#fff;
    font-size:25px;
    font-weight:800;
    letter-spacing:-.045em;
    line-height:1.02;
    z-index:2;
  }

  .lcWalletMerchantSub{
    position:absolute;
    left:20px;
    right:88px;
    bottom:31px;
    color:rgba(255,255,255,.48);
    font-size:10.5px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    z-index:2;
  }

  .lcWalletMerchantMetric{
    position:absolute;
    left:20px;
    right:96px;
    bottom:15px;
    color:var(--merchant-card-accent,#d6b56d);
    font-size:11px;
    font-weight:800;
    z-index:2;
  }

  .lcWalletMerchantLogo{
    position:absolute;
    top:16px;
    right:18px;
    width:42px;
    height:42px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--merchant-card-accent,#d6b56d);
    background:var(--merchant-card-accent,#d6b56d);
    border:1px solid var(--merchant-card-accent,#d6b56d);
    overflow:hidden;
    font-weight:900;
    z-index:2;
  }

  .lcWalletMerchantLogo img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .lcWalletProgress{
    position:absolute;
    left:20px;
    right:96px;
    bottom:10px;
    height:0;
    overflow:hidden;
    z-index:2;
  }

  .lcWalletProgress i{
    display:block;
    height:100%;
    background:linear-gradient(90deg,var(--merchant-card-accent,#d6b56d),#ead089);
  }

  .lcWalletCard.expanded .lcWalletProgress{
    bottom:44px;
    height:5px;
    border-radius:3px;
    background:rgba(255,255,255,.08);
  }

  .lcWalletCard.expanded .lcWalletMerchantName{
    bottom:96px;
  }

  .lcWalletCard.expanded .lcWalletMerchantSub{
    bottom:74px;
  }

  .lcWalletCard.expanded .lcWalletMerchantMetric{
    bottom:18px;
  }

  .lcWalletNfc{
    position:absolute;
    right:22px;
    bottom:20px;
    width:38px;
    height:28px;
    border-radius:999px;
    border:1px solid var(--merchant-card-accent,#d6b56d);
    opacity:.75;
    z-index:2;
  }

  .lcWalletNfc::before{
    content:"";
    position:absolute;
    left:-16px;
    top:-1px;
    width:28px;
    height:28px;
    border-radius:999px;
    border:1px solid var(--merchant-card-accent,#d6b56d);
  }

  .lcWalletSpecular{
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:radial-gradient(ellipse at 30% 30%, rgba(255,236,180,.14), rgba(255,236,180,.04) 42%, transparent 66%);
    z-index:5;
    transition:background .08s;
    mix-blend-mode:screen;
  }

  .lcWalletHint{
    position:absolute;
    bottom:12px;
    left:0;
    right:0;
    z-index:20;
    text-align:center;
    color:rgba(255,255,255,.20);
    font-size:9px;
    letter-spacing:.17em;
    text-transform:uppercase;
    pointer-events:none;
    transition:opacity .35s ease;
  }

  .lcWalletEmpty{
    border:1px solid rgba(234,208,137,.14);
    border-radius:22px;
    padding:22px;
    color:#fff;
    background:rgba(255,255,255,.035);
  }

  .lcWalletEmpty span{
    display:block;
    color:rgba(255,255,255,.58);
    margin-top:6px;
  }
}




/* v192 — Mobile wallet: cartes mieux visibles + carte Le Cercle plus premium */
@media(max-width:760px){
  .lcWalletSurface{
    height:calc((var(--lc-vh,1vh) * 100) - 126px);
    min-height:620px;
    max-height:none;
    overflow:hidden;
  }

  .lcWalletHeader{
    padding:0 10px 0 0;
  }

  .lcWalletCards{
    top:78px!important;
    left:14px!important;
    right:14px!important;
    bottom:62px!important;
  }

  .lcWalletCard{
    left:0!important;
    right:0!important;
    height:174px!important;
  }

  .lcWalletCardInner{
    height:174px!important;
    border-radius:24px!important;
  }

  .lcWalletCard.expanded{
    height:304px!important;
  }

  .lcWalletCard.expanded .lcWalletCardInner{
    height:304px!important;
    border-radius:26px!important;
  }

  .lcWalletCercleInner{
    background:radial-gradient(circle at 24% 18%, rgba(255,223,140,.10), transparent 32%), linear-gradient(145deg, #0d0b08, #050505 58%, #100c06)!important;
  }

  .lcWalletCercleInner > img{
    inset:auto!important;
    width:94%!important;
    height:88%!important;
    left:50%!important;
    top:50%!important;
    object-fit:contain!important;
    transform:translate(-50%,-50%) perspective(1200px) rotateX(6deg) rotateY(-10deg) rotateZ(-1.3deg) scale(1.02)!important;
    filter:contrast(1.05) saturate(1.02) drop-shadow(0 20px 24px rgba(0,0,0,.42))!important;
  }

  .lcWalletCard.expanded .lcWalletCercleInner > img{
    width:96%!important;
    height:82%!important;
    transform:translate(-50%,-48%) perspective(1250px) rotateX(2deg) rotateY(-3deg) rotateZ(-.5deg) scale(1.03)!important;
  }

  .lcWalletCercleInner::after{
    background:radial-gradient(ellipse at 22% 16%,rgba(255,236,180,.13),rgba(255,236,180,.03) 36%,transparent 62%), linear-gradient(112deg,rgba(255,255,255,.09),transparent 22%,transparent 74%,rgba(234,208,137,.06))!important;
    opacity:.72!important;
  }

  .lcWalletClientLiveQr{
    left:6.2%!important;
    top:11.4%!important;
    width:14.5%!important;
    border-radius:9px!important;
    padding:4px!important;
  }

  .lcWalletMerchantName{
    font-size:19px!important;
    line-height:1.08!important;
    bottom:62px!important;
  }

  .lcWalletMerchantSub{
    bottom:38px!important;
    font-size:11px!important;
  }

  .lcWalletMerchantMetric{
    bottom:18px!important;
    font-size:10px!important;
  }

  .lcWalletProgress{
    bottom:20px!important;
    right:18px!important;
    width:118px!important;
  }

  .lcWalletHint{
    display:none!important;
  }

  .lcWalletCard.isPeeking{
    opacity:.72!important;
  }
}


/* v194 — Wallet mobile : vrai effet wallet Apple, cartes empilées visibles et opaques */
@media(max-width:760px){
  .lcWalletSurface{
    height:calc((var(--lc-vh,1vh) * 100) - 126px)!important;
    min-height:650px!important;
    overflow:hidden!important;
    background:transparent!important;
  }

  .lcWalletHeader{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:85;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 16px 0 0;
    transition:opacity .35s;
    pointer-events:none;
  }

  .lcWalletHeader > *{ pointer-events:auto; }

  .lcWalletHeader h2{
    font-size:42px!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    color:#fff!important;
  }

  .lcWalletAdd{
    border-radius:999px!important;
    padding:12px 20px!important;
    font-size:15px!important;
    font-weight:800!important;
  }

  .lcWalletOverlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0);
    transition:background .45s;
    z-index:22;
    pointer-events:none;
  }

  .lcWalletSurface.walletExpanded .lcWalletOverlay{
    background:rgba(0,0,0,.42)!important;
  }

  .lcWalletCards{
    position:absolute!important;
    top:90px!important;
    left:16px!important;
    right:16px!important;
    bottom:72px!important;
    z-index:70!important;
  }

  .lcWalletCard{
    height:154px!important;
    left:0!important;
    right:0!important;
    transform-origin:center top!important;
  }

  .lcWalletCardInner{
    height:154px!important;
    border-radius:24px!important;
    overflow:hidden!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 16px 42px rgba(0,0,0,.68), 0 1px 0 rgba(255,255,255,.04) inset!important;
  }

  .lcWalletCardInner::before{
    opacity:.42!important;
  }

  .lcWalletCard.expanded{
    height:282px!important;
  }

  .lcWalletCard.expanded .lcWalletCardInner{
    height:282px!important;
    border-radius:26px!important;
    box-shadow:0 26px 64px rgba(0,0,0,.74), 0 1px 0 rgba(255,255,255,.06) inset!important;
  }

  .lcWalletCard.isPeeking{
    pointer-events:none!important;
  }

  .lcWalletCercleInner{
    background:linear-gradient(145deg,#0a0907 0%, #050505 58%, #100d08 100%)!important;
    border:1.5px solid rgba(234,208,137,.34)!important;
    box-shadow:0 20px 54px rgba(0,0,0,.84), 0 6px 18px rgba(196,160,85,.18), inset 0 1px 0 rgba(255,240,160,.08)!important;
  }

  .lcWalletCercleInner > img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:perspective(960px) rotateX(2deg) rotateY(-5deg) rotateZ(-.4deg) scale(1.01)!important;
    transform-origin:center center!important;
    filter:contrast(1.05) saturate(1.03) drop-shadow(0 14px 20px rgba(0,0,0,.28))!important;
  }

  .lcWalletCard.expanded .lcWalletCercleInner > img{
    transform:perspective(1100px) rotateX(1deg) rotateY(-2deg) rotateZ(-.18deg) scale(1.01)!important;
  }

  .lcWalletCercleInner::after{
    background:radial-gradient(ellipse at 22% 16%,rgba(255,236,180,.12),rgba(255,236,180,.03) 34%,transparent 60%), linear-gradient(115deg,rgba(255,255,255,.08),transparent 24%,transparent 74%,rgba(234,208,137,.06))!important;
    mix-blend-mode:screen!important;
    opacity:.68!important;
  }

  .lcWalletClientLiveQr{
    left:6.6%!important;
    top:10.3%!important;
    width:14.8%!important;
    border-radius:9px!important;
    padding:4px!important;
    opacity:1!important;
    transform:none!important;
    box-shadow:0 8px 18px rgba(0,0,0,.35)!important;
  }

  .lcWalletMerchantCard .lcWalletCardInner{
    background:
      radial-gradient(circle at 82% 18%, var(--merchant-card-accent,#d6b56d), transparent 34%),
      linear-gradient(135deg, var(--merchant-card-bg,#0b0b10), var(--merchant-card-bg,#0b0b10) 56%, #050507 100%)!important;
    border:1.5px solid var(--merchant-card-accent,#d6b56d)!important;
  }

  .lcWalletMerchantType{
    top:16px!important;
    left:18px!important;
    font-size:8px!important;
    opacity:.9!important;
  }

  .lcWalletMerchantName{
    left:18px!important;
    right:82px!important;
    top:38px!important;
    bottom:auto!important;
    font-size:18px!important;
    line-height:1.04!important;
    letter-spacing:-.035em!important;
  }

  .lcWalletMerchantSub{
    left:18px!important;
    right:84px!important;
    top:64px!important;
    bottom:auto!important;
    font-size:10.5px!important;
  }

  .lcWalletMerchantMetric{
    left:18px!important;
    right:110px!important;
    top:88px!important;
    bottom:auto!important;
    font-size:10px!important;
  }

  .lcWalletProgress{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    width:auto!important;
    height:5px!important;
    border-radius:999px!important;
    overflow:hidden!important;
    background:rgba(255,255,255,.08)!important;
  }

  .lcWalletProgress i{
    border-radius:inherit!important;
  }

  .lcWalletMerchantLogo{
    top:16px!important;
    right:18px!important;
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
  }

  .lcWalletLiveQr{
    right:18px!important;
    top:84px!important;
    width:74px!important;
    padding:6px!important;
    border-radius:12px!important;
    box-shadow:0 10px 28px rgba(0,0,0,.4)!important;
  }

  .lcWalletCard.expanded .lcWalletLiveQr{
    opacity:1!important;
    transform:translateY(0) scale(1)!important;
  }

  .lcWalletNfc{
    display:none!important;
  }

  .lcWalletHint{
    display:none!important;
  }
}


/* v195 — Wallet mobile Apple-like final : cartes distinctes, opaques, empilement réel */
@media(min-width:761px){
  .mobileWalletNative,
  .lcWalletSurface,
  .mobileMerchantCardModal{
    display:none!important;
  }
}

@media(max-width:760px){
  body.app.clientTabWallet .clientAppShell{
    background:#03030a!important;
    overflow:hidden!important;
    padding:16px 16px 0!important;
  }

  body.app.clientTabWallet .clientWalletHero,
  body.app.clientTabWallet .walletGrid,
  body.app.clientTabWallet .mobileMerchantCardModal,
  body.app.clientTabWallet .mobileMerchantCardModal.open{
    display:none!important;
  }

  body.app.clientTabWallet .mobileWalletNative{
    display:block!important;
    height:100%!important;
    padding:0!important;
    background:#03030a!important;
  }

  .lcWalletSurface{
    position:relative!important;
    height:calc((var(--lc-vh,1vh) * 100) - 128px)!important;
    min-height:660px!important;
    max-height:none!important;
    overflow:hidden!important;
    border-radius:0!important;
    background:#03030a!important;
    perspective:1100px!important;
  }

  .lcWalletHeader{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:72px!important;
    z-index:500!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0!important;
    pointer-events:none!important;
    transition:opacity .28s ease!important;
  }

  .lcWalletHeader h2{
    margin:0!important;
    color:#fff!important;
    font-size:44px!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:-.055em!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  }

  .lcWalletAdd{
    pointer-events:auto!important;
    display:inline-flex!important;
    min-height:52px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 22px!important;
    border-radius:999px!important;
    border:1px solid rgba(196,160,85,.42)!important;
    color:#d6b56d!important;
    background:rgba(255,255,255,.035)!important;
    font-size:17px!important;
    font-weight:850!important;
  }

  .lcWalletOverlay{
    position:absolute!important;
    inset:0!important;
    z-index:180!important;
    background:rgba(0,0,0,0)!important;
    pointer-events:none!important;
    transition:background .35s ease!important;
  }

  .lcWalletSurface.walletExpanded .lcWalletOverlay{
    background:rgba(0,0,0,.40)!important;
  }

  .lcWalletCards{
    position:absolute!important;
    top:88px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:220!important;
    overflow:visible!important;
  }

  .lcWalletCard{
    position:absolute!important;
    left:0!important;
    right:0!important;
    height:220px!important;
    border:0!important;
    padding:0!important;
    background:transparent!important;
    opacity:1!important;
    transform-origin:center top!important;
    transition:transform .48s cubic-bezier(.22,1,.36,1),opacity .32s ease!important;
    will-change:transform!important;
  }

  .lcWalletCardInner{
    position:relative!important;
    height:220px!important;
    border-radius:22px!important;
    overflow:hidden!important;
    opacity:1!important;
    background:
      radial-gradient(circle at 82% 18%, var(--merchant-card-accent,#d6b56d), transparent 34%),
      linear-gradient(135deg,
        var(--merchant-card-bg,#111116),
        var(--merchant-card-bg,#111116) 58%,
        #050507 100%)!important;
    border:1px solid var(--merchant-card-accent,#d6b56d)!important;
    box-shadow:0 20px 45px rgba(0,0,0,.58), 0 2px 0 rgba(255,255,255,.04) inset!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .lcWalletCardInner::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      repeating-linear-gradient(45deg, transparent, transparent 32px, rgba(255,255,255,.025) 32px, rgba(255,255,255,.025) 33px),
      linear-gradient(115deg, rgba(255,255,255,.06), transparent 24%, transparent 72%, rgba(255,255,255,.025))!important;
    opacity:.46!important;
    z-index:1!important;
  }

  .lcWalletCard.expanded{
    height:310px!important;
  }

  .lcWalletCard.expanded .lcWalletCardInner{
    height:310px!important;
    border-radius:26px!important;
    box-shadow:0 32px 75px rgba(0,0,0,.70), 0 2px 0 rgba(255,255,255,.06) inset!important;
  }

  .lcWalletCard.isPeeking{
    pointer-events:none!important;
  }

  /* Carte Le Cercle : une seule image, aucun QR ajouté en doublon */
  .lcWalletCercleInner{
    background:#050505!important;
    border:1px solid rgba(234,208,137,.42)!important;
    box-shadow:0 24px 58px rgba(0,0,0,.72), 0 6px 20px rgba(196,160,85,.14), inset 0 1px 0 rgba(255,240,160,.08)!important;
  }

  .lcWalletCercleInner > img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    filter:contrast(1.05) saturate(1.03)!important;
    z-index:0!important;
  }

  .lcWalletCercleInner::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse at 22% 14%,rgba(255,236,180,.13),rgba(255,236,180,.03) 34%,transparent 60%),
      linear-gradient(115deg,rgba(255,255,255,.10),transparent 24%,transparent 74%,rgba(234,208,137,.06))!important;
    opacity:.70!important;
    mix-blend-mode:screen!important;
    z-index:3!important;
  }

  .lcWalletClientLiveQr,
  .lcWalletLiveQr{
    display:none!important;
  }

  .lcWalletMerchantType{
    position:absolute!important;
    top:22px!important;
    left:22px!important;
    z-index:5!important;
    color:var(--merchant-card-accent,#d6b56d)!important;
    font-size:9px!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
    font-weight:850!important;
  }

  .lcWalletMerchantName{
    position:absolute!important;
    left:22px!important;
    right:92px!important;
    top:54px!important;
    bottom:auto!important;
    z-index:5!important;
    color:#fff!important;
    font-size:26px!important;
    line-height:1.05!important;
    font-weight:850!important;
    letter-spacing:-.045em!important;
  }

  .lcWalletMerchantSub{
    position:absolute!important;
    left:22px!important;
    right:94px!important;
    top:88px!important;
    bottom:auto!important;
    z-index:5!important;
    color:rgba(255,255,255,.58)!important;
    font-size:13px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .lcWalletMerchantMetric{
    position:absolute!important;
    left:22px!important;
    right:110px!important;
    top:116px!important;
    bottom:auto!important;
    z-index:5!important;
    color:var(--merchant-card-accent,#d6b56d)!important;
    font-size:14px!important;
    font-weight:850!important;
  }

  .lcWalletProgress{
    position:absolute!important;
    left:22px!important;
    right:22px!important;
    bottom:22px!important;
    z-index:5!important;
    height:6px!important;
    width:auto!important;
    background:rgba(255,255,255,.10)!important;
    border-radius:999px!important;
    overflow:hidden!important;
  }

  .lcWalletProgress i{
    display:block!important;
    height:100%!important;
    border-radius:inherit!important;
    background:linear-gradient(90deg,var(--merchant-card-accent,#d6b56d),#ead089)!important;
  }

  .lcWalletMerchantLogo{
    position:absolute!important;
    top:22px!important;
    right:22px!important;
    width:52px!important;
    height:52px!important;
    border-radius:14px!important;
    z-index:5!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:var(--merchant-card-accent,#d6b56d)!important;
    background:var(--merchant-card-accent,#d6b56d)!important;
    border:1px solid var(--merchant-card-accent,#d6b56d)!important;
    overflow:hidden!important;
  }

  .lcWalletMerchantLogo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .lcWalletNfc{
    position:absolute!important;
    right:24px!important;
    bottom:32px!important;
    width:48px!important;
    height:30px!important;
    border-radius:999px!important;
    border:1px solid var(--merchant-card-accent,#d6b56d)!important;
    opacity:.72!important;
    z-index:5!important;
  }

  .lcWalletNfc::before{
    content:""!important;
    position:absolute!important;
    left:-19px!important;
    top:-1px!important;
    width:30px!important;
    height:30px!important;
    border-radius:999px!important;
    border:1px solid var(--merchant-card-accent,#d6b56d)!important;
  }

  .lcWalletSpecular{
    position:absolute!important;
    inset:0!important;
    border-radius:inherit!important;
    pointer-events:none!important;
    z-index:9!important;
    background:radial-gradient(ellipse at 28% 22%,rgba(255,236,180,.13),rgba(255,236,180,.03) 38%,transparent 65%)!important;
    mix-blend-mode:screen!important;
  }

  .lcWalletHint{
    display:none!important;
  }
}


/* v196 — Wallet mobile final : cartes 100% opaques + aucun clic caméra depuis Wallet */
@media(max-width:760px){
  body.app.clientTabWallet .lcWalletAddDisabled{
    pointer-events:none!important;
    opacity:.65!important;
  }

  body.app.clientTabWallet .lcWalletCard,
  body.app.clientTabWallet .lcWalletCardInner{
    opacity:1!important;
    filter:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  body.app.clientTabWallet .lcWalletCard{
    height:214px!important;
    transform-style:preserve-3d!important;
  }

  body.app.clientTabWallet .lcWalletCardInner{
    height:214px!important;
    background-color:#08080b!important;
    background-blend-mode:normal!important;
    box-shadow:
      0 24px 54px rgba(0,0,0,.76),
      0 7px 18px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.app.clientTabWallet .lcWalletMerchantCard .lcWalletCardInner{
    background:
      linear-gradient(135deg,
        var(--merchant-card-bg,#111116) 0%,
        var(--merchant-card-bg,#111116) 56%,
        #050507 100%)!important;
    border:1.5px solid var(--merchant-card-accent,#d6b56d)!important;
  }

  body.app.clientTabWallet .lcWalletMerchantCard .lcWalletCardInner::before{
    background:
      radial-gradient(circle at 82% 18%,var(--merchant-card-accent,#d6b56d),transparent 34%),
      repeating-linear-gradient(45deg,transparent,transparent 32px,rgba(255,255,255,.026) 32px,rgba(255,255,255,.026) 33px)!important;
    opacity:.72!important;
  }

  body.app.clientTabWallet .lcWalletCercleInner{
    background:#050505!important;
    border:1.5px solid rgba(234,208,137,.46)!important;
    box-shadow:
      0 28px 62px rgba(0,0,0,.82),
      0 8px 22px rgba(196,160,85,.16),
      inset 0 1px 0 rgba(255,240,160,.09)!important;
  }

  body.app.clientTabWallet .lcWalletCercleInner > img{
    opacity:1!important;
    filter:contrast(1.08) saturate(1.04)!important;
  }

  body.app.clientTabWallet .lcWalletCard.expanded{
    height:310px!important;
  }

  body.app.clientTabWallet .lcWalletCard.expanded .lcWalletCardInner{
    height:310px!important;
    box-shadow:
      0 34px 78px rgba(0,0,0,.84),
      0 9px 26px rgba(0,0,0,.45),
      inset 0 1px 0 rgba(255,255,255,.10)!important;
  }

  body.app.clientTabWallet .lcWalletLiveQr,
  body.app.clientTabWallet .lcWalletClientLiveQr{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  body.app.clientTabWallet .lcWalletSurface.walletExpanded .lcWalletOverlay{
    background:rgba(0,0,0,.34)!important;
  }
}


/* v197 — Wallet mobile final : stack type Apple Wallet, cartes opaques, QR inline */
@media (max-width:760px){
  body.app.clientTabWallet .clientWalletHero.clientMobileSection,
  body.app.clientTabWallet .walletIntro.clientMobileSection,
  body.app.clientTabWallet .walletGrid.clientMobileSection{
    display:none !important;
  }

  body.app.clientTabWallet .mobileWalletNative.clientMobileSection{
    display:block !important;
    padding:0 0 112px !important;
    margin:0 !important;
  }

  body.app.clientTabWallet .lcWalletSurface{
    position:relative !important;
    display:block !important;
    padding:18px 16px 0 !important;
    min-height:680px !important;
    background:transparent !important;
    overflow:visible !important;
  }

  body.app.clientTabWallet .lcWalletHeader{
    position:relative !important;
    z-index:12 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    margin:0 0 22px !important;
  }

  body.app.clientTabWallet .lcWalletHeader h2{
    font-size:1.95rem !important;
    line-height:1 !important;
    margin:0 !important;
    font-weight:800 !important;
    color:#fff !important;
  }

  body.app.clientTabWallet .lcWalletAdd{
    border:1px solid rgba(214,181,109,.3) !important;
    background:#0b0b10 !important;
    color:#d6b56d !important;
    border-radius:999px !important;
    padding:12px 18px !important;
    font-weight:700 !important;
    font-size:1rem !important;
    box-shadow:none !important;
  }

  body.app.clientTabWallet .lcWalletAddDisabled{
    pointer-events:none !important;
    opacity:.55 !important;
  }

  body.app.clientTabWallet .lcWalletOverlay{
    position:absolute !important;
    inset:0 !important;
    background:rgba(0,0,0,.22) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .28s ease !important;
    z-index:3 !important;
    border-radius:30px !important;
  }

  body.app.clientTabWallet .lcWalletSurface.walletExpanded .lcWalletOverlay{
    opacity:1 !important;
  }

  body.app.clientTabWallet .lcWalletCards{
    position:relative !important;
    overflow:visible !important;
    padding-bottom:14px !important;
    min-height:460px !important;
    z-index:8 !important;
  }

  body.app.clientTabWallet .lcWalletCard{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    width:100% !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    padding:0 !important;
    transform-origin:50% 0 !important;
    transition:transform .46s cubic-bezier(.22,1,.36,1), box-shadow .32s ease, height .38s ease !important;
    will-change:transform !important;
    opacity:1 !important;
    filter:none !important;
  }

  body.app.clientTabWallet .lcWalletCardInner{
    position:relative !important;
    height:100% !important;
    width:100% !important;
    border-radius:28px !important;
    overflow:hidden !important;
    opacity:1 !important;
    background:#09090d !important;
    box-shadow:0 26px 56px rgba(0,0,0,.62), 0 8px 18px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }

  body.app.clientTabWallet .lcWalletCardInner::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(135deg, rgba(255,255,255,.05), transparent 38%), radial-gradient(circle at 80% 16%, rgba(214,181,109,.15), transparent 26%) !important;
    pointer-events:none !important;
    opacity:1 !important;
  }

  body.app.clientTabWallet .lcWalletCard.isPeeking .lcWalletCardInner{
    box-shadow:0 18px 38px rgba(0,0,0,.48), 0 4px 12px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05) !important;
  }

  body.app.clientTabWallet .lcWalletCard.expanded .lcWalletCardInner{
    box-shadow:0 30px 78px rgba(0,0,0,.78), 0 10px 22px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  body.app.clientTabWallet .lcWalletCercleInner{
    background:#060606 !important;
    border:1.5px solid rgba(214,181,109,.42) !important;
  }

  body.app.clientTabWallet .lcWalletCercleInner > img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    opacity:1 !important;
    filter:contrast(1.08) saturate(1.05) !important;
  }

  body.app.clientTabWallet .lcWalletMemberName{
    position:absolute !important;
    left:22px !important;
    bottom:18px !important;
    color:rgba(255,243,215,.86) !important;
    font-size:.92rem !important;
    letter-spacing:.04em !important;
    z-index:2 !important;
  }

  body.app.clientTabWallet .lcWalletMerchantCard .lcWalletCardInner{
    background:
      linear-gradient(135deg,
        var(--merchant-card-bg,#13131a) 0%,
        var(--merchant-card-bg,#13131a) 58%,
        #060607 100%) !important;
    border:1.5px solid var(--merchant-card-accent,#d6b56d) !important;
  }

  body.app.clientTabWallet .lcWalletMerchantCard .lcWalletCardInner::before{
    background:
      radial-gradient(circle at 84% 17%, var(--merchant-card-accent,#d6b56d), transparent 28%),
      linear-gradient(135deg, rgba(255,255,255,.06), transparent 32%),
      repeating-linear-gradient(45deg, transparent, transparent 36px, rgba(255,255,255,.022) 36px, rgba(255,255,255,.022) 37px) !important;
    opacity:1 !important;
  }

  body.app.clientTabWallet .lcWalletMerchantType,
  body.app.clientTabWallet .lcWalletMerchantSub,
  body.app.clientTabWallet .lcWalletMerchantMetric,
  body.app.clientTabWallet .lcWalletMerchantName,
  body.app.clientTabWallet .lcWalletMerchantLogo,
  body.app.clientTabWallet .lcWalletNfc,
  body.app.clientTabWallet .lcWalletProgress,
  body.app.clientTabWallet .lcWalletProgress i{
    opacity:1 !important;
  }

  body.app.clientTabWallet .lcWalletMerchantType{
    position:absolute !important;
    top:18px !important;
    left:20px !important;
    font-size:.74rem !important;
    text-transform:uppercase !important;
    letter-spacing:.18em !important;
    color:rgba(235,220,180,.78) !important;
    z-index:2 !important;
  }

  body.app.clientTabWallet .lcWalletMerchantName{
    position:absolute !important;
    left:20px !important;
    top:50px !important;
    right:110px !important;
    font-size:1.46rem !important;
    font-weight:800 !important;
    line-height:1.06 !important;
    color:#fff !important;
    z-index:2 !important;
  }

  body.app.clientTabWallet .lcWalletMerchantSub{
    position:absolute !important;
    left:20px !important;
    top:98px !important;
    font-size:.92rem !important;
    color:rgba(255,255,255,.64) !important;
    z-index:2 !important;
  }

  body.app.clientTabWallet .lcWalletMerchantMetric{
    position:absolute !important;
    left:20px !important;
    bottom:42px !important;
    font-size:1.03rem !important;
    font-weight:700 !important;
    color:#e0c37a !important;
    z-index:2 !important;
  }

  body.app.clientTabWallet .lcWalletProgress{
    position:absolute !important;
    left:20px !important;
    right:90px !important;
    bottom:18px !important;
    height:8px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.13) !important;
    overflow:hidden !important;
    z-index:2 !important;
  }

  body.app.clientTabWallet .lcWalletProgress i{
    display:block !important;
    height:100% !important;
    border-radius:inherit !important;
    background:#d6b56d !important;
  }

  body.app.clientTabWallet .lcWalletMerchantLogo{
    position:absolute !important;
    top:18px !important;
    right:18px !important;
    width:52px !important;
    height:52px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    font-weight:800 !important;
    overflow:hidden !important;
    z-index:2 !important;
  }

  body.app.clientTabWallet .lcWalletMerchantLogo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  body.app.clientTabWallet .lcWalletNfc{
    position:absolute !important;
    right:24px !important;
    bottom:18px !important;
    width:28px !important;
    height:24px !important;
    z-index:2 !important;
  }

  body.app.clientTabWallet .lcWalletNfc::before,
  body.app.clientTabWallet .lcWalletNfc::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-right:3px solid var(--merchant-card-accent,#d6b56d) !important;
    border-radius:0 50% 50% 0 !important;
  }
  body.app.clientTabWallet .lcWalletNfc::after{ right:7px !important; left:-7px !important; opacity:.72 !important; }

  body.app.clientTabWallet .lcWalletSpecular{
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(115deg, transparent 32%, rgba(255,255,255,.1) 48%, transparent 64%) !important;
    opacity:.15 !important;
    pointer-events:none !important;
  }

  body.app.clientTabWallet .lcWalletCardReveal{
    position:absolute !important;
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:12px 14px !important;
    border-radius:20px !important;
    background:rgba(4,4,7,.92) !important;
    border:1px solid rgba(214,181,109,.24) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.36) !important;
    transform:translateY(16px) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .26s ease, transform .36s ease !important;
    z-index:3 !important;
  }

  body.app.clientTabWallet .lcWalletClientQrPanel img{
    flex:0 0 78px !important;
    width:78px !important;
    height:78px !important;
    object-fit:contain !important;
    border-radius:14px !important;
    background:#fff !important;
    padding:6px !important;
  }

  body.app.clientTabWallet .lcWalletClientQrPanel strong{
    display:block !important;
    color:#fff !important;
    font-size:1rem !important;
    line-height:1.1 !important;
    margin-bottom:4px !important;
  }

  body.app.clientTabWallet .lcWalletClientQrPanel span{
    display:block !important;
    color:rgba(255,255,255,.74) !important;
    font-size:.82rem !important;
    line-height:1.35 !important;
  }

  body.app.clientTabWallet .lcWalletCard.isClientExpanded .lcWalletCardReveal{
    opacity:1 !important;
    transform:translateY(0) !important;
  }

  body.app.clientTabWallet .lcWalletLiveQr,
  body.app.clientTabWallet .lcWalletClientLiveQr{
    display:none !important;
  }

  body.app.clientTabWallet .lcWalletHint{
    display:block !important;
    text-align:center !important;
    margin:12px 0 0 !important;
    color:rgba(255,255,255,.3) !important;
    font-size:.9rem !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
  }
}


/* v198 — Wallet mobile propre et isolé */
@media(min-width:761px){
  .sfWalletMobile{
    display:none!important;
  }
}

@media(max-width:760px){
  body.app.clientTabWallet .clientWalletHero,
  body.app.clientTabWallet .walletIntro,
  body.app.clientTabWallet .walletGrid,
  body.app.clientTabWallet .mobileWalletNative,
  body.app.clientTabWallet .mobileMerchantCardModal{
    display:none!important;
  }

  body.app.clientTabWallet .sfWalletMobile{
    display:block!important;
    min-height:100%!important;
    background:#03030a!important;
    padding:0 0 110px!important;
  }

  body.app.clientTabWallet .sfWalletShell{
    position:relative!important;
    min-height:660px!important;
    background:#03030a!important;
    overflow:visible!important;
    padding:16px 0 0!important;
  }

  body.app.clientTabWallet .sfWalletTop{
    position:relative!important;
    z-index:50!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:12px!important;
    margin:0 0 20px!important;
  }

  body.app.clientTabWallet .sfWalletTop h2{
    margin:0!important;
    color:#fff!important;
    font-size:44px!important;
    line-height:1!important;
    letter-spacing:-.055em!important;
    font-weight:850!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  }

  body.app.clientTabWallet .sfWalletInfo{
    height:48px!important;
    border-radius:999px!important;
    padding:0 18px!important;
    border:1px solid rgba(214,181,109,.28)!important;
    background:#0b0b10!important;
    color:#d6b56d!important;
    font-weight:800!important;
    pointer-events:none!important;
    opacity:.72!important;
  }

  body.app.clientTabWallet .sfWalletDimmer{
    position:absolute!important;
    inset:0!important;
    background:rgba(0,0,0,.34)!important;
    opacity:0!important;
    pointer-events:none!important;
    z-index:30!important;
    transition:opacity .26s ease!important;
  }

  body.app.clientTabWallet .sfWalletExpanded .sfWalletDimmer{
    opacity:1!important;
  }

  body.app.clientTabWallet .sfWalletStack{
    position:relative!important;
    z-index:40!important;
    overflow:visible!important;
    min-height:520px!important;
  }

  body.app.clientTabWallet .sfWalletCard{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    opacity:1!important;
    transform-origin:50% 0!important;
    transition:transform .42s cubic-bezier(.22,1,.36,1), height .32s ease, box-shadow .25s ease!important;
    will-change:transform,height!important;
  }

  body.app.clientTabWallet .sfWalletCardInner{
    position:relative!important;
    width:100%!important;
    height:100%!important;
    border-radius:28px!important;
    overflow:hidden!important;
    opacity:1!important;
    filter:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:#111116!important;
    border:1.5px solid rgba(255,255,255,.10)!important;
    box-shadow:
      0 24px 54px rgba(0,0,0,.66),
      0 8px 18px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.app.clientTabWallet .sfWalletCard.isPeek .sfWalletCardInner{
    box-shadow:
      0 18px 40px rgba(0,0,0,.52),
      0 5px 14px rgba(0,0,0,.32),
      inset 0 1px 0 rgba(255,255,255,.06)!important;
  }

  body.app.clientTabWallet .sfWalletCard.isExpanded .sfWalletCardInner{
    box-shadow:
      0 34px 82px rgba(0,0,0,.78),
      0 10px 26px rgba(0,0,0,.46),
      inset 0 1px 0 rgba(255,255,255,.10)!important;
  }

  /* Carte Le Cercle */
  body.app.clientTabWallet .sfWalletCercleCard .sfWalletCardInner{
    background:#050505!important;
    border:1.5px solid rgba(214,181,109,.44)!important;
  }

  body.app.clientTabWallet .sfWalletCercleVisual{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
    opacity:1!important;
    filter:contrast(1.08) saturate(1.04)!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel{
    position:absolute!important;
    left:16px!important;
    right:16px!important;
    bottom:16px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:12px!important;
    border-radius:22px!important;
    background:#070709!important;
    border:1px solid rgba(214,181,109,.28)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.50)!important;
    transform:translateY(18px)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .24s ease, transform .32s ease!important;
    z-index:5!important;
  }

  body.app.clientTabWallet .sfWalletCercleCard.isExpanded .sfWalletCercleQrPanel{
    transform:translateY(0)!important;
    opacity:1!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel img{
    width:86px!important;
    height:86px!important;
    object-fit:contain!important;
    border-radius:16px!important;
    background:#fff!important;
    padding:7px!important;
    flex:0 0 86px!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel strong{
    display:block!important;
    color:#fff!important;
    font-size:1rem!important;
    line-height:1.08!important;
    margin:0 0 5px!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel span{
    display:block!important;
    color:rgba(255,255,255,.72)!important;
    font-size:.84rem!important;
    line-height:1.34!important;
  }

  /* Cartes commerçants : fond opaque, solidifié par pseudo-couches opaques */
  body.app.clientTabWallet .sfWalletMerchantCard .sfWalletCardInner{
    background:var(--sf-card-bg,#15151c)!important;
    border:1.5px solid color-mix(in srgb,var(--sf-card-accent,#d6b56d) 36%,#2b2b31)!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard .sfWalletCardInner::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.055), rgba(0,0,0,.18) 54%, rgba(0,0,0,.34)),
      radial-gradient(circle at 82% 18%, color-mix(in srgb,var(--sf-card-accent,#d6b56d) 20%, transparent), transparent 28%),
      repeating-linear-gradient(45deg, transparent, transparent 34px, rgba(255,255,255,.026) 34px, rgba(255,255,255,.026) 35px)!important;
    opacity:1!important;
    z-index:1!important;
  }

  body.app.clientTabWallet .sfWalletMerchantHeader,
  body.app.clientTabWallet .sfWalletMerchantContent,
  body.app.clientTabWallet .sfWalletMerchantProgress,
  body.app.clientTabWallet .sfWalletNfc{
    position:absolute!important;
    z-index:3!important;
  }

  body.app.clientTabWallet .sfWalletMerchantHeader{
    left:20px!important;
    right:20px!important;
    top:18px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
  }

  body.app.clientTabWallet .sfWalletMerchantHeader span{
    color:color-mix(in srgb,var(--sf-card-accent,#d6b56d) 68%,#ffffff)!important;
    font-size:.74rem!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
    font-weight:850!important;
  }

  body.app.clientTabWallet .sfWalletMerchantHeader img,
  body.app.clientTabWallet .sfWalletMerchantHeader strong{
    width:52px!important;
    height:52px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    object-fit:cover!important;
    background:color-mix(in srgb,var(--sf-card-accent,#d6b56d) 16%,#111116)!important;
    color:#fff!important;
    font-weight:850!important;
    overflow:hidden!important;
  }

  body.app.clientTabWallet .sfWalletMerchantContent{
    left:20px!important;
    right:92px!important;
    top:58px!important;
  }

  body.app.clientTabWallet .sfWalletMerchantContent h3{
    margin:0 0 8px!important;
    color:#fff!important;
    font-size:1.58rem!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
    font-weight:850!important;
  }

  body.app.clientTabWallet .sfWalletMerchantContent p{
    margin:0 0 12px!important;
    color:rgba(255,255,255,.66)!important;
    font-size:.92rem!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.app.clientTabWallet .sfWalletMerchantContent em{
    display:block!important;
    color:var(--sf-card-accent,#d6b56d)!important;
    font-style:normal!important;
    font-size:1rem!important;
    font-weight:850!important;
  }

  body.app.clientTabWallet .sfWalletMerchantProgress{
    left:20px!important;
    right:96px!important;
    bottom:20px!important;
    height:8px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.14)!important;
    overflow:hidden!important;
  }

  body.app.clientTabWallet .sfWalletMerchantProgress i{
    display:block!important;
    height:100%!important;
    border-radius:inherit!important;
    background:var(--sf-card-accent,#d6b56d)!important;
  }

  body.app.clientTabWallet .sfWalletNfc{
    right:24px!important;
    bottom:22px!important;
    width:46px!important;
    height:30px!important;
    border-radius:999px!important;
    border:1px solid color-mix(in srgb,var(--sf-card-accent,#d6b56d) 60%,transparent)!important;
  }

  body.app.clientTabWallet .sfWalletNfc::before{
    content:""!important;
    position:absolute!important;
    left:-18px!important;
    top:-1px!important;
    width:30px!important;
    height:30px!important;
    border-radius:999px!important;
    border:1px solid color-mix(in srgb,var(--sf-card-accent,#d6b56d) 24%,transparent)!important;
  }

  body.app.clientTabWallet .sfWalletHint{
    position:relative!important;
    z-index:10!important;
    text-align:center!important;
    margin:14px 0 0!important;
    color:rgba(255,255,255,.34)!important;
    font-size:.78rem!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
  }

  body.app.clientTabWallet .sfWalletEmpty{
    border:1px solid rgba(214,181,109,.18)!important;
    border-radius:24px!important;
    padding:22px!important;
    color:#fff!important;
    background:#111116!important;
  }

  body.app.clientTabWallet .sfWalletEmpty span{
    display:block!important;
    margin-top:6px!important;
    color:rgba(255,255,255,.62)!important;
  }
}


/* v199 — Mobile wallet : contours visibles + QR carte Le Cercle plus premium */
@media(max-width:760px){
  body.app.clientTabWallet .sfWalletCard{ padding:0!important; }

  body.app.clientTabWallet .sfWalletCard::before{
    content:""!important;
    position:absolute!important;
    inset:-7px!important;
    border-radius:34px!important;
    pointer-events:none!important;
    z-index:-1!important;
    background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(214,181,109,.20) 34%,rgba(255,255,255,.055) 66%,rgba(0,0,0,.22))!important;
    box-shadow:0 22px 48px rgba(0,0,0,.54),0 0 0 1px rgba(255,255,255,.045)!important;
    opacity:.95!important;
  }

  body.app.clientTabWallet .sfWalletCard.isExpanded::before{
    inset:-9px!important;
    border-radius:36px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(214,181,109,.38) 32%,rgba(255,255,255,.09) 68%,rgba(0,0,0,.18))!important;
    box-shadow:0 34px 82px rgba(0,0,0,.70),0 0 0 1px rgba(214,181,109,.18)!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard::before{
    background:linear-gradient(135deg,color-mix(in srgb,var(--sf-card-accent,#d6b56d) 54%,rgba(255,255,255,.12)),rgba(255,255,255,.07) 48%,rgba(0,0,0,.28))!important;
  }

  body.app.clientTabWallet .sfWalletCardInner{
    border:2px solid rgba(255,255,255,.14)!important;
    outline:1px solid rgba(0,0,0,.55)!important;
    outline-offset:-3px!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard .sfWalletCardInner{
    border:2px solid color-mix(in srgb,var(--sf-card-accent,#d6b56d) 54%,rgba(255,255,255,.18))!important;
  }

  body.app.clientTabWallet .sfWalletCercleCard .sfWalletCardInner{
    border:2px solid rgba(234,208,137,.62)!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    gap:14px!important;
    padding:14px!important;
    border-radius:24px!important;
    background:radial-gradient(circle at 12% 10%,rgba(234,208,137,.16),transparent 38%),linear-gradient(135deg,#0b0905,#050507 62%,#0d0a05)!important;
    border:1.5px solid rgba(234,208,137,.38)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel::before{
    content:"SCAN CLIENT"!important;
    position:absolute!important;
    top:-10px!important;
    left:18px!important;
    height:20px!important;
    display:inline-flex!important;
    align-items:center!important;
    padding:0 10px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#b89145,#ead089)!important;
    color:#111!important;
    font-size:.62rem!important;
    letter-spacing:.14em!important;
    font-weight:900!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel img{
    width:96px!important;
    height:96px!important;
    flex:0 0 96px!important;
    padding:8px!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.75)!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel strong{
    font-size:1.08rem!important;
    letter-spacing:-.015em!important;
  }

  body.app.clientTabWallet .sfWalletCercleQrPanel span{
    font-size:.86rem!important;
    color:rgba(255,255,255,.76)!important;
  }

  body.app.clientTabWallet .sfWalletCercleCard.isExpanded .sfWalletCercleVisual{
    filter:brightness(.52) contrast(1.08) saturate(1.06)!important;
  }

  body.app.clientTabWallet .sfWalletCercleCard.isExpanded .sfWalletCardInner::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.32))!important;
    z-index:2!important;
  }

  body.app.clientTabWallet .sfWalletCercleCard.isExpanded .sfWalletCercleQrPanel{
    z-index:5!important;
  }
}


/* v200 — Contour doré léger vraiment visible sur les cartes du wallet mobile */
@media(max-width:760px){
  body.app.clientTabWallet .sfWalletCard{
    filter: drop-shadow(0 16px 26px rgba(0,0,0,.34))!important;
  }

  body.app.clientTabWallet .sfWalletCard::before{
    display:none!important;
  }

  body.app.clientTabWallet .sfWalletCardInner{
    border:1.8px solid rgba(214,181,109,.28)!important;
    outline:1px solid rgba(255,255,255,.06)!important;
    outline-offset:-4px!important;
    box-shadow:
      0 20px 44px rgba(0,0,0,.62),
      0 0 0 1px rgba(214,181,109,.16),
      inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.app.clientTabWallet .sfWalletCard.isPeek .sfWalletCardInner{
    border-color:rgba(214,181,109,.24)!important;
    box-shadow:
      0 14px 32px rgba(0,0,0,.48),
      0 0 0 1px rgba(214,181,109,.14),
      inset 0 1px 0 rgba(255,255,255,.06)!important;
  }

  body.app.clientTabWallet .sfWalletCard.isExpanded .sfWalletCardInner{
    border-color:rgba(234,208,137,.36)!important;
    box-shadow:
      0 30px 70px rgba(0,0,0,.72),
      0 0 0 1.5px rgba(234,208,137,.22),
      inset 0 1px 0 rgba(255,255,255,.10)!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard .sfWalletCardInner{
    border:1.9px solid color-mix(in srgb,var(--sf-card-accent,#d6b56d) 64%, rgba(255,255,255,.10))!important;
    box-shadow:
      0 20px 44px rgba(0,0,0,.62),
      0 0 0 1px color-mix(in srgb,var(--sf-card-accent,#d6b56d) 42%, transparent),
      inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.app.clientTabWallet .sfWalletCercleCard .sfWalletCardInner{
    border:2px solid rgba(234,208,137,.52)!important;
    box-shadow:
      0 22px 48px rgba(0,0,0,.66),
      0 0 0 1px rgba(234,208,137,.24),
      inset 0 1px 0 rgba(255,255,255,.10)!important;
  }
}


/* v201 — Contour doré renforcé uniquement sur les cartes commerçants */
@media(max-width:760px){
  body.app.clientTabWallet .sfWalletMerchantCard .sfWalletCardInner{
    border:2.2px solid #d6b56d!important;
    outline:1px solid rgba(255,244,203,.22)!important;
    outline-offset:-5px!important;
    box-shadow:
      0 22px 50px rgba(0,0,0,.68),
      0 0 0 1.5px rgba(214,181,109,.45),
      0 0 18px rgba(214,181,109,.14),
      inset 0 1px 0 rgba(255,255,255,.10)!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard.isPeek .sfWalletCardInner{
    border:2px solid #d6b56d!important;
    box-shadow:
      0 16px 36px rgba(0,0,0,.54),
      0 0 0 1.5px rgba(214,181,109,.40),
      0 0 14px rgba(214,181,109,.12),
      inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard.isExpanded .sfWalletCardInner{
    border:2.4px solid #ead089!important;
    outline:1px solid rgba(255,244,203,.30)!important;
    box-shadow:
      0 32px 76px rgba(0,0,0,.76),
      0 0 0 1.8px rgba(234,208,137,.52),
      0 0 24px rgba(214,181,109,.18),
      inset 0 1px 0 rgba(255,255,255,.12)!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard .sfWalletCardInner::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    border-radius:inherit!important;
    pointer-events:none!important;
    z-index:4!important;
    box-shadow:inset 0 0 0 1px rgba(255,244,203,.20)!important;
  }
}


/* v202 — Scroll interne dans le wallet mobile */
@media(max-width:760px){
  body.app.clientTabWallet .sfWalletShell{
    height:calc((var(--lc-vh, 1vh) * 100) - 112px)!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }

  body.app.clientTabWallet .sfWalletTop{
    flex:0 0 auto!important;
  }

  body.app.clientTabWallet .sfWalletStack{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:8px 0 110px!important;
    scrollbar-width:none!important;
  }

  body.app.clientTabWallet .sfWalletStack::-webkit-scrollbar{
    display:none!important;
  }

  body.app.clientTabWallet .sfWalletHint{
    flex:0 0 auto!important;
    margin:8px 0 0!important;
  }

  body.app.clientTabWallet .sfWalletDimmer{
    pointer-events:none!important;
  }

  body.app.clientTabWallet .sfWalletExpanded .sfWalletDimmer{
    pointer-events:auto!important;
  }
}


/* v203 — Wallet mobile : suppression du double contour, on garde uniquement l'arrondi */
@media(max-width:760px){
  body.app.clientTabWallet .sfWalletCard::before{
    display:none!important;
    content:none!important;
  }

  body.app.clientTabWallet .sfWalletCardInner{
    outline:none!important;
    outline-offset:0!important;
    border-radius:28px!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard .sfWalletCardInner{
    border:2px solid #d6b56d!important;
    outline:none!important;
    outline-offset:0!important;
    box-shadow:
      0 20px 44px rgba(0,0,0,.62),
      0 0 16px rgba(214,181,109,.10),
      inset 0 1px 0 rgba(255,255,255,.08)!important;
  }

  body.app.clientTabWallet .sfWalletMerchantCard .sfWalletCardInner::after{
    display:none!important;
    content:none!important;
  }

  body.app.clientTabWallet .sfWalletCercleCard .sfWalletCardInner{
    border:2px solid rgba(234,208,137,.58)!important;
    outline:none!important;
    outline-offset:0!important;
    box-shadow:
      0 22px 48px rgba(0,0,0,.66),
      0 0 16px rgba(234,208,137,.12),
      inset 0 1px 0 rgba(255,255,255,.10)!important;
  }

  body.app.clientTabWallet .sfWalletCard.isExpanded .sfWalletCardInner{
    outline:none!important;
    outline-offset:0!important;
  }
}


/* v204 — Bons plans mobile : section découverte premium */
@media(max-width:760px){
  body.app.clientTabDeals .bonsPlansPanel{
    border:0!important;
    background:transparent!important;
    padding:0!important;
    box-shadow:none!important;
  }

  body.app.clientTabDeals .mobileDealsExperience{
    display:grid!important;
    gap:18px!important;
    padding:2px 0 108px!important;
  }

  body.app.clientTabDeals .mobileDealsHeroPremium{
    position:relative!important;
    overflow:hidden!important;
    border-radius:30px!important;
    padding:24px 20px!important;
    background:
      radial-gradient(circle at 82% 12%,rgba(214,181,109,.18),transparent 32%),
      linear-gradient(145deg,#101015,#050507 62%,#0d0a05)!important;
    border:1.5px solid rgba(214,181,109,.22)!important;
    box-shadow:0 24px 54px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06)!important;
  }

  body.app.clientTabDeals .mobileDealsHeroPremium::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 28%,transparent 74%,rgba(214,181,109,.06))!important;
    opacity:.7!important;
  }

  body.app.clientTabDeals .mobileDealsHeroPremium > *{
    position:relative!important;
    z-index:2!important;
  }

  body.app.clientTabDeals .mobileDealsHeroPremium .eyebrow{
    color:#d6b56d!important;
    font-size:.72rem!important;
    letter-spacing:.18em!important;
    margin:0 0 10px!important;
  }

  body.app.clientTabDeals .mobileDealsHeroPremium h2{
    margin:0!important;
    color:#fff!important;
    font-size:2rem!important;
    line-height:1.02!important;
    letter-spacing:-.06em!important;
    font-weight:850!important;
  }

  body.app.clientTabDeals .mobileDealsHeroPremium p{
    margin:12px 0 0!important;
    color:rgba(255,255,255,.68)!important;
    font-size:.98rem!important;
    line-height:1.42!important;
  }

  body.app.clientTabDeals .mobileDealsHeroStats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:18px!important;
  }

  body.app.clientTabDeals .mobileDealsHeroStats span{
    display:block!important;
    border-radius:20px!important;
    padding:13px!important;
    background:#0b0b10!important;
    border:1px solid rgba(214,181,109,.16)!important;
  }

  body.app.clientTabDeals .mobileDealsHeroStats strong{
    display:block!important;
    color:#ead089!important;
    font-size:1.25rem!important;
    line-height:1!important;
  }

  body.app.clientTabDeals .mobileDealsHeroStats em{
    display:block!important;
    margin-top:5px!important;
    color:rgba(255,255,255,.56)!important;
    font-size:.76rem!important;
    font-style:normal!important;
  }

  body.app.clientTabDeals .mobileDealHeroCard{
    position:relative!important;
    overflow:hidden!important;
    border-radius:28px!important;
    padding:22px!important;
    min-height:190px!important;
    background:
      radial-gradient(circle at 18% 18%,rgba(234,208,137,.18),transparent 34%),
      linear-gradient(135deg,#15120b,#08080b 58%,#111116)!important;
    border:2px solid rgba(234,208,137,.32)!important;
    box-shadow:0 24px 54px rgba(0,0,0,.54),0 0 0 1px rgba(234,208,137,.12)!important;
  }

  body.app.clientTabDeals .mobileDealHeroBadge{
    display:inline-flex!important;
    align-items:center!important;
    min-height:26px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#b89145,#ead089)!important;
    color:#111!important;
    font-size:.72rem!important;
    font-weight:900!important;
    letter-spacing:.10em!important;
    text-transform:uppercase!important;
  }

  body.app.clientTabDeals .mobileDealHeroCard h3{
    margin:18px 0 8px!important;
    color:#fff!important;
    font-size:1.62rem!important;
    line-height:1.05!important;
    letter-spacing:-.045em!important;
  }

  body.app.clientTabDeals .mobileDealHeroCard p{
    margin:0!important;
    color:rgba(255,255,255,.62)!important;
    font-size:.95rem!important;
  }

  body.app.clientTabDeals .mobileDealHeroCta{
    position:absolute!important;
    left:22px!important;
    bottom:20px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:0 16px!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#111!important;
    font-weight:850!important;
    font-size:.92rem!important;
  }

  body.app.clientTabDeals .mobileDealsDiscovery{
    display:grid!important;
    gap:13px!important;
  }

  body.app.clientTabDeals .premiumDealsHead{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin:2px 0 0!important;
  }

  body.app.clientTabDeals .premiumDealsHead strong{
    display:block!important;
    color:#fff!important;
    font-size:1.08rem!important;
  }

  body.app.clientTabDeals .premiumDealsHead span{
    display:block!important;
    margin-top:3px!important;
    color:rgba(255,255,255,.46)!important;
    font-size:.78rem!important;
  }

  body.app.clientTabDeals .premiumDealsHead a{
    flex:0 0 auto!important;
    color:#d6b56d!important;
    font-weight:800!important;
    font-size:.88rem!important;
  }

  body.app.clientTabDeals .mobileDealCards{
    display:grid!important;
    gap:12px!important;
  }

  body.app.clientTabDeals .mobileDealCard{
    position:relative!important;
    overflow:hidden!important;
    border-radius:24px!important;
    padding:18px!important;
    background:#101016!important;
    border:1.5px solid rgba(214,181,109,.18)!important;
    box-shadow:0 16px 34px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.05)!important;
  }

  body.app.clientTabDeals .mobileDealCard.isNewCommerce{
    background:
      radial-gradient(circle at 86% 16%,rgba(214,181,109,.14),transparent 28%),
      #111016!important;
    border-color:rgba(214,181,109,.30)!important;
  }

  body.app.clientTabDeals .mobileDealCardTop,
  body.app.clientTabDeals .mobileDealCardFoot{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }

  body.app.clientTabDeals .mobileDealCardTop span{
    color:#d6b56d!important;
    font-size:.68rem!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    font-weight:900!important;
  }

  body.app.clientTabDeals .mobileDealCardTop b{
    color:rgba(255,255,255,.52)!important;
    font-size:.76rem!important;
  }

  body.app.clientTabDeals .mobileDealCard h3{
    margin:16px 0 6px!important;
    color:#fff!important;
    font-size:1.24rem!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }

  body.app.clientTabDeals .mobileDealCard p{
    margin:0!important;
    color:rgba(255,255,255,.60)!important;
    font-size:.92rem!important;
  }

  body.app.clientTabDeals .mobileDealCardFoot{
    margin-top:16px!important;
    padding-top:14px!important;
    border-top:1px solid rgba(255,255,255,.075)!important;
  }

  body.app.clientTabDeals .mobileDealCardFoot em{
    color:rgba(255,255,255,.52)!important;
    font-style:normal!important;
    font-size:.82rem!important;
  }

  body.app.clientTabDeals .mobileDealCardFoot a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:36px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    background:rgba(214,181,109,.12)!important;
    color:#ead089!important;
    font-weight:850!important;
    font-size:.86rem!important;
  }

  body.app.clientTabDeals .mobileDealEmptyState{
    border-radius:24px!important;
    padding:20px!important;
    background:#101016!important;
    border:1.5px solid rgba(214,181,109,.18)!important;
    color:#fff!important;
  }

  body.app.clientTabDeals .mobileDealEmptyState span{
    display:block!important;
    margin-top:6px!important;
    color:rgba(255,255,255,.58)!important;
  }
}


/* v205 — Bons plans mobile : offres du jour + tri par domaine, ultra clair */
@media(max-width:760px){
  body.app.clientTabDeals .bonsPlansPanel{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
  }

  body.app.clientTabDeals .dailyDealsApp{
    display:grid!important;
    gap:16px!important;
    padding:0 0 108px!important;
  }

  body.app.clientTabDeals .dailyDealsHeader{
    border-radius:28px!important;
    padding:22px 20px!important;
    background:
      radial-gradient(circle at 85% 10%,rgba(214,181,109,.16),transparent 34%),
      linear-gradient(145deg,#111116,#050507 64%,#0d0a05)!important;
    border:1.5px solid rgba(214,181,109,.22)!important;
    box-shadow:0 20px 46px rgba(0,0,0,.44)!important;
  }

  body.app.clientTabDeals .dailyDealsHeader .eyebrow{
    margin:0 0 8px!important;
    color:#d6b56d!important;
    font-size:.72rem!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
  }

  body.app.clientTabDeals .dailyDealsHeader h2{
    margin:0!important;
    color:#fff!important;
    font-size:2.05rem!important;
    line-height:1!important;
    letter-spacing:-.055em!important;
    font-weight:850!important;
  }

  body.app.clientTabDeals .dailyDealsHeader p{
    margin:10px 0 0!important;
    color:rgba(255,255,255,.66)!important;
    font-size:.96rem!important;
    line-height:1.38!important;
  }

  body.app.clientTabDeals .dailyDealsBlock{
    display:grid!important;
    gap:12px!important;
  }

  body.app.clientTabDeals .dailyDealsTitle{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    padding:0 2px!important;
  }

  body.app.clientTabDeals .dailyDealsTitle strong{
    display:block!important;
    color:#fff!important;
    font-size:1.12rem!important;
    line-height:1.1!important;
  }

  body.app.clientTabDeals .dailyDealsTitle span{
    display:block!important;
    margin-top:3px!important;
    color:rgba(255,255,255,.48)!important;
    font-size:.80rem!important;
  }

  body.app.clientTabDeals .dailyDealsList{
    display:grid!important;
    gap:11px!important;
  }

  body.app.clientTabDeals .dailyDealCard{
    border-radius:24px!important;
    padding:18px!important;
    background:#101016!important;
    border:1.5px solid rgba(214,181,109,.22)!important;
    box-shadow:0 14px 32px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.05)!important;
  }

  body.app.clientTabDeals .dailyDealTop{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }

  body.app.clientTabDeals .dailyDealTop span{
    color:#d6b56d!important;
    font-size:.68rem!important;
    font-weight:900!important;
    letter-spacing:.15em!important;
    text-transform:uppercase!important;
  }

  body.app.clientTabDeals .dailyDealTop b{
    color:rgba(255,255,255,.50)!important;
    font-size:.78rem!important;
  }

  body.app.clientTabDeals .dailyDealCard h3{
    margin:14px 0 6px!important;
    color:#fff!important;
    font-size:1.28rem!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }

  body.app.clientTabDeals .dailyDealCard p{
    margin:0!important;
    color:rgba(255,255,255,.60)!important;
    font-size:.92rem!important;
  }

  body.app.clientTabDeals .domainDealsList{
    display:grid!important;
    gap:10px!important;
  }

  body.app.clientTabDeals .domainDealGroup{
    overflow:hidden!important;
    border-radius:22px!important;
    background:#0d0d12!important;
    border:1.5px solid rgba(214,181,109,.18)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.32)!important;
  }

  body.app.clientTabDeals .domainDealHeader{
    width:100%!important;
    border:0!important;
    min-height:54px!important;
    padding:0 16px!important;
    background:#111116!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    text-align:left!important;
  }

  body.app.clientTabDeals .domainDealHeader span{
    color:#fff!important;
    font-size:1rem!important;
    font-weight:850!important;
  }

  body.app.clientTabDeals .domainDealHeader em{
    color:#d6b56d!important;
    font-size:.78rem!important;
    font-style:normal!important;
    font-weight:800!important;
  }

  body.app.clientTabDeals .domainDealItems{
    display:grid!important;
  }

  body.app.clientTabDeals .domainDealItem{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:14px 16px!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
    background:#0b0b10!important;
  }

  body.app.clientTabDeals .domainDealItem strong{
    display:block!important;
    color:#fff!important;
    font-size:.96rem!important;
    line-height:1.18!important;
  }

  body.app.clientTabDeals .domainDealItem span{
    display:block!important;
    margin-top:4px!important;
    color:rgba(255,255,255,.50)!important;
    font-size:.80rem!important;
  }

  body.app.clientTabDeals .domainDealItem b{
    flex:0 0 auto!important;
    min-height:28px!important;
    display:inline-flex!important;
    align-items:center!important;
    padding:0 10px!important;
    border-radius:999px!important;
    background:rgba(214,181,109,.12)!important;
    color:#ead089!important;
    font-size:.72rem!important;
    font-weight:850!important;
  }

  body.app.clientTabDeals .dailyDealEmpty{
    border-radius:22px!important;
    padding:18px!important;
    background:#101016!important;
    border:1.5px solid rgba(214,181,109,.18)!important;
    color:#fff!important;
  }

  body.app.clientTabDeals .dailyDealEmpty span{
    display:block!important;
    margin-top:6px!important;
    color:rgba(255,255,255,.56)!important;
  }
}


/* v206 — Bons plans : bulles horizontales de domaines */
@media(max-width:760px){
  body.app.clientTabDeals .domainBubbleScroller{
    display:flex!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:2px 2px 4px!important;
    margin:0 0 2px!important;
  }

  body.app.clientTabDeals .domainBubbleScroller::-webkit-scrollbar{
    display:none!important;
  }

  body.app.clientTabDeals .domainBubble{
    flex:0 0 auto!important;
    min-height:40px!important;
    padding:0 15px!important;
    border-radius:999px!important;
    border:1.5px solid rgba(214,181,109,.22)!important;
    background:#101016!important;
    color:rgba(255,255,255,.72)!important;
    font-size:.86rem!important;
    font-weight:800!important;
    white-space:nowrap!important;
    box-shadow:0 10px 22px rgba(0,0,0,.24)!important;
  }

  body.app.clientTabDeals .domainBubble.active{
    background:linear-gradient(135deg,#b89145,#ead089)!important;
    border-color:rgba(234,208,137,.75)!important;
    color:#111!important;
    box-shadow:0 12px 28px rgba(214,181,109,.20)!important;
  }

  body.app.clientTabDeals .domainDealGroup[hidden]{
    display:none!important;
  }
}


/* v207 — Version app mobile de l'espace commerçant, PC intact */
.merchantMobileTabbar{
  display:none;
}

@media(max-width:760px){
  body.app:has(.merchantTabbedDashboard){
    background:#03030a!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
  }

  body.app:has(.merchantTabbedDashboard) .appbar{
    position:sticky!important;
    top:0!important;
    z-index:90!important;
    min-height:62px!important;
    padding:10px 14px!important;
    border-bottom:1px solid rgba(214,181,109,.12)!important;
    background:rgba(3,3,10,.92)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    backdrop-filter:blur(18px)!important;
  }

  body.app:has(.merchantTabbedDashboard) .appbar .brand{
    font-size:.92rem!important;
    letter-spacing:.18em!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantTopNav{
    display:none!important;
  }

  body.app:has(.merchantTabbedDashboard) .globalPartnerBand{
    display:none!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantTabbedDashboard{
    width:100%!important;
    max-width:none!important;
    padding:16px 14px calc(104px + env(safe-area-inset-bottom))!important;
    margin:0!important;
    display:block!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantPage{
    display:none!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantPage.active{
    display:block!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantPage > section{
    margin:0 0 16px!important;
  }

  body.app:has(.merchantTabbedDashboard) .panel,
  body.app:has(.merchantTabbedDashboard) .merchantHero,
  body.app:has(.merchantTabbedDashboard) .merchantQrCard,
  body.app:has(.merchantTabbedDashboard) .merchantDashboardOverview article,
  body.app:has(.merchantTabbedDashboard) .merchantCardSection,
  body.app:has(.merchantTabbedDashboard) .merchantLogicPanel{
    border-radius:26px!important;
    border:1.5px solid rgba(214,181,109,.16)!important;
    background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.020))!important;
    box-shadow:0 18px 42px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.045)!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantHero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:22px!important;
    overflow:hidden!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantHeroCopy h1{
    font-size:2rem!important;
    line-height:1!important;
    letter-spacing:-.055em!important;
    margin:0 0 10px!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantHeroCopy p{
    font-size:.94rem!important;
    line-height:1.42!important;
    color:rgba(255,255,255,.66)!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantHeroActions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:16px!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantHeroActions .btn,
  body.app:has(.merchantTabbedDashboard) .btn{
    min-height:44px!important;
    border-radius:999px!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantQrCard{
    padding:18px!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantQrCard img{
    width:150px!important;
    max-width:100%!important;
    height:auto!important;
    margin:12px auto 0!important;
    display:block!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantDashboardOverview{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin:0 0 16px!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantDashboardOverview article{
    padding:16px!important;
    min-height:128px!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantDashboardOverview strong{
    font-size:1.18rem!important;
    line-height:1.1!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantDashboardOverview small{
    font-size:.72rem!important;
    line-height:1.35!important;
  }

  body.app:has(.merchantTabbedDashboard) #carte.panel,
  body.app:has(.merchantTabbedDashboard) #programme.panel,
  body.app:has(.merchantTabbedDashboard) #notifications.panel,
  body.app:has(.merchantTabbedDashboard) #clients.panel,
  body.app:has(.merchantTabbedDashboard) #visites.panel,
  body.app:has(.merchantTabbedDashboard) .merchantDashboard .panel:has(table),
  body.app:has(.merchantTabbedDashboard) #offres.grid2 > .panel,
  body.app:has(.merchantTabbedDashboard) .merchantDashboard > .grid2 > .panel,
  body.app:has(.merchantTabbedDashboard) .merchantCardSection,
  body.app:has(.merchantTabbedDashboard) .merchantLogicPanel{
    padding:20px!important;
    border-radius:26px!important;
  }

  body.app:has(.merchantTabbedDashboard) .grid2,
  body.app:has(.merchantTabbedDashboard) #offres.grid2,
  body.app:has(.merchantTabbedDashboard) .merchantDashboard > .grid2,
  body.app:has(.merchantTabbedDashboard) .merchantClientGrid,
  body.app:has(.merchantTabbedDashboard) .cardCustomizerLayout,
  body.app:has(.merchantTabbedDashboard) .merchantCardLayout,
  body.app:has(.merchantTabbedDashboard) .twoCols,
  body.app:has(.merchantTabbedDashboard) .logicChoiceGrid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  body.app:has(.merchantTabbedDashboard) .merchantCardPreview,
  body.app:has(.merchantTabbedDashboard) .unifiedMerchantCardPreview,
  body.app:has(.merchantTabbedDashboard) .merchantCardFace{
    max-width:100%!important;
  }

  body.app:has(.merchantTabbedDashboard) .table,
  body.app:has(.merchantTabbedDashboard) .merchantClientTable{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    border-radius:18px!important;
  }

  body.app:has(.merchantTabbedDashboard) table{
    min-width:720px!important;
  }

  body.app:has(.merchantTabbedDashboard) form.form input,
  body.app:has(.merchantTabbedDashboard) form.form textarea,
  body.app:has(.merchantTabbedDashboard) form.form select{
    min-height:48px!important;
    border-radius:16px!important;
  }

  body.app:has(.merchantTabbedDashboard) form.form textarea{
    min-height:104px!important;
  }

  body.app:has(.merchantTabbedDashboard) .offerList article,
  body.app:has(.merchantTabbedDashboard) .notificationList article{
    border-radius:18px!important;
    background:#101016!important;
    border:1px solid rgba(214,181,109,.12)!important;
  }

  body.app:has(.merchantTabbedDashboard) .sectionHead{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .merchantMobileTabbar{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    z-index:999!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    min-height:68px!important;
    padding:7px!important;
    border-radius:26px!important;
    background:rgba(7,7,12,.92)!important;
    border:1.5px solid rgba(214,181,109,.20)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.06)!important;
    -webkit-backdrop-filter:blur(20px)!important;
    backdrop-filter:blur(20px)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }

  .merchantMobileTabbar::-webkit-scrollbar{
    display:none!important;
  }

  .merchantMobileTabbar a{
    flex:0 0 64px!important;
    min-height:54px!important;
    border-radius:20px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    color:rgba(255,255,255,.62)!important;
    text-decoration:none!important;
    border:1px solid transparent!important;
  }

  .merchantMobileTabbar a span{
    font-size:18px!important;
    line-height:1!important;
  }

  .merchantMobileTabbar a strong{
    font-size:9px!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:-.02em!important;
  }

  .merchantMobileTabbar a.active{
    color:#111!important;
    background:linear-gradient(135deg,#b89145,#ead089)!important;
    border-color:rgba(234,208,137,.70)!important;
    box-shadow:0 10px 22px rgba(214,181,109,.20)!important;
  }

  .merchantMobileTabbar a.merchantScanTab{
    flex-basis:70px!important;
    color:#111!important;
    background:#fff!important;
    border-color:rgba(255,255,255,.80)!important;
  }
}


/* Carte commerce — rendu unique des logos sponsors */
.merchantCardSection .cmcLogo{width:148px;height:96px;top:64px;left:26px;}
.merchantCardSection .cmcLogo img{width:100%;height:100%;object-fit:contain;background:transparent;border:0;box-shadow:none;border-radius:0;}
.merchantCardSection .cmcLogo b{width:92px;height:92px;border-radius:28px;font-size:28px;}
.merchantCardSection .cmcMain{left:184px;right:116px;top:78px;}
.merchantCardSection .cmcNfcMark,.merchantCardNfcMark{position:absolute;right:28px;bottom:72px;width:54px;height:54px;display:grid;place-items:center;z-index:7;color:var(--card-accent,#d6b56d);opacity:.96;}
.merchantCardNfcMark{color:var(--merchant-card-accent,#d6b56d);}
.merchantCardSection .cmcNfcMark svg,.merchantCardNfcMark svg{width:100%;height:100%;overflow:visible;}
.merchantCardSection .cmcNfcMark path,.merchantCardSection .cmcNfcMark circle,.merchantCardNfcMark path,.merchantCardNfcMark circle{fill:none;stroke:currentColor;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;}
.merchantCardSection .cmcNfcMark circle,.merchantCardNfcMark circle{fill:currentColor;stroke:none;}
/* Rail sponsors — source visuelle unique, alignée sur le bas de carte. */
.cmcSponsorLogos,.merchantCardSponsorLogos,.merchantWalletSponsorLogos,.sfWalletSponsorLogos{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  flex-wrap:nowrap;
}
.cmcSponsorLogos[hidden],.merchantCardSponsorLogos[hidden],.merchantWalletSponsorLogos[hidden],.sfWalletSponsorLogos[hidden]{display:none!important;}
/* Aperçu commerçant : rail dédié entre compteur et NFC. */
.cmcSponsorLogos{position:absolute;left:174px;right:112px;bottom:52px;height:46px;z-index:20;pointer-events:none;}
/* Carte secondaire / wallet : même composition, ajustée à leur gabarit. */
.merchantCardSponsorLogos{position:absolute;left:170px;right:108px;bottom:54px;height:46px;z-index:20;pointer-events:none;}
.merchantWalletSponsorLogos{position:absolute;left:170px;right:108px;bottom:52px;height:46px;z-index:20;pointer-events:none;}
.sfWalletMerchantCard .sfWalletSponsorLogos{position:absolute;left:106px;right:64px;bottom:40px;height:28px;z-index:3;gap:12px;pointer-events:none;}
.cmcSponsorLogos span,.merchantCardSponsorLogos span,.merchantWalletSponsorLogos span,.sfWalletSponsorLogos span{
  position:relative;
  flex:0 0 94px;
  width:94px;
  height:46px;
  display:grid;
  place-items:center;
  overflow:visible;
}
.cmcSponsorLogos span+span,.merchantCardSponsorLogos span+span,.merchantWalletSponsorLogos span+span,.sfWalletSponsorLogos span+span{padding-left:18px;}
.cmcSponsorLogos span+span::before,.merchantCardSponsorLogos span+span::before,.merchantWalletSponsorLogos span+span::before,.sfWalletSponsorLogos span+span::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  bottom:8px;
  width:1px;
  background:linear-gradient(180deg,rgba(214,181,109,.08),rgba(214,181,109,.58),rgba(214,181,109,.08));
}
/* Important : le fichier uploadé est rendu tel quel. Aucun blend-mode, filtre ou recadrage qui peut faire disparaître le logo. */
.cmcSponsorLogos img,.merchantCardSponsorLogos img,.merchantWalletSponsorLogos img,.sfWalletSponsorLogos img{
  display:block;
  max-width:94px;
  max-height:46px;
  width:auto;
  height:auto;
  object-fit:contain;
  mix-blend-mode:normal;
  filter:none;
  transform:none;
}
.sfWalletMerchantCard .sfWalletSponsorLogos span{flex-basis:58px;width:58px;height:28px;}
.sfWalletMerchantCard .sfWalletSponsorLogos span+span{padding-left:12px;}
.sfWalletMerchantCard .sfWalletSponsorLogos span+span::before{top:5px;bottom:5px;}
.sfWalletMerchantCard .sfWalletSponsorLogos img{max-width:58px;max-height:28px;}
@media(max-width:760px){
  .cmcSponsorLogos{left:122px;right:72px;bottom:48px;height:26px;gap:10px;}
  .merchantWalletSponsorLogos{left:120px;right:68px;bottom:46px;height:26px;gap:10px;}
  .cmcSponsorLogos span,.merchantWalletSponsorLogos span{flex-basis:50px;width:50px;height:26px;}
  .cmcSponsorLogos span+span,.merchantWalletSponsorLogos span+span{padding-left:10px;}
  .cmcSponsorLogos span+span::before,.merchantWalletSponsorLogos span+span::before{top:4px;bottom:4px;}
  .cmcSponsorLogos img,.merchantWalletSponsorLogos img{max-width:50px;max-height:26px;}
  .sfWalletMerchantCard .sfWalletSponsorLogos{left:84px;right:54px;bottom:34px;height:18px;gap:8px;}
  .sfWalletMerchantCard .sfWalletSponsorLogos span{flex-basis:36px;width:36px;height:18px;}
  .sfWalletMerchantCard .sfWalletSponsorLogos img{max-width:36px;max-height:18px;}
}

/* Configuration des logos sponsors — composant unique */
.sponsorPhotoUploader{display:grid;gap:14px;padding:18px;border:1px solid rgba(214,181,109,.18);border-radius:18px;background:rgba(214,181,109,.055);}
.sponsorPhotoUploaderHead{display:grid;gap:5px;}
.sponsorPhotoUploaderHead strong{color:#fff;font-size:15px;}
.sponsorPhotoUploaderHead span{color:rgba(255,255,255,.62);font-size:12px;line-height:1.45;}
.sponsorPhotoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.sponsorPhotoSlot{display:grid;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(5,6,10,.32);}
.sponsorPhotoSlot>span{color:#d6b56d;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.sponsorPhotoPreview{height:58px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.96);}
.sponsorPhotoPreview img{display:block;max-width:88%;max-height:78%;object-fit:contain;}
.sponsorPhotoPreview em{color:#676b78;font-size:12px;font-style:normal;}
.sponsorPhotoInput{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
.sponsorPhotoChoose{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-height:42px!important;box-sizing:border-box!important;padding:9px 11px!important;border:1px solid rgba(214,181,109,.35)!important;border-radius:10px!important;background:rgba(214,181,109,.12)!important;color:#ead089!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important;overflow:hidden!important;}
.sponsorPhotoChoose:hover{background:rgba(214,181,109,.20)!important;border-color:rgba(234,208,137,.72)!important;}
.sponsorPhotoChooseIcon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1px solid rgba(234,208,137,.70);border-radius:50%;font-size:15px;line-height:1;}
.sponsorPhotoFileName{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.55);font-size:11px;}
.sponsorPhotoRemove{display:flex!important;align-items:center;gap:7px!important;color:rgba(255,255,255,.7)!important;font-size:12px!important;}
.sponsorPhotoRemove input{width:auto;min-height:0;}
@media(max-width:760px){.sponsorPhotoGrid{grid-template-columns:1fr;}}

/* v346 — Notifications commerçant : composition, groupes et réception client */
.merchantNotificationsLayout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:22px;align-items:start}.notificationPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.notificationPanelHead h2{margin:3px 0 0}.notificationAudience{margin:18px 0;border:0;padding:0;display:grid;gap:10px}.notificationAudience legend{color:#ead089;font-weight:800;margin-bottom:8px}.notificationAudienceOption{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:14px!important;margin:0!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:15px!important;background:rgba(255,255,255,.025)!important;cursor:pointer}.notificationAudienceOption input{width:auto!important;min-height:0!important;margin-top:4px}.notificationAudienceOption strong,.notificationAudienceOption small{display:block}.notificationAudienceOption small{color:rgba(255,255,255,.58);margin-top:3px}.notificationAudienceDependent{margin:0 0 4px 30px;padding:12px;border-radius:14px;background:rgba(214,181,109,.06);border:1px solid rgba(214,181,109,.16)}.notificationClientPicker input[type=search]{margin-bottom:10px}.notificationClientPickerList{max-height:230px;overflow:auto;display:grid;gap:6px}.notificationClientPickerList label{display:flex!important;align-items:center!important;gap:10px!important;padding:9px 10px!important;margin:0!important;border-radius:10px!important;background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.07)!important}.notificationClientPickerList input{width:auto!important;min-height:0!important}.notificationClientPickerList strong,.notificationClientPickerList small{display:block}.notificationClientPickerList small{color:rgba(255,255,255,.52);font-size:11px;margin-top:2px}.notificationSendButton{width:100%;min-height:56px;font-size:15px}.notificationGroupManager{margin-top:20px;border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.notificationGroupManager summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:#ead089;font-weight:800}.notificationGroupManager summary small{color:rgba(255,255,255,.5);font-weight:500}.notificationGroupManagerBody{padding-top:16px}.notificationSavedGroups{display:grid;gap:8px;margin-top:18px}.notificationSavedGroups article{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px}.notificationGroupRename{display:flex;gap:8px}.notificationGroupRename input{min-height:38px}.textDanger{background:none;border:0;color:#f08e8e;cursor:pointer}.notificationHistoryCards{display:grid;gap:10px}.notificationHistoryCards article,.notificationHistoryFullList article{padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.025)}.notificationHistoryCards article>div,.notificationHistoryFullList header{display:flex;justify-content:space-between;gap:10px;color:rgba(255,255,255,.5);font-size:11px}.notificationHistoryCards h3,.notificationHistoryFullList h2{margin:10px 0 6px;font-size:16px}.notificationHistoryCards p,.notificationHistoryFullList p{margin:0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5}.notificationHistoryCards footer,.notificationHistoryFullList footer{margin-top:10px;color:#ead089;font-size:11px}.notificationAllLink{white-space:nowrap}.clientLiveNotificationModal[hidden]{display:none}.clientLiveNotificationModal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px}.clientLiveNotificationBackdrop{position:absolute;inset:0;background:rgba(2,3,8,.72);backdrop-filter:blur(8px)}.clientLiveNotificationCard{position:relative;width:min(460px,100%);padding:32px;border-radius:28px;background:linear-gradient(145deg,#191b29,#090a11);border:1px solid rgba(214,181,109,.48);box-shadow:0 30px 90px rgba(0,0,0,.62);animation:lcNotificationIn .28s ease-out}.clientLiveNotificationBadge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(214,181,109,.14);color:#ead089;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.clientLiveNotificationMerchant{margin:18px 0 4px;color:#ead089;font-size:13px}.clientLiveNotificationCard h2{margin:0 0 10px;font-size:28px}.clientLiveNotificationCard>p:last-of-type{color:rgba(255,255,255,.75);line-height:1.55}.clientLiveNotificationCard .btn{margin-top:18px;width:100%}.clientLiveNotificationClose{position:absolute;top:13px;right:16px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:24px;cursor:pointer}@keyframes lcNotificationIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.merchantNotificationHistoryPage{padding-top:44px;padding-bottom:60px}.notificationHistoryFilters{display:grid;grid-template-columns:1fr 220px auto;gap:12px;margin:24px 0}.notificationHistoryFullList{display:grid;gap:12px}.notificationPagination{display:flex;gap:8px;margin-top:22px}.notificationPagination a{padding:8px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.13);color:#fff;text-decoration:none}.notificationPagination a.active{background:#ead089;color:#16130d}@media(max-width:900px){.merchantNotificationsLayout{grid-template-columns:1fr}.notificationHistoryFilters{grid-template-columns:1fr}.notificationSavedGroups article{grid-template-columns:1fr}.notificationGroupRename{width:100%}}@media(max-width:560px){.clientLiveNotificationCard{padding:26px 20px}.clientLiveNotificationCard h2{font-size:24px}.notificationPanelHead{align-items:flex-start;flex-direction:column}.notificationAllLink{width:100%;text-align:center}}

/* v347 — Gestion des groupes clients : menu déroulant clair et sélection guidée */
.notificationGroupManager{margin-top:22px;border:1px solid rgba(214,181,109,.20);border-radius:18px;background:linear-gradient(145deg,rgba(214,181,109,.08),rgba(255,255,255,.022));overflow:hidden}
.notificationGroupManager summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;color:#fff}
.notificationGroupManager summary::-webkit-details-marker{display:none}
.notificationGroupSummaryCopy{display:flex;align-items:center;gap:12px;min-width:0}
.notificationGroupSummaryCopy strong,.notificationGroupSummaryCopy small{display:block}
.notificationGroupSummaryCopy strong{font-size:14px;color:#ead089}
.notificationGroupSummaryCopy small{margin-top:4px;color:rgba(255,255,255,.58);font-size:12px;line-height:1.35}
.notificationGroupSummaryIcon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:13px;background:rgba(214,181,109,.16);color:#ead089;font-size:23px}
.notificationGroupSummaryMeta{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:rgba(255,255,255,.62);font-size:12px}
.notificationGroupSummaryMeta b{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:#ead089;color:#16130d;font-size:11px}
.notificationGroupSummaryMeta i{font-style:normal;font-size:18px;transition:transform .2s ease}
.notificationGroupManager[open] .notificationGroupSummaryMeta i{transform:rotate(180deg)}
.notificationGroupManagerBody{padding:0 20px 20px;border-top:1px solid rgba(255,255,255,.08)}
.notificationGroupIntro{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:18px 0;padding:15px 16px;border-radius:14px;background:rgba(3,4,9,.30);border:1px solid rgba(255,255,255,.07)}
.notificationGroupIntro strong,.notificationGroupIntro span{display:block}.notificationGroupIntro strong{color:#fff;font-size:13px}.notificationGroupIntro span{margin-top:4px;color:rgba(255,255,255,.58);font-size:12px;line-height:1.4}
.notificationGroupIntroBadge{margin:0!important;white-space:nowrap;padding:6px 9px;border-radius:999px;color:#ead089!important;background:rgba(214,181,109,.12);border:1px solid rgba(214,181,109,.20);font-weight:800;font-size:11px!important}
.notificationGroupCreateForm{display:grid;gap:12px!important}.notificationGroupNameField{max-width:520px}.notificationGroupPickerToolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.notificationGroupPickerToolbar input{min-width:0}.notificationGroupPickerActions{display:flex;align-items:center;gap:10px;white-space:nowrap}.notificationGroupPickerActions span{color:rgba(255,255,255,.58);font-size:11px}.notificationGroupPickerActions b{color:#ead089;font-size:13px}.notificationGroupTextButton{border:0;background:none;color:#ead089;font-size:11px;font-weight:800;cursor:pointer;padding:7px 0}.notificationGroupTextButton:hover{text-decoration:underline}.notificationGroupMemberList{max-height:280px;padding:4px;gap:7px}.notificationGroupMemberList label{transition:border-color .16s ease,background .16s ease}.notificationGroupMemberList label:has(input:checked){border-color:rgba(234,208,137,.52)!important;background:rgba(214,181,109,.12)!important}.notificationGroupCreateFooter{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:4px}.notificationGroupCreateFooter>span{color:rgba(255,255,255,.48);font-size:11px;line-height:1.35}.notificationGroupCreateFooter .btn{margin:0!important;min-width:168px}.notificationSavedGroupsPanel{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10)}.notificationSavedGroupsHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.notificationSavedGroupsHead strong,.notificationSavedGroupsHead span{display:block}.notificationSavedGroupsHead strong{color:#fff;font-size:13px}.notificationSavedGroupsHead span{margin-top:4px;color:rgba(255,255,255,.52);font-size:11px}.notificationSavedGroupsSelect{width:min(270px,100%);min-height:44px!important}.notificationSavedGroups{margin-top:14px}.notificationSavedGroups article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.025)}.notificationSavedGroupMeta{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;color:#ead089;font-size:11px}.notificationSavedGroupMeta small{color:rgba(255,255,255,.48)}.notificationGroupRename{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.notificationGroupRename label{display:grid!important;gap:6px!important;color:rgba(255,255,255,.56);font-size:11px}.notificationGroupRename input{min-width:0}.notificationGroupDeleteForm{display:flex;align-items:end}.notificationGroupDeleteForm .textDanger{padding:11px 0;white-space:nowrap}.notificationGroupEmpty{margin:0!important;padding:14px;color:rgba(255,255,255,.54);border:1px dashed rgba(255,255,255,.14);border-radius:12px}
@media(max-width:760px){.notificationGroupManager summary{padding:16px}.notificationGroupManagerBody{padding:0 14px 14px}.notificationGroupIntro,.notificationGroupCreateFooter,.notificationSavedGroupsHead{flex-direction:column;align-items:stretch}.notificationGroupIntroBadge{align-self:flex-start}.notificationGroupPickerToolbar{grid-template-columns:1fr}.notificationGroupPickerActions{flex-wrap:wrap}.notificationGroupCreateFooter .btn{width:100%}.notificationSavedGroupsSelect{width:100%}.notificationSavedGroups article,.notificationGroupRename{grid-template-columns:1fr}.notificationGroupDeleteForm{align-items:flex-start}.notificationGroupDeleteForm .textDanger{padding:0}}

/* Groupes clients — sélection rapide, une seule logique de ciblage UI */
.notificationGroupSmartSelect{display:grid;gap:12px;padding:15px 16px;border:1px solid rgba(214,181,109,.22);border-radius:15px;background:linear-gradient(145deg,rgba(214,181,109,.10),rgba(8,10,18,.30));}
.notificationGroupSmartSelectHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.notificationGroupSmartSelectHead strong,.notificationGroupSmartSelectHead span{display:block;}
.notificationGroupSmartSelectHead strong{color:#ead089;font-size:12px;letter-spacing:.02em;}
.notificationGroupSmartSelectHead div>span{margin-top:4px;color:rgba(255,255,255,.56);font-size:11px;line-height:1.4;}
.notificationGroupSmartSelectHead>span{flex:0 0 auto;align-self:center;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.74);font-size:11px;white-space:nowrap;}
.notificationGroupSmartSelectControls{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,.46fr) auto;gap:10px;align-items:end;}
.notificationGroupSmartSelectControls select,.notificationGroupSmartSelectControls input{width:100%;min-width:0;}
.notificationGroupRuleNumber{display:grid!important;gap:5px!important;margin:0!important;color:rgba(255,255,255,.55)!important;font-size:11px!important;}
.notificationGroupRuleNumber input{min-height:42px!important;}
.notificationGroupRuleApply{min-height:42px!important;white-space:nowrap;}
.notificationGroupSmartSelectHelp{margin:0;color:rgba(255,255,255,.48);font-size:11px;line-height:1.4;}
@media(max-width:760px){.notificationGroupSmartSelectHead{flex-direction:column}.notificationGroupSmartSelectControls{grid-template-columns:1fr}.notificationGroupRuleApply{width:100%;}}

/* v351 — retour simple d'activation Push */
.pushActivationFeedback{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));z-index:10050;max-width:min(420px,calc(100vw - 32px));padding:14px 18px;border-radius:16px;transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;background:rgba(13,16,25,.96);border:1px solid rgba(214,181,109,.42);box-shadow:0 18px 48px rgba(0,0,0,.42);color:#fff;text-align:center;font-size:14px;font-weight:700;line-height:1.4;}
.pushActivationFeedback.show{opacity:1;transform:translate(-50%,0);}
.pushActivationFeedback[data-type="warn"]{border-color:rgba(238,170,91,.55);}
#enablePushBtn.isEnabled{opacity:.82;cursor:default;}
