
:root{
  /* === MOTION TOKENS (animations cohérentes) === */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-spring: cubic-bezier(0.5, 1.6, 0.4, 1);
  --ease-soft: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --dur-fast: 0.18s;
  --dur-med: 0.35s;
  --dur-slow: 0.55s;
  --dur-page: 0.6s;

  /* === ÉLÉVATIONS (ombres multicouches premium) === */
  --elev-1: 0 1px 2px rgba(10,15,4,.08), 0 1px 3px rgba(10,15,4,.06);
  --elev-2: 0 3px 6px rgba(10,15,4,.1), 0 2px 4px rgba(10,15,4,.07);
  --elev-3: 0 8px 16px rgba(10,15,4,.14), 0 4px 8px rgba(10,15,4,.08);
  --elev-4: 0 14px 28px rgba(10,15,4,.2), 0 8px 16px rgba(10,15,4,.12);
  --elev-5: 0 24px 48px rgba(10,15,4,.28), 0 14px 24px rgba(10,15,4,.14);
  --elev-glow: 0 0 0 1px rgba(164,214,94,.18), 0 8px 28px rgba(164,214,94,.22);

  /* === CHARTE CALENDRIER 31200 — alignée sur supports papier + Instagram === */
  --vert:#4a7c1a;            /* vert foncé typographique (titres dans charte) */
  --vert-pomme:#a4d65e;      /* vert pomme — fond principal Instagram */
  --vert-clair:#c5e088;      /* vert clair pastel — fond carrousel */
  --vert-tres-clair:#e1eecf; /* vert très clair — fond doux */
  --noir-deep:#0a0f04;       /* noir profond — cards Instagram */
  --noir-soft:#16201a;       /* noir adouci — cards secondaires */
  --jaune-pomme:#d4f04a;     /* jaune-vert lime — accent CTA secondaire */

  --gold:#f5c518;--gold2:#d4a012;--gold3:#ffe566;
  --silver:#c0cdd4;--bronze:#c07840;
  --ok:#3db865;--red:#e04040;--blue:#4a9eff;
  --r:18px;--rs:11px;  /* coins plus arrondis (style charte) */

  /* ─── PALETTE THÈME (par défaut : SOMBRE — vert foncé) ─── */
  --bg:#16341a;              /* vert foncé velouté (fond global dark) */
  --bg-gradient:linear-gradient(180deg,#1a3d20 0%,#0f2614 100%);
  --surface:rgba(10,15,4,0.45); /* cartes noires sur vert (style charte) */
  --surface-alt:rgba(10,15,4,0.32);
  --surface-elevated:#1a2814; /* modales, panneaux flottants */
  --surface-deep:#0a0f04;     /* noir profond style charte pour CTA */
  --header-bg:rgba(10,15,4,0.85);
  --tab-bg:#0f1f0c;
  --tab-active-bg:rgba(212,240,74,.12);

  --glass:rgba(10,15,4,0.45);
  --border:rgba(164,214,94,0.18);
  --border-strong:rgba(164,214,94,0.32);
  --bordg:rgba(245,197,24,0.38);

  --text:#f4f9e8;
  --text-secondary:#c5e088;
  --dim:rgba(244,249,232,0.62);
  --faint:rgba(244,249,232,0.32);

  --input-bg:rgba(10,15,4,0.55);
  --input-bg-focus:rgba(10,15,4,0.75);

  --shadow-card:0 6px 18px rgba(0,0,0,.32);
  --shadow-elevated:0 14px 38px rgba(0,0,0,.55);
  --shadow-strong:0 20px 50px rgba(0,0,0,.65);
}

/* ─── THÈME CLAIR — fond vert pomme charte Instagram ─── */
:root[data-theme="light"]{
  --bg:#c5e088;
  --bg-gradient:linear-gradient(180deg,#c5e088 0%,#a4d65e 100%);
  --surface:rgba(10,15,4,0.92);    /* cards NOIRES sur vert clair = charte ! */
  --surface-alt:rgba(10,15,4,0.78);
  --surface-elevated:#ffffff;       /* modales blanches */
  --surface-deep:#0a0f04;
  --header-bg:rgba(197,224,136,.95);
  --tab-bg:#ffffff;
  --tab-active-bg:rgba(74,124,26,.14);

  --glass:rgba(255,255,255,.78);
  --border:rgba(20,40,10,.18);
  --border-strong:rgba(20,40,10,.28);
  --bordg:rgba(74,124,26,.38);

  --text:#0a1a04;
  --text-secondary:#4a7c1a;
  --dim:rgba(10,26,4,.66);
  --faint:rgba(10,26,4,.4);

  --input-bg:rgba(255,255,255,.92);
  --input-bg-focus:#ffffff;

  --shadow-card:0 6px 18px rgba(74,124,26,.12);
  --shadow-elevated:0 14px 38px rgba(74,124,26,.22);
  --shadow-strong:0 20px 50px rgba(74,124,26,.32);

  /* Doré plus marqué en mode clair pour contraste */
  --gold:#c89400;--gold2:#a87800;--gold3:#e6b830;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;transition:background .3s ease,color .3s ease;}

/* ─── BACKGROUND MESH GRADIENT (premium subtle) ─── */
body::before{
  content:'';position:fixed;inset:-20%;
  background:
    radial-gradient(ellipse 70% 50% at 18% 22%, rgba(212,240,74,.06), transparent 65%),
    radial-gradient(ellipse 60% 65% at 82% 78%, rgba(164,214,94,.08), transparent 65%),
    radial-gradient(ellipse 50% 40% at 50% 50%, rgba(74,124,26,.04), transparent 70%);
  pointer-events:none;z-index:0;
  animation:aurora 32s ease-in-out infinite alternate;
  filter:blur(0.5px);
}
body::after{
  content:'';position:fixed;inset:0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(164,214,94,.025) 1px, transparent 1px);
  background-size:24px 24px;
  pointer-events:none;z-index:0;
  opacity:.5;
  mask-image:radial-gradient(circle at 50% 30%, black, transparent 80%);
  -webkit-mask-image:radial-gradient(circle at 50% 30%, black, transparent 80%);
}
@keyframes aurora{
  0%{transform:translate(0,0) rotate(0deg) scale(1);}
  33%{transform:translate(-3%,2%) rotate(1deg) scale(1.03);}
  66%{transform:translate(2%,-2%) rotate(-1deg) scale(.98);}
  100%{transform:translate(-2%,3%) rotate(2deg) scale(1.02);}
}
:root[data-theme="light"] body::before{
  background:
    radial-gradient(ellipse 70% 50% at 18% 22%, rgba(74,124,26,.08), transparent 65%),
    radial-gradient(ellipse 60% 65% at 82% 78%, rgba(74,124,26,.12), transparent 65%),
    radial-gradient(ellipse 50% 40% at 50% 50%, rgba(212,160,18,.05), transparent 70%);
}
:root[data-theme="light"] body::after{
  background-image:radial-gradient(circle at 1px 1px, rgba(74,124,26,.06) 1px, transparent 1px);
}

/* ===== LOGIN ===== */
.ls{
  position:fixed;inset:0;z-index:900;
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  background:
    linear-gradient(180deg,
      rgba(10,15,4,.5) 0%,
      rgba(10,15,4,.78) 50%,
      rgba(10,15,4,.92) 100%),
    repeating-linear-gradient(90deg,
      rgba(164,214,94,.03) 0,
      rgba(164,214,94,.03) 80px,
      rgba(164,214,94,.06) 80px,
      rgba(164,214,94,.06) 160px),
    radial-gradient(ellipse at center, #1a3d20 0%, #0a1a04 100%);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  animation:ls-fade-in .5s var(--ease-out-expo);
}
@keyframes ls-fade-in{from{opacity:0;}to{opacity:1;}}

/* Lignes terrain animées */
.ls::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, transparent 0%, transparent 35%, rgba(164,214,94,.12) 36%, transparent 38%),
    linear-gradient(180deg, transparent 49.5%, rgba(164,214,94,.18) 49.7%, rgba(164,214,94,.18) 50.3%, transparent 50.5%);
  pointer-events:none;
  opacity:.55;
  z-index:0;
}
/* Orbe lumineux */
.ls::after{
  content:'';position:absolute;
  width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle, rgba(164,214,94,.3), transparent 65%);
  top:-100px;left:-100px;
  filter:blur(60px);
  pointer-events:none;
  z-index:0;
  animation:orb-float 14s ease-in-out infinite;
}
@keyframes orb-float{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(40px,30px) scale(1.15);}
}

.lb{
  position:relative;z-index:1;
  background:linear-gradient(155deg,
    rgba(22,52,26,.94) 0%,
    rgba(10,31,12,.97) 100%);
  border:1.5px solid rgba(164,214,94,.42);
  border-radius:22px;
  padding:18px 20px 20px;
  width:100%;max-width:420px;max-height:94vh;
  overflow-y:auto;
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:
    var(--elev-5),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(164,214,94,.22);
  animation:pop .55s var(--ease-out-back) both;
}
.lb::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(164,214,94,.6),transparent);
  border-radius:26px 26px 0 0;
  pointer-events:none;
}
@keyframes pop{
  from{opacity:0;transform:translateY(30px) scale(.94);}
  to{opacity:1;transform:none;}
}
.l-ico{
  font-size:2.6rem;display:block;text-align:center;
  margin-bottom:6px;line-height:1;
  animation:l-ico-bounce 2.5s var(--ease-soft) infinite;
  filter:drop-shadow(0 4px 14px rgba(164,214,94,.3));
}
@keyframes l-ico-bounce{
  0%,100%{transform:translateY(0) rotate(-3deg);}
  50%{transform:translateY(-6px) rotate(3deg);}
}
.l-title{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.85rem;letter-spacing:.5px;color:var(--vert-pomme);text-align:center;line-height:1;margin-bottom:3px;text-shadow:0 0 18px rgba(164,214,94,.3);}
.l-sub{font-size:.66rem;letter-spacing:2.2px;text-transform:uppercase;color:rgba(255,255,255,.65);text-align:center;margin-bottom:16px;font-weight:700;}
.l-hr{height:2px;background:linear-gradient(90deg,transparent,var(--vert-pomme),var(--jaune-pomme),var(--vert-pomme),transparent);margin-bottom:14px;border-radius:1px;opacity:.6;}
.l-tabs{
  display:flex;gap:5px;
  margin-bottom:16px;
  background:rgba(10,15,4,.65);
  border-radius:13px;
  padding:5px;
  border:1px solid rgba(164,214,94,.12);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.18);
}
.l-tab{
  flex:1;padding:9px 4px;
  border-radius:9px;border:none;
  background:transparent;
  color:rgba(255,255,255,.62);
  font-family:'DM Sans',sans-serif;
  font-size:.7rem;font-weight:800;
  letter-spacing:.7px;
  cursor:pointer;
  transition:color var(--dur-fast) var(--ease-soft),
             background var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo),
             transform var(--dur-fast) var(--ease-soft);
  text-transform:uppercase;
  position:relative;
}
.l-tab:hover:not(.on){color:rgba(255,255,255,.88);background:rgba(164,214,94,.08);}
.l-tab.on{
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  box-shadow:0 6px 16px rgba(164,214,94,.42), inset 0 1px 0 rgba(255,255,255,.3);
  transform:translateY(-1px);
}
.l-tab:active{transform:scale(.96);}
.l-lbl{font-size:.66rem;letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.78);display:block;margin-bottom:5px;font-weight:700;}
.l-in{
  width:100%;padding:13px 16px;
  background:rgba(10,15,4,.55);
  border:1.5px solid rgba(164,214,94,.18);
  border-radius:11px;
  color:#fff;
  font-family:'DM Sans',sans-serif;
  font-size:.92rem;font-weight:500;
  letter-spacing:.1px;
  margin-bottom:11px;
  transition:border-color var(--dur-fast) ease,
             background var(--dur-fast) ease,
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.l-in:focus{
  outline:none;
  border-color:var(--vert-pomme);
  background:rgba(10,15,4,.68);
  box-shadow:0 0 0 4px rgba(164,214,94,.16);
}
.l-in::placeholder{color:rgba(255,255,255,.32);font-weight:400;}
.l-in:hover:not(:focus){border-color:rgba(164,214,94,.32);}
.l-hint{font-size:.66rem;color:rgba(255,255,255,.78);margin-bottom:9px;margin-top:-5px;padding:7px 11px;background:rgba(164,214,94,.1);border:1px solid rgba(164,214,94,.22);border-radius:7px;line-height:1.5;}
.l-pseudo-note{font-size:.62rem;color:rgba(255,255,255,.55);margin-bottom:8px;margin-top:-5px;padding:4px 8px;line-height:1.4;font-style:italic;}
.l-rgpd{margin:10px 0;background:rgba(10,15,4,.32);border:1px solid var(--border);border-radius:var(--rs);padding:10px 12px;}
.l-ck{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:.7rem;color:rgba(255,255,255,.72);line-height:1.5;margin-bottom:6px;}
.l-ck:last-child{margin-bottom:0;}
.l-ck input[type=checkbox]{width:15px;height:15px;flex-shrink:0;accent-color:var(--vert-pomme);cursor:pointer;margin-top:1px;}
.l-ck a{color:var(--vert-pomme);text-decoration:underline;}
.l-btn{
  width:100%;padding:15px 18px;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #92c450 100%);
  border:none;border-radius:13px;
  color:var(--surface-deep);
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.02rem;letter-spacing:-.1px;
  cursor:pointer;
  margin-top:11px;
  position:relative;overflow:hidden;
  box-shadow:var(--elev-2),
             inset 0 -2px 0 rgba(10,15,4,.14),
             inset 0 1px 0 rgba(255,255,255,.32);
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.l-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 35%, rgba(255,255,255,.32) 50%, transparent 65%);
  transform:translateX(-100%);
  transition:transform .9s var(--ease-soft);
  pointer-events:none;
}
.l-btn:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-4),
             inset 0 -2px 0 rgba(10,15,4,.14),
             inset 0 1px 0 rgba(255,255,255,.4),
             0 0 28px rgba(164,214,94,.4);
}
.l-btn:hover::before{transform:translateX(100%);}
.l-btn:active{transform:translateY(0) scale(.98);}
.l-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--elev-1);}
.l-err{color:#ff8585;font-size:.74rem;margin-top:7px;display:none;padding:8px 12px;background:rgba(224,64,64,.14);border:1px solid rgba(224,64,64,.32);border-radius:7px;}
.l-foot{margin-top:11px;font-size:.6rem;color:rgba(255,255,255,.4);text-align:center;line-height:1.6;}
.l-foot a{color:var(--vert-pomme);opacity:.85;}

/* ===== MODALS (RGPD + ML) ===== */
.rmo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9700;align-items:center;justify-content:center;padding:14px;}
.rmo.open{display:flex;}
.rmd{background:linear-gradient(145deg,rgba(0,16,36,.97),rgba(0,8,20,.99));border:1.5px solid rgba(74,158,255,.28);border-radius:18px;padding:22px;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;}
.rmd h2{font-family:'Bebas Neue',sans-serif;color:#5eb8ff;font-size:1.25rem;letter-spacing:4px;margin-bottom:11px;}
.rmd h3{font-weight:800;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:#5eb8ff;margin:11px 0 4px;}
.rmd p,.rmd li{font-size:.7rem;color:rgba(255,255,255,.65);line-height:1.6;margin-bottom:3px;}
.rmd ul{padding-left:14px;margin-top:3px;}
.rmd a{color:#5eb8ff;}

/* ===== HEADER ===== */
.header{background:var(--header-bg);backdrop-filter:blur(20px) saturate(140%);border-bottom:3px solid var(--vert-pomme);position:sticky;top:0;z-index:200;transition:background .3s ease;}
.hi{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;gap:10px;flex-wrap:wrap;}
.h-brand{}
.h-title{font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(1.1rem,3.8vw,1.65rem);letter-spacing:.8px;color:var(--vert-pomme);line-height:1;}
.h-tagline{font-size:.6rem;color:var(--dim);font-weight:600;margin-top:2px;letter-spacing:.5px;}
.h-badge{background:var(--vert-pomme);color:var(--surface-deep);font-family:'Fredoka',sans-serif;font-weight:700;font-size:.55rem;letter-spacing:1px;text-transform:uppercase;padding:5px 11px;border-radius:6px;text-align:center;line-height:1.5;flex-shrink:0;display:none;}
.h-user{
  display:flex;align-items:center;gap:8px;
  background:rgba(10,15,4,.42);
  border:1.5px solid var(--border);
  border-radius:24px;
  padding:4px 13px 4px 4px;
  cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out-back),
             background var(--dur-fast),
             border-color var(--dur-fast),
             box-shadow var(--dur-med) var(--ease-out-expo);
  position:relative;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.h-user:hover{
  border-color:var(--vert-pomme);
  background:rgba(10,15,4,.62);
  transform:translateY(-1px);
  box-shadow:var(--elev-2);
}
.h-user:active{transform:translateY(0) scale(.97);}
.h-user:hover{border-color:var(--vert-pomme);background:rgba(10,15,4,.55);}
.h-av{
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fredoka',sans-serif;font-weight:700;font-size:.88rem;
  color:var(--surface-deep);flex-shrink:0;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  box-shadow:inset 0 -2px 0 rgba(10,15,4,.14), inset 0 1px 0 rgba(255,255,255,.3), 0 0 0 2px rgba(164,214,94,.18);
  transition:transform var(--dur-fast) var(--ease-out-back), box-shadow var(--dur-med) var(--ease-out-expo);
}
.h-user:hover .h-av{
  transform:scale(1.08) rotate(-3deg);
  box-shadow:inset 0 -2px 0 rgba(10,15,4,.14), inset 0 1px 0 rgba(255,255,255,.4), 0 0 0 3px rgba(164,214,94,.4), 0 0 18px rgba(164,214,94,.35);
}
.h-nm{font-size:.74rem;font-weight:700;color:var(--text);}
.sync{display:flex;align-items:center;gap:5px;background:rgba(10,15,4,.32);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:.6rem;color:var(--dim);flex-shrink:0;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--vert-pomme);flex-shrink:0;box-shadow:0 0 6px rgba(164,214,94,.6);}
.dot.s{background:var(--gold);animation:blink .9s infinite;box-shadow:0 0 6px rgba(245,197,24,.7);}
.dot.e{background:var(--red);}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}

/* Mode light : titre header en vert foncé */
:root[data-theme="light"] .h-title{color:var(--vert)!important;}
:root[data-theme="light"] .h-user{background:rgba(255,255,255,.7);border-color:rgba(74,124,26,.25);}
:root[data-theme="light"] .h-user:hover{background:#fff;border-color:var(--vert);}
:root[data-theme="light"] .h-nm{color:var(--vert);}
:root[data-theme="light"] .sync{background:rgba(255,255,255,.65);}

/* ═══ HEADER BUTTONS — Charte 2026, lisibles sur les 2 modes ═══ */
.h-btn-circle{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:rgba(164,214,94,.1);
  border:1.5px solid rgba(164,214,94,.3);
  color:var(--vert-pomme);
  font-size:.92rem;cursor:pointer;padding:0;line-height:1;
  transition:transform .25s var(--ease-out-back), background .2s, border-color .2s, box-shadow .25s;
  position:relative;
  box-shadow:var(--elev-1);
}
.h-btn-circle::before{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at center, currentColor, transparent 65%);
  opacity:0;transition:opacity .3s;
  z-index:-1;
  filter:blur(8px);
}
.h-btn-circle:hover{
  transform:translateY(-2px);
  background:rgba(164,214,94,.22);
  border-color:var(--vert-pomme);
  box-shadow:var(--elev-2);
}
.h-btn-circle:hover::before{opacity:.3;}
.h-btn-circle:active{transform:translateY(0) scale(.9);}

#theme-toggle{}
#notif-toggle{color:#5eb8ff;background:rgba(94,184,255,.12);border-color:rgba(94,184,255,.32);}
#notif-toggle:hover{background:rgba(94,184,255,.24);border-color:#5eb8ff;}
#search-btn{color:#a4d65e;background:rgba(164,214,94,.14);border-color:rgba(164,214,94,.32);font-size:.85rem;}
#search-btn:hover{background:rgba(164,214,94,.26);border-color:var(--vert-pomme);}
.h-btn-dq{color:#ff7878;background:rgba(245,82,82,.14);border-color:rgba(245,82,82,.32);}
.h-btn-dq:hover{background:rgba(245,82,82,.26);border-color:#ff7878;}
.h-btn-logout{color:#ff7878!important;background:rgba(255,80,80,.12)!important;border-color:rgba(255,80,80,.28)!important;font-weight:700;font-size:.84rem!important;}
.h-btn-logout:hover{background:rgba(255,80,80,.26)!important;border-color:#ff7878!important;}

/* ═══ BURGER MENU (header) ═══ */
.h-btn-menu{
  color:var(--gold) !important;
  background:rgba(245,197,24,.12) !important;
  border-color:rgba(245,197,24,.36) !important;
}
.h-btn-menu:hover{
  background:rgba(245,197,24,.26) !important;
  border-color:var(--gold) !important;
}
.h-menu-dropdown{
  position:fixed;
  top:64px;
  right:12px;
  z-index:9300;
  min-width:240px;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1px solid rgba(164,214,94,.32);
  border-radius:14px;
  padding:6px;
  box-shadow:0 18px 50px rgba(0,0,0,.55), 0 0 0 1px rgba(245,197,24,.12);
  animation:h-menu-in .18s ease-out;
}
@keyframes h-menu-in{
  from{opacity:0;transform:translateY(-8px) scale(.96);}
  to{opacity:1;transform:none;}
}
.h-menu-item{
  display:flex;align-items:center;gap:11px;
  width:100%;
  padding:11px 14px;
  background:transparent;
  border:none;
  color:#fff;
  font-family:'DM Sans',sans-serif;
  font-size:.84rem;font-weight:600;
  border-radius:9px;
  cursor:pointer;
  text-align:left;
  transition:background .15s, transform .15s;
}
.h-menu-item:hover{
  background:rgba(164,214,94,.12);
  transform:translateX(2px);
}
.h-menu-item:active{transform:scale(.97);}
.h-menu-ico{
  font-size:1.05rem;line-height:1;
  width:22px;text-align:center;
  flex-shrink:0;
}
.h-menu-lbl{flex:1;}
.h-menu-count{
  font-family:'Bebas Neue',sans-serif;
  font-size:.78rem;
  padding:1px 7px;
  background:#ff3838;
  color:#fff;
  border-radius:9px;
  letter-spacing:.4px;
}
.h-menu-badge{
  font-size:.62rem;font-weight:700;
  padding:2px 7px;
  background:rgba(245,197,24,.18);
  color:var(--gold);
  border-radius:7px;
  letter-spacing:.3px;
}
.h-menu-sep{
  height:1px;
  background:rgba(255,255,255,.08);
  margin:4px 8px;
}
.h-menu-item-danger{color:#ff8585;}
.h-menu-item-danger:hover{background:rgba(255,80,80,.12);}
:root[data-theme="light"] .h-menu-dropdown{
  background:linear-gradient(160deg, #fff 0%, #f5fff0 100%);
  border-color:rgba(74,124,26,.32);
}
:root[data-theme="light"] .h-menu-item{color:#1a3808;}
:root[data-theme="light"] .h-menu-item:hover{background:rgba(74,124,26,.1);}
:root[data-theme="light"] .h-menu-sep{background:rgba(0,0,0,.08);}

/* Badges pilule (loyalty + bons) */
.h-pill{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 11px;border-radius:20px;
  font-size:.66rem;font-weight:800;
  cursor:pointer;white-space:nowrap;
  transition:all .2s;
  border:1.5px solid;
}
#loyalty-badge{color:#5fd98a;background:rgba(95,217,138,.14);border-color:rgba(95,217,138,.4);}
#loyalty-badge:hover{background:rgba(95,217,138,.26);transform:translateY(-1px);}
#bons-badge{color:var(--gold3);background:rgba(255,229,102,.16);border-color:rgba(255,229,102,.42);}
#bons-badge:hover{background:rgba(255,229,102,.28);transform:translateY(-1px);}

/* ─── Mode LIGHT : header buttons ─── */
:root[data-theme="light"] .h-btn-circle{background:rgba(74,124,26,.12);border-color:rgba(74,124,26,.32);color:var(--vert);}
:root[data-theme="light"] .h-btn-circle:hover{background:var(--vert);color:#fff;border-color:var(--vert);}
:root[data-theme="light"] #notif-toggle{color:#1e6bb8;background:rgba(30,107,184,.12);border-color:rgba(30,107,184,.35);}
:root[data-theme="light"] #notif-toggle:hover{background:#1e6bb8;color:#fff;}
:root[data-theme="light"] .h-btn-dq{color:#c93535;background:rgba(201,53,53,.12);border-color:rgba(201,53,53,.35);}
:root[data-theme="light"] .h-btn-dq:hover{background:#c93535;color:#fff;}
:root[data-theme="light"] .h-btn-logout{color:#c93535!important;background:rgba(201,53,53,.1)!important;border-color:rgba(201,53,53,.3)!important;}
:root[data-theme="light"] .h-btn-logout:hover{background:#c93535!important;color:#fff!important;}
:root[data-theme="light"] #loyalty-badge{color:#1f7a3b;background:rgba(31,122,59,.12);border-color:rgba(31,122,59,.4);}
:root[data-theme="light"] #loyalty-badge:hover{background:#1f7a3b;color:#fff;}
:root[data-theme="light"] #bons-badge{color:#8a6300;background:rgba(245,197,24,.18);border-color:rgba(212,160,18,.5);}
:root[data-theme="light"] #bons-badge:hover{background:#d4a012;color:#fff;}

/* ===== TABS ===== */
.tabs{
  display:flex;overflow-x:auto;scrollbar-width:none;
  background:var(--tab-bg);
  border-bottom:1px solid var(--border);
  position:sticky;top:60px;z-index:199;
  transition:background .3s ease;
  box-shadow:var(--elev-1);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.tabs::-webkit-scrollbar{display:none;}
.tab{
  flex:1;min-width:66px;
  padding:13px 6px 12px;
  border:none;background:transparent;
  color:var(--dim);
  font-family:'DM Sans',sans-serif;
  font-size:.68rem;font-weight:800;
  letter-spacing:1.4px;text-transform:uppercase;
  cursor:pointer;
  border-bottom:3px solid transparent;
  transition:color var(--dur-fast) var(--ease-soft),
             background var(--dur-fast) var(--ease-soft);
  white-space:nowrap;position:relative;
}
.tab:hover:not(.on){color:var(--text);background:rgba(164,214,94,.04);}
.tab.on{
  color:var(--vert-pomme);
  border-bottom-color:transparent;  /* on cache la border-bottom, ::after gère */
  background:linear-gradient(180deg, rgba(164,214,94,.02), rgba(164,214,94,.12));
}
.tab.on::before{
  content:'';position:absolute;top:0;left:50%;
  transform:translateX(-50%);
  width:36px;height:3px;
  background:linear-gradient(90deg, transparent, var(--vert-pomme), transparent);
  border-radius:0 0 6px 6px;
  box-shadow:0 0 16px rgba(164,214,94,.6);
  animation:tab-top-bar .4s cubic-bezier(.16,1,.3,1);
}
@keyframes tab-top-bar{
  0%{width:0;opacity:0;}
  100%{width:36px;opacity:1;}
}
.tab.on::after{
  content:'';position:absolute;bottom:0;left:8%;right:8%;
  height:3px;
  background:linear-gradient(90deg, var(--vert-pomme), #c5e088, var(--vert-pomme));
  border-radius:3px 3px 0 0;
  box-shadow:0 -2px 12px rgba(164,214,94,.5);
  animation:tab-indicator-grow .42s cubic-bezier(.16,1,.3,1);
}
@keyframes tab-indicator-grow{
  0%{transform:scaleX(.3);opacity:0;}
  100%{transform:scaleX(1);opacity:1;}
}

/* Mode light : tabs en vert foncé */
:root[data-theme="light"] .tab.on{color:var(--vert)!important;border-bottom-color:var(--vert)!important;background:linear-gradient(180deg, rgba(74,124,26,.02), rgba(74,124,26,.12))!important;}
:root[data-theme="light"] .tab.on::before{background:var(--vert)!important;box-shadow:0 0 12px rgba(74,124,26,.5);}
:root[data-theme="light"] .tab.on::after{background:var(--vert)!important;}
.adm{display:none;}.adm.v{display:block;}

/* ═══ PAGE TRANSITIONS PREMIUM ═══ */
.panel{display:none;padding:16px 14px 28px;}
.panel.on{
  display:block;
  animation:panel-enter .38s var(--ease-out-expo) both;
}
@keyframes panel-enter{
  0%{opacity:0;transform:translateY(6px);}
  100%{opacity:1;transform:translateY(0);}
}

/* Directional swipe animations entre tabs */
.panel.on.panel-enter-right{
  animation:panel-slide-right .35s cubic-bezier(.22,1,.36,1) both;
  will-change:transform, opacity;
}
.panel.on.panel-enter-left{
  animation:panel-slide-left .35s cubic-bezier(.22,1,.36,1) both;
  will-change:transform, opacity;
}
@keyframes panel-slide-right{
  0%{opacity:0;transform:translate3d(20px,0,0);}
  100%{opacity:1;transform:translate3d(0,0,0);}
}
@keyframes panel-slide-left{
  0%{opacity:0;transform:translate3d(-20px,0,0);}
  100%{opacity:1;transform:translate3d(0,0,0);}
}
/* Performance : reset will-change après l'animation */
.panel.on:not(.panel-enter-right):not(.panel-enter-left){
  will-change:auto;
}

/* Reduce-motion : respecter les préférences accessibilité */
@media (prefers-reduced-motion: reduce){
  .panel.on, .panel.on.panel-enter-right, .panel.on.panel-enter-left{
    animation: none !important;
  }
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   ▓▓▓ MICRO-INTERACTIONS PREMIUM ▓▓▓
   Ripple, glow, haptic visual feedback
   ═══════════════════════════════════════════════════════════ */

/* Ripple effect : ondulation au clic (style Material) */
.ripple-host{
  position:relative;
  overflow:hidden;
}
.ripple-host::after{
  content:'';position:absolute;
  top:50%;left:50%;
  width:0;height:0;
  border-radius:50%;
  background:rgba(255,255,255,.32);
  transform:translate(-50%,-50%);
  pointer-events:none;
  transition:width .55s cubic-bezier(.4,0,.2,1), height .55s cubic-bezier(.4,0,.2,1), opacity .65s;
  opacity:0;
}
.ripple-host:active::after{
  width:300%;height:300%;
  opacity:1;
  transition:width 0s, height 0s, opacity 0s;
}

/* Hover lift moderne pour les cards principales */
.lift-on-hover{
  transition:transform var(--dur-med) cubic-bezier(.16,1,.3,1),
             box-shadow var(--dur-med) cubic-bezier(.16,1,.3,1);
}
.lift-on-hover:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-3);
}

/* Pulse subtil sur les éléments importants non vus */
@keyframes attention-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(164,214,94,.4);}
  50%{box-shadow:0 0 0 8px rgba(164,214,94,0);}
}
.attention-pulse{
  animation:attention-pulse 2s ease-in-out infinite;
}

/* Float-in animation pour les bannières contextuelles */
@keyframes float-in{
  0%{opacity:0;transform:translateY(-10px) scale(.96);}
  60%{opacity:1;transform:translateY(2px) scale(1.02);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
.float-in{
  animation:float-in .55s cubic-bezier(.16,1,.3,1) both;
}

/* Wiggle pour les CTAs urgents */
@keyframes wiggle{
  0%,100%{transform:rotate(0deg);}
  20%{transform:rotate(-3deg);}
  40%{transform:rotate(3deg);}
  60%{transform:rotate(-2deg);}
  80%{transform:rotate(2deg);}
}
.wiggle-on-hover:hover{
  animation:wiggle .5s ease-in-out;
}

/* Number count-up animation (utilisé sur le hero counter) */
@keyframes count-pop{
  0%{transform:scale(.7);opacity:0;}
  50%{transform:scale(1.18);}
  100%{transform:scale(1);opacity:1;}
}
.count-pop{
  animation:count-pop .55s cubic-bezier(.16,1,.3,1) both;
  display:inline-block;
}

/* Smooth highlight cardes après scroll-to */
.card-highlight{
  animation:card-highlight 1.8s ease-out;
}
@keyframes card-highlight{
  0%{box-shadow:0 0 0 4px rgba(164,214,94,.45), var(--elev-3);}
  50%{box-shadow:0 0 0 12px rgba(164,214,94,.2), var(--elev-3);}
  100%{box-shadow:0 0 0 0 rgba(164,214,94,0), var(--elev-1);}
}

/* Children stagger fade-in (réduit) */
.panel.on > * {
  animation:child-stagger .35s var(--ease-out-expo) both;
}
.panel.on > *:nth-child(1){animation-delay:.02s;}
.panel.on > *:nth-child(2){animation-delay:.05s;}
.panel.on > *:nth-child(3){animation-delay:.08s;}
.panel.on > *:nth-child(4){animation-delay:.11s;}
.panel.on > *:nth-child(5){animation-delay:.14s;}
/* Skip stagger pour les éléments 6+ : évite le lag sur listes longues */
.panel.on > *:nth-child(n+6){animation-delay:0s;animation-duration:.2s;}
@keyframes child-stagger{
  from{opacity:0;transform:translateY(4px);}
  to{opacity:1;transform:translateY(0);}
}

/* Notification panel premium */
.notif-list{padding:6px 0;}
.notif-row{
  display:flex;gap:13px;
  padding:14px 18px;
  border-bottom:1px solid var(--border);
  transition:background var(--dur-fast), transform var(--dur-fast);
  cursor:default;
}
.notif-row:hover{
  background:linear-gradient(90deg, rgba(164,214,94,.05), transparent);
  transform:translateX(2px);
}
.notif-row:last-child{border-bottom:none;}
.notif-ico{
  font-size:1.5rem;line-height:1;flex-shrink:0;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, rgba(164,214,94,.16), rgba(164,214,94,.06));
  border:1px solid rgba(164,214,94,.2);
  border-radius:12px;
  box-shadow:var(--elev-1);
}
.notif-body{flex:1;min-width:0;}
.notif-title{font-size:.88rem;font-weight:700;color:var(--text);line-height:1.35;}
.notif-text{font-size:.76rem;color:var(--dim);line-height:1.5;margin-top:4px;}
.notif-time{font-size:.64rem;color:var(--faint);white-space:nowrap;flex-shrink:0;margin-top:3px;font-weight:600;}
:root[data-theme="light"] .notif-row:hover{background:linear-gradient(90deg, rgba(74,124,26,.05), transparent);}

.app{position:relative;z-index:1;max-width:1100px;margin:0 auto;}

/* ===== CARD ===== */
/* ═══ CARDS PREMIUM avec glass + edge highlights ═══ */
.card{
  position:relative;
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:18px;margin-bottom:14px;
  backdrop-filter:blur(12px) saturate(140%);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
  box-shadow:var(--elev-2), inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform var(--dur-med) var(--ease-out-expo),
             box-shadow var(--dur-med) var(--ease-out-expo),
             border-color var(--dur-fast) var(--ease-soft);
}
.card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(164,214,94,.32), transparent);
  border-radius:var(--r) var(--r) 0 0;
  pointer-events:none;
}
.card:hover{
  border-color:rgba(164,214,94,.28);
  box-shadow:var(--elev-3), inset 0 1px 0 rgba(255,255,255,.06);
}
.ct{font-family:'Fredoka',sans-serif;font-weight:700;color:var(--vert-pomme);font-size:1.1rem;letter-spacing:.5px;margin-bottom:12px;display:flex;align-items:center;gap:9px;}
.ct::after{content:'';flex:1;height:2px;background:linear-gradient(90deg,var(--vert-pomme),transparent);border-radius:1px;}

/* Mode light : titres card en vert foncé */
:root[data-theme="light"] .card{background:var(--surface-deep);border-color:rgba(74,124,26,.32);color:#fff;}
:root[data-theme="light"] .card .ct{color:var(--vert-pomme);}

/* ═══ FORM INPUTS PREMIUM ═══ */
.fr{display:flex;gap:9px;flex-wrap:wrap;}
.fr input,.fr select{
  flex:1;min-width:110px;
  padding:11px 14px;
  background:var(--input-bg);
  border:1.5px solid var(--border);
  border-radius:var(--rs);
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  font-size:.88rem;font-weight:500;
  transition:border-color var(--dur-fast) var(--ease-soft),
             background var(--dur-fast) var(--ease-soft),
             box-shadow var(--dur-med) var(--ease-out-back),
             transform var(--dur-fast) var(--ease-soft);
}
.fr input:hover:not(:focus),
.fr select:hover:not(:focus){
  border-color:rgba(164,214,94,.4);
}
.fr input:focus,.fr select:focus{
  outline:none;
  border-color:var(--vert-pomme);
  background:var(--input-bg-focus);
  box-shadow:0 0 0 4px rgba(164,214,94,.2),
             0 0 22px rgba(164,214,94,.1),
             var(--elev-1);
  transform:translateY(-1px);
}
.fr input::placeholder{color:var(--faint);transition:color .2s;}
.fr input:focus::placeholder{color:rgba(164,214,94,.55);}
.fr select option{background:#0f1f0c;color:var(--text);}
:root[data-theme="light"] .fr select option{background:#fff;color:#0a1a04;}

/* ═══ BOUTONS PREMIUM avec shine + ripple + glow ═══ */
.btn{
  padding:11px 20px;
  background:linear-gradient(135deg, #a4d65e 0%, #b8e070 50%, #a4d65e 100%);
  background-size:200% 200%;
  border:none;border-radius:var(--rs);
  color:var(--surface-deep);
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.86rem;letter-spacing:.3px;
  cursor:pointer;white-space:nowrap;
  position:relative;overflow:hidden;
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo),
             background-position .8s var(--ease-soft);
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(10,15,4,.12), inset 0 1px 0 rgba(255,255,255,.3);
}
.btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%);
  transform:translateX(-100%);
  transition:transform .8s var(--ease-soft);
  pointer-events:none;
}
.btn:hover{
  transform:translateY(-3px);
  background-position:100% 100%;
  box-shadow:var(--elev-4), inset 0 -2px 0 rgba(10,15,4,.12), inset 0 1px 0 rgba(255,255,255,.4), 0 0 0 1px rgba(164,214,94,.4);
}
.btn:hover::before{transform:translateX(100%);}
.btn:active{transform:translateY(-1px) scale(.98);box-shadow:var(--elev-2), inset 0 2px 4px rgba(10,15,4,.18);}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}

.btn-g{
  padding:7px 13px;
  background:rgba(164,214,94,.08);
  border:1.5px solid rgba(164,214,94,.22);
  border-radius:9px;
  color:var(--text);font-size:.74rem;font-weight:600;
  cursor:pointer;
  transition:all var(--dur-fast) var(--ease-out-expo);
  font-family:'DM Sans',sans-serif;
}
.btn-g:hover{
  border-color:var(--vert-pomme);
  color:var(--vert-pomme);
  background:rgba(164,214,94,.16);
  transform:translateY(-1px);
}
.btn-g:active{transform:translateY(0) scale(.96);}

.btn-d{
  padding:7px 13px;
  background:rgba(224,64,64,.12);
  border:1.5px solid rgba(224,64,64,.28);
  border-radius:9px;
  color:#ff7878;font-size:.74rem;font-weight:600;cursor:pointer;
  transition:all var(--dur-fast) var(--ease-out-expo);
  font-family:'DM Sans',sans-serif;
}
.btn-d:hover{background:rgba(224,64,64,.22);border-color:rgba(224,64,64,.5);transform:translateY(-1px);}
.btn-d:active{transform:translateY(0) scale(.96);}

:root[data-theme="light"] .btn-g{background:rgba(74,124,26,.1);color:var(--vert);border-color:rgba(74,124,26,.28);}
:root[data-theme="light"] .btn-g:hover{background:var(--vert);color:#fff;border-color:var(--vert);box-shadow:0 4px 12px rgba(74,124,26,.3);}

/* ===== TABLE ===== */
.tw{overflow-x:auto;border-radius:var(--r);border:1px solid var(--border);background:rgba(10,15,4,.18);}
table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:360px;}
thead tr{background:rgba(10,15,4,.55);}
th{padding:11px 13px;text-align:left;font-family:'DM Sans',sans-serif;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--vert-pomme);font-size:.6rem;border-bottom:1px solid var(--border);}
tbody tr{border-bottom:1px solid rgba(164,214,94,.06);transition:background .15s;}
tbody tr:last-child{border-bottom:none;}
tbody tr:hover{background:rgba(164,214,94,.04);}
td{padding:10px 13px;vertical-align:middle;}
.av{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:'Fredoka',sans-serif;font-weight:700;font-size:.84rem;color:var(--surface-deep);flex-shrink:0;margin-right:8px;background:var(--vert-pomme);}
.pts{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.35rem;color:var(--vert-pomme);line-height:1;}
.es{text-align:center;color:var(--faint);padding:32px;font-size:.74rem;letter-spacing:2px;text-transform:uppercase;}

/* ═══ EMPTY STATES ANIMÉS — pour les sections vides ═══ */
.empty-state{
  text-align:center;
  padding:40px 20px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  animation:empty-fade-in .5s var(--ease-out-expo);
}
@keyframes empty-fade-in{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:none;}
}
.empty-state-ico{
  font-size:3.2rem;line-height:1;
  margin-bottom:6px;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.32));
  animation:empty-ico-float 3s ease-in-out infinite;
}
@keyframes empty-ico-float{
  0%,100%{transform:translateY(0) rotate(0deg);}
  50%{transform:translateY(-6px) rotate(2deg);}
}
.empty-state-title{
  font-family:'Fredoka',sans-serif;
  font-size:1.05rem;
  font-weight:700;
  color:var(--text);
  letter-spacing:-.2px;
}
.empty-state-sub{
  font-size:.8rem;
  color:var(--dim);
  max-width:280px;
  line-height:1.5;
}
.empty-state-cta{
  margin-top:14px;
  padding:11px 22px;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #92c450 100%);
  color:var(--surface-deep);
  border:none;
  border-radius:11px;
  font-family:'Fredoka',sans-serif;
  font-weight:700;
  font-size:.86rem;
  cursor:pointer;
  box-shadow:var(--elev-2);
  transition:transform var(--dur-fast) var(--ease-out-back), box-shadow var(--dur-fast);
}
.empty-state-cta:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-3);
}
.empty-state-cta:active{transform:translateY(0) scale(.97);}
.rn{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.25rem;color:var(--vert-pomme);}

:root[data-theme="light"] .tw{background:rgba(255,255,255,.55);border-color:rgba(74,124,26,.22);}
:root[data-theme="light"] thead tr{background:rgba(74,124,26,.12);}
:root[data-theme="light"] th{color:var(--vert);}
:root[data-theme="light"] tbody tr{border-bottom-color:rgba(74,124,26,.1);}
:root[data-theme="light"] tbody tr:hover{background:rgba(74,124,26,.05);}
:root[data-theme="light"] .pts,
:root[data-theme="light"] .rn{color:var(--vert);}

/* ═══ SECTION LABELS premium ═══ */
.sl{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;letter-spacing:-.2px;
  color:var(--vert-pomme);
  margin-bottom:12px;margin-top:6px;
  display:flex;align-items:center;gap:10px;
  text-shadow:0 0 18px rgba(164,214,94,.18);
}
.sl-priority{
  font-size:1.25rem!important;letter-spacing:-.3px!important;
  color:#ff8585!important;
  text-shadow:0 0 20px rgba(255,80,80,.35);
  position:relative;
}
.sl-priority::before{
  content:'';display:inline-block;
  width:10px;height:10px;
  background:#ff5050;border-radius:50%;
  animation:hero-pulse 1.4s ease-in-out infinite;
  margin-right:6px;
  box-shadow:0 0 0 0 rgba(255,80,80,.6);
}
.sl-sub{
  font-size:.84rem!important;letter-spacing:0!important;
  color:var(--dim)!important;
  margin-top:14px!important;font-weight:600!important;
  text-shadow:none;
}
.sl::after{
  content:'';flex:1;
  height:2px;
  background:linear-gradient(90deg, rgba(164,214,94,.5), rgba(164,214,94,.15), transparent);
  border-radius:1px;
}
.lg{display:flex;gap:14px;flex-wrap:wrap;font-size:.74rem;margin-bottom:13px;color:var(--dim);font-weight:600;}

/* ═══ SOUS-ONGLETS PRONOS (À faire / Terminés / Tous à venir) ═══ */
.pronos-subtabs{
  display:flex;
  gap:6px;
  margin:16px 0 14px;
  padding:5px;
  background:rgba(0,0,0,.85);
  border-radius:11px;
  border:1px solid rgba(255,255,255,.08);
  position:sticky;
  top:108px; /* sous les tabs principaux (60px header + 48px tabs) */
  z-index:48;
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 4px 14px rgba(0,0,0,.32);
}
.psub-tab{
  flex:1;
  display:flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 8px;
  background:transparent;
  border:none;
  color:rgba(255,255,255,.55);
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;font-weight:700;
  border-radius:8px;
  cursor:pointer;
  transition:all var(--dur-fast);
  position:relative;
  min-width:0;
}
.psub-tab:hover{color:#fff;background:rgba(255,255,255,.04);}
.psub-tab.on{
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  box-shadow:0 4px 12px rgba(164,214,94,.28);
}
.psub-ico{font-size:.96rem;line-height:1;flex-shrink:0;}
.psub-lbl{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:.76rem;
}
.psub-count{
  flex-shrink:0;
  font-family:'Bebas Neue',sans-serif;
  font-size:.72rem;
  padding:1px 7px;
  background:rgba(0,0,0,.22);
  border-radius:8px;
  letter-spacing:.4px;
  font-weight:700;
}
.psub-tab.on .psub-count{
  background:rgba(255,255,255,.32);
  color:var(--surface-deep);
}
@media(max-width:380px){
  .psub-lbl{display:none;}
  .psub-tab{padding:10px 6px;}
}
:root[data-theme="light"] .pronos-subtabs{
  background:rgba(255,255,255,.92);
  border-color:rgba(0,0,0,.08);
}
:root[data-theme="light"] .psub-tab{color:rgba(10,26,4,.55);}
:root[data-theme="light"] .psub-tab.on{color:#fff;}

.pronos-subpanel{
  display:none;
  animation:psub-in .25s ease;
}
.pronos-subpanel.on{display:block;}
@keyframes psub-in{
  from{opacity:0;transform:translateY(4px);}
  to{opacity:1;transform:none;}
}

/* ═══ PHASE SECTION (collapsable) ═══ */
.phase-section{
  margin-bottom:10px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:11px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
  transition:border-color var(--dur-fast);
}
.phase-section[open]{
  border-color:rgba(164,214,94,.22);
  background:rgba(164,214,94,.03);
}
.phase-summary{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;
  cursor:pointer;
  list-style:none;
  user-select:none;
  font-family:'DM Sans',sans-serif;
}
.phase-summary::-webkit-details-marker{display:none;}
.phase-label{
  flex:1;
  font-size:.86rem;font-weight:700;
  color:#fff;
}
.phase-count{
  font-family:'Bebas Neue',sans-serif;
  font-size:.78rem;
  padding:2px 8px;
  background:rgba(164,214,94,.18);
  color:var(--vert-pomme);
  border-radius:8px;
  letter-spacing:.5px;
  font-weight:700;
}
.phase-arrow{
  font-size:.72rem;
  color:rgba(255,255,255,.45);
  transition:transform var(--dur-fast);
}
.phase-section[open] .phase-arrow{transform:rotate(180deg);}
.phase-body{
  padding:6px 12px 12px;
  border-top:1px solid rgba(255,255,255,.04);
}
:root[data-theme="light"] .phase-section{
  background:rgba(0,0,0,.02);
  border-color:rgba(0,0,0,.08);
}
:root[data-theme="light"] .phase-section[open]{
  background:rgba(74,124,26,.05);
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .phase-label{color:#1a3808;}

/* ═══ TIROIR "Plus d'infos" en bas de page Pronos ═══ */
.more-info-drawer{
  margin:24px 0 12px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:11px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.more-info-drawer[open]{
  border-style:solid;
  border-color:rgba(164,214,94,.22);
  background:rgba(164,214,94,.03);
}
.more-info-summary{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;
  cursor:pointer;
  list-style:none;
  user-select:none;
  font-family:'DM Sans',sans-serif;
  font-size:.84rem;font-weight:600;
  color:rgba(255,255,255,.7);
}
.more-info-summary::-webkit-details-marker{display:none;}
.more-info-body{
  padding:8px 14px 14px;
  border-top:1px solid rgba(255,255,255,.06);
}
:root[data-theme="light"] .more-info-drawer{
  background:rgba(0,0,0,.02);
  border-color:rgba(0,0,0,.18);
}
:root[data-theme="light"] .more-info-summary{color:rgba(10,26,4,.7);}

:root[data-theme="light"] .sl{color:var(--vert);text-shadow:0 0 18px rgba(74,124,26,.18);}
:root[data-theme="light"] .sl::after{background:linear-gradient(90deg, rgba(74,124,26,.55), rgba(74,124,26,.15), transparent);}

/* ===== MES PRONOS — HEADER ===== */
.ph{background:linear-gradient(135deg,rgba(10,15,4,.62),rgba(10,15,4,.45));border:1.5px solid var(--vert-pomme);border-radius:var(--r);padding:12px 16px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;position:relative;overflow:hidden;color:#fff;}
.ph::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--vert-pomme),var(--jaune-pomme),var(--vert-pomme),transparent);}
.ph-left{position:relative;z-index:1;}
.ph-title{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:.3px;color:var(--vert-pomme);text-shadow:0 0 18px rgba(164,214,94,.32);line-height:1;}
.ph-name{font-size:.66rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:3px;font-weight:700;}
.ph-pts-wrap{text-align:right;position:relative;z-index:1;}
.ph-pts{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 2px 14px rgba(245,197,24,.4);}
.ph-plab{font-size:.54rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--faint);margin-top:1px;}
.rbadge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.66rem;font-weight:700;margin-top:4px;}
.rb1{background:rgba(245,197,24,.13);border:1px solid rgba(245,197,24,.36);color:var(--gold);}
.rb2{background:rgba(192,205,212,.09);border:1px solid rgba(192,205,212,.3);color:var(--silver);}
.rb3{background:rgba(192,120,64,.09);border:1px solid rgba(192,120,64,.3);color:var(--bronze);}
.rb4{background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--dim);}
.pmc{
  background:linear-gradient(135deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.18) 100%);
  border:1.5px solid var(--border);
  border-radius:14px;
  padding:14px 14px;
  margin-bottom:10px;
  display:flex;align-items:center;gap:12px;
  flex-wrap:wrap;
  transition:border-color var(--dur-fast) var(--ease-soft),
             background var(--dur-fast) var(--ease-soft),
             transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-fast) var(--ease-soft);
  position:relative;
}
.pmc::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:14px;
  background:linear-gradient(135deg, transparent, rgba(164,214,94,.06));
  opacity:0;
  pointer-events:none;
  transition:opacity var(--dur-fast);
}
.pmc:hover{
  border-color:rgba(245,197,24,.32);
  background:linear-gradient(135deg, rgba(245,197,24,.06) 0%, rgba(245,197,24,.03) 100%);
}
.pmc:hover::before{opacity:1;}
.pmc:active{transform:scale(.99);}
.pmc.lk{opacity:.62;border-color:rgba(255,255,255,.06);}
.pmc.hr{
  border-color:rgba(245,197,24,.42);
  background:linear-gradient(135deg, rgba(245,197,24,.08) 0%, rgba(245,197,24,.04) 100%);
  box-shadow:0 0 0 1px rgba(245,197,24,.18), 0 4px 14px rgba(245,197,24,.08);
}
.pmc-t{flex:1;min-width:120px;}
.pmc-n{font-weight:700;font-size:.95rem;line-height:1.3;letter-spacing:-.1px;}
.pmc-m{font-size:.66rem;color:var(--faint);margin-top:4px;letter-spacing:.2px;font-weight:500;}

@media(max-width:380px){
  .pmc{padding:12px 11px;gap:8px;}
  .pmc-n{font-size:.88rem;}
}
.ins{
  width:62px;height:54px;
  background:#fff;
  border:2px solid var(--gold);
  border-radius:12px;
  color:#1a3808;
  font-weight:800;
  text-align:center;
  font-family:'Bebas Neue',sans-serif;
  transition:border-color var(--dur-fast),
             background var(--dur-fast),
             box-shadow var(--dur-fast);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.1);
  padding:0 4px;-moz-appearance:textfield;letter-spacing:0;
  -webkit-user-select:auto;
  user-select:auto;
  cursor:text;
  /* Mobile : taille de touche min recommandée par WCAG = 44x44 */
  min-width:44px;min-height:44px;
  /* Empêche zoom auto iOS sur input number */
  font-size:18px;
  box-sizing:border-box;
  overflow:hidden; /* anti-débordement */
}
@media (min-width:481px){
  .ins{font-size:22px;}
}
@media (max-width:480px){
  .ins{font-size:16px;width:56px;height:50px;}  /* Mobile : 16px évite zoom iOS */
}
.ins:focus{
  outline:none;
  border-color:var(--vert-pomme);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.1),
             0 0 0 3px rgba(164,214,94,.25);
}
.ins:not(:placeholder-shown){
  background:#fff7c2;
  border-color:#4dcc7a;
  color:#1a4a08;
}
.ins:disabled{
  background:#eee;
  cursor:not-allowed;
  opacity:.55;
}
.prono-input-wrap{display:flex;flex-direction:column;gap:5px;align-items:center;padding:6px 8px;background:rgba(245,197,24,.05);border-radius:10px;}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ MODALE "BON RÉCLAMÉ" — Plein écran après claim ▓▓▓
   ════════════════════════════════════════════════════════════ */
.bc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);z-index:7000;display:flex;align-items:center;justify-content:center;padding:14px;animation:bc-fade-in .3s ease both;}
@keyframes bc-fade-in{0%{opacity:0;}100%{opacity:1;}}
.bc-card{max-width:380px;width:100%;background:linear-gradient(135deg,#1a3808,#2d6e1a);border:2px solid var(--gold);border-radius:18px;padding:22px 18px 18px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(245,197,24,.2);animation:bc-pop .5s cubic-bezier(.34,1.56,.64,1) both;color:#fff;}
@keyframes bc-pop{0%{opacity:0;transform:scale(.85) translateY(20px);}100%{opacity:1;transform:scale(1) translateY(0);}}
.bc-close{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2);color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:all .15s;}
.bc-close:hover{background:rgba(255,80,80,.3);border-color:rgba(255,80,80,.5);}
.bc-confetti{font-size:3rem;text-align:center;line-height:1;margin-bottom:6px;animation:bc-bounce 1.4s ease-in-out infinite;}
@keyframes bc-bounce{0%,100%{transform:translateY(0) rotate(-5deg);}50%{transform:translateY(-10px) rotate(5deg);}}
.bc-success{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:3px;color:var(--gold);text-align:center;margin-bottom:14px;text-shadow:0 0 18px rgba(245,197,24,.5);}

/* TICKET : style billet */
.bc-ticket{background:#fffbeb;color:#1a3808;border-radius:12px;padding:14px;margin-bottom:14px;position:relative;}
.bc-ticket::before,.bc-ticket::after{content:'';position:absolute;top:50%;transform:translateY(-50%);width:18px;height:18px;background:#1a3808;border-radius:50%;}
.bc-ticket::before{left:-9px;}
.bc-ticket::after{right:-9px;}
.bc-ticket-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.bc-ticket-ico{font-size:2rem;line-height:1;flex-shrink:0;}
.bc-ticket-info{flex:1;min-width:0;}
.bc-ticket-partner{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;color:#1a3808;letter-spacing:.5px;line-height:1.1;}
.bc-ticket-offer{font-size:.78rem;font-weight:600;color:#3d5e10;margin-top:2px;}
.bc-ticket-dashed{height:1px;border-top:2px dashed rgba(0,0,0,.18);margin:9px 0;}
.bc-ticket-code-lbl{font-size:.6rem;color:#7d8f4d;text-transform:uppercase;letter-spacing:1.5px;text-align:center;margin-bottom:5px;font-weight:700;}
.bc-ticket-code{background:#1a3808;color:#f5c518;font-family:'Courier New',monospace;font-size:1.3rem;font-weight:800;letter-spacing:3px;padding:11px 8px;border-radius:8px;text-align:center;border:2px dashed rgba(245,197,24,.4);}
.bc-ticket-name{font-size:.7rem;color:#5a6e36;text-align:center;margin-top:6px;}
.bc-help{background:rgba(74,158,255,.12);border:1px solid rgba(74,158,255,.3);border-radius:9px;padding:10px 13px;font-size:.72rem;line-height:1.5;color:rgba(255,255,255,.85);margin-bottom:12px;}
.bc-actions{display:flex;flex-direction:column;gap:8px;}
.bc-btn{padding:12px;border:none;border-radius:10px;font-weight:800;font-size:.88rem;cursor:pointer;letter-spacing:.3px;transition:all .2s;}
.bc-btn-primary{background:linear-gradient(135deg,#f5c518,#d4a012);color:#1a3808;}
.bc-btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(245,197,24,.35);}
.bc-btn-secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.15);}
.bc-btn-secondary:hover{background:rgba(255,255,255,.14);}
@media(max-width:380px){
  .bc-card{padding:18px 14px;}
  .bc-success{font-size:1.2rem;}
  .bc-ticket-code{font-size:1.1rem;}
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ MODALE "VALIDATION BON" — Présenter au commerçant ▓▓▓
   ════════════════════════════════════════════════════════════ */
.bv-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);z-index:7100;display:flex;align-items:center;justify-content:center;padding:14px;animation:bc-fade-in .3s ease both;}
.bv-card{max-width:400px;width:100%;background:linear-gradient(160deg,#1a3808,#2d6e1a 60%,#1f5210);border:2px solid var(--gold);border-radius:18px;padding:18px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 0 1px rgba(245,197,24,.2);animation:bc-pop .45s cubic-bezier(.34,1.56,.64,1) both;color:#fff;}
.bv-close{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.18);color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;z-index:2;}
.bv-close:hover{background:rgba(255,80,80,.3);}
.bv-banner{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:3px;color:#1a3808;text-align:center;padding:7px;border-radius:10px;margin-bottom:14px;}
.bv-banner-flash{background:linear-gradient(135deg,#f5c518,#e6683c);animation:bv-pulse 2s ease-in-out infinite;}
.bv-banner-std{background:linear-gradient(135deg,#f5c518,#d4a012);}
@keyframes bv-pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,197,24,.5);}50%{box-shadow:0 0 0 6px rgba(245,197,24,0);}}

/* TICKET */
.bv-ticket{background:#fffbeb;color:#1a3808;border-radius:13px;padding:14px;margin-bottom:14px;position:relative;}
.bv-ticket::before,.bv-ticket::after{content:'';position:absolute;top:50%;transform:translateY(-50%);width:18px;height:18px;background:#1a3808;border-radius:50%;}
.bv-ticket::before{left:-9px;}
.bv-ticket::after{right:-9px;}
.bv-ticket-head{display:flex;align-items:center;gap:11px;margin-bottom:9px;}
.bv-ticket-ico{font-size:2.2rem;line-height:1;flex-shrink:0;}
.bv-ticket-partner{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;color:#1a3808;letter-spacing:.5px;line-height:1.1;}
.bv-ticket-name{font-size:.7rem;color:#5a6e36;margin-top:2px;}
.bv-ticket-offre{font-size:.88rem;font-weight:700;color:#3d5e10;background:rgba(245,197,24,.15);padding:9px 11px;border-radius:8px;text-align:center;margin-bottom:10px;line-height:1.35;}
.bv-ticket-dashed{height:1px;border-top:2px dashed rgba(0,0,0,.18);margin:9px 0;}
.bv-ticket-code-lbl{font-size:.6rem;color:#7d8f4d;text-transform:uppercase;letter-spacing:1.5px;text-align:center;margin-bottom:4px;font-weight:700;}
.bv-ticket-code{background:#1a3808;color:#f5c518;font-family:'Courier New',monospace;font-size:1.5rem;font-weight:800;letter-spacing:3px;padding:13px 8px;border-radius:9px;text-align:center;border:2px dashed rgba(245,197,24,.45);box-shadow:inset 0 0 0 1px rgba(245,197,24,.15);}
.bv-ticket-date{font-size:.62rem;color:#7d8f4d;text-align:center;margin-top:6px;font-style:italic;}

/* INSTRUCTIONS */
.bv-instructions{background:rgba(74,158,255,.1);border:1px solid rgba(74,158,255,.28);border-radius:10px;padding:12px 14px;margin-bottom:14px;}
.bv-instr-step{display:flex;align-items:center;gap:9px;font-size:.78rem;line-height:1.4;padding:4px 0;color:rgba(255,255,255,.92);}
.bv-step-n{width:22px;height:22px;background:#4a9eff;color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.7rem;flex-shrink:0;}

/* BOUTON VALIDER (le gros) */
.bv-validate-btn{width:100%;padding:14px 16px;background:linear-gradient(135deg,#4dcc7a,#2d9b5a);border:none;border-radius:11px;color:#fff;font-weight:800;font-size:1rem;cursor:pointer;letter-spacing:.4px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 18px rgba(77,204,122,.4);transition:all .2s;}
.bv-validate-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(77,204,122,.55);filter:brightness(1.06);}
.bv-validate-btn:active{transform:translateY(0) scale(.98);}
.bv-validate-btn:disabled{opacity:.6;cursor:wait;}

.bv-warn{font-size:.68rem;color:rgba(255,200,150,.78);text-align:center;line-height:1.45;margin-top:10px;padding:0 8px;}

@media(max-width:380px){
  .bv-card{padding:14px 12px;}
  .bv-ticket-code{font-size:1.25rem;}
  .bv-validate-btn{font-size:.92rem;}
}
.prono-input-lbl{font-size:.6rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:1px;}
:root[data-theme="light"] .prono-input-wrap{background:rgba(245,197,24,.12);}
:root[data-theme="light"] .prono-input-lbl{color:#8a6300;}
.ins::-webkit-outer-spin-button,.ins::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ins:focus{outline:none;border-color:#d4a012;background:#fffbeb;box-shadow:0 0 0 3px rgba(245,197,24,.35),inset 0 1px 3px rgba(0,0,0,.1);transform:scale(1.05);}
.ins:disabled{opacity:.35;cursor:not-allowed;background:rgba(0,0,0,.15);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.4);}
.ins:not(:placeholder-shown){background:#fffbeb;border-color:#d4a012;}
:root[data-theme="light"] .ins:not(:placeholder-shown){background:#fff5d6;border-color:#b08000;color:#1a3808;}
:root[data-theme="light"] .ins:disabled{background:rgba(0,0,0,.06);color:rgba(0,0,0,.3);border-color:rgba(0,0,0,.1);}
.sep{color:var(--gold);font-weight:700;font-size:1.3rem;font-family:'Bebas Neue',sans-serif;}
.ppb{min-width:46px;text-align:right;font-family:'Bebas Neue',sans-serif;font-size:.9rem;letter-spacing:1px;}
.p3{color:var(--gold);}.p1{color:#4dcc7a;}.p0{color:var(--faint);}
.prs{font-family:'Bebas Neue',sans-serif;font-size:.88rem;color:rgba(255,255,255,.52);letter-spacing:1px;min-width:42px;text-align:center;}
.ltag{background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.2);border-radius:4px;padding:1px 7px;font-size:.55rem;letter-spacing:1px;color:rgba(245,197,24,.7);text-transform:uppercase;font-weight:700;}
.dtag{background:rgba(130,100,50,.11);border:1px solid rgba(130,100,50,.22);border-radius:4px;padding:1px 7px;font-size:.55rem;letter-spacing:1px;color:rgba(200,150,80,.72);text-transform:uppercase;font-weight:700;}
.sbar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(0,0,0,.95) 30%,rgba(0,0,0,.6) 70%,transparent);padding:14px 14px calc(14px + env(safe-area-inset-bottom));z-index:100;display:flex;justify-content:center;backdrop-filter:blur(4px);}
:root[data-theme="light"] .sbar{background:linear-gradient(0deg,rgba(255,255,255,.95) 30%,rgba(255,255,255,.6) 70%,transparent);}
.sbtn{padding:13px 38px;background:linear-gradient(135deg,var(--gold),var(--gold2));border:none;border-radius:30px;color:#1a3808;font-family:'DM Sans',sans-serif;font-weight:800;font-size:.92rem;letter-spacing:1.5px;cursor:pointer;box-shadow:0 4px 20px rgba(245,197,24,.45),inset 0 1px 0 rgba(255,255,255,.25);transition:all .2s;}
.sbtn-autofill{width:48px;height:48px;background:rgba(74,158,255,.18);border:1.5px solid rgba(74,158,255,.5);border-radius:50%;color:#74b0ff;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-right:9px;transition:all .2s;box-shadow:0 2px 10px rgba(74,158,255,.2);}
.sbtn-autofill:hover{background:rgba(74,158,255,.32);border-color:#74b0ff;transform:rotate(15deg) scale(1.1);}
.sbtn-autofill:active{transform:scale(.92);}
.sbtn:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(245,197,24,.55),inset 0 1px 0 rgba(255,255,255,.25);}
.sbtn:active{transform:translateY(0) scale(.97);}
.sbtn:disabled{opacity:.5;cursor:not-allowed;transform:none;}

/* ===== PODIUM ===== */
.pod-wrap{display:flex;justify-content:center;align-items:flex-end;gap:8px;margin:14px 0 22px;padding:0 6px;}
.pod-step{text-align:center;animation:pod-rise .6s cubic-bezier(.34,1.56,.64,1) both;}
.pod-step.r1{animation-delay:.3s;}
.pod-step.r2{animation-delay:.15s;}
.pod-step.r3{animation-delay:.4s;}
.pod-step.r4{animation-delay:.5s;}
@keyframes pod-rise{from{opacity:0;transform:translateY(40px);}to{opacity:1;transform:translateY(0);}}
.pod-col{border-radius:11px 11px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:8px 10px 8px;min-width:74px;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
.pod-col:hover{transform:translateY(-3px) scale(1.02);}
.pod-col::before{content:'';position:absolute;inset:0;opacity:.1;background:white;}
.pod-num{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;position:absolute;top:3px;left:50%;transform:translateX(-50%);opacity:.5;}
.r1 .pod-col{height:118px;background:linear-gradient(180deg,#f5c518,#c49b10);box-shadow:0 -5px 22px rgba(245,197,24,.38);}
.r1 .pod-num,.r2 .pod-num,.r3 .pod-num{color:rgba(0,0,0,.6);}
.r4 .pod-num{color:rgba(255,255,255,.36);}
.r2 .pod-col{height:80px;background:linear-gradient(180deg,#c8d8e0,#88a8b8);}
.r3 .pod-col{height:60px;background:linear-gradient(180deg,#d09058,#8d5520);}
.r4 .pod-col{height:46px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid var(--border);}
.pod-ico{font-size:1.2rem;position:relative;line-height:1;}
.pod-name{font-family:'DM Sans',sans-serif;font-weight:800;font-size:.8rem;position:relative;line-height:1.1;}
.r1 .pod-name,.r2 .pod-name,.r3 .pod-name{color:rgba(0,0,0,.72);}
.r4 .pod-name{color:rgba(255,255,255,.58);}
.pod-pts{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;position:relative;}
.r1 .pod-pts,.r2 .pod-pts,.r3 .pod-pts{color:rgba(0,0,0,.56);}
.r4 .pod-pts{color:rgba(255,255,255,.4);}
.pod-lot{font-size:.49rem;font-weight:700;position:relative;text-align:center;line-height:1.2;margin-top:1px;}
.r1 .pod-lot,.r2 .pod-lot,.r3 .pod-lot{color:rgba(0,0,0,.52);}
.r4 .pod-lot{color:rgba(255,255,255,.33);}
.pod-emoji{font-size:1.3rem;margin-top:5px;}
.rt tbody tr:nth-child(1){background:rgba(245,197,24,.08);}
.rt tbody tr:nth-child(2){background:rgba(200,212,220,.04);}
.rt tbody tr:nth-child(3){background:rgba(205,127,50,.04);}
.rt tbody tr:nth-child(4){background:rgba(255,255,255,.02);}
.me-tag{font-size:.55rem;color:var(--gold);font-weight:700;background:rgba(245,197,24,.1);padding:1px 5px;border-radius:3px;}

/* ===== MATCHES ADMIN ===== */
.mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;}
.mc{background:rgba(0,0,0,.25);border:1px solid var(--border);border-radius:var(--r);padding:10px;transition:transform .2s;}
.mc:hover{transform:translateY(-2px);}
.mc.hr{border-color:rgba(245,197,24,.38);}
.mc-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:2px;}
.mc-d{font-size:.57rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);}
.mc-ph{font-size:.55rem;letter-spacing:1px;color:var(--gold);text-transform:uppercase;font-weight:700;}
.mc-flags{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:7px;}
.mc-flag-b{flex:1;text-align:center;}
.mc-flag{font-size:1.3rem;line-height:1;}
.mc-code{font-size:.63rem;font-weight:700;color:rgba(255,255,255,.74);margin-top:2px;}
.mc-eq{display:flex;align-items:center;gap:4px;margin-bottom:6px;}
.mc-eq-b{flex:1;}
.mc-eq-b input{width:100%;padding:4px 5px;background:rgba(0,0,0,.22);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.7rem;text-align:center;}
.mc-eq-b input:disabled{opacity:.26;cursor:not-allowed;}
.vs2{background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:4px;padding:2px 4px;font-family:'Bebas Neue',sans-serif;font-size:.6rem;color:var(--faint);letter-spacing:1px;flex-shrink:0;}
.btn-eq{width:100%;padding:4px;background:rgba(74,158,255,.1);border:1px solid rgba(74,158,255,.2);border-radius:var(--rs);color:var(--blue);font-size:.6rem;letter-spacing:1px;cursor:pointer;transition:all .2s;text-transform:uppercase;font-family:'DM Sans',sans-serif;font-weight:700;margin-bottom:5px;}
.btn-eq:hover{background:rgba(74,158,255,.18);}
.mc-div{height:1px;background:var(--border);margin:5px 0;}
.rb2m{text-align:center;font-family:'Bebas Neue',sans-serif;font-size:.8rem;letter-spacing:2px;color:var(--gold);background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.24);border-radius:4px;padding:2px 7px;margin-bottom:5px;}
.sr{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:6px;}
.si{width:40px;height:36px;background:rgba(245,197,24,.07);border:2px solid rgba(245,197,24,.2);border-radius:6px;color:var(--gold);font-size:1.1rem;font-weight:700;text-align:center;font-family:'Bebas Neue',sans-serif;transition:all .2s;}
.si:focus{outline:none;border-color:var(--gold);}
.si:disabled{opacity:.2;cursor:not-allowed;background:transparent;border-color:var(--border);}
.ss{color:var(--faint);font-size:.86rem;font-weight:700;}
.bsr{width:100%;padding:6px;background:rgba(245,197,24,.11);border:1px solid rgba(245,197,24,.24);border-radius:var(--rs);color:var(--gold);font-weight:700;font-size:.66rem;letter-spacing:1.5px;cursor:pointer;transition:all .2s;text-transform:uppercase;font-family:'DM Sans',sans-serif;}
.bsr:hover{background:rgba(245,197,24,.2);}
.bdel{width:100%;padding:5px;background:rgba(224,64,64,.08);border:1px solid rgba(224,64,64,.18);border-radius:var(--rs);color:rgba(255,120,120,.72);font-size:.61rem;letter-spacing:1px;cursor:pointer;transition:all .2s;text-transform:uppercase;font-family:'DM Sans',sans-serif;font-weight:600;margin-top:3px;}
.bdel:hover{background:rgba(224,64,64,.17);}
.lk-n{text-align:center;font-size:.55rem;letter-spacing:1px;color:var(--faint);text-transform:uppercase;margin-top:3px;padding:3px;border:1px dashed rgba(255,255,255,.08);border-radius:4px;}
.abar{background:rgba(0,0,0,.3);border:1px solid rgba(245,197,24,.18);border-radius:var(--r);padding:9px 13px;margin-bottom:12px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.abar label{font-size:.64rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);white-space:nowrap;font-weight:700;}
.abar input{flex:1;min-width:120px;padding:7px 11px;background:rgba(0,0,0,.3);border:1px solid var(--border);border-radius:var(--rs);color:var(--text);font-family:'DM Sans',sans-serif;font-size:.82rem;}
.ast{font-size:.7rem;font-weight:700;letter-spacing:1px;white-space:nowrap;}
.ast.ok{color:var(--ok);}.ast.ko{color:var(--faint);}

/* ===== PARTENAIRES (style charte Instagram) ===== */
.pb{background:var(--surface-deep);border:1.5px solid var(--vert-pomme);border-radius:var(--r);padding:14px 18px;margin-bottom:16px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.pb::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--vert-pomme),var(--jaune-pomme),var(--vert-pomme));}
.pb-t{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.35rem;letter-spacing:.3px;color:var(--vert-pomme);margin-bottom:5px;line-height:1.15;}
.pb-s{font-size:.72rem;letter-spacing:1.5px;color:rgba(255,255,255,.75);text-transform:uppercase;font-weight:600;}

:root[data-theme="light"] .pb{background:var(--surface-deep);}
:root[data-theme="light"] .pb-t{color:var(--vert-pomme);}
:root[data-theme="light"] .pb-s{color:rgba(255,255,255,.75);}

/* ═══ PARTNER BANNER PRO — Social proof + FOMO ═══ */
.partner-banner-pro{
  position:relative;
  background:linear-gradient(155deg, #0e1606 0%, #0a0f04 50%, #0e1606 100%);
  border:1.5px solid rgba(164,214,94,.42);
  border-radius:22px;
  padding:22px 22px 18px;
  margin-bottom:16px;
  overflow:hidden;
  box-shadow:var(--elev-3), 0 0 0 1px rgba(164,214,94,.18), inset 0 1px 0 rgba(255,255,255,.06);
}
.partner-banner-pro::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, transparent, var(--vert-pomme), var(--jaune-pomme), var(--vert-pomme), transparent);
  border-radius:22px 22px 0 0;
}
.partner-banner-pro-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 85% 15%, rgba(164,214,94,.16), transparent 50%),
    radial-gradient(circle at 15% 85%, rgba(245,197,24,.08), transparent 50%);
  pointer-events:none;
}
.partner-banner-pro-content{position:relative;z-index:1;}

.partner-banner-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.66rem;letter-spacing:2px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:11px;
  padding:6px 12px;
  background:rgba(164,214,94,.1);
  border:1px solid rgba(164,214,94,.32);
  border-radius:14px;
}
.partner-banner-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--vert-pomme);
  animation:partner-dot-pulse 1.6s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(164,214,94,.55);
}
@keyframes partner-dot-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(164,214,94,.55);}
  50%{box-shadow:0 0 0 8px rgba(164,214,94,0);}
}

.partner-banner-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:clamp(1.3rem, 4.2vw, 1.7rem);
  letter-spacing:-.5px;line-height:1.15;
  color:#fff;
  margin:0 0 16px;
}
.partner-banner-hl{
  background:linear-gradient(135deg, #a4d65e 0%, #d4f04a 50%, #a4d65e 100%);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:hero-year-shine 4s ease-in-out infinite;
}

.partner-banner-perks{
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:9px;
  margin-bottom:14px;
}
.partner-banner-perk{
  display:flex;align-items:center;gap:9px;
  padding:10px 11px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
}
.partner-banner-perk-ico{
  font-size:1.4rem;line-height:1;
  flex-shrink:0;
  filter:drop-shadow(0 2px 6px rgba(164,214,94,.32));
}
.partner-banner-perk > div{
  min-width:0;flex:1;
  display:flex;flex-direction:column;
}
.partner-banner-perk b{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.86rem;color:#fff;letter-spacing:-.2px;line-height:1.1;
}
.partner-banner-perk small{
  font-size:.62rem;color:rgba(255,255,255,.55);
  font-weight:500;letter-spacing:.3px;
  margin-top:2px;
}

.partner-banner-counter{
  display:flex;align-items:center;gap:9px;
  padding:10px 14px;
  background:linear-gradient(135deg, rgba(255,80,80,.16), rgba(255,140,30,.08));
  border:1px solid rgba(255,140,30,.32);
  border-radius:11px;
  font-size:.78rem;font-weight:600;
  color:#fff;
}
.partner-banner-counter-num{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.4rem;color:#ffb066;
  line-height:1;
  text-shadow:0 0 14px rgba(255,140,30,.42);
}
.partner-banner-counter-text{
  flex:1;line-height:1.3;color:rgba(255,255,255,.85);
}

@media (max-width:480px){
  .partner-banner-pro{padding:18px 16px 16px;}
  .partner-banner-perks{grid-template-columns:repeat(3, 1fr);gap:6px;}
  .partner-banner-perk{padding:8px 7px;gap:6px;}
  .partner-banner-perk-ico{font-size:1.2rem;}
  .partner-banner-perk b{font-size:.74rem;}
  .partner-banner-perk small{font-size:.56rem;}
}
:root[data-theme="light"] .partner-banner-pro{
  background:linear-gradient(155deg, #0e1606 0%, #0a0f04 50%, #0e1606 100%);
}

/* ═══ WELCOME BANNER personnel ═══ */
.welcome-banner{
  position:relative;
  background:linear-gradient(155deg, rgba(164,214,94,.16) 0%, rgba(164,214,94,.06) 50%, rgba(245,197,24,.08) 100%);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:18px;
  padding:18px 20px;
  margin-bottom:14px;
  overflow:hidden;
  box-shadow:var(--elev-2);
}
.welcome-banner::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, transparent, var(--vert-pomme), var(--jaune-pomme), var(--vert-pomme), transparent);
  background-size:200% 100%;
  animation:wb-shine 4s linear infinite;
}
@keyframes wb-shine{
  0%{background-position:0% 0%;}
  100%{background-position:200% 0%;}
}
.wb-bg-decor{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 90% 10%, rgba(164,214,94,.22), transparent 50%),
    radial-gradient(circle at 10% 90%, rgba(245,197,24,.14), transparent 50%);
  pointer-events:none;
}
.wb-content{position:relative;z-index:1;}
.wb-top{
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;margin-bottom:14px;flex-wrap:wrap;
}
.wb-greeting{flex:1;min-width:0;}
.wb-greet-eyebrow{
  font-size:.78rem;font-weight:600;
  color:rgba(255,255,255,.72);
  letter-spacing:.2px;
  margin-bottom:2px;
  display:inline-flex;align-items:center;gap:6px;
}
.wb-wave{
  display:inline-block;
  animation:wb-wave 2s ease-in-out infinite;
  transform-origin:70% 70%;
}
@keyframes wb-wave{
  0%,100%{transform:rotate(0);}
  20%{transform:rotate(14deg);}
  40%{transform:rotate(-8deg);}
  60%{transform:rotate(14deg);}
}
.wb-greet-name{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.65rem;letter-spacing:-.6px;
  color:#fff;line-height:1.05;
}
.wb-streak{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 13px;
  background:linear-gradient(135deg, rgba(255,140,30,.22), rgba(255,80,80,.12));
  border:1.5px solid rgba(255,140,30,.5);
  border-radius:14px;
  box-shadow:0 0 22px rgba(255,140,30,.18);
  flex-shrink:0;
}
.wb-flame{
  font-size:1.2rem;line-height:1;
  animation:wb-flame 1.4s ease-in-out infinite;
  filter:drop-shadow(0 0 6px rgba(255,140,30,.5));
}
@keyframes wb-flame{
  0%,100%{transform:scale(1) rotate(-3deg);}
  50%{transform:scale(1.12) rotate(3deg);}
}
.wb-streak b{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;color:#ffb066;line-height:1;
}
.wb-streak small{
  font-size:.62rem;color:rgba(255,255,255,.7);
  font-weight:600;letter-spacing:.5px;
  text-transform:uppercase;
}

.wb-stats{
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:10px;
}
.wb-stat{
  background:rgba(10,15,4,.35);
  border:1.5px solid rgba(164,214,94,.18);
  border-radius:12px;
  padding:11px 8px;
  text-align:center;
  transition:transform var(--dur-fast) var(--ease-out-back),
             border-color var(--dur-fast),
             box-shadow var(--dur-med);
}
.wb-stat:hover{
  transform:translateY(-2px);
  border-color:var(--vert-pomme);
  box-shadow:var(--elev-2), 0 0 18px rgba(164,214,94,.14);
}
.wb-stat-ico{
  font-size:1.3rem;line-height:1;
  margin-bottom:5px;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.32));
}
.wb-stat-val{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1rem;color:#fff;
  line-height:1.1;letter-spacing:-.2px;
}
.wb-stat-lbl{
  font-size:.62rem;color:rgba(255,255,255,.6);
  font-weight:600;letter-spacing:.3px;
  margin-top:3px;line-height:1.3;
}

/* Actions du welcome banner */
.wb-actions{
  display:grid;grid-template-columns:1fr 1fr;
  gap:9px;margin-top:12px;
}
.wb-action-btn{
  display:flex;align-items:center;gap:10px;
  padding:11px 13px;
  background:rgba(10,15,4,.42);
  border:1.5px solid rgba(164,214,94,.22);
  border-radius:13px;
  color:#fff;cursor:pointer;
  text-align:left;
  font-family:'DM Sans',sans-serif;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.wb-action-btn:hover{
  transform:translateY(-2px);
  border-color:var(--vert-pomme);
  background:rgba(10,15,4,.62);
  box-shadow:var(--elev-2), 0 0 18px rgba(164,214,94,.22);
}
.wb-action-btn:active{transform:translateY(0) scale(.97);}
.wb-action-btn > span{
  font-size:1.45rem;line-height:1;flex-shrink:0;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.32));
}
.wb-action-btn > div{flex:1;min-width:0;display:flex;flex-direction:column;}
.wb-action-btn b{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.86rem;color:#fff;letter-spacing:-.1px;line-height:1.1;
}
.wb-action-btn small{
  font-size:.66rem;color:rgba(255,255,255,.6);
  font-weight:500;margin-top:2px;
}
.wb-action-invite{
  background:linear-gradient(135deg, rgba(164,214,94,.16), rgba(164,214,94,.04));
  border-color:rgba(164,214,94,.42);
}
.wb-action-share{
  background:linear-gradient(135deg, rgba(74,158,255,.14), rgba(74,158,255,.04));
  border-color:rgba(74,158,255,.4);
}
.wb-action-share:hover{
  border-color:#4a9eff;
  box-shadow:var(--elev-2), 0 0 18px rgba(74,158,255,.22);
}

/* Tip du jour */
.wb-tip{
  display:flex;align-items:flex-start;gap:10px;
  margin-top:12px;
  padding:11px 13px;
  background:rgba(245,197,24,.08);
  border:1px dashed rgba(245,197,24,.32);
  border-radius:11px;
}
.wb-tip-ico{
  font-size:1.2rem;line-height:1;flex-shrink:0;
  animation:wb-tip-pulse 2.5s ease-in-out infinite;
  filter:drop-shadow(0 0 6px rgba(245,197,24,.42));
}
@keyframes wb-tip-pulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.15);}
}
.wb-tip-text{
  font-size:.74rem;color:rgba(255,255,255,.78);
  line-height:1.5;
}
.wb-tip-text b{
  color:var(--gold);font-weight:700;
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ INVITE MODAL — multi-canal ▓▓▓
   ════════════════════════════════════════════════════════════ */
.invite-overlay{
  position:fixed;inset:0;z-index:7000;
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  background:rgba(10,15,4,.78);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  animation:estim-overlay-in .4s var(--ease-out-expo);
  overflow-y:auto;
}
.invite-card{
  position:relative;
  width:100%;max-width:440px;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:22px;
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.18), inset 0 1px 0 rgba(255,255,255,.08);
  animation:estim-card-in .55s var(--ease-out-back);
  overflow:hidden;
  max-height:94vh;
  display:flex;flex-direction:column;
}
.invite-close{
  position:absolute;top:14px;right:14px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(10,15,4,.42);
  border:1.5px solid rgba(255,255,255,.18);
  color:#fff;font-size:.88rem;font-weight:700;
  cursor:pointer;z-index:3;
  display:flex;align-items:center;justify-content:center;
  padding:0;line-height:1;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.invite-close:hover{
  background:rgba(255,80,80,.32);
  border-color:rgba(255,80,80,.55);
  transform:rotate(90deg);
}
.invite-header{
  padding:24px 24px 18px;
  text-align:center;
  background:linear-gradient(145deg, rgba(164,214,94,.16), rgba(164,214,94,.04));
  border-bottom:1px solid rgba(164,214,94,.18);
  position:relative;
  overflow:hidden;
}
.invite-header::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(164,214,94,.18), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(245,197,24,.1), transparent 50%);
  pointer-events:none;
}
.invite-header > *{position:relative;z-index:1;}
.invite-ico{
  font-size:3rem;line-height:1;
  margin-bottom:8px;
  filter:drop-shadow(0 4px 14px rgba(164,214,94,.42));
  animation:hero-main-ball-float 3s ease-in-out infinite;
}
.invite-eyebrow{
  font-size:.66rem;letter-spacing:2px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:6px;
}
.invite-title{
  font-family:'Fredoka',sans-serif!important;font-weight:700!important;
  font-size:1.55rem!important;letter-spacing:-.4px!important;
  color:#fff!important;
  margin:0 0 8px!important;line-height:1.1!important;
}
.invite-sub{
  font-size:.82rem;line-height:1.5;
  color:rgba(255,255,255,.78);
  margin:0 auto;max-width:340px;
}
.invite-sub b{color:var(--vert-pomme);font-weight:700;}

.invite-channels{
  display:flex;flex-direction:column;gap:10px;
  padding:20px 22px;
  flex:1;overflow-y:auto;
}
.invite-channel{
  display:flex;align-items:center;gap:14px;
  padding:14px 17px;
  background:rgba(10,15,4,.45);
  border:1.5px solid rgba(255,255,255,.12);
  border-radius:13px;
  color:#fff;
  cursor:pointer;
  text-decoration:none;
  font-family:'DM Sans',sans-serif;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.invite-channel:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-3);
}
.invite-channel:active{transform:translateY(0) scale(.98);}
.invite-channel-ico{
  font-size:1.65rem;line-height:1;flex-shrink:0;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.32));
}
.invite-channel > div{flex:1;min-width:0;display:flex;flex-direction:column;}
.invite-channel b{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.96rem;color:#fff;letter-spacing:-.1px;line-height:1.15;
}
.invite-channel small{
  font-size:.7rem;color:rgba(255,255,255,.6);
  font-weight:500;margin-top:2px;
}
.invite-wa{
  background:linear-gradient(135deg, rgba(37,211,102,.12), rgba(37,211,102,.04));
  border-color:rgba(37,211,102,.4);
}
.invite-wa:hover{
  border-color:#25d366;
  box-shadow:var(--elev-3), 0 0 22px rgba(37,211,102,.32);
}
.invite-sms{
  background:linear-gradient(135deg, rgba(74,158,255,.12), rgba(74,158,255,.04));
  border-color:rgba(74,158,255,.4);
}
.invite-sms:hover{
  border-color:#4a9eff;
  box-shadow:var(--elev-3), 0 0 22px rgba(74,158,255,.32);
}
.invite-mail{
  background:linear-gradient(135deg, rgba(234,67,53,.12), rgba(234,67,53,.04));
  border-color:rgba(234,67,53,.4);
}
.invite-mail:hover{
  border-color:#ea4335;
  box-shadow:var(--elev-3), 0 0 22px rgba(234,67,53,.32);
}
.invite-fb{
  background:linear-gradient(135deg, rgba(24,119,242,.12), rgba(24,119,242,.04));
  border-color:rgba(24,119,242,.4);
}
.invite-fb:hover{
  border-color:#1877f2;
  box-shadow:var(--elev-3), 0 0 22px rgba(24,119,242,.32);
}
.invite-copy{
  background:linear-gradient(135deg, rgba(245,197,24,.12), rgba(245,197,24,.04));
  border-color:rgba(245,197,24,.4);
}
.invite-copy:hover{
  border-color:var(--gold);
  box-shadow:var(--elev-3), 0 0 22px rgba(245,197,24,.32);
}

.invite-foot{
  display:flex;align-items:center;justify-content:center;
  gap:9px;flex-wrap:wrap;
  padding:14px 22px;
  border-top:1px solid rgba(164,214,94,.12);
  background:linear-gradient(180deg, rgba(10,15,4,.18), rgba(10,15,4,.4));
  font-size:.74rem;color:var(--dim);font-weight:600;
}
.invite-foot-item{display:inline-flex;align-items:center;gap:5px;}
.invite-foot-item span{font-size:.92rem;}
.invite-foot-sep{color:var(--faint);}

@media (max-width:480px){
  .invite-card{border-radius:18px;}
  .invite-header{padding:20px 20px 16px;}
  .invite-title{font-size:1.35rem!important;}
  .invite-channels{padding:16px 18px;}
}

@media (max-width:380px){
  .wb-actions{grid-template-columns:1fr;}
}

@media (max-width:480px){
  .welcome-banner{padding:14px 16px;}
  .wb-greet-name{font-size:1.4rem;}
  .wb-stats{gap:7px;}
  .wb-stat{padding:9px 5px;}
  .wb-stat-val{font-size:.88rem;}
  .wb-stat-lbl{font-size:.58rem;}
}

/* ═══ NEXT MATCH CARD — hero du prochain match imminent ═══ */
.next-match-card{
  position:relative;
  background:linear-gradient(155deg, #1a3d20 0%, #0e2410 50%, #1a3d20 100%);
  border:2px solid rgba(164,214,94,.55);
  border-radius:20px;
  padding:22px 22px 20px;
  margin-bottom:14px;
  overflow:hidden;
  box-shadow:var(--elev-4), 0 0 36px rgba(164,214,94,.22), inset 0 1px 0 rgba(255,255,255,.06);
  animation:nmc-slide-in .6s var(--ease-out-back);
}
@keyframes nmc-slide-in{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:none;}
}
.next-match-card.next-match-urgent{
  background:linear-gradient(155deg, #4a1a20 0%, #2a0e10 50%, #4a1a20 100%);
  border-color:rgba(255,80,80,.7);
  box-shadow:var(--elev-4), 0 0 48px rgba(255,80,80,.4), inset 0 1px 0 rgba(255,255,255,.06);
  animation:nmc-slide-in .6s var(--ease-out-back), nmc-urgent-glow 2s ease-in-out infinite alternate;
}
@keyframes nmc-urgent-glow{
  0%{box-shadow:var(--elev-4), 0 0 48px rgba(255,80,80,.4), inset 0 1px 0 rgba(255,255,255,.06);}
  100%{box-shadow:var(--elev-4), 0 0 64px rgba(255,80,80,.55), inset 0 1px 0 rgba(255,255,255,.06);}
}
.nmc-decor{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(164,214,94,.18), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(245,197,24,.1), transparent 50%);
  pointer-events:none;
}
.next-match-urgent .nmc-decor{
  background:
    radial-gradient(circle at 80% 20%, rgba(255,80,80,.18), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(255,140,30,.1), transparent 50%);
}
.nmc-pulse{
  position:absolute;top:-50%;right:-30%;
  width:200%;height:200%;
  background:radial-gradient(circle, rgba(164,214,94,.07), transparent 60%);
  pointer-events:none;
  animation:nmc-pulse 3.5s ease-in-out infinite;
}
.next-match-urgent .nmc-pulse{
  background:radial-gradient(circle, rgba(255,80,80,.1), transparent 60%);
  animation-duration:1.5s;
}
@keyframes nmc-pulse{
  0%,100%{opacity:.5;transform:scale(1);}
  50%{opacity:1;transform:scale(1.1);}
}
.nmc-content{position:relative;z-index:1;}

.nmc-eyebrow{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:.72rem;font-weight:800;letter-spacing:1.5px;
  margin-bottom:14px;
}
.nmc-ico{
  font-size:1.1rem;line-height:1;
  animation:nmc-ico-bounce 1.8s ease-in-out infinite;
}
@keyframes nmc-ico-bounce{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.15) rotate(-8deg);}
}
.nmc-label{
  color:var(--vert-pomme);
}
.next-match-urgent .nmc-label{color:#ff8c8c;}
.nmc-time{
  margin-left:auto;
  background:rgba(164,214,94,.18);
  color:var(--vert-pomme);
  padding:3px 10px;
  border-radius:12px;
  font-size:.7rem;
  letter-spacing:.5px;
  border:1px solid rgba(164,214,94,.4);
}
.next-match-urgent .nmc-time{
  background:rgba(255,80,80,.18);
  color:#ff8c8c;
  border-color:rgba(255,80,80,.5);
  animation:nmc-time-blink 1.2s ease-in-out infinite;
}
@keyframes nmc-time-blink{
  0%,100%{box-shadow:0 0 0 0 rgba(255,80,80,.4);}
  50%{box-shadow:0 0 0 4px rgba(255,80,80,0);}
}

.nmc-teams{
  display:flex;align-items:center;justify-content:center;
  gap:14px;margin-bottom:8px;
}
.nmc-team{
  flex:1;text-align:center;
  min-width:0;
}
.nmc-flag{
  font-size:2.4rem;line-height:1;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.32));
  animation:nmc-flag-bob 3s ease-in-out infinite;
}
.nmc-team:nth-child(3) .nmc-flag{animation-delay:1.5s;}
@keyframes nmc-flag-bob{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}
.nmc-code{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1rem;color:#fff;
  margin-top:4px;letter-spacing:.5px;
}
.nmc-vs{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.84rem;letter-spacing:1px;
  color:var(--vert-pomme);
  padding:6px 12px;
  background:rgba(10,15,4,.5);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:14px;
  flex-shrink:0;
}
.next-match-urgent .nmc-vs{
  color:#ff8c8c;
  border-color:rgba(255,80,80,.42);
}

.nmc-meta{
  text-align:center;
  font-size:.74rem;color:rgba(255,255,255,.6);
  margin-bottom:12px;
}

.nmc-cta{
  width:100%;
  padding:13px 16px;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border:none;border-radius:13px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.94rem;letter-spacing:-.1px;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.32);
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.next-match-urgent .nmc-cta{
  background:linear-gradient(135deg, #ff6b6b, #ff8c4a);
  color:#fff;
}
.nmc-cta:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-4), 0 0 28px rgba(164,214,94,.42);
}
.next-match-urgent .nmc-cta:hover{
  box-shadow:var(--elev-4), 0 0 32px rgba(255,80,80,.45);
}
.nmc-cta:active{transform:translateY(0) scale(.97);}
.nmc-cta span{font-size:1.1rem;line-height:1;}
.nmc-cta small{
  font-size:.7rem;font-weight:600;opacity:.7;
  margin-left:5px;
}
.next-match-done .nmc-cta{
  background:linear-gradient(135deg, rgba(95,217,138,.32), rgba(95,217,138,.18));
  color:#5fd98a;
  border:1.5px solid rgba(95,217,138,.5);
  box-shadow:none;
}
.next-match-done .nmc-cta:hover{
  background:linear-gradient(135deg, rgba(95,217,138,.42), rgba(95,217,138,.28));
}

/* ═══ PRONOS URGENCY BANNER ═══ */
.pronos-urgency{
  display:flex;align-items:center;gap:13px;
  background:linear-gradient(135deg, rgba(255,80,80,.18) 0%, rgba(255,140,30,.1) 100%);
  border:1.5px solid rgba(255,80,80,.42);
  border-radius:16px;
  padding:14px 17px;
  margin-bottom:14px;
  position:relative;overflow:hidden;
  box-shadow:0 0 24px rgba(255,80,80,.18);
}
.pronos-urgency::before{
  content:'';position:absolute;top:0;left:0;bottom:0;
  width:4px;
  background:linear-gradient(180deg, #ff5050, #ff8c1e);
  animation:urgency-pulse-bar 1.4s ease-in-out infinite;
}
@keyframes urgency-pulse-bar{
  0%,100%{opacity:.8;}
  50%{opacity:1;box-shadow:0 0 18px #ff5050;}
}
.pronos-urgency-ico{
  font-size:1.85rem;line-height:1;
  flex-shrink:0;
  filter:drop-shadow(0 4px 12px rgba(255,80,80,.42));
  animation:urgency-shake 2s ease-in-out infinite;
}
@keyframes urgency-shake{
  0%,90%,100%{transform:rotate(0);}
  92%{transform:rotate(-12deg);}
  94%{transform:rotate(12deg);}
  96%{transform:rotate(-8deg);}
  98%{transform:rotate(8deg);}
}
.pronos-urgency-text{flex:1;min-width:0;}
.pronos-urgency-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1rem;color:#ff8585;
  letter-spacing:-.2px;line-height:1.2;
  margin-bottom:3px;
}
.pronos-urgency-sub{
  font-size:.78rem;color:rgba(255,255,255,.78);
  line-height:1.4;
}
.pronos-urgency-sub b{color:#ffb066;}
.pronos-urgency-cta{
  flex-shrink:0;
  padding:9px 14px;
  background:linear-gradient(135deg, #ff5050, #ff8c1e);
  color:#fff;border:none;border-radius:11px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.78rem;letter-spacing:-.05px;
  cursor:pointer;
  box-shadow:var(--elev-2), inset 0 -1px 0 rgba(0,0,0,.2);
  transition:transform var(--dur-fast) var(--ease-out-back), box-shadow var(--dur-med);
}
.pronos-urgency-cta:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-3), 0 0 18px rgba(255,140,30,.42);
}
.pronos-urgency-cta:active{transform:translateY(0) scale(.96);}

/* ═══ PRONOS PROGRESS BANNER ═══ */
.pronos-progress{
  background:linear-gradient(155deg, rgba(10,15,4,.55) 0%, rgba(20,40,18,.32) 100%);
  border:1px solid rgba(164,214,94,.22);
  border-radius:16px;
  padding:14px 16px;
  margin-bottom:14px;
  position:relative;overflow:hidden;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.pronos-progress-top{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:10px;
}
.pronos-progress-label{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.86rem;color:#fff;
  letter-spacing:-.2px;
}
.pronos-progress-label span{color:var(--vert-pomme);}
.pronos-progress-pct{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.2rem;color:var(--vert-pomme);
  letter-spacing:-.4px;
  text-shadow:0 0 14px rgba(164,214,94,.42);
}
.pronos-progress-bar{
  width:100%;height:8px;
  background:rgba(164,214,94,.1);
  border-radius:4px;
  overflow:hidden;
  position:relative;
}
.pronos-progress-fill{
  height:100%;
  background:linear-gradient(90deg, var(--vert-pomme), var(--jaune-pomme));
  border-radius:4px;
  transition:width 1.2s var(--ease-out-back);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32), inset 0 -1px 0 rgba(0,0,0,.06);
  position:relative;
}
.pronos-progress-fill::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.42) 50%, transparent 70%);
  transform:translateX(-100%);
  animation:progress-shine 2.5s var(--ease-soft) infinite;
}
@keyframes progress-shine{
  0%{transform:translateX(-100%);}
  100%{transform:translateX(200%);}
}
.pronos-progress-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:9px;
  font-size:.74rem;color:var(--dim);
}
.pronos-progress-meta b{color:#fff;}

/* ═══ SUGGEST PARTNER CARD ═══ */
.suggest-partner-card{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg, rgba(74,158,255,.1) 0%, rgba(74,158,255,.03) 100%);
  border:1.5px dashed rgba(74,158,255,.38);
  border-radius:16px;
  padding:16px 18px;
  margin-top:18px;
  cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out-back),
             border-color var(--dur-fast),
             background var(--dur-fast),
             box-shadow var(--dur-med);
}
.suggest-partner-card:hover{
  transform:translateY(-2px);
  border-color:#4a9eff;
  border-style:solid;
  background:linear-gradient(135deg, rgba(74,158,255,.18) 0%, rgba(74,158,255,.06) 100%);
  box-shadow:0 8px 22px rgba(74,158,255,.22);
}
.suggest-partner-card:active{transform:translateY(0) scale(.98);}
.suggest-partner-ico{
  font-size:2rem;line-height:1;flex-shrink:0;
  filter:drop-shadow(0 4px 12px rgba(74,158,255,.42));
  animation:suggest-bulb 3s ease-in-out infinite;
}
@keyframes suggest-bulb{
  0%,90%,100%{transform:rotate(0) scale(1);}
  92%{transform:rotate(-8deg) scale(1.08);}
  94%{transform:rotate(8deg) scale(1.08);}
  96%{transform:rotate(-4deg) scale(1.04);}
}
.suggest-partner-content{flex:1;min-width:0;}
.suggest-partner-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.96rem;color:#fff;
  line-height:1.25;letter-spacing:-.2px;
  margin-bottom:3px;
}
.suggest-partner-sub{
  font-size:.74rem;color:rgba(255,255,255,.65);
  line-height:1.45;
}
.suggest-partner-sub b{color:#94c0ff;}
.suggest-partner-arrow{
  font-size:1.2rem;color:#4a9eff;
  font-weight:700;flex-shrink:0;
  transition:transform var(--dur-fast);
}
.suggest-partner-card:hover .suggest-partner-arrow{transform:translateX(4px);}

/* GRILLE PARTENAIRES — Sticker-style aligné comme votre carrousel papier */
/* Mosaïque 4×2 sur grand écran, 3×N sur tablette, 2×N sur mobile */
.pg{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;
}
@media(max-width:480px){
  .pg{
    grid-template-columns:1fr;
    gap:11px;
  }
}
@media(min-width:768px){
  .pg{
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:18px;
  }
}
@media (min-width: 720px) {
  .pg{grid-template-columns:repeat(2, 1fr);}
}
@media (min-width: 1024px) {
  .pg{grid-template-columns:repeat(2, 1fr);gap:18px;}
}

/* Cards partenaires : style "page Insta" du carrousel charte */
.pc{
  background:linear-gradient(155deg, #0e1606 0%, #0a0f04 60%, #060a02 100%);
  border:1.5px solid rgba(164,214,94,.18);
  border-radius:24px;
  padding:20px 20px 22px;
  display:flex;flex-direction:column;gap:11px;
  transition:transform .45s var(--ease-out-back),
             box-shadow .45s var(--ease-out-expo),
             border-color .25s var(--ease-soft);
  position:relative;overflow:hidden;
  cursor:pointer;
  box-shadow:var(--elev-3), inset 0 1px 0 rgba(255,255,255,.05);
}
/* Edge highlight top */
.pc::before{
  content:'';position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg, transparent, var(--vert-pomme), var(--jaune-pomme), var(--vert-pomme), transparent);
  opacity:0;transition:opacity .35s var(--ease-soft);
  border-radius:24px 24px 0 0;
}
/* Spotlight glow au hover */
.pc::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at top right, rgba(164,214,94,.12), transparent 60%);
  opacity:0;pointer-events:none;
  transition:opacity .45s var(--ease-soft);
}
.pc:hover{
  transform:translateY(-8px) scale(1.012);
  border-color:rgba(164,214,94,.55);
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.28), 0 0 32px rgba(164,214,94,.12);
}
.pc:hover::before{opacity:1;}
.pc:hover::after{opacity:1;}
.pc:active{transform:translateY(-4px) scale(.995);}

/* Header card : icône + numéro/catégorie */
.pc-header{
  display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:2px;
}
.pc-i{
  font-size:2.2rem;line-height:1;
  background:linear-gradient(135deg,rgba(164,214,94,.14),rgba(164,214,94,.05));
  border:1px solid rgba(164,214,94,.2);
  border-radius:15px;
  width:60px;height:60px;
  display:flex;align-items:center;justify-content:center;
  margin:0;
  box-shadow:inset 0 2px 4px rgba(255,255,255,.04);
  overflow:hidden;
}
.pc-logo-img{
  width:100%;height:100%;
  object-fit:cover;
  border-radius:14px;
  background:#fff;
  display:block;
}
.pc-numero{
  font-family:'DM Sans',sans-serif;
  font-size:.6rem;letter-spacing:1.8px;font-weight:700;
  color:rgba(164,214,94,.6);
  text-transform:uppercase;
  margin-top:6px;
}
.pc-numero small{display:block;font-size:.58rem;color:rgba(255,255,255,.55);font-weight:600;letter-spacing:1.4px;margin-top:2px;}

.pc-n{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.55rem;letter-spacing:-.6px;line-height:1;
  color:#fff;
  margin-top:4px;
}
.pc-c{
  font-size:.6rem;letter-spacing:2px;
  color:var(--vert-pomme);font-weight:700;
  text-transform:uppercase;
}

/* Offre / avantage : pilule style charte */
.pc-o-wrap{
  display:flex;align-items:center;gap:12px;
  margin-top:6px;
}
.pc-o{
  background:var(--vert-pomme);
  border:none;border-radius:13px;
  padding:9px 16px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1rem;letter-spacing:.5px;
  color:#0a0f04;
  text-align:center;text-transform:uppercase;
  display:inline-block;
  box-shadow:0 4px 10px rgba(164,214,94,.25);
  white-space:nowrap;
}
.pc-d{
  flex:1;
  font-size:.78rem;
  color:rgba(255,255,255,.78);
  line-height:1.5;
}

/* Bloc contact en bas (2 colonnes blanches comme dans charte) */
.pc-contact-row{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:8px;
}
.pc-contact-block{
  background:rgba(255,255,255,.96);
  border-radius:11px;
  padding:9px 12px;
}
.pc-contact-block-lbl{
  font-size:.55rem;letter-spacing:1.5px;
  color:var(--vert);font-weight:700;
  text-transform:uppercase;
  margin-bottom:2px;
}
.pc-contact-block-val{
  font-size:.82rem;font-weight:700;
  color:#0a1a04;line-height:1.2;
}
.pc-contact-block-val a{
  color:#0a1a04!important;text-decoration:none;
}

/* CTA "Récupère ton bon" bandeau style charte (uniformiser) */
.pc-bon-cta-strip{
  margin-top:8px;
  background:rgba(74,124,26,.4);
  border-radius:10px;
  padding:9px 14px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:.74rem;font-weight:700;
  color:#fff;
  cursor:pointer;
  transition:all .2s;
}
.pc-bon-cta-strip:hover{background:rgba(164,214,94,.32);}
.pc-bon-cta-strip-arrow{font-size:.7rem;letter-spacing:1.5px;color:var(--vert-pomme);font-weight:700;}

/* Numéro de carte automatique (style charte "PARTENAIRE · 01 / 11") */
.pg{counter-reset: partner-counter;}
.pc{counter-increment: partner-counter;}
.pc::after{
  content: 'PARTENAIRE · ' counter(partner-counter, decimal-leading-zero) ' / 11';
  position: absolute;
  top: 16px; right: 16px;
  font-family:'DM Sans',sans-serif;
  font-size:.52rem; letter-spacing:1.6px;
  color: rgba(164,214,94,.65);
  font-weight:700;
  pointer-events:none;
  z-index:2;
}

/* Legacy support : .pc-ct fallback pour cards qui ne sont pas refondues */
.pc-ct{font-size:.72rem;color:rgba(255,255,255,.65);line-height:1.6;margin-top:4px;}
.pc-ct a{color:var(--jaune-pomme);text-decoration:none;font-weight:600;}
.pc-ct a:hover{color:#e8ff66;text-decoration:underline;}

/* Mode light : cards toujours noires (charte Instagram conservée) */
:root[data-theme="light"] .pc{background:var(--surface-deep);border-color:rgba(74,124,26,.32);}
:root[data-theme="light"] .pc-d{color:rgba(255,255,255,.85)!important;}
:root[data-theme="light"] .pc-ct{color:rgba(255,255,255,.7)!important;}
:root[data-theme="light"] .pc-ct a{color:var(--jaune-pomme)!important;font-weight:700;}
:root[data-theme="light"] .pc-ct a:hover{color:#e8ff66!important;}
:root[data-theme="light"] .pc-n{color:#fff!important;}
.pc-d{font-size:.78rem;color:rgba(255,255,255,.78);line-height:1.5;}
.pc-ct{font-size:.7rem;color:rgba(255,255,255,.62);line-height:1.6;margin-top:3px;}
.pc-ct a{color:var(--jaune-pomme);text-decoration:none;font-weight:600;}
.pc-ct a:hover{color:#e8ff66;text-decoration:underline;}

/* Mode light : cards toujours noires (charte Instagram conservée) */
:root[data-theme="light"] .pc{background:var(--surface-deep);border-color:rgba(74,124,26,.32);}
:root[data-theme="light"] .pc-d{color:rgba(255,255,255,.85)!important;}
:root[data-theme="light"] .pc-ct{color:rgba(255,255,255,.7)!important;}
:root[data-theme="light"] .pc-ct a{color:var(--jaune-pomme)!important;font-weight:700;}
:root[data-theme="light"] .pc-ct a:hover{color:#e8ff66!important;}
:root[data-theme="light"] .pc-n{color:#fff!important;}

/* ═══ DASHBOARD ADMIN — KPI premium ═══ */
.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:18px;}
.kpi-card{
  position:relative;
  background:linear-gradient(135deg, rgba(10,15,4,.55) 0%, rgba(20,40,18,.42) 100%);
  border:1px solid rgba(164,214,94,.18);
  border-radius:18px;
  padding:18px 16px;
  text-align:center;
  overflow:hidden;
  transition:transform .4s var(--ease-out-back), box-shadow .35s var(--ease-out-expo), border-color .2s;
  box-shadow:var(--elev-2), inset 0 1px 0 rgba(255,255,255,.05);
  cursor:default;
}
.kpi-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, transparent, var(--jaune-pomme), var(--vert-pomme), var(--jaune-pomme), transparent);
  opacity:.9;
}
.kpi-card::after{
  content:'';position:absolute;top:-50%;right:-30%;width:120%;height:140%;
  background:radial-gradient(ellipse at center, rgba(164,214,94,.08), transparent 65%);
  pointer-events:none;
  transition:opacity .35s var(--ease-soft);
  opacity:0;
}
.kpi-card:hover{
  transform:translateY(-5px);
  border-color:rgba(164,214,94,.42);
  box-shadow:var(--elev-4), inset 0 1px 0 rgba(255,255,255,.08);
}
.kpi-card:hover::after{opacity:1;}
.kpi-val{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:2.6rem;color:var(--vert-pomme);
  line-height:1;font-variant-numeric:tabular-nums;
  text-shadow:0 0 24px rgba(164,214,94,.32);
}
.kpi-lbl{
  font-size:.66rem;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--dim);
  margin-top:6px;font-weight:700;
}
.kpi-sub{font-size:.62rem;color:var(--faint);margin-top:3px;}

:root[data-theme="light"] .kpi-card{
  background:linear-gradient(135deg, var(--surface-deep) 0%, #1c2818 100%);
}
:root[data-theme="light"] .kpi-val{color:var(--vert-pomme);}

.chart-wrap{
  background:rgba(10,15,4,.32);
  border:1px solid rgba(164,214,94,.15);
  border-radius:16px;
  padding:16px;margin-bottom:14px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:var(--elev-1);
}
.chart-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  color:var(--vert-pomme);font-size:1rem;
  letter-spacing:.2px;margin-bottom:13px;
}
.chart-svg{width:100%;overflow:hidden;}
.bar-row{display:flex;align-items:center;gap:9px;margin-bottom:7px;font-size:.72rem;}
.bar-lbl{width:92px;color:var(--dim);text-align:right;flex-shrink:0;font-size:.66rem;font-weight:600;}
.bar-track{flex:1;background:rgba(164,214,94,.08);border-radius:6px;height:20px;overflow:hidden;position:relative;}
.bar-fill{
  height:100%;border-radius:6px;
  background:linear-gradient(90deg, var(--vert-pomme), var(--jaune-pomme));
  transition:width 1s var(--ease-out-back);
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.25);
}
.bar-val{width:38px;color:var(--vert-pomme);font-family:'Fredoka',sans-serif;font-weight:700;font-size:.92rem;flex-shrink:0;}
.dash-note{font-size:.7rem;color:var(--dim);padding:11px 13px;background:rgba(74,158,255,.08);border:1px solid rgba(74,158,255,.2);border-radius:9px;line-height:1.55;}
.dash-note a{color:var(--blue);}
.activity-list{list-style:none;}
.activity-list li{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(164,214,94,.08);font-size:.74rem;color:var(--dim);}
.activity-list li:last-child{border-bottom:none;}
.act-dot{width:6px;height:6px;border-radius:50%;background:var(--vert-pomme);flex-shrink:0;}
.act-time{font-size:.6rem;color:var(--faint);margin-left:auto;}
.clicks-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.click-item{background:rgba(0,0,0,.2);border:1px solid var(--border);border-radius:8px;padding:10px;text-align:center;}
.click-num{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--blue);}
.click-lbl{font-size:.6rem;color:var(--faint);margin-top:2px;}

/* ===== MODAL ===== */
.mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(6px);z-index:500;align-items:center;justify-content:center;padding:14px;}
.mo.open{display:flex;}
.md{background:linear-gradient(145deg,#1a4010,#0a2006);border:1.5px solid var(--bordg);border-radius:var(--r);padding:18px;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;padding-bottom:8px;border-bottom:1px solid rgba(245,197,24,.16);}
.mh h3{font-family:'Bebas Neue',sans-serif;color:var(--gold);font-size:1.05rem;letter-spacing:3px;}
.mc2{background:none;border:none;color:var(--dim);font-size:1.2rem;cursor:pointer;transition:color .2s;}
.mc2:hover{color:var(--text);}
.mrow{display:flex;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.mrow:last-child{border-bottom:none;}
.mfoot{display:flex;gap:7px;margin-top:11px;justify-content:flex-end;padding-top:9px;border-top:1px solid rgba(255,255,255,.07);}
.btn-o{padding:7px 12px;background:transparent;border:1px solid var(--border);border-radius:var(--rs);color:var(--dim);cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:1px;transition:all .2s;font-family:'DM Sans',sans-serif;}
.btn-o:hover{border-color:var(--text);color:var(--text);}

/* ===== INCITATION IMMO ===== */
.immo-strip{background:rgba(0,0,0,.25);border:1px solid rgba(245,197,24,.14);border-radius:var(--r);padding:14px 18px;margin:6px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.immo-strip-ico{font-size:1.6rem;flex-shrink:0;}
.immo-strip-text{flex:1;min-width:200px;}
.immo-strip-title{font-size:.76rem;font-weight:700;color:rgba(255,255,255,.7);margin-bottom:2px;}
.immo-strip-sub{font-size:.67rem;color:var(--faint);line-height:1.45;}
.immo-strip-sub strong{color:rgba(245,197,24,.65);}
.immo-strip-btn{padding:7px 14px;background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.22);border-radius:var(--rs);color:rgba(245,197,24,.8);font-size:.7rem;font-weight:700;cursor:pointer;white-space:nowrap;font-family:'DM Sans',sans-serif;text-decoration:none;display:inline-block;transition:all .2s;}
.immo-strip-btn:hover{background:rgba(245,197,24,.18);color:var(--gold);}

/* ===== FOOTER ===== */
.footer{background:rgba(0,0,0,.28);border-top:1px solid rgba(255,255,255,.07);padding:16px;text-align:center;}
.footer-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:.58rem;color:var(--faint);margin-bottom:6px;}
.footer-links a{color:var(--faint);text-decoration:none;}
.footer-links a:hover{color:rgba(245,197,24,.5);}
.footer-links span{color:rgba(255,255,255,.14);}
.footer-copy{font-size:.54rem;color:rgba(255,255,255,.18);line-height:1.5;}

/* ===== CANVAS ===== */
canvas{display:block;}

/* ═══ TOAST PREMIUM ═══ */
.toast{
  position:fixed;left:50%;bottom:96px;
  transform:translateX(-50%) translateY(20px) scale(.95);
  padding:13px 22px;border-radius:14px;
  font-family:'DM Sans',sans-serif;
  font-size:.86rem;font-weight:700;letter-spacing:.1px;
  z-index:600;opacity:0;
  transition:all .4s var(--ease-out-back);
  pointer-events:none;max-width:90%;
  text-align:center;line-height:1.4;
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  box-shadow:var(--elev-4), 0 0 0 1px rgba(255,255,255,.08);
}
.toast::before{
  content:'';position:absolute;inset:0;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(255,255,255,.1), transparent 50%);
  pointer-events:none;
}
.toast.ok{
  background:linear-gradient(135deg, rgba(45,110,26,.95), rgba(26,82,40,.9));
  color:#fff;
  border:1.5px solid rgba(77,204,122,.55);
  box-shadow:var(--elev-4), 0 0 0 1px rgba(77,204,122,.2), 0 0 24px rgba(77,204,122,.15);
}
.toast.err{
  background:linear-gradient(135deg, rgba(122,40,40,.95), rgba(82,26,26,.9));
  color:#fff;
  border:1.5px solid rgba(255,80,80,.55);
  box-shadow:var(--elev-4), 0 0 0 1px rgba(255,80,80,.2), 0 0 24px rgba(255,80,80,.15);
}
.toast.info{
  background:linear-gradient(135deg, rgba(30,80,160,.95), rgba(20,55,110,.9));
  color:#fff;
  border:1.5px solid rgba(74,158,255,.55);
  box-shadow:var(--elev-4), 0 0 0 1px rgba(74,158,255,.2), 0 0 24px rgba(74,158,255,.15);
}
.toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0) scale(1);
}

/* ===== LOADING ===== */
.loading{text-align:center;padding:38px;color:var(--dim);font-size:.74rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;}

/* ═══ SKELETON SCREENS — placeholders avec shimmer pendant chargement ═══ */
.skel{
  background:linear-gradient(90deg,
    rgba(255,255,255,.04) 0%,
    rgba(255,255,255,.1) 50%,
    rgba(255,255,255,.04) 100%);
  background-size:200% 100%;
  animation:skel-shimmer 1.4s ease-in-out infinite;
  border-radius:8px;
}
@keyframes skel-shimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
.skel-card{
  padding:14px;
  background:rgba(0,0,0,.18);
  border:1px solid var(--border);
  border-radius:14px;
  margin-bottom:10px;
  display:flex;align-items:center;gap:12px;
}
.skel-line{height:14px;border-radius:7px;margin-bottom:8px;}
.skel-line:last-child{margin-bottom:0;}
.skel-line.s{height:10px;width:60%;}
.skel-line.m{height:13px;width:80%;}
.skel-line.l{height:16px;width:95%;}
.skel-block{flex:1;}
.skel-input{
  width:60px;height:54px;
  border-radius:12px;
  flex-shrink:0;
}
.skel-circle{
  width:46px;height:46px;
  border-radius:50%;
  flex-shrink:0;
}
.skel-pill{
  display:inline-block;
  width:60px;height:18px;
  border-radius:9px;
  margin-right:6px;
}
:root[data-theme="light"] .skel{
  background:linear-gradient(90deg,
    rgba(0,0,0,.04) 0%,
    rgba(0,0,0,.08) 50%,
    rgba(0,0,0,.04) 100%);
  background-size:200% 100%;
}
:root[data-theme="light"] .skel-card{
  background:rgba(255,255,255,.5);
  border-color:rgba(0,0,0,.08);
}
.sp{
  display:inline-block;width:28px;height:28px;
  border:2.5px solid rgba(164,214,94,.12);
  border-top-color:var(--vert-pomme);
  border-right-color:var(--vert-pomme);
  border-radius:50%;
  animation:spin .9s var(--ease-soft) infinite;
  margin-bottom:10px;
  filter:drop-shadow(0 0 12px rgba(164,214,94,.4));
}
@keyframes spin{to{transform:rotate(360deg);}}

/* ═══ SKELETON LOADERS (premium loading states) ═══ */
.skeleton{
  position:relative;
  background:linear-gradient(90deg,
    rgba(164,214,94,.06) 0%,
    rgba(164,214,94,.18) 50%,
    rgba(164,214,94,.06) 100%);
  background-size:200% 100%;
  animation:skeleton-shimmer 1.6s ease-in-out infinite;
  border-radius:8px;
  overflow:hidden;
}
@keyframes skeleton-shimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
.sk-line{height:14px;margin-bottom:9px;}
.sk-line.sk-short{width:40%;}
.sk-line.sk-med{width:70%;}
.sk-line.sk-long{width:90%;}
.sk-circle{width:42px;height:42px;border-radius:50%;}
.sk-card{height:120px;border-radius:14px;margin-bottom:12px;}
.sk-card-pc{
  height:280px;border-radius:24px;margin-bottom:14px;
  background:linear-gradient(155deg, #0a0f04 0%, #0e1606 100%);
  border:1.5px solid rgba(164,214,94,.18);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:20px;
  position:relative;
}
.sk-card-pc::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 30%, rgba(164,214,94,.08) 50%, transparent 70%);
  animation:sk-shine 1.8s infinite;
  pointer-events:none;
  border-radius:24px;
}
@keyframes sk-shine{
  0%{transform:translateX(-100%);}
  100%{transform:translateX(100%);}
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ ANIMATIONS MODERNES & FLUIDITÉ ▓▓▓
   ════════════════════════════════════════════════════════════ */

/* Apparition fluide des cards au scroll (IntersectionObserver) */
.fade-in-up{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);}
.fade-in-up.visible{opacity:1;transform:translateY(0);}

/* Effet hover "lift" sur toutes les cards interactives */
.pc,.mc,.bon-ticket-active,.live-card,.lvl-card,.insight-card{will-change:transform;}

/* Smooth scrolling global */
html{scroll-behavior:smooth;}

/* Ripple effect pour les boutons (effet tap moderne) */
.btn-ripple{position:relative;overflow:hidden;}
.btn-ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.4);transform:translate(-50%,-50%);transition:width .4s,height .4s;pointer-events:none;}
.btn-ripple:active::after{width:300px;height:300px;}

/* Effet shimmer doré sur les boutons primaires */
@keyframes btn-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.sbtn,.l-btn,.pp-save-btn,.flp-claim,.bv-validate-btn,.bc-btn-primary,.bon-tk-cta{position:relative;background-size:200% auto;}

/* Spinner amélioré */
.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(245,197,24,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* Float subtle sur les emojis importants */
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}
.float-emoji{display:inline-block;animation:float 2.8s ease-in-out infinite;}

/* Reveal au scroll : cards qui apparaissent */
.reveal-on-scroll{opacity:0;transform:translateY(15px) scale(.98);transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1);}
.reveal-on-scroll.in-view{opacity:1;transform:translateY(0) scale(1);}

/* Glass effect pour les overlays */
.glass{background:rgba(255,255,255,.04);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.08);}

/* Loader bar en haut pour les actions longues */
.loader-bar{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);background-size:200% 100%;animation:loader-bar-anim 1.2s ease-in-out infinite;z-index:999;}
@keyframes loader-bar-anim{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

/* Pulse subtil sur les badges importants */
@keyframes badge-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 currentColor;}50%{transform:scale(1.05);}}
.badge-attention{animation:badge-pulse 2s ease-in-out infinite;}

/* Cursor magnifier pour les éléments cliquables (subtil) */
.clickable{cursor:pointer;}
.clickable:hover{filter:brightness(1.03);}

/* Bordure animée pour les éléments en focus de l'action */
@keyframes glow-border{0%,100%{box-shadow:0 0 0 0 rgba(245,197,24,.6);}50%{box-shadow:0 0 0 4px rgba(245,197,24,0);}}
.glow-attention{animation:glow-border 2s ease-in-out infinite;}

/* Sticky elements avec backdrop blur */
.header,.tabs{transition:backdrop-filter .3s;}
.header.scrolled{backdrop-filter:blur(20px) saturate(180%);}

/* Cards 3D subtle (perspective hover) */
@media(hover:hover){
  .pc{transition:transform .3s cubic-bezier(.4,0,.2,1),border-color .3s,box-shadow .3s;}
  .pc:hover{transform:translateY(-4px) rotateX(2deg) rotateY(0);box-shadow:0 14px 32px rgba(0,0,0,.3),0 0 0 1px rgba(245,197,24,.2);}
}

/* Notification dot pulsing pour badges nouveaux */
.notification-dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;background:#ff5050;border-radius:50%;border:2px solid var(--bg);animation:dot-pulse 1.5s ease-in-out infinite;}
@keyframes dot-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,80,80,.7);}50%{transform:scale(.9);box-shadow:0 0 0 6px rgba(255,80,80,0);}}

/* Bouton "Sauvegarder" avec checkmark animé après save */
@keyframes checkmark-pop{0%{transform:scale(0) rotate(-180deg);opacity:0;}50%{transform:scale(1.3) rotate(-10deg);}100%{transform:scale(1) rotate(0);opacity:1;}}
.checkmark-saved{animation:checkmark-pop .6s cubic-bezier(.34,1.56,.64,1) both;}

/* Active state plus marqué pour le mobile */
@media(hover:none){
  button:active,a:active{filter:brightness(.85);}
}

/* Améliorer tous les boutons : feedback tap subtil */
button{transition:transform .15s,filter .15s;}
button:not(:disabled):active{transform:scale(.97);}

/* Liens : underline animé subtil */
a:not(.no-style){transition:color .15s;}

/* Inputs : transition focus plus douce */
input,textarea,select{transition:border-color .2s,box-shadow .2s,background .2s;}
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px rgba(245,197,24,.22);outline:none;}

/* Cards de niveau (lvl) avec hover */
.lvl-card{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;}
.lvl-card:hover{transform:translateY(-2px);}

/* Sectional separator subtil pour cohérence visuelle */
.pp-section{transition:all .25s;}
.pp-section:hover{border-color:rgba(245,197,24,.15);}
/* ════════════════════════════════════════════════════════════ */
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:560px){
  .hi{padding:7px 10px;}.h-badge{display:none!important;}
  .panel{padding:10px 8px 68px;}
  .mg{grid-template-columns:1fr 1fr;gap:6px;}.mc{padding:8px;}
  .pg{grid-template-columns:1fr;}
  .pod-col{min-width:56px;padding:7px 8px 7px;}
  .dash-grid{grid-template-columns:1fr 1fr;}
  .clicks-grid{grid-template-columns:1fr 1fr;}
}

/* ===== SHARE / EXPORT IMAGE ===== */
.share-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;
  background:rgba(245,197,24,.12);
  border:1px solid rgba(245,197,24,.28);
  border-radius:20px;
  color:var(--gold);
  font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:700;
  cursor:pointer;transition:all .2s;
  margin-left:auto;flex-shrink:0;
}
.share-btn:hover{background:rgba(245,197,24,.22);transform:translateY(-1px);}
.share-btn svg{width:14px;height:14px;fill:currentColor;flex-shrink:0;}
/* Modal preview export */
.export-mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(10px);z-index:950;align-items:center;justify-content:center;padding:16px;flex-direction:column;gap:14px;}
.export-mo.open{display:flex;}
.export-preview{
  max-width:420px;width:100%;
  border-radius:12px;overflow:hidden;
  box-shadow:0 8px 40px rgba(0,0,0,.6);
  cursor:pointer;
}
.export-preview canvas{display:block;width:100%;height:auto;}
.export-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.export-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.12);border:none;border-radius:50%;width:36px;height:36px;color:white;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.export-hint{font-size:.72rem;color:var(--faint);text-align:center;}

/* ===== SYSTÈME BONS PARTENAIRES ===== */
.bon-btn{
  width:100%;margin-top:6px;
  padding:9px 12px;
  background:linear-gradient(135deg,rgba(61,184,101,0.18),rgba(61,184,101,0.08));
  border:1.5px solid rgba(61,184,101,0.45);
  border-radius:var(--rs);
  color:#4dcc7a;
  font-family:'DM Sans',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.5px;
  cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;
}
.bon-btn:hover{background:linear-gradient(135deg,rgba(61,184,101,0.28),rgba(61,184,101,0.14));transform:translateY(-1px);}
.bon-btn.pris{
  background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.12);
  color:var(--faint);cursor:not-allowed;transform:none;
}
.bon-btn.pris:hover{transform:none;background:rgba(255,255,255,0.04);}
.bon-btn.valide{
  background:rgba(245,197,24,0.08);border-color:rgba(245,197,24,0.2);
  color:rgba(245,197,24,0.5);cursor:not-allowed;
}

/* Carte bonus partenaire "Devenir partenaire" */
.pc-join{
  background:linear-gradient(135deg,rgba(74,158,255,0.1),rgba(74,158,255,0.04));
  border:1.5px dashed rgba(74,158,255,0.35);
  border-radius:var(--r);padding:20px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  text-align:center;cursor:pointer;transition:all .2s;min-height:200px;
}
.pc-join:hover{background:linear-gradient(135deg,rgba(74,158,255,0.16),rgba(74,158,255,0.07));border-color:rgba(74,158,255,0.55);}
.pc-join-ico{font-size:2.2rem;}
.pc-join-title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:3px;color:var(--blue);}
.pc-join-sub{font-size:.7rem;color:rgba(74,158,255,0.65);line-height:1.5;max-width:160px;}
.pc-join-cta{
  padding:7px 16px;background:rgba(74,158,255,0.14);border:1px solid rgba(74,158,255,0.3);
  border-radius:20px;color:var(--blue);font-size:.72rem;font-weight:700;
  cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;
}
.pc-join-cta:hover{background:rgba(74,158,255,0.24);}

/* Modal affichage du bon */
.bon-modal{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);
  backdrop-filter:blur(12px);z-index:960;
  align-items:center;justify-content:center;padding:16px;flex-direction:column;gap:16px;
}
.bon-modal.open{display:flex;}
.bon-card{
  width:100%;max-width:400px;
  background:linear-gradient(145deg,#1a4010,#0d2806);
  border:2px solid var(--gold);border-radius:20px;
  padding:30px 28px;text-align:center;
  box-shadow:0 0 60px rgba(245,197,24,0.2),0 12px 40px rgba(0,0,0,0.6);
  position:relative;overflow:hidden;
}
.bon-card::before{
  content:'';position:absolute;top:-30px;left:-30px;right:-30px;bottom:-30px;
  background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(245,197,24,0.03) 8px,rgba(245,197,24,0.03) 9px);
  pointer-events:none;
}
.bon-card-logo{font-size:2.8rem;margin-bottom:6px;position:relative;}
.bon-card-partner{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:4px;color:var(--gold);position:relative;}
.bon-card-type{font-size:.65rem;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-bottom:16px;position:relative;}
.bon-card-offer{
  background:linear-gradient(135deg,rgba(245,197,24,0.18),rgba(245,197,24,0.06));
  border:1.5px solid rgba(245,197,24,0.4);border-radius:12px;
  padding:16px;margin:12px 0;position:relative;
}
.bon-card-offer-txt{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:3px;color:var(--gold);}
.bon-card-offer-sub{font-size:.7rem;color:var(--dim);margin-top:4px;}
.bon-card-user{font-size:.75rem;color:rgba(255,255,255,.55);margin-bottom:4px;position:relative;}
.bon-card-code{
  font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:6px;
  color:rgba(255,255,255,0.85);background:rgba(0,0,0,.3);
  border-radius:8px;padding:8px 14px;margin:8px 0;
  border:1px dashed rgba(255,255,255,0.2);position:relative;
}
.bon-card-valid{font-size:.6rem;color:rgba(245,197,24,0.5);margin-top:6px;position:relative;}
.bon-card-warn{
  background:rgba(224,64,64,0.12);border:1px solid rgba(224,64,64,0.3);
  border-radius:8px;padding:10px 14px;margin-top:12px;
  font-size:.7rem;color:rgba(255,120,120,0.85);line-height:1.5;position:relative;
}
.bon-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.bon-validate-btn{
  padding:12px 24px;
  background:linear-gradient(135deg,rgba(224,64,64,0.8),rgba(180,30,30,0.9));
  border:none;border-radius:10px;color:white;
  font-family:'DM Sans',sans-serif;font-weight:800;font-size:.88rem;
  cursor:pointer;transition:all .2s;
}
.bon-validate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(224,64,64,0.4);}
.bon-close-btn{
  padding:12px 20px;background:rgba(255,255,255,.08);border:1px solid var(--border);
  border-radius:10px;color:var(--dim);font-family:'DM Sans',sans-serif;font-size:.85rem;cursor:pointer;
}

/* ═══ STAR DE LA SEMAINE ═══ */
.star-week-card{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;
  background:linear-gradient(135deg, rgba(245,197,24,.18) 0%, rgba(245,197,24,.06) 100%);
  border:1.5px solid rgba(245,197,24,.42);
  border-radius:14px;
  margin-bottom:14px;
  box-shadow:0 4px 14px rgba(245,197,24,.12);
  animation:star-week-glow 2.8s ease-in-out infinite alternate;
}
@keyframes star-week-glow{
  from{box-shadow:0 4px 14px rgba(245,197,24,.12);}
  to{box-shadow:0 6px 20px rgba(245,197,24,.28);}
}
.star-week-ico{
  font-size:2.6rem;line-height:1;
  flex-shrink:0;
  animation:star-week-spin 8s linear infinite;
  filter:drop-shadow(0 3px 8px rgba(245,197,24,.5));
}
@keyframes star-week-spin{
  0%{transform:rotate(0deg);}
  10%,90%{transform:rotate(0deg);}
  50%{transform:rotate(20deg);}
}
.star-week-body{flex:1;min-width:0;}
.star-week-eyebrow{
  font-size:.62rem;font-weight:800;
  letter-spacing:1.4px;text-transform:uppercase;
  color:var(--gold);
  margin-bottom:3px;
}
.star-week-name{
  font-family:'Fredoka',sans-serif;
  font-size:1rem;font-weight:700;
  color:#fff;
  line-height:1.2;
}
.star-week-pts{
  font-size:.74rem;
  color:rgba(255,255,255,.78);
  margin-top:3px;
}
.star-week-pts b{
  color:var(--gold);
  font-family:'Bebas Neue',sans-serif;
  font-size:.95rem;
  letter-spacing:.6px;
}
:root[data-theme="light"] .star-week-name{color:#1a3808;}
:root[data-theme="light"] .star-week-pts{color:rgba(26,56,8,.75);}

/* ═══ FILTRE CATÉGORIES PARTENAIRES ═══ */
.partner-cat-bar{
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
  margin-bottom:14px;
  padding:4px 2px;
}
.partner-cat-bar::-webkit-scrollbar{display:none;}
.partner-cat-pill{
  display:inline-flex;align-items:center;gap:5px;
  flex-shrink:0;
  padding:8px 14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.78);
  border-radius:18px;
  font-family:'DM Sans',sans-serif;
  font-size:.76rem;font-weight:600;
  cursor:pointer;
  transition:all var(--dur-fast);
  white-space:nowrap;
}
.partner-cat-pill:hover{
  background:rgba(164,214,94,.1);
  border-color:rgba(164,214,94,.32);
  color:#fff;
}
.partner-cat-pill.on{
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  border-color:var(--vert-pomme);
  color:var(--surface-deep);
  font-weight:700;
  box-shadow:0 3px 10px rgba(164,214,94,.3);
}
.partner-cat-pill span{font-size:.92rem;line-height:1;}
:root[data-theme="light"] .partner-cat-pill{
  background:rgba(0,0,0,.04);
  color:rgba(10,26,4,.8);
  border-color:rgba(0,0,0,.1);
}

/* Mode démo / visiteur */
.ls-demo-btn{
  display:flex;align-items:center;gap:9px;
  width:100%;
  margin-top:10px;
  padding:12px 14px;
  background:rgba(255,255,255,.04);
  border:1px dashed rgba(255,255,255,.25);
  border-radius:11px;
  color:rgba(255,255,255,.7);
  cursor:pointer;
  font-family:'DM Sans',sans-serif;
  font-size:.84rem;font-weight:600;
  transition:all var(--dur-fast);
}
.ls-demo-btn:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.4);
  border-style:solid;
  color:#fff;
}

/* ═══ AUTOFILL pronos modale ═══ */
.autofill-style-btn{
  display:flex;align-items:center;gap:12px;
  width:100%;
  padding:13px 14px;
  background:rgba(255,255,255,.04);
  border:1.5px solid rgba(255,255,255,.12);
  border-radius:11px;
  color:#fff;cursor:pointer;
  text-align:left;
  transition:all var(--dur-fast);
}
.autofill-style-btn:hover{
  background:rgba(164,214,94,.1);
  border-color:rgba(164,214,94,.5);
  transform:translateY(-2px);
}
.autofill-style-btn:active{transform:scale(.97);}

/* ═══ MODALE BIENVENUE NOUVEL INSCRIT (festive) ═══ */
.welcome-new-overlay{
  position:fixed;inset:0;z-index:9700;
  background:radial-gradient(circle at center, rgba(74,124,26,.5) 0%, rgba(10,15,4,.95) 70%);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  animation:welcome-new-in .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes welcome-new-in{
  from{opacity:0;transform:scale(.85);}
  to{opacity:1;transform:none;}
}
@keyframes welcome-new-out{
  from{opacity:1;transform:none;}
  to{opacity:0;transform:scale(.9);}
}
.welcome-new-card{
  position:relative;
  width:100%;max-width:460px;
  background:linear-gradient(160deg, #1a3808 0%, #0f2406 100%);
  border:2px solid rgba(164,214,94,.5);
  border-radius:22px;
  padding:32px 28px 24px;
  text-align:center;
  box-shadow:0 25px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(164,214,94,.2), inset 0 0 30px rgba(245,197,24,.04);
  overflow:hidden;
  animation:welcome-card-glow 3s ease-in-out infinite alternate;
}
@keyframes welcome-card-glow{
  from{box-shadow:0 25px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(164,214,94,.2), inset 0 0 30px rgba(245,197,24,.04);}
  to{box-shadow:0 25px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(245,197,24,.4), inset 0 0 50px rgba(245,197,24,.1);}
}
.welcome-new-confetti{
  position:absolute;top:-10px;right:-10px;
  font-size:3rem;opacity:.18;
  transform:rotate(15deg);
  pointer-events:none;
}
.welcome-new-emoji{
  font-size:3.6rem;line-height:1;
  margin-bottom:14px;
  animation:welcome-emoji-bounce 1.4s cubic-bezier(.68,-0.55,.27,1.55) infinite;
  filter:drop-shadow(0 6px 14px rgba(245,197,24,.35));
}
@keyframes welcome-emoji-bounce{
  0%,100%{transform:translateY(0) rotate(-5deg);}
  50%{transform:translateY(-10px) rotate(5deg);}
}
.welcome-new-title{
  font-family:'Fredoka',sans-serif;
  font-size:1.65rem;font-weight:700;
  color:#fff;
  margin:0 0 8px;
  line-height:1.15;
  text-shadow:0 2px 4px rgba(0,0,0,.4);
}
.welcome-new-sub{
  font-size:.92rem;
  color:rgba(255,255,255,.78);
  line-height:1.45;
  margin-bottom:22px;
}
.welcome-new-bonus{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;
  background:linear-gradient(135deg, rgba(245,197,24,.22), rgba(245,197,24,.08));
  border:1.5px solid var(--gold);
  border-radius:14px;
  margin-bottom:22px;
  box-shadow:0 8px 22px rgba(245,197,24,.25);
}
.welcome-new-bonus-ico{
  font-size:2.2rem;line-height:1;
  filter:drop-shadow(0 3px 7px rgba(245,197,24,.5));
}
.welcome-new-bonus-pts{
  font-family:'Bebas Neue',sans-serif;
  font-size:2rem;font-weight:700;
  color:var(--gold);
  line-height:1;
  letter-spacing:1px;
}
.welcome-new-bonus-lbl{
  font-size:.78rem;font-weight:600;
  color:rgba(255,255,255,.85);
  margin-top:3px;
}
.welcome-new-steps{
  display:flex;flex-direction:column;gap:9px;
  margin-bottom:20px;
  text-align:left;
}
.welcome-new-step{
  display:flex;align-items:center;gap:11px;
  padding:9px 12px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  font-size:.78rem;
  color:rgba(255,255,255,.88);
  line-height:1.4;
}
.welcome-new-step-num{
  flex-shrink:0;
  width:24px;height:24px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  font-family:'Bebas Neue',sans-serif;
  font-size:.92rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.welcome-new-cta{
  width:100%;
  padding:14px 18px;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #92c450 100%);
  color:var(--surface-deep);
  border:none;
  border-radius:12px;
  font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:.96rem;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(164,214,94,.3);
  transition:all var(--dur-fast) var(--ease-out-back);
  margin-bottom:9px;
}
.welcome-new-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(164,214,94,.45);
}
.welcome-new-cta:active{transform:scale(.97);}
.welcome-new-skip{
  width:100%;
  padding:9px;
  background:transparent;
  color:rgba(255,255,255,.45);
  border:none;
  font-size:.74rem;font-weight:600;
  cursor:pointer;
  transition:color var(--dur-fast);
}
.welcome-new-skip:hover{color:#fff;}

:root[data-theme="light"] .welcome-new-card{
  background:linear-gradient(160deg, #f8fff0 0%, #e9f5dc 100%);
  border-color:rgba(74,124,26,.5);
}
:root[data-theme="light"] .welcome-new-title{color:#1a3808;}
:root[data-theme="light"] .welcome-new-sub{color:rgba(26,56,8,.78);}
:root[data-theme="light"] .welcome-new-step{
  background:rgba(74,124,26,.08);
  color:#1a3808;
  border-color:rgba(74,124,26,.18);
}

@media(max-width:480px){
  .welcome-new-card{padding:26px 22px 20px;}
  .welcome-new-title{font-size:1.4rem;}
  .welcome-new-emoji{font-size:3rem;}
}

/* ═══ API MODE TABS (date vs équipe) ═══ */
.mmb-liveapi-mode{
  display:flex;
  gap:6px;
  margin-bottom:11px;
  padding:4px;
  background:rgba(0,0,0,.22);
  border-radius:9px;
}
.mmb-liveapi-mode-btn{
  flex:1;
  padding:8px 12px;
  background:transparent;
  border:none;
  color:rgba(255,255,255,.6);
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;font-weight:600;
  border-radius:7px;
  cursor:pointer;
  transition:all var(--dur-fast);
}
.mmb-liveapi-mode-btn:hover{color:#fff;background:rgba(255,255,255,.04);}
.mmb-liveapi-mode-btn.on{
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  font-weight:700;
  box-shadow:0 3px 8px rgba(164,214,94,.25);
}
.mmb-liveapi-mode-panel{display:none;}
.mmb-liveapi-mode-panel.on{display:block;}

/* ═══ ADMIN MATCH MANAGER BUTTON (panel résultats) ═══ */
.adm-match-mgr-btn{
  display:flex;align-items:center;gap:13px;
  width:100%;
  padding:14px 16px;
  margin-bottom:14px;
  background:linear-gradient(135deg, rgba(164,214,94,.16) 0%, rgba(164,214,94,.04) 100%);
  border:1.5px solid rgba(164,214,94,.4);
  border-radius:13px;
  color:#fff;
  cursor:pointer;
  text-align:left;
  transition:all var(--dur-fast);
}
.adm-match-mgr-btn:hover{
  background:linear-gradient(135deg, rgba(164,214,94,.26) 0%, rgba(164,214,94,.08) 100%);
  border-color:var(--vert-pomme);
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(164,214,94,.22);
}
.adm-match-mgr-btn:active{transform:scale(.98);}
.adm-match-mgr-ico{
  font-size:1.9rem;line-height:1;
  flex-shrink:0;
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.3));
}
.adm-match-mgr-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.adm-match-mgr-title{
  font-family:'Fredoka',sans-serif;
  font-size:1rem;font-weight:700;
  color:var(--vert-pomme);
}
.adm-match-mgr-sub{
  font-size:.7rem;
  color:rgba(255,255,255,.65);
  line-height:1.35;
}
.adm-match-mgr-arrow{
  font-size:1.3rem;
  color:var(--vert-pomme);
  font-weight:300;
  margin-left:5px;
}
.adm-match-mgr-btn:hover .adm-match-mgr-arrow{
  transform:translateX(4px);
  transition:transform var(--dur-fast);
}

/* ═══ ADMIN TIP BANNER ═══ */
.admin-tip-banner{
  display:flex;align-items:center;gap:11px;
  padding:11px 14px;
  margin-bottom:14px;
  background:linear-gradient(135deg, rgba(74,158,255,.12), rgba(74,158,255,.04));
  border:1px solid rgba(74,158,255,.3);
  border-radius:11px;
  font-size:.78rem;
  color:rgba(255,255,255,.88);
  line-height:1.45;
}
.admin-tip-ico{
  font-size:1.2rem;line-height:1;
  flex-shrink:0;
}
.admin-tip-txt{flex:1;}
.admin-tip-txt b{color:#74b0ff;font-weight:700;}
:root[data-theme="light"] .admin-tip-banner{
  background:linear-gradient(135deg, rgba(74,158,255,.08), rgba(74,158,255,.02));
}
:root[data-theme="light"] .admin-tip-txt{color:#1a3808;}

/* ═══ BOUTON EXPORT CSV (admin) ═══ */
.btn-export-csv{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 14px;
  background:linear-gradient(135deg, rgba(164,214,94,.16), rgba(164,214,94,.06));
  border:1.5px solid rgba(164,214,94,.42);
  border-radius:10px;
  color:var(--vert-pomme);
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;font-weight:700;
  cursor:pointer;
  transition:all var(--dur-fast);
  white-space:nowrap;
}
.btn-export-csv:hover{
  background:linear-gradient(135deg, rgba(164,214,94,.26), rgba(164,214,94,.1));
  border-color:var(--vert-pomme);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(164,214,94,.22);
}
.btn-export-csv:active{transform:scale(.97);}
:root[data-theme="light"] .btn-export-csv{
  background:linear-gradient(135deg, rgba(74,124,26,.08), rgba(74,124,26,.02));
  border-color:rgba(74,124,26,.42);
  color:var(--vert);
}

/* ═══ ADMIN QUICK ACTIONS (en tête du dashboard) ═══ */
.admin-quick-actions{
  margin-bottom:24px;
  padding:18px 18px 16px;
  background:linear-gradient(160deg, rgba(245,197,24,.12) 0%, rgba(245,197,24,.04) 100%);
  border:1.5px solid rgba(245,197,24,.36);
  border-radius:18px;
  box-shadow:0 6px 22px rgba(245,197,24,.08);
}
.aqa-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:14px;
}
.aqa-title{
  font-family:'Fredoka',sans-serif;
  font-size:1.05rem;font-weight:700;
  color:var(--gold);
  letter-spacing:.2px;
}
.aqa-help{
  width:32px;height:32px;
  border-radius:50%;
  background:rgba(245,197,24,.14);
  border:1px solid rgba(245,197,24,.32);
  color:var(--gold);
  font-size:.92rem;font-weight:700;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-fast);
}
.aqa-help:hover{
  background:rgba(245,197,24,.28);
  transform:scale(1.1);
}
.aqa-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:9px;
}
.aqa-card{
  display:flex;flex-direction:column;align-items:center;
  gap:5px;
  padding:13px 9px 11px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  cursor:pointer;
  transition:all var(--dur-fast) var(--ease-out-back);
  text-align:center;
}
.aqa-card:hover{
  background:rgba(245,197,24,.12);
  border-color:rgba(245,197,24,.42);
  transform:translateY(-3px);
  box-shadow:0 6px 16px rgba(245,197,24,.16);
}
.aqa-card-gold{
  background:linear-gradient(135deg, rgba(245,197,24,.18), rgba(245,197,24,.06));
  border-color:rgba(245,197,24,.42);
  box-shadow:inset 0 0 0 1px rgba(245,197,24,.18);
}
.aqa-card-gold:hover{
  background:linear-gradient(135deg, rgba(245,197,24,.3), rgba(245,197,24,.1));
}
.aqa-ico{
  font-size:1.7rem;line-height:1;
  margin-bottom:2px;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));
}
.aqa-lbl{
  font-family:'Fredoka',sans-serif;
  font-size:.78rem;font-weight:700;
  color:#fff;
  line-height:1.1;
}
.aqa-sub{
  font-size:.58rem;
  color:rgba(255,255,255,.55);
  line-height:1.2;
  letter-spacing:.1px;
}
@media(max-width:520px){
  .aqa-grid{grid-template-columns:repeat(2, 1fr);}
  .aqa-ico{font-size:1.5rem;}
  .aqa-lbl{font-size:.74rem;}
}
@media(max-width:380px){
  .aqa-grid{gap:7px;}
  .aqa-card{padding:10px 7px 9px;}
}
:root[data-theme="light"] .aqa-card{background:rgba(0,0,0,.04);}
:root[data-theme="light"] .aqa-lbl{color:#1a3808;}
:root[data-theme="light"] .aqa-sub{color:rgba(26,56,8,.65);}

/* ═══ ADMIN TOUR (onboarding admin première connexion) ═══ */
.atour-overlay{
  position:fixed;inset:0;z-index:9700;
  background:radial-gradient(circle at center, rgba(245,197,24,.32) 0%, rgba(10,15,4,.96) 70%);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  animation:atour-in .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes atour-in{
  from{opacity:0;transform:scale(.92);}
  to{opacity:1;transform:none;}
}
.atour-card{
  position:relative;
  width:100%;max-width:520px;max-height:92vh;overflow-y:auto;
  background:linear-gradient(160deg, #2a2510 0%, #18130a 100%);
  border:2px solid rgba(245,197,24,.5);
  border-radius:22px;
  padding:28px 24px 22px;
  box-shadow:0 24px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(245,197,24,.22);
}
.atour-close{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  border-radius:50%;
  cursor:pointer;
  font-weight:700;font-size:.86rem;
  display:flex;align-items:center;justify-content:center;
}
.atour-close:hover{background:rgba(255,80,80,.32);transform:rotate(90deg);transition:transform .2s;}
.atour-emoji{
  font-size:3.5rem;text-align:center;line-height:1;
  margin-bottom:8px;
  animation:atour-emoji-bounce 1.6s ease-in-out infinite;
}
@keyframes atour-emoji-bounce{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-6px);}
}
.atour-title{
  font-family:'Fredoka',sans-serif;
  font-size:1.5rem;font-weight:700;
  color:#fff;text-align:center;
  margin:0 0 5px;
}
.atour-sub{
  font-size:.86rem;
  color:rgba(255,255,255,.7);
  text-align:center;
  margin-bottom:18px;
}
.atour-steps{
  display:flex;flex-direction:column;gap:11px;
  margin-bottom:18px;
}
.atour-step{
  display:flex;gap:13px;
  padding:13px 14px;
  background:rgba(245,197,24,.06);
  border:1px solid rgba(245,197,24,.22);
  border-radius:12px;
}
.atour-step-num{
  flex-shrink:0;
  width:30px;height:30px;
  border-radius:50%;
  background:linear-gradient(135deg, #f5c518, #d4a012);
  color:#1a1808;
  font-family:'Bebas Neue',sans-serif;
  font-size:1.15rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  letter-spacing:0;
  box-shadow:0 3px 9px rgba(245,197,24,.4);
}
.atour-step-body{flex:1;min-width:0;}
.atour-step-title{
  font-family:'Fredoka',sans-serif;
  font-size:.96rem;font-weight:700;
  color:var(--gold);
  margin-bottom:5px;
}
.atour-step-txt{
  font-size:.78rem;
  color:rgba(255,255,255,.88);
  line-height:1.55;
}
.atour-step-txt b{color:#fff;}
.atour-actions{
  display:flex;flex-direction:column;gap:7px;
}
.atour-cta{
  width:100%;
  padding:13px 18px;
  background:linear-gradient(135deg, #f5c518 0%, #d4a012 100%);
  color:#1a1808;
  border:none;
  border-radius:11px;
  font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:.92rem;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(245,197,24,.36);
  transition:transform .2s var(--ease-out-back);
}
.atour-cta:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(245,197,24,.5);}
.atour-cta:active{transform:scale(.97);}
.atour-skip{
  width:100%;
  padding:8px;
  background:transparent;
  border:none;
  color:rgba(255,255,255,.5);
  font-size:.74rem;font-weight:600;
  cursor:pointer;
}
.atour-skip:hover{color:#fff;}

/* ═══ ADMIN TOUR FIN ═══ */

/* ═══ TICKER IMMO DISCRET (en bas de page Pronos) ═══ */
.immo-ticker{
  margin:18px 13px 14px;
  border-radius:10px;
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  transition:all var(--dur-fast);
}
.immo-ticker:hover{
  background:linear-gradient(135deg, rgba(232,138,74,.08), rgba(164,214,94,.03));
  border-color:rgba(232,138,74,.32);
}
.immo-ticker-inner{
  display:flex;align-items:center;gap:9px;
  padding:11px 13px;
  cursor:pointer;
  min-height:42px;
}
.immo-ticker-ico{
  font-size:1.1rem;line-height:1;
  flex-shrink:0;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.18));
}
.immo-ticker-type{
  flex-shrink:0;
  font-size:.56rem;font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
  padding:2px 7px;
  border-radius:5px;
  background:rgba(255,255,255,.06);
}
.immo-ticker-text{
  flex:1;min-width:0;
  font-size:.76rem;
  color:rgba(255,255,255,.85);
  line-height:1.4;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.immo-ticker-text b{color:#fff;font-weight:700;}
.immo-ticker-arrow{
  flex-shrink:0;
  font-size:1.1rem;
  color:rgba(255,255,255,.4);
  font-weight:300;
  margin-left:3px;
}
.immo-ticker:hover .immo-ticker-arrow{
  color:#e88a4a;
  transform:translateX(3px);
  transition:transform var(--dur-fast);
}
:root[data-theme="light"] .immo-ticker{
  background:linear-gradient(135deg, rgba(0,0,0,.02), rgba(0,0,0,.005));
  border-color:rgba(0,0,0,.08);
}
:root[data-theme="light"] .immo-ticker-text{color:rgba(10,26,4,.85);}
:root[data-theme="light"] .immo-ticker-text b{color:#0a1a04;}
:root[data-theme="light"] .immo-ticker:hover{
  background:linear-gradient(135deg, rgba(232,138,74,.06), rgba(74,124,26,.03));
}
@media(max-width:380px){
  .immo-ticker-type{display:none;}
}

/* Modale détail ticker (au tap, légère) */
.immo-ticker-overlay{
  position:fixed;inset:0;z-index:9450;
  background:rgba(10,15,4,.84);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  padding:18px;
  animation:gsearch-overlay-in .25s ease;
}
.immo-ticker-card{
  position:relative;
  width:100%;max-width:420px;
  background:linear-gradient(160deg, #14271a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(232,138,74,.42);
  border-radius:16px;
  padding:22px 22px 18px;
  box-shadow:0 20px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(232,138,74,.18);
  animation:onb3-card-in .35s cubic-bezier(.34,1.56,.64,1);
}
.immo-ticker-close{
  position:absolute;top:12px;right:12px;
  width:30px;height:30px;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  border-radius:50%;
  cursor:pointer;
  font-size:.76rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-fast);
}
.immo-ticker-close:hover{background:rgba(255,80,80,.32);transform:rotate(90deg);}
.immo-ticker-eyebrow{
  font-size:.62rem;font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:#e88a4a;
  margin-bottom:9px;
}
.immo-ticker-headline{
  font-family:'Fredoka',sans-serif;
  font-size:1.15rem;font-weight:700;
  color:#fff;
  line-height:1.3;
  margin-bottom:12px;
  display:flex;align-items:flex-start;gap:8px;
}
.immo-ticker-headline span{flex:1;}
.immo-ticker-headline b{color:var(--gold);}
.immo-ticker-body{
  font-size:.86rem;
  color:rgba(255,255,255,.78);
  line-height:1.55;
  padding:11px 13px;
  background:rgba(0,0,0,.22);
  border-radius:9px;
  margin-bottom:14px;
}
.immo-ticker-actions{
  display:flex;gap:8px;
  margin-bottom:11px;
}
.immo-ticker-foot{
  font-size:.62rem;
  color:rgba(255,255,255,.45);
  text-align:center;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.06);
  letter-spacing:.3px;
}
:root[data-theme="light"] .immo-ticker-card{
  background:linear-gradient(160deg, #fff 0%, #f5fff0 100%);
  border-color:rgba(232,138,74,.4);
}
:root[data-theme="light"] .immo-ticker-headline{color:#0a1a04;}
:root[data-theme="light"] .immo-ticker-body{
  background:rgba(0,0,0,.04);
  color:rgba(10,26,4,.78);
}
:root[data-theme="light"] .immo-ticker-foot{color:rgba(10,26,4,.55);}

/* ═══ CARTE INFO IMMO QUARTIER (business core) ═══ */
.immo-info-card{
  margin:0 13px 14px;
  padding:18px 18px 14px;
  background:linear-gradient(160deg, rgba(232,138,74,.12) 0%, rgba(74,124,26,.06) 100%);
  border:1.5px solid rgba(232,138,74,.32);
  border-radius:16px;
  box-shadow:0 6px 22px rgba(232,138,74,.08);
  position:relative;
  overflow:hidden;
}
.immo-info-card::before{
  content:'';
  position:absolute;
  top:-30px;right:-30px;
  width:120px;height:120px;
  background:radial-gradient(circle, rgba(245,197,24,.12), transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.immo-info-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:14px;
  position:relative;z-index:1;
}
.immo-info-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'DM Sans',sans-serif;
  font-size:.7rem;font-weight:800;
  color:#fff;
  letter-spacing:1px;
  text-transform:uppercase;
}
.immo-info-dot{
  width:8px;height:8px;border-radius:50%;
  background:#a4d65e;
  box-shadow:0 0 0 4px rgba(164,214,94,.22);
  animation:immo-dot-pulse 2s ease-in-out infinite;
}
@keyframes immo-dot-pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(164,214,94,.22);}
  50%{box-shadow:0 0 0 8px rgba(164,214,94,.05);}
}
.immo-info-update{
  font-size:.62rem;
  color:rgba(255,255,255,.55);
  font-weight:600;
}
.immo-info-stats{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-bottom:14px;
  position:relative;z-index:1;
}
.immo-info-stat{
  padding:11px 9px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  text-align:center;
}
.immo-info-stat-val{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.4rem;font-weight:700;
  color:var(--gold);
  letter-spacing:.5px;
  line-height:1;
  margin-bottom:4px;
}
.immo-info-stat-lbl{
  font-size:.62rem;
  color:rgba(255,255,255,.65);
  margin-bottom:4px;
  line-height:1.2;
}
.immo-info-stat-trend{
  font-size:.6rem;font-weight:700;
  display:inline-block;
  padding:2px 6px;
  border-radius:4px;
}
.immo-info-stat-trend.up{color:#4dcc7a;background:rgba(77,204,122,.12);}
.immo-info-stat-trend.down{color:#74b0ff;background:rgba(74,158,255,.12);}
.immo-info-stat-trend.neutral{color:rgba(255,255,255,.6);background:rgba(255,255,255,.06);}
.immo-info-cta{
  display:flex;align-items:center;gap:11px;
  padding:11px 13px;
  background:linear-gradient(135deg, rgba(245,197,24,.16), rgba(245,197,24,.04));
  border:1px solid rgba(245,197,24,.32);
  border-radius:12px;
  margin-bottom:10px;
  flex-wrap:wrap;
  position:relative;z-index:1;
}
.immo-info-cta-text{
  flex:1;min-width:170px;
  font-size:.78rem;
  color:rgba(255,255,255,.92);
  line-height:1.45;
}
.immo-info-cta-text b{color:var(--gold);font-weight:700;}
.immo-info-cta-btn{
  padding:10px 16px;
  background:linear-gradient(135deg, #f5c518 0%, #d4a012 100%);
  color:#1a1808;
  border:none;
  border-radius:10px;
  font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:.84rem;
  cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
  box-shadow:0 4px 14px rgba(245,197,24,.32);
  transition:transform var(--dur-fast) var(--ease-out-back);
  white-space:nowrap;
}
.immo-info-cta-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(245,197,24,.45);
}
.immo-info-cta-btn:active{transform:scale(.96);}
.immo-info-foot{
  font-size:.66rem;
  color:rgba(255,255,255,.5);
  text-align:center;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.06);
  line-height:1.4;
  position:relative;z-index:1;
}
:root[data-theme="light"] .immo-info-eyebrow{color:#1a3808;}
:root[data-theme="light"] .immo-info-stat-lbl{color:rgba(26,56,8,.7);}
:root[data-theme="light"] .immo-info-cta-text{color:#1a3808;}
:root[data-theme="light"] .immo-info-foot{color:rgba(26,56,8,.6);}

@media(max-width:480px){
  .immo-info-cta{flex-direction:column;align-items:stretch;}
  .immo-info-cta-btn{justify-content:center;}
  .immo-info-stat-val{font-size:1.2rem;}
}

/* ═══ BADGE QUARTIER (identité locale immobilière) ═══ */
.hero-quartier-badge{
  display:flex;align-items:center;gap:10px;
  margin:0 auto 10px;
  max-width:340px;
  padding:7px 12px;
  background:linear-gradient(135deg, rgba(232,138,74,.14) 0%, rgba(164,214,94,.06) 100%);
  border:1px solid rgba(232,138,74,.32);
  border-radius:11px;
  box-shadow:0 3px 12px rgba(232,138,74,.1);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  animation:hero-quartier-in .6s cubic-bezier(.34,1.56,.64,1) .2s both;
}
@keyframes hero-quartier-in{
  from{opacity:0;transform:translateY(-8px);}
  to{opacity:1;transform:none;}
}
.hero-quartier-svg{
  flex-shrink:0;
  width:48px;height:28px;
  border-radius:5px;
  overflow:hidden;
  box-shadow:0 1px 5px rgba(0,0,0,.18);
  background:linear-gradient(180deg, #c5e088 0%, #a4d65e 60%);
}
.hero-quartier-svg svg{
  width:100%;height:100%;display:block;
}
.hero-quartier-txt{
  flex:1;min-width:0;
}
.hero-quartier-lbl{
  font-family:'Fredoka',sans-serif;
  font-size:.66rem;font-weight:700;
  color:#fff;
  letter-spacing:.4px;
  line-height:1.1;
  text-shadow:0 1px 3px rgba(0,0,0,.4);
}
.hero-quartier-sub{
  font-size:.58rem;
  color:rgba(255,255,255,.65);
  margin-top:2px;
  font-weight:500;
}
:root[data-theme="light"] .hero-quartier-lbl{color:#1a3808;text-shadow:none;}
:root[data-theme="light"] .hero-quartier-sub{color:rgba(26,56,8,.7);}
@media(max-width:480px){
  .hero-quartier-badge{padding:6px 11px;max-width:300px;}
  .hero-quartier-svg{width:42px;height:24px;}
  .hero-quartier-lbl{font-size:.62rem;}
  .hero-quartier-sub{font-size:.56rem;}
}

/* ═══ BADGE QUARTIER (identité locale immobilière) ═══ FIN ═══ */

/* ═══ BADGE FOMO codes dispo ═══ */
.hero-codes-badge{
  display:inline-flex;align-items:center;gap:7px;
  margin:10px auto 0;
  padding:7px 13px;
  background:linear-gradient(135deg, rgba(255,140,30,.18), rgba(255,80,80,.1));
  border:1px solid rgba(255,140,30,.5);
  border-radius:16px;
  font-size:.74rem;font-weight:600;
  color:#fff;
  box-shadow:0 4px 14px rgba(255,140,30,.15);
  animation:hero-codes-pulse 2.4s ease-in-out infinite;
}
.hero-codes-badge b{
  color:#ffb47a;
  font-family:'Bebas Neue',sans-serif;
  font-size:1.08rem;
  letter-spacing:.6px;
}
.hero-codes-badge-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:#ff8c1e;
  flex-shrink:0;
  box-shadow:0 0 0 3px rgba(255,140,30,.25);
  animation:hero-dot-blink 1.4s ease-in-out infinite;
}
@keyframes hero-codes-pulse{
  0%,100%{box-shadow:0 4px 14px rgba(255,140,30,.15);}
  50%{box-shadow:0 4px 18px rgba(255,140,30,.32);}
}
@keyframes hero-dot-blink{
  0%,100%{opacity:1;}
  50%{opacity:.45;}
}

/* KPI bons dans dashboard */
.kpi-green .kpi-val{color:#4dcc7a;}
.kpi-red .kpi-val{color:#ff7878;}
.kpi-gold{
  background:linear-gradient(135deg, rgba(245,197,24,.08), rgba(245,197,24,.04)) !important;
  border-color:rgba(245,197,24,.32) !important;
  transition:transform var(--dur-fast), box-shadow var(--dur-fast);
}
.kpi-gold:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg, rgba(245,197,24,.14), rgba(245,197,24,.06)) !important;
  border-color:rgba(245,197,24,.5) !important;
  box-shadow:0 6px 18px rgba(245,197,24,.18);
}
.kpi-gold .kpi-val{color:var(--gold);}

/* ── CORE ──────────────────────────────────────── */
.tab{color:rgba(255,255,255,.78)!important;}.tab.on{color:var(--gold)!important;}
.adm{display:none!important;}.adm.v{display:flex!important;}
:root:not([data-theme="light"]) .l-lbl,
:root:not([data-theme="light"]) .l-ck{color:rgba(255,255,255,.85)!important;}
:root:not([data-theme="light"]) .l-in{color:rgba(255,255,255,.92)!important;background:rgba(255,255,255,.12)!important;border:1.5px solid rgba(255,255,255,.28)!important;caret-color:#fff035;}
:root:not([data-theme="light"]) .l-in::placeholder{color:rgba(255,255,255,.42)!important;}
:root:not([data-theme="light"]) .l-in:focus{color:#fff!important;background:rgba(255,255,255,.18)!important;border-color:#fff035!important;}
:root:not([data-theme="light"]) .l-in:-webkit-autofill,
:root:not([data-theme="light"]) .l-in:-webkit-autofill:hover{-webkit-text-fill-color:rgba(255,255,255,.92)!important;-webkit-box-shadow:0 0 0 1000px rgba(20,45,10,.96) inset!important;}

/* Mode light : inputs login avec contraste correct */
:root[data-theme="light"] .l-lbl,
:root[data-theme="light"] .l-ck{color:#1a2810!important;}
:root[data-theme="light"] .l-in{color:#1a2810!important;background:#fff!important;border:1.5px solid rgba(20,40,10,.25)!important;caret-color:#8a6300;}
:root[data-theme="light"] .l-in::placeholder{color:rgba(26,40,16,.4)!important;}
:root[data-theme="light"] .l-in:focus{color:#1a2810!important;background:#fffcf0!important;border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(245,197,24,.22)!important;}
:root[data-theme="light"] .l-in:-webkit-autofill,
:root[data-theme="light"] .l-in:-webkit-autofill:hover{-webkit-text-fill-color:#1a2810!important;-webkit-box-shadow:0 0 0 1000px #fff inset!important;}

/* ── HEADER ───────────────────────────────────── */
.hi{display:flex;align-items:center;gap:8px;padding:8px 14px;min-height:52px;}
.h-brand{flex:1;min-width:0;}
.h-title{font-size:clamp(.82rem,2.8vw,1.4rem);letter-spacing:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.h-tagline{font-size:.52rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.h-badge{font-size:.48rem;line-height:1.4;text-align:right;flex-shrink:0;color:var(--faint);max-width:90px;}
.h-user{display:flex;align-items:center;gap:5px;cursor:pointer;}
.h-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.75rem;flex-shrink:0;transition:transform .15s,box-shadow .15s;}
.h-av:hover{transform:scale(1.08);box-shadow:0 0 0 2px var(--gold);}
.h-nm{font-size:.62rem;max-width:75px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ── TABS ─────────────────────────────────────── */
.tabs{display:flex;overflow-x:auto;scrollbar-width:none;background:var(--tab-bg);border-bottom:1px solid var(--border);position:sticky;top:60px;z-index:199;transition:background .3s ease;}
.tab{flex:1;min-width:0;padding:10px 4px;border:none;background:transparent;color:var(--dim);font-family:'DM Sans',sans-serif;font-size:.62rem;font-weight:700;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:1px;}
.tab-ico{font-size:1rem;line-height:1;}.tab-lbl{font-size:.5rem;font-weight:700;text-transform:uppercase;}
.tab.on{color:var(--gold);border-bottom-color:var(--gold);background:rgba(245,197,24,.06);}

/* ── BADGES & MISSIONS ─────────────────────────── */
.badge-pill{display:inline-flex;align-items:center;gap:5px;background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.25);border-radius:20px;padding:4px 10px;margin:3px;cursor:default;transition:all .2s;}
.badge-pill:hover{background:rgba(245,197,24,.18);transform:translateY(-1px);}
.badge-locked{background:rgba(255,255,255,.04)!important;border-color:var(--border)!important;opacity:.65;}
.badge-ico{font-size:1rem;}.badge-lbl{font-size:.65rem;font-weight:700;color:var(--gold);}
.ms-badges{display:flex;flex-wrap:wrap;gap:2px;padding:4px 0;}
.mission-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;margin-bottom:6px;}
.mission-row.done{background:rgba(77,204,122,.06);border-color:rgba(77,204,122,.2);}
.mission-ico{font-size:1.2rem;width:28px;text-align:center;flex-shrink:0;}
.mission-info{flex:1;min-width:0;}.mission-label{font-size:.78rem;font-weight:700;color:#fff;display:block;}.mission-desc{font-size:.62rem;color:var(--faint);display:block;margin-top:1px;}
.mission-pts{font-size:.72rem;font-weight:800;color:var(--faint);padding:3px 8px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid var(--border);white-space:nowrap;}
.mission-pts.earned{color:#4dcc7a;background:rgba(77,204,122,.1);border-color:rgba(77,204,122,.25);}

/* ── MON PROFIL / PROFIL PUBLIC ────────────────── */
.ms-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:12px;animation:bc-fade-in .3s ease both;}
.ms-panel{background:linear-gradient(160deg,#1c1c1e,#141416);border-radius:20px;max-width:560px;width:100%;max-height:92vh;overflow-y:auto;padding:20px;border:1px solid var(--border);box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(245,197,24,.08);animation:bc-pop .45s cubic-bezier(.34,1.56,.64,1) both;}
.ms-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.ms-avatar{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem;color:#141414;flex-shrink:0;box-shadow:0 4px 14px rgba(245,197,24,.35);}
.ms-info{flex:1;min-width:0;}.ms-name{font-weight:800;font-size:1.05rem;color:#fff;}.ms-sub{font-size:.66rem;color:var(--faint);margin-top:2px;}.ms-rank{font-size:.7rem;color:var(--gold);font-weight:700;margin-top:4px;}
.ms-kpis{display:flex;gap:6px;flex-wrap:wrap;padding:12px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border-radius:13px;border:1px solid var(--border);margin-bottom:12px;}
.ms-kpi{display:flex;flex-direction:column;align-items:center;flex:1;min-width:52px;transition:transform .2s;}
.ms-kpi:hover{transform:translateY(-1px);}
.ms-kpi b{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums;}
.ms-kpi small{font-size:.52rem;color:var(--faint);text-transform:uppercase;letter-spacing:.5px;text-align:center;margin-top:2px;}

/* ═══ SPARKLINE PROGRESSION ═══ */
.ms-spark-block{
  margin-bottom:12px;
  padding:13px 14px;
  background:linear-gradient(135deg, rgba(164,214,94,.06), rgba(164,214,94,.02));
  border:1px solid rgba(164,214,94,.22);
  border-radius:13px;
}
.ms-spark-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:6px;
}
.ms-spark-title{
  font-size:.72rem;font-weight:700;letter-spacing:.4px;
  text-transform:uppercase;color:rgba(255,255,255,.7);
}
.ms-spark-val{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.3rem;color:var(--vert-pomme);
  line-height:1;font-variant-numeric:tabular-nums;
  letter-spacing:1px;
}
.ms-spark-svg{
  width:100%;
  height:60px;
  display:block;
}
.ms-spark-foot{
  font-size:.62rem;color:var(--faint);
  margin-top:4px;text-align:right;
  font-weight:600;letter-spacing:.2px;
}

/* ═══ DISTRIBUTION BAR ═══ */
.ms-dist-block{
  margin-bottom:14px;
  padding:13px 14px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:13px;
}
.ms-dist-header{
  font-size:.72rem;font-weight:700;letter-spacing:.4px;
  text-transform:uppercase;color:rgba(255,255,255,.7);
  margin-bottom:9px;
}
.ms-dist-bar{
  display:flex;
  height:22px;
  border-radius:11px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.18);
}
.ms-dist-seg{
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:800;
  color:#fff;
  letter-spacing:.3px;
  transition:width .8s cubic-bezier(.16,1,.3,1);
  position:relative;
}
.ms-dist-seg.ms-dist-exact{background:linear-gradient(135deg, var(--gold), #d4a012);color:#1a3808;}
.ms-dist-seg.ms-dist-win{background:linear-gradient(135deg, var(--vert-pomme), #92c450);color:var(--surface-deep);}
.ms-dist-seg.ms-dist-lost{background:linear-gradient(135deg, rgba(255,80,80,.3), rgba(255,80,80,.18));color:rgba(255,255,255,.92);}
.ms-dist-legend{
  display:flex;flex-wrap:wrap;gap:14px;
  margin-top:10px;
  font-size:.7rem;color:rgba(255,255,255,.78);
}
.ms-dist-leg{display:inline-flex;align-items:center;gap:5px;font-weight:600;}
.ms-dist-leg-dot{
  width:9px;height:9px;border-radius:50%;
  display:inline-block;
}
.ms-dist-leg-dot.ms-dist-exact{background:var(--gold);}
.ms-dist-leg-dot.ms-dist-win{background:var(--vert-pomme);}
.ms-dist-leg-dot.ms-dist-lost{background:rgba(255,80,80,.5);}

:root[data-theme="light"] .ms-spark-block{
  background:linear-gradient(135deg, rgba(74,124,26,.07), rgba(74,124,26,.02));
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .ms-spark-title{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .ms-dist-block{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.08);}
:root[data-theme="light"] .ms-dist-header{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .ms-dist-legend{color:rgba(10,26,4,.78);}
.ms-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:12px;overflow-x:auto;scrollbar-width:none;}
.ms-tab{flex:1;min-width:55px;padding:8px 4px;font-size:.66rem;font-weight:700;background:none;border:none;border-bottom:2px solid transparent;color:var(--dim);cursor:pointer;transition:all .15s;white-space:nowrap;letter-spacing:.3px;}
.ms-tab:hover:not(.on){color:var(--text);}
.ms-tab.on{color:var(--gold);border-bottom-color:var(--gold);}
.ms-pane{min-height:60px;}.ms-bon-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:9px;margin-bottom:6px;font-size:.85rem;}
.ms-bons-section{margin-bottom:18px;}
.ms-bons-section:last-child{margin-bottom:0;}
.ms-bons-section-used{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);}
.ms-bons-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:1.5px;color:var(--gold);margin-bottom:10px;padding-left:2px;}
.ms-bons-title small{font-family:'Inter',sans-serif;font-size:.65rem;letter-spacing:.3px;text-transform:none;color:var(--dim);font-weight:500;display:block;margin-top:2px;}
.ms-bons-title-active{color:#f5c518;}
.ms-bons-title-used{color:rgba(255,255,255,.6);}
:root[data-theme="light"] .ms-bons-title-used{color:rgba(26,40,16,.55);}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ BON TICKET — Carte riche dans Mon Profil ▓▓▓
   ════════════════════════════════════════════════════════════ */
.bon-ticket{
  position:relative;
  background:linear-gradient(135deg, #fffbeb 0%, #fff5d6 100%);
  color:#1a3808;
  border-radius:16px;padding:16px 18px;margin-bottom:12px;
  cursor:pointer;
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
  box-shadow:var(--elev-2), inset 0 1px 0 rgba(255,255,255,.45), inset 0 -2px 0 rgba(0,0,0,.04);
  overflow:hidden;
}
.bon-ticket::before,.bon-ticket::after{
  content:'';position:absolute;top:50%;
  transform:translateY(-50%);
  width:22px;height:22px;
  background:var(--surface-elevated,#1a2810);
  border-radius:50%;z-index:1;
  box-shadow:inset 0 0 4px rgba(0,0,0,.2);
}
.bon-ticket::before{left:-11px;}
.bon-ticket::after{right:-11px;}
:root[data-theme="light"] .bon-ticket::before,
:root[data-theme="light"] .bon-ticket::after{background:#c5e088;}

.bon-ticket-active{
  border:2px solid #f5c518;
  animation:bonpulse 3s ease-in-out infinite;
}
@keyframes bonpulse{
  0%,100%{box-shadow:var(--elev-2), inset 0 1px 0 rgba(255,255,255,.45), 0 0 0 0 rgba(245,197,24,.42);}
  50%{box-shadow:var(--elev-2), inset 0 1px 0 rgba(255,255,255,.45), 0 0 0 10px rgba(245,197,24,0);}
}
.bon-ticket-active:hover{
  transform:translateY(-4px) scale(1.01);
  box-shadow:var(--elev-4), inset 0 1px 0 rgba(255,255,255,.5), 0 0 0 0 rgba(245,197,24,.42);
}
.bon-ticket-active:active{transform:translateY(0) scale(.98);}

/* Pattern interne discret */
.bon-ticket-active::after{box-shadow:inset 0 0 0 1px rgba(245,197,24,.2);}

.bon-tk-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:10px;position:relative;z-index:2;}
.bon-tk-ico{font-size:2rem;line-height:1;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));}
.bon-tk-info{flex:1;min-width:0;}
.bon-tk-name{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:.5px;color:#1a3808;line-height:1.1;margin-bottom:2px;}
.bon-tk-offer{font-size:.78rem;color:#3d5e10;font-weight:600;line-height:1.35;}
.bon-tk-pill{font-size:.62rem;font-weight:800;padding:4px 9px;border-radius:6px;flex-shrink:0;letter-spacing:.4px;white-space:nowrap;line-height:1;display:inline-flex;align-items:center;height:fit-content;}
.bon-tk-pill-flash{background:linear-gradient(135deg,#f5c518,#e6683c);color:#fff;}
.bon-tk-pill-std{background:rgba(77,204,122,.18);color:#2d6e1a;border:1px solid rgba(77,204,122,.4);}

.bon-tk-divider{height:1px;border-top:2px dashed rgba(0,0,0,.15);margin:10px 0;position:relative;z-index:2;}

.bon-tk-bottom{display:flex;align-items:center;gap:11px;position:relative;z-index:2;flex-wrap:wrap;}
.bon-tk-code-block{flex:1;min-width:110px;background:#1a3808;padding:8px 11px;border-radius:8px;border:2px dashed rgba(245,197,24,.45);}
.bon-tk-code-lbl{font-size:.55rem;color:rgba(245,197,24,.7);letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:1px;}
.bon-tk-code{font-family:'Courier New',monospace;font-size:1rem;color:#f5c518;font-weight:800;letter-spacing:2px;}
.bon-tk-cta{flex:1;min-width:140px;padding:11px 14px;background:linear-gradient(135deg,#2d6e1a,#1f5210);color:#fff;border:none;border-radius:9px;font-weight:800;font-size:.78rem;cursor:pointer;letter-spacing:.3px;transition:all .2s;box-shadow:0 3px 8px rgba(45,110,26,.35);}
.bon-tk-cta:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 14px rgba(45,110,26,.5);}
.bon-tk-cta:active{transform:translateY(0) scale(.97);}

/* USED — compact */
.bon-ticket-used{display:flex;align-items:center;gap:11px;padding:9px 13px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;opacity:.7;color:var(--text);box-shadow:none;}
.bon-ticket-used:hover{opacity:1;border-color:rgba(77,204,122,.3);}
.bon-ticket-used::before,.bon-ticket-used::after{display:none;}
.bon-tk-used-ico{font-size:1.4rem;line-height:1;flex-shrink:0;opacity:.7;}
.bon-tk-used-body{flex:1;min-width:0;}
.bon-tk-used-name{font-size:.82rem;font-weight:700;line-height:1.2;}
.bon-tk-used-meta{font-size:.68rem;color:var(--dim);line-height:1.35;margin-top:2px;}
.bon-tk-used-status{font-size:1.1rem;color:#4dcc7a;text-align:right;line-height:1;flex-shrink:0;}
.bon-tk-used-status small{font-size:.55rem;color:var(--faint);display:block;margin-top:2px;font-weight:500;}

@media(max-width:380px){
  .bon-tk-name{font-size:1rem;}
  .bon-tk-offer{font-size:.72rem;}
  .bon-tk-code{font-size:.88rem;letter-spacing:1.5px;}
  .bon-tk-cta{font-size:.74rem;padding:10px 12px;}
}
/* ════════════════════════════════════════════════════════════ */
.ms-bons-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:1.5px;color:var(--gold);margin-bottom:7px;padding-bottom:4px;border-bottom:1px solid var(--border);}
.ms-bons-title small{font-family:'DM Sans',sans-serif;font-size:.62rem;color:var(--dim);letter-spacing:.2px;font-weight:400;text-transform:none;margin-left:6px;}
:root[data-theme="light"] .ms-bon-row{background:#fff;color:#1a2810;}
:root[data-theme="light"] .ms-bons-title{color:#8a6300;}

/* ── CLASSEMENT TOP 3 PREMIUM ────────────────────────────────── */
.cl-top3{display:flex;gap:10px;margin-bottom:18px;justify-content:center;align-items:flex-end;}
.cl-card{
  flex:1;min-width:90px;max-width:140px;
  border-radius:18px;padding:14px 10px 16px;
  border:1.5px solid;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  position:relative;
  overflow:hidden;
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
  box-shadow:var(--elev-2);
  animation:cl-card-in .6s var(--ease-out-back) both;
}
.cl-card:nth-child(1){
  animation-delay:.3s;
  order:2;
  transform:translateY(-8px);
  z-index:3;
}
.cl-card:nth-child(2){
  animation-delay:.1s;
  order:1;
  z-index:2;
}
.cl-card:nth-child(3){
  animation-delay:.2s;
  order:3;
  z-index:1;
}
.cl-card:nth-child(1)::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg, transparent, #f5c518, #ffe566, #f5c518, transparent);
  border-radius:18px 18px 0 0;
}
@keyframes cl-card-in{
  from{opacity:0;transform:translateY(28px) scale(.9);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.cl-card:nth-child(1){animation-delay:.3s;}
.cl-card:hover{
  transform:translateY(-12px) scale(1.03);
  box-shadow:var(--elev-4);
}
.cl-card:nth-child(1):hover{transform:translateY(-14px) scale(1.04);}
.cl-card-rank{
  font-size:1.8rem;line-height:1;
  filter:drop-shadow(0 4px 12px rgba(245,197,24,.32));
  animation:cl-rank-bounce 3s ease-in-out infinite;
}
@keyframes cl-rank-bounce{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-4px) rotate(-5deg);}
}
.cl-card-av{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1rem;color:#141414;margin:5px 0;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.35), 0 4px 12px rgba(0,0,0,.18);
}
.cl-card-name{
  font-size:.74rem;font-weight:700;color:#fff;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  max-width:100%;
}
.cl-card-pts{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.4rem;color:var(--vert-pomme);
  line-height:1;
}
.cl-card-pts span{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.56rem;color:var(--faint);}
.cl-card-lot{font-size:.62rem;color:var(--vert-pomme);margin-top:2px;font-weight:600;}

/* ── PARTENAIRES ───────────────────────────────── */
.pc-ig{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:.68rem;font-weight:700;color:#c13584;text-decoration:none;background:linear-gradient(135deg,rgba(225,48,108,.1),rgba(193,53,132,.06));border:1px solid rgba(193,53,132,.25);border-radius:20px;padding:4px 11px;transition:all .2s;}
.pc-ig:hover{opacity:.75;transform:translateY(-1px);}
.tv-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(220,50,50,.12);border:1px solid rgba(220,50,50,.3);border-radius:5px;padding:3px 8px;font-size:.62rem;font-weight:700;color:#ff6060;margin-top:3px;}

/* ── TST BANNER ────────────────────────────────── */
.tst-banner{background:linear-gradient(135deg,rgba(255,240,53,.12),rgba(255,240,53,.04));border:1.5px solid rgba(255,240,53,.28);border-radius:10px;padding:10px 14px;margin-bottom:10px;font-size:.72rem;color:var(--gold);font-weight:700;}
.tst-badge{display:inline-block;background:rgba(255,240,53,.15);border:1px solid rgba(255,240,53,.3);border-radius:6px;padding:1px 7px;font-size:.55rem;font-weight:800;color:var(--gold);letter-spacing:1px;vertical-align:middle;margin-left:4px;}

/* ── LIVE ──────────────────────────────────────── */
.live-badge-anim{animation:live-pulse 1.5s infinite!important;background:rgba(255,50,50,.15)!important;border-color:rgba(255,80,80,.4)!important;color:#ff6060!important;}
@keyframes live-pulse{0%{opacity:1;}50%{opacity:.65;}100%{opacity:1;}}
.live-header{display:flex;align-items:center;gap:8px;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:2px;color:var(--gold);padding:14px 0 10px;border-bottom:1px solid var(--border);margin-bottom:16px;}
.live-pulse{width:10px;height:10px;border-radius:50%;background:#4dcc7a;animation:pulse-live 1.8s infinite;}
@keyframes pulse-live{0%{box-shadow:0 0 0 0 rgba(77,204,122,.4);}70%{box-shadow:0 0 0 8px rgba(77,204,122,0);}100%{box-shadow:0 0 0 0 rgba(77,204,122,0);}}
.live-section-title{font-size:.68rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);margin:18px 0 10px;display:flex;align-items:center;gap:6px;}
.live-section-title::after{content:'';flex:1;height:1px;background:var(--border);}
.live-card{
  background:linear-gradient(135deg, rgba(164,214,94,.06), rgba(164,214,94,.02));
  border:1px solid var(--border);
  border-radius:16px;padding:16px;margin-bottom:13px;
  position:relative;
  transition:transform var(--dur-med) var(--ease-out-back),
             border-color var(--dur-fast),
             box-shadow var(--dur-med) var(--ease-out-expo);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:var(--elev-1);
}
.live-card:hover{
  border-color:rgba(164,214,94,.4);
  box-shadow:var(--elev-3);
  transform:translateY(-2px);
}
.live-card.live-on{
  background:linear-gradient(135deg, rgba(255,80,80,.08), rgba(255,80,80,.02));
  border-color:rgba(255,80,80,.5);
  box-shadow:0 0 0 1px rgba(255,80,80,.2),
             0 8px 22px rgba(255,80,80,.12),
             0 0 32px rgba(255,80,80,.1);
}
.live-card.live-on::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, transparent, #ff5050, transparent);
  border-radius:16px 16px 0 0;
  animation:live-pulse-bar 1.5s ease-in-out infinite;
}
@keyframes live-pulse-bar{
  0%,100%{opacity:.5;}
  50%{opacity:1;}
}

/* ═══ HORLOGE LIVE PREMIUM ═══ */
.live-clock-display{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;
  background:linear-gradient(135deg, rgba(255,80,80,.18), rgba(255,80,80,.08));
  border:1.5px solid rgba(255,80,80,.45);
  border-radius:20px;
  font-family:'Bebas Neue', sans-serif;
  font-size:.88rem;font-weight:700;
  letter-spacing:1.5px;
  color:#ff8585;
  box-shadow:0 0 12px rgba(255,80,80,.18),
             inset 0 1px 0 rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.live-clock-display::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
  transform:translateX(-100%);
  animation:live-clock-shimmer 3s ease-in-out infinite;
}
@keyframes live-clock-shimmer{
  0%{transform:translateX(-100%);}
  100%{transform:translateX(100%);}
}
.live-clock-dot{
  width:8px;height:8px;border-radius:50%;
  background:#ff5050;
  position:relative;
  animation:live-clock-pulse 1s ease-in-out infinite;
}
.live-clock-dot::after{
  content:'';position:absolute;inset:-3px;
  border-radius:50%;
  border:2px solid #ff5050;
  opacity:.6;
  animation:live-clock-ring 1.4s ease-out infinite;
}
@keyframes live-clock-pulse{
  0%,100%{transform:scale(1);background:#ff5050;}
  50%{transform:scale(1.25);background:#ff8585;}
}
@keyframes live-clock-ring{
  0%{transform:scale(.8);opacity:.8;}
  100%{transform:scale(1.8);opacity:0;}
}
.live-clock-minute{
  font-variant-numeric:tabular-nums;
  min-width:24px;text-align:center;
}

/* MI-TEMPS state */
.live-clock-mt{
  background:linear-gradient(135deg, rgba(245,197,24,.18), rgba(245,197,24,.08));
  border-color:rgba(245,197,24,.45);
  color:var(--gold);
  box-shadow:0 0 12px rgba(245,197,24,.2);
}
.live-clock-mt .live-clock-dot{background:var(--gold);animation:none;}
.live-clock-mt .live-clock-dot::after{display:none;}

/* SCOREBOARD style ⚽ */
.live-scoreboard{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 18px 14px;
  background:linear-gradient(160deg, rgba(0,0,0,.4), rgba(0,0,0,.2));
  border-radius:14px;
  margin:10px 0 6px;
  border:1px solid rgba(255,255,255,.05);
  position:relative;
  overflow:hidden;
}
.live-scoreboard::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at center, rgba(164,214,94,.06), transparent 70%);
  pointer-events:none;
}
.live-scoreboard-team{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;
  position:relative;z-index:1;
  min-width:0;
}
.live-scoreboard-flag{font-size:2.4rem;line-height:1;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4));}
.live-scoreboard-name{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.78rem;color:#fff;
  text-align:center;letter-spacing:-.1px;
  max-width:88px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.live-scoreboard-vs{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  position:relative;z-index:1;
  min-width:70px;
}
.live-scoreboard-score{
  font-family:'Bebas Neue',sans-serif;font-weight:700;
  font-size:2.4rem;line-height:1;color:#fff;letter-spacing:2px;
  font-variant-numeric:tabular-nums;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
}
.live-scoreboard-score .ls-num{
  display:inline-block;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1);
}
.live-scoreboard-score .ls-num.score-bump{
  animation:score-pop .9s cubic-bezier(.34,1.56,.64,1);
}
@keyframes score-pop{
  0%{transform:scale(1);}
  40%{transform:scale(1.4) translateY(-4px);color:var(--vert-pomme);}
  100%{transform:scale(1);color:#fff;}
}
.live-scoreboard-sep{
  color:rgba(255,255,255,.32);
  font-family:'Bebas Neue',sans-serif;
  font-size:1.6rem;
}

/* Si l'équipe gagne en live (score > l'autre) */
.live-scoreboard-team.winning .live-scoreboard-name{
  color:var(--vert-pomme);
}
.live-scoreboard-team.winning .live-scoreboard-flag{
  animation:winning-bounce 1.6s ease-in-out infinite;
}
@keyframes winning-bounce{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}

/* Sur mode jour */
:root[data-theme="light"] .live-scoreboard{
  background:linear-gradient(160deg, rgba(255,255,255,.5), rgba(255,255,255,.3));
  border-color:rgba(0,0,0,.06);
}
:root[data-theme="light"] .live-scoreboard-name{color:#0a1a04;}
:root[data-theme="light"] .live-scoreboard-score{color:#0a1a04;text-shadow:none;}
:root[data-theme="light"] .live-scoreboard-sep{color:rgba(0,0,0,.3);}

@media(max-width:380px){
  .live-scoreboard{padding:14px 10px 12px;gap:8px;}
  .live-scoreboard-flag{font-size:2rem;}
  .live-scoreboard-name{font-size:.7rem;max-width:70px;}
  .live-scoreboard-score{font-size:1.9rem;}
  .live-scoreboard-vs{min-width:54px;}
  .live-clock-display{padding:4px 9px;font-size:.78rem;}
}

.live-match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:6px;}
.live-match-teams{font-weight:800;font-size:.88rem;color:#fff;}.vs-sep{color:var(--faint);font-size:.72rem;margin:0 4px;}
.live-badge{font-size:.58rem;font-weight:700;padding:3px 9px;border-radius:20px;}
.open-badge{background:rgba(77,204,122,.12);border:1px solid rgba(77,204,122,.3);color:#4dcc7a;}
.locked-badge{background:rgba(255,120,120,.1);border:1px solid rgba(255,120,120,.25);color:#ff7878;}
.soon-badge{background:rgba(245,197,24,.12);border:1px solid rgba(245,197,24,.3);color:var(--gold);animation:pulse-live 1.2s infinite;}
.score-badge{background:rgba(74,158,255,.12);border:1px solid rgba(74,158,255,.3);color:#4a9eff;}
.live-trend-label{font-size:.62rem;color:var(--faint);margin-bottom:6px;font-style:italic;}
.live-bars{display:flex;flex-direction:column;gap:5px;margin-bottom:8px;}
.live-bar-row{display:flex;align-items:center;gap:6px;}
.lbr-lbl{font-size:.6rem;color:var(--dim);min-width:58px;text-align:right;}
.lbr-track{flex:1;height:8px;background:rgba(255,255,255,.07);border-radius:4px;overflow:hidden;}
.lbr-fill{height:100%;border-radius:4px;transition:width .6s ease;}
.lbr-fill.eq1{background:linear-gradient(90deg,#4a9eff,#2266cc);}.lbr-fill.nul{background:linear-gradient(90deg,rgba(255,255,255,.4),rgba(255,255,255,.2));}.lbr-fill.eq2{background:linear-gradient(90deg,#f5a623,#c47c10);}
.lbr-val{font-size:.6rem;font-weight:700;color:var(--dim);min-width:28px;}.live-topscore{font-size:.64rem;color:var(--faint);margin-top:4px;}.live-topscore b{color:var(--gold);}
.live-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px;}@media(max-width:560px){.live-layout{grid-template-columns:1fr;}}
.live-feed{display:flex;flex-direction:column;gap:6px;}
.live-feed-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;animation:fadeInUp .3s ease both;}
@keyframes fadeInUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.lfi-av{width:30px;height:30px;border-radius:50%;background:var(--gold);color:#141414;font-weight:800;font-size:.78rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lfi-body{flex:1;min-width:0;font-size:.72rem;color:rgba(255,255,255,.85);}
.lfi-score{font-family:'Bebas Neue',sans-serif;font-size:1rem;color:var(--gold);}
.lfi-match{font-size:.58rem;color:var(--faint);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.live-classement{display:flex;flex-direction:column;gap:6px;}
.live-cl-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;}
.live-cl-row:first-child{background:rgba(245,197,24,.08);border-color:rgba(245,197,24,.2);}
.lcr-rank{font-size:1rem;min-width:24px;text-align:center;}
.lcr-av{width:26px;height:26px;border-radius:50%;background:var(--gold);color:#141414;font-weight:800;font-size:.7rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lcr-nom{flex:1;font-size:.75rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lcr-pts{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--gold);}
.lcr-pts small{font-size:.55rem;color:var(--faint);font-family:'DM Sans',sans-serif;}

/* ── ADMIN MODAL ───────────────────────────────── */
.um-stat{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:55px;}
.um-stat b{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--gold);line-height:1;}
.um-stat small{font-size:.52rem;color:var(--faint);text-transform:uppercase;letter-spacing:.6px;}
.um-tab{transition:all .15s;}.um-tab.on{color:var(--gold)!important;border-bottom-color:var(--gold)!important;}
.um-info-card{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:9px;padding:9px 11px;}
.um-info-lbl{font-size:.55rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--faint);margin-bottom:3px;}
.um-info-val{font-size:.78rem;color:var(--text);font-weight:600;line-height:1.3;}

/* ─── Section Matchs Terminés ─── */
.results-section{margin:14px 0 8px;background:linear-gradient(135deg,rgba(245,197,24,.06),rgba(245,197,24,.02));border:1px solid rgba(245,197,24,.18);border-radius:14px;padding:14px;}
.results-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.results-title{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:2px;color:var(--gold);}
.results-stats{display:flex;gap:5px;flex-wrap:wrap;}
.rs-pill{font-size:.62rem;font-weight:800;padding:3px 9px;border-radius:20px;border:1px solid;}
.rs-pill.rs-3{background:rgba(245,197,24,.15);border-color:rgba(245,197,24,.4);color:var(--gold);}
.rs-pill.rs-1{background:rgba(77,204,122,.12);border-color:rgba(77,204,122,.35);color:#4dcc7a;}
.rs-pill.rs-0{background:rgba(255,120,120,.1);border-color:rgba(255,120,120,.3);color:#ff7878;}
.rs-pill.rs-empty{background:rgba(255,255,255,.04);border-color:var(--border);color:var(--faint);}
.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:11px;}
.result-card{
  background:linear-gradient(155deg, rgba(10,15,4,.42), rgba(10,15,4,.22));
  border:1px solid var(--border);
  border-radius:14px;
  padding:13px 14px;
  position:relative;overflow:hidden;
  transition:transform var(--dur-med) var(--ease-out-back),
             border-color var(--dur-fast),
             box-shadow var(--dur-med) var(--ease-out-expo);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:var(--elev-1);
}
.result-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--elev-3);
  border-color:rgba(164,214,94,.32);
}
.result-card.rb-3{
  border-color:rgba(245,197,24,.55);
  box-shadow:var(--elev-2), 0 0 20px -4px rgba(245,197,24,.42);
}
.result-card.rb-3:hover{box-shadow:var(--elev-3), 0 0 28px -4px rgba(245,197,24,.55);}
.result-card.rb-1{border-color:rgba(77,204,122,.42);}
.result-card.rb-0{border-color:rgba(255,120,120,.32);}
.rc-badge{
  position:absolute;top:0;right:0;
  font-size:.58rem;font-weight:800;letter-spacing:.8px;
  padding:5px 11px;
  border-bottom-left-radius:14px;
  text-transform:uppercase;
}
.result-card.rb-3 .rc-badge{
  background:linear-gradient(135deg, rgba(245,197,24,.32), rgba(245,197,24,.18));
  color:var(--gold);
  box-shadow:inset 0 -1px 0 rgba(245,197,24,.32);
}
.result-card.rb-1 .rc-badge{background:rgba(77,204,122,.22);color:#5fd98a;}
.result-card.rb-0 .rc-badge{background:rgba(255,120,120,.18);color:#ff8888;}
.result-card.rb-empty .rc-badge{background:rgba(255,255,255,.06);color:var(--faint);}
.rc-teams{display:flex;align-items:center;gap:10px;margin:22px 0 10px;}
.rc-team{flex:1;font-size:.82rem;font-weight:600;color:var(--dim);min-width:0;}
.rc-team:first-child{text-align:right;}
.rc-team:last-child{text-align:left;}
.rc-team.rc-win{color:#fff;font-weight:800;}
.rc-score{
  display:flex;align-items:center;gap:6px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.85rem;color:#fff;
  letter-spacing:.5px;line-height:1;flex-shrink:0;
}
.rc-dash{color:var(--faint);font-size:1.4rem;}
.rc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:9px;border-top:1px solid rgba(164,214,94,.08);}
.rc-meta{font-size:.6rem;color:var(--faint);font-weight:500;}
.rc-prono{font-size:.66rem;color:var(--dim);}
.rc-prono b{color:var(--text);}
@media(max-width:480px){.results-grid{grid-template-columns:1fr;}}

/* ─── Carrousel matchs terminés (>6) ─── */
.results-carousel-wrap{position:relative;display:flex;align-items:center;gap:4px;}
.results-carousel{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 12px;-webkit-overflow-scrolling:touch;flex:1;min-width:0;scrollbar-width:thin;scrollbar-color:rgba(245,197,24,.35) transparent;}
.results-carousel::-webkit-scrollbar{height:6px;}
.results-carousel::-webkit-scrollbar-track{background:transparent;}
.results-carousel::-webkit-scrollbar-thumb{background:rgba(245,197,24,.35);border-radius:3px;}
.results-carousel .result-card{flex:0 0 280px;min-width:280px;scroll-snap-align:start;}
.rcb-arrow{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:rgba(245,197,24,.12);border:1px solid rgba(245,197,24,.35);color:var(--gold);cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:all .15s;align-self:center;}
.rcb-arrow:hover{background:rgba(245,197,24,.25);transform:scale(1.08);}
.rcb-arrow:active{transform:scale(.95);}
.rc-counter{text-align:center;font-size:.6rem;color:var(--faint);margin-top:2px;font-style:italic;}
@media(max-width:480px){
  .results-carousel .result-card{flex:0 0 88%;min-width:88%;}
  .rcb-arrow{display:none;} /* sur mobile on swipe avec le doigt */
  .results-carousel-wrap{gap:0;}
}

/* ─── Mini-rank en haut des pronos ─── */
.mini-rank{
  margin:12px 0;
  background:linear-gradient(135deg, rgba(164,214,94,.06), rgba(164,214,94,.02));
  border:1px solid var(--border);border-radius:14px;
  padding:13px 15px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:var(--elev-1);
}
.mini-rank-title{font-size:.78rem;color:var(--dim);margin-bottom:8px;font-weight:600;}
.mini-rank-title b{color:var(--vert-pomme);font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.2px;}
.mini-rank-title sup{font-size:.62rem;}
.mini-rank-list{display:flex;flex-direction:column;gap:4px;}
.mini-rank-row{
  display:flex;align-items:center;gap:10px;
  padding:7px 10px;border-radius:9px;
  font-size:.75rem;
  transition:background var(--dur-fast);
}
.mini-rank-row:hover{background:rgba(164,214,94,.06);}
.mini-rank-row.me{
  background:linear-gradient(135deg, rgba(164,214,94,.16), rgba(164,214,94,.08));
  border:1px solid rgba(164,214,94,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.mini-rank-row.me .mr-name{color:var(--vert-pomme);font-weight:800;}
.mr-rank{min-width:36px;font-size:.92rem;font-family:'Fredoka',sans-serif;font-weight:700;}
.mr-name{flex:1;color:var(--dim);font-weight:600;}
.mr-pts{font-size:.7rem;color:var(--faint);font-weight:700;}
.mini-rank-row.me .mr-pts{color:var(--vert-pomme);}

/* ─── Flash anim quand un nouveau résultat tombe ─── */
@keyframes result-flash{0%{box-shadow:0 0 0 0 rgba(245,197,24,.7);}70%{box-shadow:0 0 0 14px rgba(245,197,24,0);}100%{box-shadow:0 0 0 0 rgba(245,197,24,0);}}
.result-card.just-in{animation:result-flash 1.6s 2;}

/* ─── Badge "X pronos à faire" sur l'onglet Pronos premium ─── */
.tab-count-badge{
  position:absolute;top:5px;right:14px;
  min-width:18px;height:18px;padding:0 5px;border-radius:9px;
  background:linear-gradient(135deg, #ff5050, #ff7878);
  color:#fff;font-size:.6rem;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 2px var(--bg,#0e0e10), 0 2px 6px rgba(255,80,80,.4);
  animation:badge-pulse 2s ease-in-out infinite;
}
@keyframes badge-pulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.1);}
}

/* ─── News du quartier ─── */
.news-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.news-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:11px 14px;
  border:1px solid;border-radius:12px;
  animation:fadeInUp .35s var(--ease-out-back) both;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:var(--elev-1);
  transition:transform var(--dur-fast), box-shadow var(--dur-fast);
}
.news-item:hover{transform:translateX(3px);box-shadow:var(--elev-2);}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ MODALE ESTIMATION PREMIUM ▓▓▓
   ════════════════════════════════════════════════════════════ */
.estim-overlay{
  position:fixed;inset:0;z-index:5000;
  display:flex;align-items:center;justify-content:center;
  padding:12px;
  background:rgba(10,15,4,.78);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  animation:estim-overlay-in .4s var(--ease-out-expo);
}
@keyframes estim-overlay-in{from{opacity:0;}to{opacity:1;}}

.estim-card-pro{
  position:relative;
  width:100%;max-width:480px;max-height:92vh;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:24px;
  box-shadow:
    var(--elev-5),
    0 0 0 1px rgba(164,214,94,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
  animation:estim-card-in .55s var(--ease-out-back);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.estim-card-pro .estim-body{
  overflow-y:auto;flex:1;min-height:0;
  -webkit-overflow-scrolling:touch;
}
@keyframes estim-card-in{
  0%{opacity:0;transform:translateY(40px) scale(.94);}
  100%{opacity:1;transform:none;}
}

/* Hero header */
.estim-hero{
  position:relative;
  padding:28px 24px 26px;
  background:linear-gradient(145deg, rgba(164,214,94,.18) 0%, rgba(164,214,94,.06) 100%);
  border-bottom:1px solid rgba(164,214,94,.15);
  overflow:hidden;
}
.estim-hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(164,214,94,.18), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(212,240,74,.1), transparent 50%);
  pointer-events:none;
}
.estim-hero-content{position:relative;z-index:1;text-align:center;}
.estim-hero-ico-wrap{
  display:inline-block;
  position:relative;
  margin-bottom:10px;
}
.estim-hero-ico{
  font-size:3rem;line-height:1;
  width:78px;height:78px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.85));
  border-radius:22px;
  box-shadow:
    var(--elev-3),
    inset 0 -3px 0 rgba(0,0,0,.06),
    inset 0 1px 0 rgba(255,255,255,1);
  animation:estim-ico-float 3s ease-in-out infinite;
  filter:drop-shadow(0 8px 18px rgba(164,214,94,.32));
}
@keyframes estim-ico-float{
  0%,100%{transform:translateY(0) rotate(-3deg);}
  50%{transform:translateY(-6px) rotate(3deg);}
}
.estim-hero-eyebrow{
  font-size:.62rem;letter-spacing:2.2px;font-weight:800;
  color:var(--vert-pomme);
  text-transform:uppercase;
  margin-bottom:8px;
}
.estim-hero-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.85rem;letter-spacing:-.5px;
  color:#fff;line-height:1.05;
  margin-bottom:8px;
}
.estim-hero-sub{
  font-size:.84rem;line-height:1.5;
  color:rgba(255,255,255,.85);
  margin:0 auto 14px;max-width:340px;
}
.estim-hero-sub b{color:var(--vert-pomme);font-weight:700;}

.estim-pts-info{
  display:inline-flex;align-items:center;gap:10px;
  padding:9px 16px;
  border-radius:14px;
  font-size:.78rem;font-weight:700;
  text-align:left;
}
.estim-pts-bonus{
  background:linear-gradient(135deg, rgba(245,197,24,.22), rgba(245,197,24,.08));
  border:1.5px solid rgba(245,197,24,.4);
  color:#fff;
  box-shadow:0 0 22px rgba(245,197,24,.15);
}
.estim-pts-bonus b{color:#ffe566;display:block;letter-spacing:.2px;}
.estim-pts-bonus small{display:block;font-size:.62rem;color:rgba(255,255,255,.7);font-weight:600;margin-top:1px;}
.estim-pts-emoji{font-size:1.6rem;animation:bonus-bounce 2s ease-in-out infinite;}
@keyframes bonus-bounce{
  0%,100%{transform:scale(1) rotate(-5deg);}
  50%{transform:scale(1.1) rotate(5deg);}
}
.estim-pts-done{
  background:rgba(77,204,122,.12);
  border:1px solid rgba(77,204,122,.32);
  color:#5fd98a;
  font-size:.72rem;
  padding:7px 13px;
}

.estim-close{
  position:absolute;top:14px;right:14px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(10,15,4,.42);
  border:1.5px solid rgba(255,255,255,.18);
  color:#fff;font-size:.88rem;font-weight:700;
  cursor:pointer;z-index:2;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.estim-close:hover{
  background:rgba(255,80,80,.32);
  border-color:rgba(255,80,80,.55);
  transform:rotate(90deg);
}

/* Body */
.estim-body{padding:22px 24px 24px;}

.estim-step{
  display:flex;align-items:center;gap:11px;
  margin-bottom:14px;
}
.estim-step-num{
  width:34px;height:34px;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.86rem;
  box-shadow:var(--elev-1), inset 0 -1px 0 rgba(0,0,0,.14);
}
.estim-step-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.94rem;color:var(--vert-pomme);
  letter-spacing:-.1px;
}

.estim-lbl-pro{
  display:block;
  font-size:.7rem;font-weight:700;
  color:rgba(255,255,255,.78);
  letter-spacing:1.1px;
  text-transform:uppercase;
  margin:11px 0 6px;
}
.estim-required{color:#ff8585;font-weight:800;}
.estim-optional{
  color:var(--faint);
  font-size:.6rem;letter-spacing:.5px;
  font-style:italic;font-weight:500;
  text-transform:none;
}

/* Inputs premium */
.estim-input{
  width:100%;padding:11px 14px;
  background:rgba(10,15,4,.55);
  border:1.5px solid rgba(164,214,94,.22);
  border-radius:11px;
  color:#fff;font-family:'DM Sans',sans-serif;
  font-size:.92rem;font-weight:500;
  transition:border-color var(--dur-fast),
             background var(--dur-fast),
             box-shadow var(--dur-med) var(--ease-out-back);
}
.estim-input::placeholder{color:rgba(255,255,255,.32);}
.estim-input:focus{
  outline:none;
  border-color:var(--vert-pomme);
  background:rgba(10,15,4,.72);
  box-shadow:0 0 0 4px rgba(164,214,94,.2), 0 0 22px rgba(164,214,94,.1);
}
.estim-input-select{cursor:pointer;}
.estim-input-select option{background:#0a1f0c;color:#fff;}
.estim-textarea{resize:vertical;min-height:64px;font-family:'DM Sans',sans-serif;}

.estim-input-wrap{position:relative;}
.estim-input-prefix{
  position:absolute;left:13px;top:50%;
  transform:translateY(-50%);
  font-size:.92rem;pointer-events:none;
  color:var(--vert-pomme);
}
.estim-input-with-prefix{padding-left:42px;}
.estim-input-suffix{
  position:absolute;right:12px;top:50%;
  transform:translateY(-50%);
  background:rgba(164,214,94,.16);
  color:var(--vert-pomme);
  padding:3px 9px;border-radius:7px;
  font-size:.72rem;font-weight:800;
  letter-spacing:.5px;
  pointer-events:none;
}

.estim-grid-2{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;
}

/* Tile group (radio buttons stylisés) */
.estim-tile-group{
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:8px;margin-bottom:6px;
}
.estim-tile{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:13px 6px;
  background:rgba(10,15,4,.42);
  border:1.5px solid rgba(164,214,94,.18);
  border-radius:12px;
  cursor:pointer;
  transition:all var(--dur-fast) var(--ease-out-back);
  position:relative;
}
.estim-tile input{position:absolute;opacity:0;pointer-events:none;}
.estim-tile-ico{font-size:1.7rem;line-height:1;transition:transform var(--dur-fast);}
.estim-tile-lbl{
  font-size:.76rem;font-weight:700;
  color:rgba(255,255,255,.7);
  text-align:center;
}
.estim-tile:hover{
  background:rgba(10,15,4,.62);
  border-color:rgba(164,214,94,.4);
}
.estim-tile:has(input:checked),
.estim-tile.is-checked{
  background:linear-gradient(135deg, rgba(164,214,94,.22), rgba(164,214,94,.08));
  border-color:var(--vert-pomme);
  box-shadow:0 4px 14px rgba(164,214,94,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.estim-tile:has(input:checked) .estim-tile-ico,
.estim-tile.is-checked .estim-tile-ico{
  transform:scale(1.15);
  filter:drop-shadow(0 4px 8px rgba(164,214,94,.32));
}
.estim-tile:has(input:checked) .estim-tile-lbl,
.estim-tile.is-checked .estim-tile-lbl{color:#fff;}

/* RGPD checkbox premium */
.estim-rgpd-pro{
  margin:14px 0 8px;
  padding:13px 15px;
  background:rgba(10,15,4,.42);
  border:1px dashed rgba(164,214,94,.22);
  border-radius:12px;
}
.estim-rgpd-pro label{
  display:flex;align-items:flex-start;gap:10px;
  cursor:pointer;
}
.estim-rgpd-pro input[type=checkbox]{
  flex-shrink:0;margin-top:1px;
  width:18px;height:18px;
  accent-color:var(--vert-pomme);
}
.estim-rgpd-pro span{
  font-size:.74rem;line-height:1.5;
  color:rgba(255,255,255,.78);
}
.estim-rgpd-pro span b{color:#fff;}
.estim-rgpd-pro span small{
  display:block;
  font-size:.66rem;color:var(--faint);
  margin-top:3px;
}

/* CTA pro */
.estim-cta-pro{
  margin-top:14px;
  width:100%;padding:15px;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #b8e070 50%, var(--vert-pomme) 100%);
  background-size:200% auto;
  border:none;border-radius:14px;
  color:var(--surface-deep);
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;letter-spacing:-.1px;
  cursor:pointer;
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;gap:11px;
  box-shadow:
    var(--elev-3),
    inset 0 -2px 0 rgba(10,15,4,.14),
    inset 0 1px 0 rgba(255,255,255,.35),
    0 0 0 1px rgba(164,214,94,.5);
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo),
             background-position .8s var(--ease-soft);
}
.estim-cta-pro::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%);
  transform:translateX(-100%);
  transition:transform .8s var(--ease-soft);
  pointer-events:none;
}
.estim-cta-pro:hover{
  transform:translateY(-3px);
  background-position:100% 100%;
  box-shadow:
    var(--elev-5),
    inset 0 -2px 0 rgba(10,15,4,.14),
    inset 0 1px 0 rgba(255,255,255,.4),
    0 0 0 1px rgba(164,214,94,.7),
    0 0 32px rgba(164,214,94,.32);
}
.estim-cta-pro:hover::before{transform:translateX(100%);}
.estim-cta-pro:active{transform:translateY(-1px) scale(.98);}
.estim-cta-pro-text{position:relative;z-index:1;}
.estim-cta-pro-bonus{
  background:linear-gradient(135deg, var(--surface-deep), #1a2810);
  color:var(--gold);
  padding:5px 11px;
  border-radius:9px;
  font-size:.78rem;font-weight:800;letter-spacing:.4px;
  position:relative;z-index:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.estim-foot-pro{
  display:flex;align-items:center;justify-content:center;
  gap:8px;margin-top:14px;
  flex-wrap:wrap;
  font-size:.7rem;color:var(--dim);font-weight:600;
}
.estim-foot-item{display:inline-flex;align-items:center;gap:4px;}
.estim-foot-sep{color:var(--faint);}

.estim-trust{
  display:flex;align-items:center;gap:13px;
  margin-top:18px;padding:13px 15px;
  background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1);
  border-radius:13px;
}
.estim-trust-photo{
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.94rem;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.35), 0 4px 12px rgba(0,0,0,.18);
}
.estim-trust-info{flex:1;min-width:0;}
.estim-trust-name{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.92rem;color:#fff;line-height:1.2;
}
.estim-trust-role{
  font-size:.7rem;color:var(--dim);line-height:1.45;margin-top:2px;
}
.estim-trust-role b{color:var(--vert-pomme);}

@media (max-width:480px){
  .estim-card-pro{border-radius:20px;}
  .estim-hero{padding:24px 20px 22px;}
  .estim-hero-title{font-size:1.55rem;}
  .estim-body{padding:18px 18px 20px;}
  .estim-grid-2{grid-template-columns:1fr;}
}

/* ═══ MODALE SUGGESTION COMMERÇANT (variante bleue d'estim-*) ═══ */
.suggest-card-pro{
  position:relative;
  width:100%;max-width:480px;
  max-height:94vh;
  background:linear-gradient(160deg, #1a2840 0%, #0c1424 100%);
  border:1.5px solid rgba(74,158,255,.32);
  border-radius:24px;
  box-shadow:
    var(--elev-5),
    0 0 0 1px rgba(74,158,255,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
  animation:estim-card-in .55s var(--ease-out-back);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.suggest-card-pro .estim-body,
.suggest-card-pro .suggest-body{
  overflow-y:auto;
  flex:1;
  min-height:0;
  -webkit-overflow-scrolling:touch;
}
.suggest-hero{
  position:relative;
  padding:26px 24px 22px;
  background:linear-gradient(145deg, rgba(74,158,255,.16) 0%, rgba(74,158,255,.04) 100%);
  border-bottom:1px solid rgba(74,158,255,.18);
  overflow:hidden;text-align:center;
}
.suggest-hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(74,158,255,.16), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(212,240,74,.08), transparent 50%);
  pointer-events:none;
}
.suggest-hero-ico{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:2.8rem;line-height:1;
  width:78px;height:78px;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.86));
  border-radius:22px;
  box-shadow:var(--elev-3), inset 0 -3px 0 rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,1);
  margin-bottom:10px;
  animation:suggest-bulb 3s ease-in-out infinite;
}
.suggest-hero-eyebrow{
  position:relative;z-index:1;
  font-size:.62rem;letter-spacing:2.2px;font-weight:800;
  color:#94c0ff;text-transform:uppercase;
  margin-bottom:6px;
}
.suggest-hero-title{
  position:relative;z-index:1;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.7rem;letter-spacing:-.4px;
  color:#fff;line-height:1.1;
  margin-bottom:9px;
}
.suggest-hero-sub{
  position:relative;z-index:1;
  font-size:.84rem;line-height:1.5;
  color:rgba(255,255,255,.85);
  margin:0 auto;max-width:340px;
}
.suggest-hero-sub b{color:#94c0ff;font-weight:700;}
.suggest-hero-sub small{font-size:.74rem;color:rgba(255,255,255,.7);display:block;margin-top:4px;}
.suggest-body{padding:22px 24px 24px;}
@media (max-width:480px){
  .suggest-body{padding:16px 16px 20px;}
  .suggest-card-pro{max-height:96vh;border-radius:18px;}
  .suggest-hero{padding:20px 16px 16px;}
  .suggest-hero-title{font-size:1.15rem!important;}
  .suggest-hero-sub{font-size:.82rem!important;}
}
.suggest-card-pro .estim-step-num{background:linear-gradient(135deg, #4a9eff, #2280ee);}
.suggest-card-pro .estim-step-title{color:#94c0ff;}
.suggest-card-pro .estim-input:focus{
  border-color:#4a9eff;
  box-shadow:0 0 0 4px rgba(74,158,255,.2), 0 0 22px rgba(74,158,255,.1);
}
.suggest-card-pro .estim-input-prefix{color:#94c0ff;}
.suggest-card-pro .estim-input-suffix{background:rgba(74,158,255,.16);color:#94c0ff;}
.suggest-card-pro .estim-cta-pro{
  background:linear-gradient(135deg, #4a9eff 0%, #5fb0ff 50%, #4a9eff 100%);
  background-size:200% auto;color:#fff;
  box-shadow:var(--elev-3),inset 0 -2px 0 rgba(10,15,4,.14),inset 0 1px 0 rgba(255,255,255,.32),0 0 0 1px rgba(74,158,255,.5);
}
.suggest-card-pro .estim-cta-pro:hover{
  box-shadow:var(--elev-5),inset 0 -2px 0 rgba(10,15,4,.14),inset 0 1px 0 rgba(255,255,255,.4),0 0 0 1px rgba(74,158,255,.7),0 0 32px rgba(74,158,255,.42);
}
.suggest-card-pro .estim-cta-pro-bonus{background:linear-gradient(135deg, #0c1424, #1a2840);color:#94c0ff;}
@media (max-width:480px){
  .suggest-card-pro{border-radius:20px;}
  .suggest-hero{padding:22px 20px 20px;}
  .suggest-hero-title{font-size:1.45rem;}
  .suggest-body{padding:18px 18px 20px;}
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ MODALE MINI-LIGUES PREMIUM ▓▓▓
   ════════════════════════════════════════════════════════════ */
.lg-overlay-pro{
  position:fixed;inset:0;z-index:5000;
  display:flex;align-items:center;justify-content:center;
  padding:12px;
  background:rgba(10,15,4,.78);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  animation:estim-overlay-in .4s var(--ease-out-expo);
}

.lg-card-modal-pro{
  position:relative;
  width:100%;max-width:480px;max-height:94vh;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:24px;
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.18), inset 0 1px 0 rgba(255,255,255,.08);
  animation:estim-card-in .55s var(--ease-out-back);
  display:flex;flex-direction:column;
  overflow:hidden;
}

.lg-close-pro{
  position:absolute;top:14px;right:14px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(10,15,4,.42);
  border:1.5px solid rgba(255,255,255,.18);
  color:#fff;font-size:.88rem;font-weight:700;
  cursor:pointer;z-index:3;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.lg-close-pro:hover{
  background:rgba(255,80,80,.32);
  border-color:rgba(255,80,80,.55);
  transform:rotate(90deg);
}

/* Hero */
.lg-hero-pro{
  position:relative;
  padding:26px 24px 22px;
  background:linear-gradient(145deg, rgba(245,197,24,.16) 0%, rgba(245,197,24,.04) 100%);
  border-bottom:1px solid rgba(245,197,24,.18);
  overflow:hidden;
  text-align:center;
}
.lg-hero-pro-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 70% 30%, rgba(245,197,24,.16), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(164,214,94,.1), transparent 50%);
  pointer-events:none;
}
.lg-hero-pro-content{position:relative;z-index:1;}
.lg-hero-pro-ico{
  display:inline-block;
  font-size:2.8rem;line-height:1;
  margin-bottom:8px;
  animation:lg-trophy-spin 4s ease-in-out infinite;
  filter:drop-shadow(0 6px 16px rgba(245,197,24,.42));
}
@keyframes lg-trophy-spin{
  0%,100%{transform:rotate(-5deg) scale(1);}
  50%{transform:rotate(5deg) scale(1.05);}
}
.lg-hero-pro-eyebrow{
  font-size:.62rem;letter-spacing:2.2px;font-weight:800;
  color:var(--gold);text-transform:uppercase;
  margin-bottom:6px;
}
.lg-hero-pro-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.85rem;letter-spacing:-.5px;
  color:#fff;line-height:1.05;
  margin-bottom:6px;
}
.lg-hero-pro-sub{
  font-size:.78rem;line-height:1.5;
  color:rgba(255,255,255,.78);
  margin:0;
}

/* Body */
.lg-body-pro{
  flex:1;overflow-y:auto;
  padding:20px 22px;
  display:flex;flex-direction:column;gap:11px;
}

/* Empty state */
.lg-empty-pro{
  padding:32px 18px;text-align:center;
  background:linear-gradient(135deg, rgba(74,158,255,.08), rgba(74,158,255,.02));
  border:1.5px dashed rgba(74,158,255,.32);
  border-radius:16px;
}
.lg-empty-orbit{
  position:relative;
  width:96px;height:96px;
  margin:0 auto 14px;
}
.lg-empty-ico{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:3.4rem;line-height:1;
  filter:drop-shadow(0 8px 18px rgba(245,197,24,.32));
  animation:lg-trophy-spin 3s ease-in-out infinite;
}
.lg-empty-particles{
  position:absolute;inset:0;
  pointer-events:none;
}
.lg-empty-particles span{
  position:absolute;font-size:1.05rem;
  opacity:.7;
  animation:lg-particle 4s ease-in-out infinite;
}
.lg-empty-particles span:nth-child(1){top:0;left:0;animation-delay:0s;}
.lg-empty-particles span:nth-child(2){top:50%;right:-8px;animation-delay:1.2s;}
.lg-empty-particles span:nth-child(3){bottom:0;left:5%;animation-delay:2.5s;}
@keyframes lg-particle{
  0%,100%{transform:translate(0,0) scale(.8);opacity:.5;}
  50%{transform:translate(-4px,-8px) scale(1.1);opacity:1;}
}
.lg-empty-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;color:#fff;margin-bottom:6px;
  letter-spacing:-.2px;
}
.lg-empty-sub{
  font-size:.78rem;color:rgba(255,255,255,.72);
  line-height:1.5;max-width:300px;margin:0 auto 14px;
}
.lg-empty-perks{
  display:flex;justify-content:center;gap:9px;flex-wrap:wrap;
  margin-top:12px;
}
.lg-empty-perk{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.66rem;font-weight:700;
  color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:9px;
  padding:5px 10px;
}
.lg-empty-perk span{font-size:.86rem;}

/* Card ligue premium */
.lg-card-pro{
  position:relative;
  background:linear-gradient(155deg, rgba(245,197,24,.1) 0%, rgba(245,197,24,.02) 100%);
  border:1.5px solid rgba(245,197,24,.22);
  border-radius:14px;
  padding:14px 16px;
  cursor:pointer;
  transition:transform var(--dur-med) var(--ease-out-back),
             border-color var(--dur-fast),
             box-shadow var(--dur-med) var(--ease-out-expo);
  overflow:hidden;
}
.lg-card-pro:hover{
  transform:translateY(-3px);
  border-color:var(--gold);
  box-shadow:var(--elev-3), 0 0 22px rgba(245,197,24,.18);
}
.lg-card-pro:hover .lg-card-pro-arrow{
  transform:translateX(4px);
  color:var(--gold);
}
.lg-card-pro-decor{
  position:absolute;top:0;right:0;width:80px;height:80px;
  background:radial-gradient(circle at top right, rgba(245,197,24,.18), transparent 70%);
  pointer-events:none;
}
.lg-card-pro-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.lg-card-pro-info{flex:1;min-width:0;}
.lg-card-pro-name{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;color:#fff;
  line-height:1.2;
  display:flex;align-items:center;gap:6px;
  letter-spacing:-.1px;
}
.lg-creator-pro{
  font-size:.92rem;
  filter:drop-shadow(0 2px 4px rgba(245,197,24,.5));
}
.lg-card-pro-meta{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin-top:6px;
}
.lg-meta-pill{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.66rem;font-weight:700;
  color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:7px;
  padding:3px 8px;
}
.lg-meta-pill span{font-size:.78rem;}
.lg-card-pro-rank{
  flex-shrink:0;
  text-align:center;
  min-width:64px;
  padding:8px 10px;
  background:rgba(255,255,255,.04);
  border:1.5px solid rgba(255,255,255,.1);
  border-radius:11px;
}
.lg-card-pro-rank.lg-rank-gold{
  background:linear-gradient(135deg, rgba(245,197,24,.22), rgba(245,197,24,.08));
  border-color:var(--gold);
  box-shadow:0 0 14px rgba(245,197,24,.32);
}
.lg-card-pro-rank.lg-rank-silver{
  background:linear-gradient(135deg, rgba(192,205,212,.22), rgba(192,205,212,.08));
  border-color:#c0cdd4;
}
.lg-card-pro-rank.lg-rank-bronze{
  background:linear-gradient(135deg, rgba(192,120,64,.22), rgba(192,120,64,.08));
  border-color:#c07840;
}
.lg-card-pro-rank-num{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.4rem;line-height:1;color:var(--gold);
}
.lg-rank-silver .lg-card-pro-rank-num{color:#c0cdd4;}
.lg-rank-bronze .lg-card-pro-rank-num{color:#c07840;}
.lg-card-pro-rank-lbl{
  font-size:.55rem;font-weight:700;
  letter-spacing:1.2px;
  color:rgba(255,255,255,.6);
  text-transform:uppercase;
  margin-top:3px;
}
.lg-card-pro-arrow{
  position:absolute;bottom:14px;right:14px;
  font-size:1rem;color:rgba(255,255,255,.42);
  font-weight:700;
  transition:transform var(--dur-fast), color var(--dur-fast);
}

/* Footer */
.lg-footer-pro{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  padding:18px 22px;
  border-top:1px solid rgba(164,214,94,.12);
  background:linear-gradient(180deg, rgba(10,15,4,.18), rgba(10,15,4,.42));
}
.lg-action-pro{
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:13px 14px;
  border:none;border-radius:13px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.86rem;letter-spacing:-.05px;
  cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.lg-action-create-pro{
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.32);
}
.lg-action-create-pro:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-4), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.4), 0 0 22px rgba(164,214,94,.32);
}
.lg-action-join-pro{
  background:rgba(74,158,255,.18);
  color:#94c0ff;
  border:1.5px solid rgba(74,158,255,.42);
}
.lg-action-join-pro:hover{
  background:rgba(74,158,255,.32);
  border-color:rgba(74,158,255,.6);
  transform:translateY(-2px);
  box-shadow:var(--elev-2), 0 0 18px rgba(74,158,255,.22);
}
.lg-action-pro:active{transform:translateY(0) scale(.97);}
.lg-action-ico{font-size:1rem;line-height:1;}

@media (max-width:480px){
  .lg-card-modal-pro{border-radius:20px;}
  .lg-hero-pro{padding:22px 20px 20px;}
  .lg-hero-pro-title{font-size:1.55rem;}
  .lg-body-pro{padding:16px 18px;}
  .lg-footer-pro{padding:16px 18px;}
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ ONBOARDING TUTORIAL — Premium avec welcome & illustrations ▓▓▓
   ════════════════════════════════════════════════════════════ */
.onb-overlay{
  position:fixed;inset:0;z-index:9000;
  pointer-events:none;
  animation:onb-fade-in .4s var(--ease-out-expo);
}
.onb-overlay > *{pointer-events:auto;}
@keyframes onb-fade-in{from{opacity:0;}to{opacity:1;}}

.onb-spotlight-svg{
  position:absolute;inset:0;
  width:100%;height:100%;
  transition:background-color .4s var(--ease-soft);
}
.onb-bg-rect{transition:fill .35s var(--ease-soft);}

.onb-ring{
  position:fixed;
  border:3px solid var(--vert-pomme);
  border-radius:18px;
  box-shadow:
    0 0 0 4px rgba(164,214,94,.22),
    0 0 32px rgba(164,214,94,.55),
    inset 0 0 12px rgba(164,214,94,.18);
  pointer-events:none;
  animation:onb-ring-pulse 2s ease-in-out infinite;
  transition:all .35s var(--ease-out-back);
  z-index:9001;
}
@keyframes onb-ring-pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(164,214,94,.22), 0 0 32px rgba(164,214,94,.55), inset 0 0 12px rgba(164,214,94,.18);}
  50%{box-shadow:0 0 0 6px rgba(164,214,94,.3), 0 0 44px rgba(164,214,94,.7), inset 0 0 18px rgba(164,214,94,.28);}
}

/* ━━━ WELCOME SCREEN (centered modal) ━━━ */
.onb-welcome{
  position:fixed;inset:0;
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  z-index:9003;
  opacity:0;visibility:hidden;
  transition:opacity .4s var(--ease-out-expo), visibility .4s;
}
.onb-welcome.on{opacity:1;visibility:visible;}
.onb-welcome-card{
  position:relative;
  width:100%;max-width:440px;
  background:linear-gradient(165deg, #1a3d20 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.45);
  border-radius:26px;
  padding:30px 28px 26px;
  text-align:center;
  box-shadow:
    var(--elev-5),
    0 0 0 1px rgba(164,214,94,.25),
    0 0 56px rgba(164,214,94,.22),
    inset 0 1px 0 rgba(255,255,255,.08);
  animation:onb-welcome-in .55s var(--ease-out-back);
  overflow:hidden;
}
@keyframes onb-welcome-in{
  from{opacity:0;transform:translateY(30px) scale(.94);}
  to{opacity:1;transform:none;}
}
.onb-welcome-decor{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 10%, rgba(164,214,94,.18), transparent 50%),
    radial-gradient(circle at 10% 80%, rgba(245,197,24,.1), transparent 50%);
  pointer-events:none;
  border-radius:26px;
}
.onb-welcome-card > *:not(.onb-welcome-decor){position:relative;z-index:1;}

.onb-welcome-skip{
  position:absolute;top:14px;right:14px;
  padding:6px 12px;border-radius:11px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.65);
  font-size:.7rem;font-weight:700;
  cursor:pointer;
  letter-spacing:.3px;
  transition:all var(--dur-fast) var(--ease-out-back);
  z-index:2;
}
.onb-welcome-skip:hover{background:rgba(255,255,255,.12);color:#fff;}

.onb-welcome-illustration{
  width:100%;max-width:240px;
  margin:8px auto 14px;
  animation:onb-ill-fade .55s var(--ease-out-back) .15s both;
}
.onb-svg-ill{width:100%;height:auto;display:block;}
@keyframes onb-ill-fade{
  from{opacity:0;transform:translateY(10px) scale(.96);}
  to{opacity:1;transform:none;}
}

/* SVG illustration animations */
.onb-ill-bounce{
  animation:onb-trophy-bounce 2.6s ease-in-out infinite;
  transform-origin:center 80px;
}
@keyframes onb-trophy-bounce{
  0%,100%{transform:translateY(0) rotate(-2deg);}
  50%{transform:translateY(-5px) rotate(2deg);}
}
.onb-ill-confetti g, .onb-ill-confetti circle, .onb-ill-confetti rect{
  animation:onb-conf-pulse 2.8s ease-in-out infinite;
}
@keyframes onb-conf-pulse{
  0%,100%{opacity:.4;}
  50%{opacity:1;}
}
.onb-ill-score-1{animation:onb-score-cycle 3s steps(1) infinite;}
.onb-ill-score-2{animation:onb-score-cycle-2 3s steps(1) infinite;}
@keyframes onb-score-cycle{0%,50%,100%{opacity:1;}25%{opacity:.4;}}
@keyframes onb-score-cycle-2{0%,50%,100%{opacity:1;}75%{opacity:.4;}}
.onb-ill-pts{animation:onb-pts-glow 2s ease-in-out infinite;}
@keyframes onb-pts-glow{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.05);}
}

.onb-ill-live-pulse{
  animation:live-dot 1.2s ease-in-out infinite;
}
@keyframes live-dot{
  0%,100%{opacity:1;}
  50%{opacity:.3;}
}
.onb-conf-1{animation:onb-spark 1.6s ease-in-out infinite;}
.onb-conf-2{animation:onb-spark 1.6s ease-in-out .8s infinite;}
@keyframes onb-spark{
  0%,100%{opacity:.3;}
  50%{opacity:1;}
}

.onb-pod-1{animation:onb-pod-rise 2s ease-out infinite;}
.onb-pod-2{animation:onb-pod-rise 2s ease-out .25s infinite;}
.onb-pod-3{animation:onb-pod-rise 2s ease-out .5s infinite;}
@keyframes onb-pod-rise{
  0%,40%,100%{transform:translateY(0);}
  20%{transform:translateY(-3px);}
}
.onb-ill-crown{
  animation:onb-crown-bounce 2.2s ease-in-out infinite;
  transform-origin:118px 48px;
}
@keyframes onb-crown-bounce{
  0%,100%{transform:translateY(0) rotate(-5deg);}
  50%{transform:translateY(-3px) rotate(5deg);}
}

.onb-ill-bons{animation:onb-bons-sway 3.4s ease-in-out infinite;transform-origin:center 70px;}
@keyframes onb-bons-sway{
  0%,100%{transform:rotate(-1deg);}
  50%{transform:rotate(1deg);}
}

.onb-ill-levels circle{transition:transform .3s;}
.onb-ill-diam-glow{
  animation:onb-diam-glow 2s ease-in-out infinite;
  transform-origin:160px 70px;
  transform-box:fill-box;
}
@keyframes onb-diam-glow{
  0%,100%{filter:drop-shadow(0 0 0 transparent);}
  50%{filter:drop-shadow(0 0 12px rgba(185,242,255,.85));}
}

.onb-ill-final-ball{
  animation:onb-final-bounce 1.4s ease-in-out infinite;
  transform-origin:100px 110px;
}
@keyframes onb-final-bounce{
  0%,100%{transform:translateY(0) rotate(-8deg);}
  50%{transform:translateY(-14px) rotate(8deg);}
}
.onb-ill-final-arrow{
  animation:onb-arrow-pulse 1.8s ease-in-out infinite;
}
@keyframes onb-arrow-pulse{
  0%,100%{opacity:.5;transform:translateX(0);}
  50%{opacity:1;transform:translateX(3px);}
}
.onb-ill-final-go{
  animation:onb-go-pulse 1.6s ease-in-out infinite;
  transform-origin:162px 57px;
}
@keyframes onb-go-pulse{
  0%,100%{transform:rotate(15deg) scale(1);}
  50%{transform:rotate(15deg) scale(1.08);}
}

/* Animations parrain (step 6) */
.onb-ill-parrain-2{
  transform-origin:50px 65px;
  animation:onb-parrain-bob 2.4s ease-in-out infinite;
}
.onb-ill-parrain-3{
  transform-origin:150px 65px;
  animation:onb-parrain-bob 2.4s ease-in-out 1.2s infinite;
}
@keyframes onb-parrain-bob{
  0%,100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-3px) scale(1.05);}
}
.onb-ill-bonus-badge{
  animation:onb-badge-glow 2.2s ease-in-out infinite;
}
@keyframes onb-badge-glow{
  0%,100%{filter:drop-shadow(0 0 0 rgba(255,229,102,0));}
  50%{filter:drop-shadow(0 0 14px rgba(255,229,102,.6));}
}
.onb-ill-spark-a{animation:onb-spark-a 2s ease-in-out infinite;}
.onb-ill-spark-b{animation:onb-spark-a 2s ease-in-out .7s infinite;}
@keyframes onb-spark-a{
  0%,100%{opacity:.3;}
  50%{opacity:1;}
}

/* Animations immo (step 7) */
.onb-ill-immo-house{
  animation:onb-house-float 3s ease-in-out infinite;
  transform-origin:100px 70px;
}
@keyframes onb-house-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}
.onb-ill-immo-sign{
  animation:onb-sign-wave 2.4s ease-in-out infinite;
  transform-origin:40px 100px;
}
@keyframes onb-sign-wave{
  0%,100%{transform:rotate(-8deg);}
  50%{transform:rotate(-4deg) translateY(-2px);}
}
.onb-ill-immo-badge{
  animation:onb-badge-glow 2.2s ease-in-out infinite;
  transform-origin:165px 98px;
}

.onb-welcome-eyebrow{
  font-size:.7rem;letter-spacing:2.2px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:8px;
}
.onb-welcome-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:2rem;letter-spacing:-.6px;line-height:1.05;
  color:#fff;margin:0 0 11px;
  text-shadow:0 4px 18px rgba(0,0,0,.42);
}
.onb-welcome-text{
  font-size:.92rem;line-height:1.55;
  color:rgba(255,255,255,.88);
  margin:0 auto 18px;max-width:340px;
}
.onb-welcome-text b{color:var(--vert-pomme);font-weight:700;}

.onb-welcome-progress{
  display:flex;justify-content:center;gap:7px;
  margin-bottom:18px;
}

.onb-welcome-cta{
  display:block;width:100%;
  padding:14px 18px;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #b8e070 50%, var(--vert-pomme) 100%);
  background-size:200% auto;
  color:var(--surface-deep);
  border:none;border-radius:14px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;letter-spacing:-.1px;
  cursor:pointer;
  position:relative;overflow:hidden;
  box-shadow:
    var(--elev-3),
    inset 0 -2px 0 rgba(10,15,4,.14),
    inset 0 1px 0 rgba(255,255,255,.35),
    0 0 0 1px rgba(164,214,94,.5);
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo),
             background-position .8s var(--ease-soft);
}
.onb-welcome-cta::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.5) 50%, transparent 70%);
  transform:translateX(-100%);
  transition:transform .8s var(--ease-soft);
  pointer-events:none;
}
.onb-welcome-cta:hover{
  transform:translateY(-3px);
  background-position:100% 100%;
  box-shadow:
    var(--elev-5),
    inset 0 -2px 0 rgba(10,15,4,.14),
    inset 0 1px 0 rgba(255,255,255,.42),
    0 0 0 1px rgba(164,214,94,.7),
    0 0 32px rgba(164,214,94,.42);
}
.onb-welcome-cta:hover::before{transform:translateX(100%);}
.onb-welcome-cta:active{transform:translateY(-1px) scale(.98);}

.onb-welcome-time{
  font-size:.7rem;color:rgba(255,255,255,.55);
  margin-top:13px;letter-spacing:.4px;
}

/* ━━━ TOOLTIP avec illustration ━━━ */
.onb-tooltip{
  position:fixed;
  width:340px;max-width:calc(100vw - 24px);
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.42);
  border-radius:22px;
  padding:18px 20px 16px;
  box-shadow:
    var(--elev-5),
    0 0 0 1px rgba(164,214,94,.22),
    0 0 48px rgba(164,214,94,.18),
    inset 0 1px 0 rgba(255,255,255,.06);
  z-index:9002;
  opacity:0;transform:translateY(12px) scale(.96);
  transition:opacity .35s var(--ease-out-expo), transform .45s var(--ease-out-back), left .4s var(--ease-out-expo), top .4s var(--ease-out-expo);
}
.onb-tooltip.on{opacity:1;transform:none;}

.onb-progress-mini{
  display:flex;justify-content:center;gap:5px;
  margin-bottom:12px;
}
.onb-dot{
  width:7px;height:7px;border-radius:50%;
  background:rgba(164,214,94,.22);
  transition:all var(--dur-fast);
}
.onb-dot.done{background:rgba(164,214,94,.55);}
.onb-dot.on{
  background:var(--vert-pomme);
  width:22px;border-radius:4px;
  box-shadow:0 0 12px rgba(164,214,94,.6);
}

.onb-tooltip-ico{
  font-size:2.4rem;line-height:1;
  text-align:center;margin-bottom:8px;
  filter:drop-shadow(0 4px 14px rgba(164,214,94,.42));
  animation:onb-ico-bounce 2.5s ease-in-out infinite;
}
@keyframes onb-ico-bounce{
  0%,100%{transform:scale(1) rotate(-3deg);}
  50%{transform:scale(1.08) rotate(3deg);}
}
.onb-tooltip-ico-large{
  font-size:inherit;
  animation:none;
  filter:none;
  margin-bottom:10px;
}
.onb-tooltip-ill{
  width:100%;max-width:200px;margin:0 auto;
}
.onb-tooltip-ill svg{width:100%;height:auto;}

.onb-tooltip-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.18rem;letter-spacing:-.3px;
  color:var(--vert-pomme);
  text-align:center;
  margin-bottom:7px;
  text-shadow:0 0 18px rgba(164,214,94,.3);
}

.onb-tooltip-text{
  font-size:.82rem;line-height:1.55;
  color:rgba(255,255,255,.88);
  text-align:center;
  margin-bottom:8px;
}
.onb-tooltip-text b{color:var(--vert-pomme);font-weight:700;}

.onb-tooltip-counter{
  text-align:center;
  font-size:.66rem;font-weight:700;letter-spacing:1.5px;
  color:rgba(255,255,255,.5);
  text-transform:uppercase;
  margin-bottom:12px;
}

.onb-tooltip-actions{
  display:flex;gap:9px;
  justify-content:space-between;
}
.onb-btn{
  flex:1;padding:11px 14px;
  border:none;border-radius:11px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.84rem;letter-spacing:-.05px;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:5px;
  transition:transform var(--dur-fast) var(--ease-out-back),
             background var(--dur-fast),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.onb-btn-skip{
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.7);
  border:1.5px solid rgba(255,255,255,.14);
  flex:0 0 88px;
}
.onb-btn-skip:hover{
  background:rgba(255,255,255,.12);
  color:#fff;
  transform:translateY(-1px);
}
.onb-btn-next{
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.32);
}
.onb-btn-next:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-4), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.4), 0 0 22px rgba(164,214,94,.42);
}
.onb-btn-next:active{transform:translateY(0) scale(.96);}
.onb-arrow{
  display:inline-block;
  transition:transform var(--dur-fast);
}
.onb-btn-next:hover .onb-arrow{transform:translateX(3px);}

@media (max-width:480px){
  .onb-welcome-card{padding:24px 22px 22px;border-radius:22px;}
  .onb-welcome-title{font-size:1.65rem;}
  .onb-welcome-text{font-size:.86rem;}
  .onb-welcome-cta{font-size:.96rem;}
  .onb-welcome-illustration{max-width:200px;}
  .onb-tooltip{width:300px;padding:16px 16px 14px;}
  .onb-tooltip-title{font-size:1.05rem;}
  .onb-tooltip-text{font-size:.78rem;}
  .onb-tooltip-ill{max-width:170px;}
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ MODALE AVIS GOOGLE PREMIUM ▓▓▓
   ════════════════════════════════════════════════════════════ */
.rv-card-pro{
  position:relative;
  width:100%;max-width:460px;max-height:92vh;overflow-y:auto;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:24px;
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.18), inset 0 1px 0 rgba(255,255,255,.08);
  animation:estim-card-in .55s var(--ease-out-back);
  overflow:hidden;
}

.rv-hero{
  position:relative;
  padding:26px 24px 22px;
  background:linear-gradient(145deg, rgba(66,133,244,.16) 0%, rgba(66,133,244,.04) 100%);
  border-bottom:1px solid rgba(66,133,244,.18);
  overflow:hidden;
  text-align:center;
}
.rv-hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(66,133,244,.16), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(234,67,53,.08), transparent 50%);
  pointer-events:none;
}
.rv-hero-content{position:relative;z-index:1;}

.rv-google-logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;
  margin-bottom:10px;
  background:#fff;border-radius:16px;
  box-shadow:var(--elev-3), inset 0 -2px 0 rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,1);
  animation:rv-google-pulse 3s ease-in-out infinite;
}
@keyframes rv-google-pulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.06);}
}
.rv-hero-eyebrow{
  font-size:.62rem;letter-spacing:2.2px;font-weight:800;
  color:#4285F4;text-transform:uppercase;
  margin-bottom:6px;
}
.rv-hero-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.55rem;letter-spacing:-.4px;
  color:#fff;line-height:1.15;
  margin-bottom:8px;
}
.rv-hero-sub{
  font-size:.84rem;line-height:1.5;
  color:rgba(255,255,255,.85);
  margin:0 auto;max-width:340px;
}

.rv-body-pro{
  padding:22px 24px 24px;
}

.rv-not-configured{
  display:flex;align-items:flex-start;gap:10px;
  padding:12px 14px;
  background:rgba(245,197,24,.12);
  border:1px solid rgba(245,197,24,.32);
  border-radius:11px;
  margin-bottom:16px;
  font-size:.78rem;color:rgba(255,255,255,.88);
  line-height:1.45;
}
.rv-not-configured-ico{font-size:1.2rem;line-height:1;flex-shrink:0;}
.rv-not-configured b{color:var(--gold);display:block;margin-bottom:2px;}
.rv-not-configured small{display:block;font-size:.72rem;color:rgba(255,255,255,.65);}

.rv-steps{
  display:flex;flex-direction:column;gap:12px;
  margin-bottom:18px;
}
.rv-step{
  display:flex;align-items:flex-start;gap:13px;
}
.rv-step-num{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.94rem;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  box-shadow:var(--elev-1), inset 0 -1px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.3);
}
.rv-step-content{flex:1;}
.rv-step-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.94rem;color:#fff;
  margin-bottom:2px;
  letter-spacing:-.1px;
}
.rv-step-desc{
  font-size:.78rem;color:rgba(255,255,255,.7);
  line-height:1.45;
}

.rv-cta-google{
  display:flex;align-items:center;justify-content:center;gap:11px;
  width:100%;padding:14px 16px;
  background:#fff;
  color:#3c4043;
  border:none;border-radius:13px;
  font-family:'Roboto','DM Sans',sans-serif;font-weight:600;
  font-size:.96rem;letter-spacing:.1px;
  cursor:pointer;text-decoration:none;
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.06);
}
.rv-cta-google:hover{
  transform:translateY(-3px);
  box-shadow:var(--elev-4), inset 0 -2px 0 rgba(0,0,0,.06), 0 0 22px rgba(66,133,244,.32);
}
.rv-cta-google:active{transform:translateY(-1px) scale(.98);}
.rv-cta-google-arrow{
  font-size:1.1rem;color:#4285F4;font-weight:700;
  margin-left:auto;
  transition:transform var(--dur-fast);
}
.rv-cta-google:hover .rv-cta-google-arrow{transform:translateX(4px);}

.rv-trust-info{
  display:flex;align-items:flex-start;gap:9px;
  margin-top:14px;
  padding:11px 13px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  font-size:.72rem;color:rgba(255,255,255,.62);
  line-height:1.45;
}
.rv-trust-info span:first-child{font-size:.96rem;line-height:1;flex-shrink:0;}

@media (max-width:480px){
  .rv-card-pro{border-radius:20px;}
  .rv-hero{padding:22px 20px 20px;}
  .rv-hero-title{font-size:1.35rem;}
  .rv-body-pro{padding:18px 18px 20px;}
}

/* Badge "Avis Google" sur cards partenaires */
.pc-rev-badge.pc-rev-google{
  display:flex;align-items:center;gap:7px;
  padding:7px 11px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:9px;
  cursor:pointer;
  margin-top:6px;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.pc-rev-badge.pc-rev-google:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(66,133,244,.42);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(66,133,244,.2);
}
.pc-rev-stars-pro{
  color:#fbbc04;font-size:.72rem;letter-spacing:.5px;
  text-shadow:0 0 6px rgba(251,188,4,.35);
}
.pc-rev-google-text{
  font-size:.72rem;font-weight:700;
  color:#fff;
  flex:1;
}

/* ── Question du jour version compacte ── */
.dq-card-compact{
  max-width:380px!important;
  max-height:80vh;
  display:flex;flex-direction:column;
  padding:18px 20px!important;
}
.dq-header-compact{
  display:flex;align-items:center;gap:11px;
  margin-bottom:14px;padding-right:30px;
}
.dq-flame{
  font-size:1.85rem;line-height:1;
  filter:drop-shadow(0 2px 6px rgba(255,140,30,.45));
  animation:wb-flame 1.4s ease-in-out infinite;
}
.dq-header-text{flex:1;min-width:0;}
.dq-eyebrow{
  font-size:.56rem;letter-spacing:1.8px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:2px;
}
.dq-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.2rem;color:#fff;letter-spacing:-.3px;line-height:1.1;
}
.dq-body-compact{
  flex:1;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
:root[data-theme="light"] .dq-title{color:#0a1a04;}
:root[data-theme="light"] .dq-eyebrow{color:#3d6614;}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ LEVEL UP MODAL — Déblocage progressif ▓▓▓
   ════════════════════════════════════════════════════════════ */
.lvlup-overlay{
  position:fixed;inset:0;z-index:9500;
  background:rgba(10,15,4,.86);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  animation:estim-overlay-in .4s var(--ease-out-expo);
}
.lvlup-card{
  position:relative;
  width:100%;max-width:460px;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 50%, #1a3d20 100%);
  border:1.5px solid rgba(164,214,94,.45);
  border-radius:24px;
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.22), 0 0 48px rgba(164,214,94,.28), inset 0 1px 0 rgba(255,255,255,.08);
  padding:30px 26px 22px;
  text-align:center;
  overflow:hidden;
  animation:lvlup-in .7s var(--ease-out-back);
}
@keyframes lvlup-in{
  0%{opacity:0;transform:scale(.7) translateY(40px);}
  100%{opacity:1;transform:none;}
}
@keyframes lvlup-out{
  from{opacity:1;transform:none;}
  to{opacity:0;transform:scale(.94);}
}
.lvlup-close{
  position:absolute;top:14px;right:14px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(10,15,4,.5);
  border:1.5px solid rgba(255,255,255,.18);
  color:#fff;font-size:.88rem;font-weight:700;
  cursor:pointer;z-index:3;
  display:flex;align-items:center;justify-content:center;
  padding:0;line-height:1;
}
.lvlup-confetti{
  position:absolute;inset:0;
  pointer-events:none;overflow:hidden;
}
.lvlup-conf{
  position:absolute;top:-10px;
  width:8px;height:14px;border-radius:2px;
  animation:lvlup-fall 3s cubic-bezier(.5,0,.5,1) forwards;
}
@keyframes lvlup-fall{
  0%{top:-10px;transform:rotate(0deg);opacity:1;}
  100%{top:110%;transform:rotate(720deg);opacity:0;}
}
.lvlup-trophy{
  position:relative;z-index:1;
  font-size:5rem;line-height:1;
  margin-bottom:12px;
  filter:drop-shadow(0 4px 16px rgba(164,214,94,.6));
  animation:lvlup-bounce 1.8s ease-in-out infinite;
}
@keyframes lvlup-bounce{
  0%,100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-6px) scale(1.06);}
}
.lvlup-eyebrow{
  position:relative;z-index:1;
  font-size:.7rem;letter-spacing:2.5px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:6px;
}
.lvlup-title{
  position:relative;z-index:1;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:2.3rem;letter-spacing:-.6px;line-height:1;
  margin:0 0 10px;
}
.lvlup-msg{
  position:relative;z-index:1;
  font-size:.95rem;line-height:1.55;
  color:rgba(255,255,255,.85);
  margin:0 auto 18px;
  max-width:380px;
}
.lvlup-msg b{color:var(--vert-pomme);font-weight:700;}
.lvlup-unlocks{
  position:relative;z-index:1;
  background:rgba(10,15,4,.45);
  border:1.5px solid rgba(164,214,94,.22);
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:18px;
  text-align:left;
}
.lvlup-unlocks-title{
  font-size:.66rem;letter-spacing:1.6px;font-weight:800;
  color:rgba(255,255,255,.6);text-transform:uppercase;
  margin-bottom:9px;
}
.lvlup-unlock-item{
  display:flex;align-items:center;gap:9px;
  padding:6px 0;
  font-family:'DM Sans',sans-serif;font-weight:600;
  font-size:.86rem;
  color:#fff;
}
.lvlup-unlock-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;
  background:var(--vert-pomme);
  color:var(--surface-deep);
  font-size:.7rem;font-weight:800;
  flex-shrink:0;
}
.lvlup-cta{
  position:relative;z-index:1;
  width:100%;padding:14px 18px;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border:none;border-radius:13px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1rem;letter-spacing:-.1px;
  cursor:pointer;
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.32);
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.lvlup-cta:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-4), 0 0 28px rgba(164,214,94,.42);
}
.lvlup-cta:active{transform:translateY(0) scale(.97);}
@media (max-width:480px){
  .lvlup-card{padding:24px 20px 18px;border-radius:18px;}
  .lvlup-title{font-size:1.85rem;}
  .lvlup-trophy{font-size:4rem;}
}
:root[data-theme="light"] .lvlup-card{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 50%, #e8f4d8 100%);
  border-color:rgba(74,124,26,.45);
  box-shadow:var(--elev-5), 0 0 0 1px rgba(74,124,26,.22), 0 0 48px rgba(74,124,26,.18);
}
:root[data-theme="light"] .lvlup-eyebrow{color:#3d6614;}
:root[data-theme="light"] .lvlup-msg{color:rgba(10,26,4,.85);}
:root[data-theme="light"] .lvlup-msg b{color:#3d6614;}
:root[data-theme="light"] .lvlup-unlocks{background:rgba(255,255,255,.7);border-color:rgba(74,124,26,.22);}
:root[data-theme="light"] .lvlup-unlocks-title{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .lvlup-unlock-item{color:#0a1a04;}
:root[data-theme="light"] .lvlup-close{background:rgba(0,0,0,.06);color:#0a1a04;border-color:rgba(0,0,0,.18);}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ CTAs LÉGERS — Sign up / Connect minimaliste ▓▓▓
   ════════════════════════════════════════════════════════════ */
.ls-cta-light{
  margin-top:6px;
  animation:cta-light-in .5s var(--ease-out-back);
}
@keyframes cta-light-in{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:none;}
}

/* ─── Bouton "← Retour" sur le form d'auth IN-PLACE ─── */
.ls-back-btn{
  display:inline-flex;align-items:center;gap:6px;
  margin:0 0 14px;padding:7px 14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  border-radius:9px;
  color:rgba(255,255,255,.85);
  font-family:'DM Sans',sans-serif;
  font-weight:600;font-size:.82rem;
  letter-spacing:.2px;
  cursor:pointer;
  transition:background var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast);
  -webkit-appearance:none;appearance:none;
}
.ls-back-btn:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.32);
}
.ls-back-btn:active{transform:scale(.96);}
:root[data-theme="light"] .ls-back-btn{
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.12);
  color:#0a1a04;
}
:root[data-theme="light"] .ls-back-btn:hover{
  background:rgba(0,0,0,.08);
  border-color:rgba(0,0,0,.2);
}

/* Grid 2 colonnes : Sign up + Connect */
.ls-cta-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:11px;
  margin-bottom:18px;
}
.ls-cta-card{
  display:flex;flex-direction:column;align-items:center;gap:9px;
  padding:22px 16px 18px;
  border-radius:18px;
  border:1.5px solid;
  cursor:pointer;
  text-align:center;
  font-family:'DM Sans',sans-serif;
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo),
             border-color var(--dur-fast);
}
.ls-cta-card:active{transform:translateY(0) scale(.97);}
.ls-cta-signup{
  background:linear-gradient(155deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border-color:rgba(0,0,0,.12);
  box-shadow:var(--elev-2),
             inset 0 -2px 0 rgba(0,0,0,.12),
             inset 0 1px 0 rgba(255,255,255,.32);
}
.ls-cta-signup:hover{
  transform:translateY(-3px);
  box-shadow:var(--elev-4), 0 0 28px rgba(164,214,94,.45);
}
.ls-cta-connect{
  background:rgba(10,15,4,.55);
  color:#fff;
  border-color:rgba(164,214,94,.38);
}
.ls-cta-connect:hover{
  transform:translateY(-3px);
  border-color:var(--vert-pomme);
  background:rgba(10,15,4,.72);
  box-shadow:var(--elev-3), 0 0 22px rgba(164,214,94,.25);
}

/* Cercle avec bonhomme SVG */
.ls-cta-card-ico{
  width:60px;height:60px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.12);
  flex-shrink:0;
  transition:transform var(--dur-med) var(--ease-out-back);
}
.ls-cta-signup .ls-cta-card-ico{
  background:rgba(10,15,4,.18);
  color:var(--surface-deep);
}
.ls-cta-connect .ls-cta-card-ico{
  background:rgba(164,214,94,.16);
  color:var(--vert-pomme);
  border:1.5px solid rgba(164,214,94,.28);
}
.ls-cta-card:hover .ls-cta-card-ico{
  transform:scale(1.08) rotate(-3deg);
}
.ls-cta-card-ico svg{
  display:block;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));
}

.ls-cta-card-txt{
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.ls-cta-card-txt b{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.15rem;line-height:1;letter-spacing:-.4px;
}
.ls-cta-card-txt small{
  font-size:.68rem;font-weight:600;opacity:.7;
  letter-spacing:.2px;
}

/* Liens secondaires en bas */
.ls-cta-extras{
  display:flex;align-items:center;justify-content:center;
  gap:8px;flex-wrap:wrap;
  padding-top:13px;
  border-top:1px dashed rgba(255,255,255,.1);
}

/* ═══ PREVIEW DÉMO — entre les CTAs et les liens secondaires ═══ */
.ls-preview{
  margin:14px 0 16px;
  padding:14px 14px 12px;
  background:linear-gradient(135deg, rgba(245,197,24,.06) 0%, rgba(164,214,94,.04) 100%);
  border:1px solid rgba(245,197,24,.22);
  border-radius:14px;
  position:relative;
  overflow:hidden;
}
.ls-preview::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), var(--vert-pomme), var(--gold), transparent);
  background-size:200% 100%;
  animation:ls-preview-shimmer 3s linear infinite;
}
@keyframes ls-preview-shimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
.ls-preview-eyebrow{
  display:flex;align-items:center;gap:7px;
  font-size:.62rem;font-weight:800;
  letter-spacing:1.4px;
  color:var(--gold);
  margin-bottom:11px;
}
.ls-preview-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 8px rgba(245,197,24,.6);
  animation:ls-preview-pulse 1.5s ease-in-out infinite;
}
@keyframes ls-preview-pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.5;transform:scale(.85);}
}
.ls-preview-features{
  display:flex;flex-direction:column;gap:8px;
  margin-bottom:12px;
}
.ls-preview-feat{
  display:flex;align-items:center;gap:11px;
  padding:7px 9px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.04);
  border-radius:9px;
}
.ls-preview-feat-ico{
  font-size:1.5rem;line-height:1;
  flex-shrink:0;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));
}
.ls-preview-feat-txt{flex:1;line-height:1.3;}
.ls-preview-feat-txt b{
  display:block;
  font-size:.84rem;font-weight:700;color:#fff;
}
.ls-preview-feat-txt small{
  display:block;
  font-size:.66rem;color:rgba(255,255,255,.6);
  margin-top:1px;
}
.ls-preview-cta{
  width:100%;
  padding:11px 14px;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #92c450 100%);
  color:var(--surface-deep);
  border:none;
  border-radius:11px;
  font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:.86rem;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  letter-spacing:-.1px;
  box-shadow:0 4px 12px rgba(164,214,94,.32);
  transition:transform var(--dur-fast) var(--ease-out-back), box-shadow var(--dur-fast);
}
.ls-preview-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(164,214,94,.45);
}
.ls-preview-cta:active{transform:translateY(0) scale(.97);}
.ls-preview-cta-ico{font-size:1rem;}
.ls-preview-cta-txt{flex:1;text-align:left;}
.ls-preview-cta-arrow{
  font-size:1.1rem;
  transition:transform var(--dur-fast);
}
.ls-preview-cta:hover .ls-preview-cta-arrow{
  transform:translateX(3px);
}

:root[data-theme="light"] .ls-preview{
  background:linear-gradient(135deg, rgba(74,124,26,.08) 0%, rgba(245,197,24,.04) 100%);
  border-color:rgba(74,124,26,.2);
}
:root[data-theme="light"] .ls-preview-feat{
  background:rgba(255,255,255,.5);
  border-color:rgba(0,0,0,.06);
}
:root[data-theme="light"] .ls-preview-feat-txt b{color:#0a1a04;}
:root[data-theme="light"] .ls-preview-feat-txt small{color:rgba(10,26,4,.65);}

@media(max-width:340px){
  .ls-preview{padding:11px 11px 10px;}
  .ls-preview-feat-ico{font-size:1.25rem;}
  .ls-preview-feat-txt b{font-size:.78rem;}
  .ls-preview-feat-txt small{font-size:.62rem;}
}
.ls-cta-link{
  display:inline-flex;align-items:center;gap:5px;
  background:transparent;border:none;
  color:rgba(255,255,255,.6);
  font-family:'DM Sans',sans-serif;font-weight:600;
  font-size:.75rem;letter-spacing:.2px;
  cursor:pointer;
  padding:5px 9px;border-radius:7px;
  transition:color var(--dur-fast), background var(--dur-fast);
}
.ls-cta-link:hover{
  color:#fff;background:rgba(255,255,255,.06);
}
.ls-cta-link span{font-size:.92rem;line-height:1;}
.ls-cta-divider{
  color:rgba(255,255,255,.2);font-size:.85rem;
}
.ls-cta-admin{opacity:.55;font-size:.7rem;}

@media(max-width:340px){
  .ls-cta-grid{gap:8px;}
  .ls-cta-card{padding:18px 12px 14px;}
  .ls-cta-card-ico{width:52px;height:52px;}
  .ls-cta-card-ico svg{width:30px;height:30px;}
  .ls-cta-card-txt b{font-size:1.05rem;}
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ AUTH MODAL — popup légère qui contient les forms ▓▓▓
   ════════════════════════════════════════════════════════════ */
.auth-modal-overlay{
  position:fixed;inset:0;z-index:8500;
  background:rgba(10,15,4,.82);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  animation:estim-overlay-in .35s var(--ease-out-expo);
  overflow-y:auto;
}
.auth-modal-card{
  position:relative;
  width:100%;max-width:460px;
  max-height:94vh;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:22px;
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.18), inset 0 1px 0 rgba(255,255,255,.08);
  animation:estim-card-in .5s var(--ease-out-back);
  display:flex;flex-direction:column;
  overflow:hidden;
}
.auth-modal-close{
  position:absolute;top:14px;right:14px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(10,15,4,.5);
  border:1.5px solid rgba(255,255,255,.18);
  color:#fff;font-size:.88rem;font-weight:700;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  padding:0;line-height:1;
  transition:all var(--dur-fast) var(--ease-out-back);
  z-index:3;
}
.auth-modal-close:hover{
  background:rgba(255,80,80,.32);
  border-color:rgba(255,80,80,.6);
  transform:rotate(90deg);
}
.auth-modal-header{
  padding:22px 24px 14px;
  text-align:center;
  background:linear-gradient(145deg, rgba(164,214,94,.12), rgba(164,214,94,.03));
  border-bottom:1px solid rgba(164,214,94,.16);
}
.auth-modal-eyebrow{
  font-size:.66rem;letter-spacing:2px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:6px;
}
.auth-modal-title{
  font-family:'Fredoka',sans-serif!important;font-weight:700!important;
  font-size:1.5rem!important;letter-spacing:-.4px!important;line-height:1.1!important;
  color:#fff!important;
  margin:0 0 6px!important;
}
.auth-modal-sub{
  font-size:.78rem;color:rgba(255,255,255,.7);
  line-height:1.45;margin:0;
}
.auth-modal-body{
  padding:18px 22px 14px;
  flex:1;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
/* Dans la modale, les .l-tabs sont plus compactes */
.auth-modal-body .l-tabs{
  display:flex;flex-wrap:wrap;gap:5px;
  margin-bottom:14px;
  padding:4px;
  background:rgba(10,15,4,.42);
  border-radius:11px;
}
.auth-modal-body .l-tab{
  flex:1 1 calc(50% - 3px);
  font-size:.76rem;padding:8px 8px;
}
.auth-modal-foot{
  padding:13px 22px;
  text-align:center;
  background:rgba(10,15,4,.32);
  border-top:1px solid rgba(164,214,94,.12);
}
.auth-modal-foot a{
  font-size:.82rem;color:rgba(255,255,255,.7);
  text-decoration:none;
  transition:color var(--dur-fast);
}
.auth-modal-foot a:hover{color:#fff;}
.auth-modal-foot a b{color:var(--vert-pomme);font-weight:700;}

@media (max-width:480px){
  .auth-modal-card{border-radius:18px;}
  .auth-modal-title{font-size:1.3rem!important;}
  .auth-modal-body{padding:16px 18px 12px;}
}

:root[data-theme="light"] .auth-modal-card{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(74,124,26,.4);
}
:root[data-theme="light"] .auth-modal-header{
  background:linear-gradient(145deg, rgba(74,124,26,.08), rgba(74,124,26,.02));
  border-bottom-color:rgba(74,124,26,.16);
}
:root[data-theme="light"] .auth-modal-title{color:#0a1a04 !important;}
:root[data-theme="light"] .auth-modal-sub{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .auth-modal-eyebrow{color:#3d6614;}
:root[data-theme="light"] .auth-modal-close{
  background:rgba(0,0,0,.06);color:#0a1a04;border-color:rgba(0,0,0,.18);
}
:root[data-theme="light"] .auth-modal-body .l-tabs{
  background:rgba(0,0,0,.04);
}
:root[data-theme="light"] .auth-modal-foot{
  background:rgba(0,0,0,.02);
  border-top-color:rgba(74,124,26,.12);
}
:root[data-theme="light"] .auth-modal-foot a{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .auth-modal-foot a:hover{color:#0a1a04;}
:root[data-theme="light"] .auth-modal-foot a b{color:#3d6614;}

:root[data-theme="light"] .ls-cta-connect{
  background:rgba(255,255,255,.7);
  border-color:rgba(74,124,26,.4);
  color:#0a1a04;
}
:root[data-theme="light"] .ls-cta-connect .ls-cta-card-ico{
  background:rgba(74,124,26,.12);
  color:#3d6614;
  border-color:rgba(74,124,26,.28);
}
:root[data-theme="light"] .ls-cta-link{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .ls-cta-link:hover{color:#0a1a04;background:rgba(0,0,0,.05);}
:root[data-theme="light"] .ls-cta-extras{border-top-color:rgba(0,0,0,.1);}
:root[data-theme="light"] .ls-cta-divider{color:rgba(10,26,4,.2);}

/* ═══ PARTNER ONBOARDING — modale tutoriel pro ═══ */
.partner-onb-overlay{
  position:fixed;inset:0;z-index:9100;
  background:rgba(10,15,4,.82);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  animation:estim-overlay-in .4s var(--ease-out-expo);
}
.partner-onb-card{
  position:relative;
  width:100%;max-width:440px;
  max-height:92vh;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.42);
  border-radius:24px;
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.22), inset 0 1px 0 rgba(255,255,255,.08);
  padding:26px 26px 22px;
  animation:estim-card-in .55s var(--ease-out-back);
  display:flex;flex-direction:column;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.partner-onb-close{
  position:absolute;top:14px;right:14px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(10,15,4,.5);
  border:1.5px solid rgba(255,255,255,.18);
  color:#fff;font-size:.88rem;font-weight:700;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  padding:0;line-height:1;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.partner-onb-close:hover{
  background:rgba(255,80,80,.32);
  border-color:rgba(255,80,80,.6);
  transform:rotate(90deg);
}
.partner-onb-skip{
  position:absolute;top:18px;left:18px;
  font-size:.7rem;color:rgba(255,255,255,.55);
  font-weight:700;letter-spacing:.4px;
  cursor:pointer;
  padding:4px 10px;
  border-radius:8px;
  transition:color var(--dur-fast), background var(--dur-fast);
}
.partner-onb-skip:hover{
  color:#fff;background:rgba(255,255,255,.06);
}
.partner-onb-counter{
  position:absolute;top:18px;right:60px;
  font-size:.66rem;letter-spacing:1.4px;font-weight:800;
  color:rgba(164,214,94,.65);
}
.partner-onb-illustration{
  width:100%;max-width:280px;
  margin:18px auto 18px;
  display:flex;justify-content:center;
}
.partner-onb-illustration svg{width:100%;height:auto;}
.partner-onb-content{text-align:center;margin-bottom:18px;}
.partner-onb-eyebrow{
  font-size:.66rem;letter-spacing:1.8px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:8px;
}
.partner-onb-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.55rem;letter-spacing:-.4px;line-height:1.1;
  color:#fff;
  margin:0 0 11px;
}
.partner-onb-text{
  font-size:.92rem;line-height:1.55;
  color:rgba(255,255,255,.82);
  margin:0;
}
.partner-onb-text b{color:var(--vert-pomme);font-weight:700;}
.partner-onb-actions{display:flex;flex-direction:column;gap:14px;}
.partner-onb-progress{
  display:flex;justify-content:center;gap:6px;
}
.partner-onb-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(164,214,94,.22);
  transition:all var(--dur-fast);
}
.partner-onb-dot.done{background:rgba(164,214,94,.55);}
.partner-onb-dot.on{
  background:var(--vert-pomme);
  width:24px;border-radius:4px;
  box-shadow:0 0 12px rgba(164,214,94,.55);
}
.partner-onb-cta{
  width:100%;
  padding:14px 18px;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border:none;border-radius:14px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1rem;letter-spacing:-.1px;
  cursor:pointer;
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.32);
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.partner-onb-cta:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-4), 0 0 22px rgba(164,214,94,.42);
}
.partner-onb-cta:active{transform:translateY(0) scale(.97);}
@media(max-width:480px){
  .partner-onb-card{padding:22px 20px 18px;}
  .partner-onb-title{font-size:1.3rem;}
}
:root[data-theme="light"] .partner-onb-card{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(74,124,26,.4);
}
:root[data-theme="light"] .partner-onb-title{color:#0a1a04;}
:root[data-theme="light"] .partner-onb-text{color:rgba(10,26,4,.85);}
:root[data-theme="light"] .partner-onb-text b{color:#3d6614;}
:root[data-theme="light"] .partner-onb-skip{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .partner-onb-close{background:rgba(0,0,0,.06);color:#0a1a04;border-color:rgba(0,0,0,.18);}

/* ═══════════════════════════════════════════════════
   ▓▓▓ DASHBOARD PARTENAIRE PREMIUM ▓▓▓
   ═══════════════════════════════════════════════════ */
.pp-hero-pro{
  position:relative;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 50%, #16341a 100%);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:20px;
  padding:22px 24px;
  margin-bottom:16px;
  overflow:hidden;
  box-shadow:var(--elev-2);
}
.pp-hero-pro-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(164,214,94,.2), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(245,197,24,.12), transparent 50%);
  pointer-events:none;
}
.pp-hero-pro-content{position:relative;z-index:1;}
.pp-hero-pro-top{
  display:flex;align-items:center;gap:14px;
}
.pp-hero-pro-ico{
  font-size:2.5rem;line-height:1;
  width:64px;height:64px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.78));
  border-radius:18px;
  flex-shrink:0;
  box-shadow:var(--elev-3), inset 0 -2px 0 rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,1);
}
.pp-hero-pro-eyebrow{
  font-size:.58rem;letter-spacing:1.8px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:2px;
}
.pp-hero-pro-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.4rem;letter-spacing:-.4px;line-height:1.1;
  color:#fff;
  margin-bottom:3px;
}
.pp-hero-pro-sub{
  font-size:.78rem;color:rgba(255,255,255,.7);
}

/* KPIs HERO (2 grandes cards) */
.pp-kpis-hero{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  margin-bottom:12px;
}
.pp-kpi-hero{
  display:flex;align-items:center;gap:14px;
  padding:18px 18px;
  background:linear-gradient(155deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1.5px solid rgba(164,214,94,.22);
  border-radius:18px;
  position:relative;overflow:hidden;
  transition:transform var(--dur-med) var(--ease-out-back),
             border-color var(--dur-fast),
             box-shadow var(--dur-med);
}
.pp-kpi-hero::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, transparent, var(--vert-pomme), transparent);
  border-radius:18px 18px 0 0;
  opacity:.6;
}
.pp-kpi-hero-success::before{background:linear-gradient(90deg, transparent, #4dcc7a, transparent);}
.pp-kpi-hero:hover{
  transform:translateY(-3px);
  border-color:var(--vert-pomme);
  box-shadow:var(--elev-3), 0 0 22px rgba(164,214,94,.22);
}
.pp-kpi-hero-success:hover{
  border-color:#4dcc7a;
  box-shadow:var(--elev-3), 0 0 22px rgba(77,204,122,.22);
}
.pp-kpi-hero-ico{
  font-size:2.4rem;line-height:1;flex-shrink:0;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.32));
}
.pp-kpi-hero-content{flex:1;min-width:0;}
.pp-kpi-hero-val{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:2.2rem;letter-spacing:-1px;line-height:1;
  color:#fff;
  font-variant-numeric:tabular-nums;
}
.pp-kpi-hero-primary .pp-kpi-hero-val{color:var(--vert-pomme);}
.pp-kpi-hero-success .pp-kpi-hero-val{color:#5fd98a;}
.pp-kpi-hero-lbl{
  font-size:.78rem;color:rgba(255,255,255,.7);
  margin-top:3px;letter-spacing:-.05px;
}
.pp-kpi-hero-trend{
  display:inline-block;
  font-size:.66rem;font-weight:700;
  color:var(--vert-pomme);
  background:rgba(164,214,94,.16);
  padding:3px 8px;
  border-radius:6px;
  margin-top:5px;
  letter-spacing:.3px;
}
.pp-kpi-hero-success .pp-kpi-hero-trend{
  color:#5fd98a;
  background:rgba(77,204,122,.16);
}
.pp-kpi-trend-flat{
  color:rgba(255,255,255,.5)!important;
  background:rgba(255,255,255,.04)!important;
}

/* KPIs secondaires (4 col) */
.pp-kpis-pro{
  display:grid;grid-template-columns:repeat(4, 1fr);gap:8px;
  margin-bottom:16px;
}
.pp-kpi-pro{
  background:rgba(10,15,4,.42);
  border:1.5px solid rgba(164,214,94,.18);
  border-radius:13px;
  padding:11px 9px;
  text-align:center;
  transition:transform var(--dur-fast) var(--ease-out-back),
             border-color var(--dur-fast);
}
.pp-kpi-pro:hover{
  transform:translateY(-2px);
  border-color:var(--vert-pomme);
}
.pp-kpi-pro-ico{
  font-size:1.2rem;line-height:1;
  margin-bottom:4px;
}
.pp-kpi-pro-val{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.1rem;color:#fff;line-height:1;
  font-variant-numeric:tabular-nums;
}
.pp-kpi-pro-lbl{
  font-size:.58rem;color:rgba(255,255,255,.6);
  font-weight:600;letter-spacing:.4px;
  margin-top:3px;line-height:1.2;
}

/* Mini graph 7 jours */
.pp-spark-section{padding:18px 20px;}
.pp-spark-intro{
  font-size:.74rem;color:var(--dim);
  margin-bottom:14px;
}
.pp-spark{
  display:flex;align-items:flex-end;
  gap:6px;
  height:90px;
  padding:8px 0;
}
.pp-spark-col{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;
  height:100%;
  justify-content:flex-end;
}
.pp-spark-bar{
  width:100%;
  background:linear-gradient(180deg, var(--vert-pomme), #4a7c1a);
  border-radius:5px 5px 0 0;
  min-height:6px;
  position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  transition:height var(--dur-med);
}
.pp-spark-bar[data-val]::after{
  content:attr(data-val);
  position:absolute;top:-16px;left:50%;
  transform:translateX(-50%);
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.7rem;
  color:var(--vert-pomme);
  white-space:nowrap;
}
.pp-spark-lbl{
  font-size:.6rem;font-weight:700;
  color:rgba(255,255,255,.6);
  letter-spacing:.4px;
  text-transform:uppercase;
}

@media(max-width:480px){
  .pp-hero-pro{padding:18px 20px;}
  .pp-hero-pro-title{font-size:1.2rem;}
  .pp-hero-pro-ico{width:54px;height:54px;font-size:2rem;}
  .pp-kpis-hero{grid-template-columns:1fr;}
  .pp-kpis-pro{grid-template-columns:repeat(2, 1fr);}
  .pp-kpi-hero-val{font-size:1.85rem;}
}

:root[data-theme="light"] .pp-hero-pro{
  background:linear-gradient(160deg, #e8f4d8 0%, #d5e8c0 50%, #e8f4d8 100%);
  border-color:rgba(74,124,26,.32);
}
:root[data-theme="light"] .pp-hero-pro-title{color:#0a1a04;}
:root[data-theme="light"] .pp-hero-pro-sub{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .pp-hero-pro-eyebrow{color:#3d6614;}
:root[data-theme="light"] .pp-kpi-hero{
  background:rgba(255,255,255,.7);
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .pp-kpi-hero-val{color:#0a1a04;}
:root[data-theme="light"] .pp-kpi-hero-lbl{color:rgba(10,26,4,.65);}
:root[data-theme="light"] .pp-kpi-hero-primary .pp-kpi-hero-val{color:#3d6614;}
:root[data-theme="light"] .pp-kpi-pro{
  background:rgba(255,255,255,.7);
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .pp-kpi-pro-val{color:#0a1a04;}
:root[data-theme="light"] .pp-kpi-pro-lbl{color:rgba(10,26,4,.65);}
:root[data-theme="light"] .pp-spark-lbl{color:rgba(10,26,4,.65);}

/* ─── Floating +X pts (apparition après save prono) ─── */
/* ═══ FLOATING POINTS — STYLE ROCKET BOOSTER 🚀 ═══ */
.floating-pts{
  position:absolute;z-index:9999;
  pointer-events:none;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #d4f04a 50%, var(--gold) 100%);
  color:var(--surface-deep);
  padding:13px 22px 13px 18px;
  border-radius:30px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.15rem;letter-spacing:-.2px;
  display:flex;align-items:center;gap:11px;
  box-shadow:0 0 0 1px rgba(164,214,94,.4),
             0 8px 24px rgba(164,214,94,.5),
             0 0 40px rgba(212,240,74,.4),
             inset 0 -2px 0 rgba(0,0,0,.18),
             inset 0 1px 0 rgba(255,255,255,.4);
  opacity:0;
  transform:translateY(0) scale(.7);
  transition:none;
  /* Trail booster en pseudo-element */
  position:absolute;
}
.floating-pts::before{
  content:'';
  position:absolute;
  bottom:-8px;left:50%;
  transform:translateX(-50%);
  width:60%;height:24px;
  background:radial-gradient(ellipse at top, rgba(255,180,80,.85), rgba(255,80,80,.5) 40%, transparent 70%);
  filter:blur(6px);
  opacity:0;
  z-index:-1;
  transition:opacity .2s;
}
.floating-pts.floating-pts-up{
  opacity:1;
  animation:rocket-launch 2s cubic-bezier(.4,0,.2,1) forwards;
}
.floating-pts.floating-pts-up::before{
  opacity:1;
  animation:rocket-trail 2s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes rocket-launch{
  0%{
    opacity:0;
    transform:translateY(20px) scale(.4) rotate(-2deg);
  }
  15%{
    opacity:1;
    transform:translateY(0) scale(1.2) rotate(0deg);
  }
  25%{
    transform:translateY(-15px) scale(1.05) rotate(1deg);
  }
  45%{
    transform:translateY(-55px) scale(1) rotate(-1deg);
  }
  70%{
    opacity:1;
    transform:translateY(-110px) scale(1.05) rotate(.5deg);
  }
  100%{
    opacity:0;
    transform:translateY(-180px) scale(.85) rotate(0deg);
  }
}
@keyframes rocket-trail{
  0%{opacity:0;height:8px;}
  15%{opacity:1;height:30px;}
  50%{opacity:.8;height:48px;}
  100%{opacity:0;height:80px;}
}
.fp-emoji{
  font-size:1.5rem;line-height:1;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.7));
  animation:fp-emoji-spin 1.2s ease-out;
}
@keyframes fp-emoji-spin{
  0%{transform:rotate(0deg) scale(.5);}
  50%{transform:rotate(360deg) scale(1.3);}
  100%{transform:rotate(360deg) scale(1);}
}
.fp-text{
  line-height:1.15;
}
.fp-text small{
  display:block;
  font-size:.66rem;font-weight:700;
  opacity:.78;letter-spacing:.3px;
  margin-top:2px;
}

/* Particules en arrière-plan du rocket */
.fp-particles{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%, -50%);
  pointer-events:none;
  z-index:-1;
}
.fp-particle{
  position:absolute;
  width:6px;height:6px;
  border-radius:50%;
  background:radial-gradient(circle, #ffe566, var(--vert-pomme));
  opacity:0;
}
.floating-pts-up .fp-particle{
  animation:fp-particle-fly 1.6s ease-out forwards;
}
@keyframes fp-particle-fly{
  0%{opacity:1;transform:translate(0,0) scale(1);}
  100%{opacity:0;transform:translate(var(--px,30px), var(--py,-50px)) scale(0);}
}

/* ═══ QUICK PRONO — Carrousel saisie rapide ═══ */
.quick-prono-section{
  margin:14px 0 18px;
  padding:14px 14px 16px;
  background:linear-gradient(135deg, rgba(245,197,24,.06) 0%, rgba(164,214,94,.04) 100%);
  border:1.5px solid rgba(245,197,24,.22);
  border-radius:16px;
  position:relative;
  overflow:hidden;
}
.quick-prono-section::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), var(--vert-pomme), var(--gold), transparent);
  animation:quick-prono-shimmer 3s linear infinite;
  background-size:200% 100%;
}
@keyframes quick-prono-shimmer{
  0%{background-position:200% 0;}
  100%{background-position:-200% 0;}
}
.quick-prono-header{
  display:flex;align-items:center;gap:11px;
  margin-bottom:12px;
}
.quick-prono-ico{
  font-size:1.6rem;line-height:1;
  filter:drop-shadow(0 0 8px rgba(245,197,24,.4));
  animation:quick-prono-bolt 2s ease-in-out infinite;
}
@keyframes quick-prono-bolt{
  0%,100%{transform:scale(1) rotate(0deg);}
  50%{transform:scale(1.1) rotate(-5deg);}
}
.quick-prono-title-block{flex:1;min-width:0;}
.quick-prono-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;color:#fff;letter-spacing:-.2px;
  line-height:1.1;
}
.quick-prono-sub{
  font-size:.7rem;color:rgba(255,255,255,.6);
  margin-top:2px;letter-spacing:.2px;
  font-weight:600;
}
.quick-prono-carousel{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 6px;
  scroll-snap-type:x mandatory;
}
.quick-prono-carousel::-webkit-scrollbar{display:none;}
.qp-card{
  flex:0 0 auto;
  min-width:200px;max-width:240px;
  background:linear-gradient(160deg, rgba(0,0,0,.32), rgba(0,0,0,.18));
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  padding:11px 11px 13px;
  scroll-snap-align:start;
  transition:border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.qp-card:hover{
  border-color:rgba(164,214,94,.32);
  box-shadow:var(--elev-2);
}
.qp-card-date{
  font-size:.62rem;font-weight:700;
  letter-spacing:.4px;text-transform:uppercase;
  color:var(--gold);
  margin-bottom:8px;text-align:center;
}
.qp-card-teams{
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.qp-team{
  display:flex;align-items:center;gap:7px;
  width:100%;
}
.qp-team:nth-child(3){flex-direction:row-reverse;}
.qp-flag{font-size:1.35rem;line-height:1;}
.qp-name{
  flex:1;min-width:0;
  font-size:.78rem;font-weight:700;color:#fff;
  text-align:left;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  letter-spacing:-.1px;
}
.qp-team:nth-child(3) .qp-name{text-align:right;}
.qp-score-row{
  display:flex;align-items:center;gap:7px;justify-content:center;
  margin:4px 0;
}
.qp-input{
  width:42px;height:42px;
  background:#fff;
  border:2px solid var(--gold);
  border-radius:9px;
  color:#1a3808;
  font-size:1.2rem;font-weight:800;
  text-align:center;
  font-family:'Bebas Neue',sans-serif;
  padding:0;
  -moz-appearance:textfield;
  transition:border-color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-fast);
}
.qp-input::-webkit-outer-spin-button,
.qp-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.qp-input:focus{
  outline:none;
  border-color:var(--vert-pomme);
  box-shadow:0 0 0 3px rgba(164,214,94,.25);
}
.qp-input.qp-filled,
.qp-input:not(:placeholder-shown){
  background:#fff7c2;
  border-color:#4dcc7a;
}
.qp-sep{
  color:rgba(255,255,255,.32);
  font-family:'Bebas Neue',sans-serif;
  font-size:1.2rem;
  font-weight:700;
}

@media(max-width:380px){
  .quick-prono-section{padding:11px 11px 13px;}
  .qp-card{min-width:180px;padding:9px 9px 11px;}
  .qp-input{width:38px;height:38px;font-size:1.05rem;}
  .qp-name{font-size:.72rem;}
  .quick-prono-title{font-size:.92rem;}
}
:root[data-theme="light"] .quick-prono-section{
  background:linear-gradient(135deg, rgba(74,124,26,.08), rgba(245,197,24,.05));
  border-color:rgba(74,124,26,.2);
}
:root[data-theme="light"] .quick-prono-title{color:#0a1a04;}
:root[data-theme="light"] .quick-prono-sub{color:rgba(10,26,4,.65);}
:root[data-theme="light"] .qp-card{
  background:linear-gradient(160deg, rgba(255,255,255,.5), rgba(255,255,255,.3));
  border-color:rgba(0,0,0,.08);
}
:root[data-theme="light"] .qp-name{color:#0a1a04;}
:root[data-theme="light"] .qp-sep{color:rgba(0,0,0,.3);}

/* ─── Social proof badge sur card partenaire ─── */
.pc-soc-proof{
  display:flex;align-items:center;gap:9px;
  margin-top:6px;
  padding:7px 11px;
  background:linear-gradient(135deg, rgba(164,214,94,.1), rgba(164,214,94,.03));
  border:1px solid rgba(164,214,94,.2);
  border-radius:9px;
}
.pc-soc-avatars{
  display:flex;align-items:center;
  flex-shrink:0;
}
.pc-soc-avatar{
  width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fredoka',sans-serif;font-weight:700;font-size:.66rem;
  color:#fff;
  border:2px solid #0e1606;
  margin-left:-7px;
  box-shadow:0 2px 6px rgba(0,0,0,.32);
}
.pc-soc-avatar:first-child{margin-left:0;}
.pc-soc-text{
  font-size:.7rem;color:rgba(255,255,255,.78);
  line-height:1.35;
}
.pc-soc-text b{color:var(--vert-pomme);font-weight:700;}
:root[data-theme="light"] .pc-soc-proof{
  background:linear-gradient(135deg, rgba(74,124,26,.07), rgba(74,124,26,.02));
  border-color:rgba(74,124,26,.18);
}
:root[data-theme="light"] .pc-soc-avatar{border-color:#fff;}
:root[data-theme="light"] .pc-soc-text{color:#1a2810;}
:root[data-theme="light"] .pc-soc-text b{color:var(--vert);}

/* ═══ MODE JOUR : overrides pour nouveaux composants ═══ */
/* Welcome banner */
:root[data-theme="light"] .welcome-banner{
  background:linear-gradient(155deg, rgba(74,124,26,.08) 0%, rgba(74,124,26,.04) 50%, rgba(245,197,24,.06) 100%);
  border-color:rgba(74,124,26,.32);
}
:root[data-theme="light"] .wb-greet-eyebrow{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .wb-greet-name{color:#0a1a04;}
:root[data-theme="light"] .wb-stat{
  background:rgba(255,255,255,.7);
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .wb-stat:hover{border-color:var(--vert);}
:root[data-theme="light"] .wb-stat-val{color:#0a1a04;}
:root[data-theme="light"] .wb-stat-lbl{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .wb-action-btn{
  background:rgba(255,255,255,.65);
  color:#0a1a04;
}
:root[data-theme="light"] .wb-action-btn b{color:#0a1a04;}
:root[data-theme="light"] .wb-action-btn small{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .wb-tip{
  background:rgba(245,197,24,.12);
  border-color:rgba(212,160,18,.4);
}
:root[data-theme="light"] .wb-tip-text{color:rgba(10,26,4,.8);}
:root[data-theme="light"] .wb-tip-text b{color:#a47100;}
:root[data-theme="light"] .wb-streak b{color:#c25a08;}
:root[data-theme="light"] .wb-streak small{color:rgba(10,26,4,.7);}

/* Next match card */
:root[data-theme="light"] .next-match-card{
  background:linear-gradient(155deg, #e8f4d8 0%, #d5e8c0 50%, #e8f4d8 100%);
  border-color:rgba(74,124,26,.42);
}
:root[data-theme="light"] .next-match-card.next-match-urgent{
  background:linear-gradient(155deg, #ffe5e0 0%, #ffd0c8 50%, #ffe5e0 100%);
  border-color:rgba(220,40,40,.45);
}
:root[data-theme="light"] .nmc-label{color:#3d6614;}
:root[data-theme="light"] .next-match-urgent .nmc-label{color:#c8362a;}
:root[data-theme="light"] .nmc-time{
  background:rgba(74,124,26,.18);
  color:#3d6614;
  border-color:rgba(74,124,26,.42);
}
:root[data-theme="light"] .next-match-urgent .nmc-time{
  background:rgba(220,40,40,.18);
  color:#c8362a;
  border-color:rgba(220,40,40,.45);
}
:root[data-theme="light"] .nmc-code{color:#0a1a04;}
:root[data-theme="light"] .nmc-vs{
  background:rgba(255,255,255,.8);
  color:#3d6614;
  border-color:rgba(74,124,26,.42);
}
:root[data-theme="light"] .next-match-urgent .nmc-vs{color:#c8362a;border-color:rgba(220,40,40,.45);}
:root[data-theme="light"] .nmc-meta{color:rgba(10,26,4,.6);}

/* Pronos urgency banner */
:root[data-theme="light"] .pronos-urgency{
  background:linear-gradient(135deg, rgba(255,80,80,.1) 0%, rgba(255,140,30,.06) 100%);
  border-color:rgba(220,40,40,.42);
}
:root[data-theme="light"] .pronos-urgency-title{color:#c8362a;}
:root[data-theme="light"] .pronos-urgency-sub{color:rgba(10,26,4,.7);}

/* Pronos progress banner */
:root[data-theme="light"] .pronos-progress{
  background:linear-gradient(155deg, #e8f4d8 0%, #d5e8c0 100%);
  border-color:rgba(74,124,26,.32);
}
:root[data-theme="light"] .pronos-progress-label{color:rgba(10,26,4,.85);}
:root[data-theme="light"] .pronos-progress-pct{color:#3d6614;}
:root[data-theme="light"] .pronos-progress-meta{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .pronos-progress-bar{background:rgba(74,124,26,.18);}

/* Partner banner pro */
:root[data-theme="light"] .partner-banner-pro{
  background:linear-gradient(155deg, #e8f4d8 0%, #d5e8c0 50%, #ffe9a8 100%);
  border-color:rgba(74,124,26,.32);
}
:root[data-theme="light"] .partner-banner-eyebrow{color:#3d6614;}
:root[data-theme="light"] .partner-banner-title{color:#0a1a04;}
:root[data-theme="light"] .partner-banner-perk{
  background:rgba(255,255,255,.75);
  color:#1a2810;
  border-color:rgba(74,124,26,.2);
}
:root[data-theme="light"] .partner-banner-perk b{color:#0a1a04;}

/* Suggest partner card (sur fond clair) */
:root[data-theme="light"] .suggest-partner-card{
  background:linear-gradient(135deg, rgba(74,158,255,.1), rgba(74,158,255,.04));
  border-color:rgba(74,158,255,.42);
}
:root[data-theme="light"] .suggest-partner-card-title{color:#0a1a04;}
:root[data-theme="light"] .suggest-partner-card-sub{color:rgba(10,26,4,.7);}

/* Invite modal — fond clair pour mode jour */
:root[data-theme="light"] .invite-card{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(74,124,26,.32);
  color:#0a1a04;
}
:root[data-theme="light"] .invite-header{
  background:linear-gradient(145deg, rgba(74,124,26,.1), rgba(74,124,26,.03));
  border-bottom-color:rgba(74,124,26,.18);
}
:root[data-theme="light"] .invite-title{color:#0a1a04 !important;}
:root[data-theme="light"] .invite-sub{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .invite-sub b{color:#3d6614;}
:root[data-theme="light"] .invite-eyebrow{color:#3d6614;}
:root[data-theme="light"] .invite-channel{
  background:rgba(255,255,255,.85);
  border-color:rgba(0,0,0,.12);
  color:#0a1a04;
}
:root[data-theme="light"] .invite-channel b{color:#0a1a04;}
:root[data-theme="light"] .invite-channel small{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .invite-foot{
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.05));
  color:rgba(10,26,4,.7);
  border-top-color:rgba(74,124,26,.12);
}
:root[data-theme="light"] .invite-close{
  background:rgba(0,0,0,.06);
  color:#0a1a04;
  border-color:rgba(0,0,0,.18);
}

/* Estim card (modale estimation) — fond clair */
:root[data-theme="light"] .estim-card-pro{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(74,124,26,.32);
  color:#0a1a04;
}
:root[data-theme="light"] .estim-hero{
  background:linear-gradient(145deg, rgba(74,124,26,.1), rgba(74,124,26,.03));
  border-bottom-color:rgba(74,124,26,.18);
}
:root[data-theme="light"] .estim-hero-eyebrow{color:#3d6614;}
:root[data-theme="light"] .estim-hero-title{color:#0a1a04;}
:root[data-theme="light"] .estim-hero-sub{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .estim-hero-sub b{color:#3d6614;}
:root[data-theme="light"] .estim-pts-bonus{
  background:linear-gradient(135deg, rgba(245,197,24,.22), rgba(245,197,24,.08));
  border-color:rgba(212,160,18,.5);
  color:#0a1a04;
}
:root[data-theme="light"] .estim-pts-bonus b{color:#a47100;}
:root[data-theme="light"] .estim-pts-bonus small{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .estim-step-title{color:#3d6614;}
:root[data-theme="light"] .estim-lbl-pro{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .estim-input{
  background:#fff;
  border-color:rgba(74,124,26,.32);
  color:#0a1a04;
}
:root[data-theme="light"] .estim-input::placeholder{color:rgba(10,26,4,.32);}
:root[data-theme="light"] .estim-input:focus{
  border-color:var(--vert);
  background:#fff;
  box-shadow:0 0 0 4px rgba(74,124,26,.18);
}
:root[data-theme="light"] .estim-input-select option{background:#fff;color:#0a1a04;}
:root[data-theme="light"] .estim-tile{
  background:rgba(255,255,255,.75);
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .estim-tile-lbl{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .estim-tile:has(input:checked) .estim-tile-lbl,
:root[data-theme="light"] .estim-tile.is-checked .estim-tile-lbl{color:#0a1a04;}
:root[data-theme="light"] .estim-rgpd-pro{
  background:rgba(0,0,0,.03);
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .estim-rgpd-pro span{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .estim-rgpd-pro span b{color:#0a1a04;}
:root[data-theme="light"] .estim-trust{
  background:linear-gradient(135deg, rgba(0,0,0,.03), rgba(0,0,0,.01));
  border-color:rgba(0,0,0,.1);
}
:root[data-theme="light"] .estim-trust-name{color:#0a1a04;}
:root[data-theme="light"] .estim-trust-role{color:rgba(10,26,4,.65);}
:root[data-theme="light"] .estim-trust-role b{color:#3d6614;}
:root[data-theme="light"] .estim-close{
  background:rgba(0,0,0,.06);
  color:#0a1a04;
  border-color:rgba(0,0,0,.18);
}
:root[data-theme="light"] .estim-foot-pro{color:rgba(10,26,4,.65);}

/* Modale ligues (lg-overlay-pro) — fond clair */
:root[data-theme="light"] .lg-card-modal-pro{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(74,124,26,.32);
  color:#0a1a04;
}
:root[data-theme="light"] .lg-hero-pro{
  background:linear-gradient(145deg, rgba(245,197,24,.12), rgba(245,197,24,.03));
  border-bottom-color:rgba(212,160,18,.32);
}
:root[data-theme="light"] .lg-hero-pro-eyebrow{color:#a47100;}
:root[data-theme="light"] .lg-hero-pro-title{color:#0a1a04;}
:root[data-theme="light"] .lg-hero-pro-sub{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .lg-empty-pro{
  background:linear-gradient(135deg, rgba(74,158,255,.07), rgba(74,158,255,.02));
  border-color:rgba(74,158,255,.32);
}
:root[data-theme="light"] .lg-empty-title{color:#0a1a04;}
:root[data-theme="light"] .lg-empty-sub{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .lg-empty-perk{
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.08);
  color:rgba(10,26,4,.78);
}
:root[data-theme="light"] .lg-card-pro{
  background:linear-gradient(155deg, rgba(245,197,24,.1), rgba(245,197,24,.02));
  border-color:rgba(212,160,18,.32);
}
:root[data-theme="light"] .lg-card-pro-name{color:#0a1a04;}
:root[data-theme="light"] .lg-meta-pill{
  background:rgba(0,0,0,.05);
  border-color:rgba(0,0,0,.1);
  color:rgba(10,26,4,.78);
}
:root[data-theme="light"] .lg-card-pro-rank{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.1);
}
:root[data-theme="light"] .lg-card-pro-rank-lbl{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .lg-action-join-pro{
  background:rgba(74,158,255,.16);
  color:#1a5fa8;
  border-color:rgba(74,158,255,.5);
}
:root[data-theme="light"] .lg-close-pro{
  background:rgba(0,0,0,.06);
  color:#0a1a04;
  border-color:rgba(0,0,0,.18);
}
:root[data-theme="light"] .lg-footer-pro{
  background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.06));
  border-top-color:rgba(74,124,26,.12);
}

/* Modale Google reviews — fond clair */
:root[data-theme="light"] .rv-card-pro{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(74,124,26,.32);
  color:#0a1a04;
}
:root[data-theme="light"] .rv-hero{
  background:linear-gradient(145deg, rgba(66,133,244,.1), rgba(66,133,244,.02));
  border-bottom-color:rgba(66,133,244,.18);
}
:root[data-theme="light"] .rv-hero-title{color:#0a1a04;}
:root[data-theme="light"] .rv-hero-sub{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .rv-step-title{color:#0a1a04;}
:root[data-theme="light"] .rv-step-desc{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .rv-trust-info{
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.08);
  color:rgba(10,26,4,.62);
}

/* Modale palmares — fond clair */
:root[data-theme="light"] .palm-card{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(212,160,18,.5);
  color:#0a1a04;
}
:root[data-theme="light"] .palm-header{
  background:linear-gradient(145deg, rgba(245,197,24,.14), rgba(245,197,24,.03));
  border-bottom-color:rgba(212,160,18,.22);
}
:root[data-theme="light"] .palm-eyebrow{color:#a47100;}
:root[data-theme="light"] .palm-title{color:#0a1a04 !important;}
:root[data-theme="light"] .palm-sub{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .palm-image-wrap{background:rgba(0,0,0,.04);}
:root[data-theme="light"] .palm-hint{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.1);
  color:rgba(10,26,4,.65);
}
:root[data-theme="light"] .palm-hint b{color:#a47100;}
:root[data-theme="light"] .palm-close{
  background:rgba(0,0,0,.06);
  color:#0a1a04;
  border-color:rgba(0,0,0,.18);
}

/* Sticky CTA mobile (text blanc → noir en light) */
:root[data-theme="light"] .pronos-progress{color:#0a1a04;}

/* Dash sidebar (admin dashboard) */
:root[data-theme="light"] .dash-sidebar-inner{
  background:linear-gradient(160deg, rgba(255,255,255,.85), rgba(255,255,255,.72));
  border-color:rgba(74,124,26,.18);
}
:root[data-theme="light"] .dash-sidebar-eyebrow{color:#3d6614;}
:root[data-theme="light"] .dash-sidebar-title{color:#0a1a04;}
:root[data-theme="light"] .dash-mini-val{color:#3d6614;}
:root[data-theme="light"] .dash-mini-lbl{color:rgba(10,26,4,.65);}
:root[data-theme="light"] .dash-nav-item{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .dash-nav-item:hover{background:rgba(74,124,26,.08);color:#0a1a04;}
:root[data-theme="light"] .dash-nav-item.active{
  background:linear-gradient(90deg, rgba(74,124,26,.16), rgba(74,124,26,.04));
  color:#3d6614;
}
:root[data-theme="light"] .dash-quick-btn{
  background:linear-gradient(135deg, rgba(74,158,255,.14), rgba(74,158,255,.04));
  color:#0a1a04;
}
:root[data-theme="light"] .dash-quick-btn b{color:#1a5fa8;}
:root[data-theme="light"] .dash-quick-btn small{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .dash-sidebar-foot{color:rgba(10,26,4,.5);}
:root[data-theme="light"] .dash-section-title-pro h3{color:#0a1a04;}
:root[data-theme="light"] .dash-section-title-pro p{color:rgba(10,26,4,.65);}
:root[data-theme="light"] .dash-mk-btn{
  background:linear-gradient(135deg, rgba(74,124,26,.08), rgba(74,124,26,.02));
  border-color:rgba(74,124,26,.32);
  color:#0a1a04;
}

/* Onboarding tooltip — fond clair */
:root[data-theme="light"] .onb-tooltip{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(74,124,26,.4);
  box-shadow:var(--elev-5), 0 0 0 1px rgba(74,124,26,.22), 0 0 48px rgba(74,124,26,.18);
}
:root[data-theme="light"] .onb-tooltip-title{color:#3d6614;}
:root[data-theme="light"] .onb-tooltip-text{color:rgba(10,26,4,.85);}
:root[data-theme="light"] .onb-tooltip-text b{color:#3d6614;}
:root[data-theme="light"] .onb-tooltip-counter{color:rgba(10,26,4,.5);}
:root[data-theme="light"] .onb-btn-skip{
  background:rgba(0,0,0,.04);
  color:rgba(10,26,4,.7);
  border-color:rgba(0,0,0,.14);
}
:root[data-theme="light"] .onb-welcome-card{
  background:linear-gradient(160deg, #ffffff 0%, #f4f7f0 100%);
  border-color:rgba(74,124,26,.4);
}
:root[data-theme="light"] .onb-welcome-title{color:#0a1a04;}
:root[data-theme="light"] .onb-welcome-text{color:rgba(10,26,4,.78);}
:root[data-theme="light"] .onb-welcome-text b{color:#3d6614;}
:root[data-theme="light"] .onb-welcome-time{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .onb-welcome-skip{
  background:rgba(0,0,0,.06);
  color:rgba(10,26,4,.7);
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ OUTILS MARKETING PARTENAIRE — Visuels prêts à partager ▓▓▓
   ════════════════════════════════════════════════════════════ */
.pp-marketing-section{
  background:linear-gradient(155deg, rgba(225,48,108,.1) 0%, rgba(131,58,180,.05) 100%);
  border:1.5px solid rgba(225,48,108,.28);
}
.pp-marketing-title{
  color:#d091e0!important;
  border-bottom-color:rgba(208,145,224,.2)!important;
}
.pp-marketing-intro{
  font-size:.82rem;line-height:1.55;
  color:rgba(255,255,255,.78);
  margin-bottom:16px;
}
.pp-marketing-intro b{color:#fff;}

.pp-marketing-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:11px;
  margin-bottom:14px;
}
.pp-mk-btn{
  position:relative;
  padding:18px 12px 16px;
  border:none;border-radius:14px;
  cursor:pointer;
  color:#fff;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  text-align:center;
  font-family:'Fredoka',sans-serif;
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.15);
  overflow:hidden;
}
.pp-mk-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.18) 50%, transparent 70%);
  transform:translateX(-100%);
  transition:transform .8s var(--ease-soft);
  pointer-events:none;
}
.pp-mk-btn:hover{
  transform:translateY(-4px);
  box-shadow:var(--elev-4), inset 0 -2px 0 rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.22);
}
.pp-mk-btn:hover::before{transform:translateX(100%);}
.pp-mk-btn:active{transform:translateY(-1px) scale(.98);}

.pp-mk-icon{
  font-size:1.85rem;line-height:1;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.32));
}
.pp-mk-name{
  font-size:.92rem;font-weight:700;letter-spacing:-.1px;
  line-height:1.1;
}
.pp-mk-size{
  font-family:'DM Sans',sans-serif;font-weight:600;
  font-size:.62rem;letter-spacing:1px;
  opacity:.78;
  text-transform:uppercase;
}

/* Variantes couleurs par format */
.pp-mk-post{
  background:linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}
.pp-mk-story{
  background:linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);
}
.pp-mk-print{
  background:linear-gradient(135deg, #4dcc7a 0%, #2d9b5a 100%);
}
.pp-mk-qr{
  background:linear-gradient(135deg, #0a0f04 0%, #1a3008 100%);
  border:1px solid rgba(164,214,94,.32);
}

.pp-marketing-tip{
  display:flex;align-items:flex-start;gap:11px;
  padding:13px 15px;
  background:rgba(208,145,224,.08);
  border:1px solid rgba(208,145,224,.2);
  border-radius:11px;
  font-size:.78rem;color:var(--dim);line-height:1.55;
}
.pp-mk-tip-ico{font-size:1.2rem;line-height:1;flex-shrink:0;}
.pp-marketing-tip b{color:#d091e0;}

@media (max-width:480px){
  .pp-marketing-grid{grid-template-columns:1fr 1fr;gap:9px;}
  .pp-mk-btn{padding:14px 10px 12px;}
  .pp-mk-icon{font-size:1.6rem;}
  .pp-mk-name{font-size:.82rem;}
}

/* ─── ESPACE PARTENAIRE ─── */
.pp-hero{
  display:flex;align-items:center;gap:16px;
  background:linear-gradient(135deg, rgba(245,197,24,.22), rgba(245,197,24,.06));
  border:1.5px solid rgba(245,197,24,.4);
  border-radius:18px;padding:20px 22px;
  position:relative;overflow:hidden;
  box-shadow:var(--elev-2), inset 0 1px 0 rgba(255,255,255,.06);
}
.pp-hero::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}
.pp-hero-ico{font-size:2.6rem;flex-shrink:0;line-height:1;filter:drop-shadow(0 4px 14px rgba(245,197,24,.32));}
.pp-hero-title{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.6rem;letter-spacing:-.3px;color:var(--text);line-height:1.05;}
.pp-hero-sub{font-size:.68rem;color:var(--dim);margin-top:3px;letter-spacing:.6px;text-transform:uppercase;font-weight:600;}
.pp-logout{
  background:rgba(255,80,80,.14);
  border:1px solid rgba(255,80,80,.32);
  border-radius:9px;color:#ff7878;
  padding:8px 14px;font-size:.68rem;font-weight:700;
  cursor:pointer;flex-shrink:0;letter-spacing:.5px;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.pp-logout:hover{background:rgba(255,80,80,.26);transform:translateY(-1px);}
.pp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
.pp-kpis-sm{grid-template-columns:repeat(2,1fr);}
.pp-kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 8px;text-align:center;}
.pp-kpi-sm{padding:10px 6px;}
.pp-kpi-v{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:1px;color:var(--gold);line-height:1;}
.pp-kpi-sm .pp-kpi-v{font-size:1.5rem;}
.pp-kpi-l{font-size:.56rem;color:var(--dim);margin-top:4px;text-transform:uppercase;letter-spacing:.8px;}
.pp-section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;}
.pp-section-promo{background:linear-gradient(135deg,rgba(245,197,24,.06),rgba(245,197,24,.01));border-color:rgba(245,197,24,.25);}
.pp-section-title{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:2px;color:var(--gold);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.pp-form{display:flex;flex-direction:column;gap:11px;}
.pp-row{display:flex;flex-direction:column;gap:4px;}
.pp-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.pp-row-grid > div{display:flex;flex-direction:column;gap:4px;}
.pp-lbl{font-size:.62rem;color:var(--dim);text-transform:uppercase;letter-spacing:.6px;font-weight:700;}
.pp-row input,.pp-row textarea{padding:9px 11px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:.78rem;transition:all .2s;}
.pp-row input:focus,.pp-row textarea:focus{outline:none;border-color:var(--gold);background:var(--input-bg-focus);}
.pp-row textarea{resize:vertical;min-height:60px;font-family:inherit;}
.pp-save-btn{margin-top:6px;padding:11px;background:linear-gradient(135deg,var(--gold),var(--gold2));border:none;border-radius:9px;color:#1a3808;font-weight:800;font-size:.82rem;letter-spacing:.5px;cursor:pointer;transition:all .2s;}
.pp-save-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(245,197,24,.32);}
.pp-save-btn:active{transform:translateY(0);}
.pp-save-btn:disabled{opacity:.6;cursor:wait;}
.pp-save-btn-promo{background:linear-gradient(135deg,#f5c518,#e6683c);color:#fff;}
.pp-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.78rem;color:var(--text);}
.pp-toggle input{display:none;}
.pp-toggle-slider{width:42px;height:22px;background:var(--surface-alt);border:1px solid var(--border);border-radius:11px;position:relative;transition:all .2s;flex-shrink:0;}
.pp-toggle-slider::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--dim);border-radius:50%;transition:all .2s;}
.pp-toggle input:checked + .pp-toggle-slider{background:rgba(245,197,24,.35);border-color:var(--gold);}
.pp-toggle input:checked + .pp-toggle-slider::after{left:22px;background:var(--gold);}
.pp-table{width:100%;border-collapse:collapse;font-size:.7rem;}
.pp-table th{background:var(--surface-alt);color:var(--dim);font-weight:700;text-align:left;padding:7px 10px;text-transform:uppercase;font-size:.55rem;letter-spacing:.7px;border-bottom:1px solid var(--border);}
.pp-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text);}
.pp-table tr:last-child td{border-bottom:none;}
.pp-status{font-size:.6rem;font-weight:700;padding:3px 8px;border-radius:6px;display:inline-block;}
.pp-status-ok{background:rgba(77,204,122,.12);color:#4dcc7a;border:1px solid rgba(77,204,122,.3);}
.pp-status-pending{background:rgba(245,197,24,.12);color:var(--gold);border:1px solid rgba(245,197,24,.3);}
@media(max-width:480px){
  .pp-kpis{grid-template-columns:repeat(2,1fr);}
  .pp-row-grid{grid-template-columns:1fr;}
  .pp-hero{flex-wrap:wrap;}
  .pp-hero-ico{font-size:2rem;}
  .pp-hero-title{font-size:1.2rem;}
}

/* ─── Branding : typo & couleurs harmonisées ─── */
.hero-tagline,.l-sub,.hero-benefit b,.testimonial-quote,.tb-lbl,
.pp-hero-sub,.um-info-lbl,.l-hint{font-family:'Inter','DM Sans',sans-serif;}
.hero-h1,.l-title,.pp-hero-title,.results-title,.ct,.um-name,.live-header,
.ph-title,.ms-name,.mini-rank-title b,.flp-flash{font-family:'Bebas Neue',sans-serif;font-weight:400;}

/* Couleurs harmonisées : on resserre les variantes du doré */
:root{
  --gold:#f5c518;
  --gold2:#d4a012;
  --gold3:#ffe566;
  --gold-soft:rgba(245,197,24,.12);
  --gold-soft-2:rgba(245,197,24,.06);
  --vert:#2d6e1a;
  --vert2:#1f5210;
  --green-accent:#4dcc7a;
  --red-accent:#ff5757;
  --blue-accent:#4a9eff;
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ POLISH UI FINAL — Clarté & visibilité ▓▓▓
   ════════════════════════════════════════════════════════════ */

/* Tabs en bas plus lisibles : icônes plus grosses, labels plus contrastés */
.tab-ico{font-size:1.2rem!important;}
.tab-lbl{font-size:.6rem!important;letter-spacing:.6px;font-weight:700;color:inherit;}
.tab.on .tab-ico{filter:drop-shadow(0 0 8px rgba(245,197,24,.4));}

/* Header : harmoniser les pastilles d'action */
#theme-toggle{display:flex;align-items:center;justify-content:center;}
#notif-toggle{align-items:center;justify-content:center;}
#notif-toggle[style*="inline-flex"]{display:inline-flex!important;}
#loyalty-badge{display:none;align-items:center;}
.h-av{font-weight:800;letter-spacing:0;transition:box-shadow .2s ease;}
#h-user-btn{transition:transform .2s ease,background .2s ease;border-radius:20px;padding:2px 6px;}
#h-user-btn[onclick]:hover{transform:translateY(-1px);background:rgba(245,197,24,.08);}
#h-user-btn[onclick]:hover .h-av{box-shadow:0 0 0 2px rgba(245,197,24,.4);}

/* Bouton déco moins agressif (était trop voyant) */
button[onclick="logout()"]{opacity:.78;transition:opacity .2s;}
button[onclick="logout()"]:hover{opacity:1;}

/* Profil-btn : meilleur contraste */
#profil-btn{font-weight:700;letter-spacing:.3px;background:rgba(245,197,24,.15)!important;border:1px solid rgba(245,197,24,.35)!important;}

/* Cards : ombres plus marquées pour mieux séparer le contenu */
.pc,.mc,.card,.insight-card,.pp-section,.pp-kpi{box-shadow:0 2px 6px rgba(0,0,0,.12);}
:root[data-theme="light"] .pc,
:root[data-theme="light"] .mc,
:root[data-theme="light"] .card,
:root[data-theme="light"] .insight-card,
:root[data-theme="light"] .pp-section,
:root[data-theme="light"] .pp-kpi{box-shadow:0 1px 3px rgba(0,0,0,.05);}

/* Boutons "primaires" partout — bien identifiables */
.l-btn,.pp-save-btn{cursor:pointer;position:relative;}
.l-btn::before,.pp-save-btn::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent 40%);pointer-events:none;}

/* Match cards : icône horloge plus claire pour à venir */
.mc.upcoming::after{content:'⏰';position:absolute;top:8px;right:10px;font-size:.85rem;opacity:.6;}

/* Score live : numéros plus gros et plus contrastés */
.live-match-teams{font-weight:800;letter-spacing:.3px;}

/* Forms : labels plus visibles dans les sections partenaires */
.pp-lbl{color:var(--gold)!important;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.66rem!important;margin-bottom:5px;}
:root[data-theme="light"] .pp-lbl{color:#8a6300!important;}

/* Inputs : focus plus visible */
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px rgba(245,197,24,.22)!important;outline:none!important;}

/* Toast plus visible et accessible (3-5s lecture confortable) */
.toast{font-weight:600;line-height:1.4;box-shadow:0 8px 24px rgba(0,0,0,.35)!important;}

/* ═══ EMPTY STATES illustrés ═══ */
.es{
  padding:40px 20px;
  text-align:center;
  color:var(--dim);
  font-size:.9rem;font-weight:500;
  border:2px dashed rgba(164,214,94,.22);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(164,214,94,.03), rgba(164,214,94,.06));
  position:relative;
  overflow:hidden;
  letter-spacing:.2px;text-transform:none;
}
.es::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle at 30% 20%, rgba(164,214,94,.08), transparent 50%);
  pointer-events:none;
}
.es-icon{
  display:block;font-size:3.2rem;
  margin-bottom:12px;line-height:1;
  filter:drop-shadow(0 4px 12px rgba(164,214,94,.18));
  animation:es-float 3.5s ease-in-out infinite;
}
@keyframes es-float{
  0%,100%{transform:translateY(0) rotate(0);}
  50%{transform:translateY(-8px) rotate(-3deg);}
}
.es-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;color:var(--text);
  margin-bottom:6px;letter-spacing:-.2px;
}
.es-sub{
  font-size:.82rem;color:var(--dim);
  line-height:1.5;margin-bottom:14px;
}
.es-cta{
  display:inline-block;margin-top:8px;
  padding:10px 18px;
  background:var(--vert-pomme);
  color:var(--surface-deep);
  border-radius:11px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.84rem;text-decoration:none;
  cursor:pointer;border:none;
  box-shadow:var(--elev-2);
  transition:transform var(--dur-fast) var(--ease-out-back), box-shadow var(--dur-med) var(--ease-out-expo);
}
.es-cta:hover{transform:translateY(-2px);box-shadow:var(--elev-3), 0 0 22px rgba(164,214,94,.32);}
.es-cta:active{transform:translateY(0) scale(.96);}

:root[data-theme="light"] .es{background:rgba(74,124,26,.06);border-color:rgba(74,124,26,.22);color:#0a1a04;}
:root[data-theme="light"] .es-title{color:#0a1a04;}
:root[data-theme="light"] .es-sub{color:rgba(10,26,4,.65);}

/* Modales : meilleur affichage mobile */
.modal,
[id$="-modal"] > div:first-child{
  max-width:96vw!important;
}

/* Pop-up flash + diffusion : plus visibles */
.flash-promo{box-shadow:0 16px 40px rgba(0,0,0,.55),0 0 0 1px rgba(245,197,24,.25)!important;}
.flash-promo.flash-diffusion{box-shadow:0 16px 40px rgba(0,0,0,.55),0 0 0 1px rgba(74,158,255,.3)!important;}

/* Animation d'attention sur le badge notif si non-activé */
#notif-toggle:not([data-active])::after{content:'';position:absolute;top:1px;right:1px;width:7px;height:7px;background:#ff5050;border-radius:50%;animation:notif-dot-pulse 1.5s ease-in-out infinite;}
#notif-toggle{position:relative;}
@keyframes notif-dot-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(.85);}}

/* Hero : ajout d'un séparateur subtil avant le formulaire */
.hero-top + .hero-counter,
.hero-top + .hero-benefits,
.hero-benefits + .l-tabs{margin-top:14px;}

/* ════════════════════════════════════════════════════════════
   POP-UP CONNEXION : COMPACT PC + ADAPTÉ CIBLE 30-60 ANS
   ════════════════════════════════════════════════════════════ */
/* Sur grand écran (PC), réduire fortement le padding et la taille de la carte */
@media(min-width:721px){
  .ls{padding:24px;align-items:flex-start;padding-top:5vh;}
  .lb{max-width:440px;padding:22px 24px;border-radius:16px;max-height:90vh;}
  /* Hero compact sur PC */
  .hero-h1{margin-bottom:6px;gap:0;}
  .hero-h1-line1{font-size:1rem;letter-spacing:2px;}
  .hero-h1-line2{font-size:1.7rem;}
  .hero-h1-line3{font-size:.9rem;letter-spacing:2.5px;}
  .hero-tagline{font-size:.78rem;max-width:340px;}
  .hero-badge-live{font-size:.6rem;letter-spacing:1.5px;padding:3px 9px;margin-bottom:8px;}
  .hero-counter{padding:9px 12px;margin-bottom:12px;gap:10px;}
  .hero-counter-num{font-size:1.7rem;}
  .hero-counter-lbl{font-size:.7rem;}
  .hero-benefits{margin-bottom:12px;gap:5px;}
  .hero-benefit{padding:7px 5px;}
  .hero-benefit > span:first-child{font-size:1.1rem;}
  .hero-benefit b{font-size:.65rem;}
  .hero-benefit .hb-sub{font-size:.54rem;}
  .trust-badges{margin:10px 0 8px;}
  .testimonial{padding:8px 11px;margin-bottom:10px;}
  .testimonial-quote{font-size:.74rem;line-height:1.42;}
  .l-tabs{margin-bottom:12px;}
  .l-form-section{margin-bottom:10px;padding-bottom:8px;}
  .l-title{font-size:1.05rem!important;}
  .l-sub{font-size:.72rem!important;margin-bottom:8px;}
}

/* Tabs login : meilleure lisibilité quand actif (déjà géré dans .l-tab.on de base) */
.l-tab{min-height:38px;}

/* Compteur hero : transition douce sur le nombre */
.hero-counter-num{font-variant-numeric:tabular-nums;}

/* Live cards : ajout d'indicateurs visuels clairs */
.live-card.live-on{border-color:rgba(255,80,80,.5);box-shadow:0 0 0 1px rgba(255,80,80,.18),0 4px 12px rgba(0,0,0,.12);}

/* Très petits écrans : compacter encore davantage */
@media(max-width:380px){
  #notif-toggle,#theme-toggle{width:28px;height:28px;font-size:.78rem;}
  .ls{padding:12px 10px;}
  .lb{padding:14px 14px 18px;}
  .hero-h1-line1{letter-spacing:1.5px;}
  .tab-lbl{font-size:.52rem!important;}
  .tab-ico{font-size:1.05rem!important;}
}
/* ════════════════════════════════════════════════════════════ */
.hero-top{text-align:center;margin-bottom:10px;padding:0 4px;}

/* ─── ILLUSTRATION SVG hero refondue ─── */
.hero-illustration{
  width:100%;max-width:180px;
  margin:0 auto 8px;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.28));
}
.hero-svg{
  width:100%;height:auto;display:block;
  overflow:visible;
}

/* Halos respirant */
.hero-halo-big{
  transform-origin:180px 120px;
  animation:hero-halo-pulse 4s ease-in-out infinite;
}
.hero-halo-gold{
  transform-origin:180px 120px;
  animation:hero-halo-pulse 4s ease-in-out 1.2s infinite;
}
@keyframes hero-halo-pulse{
  0%,100%{opacity:.85;transform:scale(1);}
  50%{opacity:1;transform:scale(1.06);}
}

/* Ballon principal — flotte avec spin léger */
.hero-main-ball{
  transform-origin:180px 130px;
  animation:hero-main-ball-float 3.6s ease-in-out infinite;
}
@keyframes hero-main-ball-float{
  0%,100%{transform:translateY(0) rotate(-3deg);}
  25%{transform:translateY(-5px) rotate(0deg);}
  50%{transform:translateY(-8px) rotate(3deg);}
  75%{transform:translateY(-5px) rotate(0deg);}
}

/* Drapeaux flottants */
.hero-flag-fr{
  transform-origin:85px 75px;
  animation:hero-flag-wave-fr 3s ease-in-out infinite;
}
.hero-flag-br{
  transform-origin:275px 75px;
  animation:hero-flag-wave-br 3s ease-in-out .5s infinite;
}
@keyframes hero-flag-wave-fr{
  0%,100%{transform:rotate(-6deg) translateY(0);}
  50%{transform:rotate(-2deg) translateY(-4px);}
}
@keyframes hero-flag-wave-br{
  0%,100%{transform:rotate(6deg) translateY(0);}
  50%{transform:rotate(2deg) translateY(-4px);}
}

/* Mini cartes score qui apparaissent */
.hero-score-card{
  transform-origin:87px 154px;
  animation:hero-card-pop-l 4s ease-in-out infinite;
}
.hero-points-card{
  transform-origin:273px 154px;
  animation:hero-card-pop-r 4s ease-in-out 2s infinite;
}
@keyframes hero-card-pop-l{
  0%,100%{transform:scale(1) rotate(-4deg);opacity:1;}
  45%,55%{transform:scale(1.06) rotate(-1deg);opacity:1;filter:drop-shadow(0 4px 12px rgba(164,214,94,.6));}
}
@keyframes hero-card-pop-r{
  0%,100%{transform:scale(1) rotate(4deg);opacity:1;}
  45%,55%{transform:scale(1.08) rotate(1deg);filter:drop-shadow(0 4px 14px rgba(245,197,24,.7));}
}

/* Mini trophée en bas */
.hero-mini-trophy{
  transform-origin:180px 213px;
  animation:hero-trophy-bounce 2.8s ease-in-out infinite;
  filter:drop-shadow(0 4px 12px rgba(245,197,24,.42));
}
@keyframes hero-trophy-bounce{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-4px);}
}

/* Bandeau Toulouse */
.hero-toulouse-tile{
  animation:hero-tile-glow 3s ease-in-out infinite;
}
@keyframes hero-tile-glow{
  0%,100%{filter:drop-shadow(0 0 0 rgba(164,214,94,0));}
  50%{filter:drop-shadow(0 0 12px rgba(164,214,94,.7));}
}

/* Sparkles individuels — twinkle décalés */
.hero-sparkle{
  transform-origin:center;
  transform-box:fill-box;
}
.hero-sparkle-1{animation:sparkle-twinkle 2.5s ease-in-out infinite;}
.hero-sparkle-2{animation:sparkle-twinkle 2.5s ease-in-out .6s infinite;}
.hero-sparkle-3{animation:sparkle-twinkle 2.5s ease-in-out 1.2s infinite;}
.hero-sparkle-4{animation:sparkle-twinkle 2.5s ease-in-out 1.8s infinite;}
.hero-sparkle-5{animation:sparkle-twinkle 2.5s ease-in-out 2.4s infinite;}
.hero-sparkle-6{animation:sparkle-twinkle 2.5s ease-in-out 0.3s infinite;}
@keyframes sparkle-twinkle{
  0%,100%{opacity:.3;transform:scale(.6) rotate(0deg);}
  50%{opacity:1;transform:scale(1.3) rotate(180deg);}
}

.hero-confetti{
  animation:hero-confetti-fall 6s linear infinite;
  transform-origin:center;
}
@keyframes hero-confetti-fall{
  0%,100%{opacity:.78;transform:translateY(0);}
  50%{opacity:.5;transform:translateY(8px);}
}
.hero-badge-live{
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg, rgba(255,80,80,.18), rgba(255,80,80,.08));
  border:1.5px solid rgba(255,80,80,.42);
  border-radius:20px;padding:5px 12px;
  font-size:.66rem;font-weight:800;letter-spacing:1.6px;
  color:#ff8585;margin-bottom:12px;
  box-shadow:0 0 16px rgba(255,80,80,.18);
  animation:hero-badge-pulse 2.4s ease-in-out infinite;
}
@keyframes hero-badge-pulse{
  0%,100%{box-shadow:0 0 16px rgba(255,80,80,.18);}
  50%{box-shadow:0 0 24px rgba(255,80,80,.32);}
}
.hero-pulse-dot{width:8px;height:8px;background:#ff5050;border-radius:50%;animation:hero-pulse 1.5s ease-in-out infinite;box-shadow:0 0 0 0 rgba(255,80,80,.5);}
@keyframes hero-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,80,80,.5);}50%{box-shadow:0 0 0 8px rgba(255,80,80,0);}}

.hero-h1{
  font-family:'Fredoka',sans-serif;font-weight:700;
  letter-spacing:-.6px;line-height:1;
  margin:0 0 8px;
  display:flex;flex-direction:column;gap:3px;
  text-shadow:0 2px 16px rgba(0,0,0,.42);
}
.hero-h1-line1{
  font-family:'Fredoka',sans-serif;font-weight:500;
  font-size:clamp(.95rem,3.5vw,1.25rem);
  color:rgba(255,255,255,.9);letter-spacing:.2px;
}
.hero-h1-line2{
  font-size:clamp(1.7rem,6.4vw,2.6rem);
  color:#fff;letter-spacing:-1px;font-weight:700;
}
.hero-h1-year{
  color:var(--vert-pomme);
  text-shadow:0 0 28px rgba(164,214,94,.5);
  display:inline-block;
  background:linear-gradient(135deg, #a4d65e 0%, #d4f04a 50%, #a4d65e 100%);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:hero-year-shine 4s ease-in-out infinite;
}
@keyframes hero-year-shine{
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}
.hero-h1-line3{
  font-size:clamp(.95rem,3.5vw,1.3rem);
  color:var(--vert-pomme);font-weight:600;letter-spacing:.2px;
  text-shadow:0 0 18px rgba(164,214,94,.32);
}
.hero-tagline{
  font-family:'Inter','DM Sans',sans-serif;
  font-size:.78rem;line-height:1.45;
  color:rgba(255,255,255,.85);
  margin:0 auto;max-width:340px;letter-spacing:0;
}
.hero-tagline b{color:var(--vert-pomme);font-weight:700;}

/* COMPTEUR PARTICIPANTS LIVE */
.hero-counter{
  position:relative;display:flex;align-items:center;gap:11px;
  background:linear-gradient(135deg, rgba(164,214,94,.22), rgba(164,214,94,.06));
  border:1.5px solid var(--vert-pomme);
  border-radius:14px;
  padding:10px 14px;
  margin-bottom:12px;
  overflow:hidden;
  box-shadow:var(--elev-2), 0 0 24px rgba(164,214,94,.18);
}
.hero-counter::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 30%, rgba(164,214,94,.1) 50%, transparent 70%);
  transform:translateX(-100%);
  animation:hc-shimmer 4s var(--ease-soft) infinite;
}
@keyframes hc-shimmer{
  0%{transform:translateX(-100%);}
  100%{transform:translateX(200%);}
}
.hero-counter-pulse{
  position:absolute;top:50%;left:-24px;
  width:56px;height:56px;
  background:radial-gradient(circle,rgba(164,214,94,.55),transparent 70%);
  border-radius:50%;
  transform:translateY(-50%);
  animation:hc-pulse 3s ease-in-out infinite;
}
@keyframes hc-pulse{
  0%,100%{opacity:.4;transform:translateY(-50%) scale(.9);}
  50%{opacity:1;transform:translateY(-50%) scale(1.35);}
}
.hero-counter-num{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:2.1rem;color:var(--vert-pomme);
  line-height:1;letter-spacing:.5px;
  text-shadow:0 0 24px rgba(164,214,94,.55);
  z-index:1;
}
.hero-counter-lbl{
  font-size:.76rem;color:rgba(255,255,255,.95);
  line-height:1.4;z-index:1;font-weight:600;
}

/* BÉNÉFICES CLÉS (3 cards) */
.hero-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px;}
.hero-benefit{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:13px 7px;
  background:linear-gradient(155deg, rgba(10,15,4,.48), rgba(10,15,4,.28));
  border:1.5px solid var(--border);
  border-radius:14px;text-align:center;
  transition:transform var(--dur-med) var(--ease-out-back),
             border-color var(--dur-fast),
             background var(--dur-med),
             box-shadow var(--dur-med) var(--ease-out-expo);
  cursor:default;
  box-shadow:var(--elev-1);
}
.hero-benefit:hover{
  transform:translateY(-4px) scale(1.02);
  border-color:var(--vert-pomme);
  background:linear-gradient(155deg, rgba(10,15,4,.68), rgba(10,15,4,.45));
  box-shadow:var(--elev-3), 0 0 22px rgba(164,214,94,.18);
}
.hero-benefit > span:first-child{font-size:1.55rem;line-height:1;margin-bottom:4px;}
.hero-benefit b{font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.1px;font-family:'Fredoka',sans-serif;}
.hero-benefit .hb-sub{font-size:.6rem;color:rgba(255,255,255,.7);line-height:1.3;}

/* TRUST BADGES */
.trust-badges{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:7px;margin:14px 0 12px;
}
.trust-badge{
  display:flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 6px;
  background:rgba(164,214,94,.08);
  border:1.5px solid rgba(164,214,94,.22);
  border-radius:10px;
  text-align:center;
}
.tb-ico{
  font-size:.95rem;line-height:1;flex-shrink:0;
}
.tb-lbl{
  font-size:.66rem;font-weight:700;letter-spacing:.2px;
  color:rgba(255,255,255,.85);
  line-height:1.1;
}
:root[data-theme="light"] .trust-badge{
  background:rgba(74,124,26,.08);
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .tb-lbl{color:rgba(10,26,4,.85);}

/* TÉMOIGNAGE */
.testimonial{padding:11px 14px;background:rgba(10,15,4,.32);border-left:4px solid var(--vert-pomme);border-radius:8px;margin-bottom:12px;}
.testimonial-stars{font-size:.78rem;color:var(--vert-pomme);margin-bottom:4px;letter-spacing:1.5px;}
.testimonial-quote{font-size:.74rem;line-height:1.45;color:rgba(255,255,255,.92);font-style:italic;font-weight:500;}
.testimonial-author{font-size:.6rem;color:var(--gold);margin-top:4px;font-weight:600;letter-spacing:.2px;}

/* Mode light : hero adapté */
:root[data-theme="light"] .hero-h1-line1{color:#1a2810;}
:root[data-theme="light"] .hero-h1-line2{color:#1a2810;}
:root[data-theme="light"] .hero-tagline{color:rgba(26,40,16,.85);}
:root[data-theme="light"] .hero-tagline b{color:#8a6300;}
:root[data-theme="light"] .hero-benefit{background:#fff;}
:root[data-theme="light"] .hero-benefit b{color:#1a2810;}
:root[data-theme="light"] .hero-benefit .hb-sub{color:rgba(26,40,16,.6);}
:root[data-theme="light"] .trust-badge{background:rgba(245,197,24,.12);}
:root[data-theme="light"] .tb-lbl{color:#1a2810;}
:root[data-theme="light"] .testimonial{background:#fff;}
:root[data-theme="light"] .testimonial-quote{color:rgba(26,40,16,.9);}

/* Responsive hero (sur très petits écrans : layout 1 colonne) */
@media(max-width:380px){
  .hero-h1-line1{letter-spacing:2px;}
  .hero-h1-line2{font-size:1.45rem;}
  .hero-benefits{grid-template-columns:1fr;gap:4px;}
  .hero-benefit{flex-direction:row;justify-content:flex-start;text-align:left;gap:9px;padding:7px 10px;}
  .hero-benefit > span:first-child{font-size:1.2rem;margin-bottom:0;}
  .hero-benefit b{font-size:.74rem;}
  .hero-benefit .hb-sub{font-size:.6rem;}
  .trust-badges{grid-template-columns:1fr;}
}
/* ════════════════════════════════════════════════════════════ */

/* ─── Formulaire d'inscription en sections (compacté) ─── */
.l-form-section{margin-bottom:14px;padding-bottom:11px;}
.l-form-section:not(:last-child){border-bottom:1px solid var(--border);}
.l-form-section-title{font-family:'Bebas Neue',sans-serif;font-size:.85rem;letter-spacing:1.5px;color:var(--gold);margin-bottom:8px;}
.l-in-cal{background:rgba(245,197,24,.06)!important;border-color:var(--bordg)!important;}
.l-in-cal:focus{background:rgba(245,197,24,.12)!important;}
:root[data-theme="light"] .l-in-cal{background:rgba(245,197,24,.12)!important;}

/* Tailles de l'écran login compactées (cible 30-60 ans : lisible mais pas envahissant) */
.l-title{font-size:1.3rem!important;}
.l-sub{font-size:.78rem!important;}
.l-tabs{margin-bottom:14px;}
.l-tab{font-size:.7rem!important;padding:8px 4px!important;}
.l-lbl{font-size:.74rem!important;font-weight:700;margin-top:8px!important;margin-bottom:4px!important;}
.l-in{font-size:.95rem!important;padding:11px 13px!important;min-height:44px;}
.l-btn{font-size:.95rem!important;padding:12px 16px!important;min-height:46px;font-weight:800;letter-spacing:.3px;}
.l-hint{font-size:.7rem!important;}
.l-rgpd{font-size:.72rem;line-height:1.4;}
.l-ck{font-size:.72rem;}
.l-foot{font-size:.66rem!important;}
.l-pseudo-note{font-size:.65rem;}

/* Login overlay : padding compacté pour cible mobile 30-60 ans */
.ls{padding:14px 12px;}
.lb{padding:18px 18px 20px;max-width:440px;}

@media(max-width:380px){
  .lb{padding:14px 14px 18px;}
  .l-title{font-size:1.15rem!important;}
}
/* Police de base : 16px (standard, ne provoque pas de zoom iOS au focus) */
html{font-size:16px;}
body{font-size:1rem;line-height:1.5;}

/* Mode sombre par défaut — augmenter le contraste du texte secondaire pour cible 30-60 ans */
:root{
  --dim:rgba(240,244,236,0.82);    /* était 0.55 → trop pâle */
  --faint:rgba(240,244,236,0.62);  /* était 0.28 → presque invisible */
}

/* Force un minimum lisible : aucun texte ne descend sous ~11.5px effectifs.
   Override des classes qui utilisent des rem trop petits historiquement. */
.tab-lbl,
.h-tagline,
.l-foot,
.l-hint,
.h-badge,
.pp-kpi-l,
.pp-lbl,
.flp-flash,
.flp-stock,
.flp-cost,
.flp-text,
.flp-nom,
.pc-o,
.pc-d,
.pc-ct,
.pc-ig,
.pc-flash-badge,
.rs-pill,
.rc-meta,
.rc-prono,
.rc-counter,
.mr-pts,
.mr-name,
.mini-rank-title,
.ir-sub,
.insight-title,
.live-section-title,
.results-stats span,
.pp-table th,
.pp-status,
.es,
.toast{font-size:.72rem!important;line-height:1.45;}

/* Encore plus petit historiquement (.5x), on remonte */
.tab-lbl{font-size:.56rem!important;letter-spacing:.5px;}
.h-tagline{font-size:.64rem!important;}
.l-foot{font-size:.66rem!important;}
.flp-flash{font-size:.72rem!important;}
.pp-kpi-l{font-size:.6rem!important;}
.pp-lbl{font-size:.66rem!important;}
.flp-stock,.flp-cost{font-size:.65rem!important;}
.rs-pill{font-size:.66rem!important;}
.rc-counter{font-size:.65rem!important;}
.mr-pts{font-size:.68rem!important;}
.ir-sub{font-size:.62rem!important;}
.pp-table th{font-size:.6rem!important;}

/* Tailles des titres et labels clés rehaussées modérément */
.ct{font-size:.88rem;}
.l-title{font-size:1.3rem;}
.l-sub{font-size:.78rem;}
.l-lbl{font-size:.76rem;font-weight:700;}
.l-in{font-size:.95rem!important;padding:11px 13px!important;}
.l-btn{font-size:.95rem!important;padding:12px 16px!important;font-weight:800;letter-spacing:.4px;}

/* Boutons admin/header — taille minimale tactile mobile (44x44 WCAG) */
button.l-btn,button.pp-save-btn,.l-btn{min-height:46px;}

/* Inputs — agrandir partout pour usage adulte (sauf inputs spéciaux comme .ins de score) */
input[type="text"]:not(.ins),input[type="tel"]:not(.ins),input[type="email"]:not(.ins),input[type="password"]:not(.ins),
input[type="number"]:not(.ins),input[type="date"]:not(.ins),textarea,select{
  font-size:1rem;
  padding:10px 12px;
  min-height:44px;
}

/* Texte des cartes partenaires (utilisateurs adultes) */
.pc-n{font-size:1.02rem;font-weight:800;letter-spacing:.3px;}
.pc-o{font-size:.86rem!important;font-weight:700;letter-spacing:.2px;}
.pc-d{font-size:.84rem!important;line-height:1.5;}
.pc-ct{font-size:.82rem!important;line-height:1.7;}
.pc-ct a{color:var(--gold);text-decoration:underline;font-weight:600;}

/* Mode light : doré assombri partout où il sert (contraste WCAG) */
:root[data-theme="light"]{
  --dim:rgba(26,40,16,.78);
  --faint:rgba(26,40,16,.55);
}
:root[data-theme="light"] .pc-ct a{color:#8a6300;}

/* Focus visible (accessibilité clavier) */
*:focus-visible{outline:3px solid var(--gold)!important;outline-offset:2px!important;border-radius:4px;}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold)!important;outline-offset:2px!important;}

/* Boutons header — taille suffisante */
#theme-toggle,#loyalty-badge,#profil-btn{min-height:36px;min-width:36px;}

/* Cards padding plus généreux */
.card,.mc,.pc{padding:18px 16px;}

/* Score live — bien lisible */
.live-match-teams{font-size:1.05rem;font-weight:700;}
.vs-sep{font-size:.82rem;}

/* Toast — lisibilité */
.toast{font-size:.95rem!important;padding:14px 20px;border-radius:12px;font-weight:600;}

/* Liens dans le footer + RGPD */
.l-foot a,.l-rgpd a{text-decoration:underline;font-weight:600;}

/* ════════════════════════════════════════════════════════════
   FIN BLOC LISIBILITÉ
   ════════════════════════════════════════════════════════════ */
:root[data-theme="light"]{
  --gold:#b08000;      /* doré assombri (lisible sur fond clair) */
  --gold2:#8a6300;
  --gold3:#d4a012;
}
:root[data-theme="light"] body{background:#f0f7e6;color:#1a2810;}

/* Login screen (overlay) */
:root[data-theme="light"] .ls{background:linear-gradient(180deg,#dbf0c8 0%,#a8d889 100%);}
:root[data-theme="light"] .ls::before{background:radial-gradient(circle at 30% 20%,rgba(245,197,24,.25) 0,transparent 55%);}
:root[data-theme="light"] .lb{background:linear-gradient(150deg,#fff,#f5faf0);border-color:rgba(20,40,10,.18);box-shadow:0 12px 48px rgba(0,0,0,.18);}
:root[data-theme="light"] .l-title{color:#b08000;}
:root[data-theme="light"] .l-sub{color:rgba(26,40,16,.65);}
:root[data-theme="light"] .l-tabs{background:rgba(20,40,10,.07);}
:root[data-theme="light"] .l-tab{color:rgba(26,40,16,.6);}
:root[data-theme="light"] .l-tab.on{background:linear-gradient(135deg,#f5c518,#d4a012);color:#1a3808;}
:root[data-theme="light"] .l-in{background:#fff;color:#1a2810;border-color:rgba(20,40,10,.18);}
:root[data-theme="light"] .l-in:focus{background:#fff;border-color:#d4a012;}
:root[data-theme="light"] .l-in::placeholder{color:rgba(26,40,16,.4);}
:root[data-theme="light"] .l-hint{color:rgba(26,40,16,.62);}
:root[data-theme="light"] .l-lbl{color:#1a2810;}
:root[data-theme="light"] .l-pseudo-note,
:root[data-theme="light"] .l-rgpd{color:rgba(26,40,16,.7);}
:root[data-theme="light"] .l-rgpd a{color:#b08000;}
:root[data-theme="light"] .l-foot{color:rgba(26,40,16,.65);}
:root[data-theme="light"] .l-foot a{color:#b08000;}
:root[data-theme="light"] .l-btn{background:linear-gradient(135deg,#f5c518,#d4a012);color:#1a3808;}

/* ════════════════════════════════════════════════════════════
   MODE LIGHT (Charte 2026 — fond vert pomme + cards noires)
   ════════════════════════════════════════════════════════════ */

/* ─── FIX MODE LIGHT : forcer la couleur foncée sur fonds clairs ─── */
/* Body et conteneurs principaux : texte foncé par défaut */
:root[data-theme="light"] body,
:root[data-theme="light"] .app,
:root[data-theme="light"] .panel{color:#0a1a04;}

/* Tout texte direct dans les panels qui était blanc avant → foncé */
:root[data-theme="light"] .panel > div,
:root[data-theme="light"] .panel > p,
:root[data-theme="light"] .panel > span,
:root[data-theme="light"] .panel > section{color:#0a1a04;}

/* ════ FIX MAJEUR : Forcer le texte foncé sur les fonds clairs (cards, panels) ════
   Les nombreux styles inline `style="color:rgba(255,255,255,.X)"` ne respectent
   pas les CSS variables — on force ici avec [style*="rgba(255,255,255"] ciblé.
   Mais SEULEMENT pour les éléments NON contenus dans une .pc ou .card (qui sont noires en light). */
:root[data-theme="light"] .panel [style*="rgba(255,255,255"]:not(.pc *):not(.card *):not(.live-card *):not(.ph *):not(.news-item *):not(.lg-card *):not(.bc-card *){
  color:#0a1a04!important;
}

/* Mode light : les divs qui avaient color:#fff inline doivent devenir foncées */
:root[data-theme="light"] [style*="color:#fff"]:not(.pc *):not(.card *):not(.live-card *):not(.ph *):not(.news-item *):not(.lg-card *):not(.bc-card *):not(.btn):not(.l-btn):not(.estim-cta-btn):not(.h-btn-circle):not(.dq-question):not(.flash-popup *):not(.bon-ticket *):not(.toast):not(.toast *){
  color:#0a1a04!important;
}

/* Et idem pour les rgba(240,244,236,X) qui étaient le --text dark */
:root[data-theme="light"] .panel [style*="rgba(240,244"]:not(.pc *):not(.card *):not(.live-card *):not(.ph *):not(.lg-card *){
  color:#0a1a04!important;
}

/* ════ FIX 2 : éléments avec fond noir explicite + texte blanc — on les
   garde foncés (ils ont déjà bon contraste). Mais on s'assure que le
   texte dedans est bien blanc même en light. ════ */
:root[data-theme="light"] [style*="background:#0a0f04"],
:root[data-theme="light"] [style*="background:rgba(0,0,0,.6"],
:root[data-theme="light"] [style*="background:rgba(0,0,0,.7"],
:root[data-theme="light"] [style*="background:rgba(0,0,0,.8"],
:root[data-theme="light"] [style*="background:rgba(0,0,0,.9"]{
  color:#fff;
}
:root[data-theme="light"] [style*="background:#0a0f04"] *,
:root[data-theme="light"] [style*="background:rgba(0,0,0,.6"] *,
:root[data-theme="light"] [style*="background:rgba(0,0,0,.7"] *,
:root[data-theme="light"] [style*="background:rgba(0,0,0,.8"] *,
:root[data-theme="light"] [style*="background:rgba(0,0,0,.9"] *{
  /* préserver couleurs explicites (gold, var, etc.) mais texte non spécifié → blanc */
}

/* Header — clair sur fond vert clair, titre en vert foncé */
:root[data-theme="light"] .header{background:rgba(197,224,136,.96);border-bottom-color:var(--vert);box-shadow:0 2px 14px rgba(74,124,26,.15);}
:root[data-theme="light"] .h-title{color:var(--vert);}
:root[data-theme="light"] .h-tagline{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .h-badge{background:var(--vert);color:#fff;}
:root[data-theme="light"] #theme-toggle{background:rgba(10,26,4,.08)!important;border-color:rgba(74,124,26,.3)!important;color:var(--vert)!important;}
:root[data-theme="light"] #profil-btn{background:rgba(74,124,26,.18)!important;border-color:rgba(74,124,26,.4)!important;color:var(--vert)!important;}

/* Tabs — fond blanc, sélection vert foncé */
:root[data-theme="light"] .tabs{background:#fff;border-bottom-color:rgba(74,124,26,.2);}
:root[data-theme="light"] .tab{color:rgba(10,26,4,.55);}
:root[data-theme="light"] .tab.on{color:var(--vert)!important;border-bottom-color:var(--vert)!important;background:rgba(74,124,26,.1)!important;}
:root[data-theme="light"] .tab:not(.on):hover{color:#0a1a04;background:rgba(74,124,26,.06);}

/* Cards principales — restent NOIRES sur fond vert (charte Instagram) */
:root[data-theme="light"] .card{background:var(--surface-deep);border-color:rgba(74,124,26,.28);box-shadow:var(--shadow-card);color:#f4f9e8;}
:root[data-theme="light"] .ct{color:var(--vert-pomme)!important;}
:root[data-theme="light"] .ct::after{background:linear-gradient(90deg,var(--vert-pomme),transparent);}
:root[data-theme="light"] .mc{background:#fff;border-color:rgba(74,124,26,.18);color:#0a1a04;}
:root[data-theme="light"] .mc.hr{background:linear-gradient(135deg,#fffbeb,#fff5d6);border-color:rgba(212,160,18,.4);}

/* Sections diverses (header pronos, classement, résultats) */
:root[data-theme="light"] .ph{background:linear-gradient(135deg,var(--surface-deep),#16201a);border-color:var(--vert-pomme);color:#fff;}
:root[data-theme="light"] .ph-title{color:var(--vert-pomme);}
:root[data-theme="light"] .ph-name{color:rgba(255,255,255,.75);}
:root[data-theme="light"] .ph-pts{color:var(--vert-pomme);}
:root[data-theme="light"] .ph-plab{color:rgba(255,255,255,.65);}

/* Mini classement (rangs personnels) — sur cards blanches en light */
:root[data-theme="light"] .mini-rank{background:#fff;border-color:rgba(74,124,26,.18);}
:root[data-theme="light"] .mini-rank-title{color:rgba(10,26,4,.65);}
:root[data-theme="light"] .mini-rank-title b{color:var(--vert);}
:root[data-theme="light"] .mini-rank-row{color:#0a1a04;}
:root[data-theme="light"] .mini-rank-row.me{background:rgba(164,214,94,.32);border-color:var(--vert);}
:root[data-theme="light"] .mini-rank-row.me .mr-name,
:root[data-theme="light"] .mini-rank-row.me .mr-pts{color:var(--vert);font-weight:800;}
:root[data-theme="light"] .mr-name{color:rgba(10,26,4,.85);}
:root[data-theme="light"] .mr-pts{color:rgba(10,26,4,.65);}

/* Live / direct */
:root[data-theme="light"] .live-section-title{color:var(--vert);}
:root[data-theme="light"] .live-header{background:#fff;color:#0a1a04;border-bottom-color:rgba(74,124,26,.18);}
:root[data-theme="light"] .live-card{background:#fff;border-color:rgba(74,124,26,.2);color:#0a1a04;}
:root[data-theme="light"] .live-match-teams{color:#0a1a04;}
:root[data-theme="light"] .live-feed{background:transparent;}
:root[data-theme="light"] .vs-sep{color:rgba(10,26,4,.45);}

/* Results carousel & cards */
:root[data-theme="light"] .results-grid .result-card,
:root[data-theme="light"] .results-carousel .result-card{background:#fff;border-color:rgba(74,124,26,.18);color:#0a1a04;}
:root[data-theme="light"] .results-title{color:var(--vert);}
:root[data-theme="light"] .rc-teams{color:#0a1a04;}
:root[data-theme="light"] .rc-team{color:rgba(10,26,4,.8);}
:root[data-theme="light"] .rc-team.rc-win{color:#0a1a04;}
:root[data-theme="light"] .rc-score,:root[data-theme="light"] .rc-s{color:#0a1a04;}
:root[data-theme="light"] .rc-dash{color:rgba(10,26,4,.4);}
:root[data-theme="light"] .rc-meta,:root[data-theme="light"] .rc-prono{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .rc-prono b{color:#0a1a04;}
:root[data-theme="light"] .rcb-arrow{background:rgba(74,124,26,.15);border-color:var(--vert);color:var(--vert);}
:root[data-theme="light"] .rcb-arrow:hover{background:var(--vert);color:#fff;}
:root[data-theme="light"] .rc-counter{color:rgba(10,26,4,.55);}

/* Insights admin */
:root[data-theme="light"] .insights-title{color:var(--vert);}
:root[data-theme="light"] .insight-card{background:#fff;border-color:rgba(74,124,26,.18);}
:root[data-theme="light"] .insight-header{border-bottom-color:rgba(74,124,26,.18);}
:root[data-theme="light"] .insight-title{color:#0a1a04;}
:root[data-theme="light"] .insight-row{background:rgba(74,124,26,.06);}
:root[data-theme="light"] .ir-title{color:#0a1a04;}
:root[data-theme="light"] .ir-sub{color:rgba(10,26,4,.55);}

/* Espace partenaire */
:root[data-theme="light"] .pp-hero{background:linear-gradient(135deg,#fff5d6,#fffbeb);border-color:rgba(212,160,18,.45);}
:root[data-theme="light"] .pp-hero-title{color:#0a1a04;}
:root[data-theme="light"] .pp-hero-sub{color:rgba(10,26,4,.65);}
:root[data-theme="light"] .pp-section{background:#fff;border-color:rgba(74,124,26,.18);}
:root[data-theme="light"] .pp-section-promo{background:linear-gradient(135deg,#fffbeb,#fff);border-color:rgba(212,160,18,.4);}
:root[data-theme="light"] .pp-section-title{color:var(--vert);border-bottom-color:rgba(74,124,26,.15);}
:root[data-theme="light"] .pp-kpi{background:#fff;border-color:rgba(74,124,26,.18);}
:root[data-theme="light"] .pp-kpi-v{color:var(--vert);}
:root[data-theme="light"] .pp-kpi-l{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .pp-lbl{color:rgba(10,26,4,.7);}
:root[data-theme="light"] .pp-row input,
:root[data-theme="light"] .pp-row textarea{background:#fff;color:#0a1a04;border-color:rgba(74,124,26,.22);}
:root[data-theme="light"] .pp-row input:focus,
:root[data-theme="light"] .pp-row textarea:focus{border-color:var(--vert);box-shadow:0 0 0 3px rgba(74,124,26,.18);}
:root[data-theme="light"] .pp-toggle{color:#0a1a04;}
:root[data-theme="light"] .pp-toggle-slider{background:rgba(10,26,4,.12);border-color:rgba(74,124,26,.18);}
:root[data-theme="light"] .pp-toggle-slider::after{background:rgba(10,26,4,.4);}
:root[data-theme="light"] .pp-table{color:#0a1a04;}
:root[data-theme="light"] .pp-table th{background:rgba(74,124,26,.08);color:rgba(10,26,4,.65);border-bottom-color:rgba(74,124,26,.18);}
:root[data-theme="light"] .pp-table td{border-bottom-color:rgba(74,124,26,.1);color:#0a1a04;}

/* Promos partenaires côté users */
:root[data-theme="light"] .promos-title{color:var(--vert);}
:root[data-theme="light"] .promos-title::after{background:linear-gradient(90deg,var(--vert),transparent);}
:root[data-theme="light"] .promo-card{background:linear-gradient(135deg,#fff5d6,#fff);border-color:rgba(212,160,18,.5);}
:root[data-theme="light"] .promo-card-nom{color:#0a1a04;}
:root[data-theme="light"] .promo-card-exp{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .promo-card-text{color:#0a1a04;}

/* News du quartier — restent sombres pour lisibilité visuelle */
:root[data-theme="light"] .news-item{background:var(--surface-deep)!important;color:#fff!important;border-color:rgba(74,124,26,.32);}
:root[data-theme="light"] .news-item div{color:#fff!important;}

/* Sync bar & status */
:root[data-theme="light"] .sync{color:rgba(10,26,4,.7);background:rgba(255,255,255,.65);}
:root[data-theme="light"] #slbl{color:rgba(10,26,4,.7);}

/* Inputs partout (admin forms, edits) */
:root[data-theme="light"] .fr input,
:root[data-theme="light"] .fr select,
:root[data-theme="light"] input[type="text"]:not(.ins):not(.l-in),
:root[data-theme="light"] input[type="tel"]:not(.ins):not(.l-in),
:root[data-theme="light"] input[type="email"]:not(.ins):not(.l-in),
:root[data-theme="light"] input[type="password"]:not(.ins):not(.l-in),
:root[data-theme="light"] input[type="number"]:not(.ins):not(.l-in),
:root[data-theme="light"] input[type="date"]:not(.ins):not(.l-in),
:root[data-theme="light"] textarea:not(.l-in),
:root[data-theme="light"] select:not(.l-in){background:#fff;color:#0a1a04;border-color:rgba(74,124,26,.22);}
:root[data-theme="light"] input::placeholder,
:root[data-theme="light"] textarea::placeholder{color:rgba(10,26,4,.4);}
:root[data-theme="light"] input:focus,
:root[data-theme="light"] textarea:focus,
:root[data-theme="light"] select:focus{border-color:var(--vert)!important;box-shadow:0 0 0 3px rgba(74,124,26,.18)!important;}

/* Footer */
:root[data-theme="light"] .main-footer,
:root[data-theme="light"] #main-footer{background:rgba(255,255,255,.92);color:rgba(10,26,4,.75);border-top-color:rgba(74,124,26,.2);}
:root[data-theme="light"] .main-footer a,
:root[data-theme="light"] #main-footer a{color:var(--vert);font-weight:600;}

/* Bandeau immo strip */
:root[data-theme="light"] #immo-strip,
:root[data-theme="light"] .immo-strip{background:linear-gradient(135deg,#fffbeb,#fff5d6)!important;color:#0a1a04;border-color:rgba(212,160,18,.4);}
:root[data-theme="light"] #immo-strip *,
:root[data-theme="light"] .immo-strip *{color:#0a1a04!important;}

/* Modales (préserve les overlays sombres mais contenu clair) */
:root[data-theme="light"] .modal,
:root[data-theme="light"] [id$="-modal"] > div:first-child{color:#0a1a04;}
:root[data-theme="light"] .mc2{background:rgba(74,124,26,.08);color:#0a1a04;border:1px solid rgba(74,124,26,.22);}

/* Bons / tickets — restent contrastés en light */
:root[data-theme="light"] .bons-banner{background:#fff;border-color:rgba(212,160,18,.45);}

/* Toast en mode light */
:root[data-theme="light"] .toast{background:#0a1a04;color:#fff;border:1px solid var(--vert);}

/* ════════════════════════════════════════════════════════════
   FIN BLOC MODE LIGHT
   ════════════════════════════════════════════════════════════ */

/* ─── ANIMATIONS HOVER / TAP (feedbacks visuels globaux) ─── */
/* Tabs : ripple-light au hover, scale au tap */
.tab{position:relative;transition:all .22s cubic-bezier(.4,0,.2,1)!important;}

/* Tab verrouillé (progressive disclosure) */
.tab-locked{
  opacity:.42;
  position:relative;
}
.tab-locked::after{
  content:'🔒';
  position:absolute;
  top:4px;right:9px;
  font-size:.55rem;
  line-height:1;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.4));
}
.tab-locked:hover{opacity:.65;}
.tab:not(.on):hover{color:var(--text);background:rgba(245,197,24,.05);}
.tab:not(.on):hover .tab-ico{transform:scale(1.18) translateY(-1px);}
.tab .tab-ico{transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:inline-block;}
.tab:active{transform:scale(.95);}
.tab.on .tab-ico{transform:scale(1.1);}

/* Cards génériques (.card, .mc, .pc, .insight-card, .pp-section, .pp-kpi, .live-card, .result-card) */
.card,.mc,.pc,.insight-card,.pp-section,.pp-kpi,.live-card,.result-card,.promo-card,.news-item{transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s ease,border-color .2s ease;}
.pc:hover,.pp-kpi:hover,.insight-card:hover,.result-card:hover,.promo-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.18);}
.pc:active,.pp-kpi:active,.result-card:active{transform:translateY(0) scale(.98);}
:root[data-theme="light"] .pc:hover,
:root[data-theme="light"] .pp-kpi:hover,
:root[data-theme="light"] .insight-card:hover,
:root[data-theme="light"] .result-card:hover,
:root[data-theme="light"] .promo-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.08);}

/* Boutons génériques (l-btn, mc2, fr button, pp-save-btn) — élévation au hover */
.l-btn,.pp-save-btn{transition:transform .2s ease,box-shadow .25s ease,filter .2s ease;}
.l-btn:hover,.pp-save-btn:hover{transform:translateY(-1.5px);filter:brightness(1.08);box-shadow:0 8px 18px -4px rgba(245,197,24,.4);}
.l-btn:active,.pp-save-btn:active{transform:translateY(0) scale(.98);}

/* Inputs : effet de focus plus marqué */
.l-in,.fr input,.fr select,.pp-row input,.pp-row textarea{transition:all .2s ease;}
.l-in:focus,.fr input:focus,.fr select:focus,.pp-row input:focus,.pp-row textarea:focus{box-shadow:0 0 0 3px rgba(245,197,24,.16);}

/* Boutons icônes header (theme-toggle, profil-btn, déco) */
#theme-toggle,#profil-btn{transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
#theme-toggle:hover,#profil-btn:hover{transform:scale(1.08) rotate(-5deg);background:rgba(245,197,24,.18)!important;}
#theme-toggle:active{transform:scale(.92) rotate(0);}

/* Avatar header : pulse au hover */
.h-av{transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;}
.h-user:hover .h-av{transform:scale(1.12);box-shadow:0 0 0 3px rgba(245,197,24,.25);}

/* Match cards : un soupçon au hover */
.mc:hover{border-color:var(--bordg);transform:translateY(-1px);}

/* Toggle slider (promo partenaire) déjà animé, ajout du focus visible */
.pp-toggle:hover .pp-toggle-slider{filter:brightness(1.15);}
.pp-toggle:active .pp-toggle-slider{transform:scale(.95);}

/* Ripple effect sur les boutons "tap" via ::after — léger */
.tab::after,.l-btn::after,.pp-save-btn::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--rx,50%) var(--ry,50%),rgba(255,255,255,.25) 0%,transparent 40%);opacity:0;transition:opacity .35s ease;}
.l-btn,.pp-save-btn{position:relative;overflow:hidden;}
.l-btn:active::after,.pp-save-btn:active::after{opacity:1;transition:opacity 0s;}

/* Promos partenaires côté users — pulse subtil sur le tag PROMO */
.promo-card-tag{animation:tag-pulse 2.5s ease-in-out infinite;}
@keyframes tag-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,80,80,.4);}50%{transform:scale(1.05);box-shadow:0 0 0 5px rgba(255,80,80,0);}}

/* Liens cliquables (.partner-tel, .partner-mail) — soulignement au hover */
a[href^="tel:"]:hover,a[href^="mailto:"]:hover{filter:brightness(1.18);text-shadow:0 0 8px currentColor;}

/* Empêche le double-tap zoom sur mobile pour les éléments cliquables principaux */
.tab,.pc,.l-btn,.pp-save-btn,.mc{touch-action:manipulation;}

/* ─── POP-UPS FLASH PROMOS (bas-droite) ─── */
#flash-promos-host{position:fixed;bottom:14px;right:14px;display:none;flex-direction:column;gap:10px;z-index:1500;max-width:280px;pointer-events:none;}
.flash-promo{position:relative;background:linear-gradient(135deg,#1c1c1e,#2a1a08);border:1.5px solid rgba(245,197,24,.5);border-radius:14px;padding:12px 14px 13px;box-shadow:0 12px 32px rgba(0,0,0,.45),0 0 0 1px rgba(245,197,24,.18);color:#fff;pointer-events:auto;animation:flp-in .45s cubic-bezier(.34,1.56,.64,1) both;}
.flash-promo.flash-diffusion{background:linear-gradient(135deg,#1c1c1e,#0a1f2a);border-color:rgba(74,158,255,.55);box-shadow:0 12px 32px rgba(0,0,0,.45),0 0 0 1px rgba(74,158,255,.22);}
:root[data-theme="light"] .flash-promo.flash-diffusion{background:linear-gradient(135deg,#f5fbff,#e6f2fd);border-color:rgba(74,158,255,.5);}
:root[data-theme="light"] .flash-promo{background:linear-gradient(135deg,#fffbeb,#fff5d6);border-color:rgba(212,160,18,.55);color:#1a2810;box-shadow:0 12px 32px rgba(0,0,0,.18),0 0 0 1px rgba(212,160,18,.25);}
@keyframes flp-in{0%{opacity:0;transform:translateX(20px) scale(.92);}100%{opacity:1;transform:translateX(0) scale(1);}}
.flp-close{position:absolute;top:6px;right:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;width:22px;height:22px;border-radius:50%;font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:all .15s;}
.flp-close:hover{background:rgba(255,80,80,.2);border-color:rgba(255,80,80,.4);color:#ff7878;transform:scale(1.1);}
:root[data-theme="light"] .flp-close{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.12);color:#1a2810;}
.flp-head{display:flex;align-items:center;gap:9px;margin-bottom:7px;padding-right:24px;}
.flp-ico{font-size:1.6rem;line-height:1;flex-shrink:0;}
.flp-flash{font-family:'Bebas Neue',sans-serif;font-size:.72rem;letter-spacing:2px;color:var(--gold);line-height:1;animation:flp-pulse 1.8s ease-in-out infinite;}
@keyframes flp-pulse{0%,100%{opacity:.7;text-shadow:0 0 0 transparent;}50%{opacity:1;text-shadow:0 0 12px rgba(245,197,24,.7);}}
.flp-nom{font-size:.78rem;font-weight:800;color:#fff;line-height:1.1;margin-top:1px;}
:root[data-theme="light"] .flp-nom{color:#1a2810;}
.flp-text{font-size:.72rem;color:rgba(255,255,255,.85);line-height:1.4;margin-bottom:9px;}
:root[data-theme="light"] .flp-text{color:rgba(26,40,16,.85);}
.flp-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px;}
.flp-cost{font-size:.6rem;font-weight:700;padding:3px 9px;background:rgba(77,204,122,.16);color:#4dcc7a;border:1px solid rgba(77,204,122,.35);border-radius:6px;letter-spacing:.4px;}
.flp-cost-no{background:rgba(255,80,80,.12);color:#ff7878;border-color:rgba(255,80,80,.3);}
.flp-cost-free{background:rgba(245,197,24,.16);color:var(--gold);border-color:rgba(245,197,24,.3);}
.flp-stock{font-size:.58rem;font-weight:700;padding:3px 8px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.15);border-radius:6px;letter-spacing:.4px;}
:root[data-theme="light"] .flp-stock{background:rgba(0,0,0,.04);color:rgba(26,40,16,.8);border-color:rgba(20,40,10,.15);}
.flp-stock-low{background:rgba(230,104,60,.16);color:#ffa07a;border-color:rgba(230,104,60,.4);animation:flp-blink 1.2s ease-in-out infinite;}
@keyframes flp-blink{0%,100%{opacity:1;}50%{opacity:.65;}}
.flp-claim{width:100%;padding:9px;background:linear-gradient(135deg,#f5c518,#d4a012);border:none;border-radius:9px;color:#1a3808;font-weight:800;font-size:.78rem;cursor:pointer;letter-spacing:.3px;transition:all .2s;}
.flp-claim:hover{transform:translateY(-1.5px);filter:brightness(1.08);box-shadow:0 6px 14px rgba(245,197,24,.4);}
.flp-claim:active{transform:translateY(0) scale(.97);}
.flp-claim-no{background:rgba(255,255,255,.06);color:rgba(255,255,255,.45);cursor:not-allowed;}
.flp-claim-no:hover{transform:none;filter:none;box-shadow:none;}
:root[data-theme="light"] .flp-claim-no{background:rgba(0,0,0,.06);color:rgba(26,40,16,.4);}
@media(max-width:520px){
  #flash-promos-host{bottom:78px;right:8px;left:8px;max-width:none;}
}

/* Badge "PROMO FLASH" injecté en haut de la carte partenaire concernée */
.pc-flash-badge{
  display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
  background:linear-gradient(135deg,#f5c518,#e6683c);
  color:#1a3808;
  font-size:.7rem;font-weight:800;letter-spacing:.5px;
  padding:9px 12px;
  border-radius:10px 10px 0 0;
  text-align:center;
  margin:-12px -12px 11px;
  animation:flp-pulse 1.6s ease-in-out infinite;
  transition:filter var(--dur-fast), transform var(--dur-fast) var(--ease-out-back);
  text-transform:uppercase;
  line-height:1.3;
}
.pc-flash-badge:hover{
  filter:brightness(1.1);
  transform:translateY(-1px);
}
.pc-flash-badge b{letter-spacing:1.2px;}
.pc-flash-cta{
  background:rgba(10,15,4,.32);
  color:#1a3808;
  padding:3px 9px;
  border-radius:6px;
  font-size:.66rem;
  letter-spacing:.4px;
  display:inline-flex;align-items:center;gap:3px;
}
.pc-flash-badge b{letter-spacing:1.5px;}

/* Badge "VOUS AVEZ UN BON ICI" injecté en bas de la carte du partenaire concerné */
.pc-bon-badge{margin:10px -12px -12px;padding:10px 14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s;border-radius:0 0 var(--r) var(--r);}
.pc-bon-badge.pc-bon-badge-active{background:linear-gradient(135deg,rgba(245,197,24,.18),rgba(245,197,24,.05));border-top-color:rgba(245,197,24,.4);}
.pc-bon-badge.pc-bon-badge-active:hover{background:linear-gradient(135deg,rgba(245,197,24,.28),rgba(245,197,24,.1));}
.pc-bon-badge.pc-bon-badge-used{background:rgba(77,204,122,.08);border-top-color:rgba(77,204,122,.25);opacity:.75;}
.pc-bon-badge.pc-bon-badge-used:hover{opacity:1;}
.pc-bon-ico{font-size:1.5rem;line-height:1;flex-shrink:0;}
.pc-bon-txt{flex:1;min-width:0;line-height:1.2;}
.pc-bon-txt b{font-size:.78rem;font-weight:800;color:var(--text);display:block;}
.pc-bon-txt small{font-size:.62rem;color:var(--dim);font-weight:500;display:block;margin-top:2px;}
.pc-bon-arrow{font-size:1rem;color:var(--gold);font-weight:700;}

/* Reviews — badge étoiles sur fiche partenaire */
.pc-rev-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;margin-top:6px;background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.3);border-radius:8px;cursor:pointer;font-size:.72rem;transition:all .2s;width:fit-content;}
.pc-rev-badge:hover{background:rgba(245,197,24,.2);transform:translateY(-1px);}
.pc-rev-stars{color:var(--gold);letter-spacing:1px;font-size:.84rem;line-height:1;}
.pc-rev-avg{font-weight:800;color:var(--gold);}
.pc-rev-count{color:var(--dim);font-size:.65rem;}
.pc-rev-invite{background:rgba(74,158,255,.1);border-color:rgba(74,158,255,.3);color:#4a9eff;animation:hero-pulse 2s ease-in-out infinite;}
.pc-rev-invite:hover{background:rgba(74,158,255,.2);}

/* ═══════════════════════════════════════════════════════════════
   REVIEWS MODAL — Avis vérifiés partenaires
   ═══════════════════════════════════════════════════════════════ */
.rv-header{padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:14px;}
.rv-partner{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:1.5px;color:var(--gold);}
.rv-summary{font-size:.84rem;color:var(--text);margin-top:5px;}
.rv-summary-stars{color:var(--gold);letter-spacing:1.5px;font-size:1rem;}
.rv-write{padding:14px;background:linear-gradient(135deg,rgba(245,197,24,.08),rgba(245,197,24,.02));border:1px solid rgba(245,197,24,.25);border-radius:12px;margin-bottom:14px;}
.rv-write-title{font-weight:800;font-size:.92rem;color:var(--gold);margin-bottom:4px;}
.rv-write-sub{font-size:.7rem;color:var(--dim);margin-bottom:11px;line-height:1.4;}
.rv-star-picker{display:flex;gap:6px;margin-bottom:10px;font-size:2rem;}
.rv-star-btn{cursor:pointer;color:rgba(255,255,255,.3);transition:all .15s;user-select:none;line-height:1;}
.rv-star-btn:hover{transform:scale(1.18);}
.rv-star-btn.rv-star-active{color:var(--gold);text-shadow:0 0 12px rgba(245,197,24,.5);}
.rv-textarea{width:100%;padding:10px 12px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:9px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:.84rem;resize:vertical;min-height:70px;}
.rv-textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,197,24,.22);}
.rv-submit-btn{padding:9px 18px;background:linear-gradient(135deg,#f5c518,#d4a012);border:none;border-radius:9px;color:#1a3808;font-weight:800;font-size:.82rem;cursor:pointer;letter-spacing:.3px;transition:all .2s;}
.rv-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(245,197,24,.35);}
.rv-mine{padding:13px 16px;background:rgba(77,204,122,.08);border:1px solid rgba(77,204,122,.3);border-radius:11px;margin-bottom:14px;}
.rv-mine-title{font-size:.82rem;color:#4dcc7a;font-weight:800;margin-bottom:6px;}
.rv-mine-stars{color:var(--gold);letter-spacing:2px;font-size:1.2rem;margin-bottom:4px;}
.rv-mine-comment{font-size:.82rem;color:var(--text);font-style:italic;line-height:1.5;margin-bottom:5px;}
.rv-mine-date{font-size:.62rem;color:var(--faint);}
.rv-locked{padding:13px 14px;background:rgba(255,255,255,.04);border:1px dashed var(--border);border-radius:10px;font-size:.78rem;color:var(--dim);line-height:1.5;margin-bottom:14px;}
.rv-list-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:1.5px;color:var(--gold);margin:8px 0 10px;}
.rv-list{display:flex;flex-direction:column;gap:9px;}
.rv-item{padding:11px 14px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;}
.rv-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}
.rv-item-name{font-weight:700;font-size:.82rem;color:var(--text);}
.rv-item-stars{color:var(--gold);letter-spacing:1.5px;font-size:.9rem;}
.rv-item-text{font-size:.78rem;color:var(--text);line-height:1.45;margin-bottom:4px;}
.rv-item-date{font-size:.62rem;color:var(--faint);}

/* ═══════════════════════════════════════════════════════════════
   ESTIMATION CTA — Bouton sur carte Valentin
   ═══════════════════════════════════════════════════════════════ */
.estim-cta-btn{
  margin-top:12px;width:100%;
  padding:13px 16px;
  background:linear-gradient(135deg, #4a7c1a 0%, #2d6e1a 50%, #4a7c1a 100%);
  background-size:200% auto;
  border:none;border-radius:12px;
  color:#fff;font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:.92rem;
  cursor:pointer;letter-spacing:.3px;
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo),
             background-position .8s var(--ease-soft);
  box-shadow:
    var(--elev-2),
    inset 0 -2px 0 rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(164,214,94,.32);
  display:flex;align-items:center;justify-content:center;gap:8px;
  animation:estim-glow 3s ease-in-out infinite;
  position:relative;overflow:hidden;
}
.estim-cta-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  transform:translateX(-100%);
  transition:transform .8s var(--ease-soft);
  pointer-events:none;
}
.estim-cta-btn:hover{
  transform:translateY(-3px);
  background-position:100% 100%;
  box-shadow:
    var(--elev-4),
    inset 0 -2px 0 rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.15),
    0 0 0 1px rgba(164,214,94,.5),
    0 0 26px rgba(164,214,94,.32);
}
.estim-cta-btn:hover::before{transform:translateX(100%);}
.estim-cta-btn:active{transform:translateY(-1px) scale(.98);}
.estim-cta-pts{
  background:linear-gradient(135deg, #f5c518, #d4a012);
  color:#1a3808;
  font-size:.74rem;padding:4px 10px;
  border-radius:7px;
  font-weight:800;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.32);
}
@keyframes estim-glow{
  0%,100%{box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.12), 0 0 0 1px rgba(164,214,94,.32), 0 0 0 0 rgba(164,214,94,.5);}
  50%{box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.12), 0 0 0 1px rgba(164,214,94,.32), 0 0 0 12px rgba(164,214,94,0);}
}

/* Modal estimation */
.estim-form{display:flex;flex-direction:column;gap:5px;}
.estim-lbl{font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.8px;font-weight:700;margin-top:9px;margin-bottom:3px;}
.estim-radio-group{display:flex;gap:6px;margin-bottom:4px;}
.estim-radio{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 6px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:9px;cursor:pointer;font-size:.78rem;font-weight:600;color:var(--text);transition:all .15s;}
.estim-radio:has(input:checked){background:rgba(245,197,24,.15);border-color:var(--gold);color:var(--gold);}
.estim-radio input{display:none;}
.estim-rgpd{margin:12px 0 6px;padding:10px;background:rgba(255,255,255,.03);border:1px dashed var(--border);border-radius:8px;}
.estim-submit-btn{margin-top:12px;width:100%;padding:13px;background:linear-gradient(135deg,#f5c518,#d4a012);border:none;border-radius:10px;color:#1a3808;font-weight:800;font-size:.92rem;cursor:pointer;letter-spacing:.3px;transition:all .2s;box-shadow:0 6px 18px rgba(245,197,24,.4);}
.estim-submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(245,197,24,.55);}
.estim-submit-btn:active{transform:translateY(0) scale(.97);}

:root[data-theme="light"] .estim-radio{background:#fff;}
:root[data-theme="light"] .estim-radio:has(input:checked){background:#fff8e0;}

/* Estim admin rows */
.estim-admin-row{padding:13px 15px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:11px;transition:all .2s;}
.estim-admin-row:hover{border-color:rgba(77,204,122,.3);}

/* ═══ Bouton "Partager sur Insta" sur match terminé ═══ */
.rc-share-btn{
  margin-top:10px;width:100%;padding:9px 12px;
  background:linear-gradient(135deg,#c13584,#833ab4 60%,#5b51d8);
  border:none;border-radius:10px;
  color:#fff;font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.78rem;letter-spacing:.2px;cursor:pointer;
  transition:all .25s cubic-bezier(.34,1.56,.64,1);
  display:flex;align-items:center;justify-content:center;gap:6px;
  box-shadow:0 4px 12px rgba(131,58,180,.32);
}
.rc-share-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(131,58,180,.48);filter:brightness(1.08);}
.rc-share-btn:active{transform:scale(.97);}

/* ═══════════════════════════════════════════════════════════════
   MINI-LIGUES
   ═══════════════════════════════════════════════════════════════ */
.lg-card{padding:14px;background:linear-gradient(135deg,rgba(245,197,24,.08),rgba(245,197,24,.02));border:1px solid rgba(245,197,24,.25);border-radius:12px;margin-bottom:10px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);}
.lg-card:hover{border-color:rgba(245,197,24,.5);transform:translateY(-2px);box-shadow:0 8px 22px rgba(245,197,24,.15);}
.lg-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.lg-card-name{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:1px;color:var(--text);line-height:1.1;}
.lg-card-meta{font-size:.7rem;color:var(--dim);margin-top:3px;}
.lg-card-meta code{background:rgba(245,197,24,.15);color:var(--gold);padding:1px 6px;border-radius:4px;font-family:Courier,monospace;font-weight:800;letter-spacing:1px;}
.lg-card-rank{text-align:center;flex-shrink:0;}
.lg-card-rank-num{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--gold);line-height:1;}
.lg-card-rank-lbl{font-size:.55rem;color:var(--faint);text-transform:uppercase;letter-spacing:1px;}
.lg-creator-badge{font-size:.8rem;}

.lg-action{padding:11px;border:none;border-radius:10px;font-weight:800;font-size:.85rem;cursor:pointer;letter-spacing:.3px;transition:all .2s;}
.lg-action-create{background:linear-gradient(135deg,#4dcc7a,#2d9b5a);color:#fff;}
.lg-action-join{background:linear-gradient(135deg,#4a9eff,#3878cf);color:#fff;}
.lg-action:hover{transform:translateY(-2px);filter:brightness(1.1);}
.lg-action:active{transform:translateY(0) scale(.97);}

.lg-code-block{text-align:center;padding:14px;background:rgba(0,0,0,.3);border:1.5px dashed rgba(245,197,24,.4);border-radius:11px;margin-bottom:12px;}

.lg-rank-row{display:flex;align-items:center;gap:11px;padding:9px 12px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:9px;margin-bottom:5px;}
.lg-rank-row.lg-rank-me{background:rgba(245,197,24,.1);border-color:rgba(245,197,24,.4);}
.lg-rank-row.lg-rank-top3{background:linear-gradient(135deg,rgba(245,197,24,.06),rgba(245,197,24,.02));}
.lg-rank-medal{width:34px;text-align:center;font-size:1.1rem;font-weight:800;color:var(--gold);font-family:'Bebas Neue',sans-serif;}
.lg-rank-name{flex:1;font-size:.84rem;font-weight:700;color:var(--text);}
.lg-rank-pts{font-family:'Bebas Neue',sans-serif;font-size:1.05rem;color:var(--gold);}

:root[data-theme="light"] .lg-rank-row.lg-rank-me{background:#fff8e0;}

/* Daily Question */
#dq-header-btn.dq-not-voted{animation:dq-pulse 1.5s ease-in-out infinite;background:rgba(245,82,82,.2);border-color:rgba(245,82,82,.5);}
@keyframes dq-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,80,80,.5);}50%{box-shadow:0 0 0 8px rgba(255,80,80,0);}}

.dq-question{font-family:'Bebas Neue',sans-serif;font-size:1.25rem;letter-spacing:.5px;color:var(--text);line-height:1.3;margin-bottom:6px;}
.dq-options{display:flex;flex-direction:column;gap:8px;}
.dq-opt-btn{padding:13px 16px;background:rgba(255,255,255,.05);border:1.5px solid var(--border);border-radius:11px;color:var(--text);font-weight:700;font-size:.88rem;cursor:pointer;text-align:left;transition:all .2s;}
.dq-opt-btn:hover{background:rgba(245,197,24,.15);border-color:var(--gold);transform:translateY(-1px);}
.dq-opt-btn:active{transform:translateY(0) scale(.97);}

.dq-opt-result{position:relative;padding:11px 14px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.dq-opt-result.dq-opt-mine{border-color:var(--gold);background:rgba(245,197,24,.08);}
.dq-opt-bar{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,rgba(74,158,255,.18),rgba(74,158,255,.06));z-index:0;transition:width .5s cubic-bezier(.34,1.56,.64,1);}
.dq-opt-result.dq-opt-mine .dq-opt-bar{background:linear-gradient(90deg,rgba(245,197,24,.22),rgba(245,197,24,.08));}
.dq-opt-content{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.dq-opt-text{font-size:.84rem;font-weight:700;color:var(--text);}
.dq-opt-text small{color:var(--gold);}
.dq-opt-pct{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--gold);font-variant-numeric:tabular-nums;}
/* ═══════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════
   ▓▓▓ MES BONS BANNER — Page Partenaires ▓▓▓
   ════════════════════════════════════════════════════════════ */
.mbb-wrap{background:linear-gradient(135deg,rgba(245,197,24,.1),rgba(245,197,24,.02));border:1.5px solid rgba(245,197,24,.3);border-radius:14px;padding:14px;margin-bottom:14px;overflow:hidden;}
.mbb-header{margin-bottom:11px;}
.mbb-title{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1.5px;color:var(--gold);display:flex;align-items:center;gap:8px;}
.mbb-count{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#1a3808;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:800;min-width:24px;height:24px;padding:0 7px;border-radius:12px;letter-spacing:0;}
.mbb-sub{font-size:.7rem;color:var(--dim);margin-top:3px;line-height:1.4;}
.mbb-scroller{display:flex;gap:11px;overflow-x:auto;padding-bottom:6px;margin:0 -14px;padding-left:14px;padding-right:14px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(245,197,24,.4) transparent;}
.mbb-scroller::-webkit-scrollbar{height:6px;}
.mbb-scroller::-webkit-scrollbar-track{background:transparent;}
.mbb-scroller::-webkit-scrollbar-thumb{background:rgba(245,197,24,.4);border-radius:3px;}

.mbb-card{flex:0 0 220px;background:#fffbeb;color:#1a3808;border:2px solid var(--gold);border-radius:11px;padding:12px;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);scroll-snap-align:start;box-shadow:0 4px 12px rgba(0,0,0,.15);position:relative;overflow:hidden;}
.mbb-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(245,197,24,.3);}
.mbb-card:active{transform:translateY(0) scale(.97);}
.mbb-card::before{content:'';position:absolute;top:0;right:0;width:60px;height:60px;background:radial-gradient(circle at top right,rgba(245,197,24,.15),transparent 70%);pointer-events:none;}
.mbb-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;}
.mbb-card-ico{font-size:1.7rem;line-height:1;}
.mbb-card-pill{font-size:.55rem;font-weight:800;padding:3px 7px;border-radius:5px;letter-spacing:.4px;line-height:1;}
.mbb-pill-flash{background:linear-gradient(135deg,#f5c518,#e6683c);color:#fff;}
.mbb-pill-std{background:rgba(77,204,122,.2);color:#2d6e1a;border:1px solid rgba(77,204,122,.4);}
.mbb-card-name{font-family:'Bebas Neue',sans-serif;font-size:1.05rem;letter-spacing:.4px;color:#1a3808;line-height:1.1;margin-bottom:3px;}
.mbb-card-offer{font-size:.7rem;color:#3d5e10;font-weight:600;line-height:1.35;min-height:1.6em;margin-bottom:8px;}
.mbb-card-code{background:#1a3808;color:#f5c518;font-family:'Courier New',monospace;font-size:.78rem;font-weight:800;letter-spacing:1.5px;text-align:center;padding:6px;border-radius:6px;margin-bottom:8px;border:1.5px dashed rgba(245,197,24,.5);}
.mbb-card-cta{background:linear-gradient(135deg,#2d6e1a,#1f5210);color:#fff;font-size:.7rem;font-weight:800;padding:7px;text-align:center;border-radius:6px;letter-spacing:.3px;}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ PALMARÈS PREVIEW — Modale partage affiche ▓▓▓
   ════════════════════════════════════════════════════════════ */
/* ════════════════════════════════════════════════════════════
   ▓▓▓ MODALE PALMARÈS PREMIUM ▓▓▓
   ════════════════════════════════════════════════════════════ */
.palm-overlay{
  position:fixed;inset:0;z-index:7200;
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  background:rgba(10,15,4,.82);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  animation:estim-overlay-in .4s var(--ease-out-expo);
  overflow-y:auto;
}
.palm-card{
  position:relative;
  max-width:420px;width:100%;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(245,197,24,.42);
  border-radius:24px;
  box-shadow:
    var(--elev-5),
    0 0 0 1px rgba(245,197,24,.22),
    0 0 56px rgba(245,197,24,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
  animation:estim-card-in .55s var(--ease-out-back);
  max-height:94vh;
  display:flex;flex-direction:column;
  overflow:hidden;
  color:#fff;
}
.palm-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, transparent, var(--gold), #ffe566, var(--gold), transparent);
  border-radius:24px 24px 0 0;
  z-index:2;
}
.palm-close{
  position:absolute;top:14px;right:14px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(10,15,4,.42);
  border:1.5px solid rgba(255,255,255,.18);
  color:#fff;font-size:.88rem;font-weight:700;
  cursor:pointer;z-index:3;
  display:flex;align-items:center;justify-content:center;
  padding:0;line-height:1;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.palm-close:hover{
  background:rgba(255,80,80,.32);
  border-color:rgba(255,80,80,.55);
  transform:rotate(90deg);
}

.palm-header{
  text-align:center;
  padding:24px 24px 18px;
  background:linear-gradient(145deg, rgba(245,197,24,.16) 0%, rgba(245,197,24,.04) 100%);
  border-bottom:1px solid rgba(245,197,24,.18);
  position:relative;
  overflow:hidden;
}
.palm-header::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 80% 20%, rgba(245,197,24,.18), transparent 50%),
    radial-gradient(circle at 20% 90%, rgba(164,214,94,.1), transparent 50%);
  pointer-events:none;
}
.palm-header > *{position:relative;z-index:1;}
.palm-title-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;}
.palm-trophy{
  font-size:3rem;line-height:1;
  margin-bottom:4px;
  filter:drop-shadow(0 6px 16px rgba(245,197,24,.42));
  animation:palm-trophy-bounce 3s ease-in-out infinite;
}
@keyframes palm-trophy-bounce{
  0%,100%{transform:translateY(0) rotate(-5deg);}
  50%{transform:translateY(-6px) rotate(5deg);}
}
.palm-eyebrow{
  font-size:.62rem;letter-spacing:2.2px;font-weight:800;
  color:var(--gold);text-transform:uppercase;
  margin-bottom:4px;
}
.palm-title{
  font-family:'Fredoka',sans-serif!important;font-weight:700!important;
  font-size:1.85rem!important;letter-spacing:-.5px!important;
  color:#fff!important;line-height:1.05!important;
  margin-bottom:6px;
}
.palm-sub{
  font-size:.84rem;line-height:1.5;
  color:rgba(255,255,255,.85);
  margin:0 auto;max-width:340px;
}

.palm-body{
  padding:20px 22px 22px;
  display:flex;flex-direction:column;gap:14px;
}
.palm-image-wrap{
  position:relative;
  background:rgba(10,15,4,.5);
  border-radius:16px;padding:10px;
  box-shadow:inset 0 0 0 1px rgba(245,197,24,.22), var(--elev-2);
  max-height:50vh;overflow:hidden;
  display:flex;justify-content:center;align-items:center;
  margin-bottom:0;
}
.palm-image{
  display:block;width:auto;max-width:100%;max-height:50vh;
  border-radius:10px;
  box-shadow:var(--elev-2);
}
.palm-actions{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;
}
.palm-btn{
  padding:14px 16px;
  border:none;border-radius:13px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.92rem;letter-spacing:-.1px;
  cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.palm-btn-primary{
  background:linear-gradient(135deg, var(--gold), #d4a012);
  color:#1a3808;
  box-shadow:
    var(--elev-2),
    inset 0 -2px 0 rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.35);
}
.palm-btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:
    var(--elev-4),
    inset 0 -2px 0 rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.42),
    0 0 22px rgba(245,197,24,.42);
}
.palm-btn-primary:active{transform:translateY(0) scale(.97);}
.palm-btn-secondary{
  background:rgba(74,158,255,.16);
  color:#94c0ff;
  border:1.5px solid rgba(74,158,255,.4);
}
.palm-btn-secondary:hover{
  background:rgba(74,158,255,.28);
  border-color:rgba(74,158,255,.6);
  transform:translateY(-2px);
}
.palm-btn-secondary:active{transform:translateY(0) scale(.97);}

.palm-hint{
  font-size:.74rem;color:var(--dim);
  line-height:1.55;text-align:center;
  padding:11px 14px;
  background:rgba(255,255,255,.04);
  border:1px dashed rgba(255,255,255,.1);
  border-radius:11px;
}
.palm-hint b{color:var(--gold);}

@media(max-width:480px){
  .palm-card{border-radius:20px;}
  .palm-header{padding:22px 20px 16px;}
  .palm-title{font-size:1.55rem!important;}
  .palm-body{padding:18px;}
  .palm-actions{grid-template-columns:1fr;}
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ DASHBOARD ADMIN SPLIT LAYOUT ▓▓▓
   ════════════════════════════════════════════════════════════ */
.dash-layout{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:18px;
  align-items:start;
}
.dash-sidebar{
  position:sticky;top:128px;
  align-self:start;
  max-height:calc(100vh - 144px);
  overflow-y:auto;
}
.dash-sidebar-inner{
  background:linear-gradient(160deg, rgba(10,15,4,.62), rgba(10,15,4,.42));
  border:1px solid rgba(164,214,94,.18);
  border-radius:18px;
  padding:18px;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:var(--elev-2);
}
.dash-sidebar-header{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(164,214,94,.1);}
.dash-sidebar-eyebrow{
  font-size:.58rem;letter-spacing:2px;font-weight:800;
  color:var(--vert-pomme);
  text-transform:uppercase;
  margin-bottom:4px;
}
.dash-sidebar-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.2rem;color:#fff;letter-spacing:-.2px;
  line-height:1.1;
}

.dash-sidebar-mini{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  margin-bottom:16px;
}
.dash-mini-kpi{
  background:linear-gradient(135deg, rgba(164,214,94,.14), rgba(164,214,94,.06));
  border:1px solid rgba(164,214,94,.22);
  border-radius:11px;
  padding:10px;text-align:center;
}
.dash-mini-kpi-green{
  background:linear-gradient(135deg, rgba(77,204,122,.16), rgba(77,204,122,.06));
  border-color:rgba(77,204,122,.32);
}
.dash-mini-val{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.45rem;color:var(--vert-pomme);
  line-height:1;
}
.dash-mini-kpi-green .dash-mini-val{color:#5fd98a;}
.dash-mini-lbl{
  font-size:.6rem;letter-spacing:1.2px;font-weight:700;
  color:var(--dim);text-transform:uppercase;
  margin-top:4px;
}

.dash-nav{
  display:flex;flex-direction:column;gap:2px;
  margin-bottom:18px;
}
.dash-nav-item{
  display:flex;align-items:center;gap:11px;
  padding:9px 12px;
  border-radius:9px;
  font-size:.82rem;font-weight:600;
  color:rgba(255,255,255,.7);
  text-decoration:none;
  cursor:pointer;
  transition:background var(--dur-fast),
             color var(--dur-fast),
             transform var(--dur-fast);
}
.dash-nav-item span{
  font-size:1rem;line-height:1;
}
.dash-nav-item:hover{
  background:rgba(164,214,94,.08);
  color:#fff;
  transform:translateX(2px);
}
.dash-nav-item.active{
  background:linear-gradient(90deg, rgba(164,214,94,.18), rgba(164,214,94,.06));
  color:var(--vert-pomme);
  border-left:3px solid var(--vert-pomme);
  padding-left:9px;
}

.dash-quick-actions{
  display:flex;flex-direction:column;gap:8px;
  margin-bottom:14px;
}
.dash-quick-btn{
  display:flex;align-items:center;gap:11px;
  padding:11px 13px;
  background:linear-gradient(135deg, rgba(74,158,255,.16), rgba(74,158,255,.06));
  border:1.5px solid rgba(74,158,255,.42);
  border-radius:12px;
  color:#fff;
  cursor:pointer;
  text-align:left;
  font-family:'DM Sans',sans-serif;
  transition:all var(--dur-fast) var(--ease-out-back);
}
.dash-quick-btn:hover{
  background:linear-gradient(135deg, rgba(74,158,255,.28), rgba(74,158,255,.12));
  border-color:#4a9eff;
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(74,158,255,.32);
}
.dash-quick-btn:active{transform:translateY(0) scale(.97);}
.dash-quick-btn > span{font-size:1.3rem;line-height:1;flex-shrink:0;}
.dash-quick-btn > div{flex:1;min-width:0;display:flex;flex-direction:column;}
.dash-quick-btn b{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.86rem;letter-spacing:-.1px;color:#94c0ff;
}
.dash-quick-btn small{
  font-size:.66rem;color:rgba(255,255,255,.6);font-weight:500;
}

.dash-sidebar-foot{
  font-size:.62rem;color:var(--faint);
  text-align:center;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.06);
}

.dash-content{
  display:flex;flex-direction:column;gap:18px;
  min-width:0;
}

.dash-section{
  scroll-margin-top:140px;
}
.dash-section-title-pro{
  display:flex;align-items:center;gap:14px;
  margin-bottom:14px;
}
.dash-section-num{
  width:42px;height:42px;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.05rem;
  flex-shrink:0;
  box-shadow:var(--elev-2), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.3);
}
.dash-section-title-pro h3{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.2rem;color:#fff;
  margin:0;letter-spacing:-.2px;line-height:1.15;
}
.dash-section-title-pro p{
  font-size:.78rem;color:var(--dim);
  margin:2px 0 0;line-height:1.4;
}

.dash-marketing-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:11px;
}
.dash-mk-btn{
  display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:18px 12px 14px;
  background:linear-gradient(135deg, rgba(164,214,94,.1), rgba(164,214,94,.02));
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:14px;
  color:#fff;
  cursor:pointer;
  font-family:'Fredoka',sans-serif;
  transition:transform var(--dur-fast) var(--ease-out-back),
             border-color var(--dur-fast),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.dash-mk-btn:hover{
  transform:translateY(-3px);
  border-color:var(--vert-pomme);
  box-shadow:var(--elev-3), 0 0 22px rgba(164,214,94,.22);
}
.dash-mk-btn:active{transform:translateY(0) scale(.97);}
.dash-mk-ico{font-size:1.8rem;line-height:1;}
.dash-mk-name{font-weight:700;font-size:.88rem;letter-spacing:-.1px;}

@media(max-width:900px){
  .dash-layout{grid-template-columns:1fr;}
  .dash-sidebar{position:static;max-height:none;}
  .dash-sidebar-inner{padding:14px;}
  .dash-nav{flex-direction:row;flex-wrap:wrap;}
  .dash-nav-item{flex:1;min-width:120px;}
  .dash-nav-item.active{border-left:none;border-bottom:3px solid var(--vert-pomme);padding-left:12px;}
}

/* ════════════════════════════════════════════════════════════
   ▓▓▓ MODE PREVIEW CLIENT — démo plein écran ▓▓▓
   ════════════════════════════════════════════════════════════ */
.prv-overlay{
  position:fixed;inset:0;z-index:9500;
  background:linear-gradient(180deg, #0a1a04 0%, #0e2410 50%, #0a1a04 100%);
  overflow-y:auto;
  animation:prv-fade-in .5s var(--ease-out-expo);
  padding-bottom:60px;
}
@keyframes prv-fade-in{from{opacity:0;}to{opacity:1;}}

.prv-close{
  position:fixed;top:18px;right:18px;
  z-index:9510;
  padding:9px 16px;
  background:rgba(10,15,4,.65);
  border:1.5px solid rgba(255,255,255,.18);
  border-radius:24px;
  color:#fff;font-size:.78rem;font-weight:700;
  cursor:pointer;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:all var(--dur-fast) var(--ease-out-back);
}
.prv-close:hover{
  background:rgba(255,80,80,.32);
  border-color:rgba(255,80,80,.6);
  transform:translateY(-1px);
}

.prv-mode-badge{
  position:fixed;bottom:18px;left:18px;
  z-index:9510;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;
  background:rgba(255,140,30,.18);
  border:1.5px solid rgba(255,140,30,.5);
  border-radius:18px;
  color:#ffb066;
  font-size:.7rem;font-weight:800;
  letter-spacing:1.4px;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 0 24px rgba(255,140,30,.18);
}
.prv-mode-dot{
  width:7px;height:7px;border-radius:50%;
  background:#ff8c1e;
  animation:prv-dot-pulse 1.4s ease-in-out infinite;
}
@keyframes prv-dot-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,140,30,.55);}
  50%{box-shadow:0 0 0 7px rgba(255,140,30,0);}
}

.prv-content{
  max-width:1100px;margin:0 auto;
  padding:60px 24px 0;
}

/* Hero */
.prv-hero{
  position:relative;
  padding:60px 0 50px;
  text-align:center;
  overflow:hidden;
}
.prv-hero-decor{
  position:absolute;inset:-20%;
  background:
    radial-gradient(ellipse 60% 50% at 30% 30%, rgba(164,214,94,.18), transparent 65%),
    radial-gradient(ellipse 50% 50% at 70% 70%, rgba(212,240,74,.12), transparent 65%);
  pointer-events:none;
  animation:aurora 28s ease-in-out infinite alternate;
}
.prv-hero-inner{position:relative;z-index:1;}
.prv-brand{
  display:inline-flex;align-items:center;gap:14px;
  padding:10px 22px;
  background:linear-gradient(135deg, #0a0f04, #16201a);
  border-radius:18px;
  box-shadow:var(--elev-4), inset 0 1px 0 rgba(255,255,255,.08);
  margin-bottom:24px;
  border:1px solid rgba(164,214,94,.32);
}
.prv-brand-ico{
  font-size:2.4rem;line-height:1;
  filter:drop-shadow(0 4px 12px rgba(164,214,94,.42));
  animation:hero-ball-bounce 2.4s ease-in-out infinite;
}
.prv-brand-text{text-align:left;}
.prv-brand-line1{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.92rem;letter-spacing:.4px;
  color:#fff;line-height:1;
}
.prv-brand-line2{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.65rem;letter-spacing:-.5px;
  color:var(--vert-pomme);line-height:1;
  text-shadow:0 0 20px rgba(164,214,94,.5);
  margin-top:2px;
}
.prv-eyebrow{
  font-size:.74rem;letter-spacing:2.6px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:14px;
}
.prv-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:clamp(2.2rem, 5vw, 3.4rem);
  letter-spacing:-1.5px;line-height:1.08;
  color:#fff;
  margin:0 0 18px;
  text-shadow:0 4px 20px rgba(0,0,0,.42);
}
.prv-title-hl{
  background:linear-gradient(135deg, #a4d65e 0%, #d4f04a 50%, #a4d65e 100%);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:hero-year-shine 4s ease-in-out infinite;
}
.prv-sub{
  font-size:1.05rem;line-height:1.55;
  color:rgba(255,255,255,.82);
  max-width:560px;margin:0 auto;
}
.prv-sub b{color:#fff;font-weight:700;}

/* Stats */
.prv-stats{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:18px;
  margin:40px 0 60px;
}
.prv-stat{
  background:linear-gradient(155deg, rgba(164,214,94,.1) 0%, rgba(164,214,94,.02) 100%);
  border:1.5px solid rgba(164,214,94,.28);
  border-radius:20px;
  padding:24px 22px;
  text-align:center;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:var(--elev-2), inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform var(--dur-med) var(--ease-out-back),
             border-color var(--dur-fast),
             box-shadow var(--dur-med);
}
.prv-stat:hover{
  transform:translateY(-4px);
  border-color:var(--vert-pomme);
  box-shadow:var(--elev-4), 0 0 32px rgba(164,214,94,.22);
}
.prv-stat-num{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:3.2rem;letter-spacing:-1.5px;
  line-height:1;color:var(--vert-pomme);
  text-shadow:0 0 32px rgba(164,214,94,.45);
  font-variant-numeric:tabular-nums;
}
.prv-stat-lbl{
  font-size:.92rem;font-weight:600;
  color:#fff;
  margin-top:8px;letter-spacing:-.1px;
}
.prv-stat-sub{
  font-size:.74rem;font-weight:600;
  color:rgba(164,214,94,.78);
  margin-top:4px;letter-spacing:.4px;
}

/* Sections */
.prv-section{
  padding:40px 0;
  text-align:center;
}
.prv-section-dark{
  background:linear-gradient(135deg, rgba(10,15,4,.5), rgba(10,15,4,.3));
  border-radius:24px;
  padding:50px 32px;
  border:1px solid rgba(164,214,94,.12);
  margin:20px 0;
}
.prv-section-eyebrow{
  font-size:.7rem;letter-spacing:2.5px;font-weight:800;
  color:var(--vert-pomme);text-transform:uppercase;
  margin-bottom:10px;
}
.prv-eyebrow-light{color:var(--jaune-pomme);}
.prv-section-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:clamp(1.7rem, 4vw, 2.4rem);
  letter-spacing:-.8px;
  color:#fff;
  margin:0 0 34px;
}

/* Benefits */
.prv-benefits{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:20px;
  margin-top:30px;
}
.prv-benefit{
  background:linear-gradient(155deg, rgba(164,214,94,.08), rgba(164,214,94,.02));
  border:1.5px solid rgba(164,214,94,.22);
  border-radius:18px;
  padding:26px 24px;
  text-align:left;
  transition:transform var(--dur-med) var(--ease-out-back),
             border-color var(--dur-fast);
}
.prv-benefit:hover{
  transform:translateY(-4px);
  border-color:var(--vert-pomme);
}
.prv-benefit-num{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.84rem;letter-spacing:1.5px;
  color:var(--vert-pomme);
  margin-bottom:14px;opacity:.7;
}
.prv-benefit-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.18rem;color:#fff;
  margin:0 0 10px;letter-spacing:-.2px;line-height:1.25;
}
.prv-benefit-text{
  font-size:.92rem;color:rgba(255,255,255,.78);
  line-height:1.55;margin:0;
}
.prv-benefit-text b{color:var(--vert-pomme);font-weight:700;}

/* Steps */
.prv-steps{
  display:flex;flex-direction:column;gap:14px;
  max-width:600px;margin:30px auto 0;
}
.prv-step{
  display:flex;align-items:center;gap:18px;
  padding:18px 22px;
  background:rgba(10,15,4,.42);
  border:1px solid rgba(164,214,94,.18);
  border-radius:14px;
  text-align:left;
}
.prv-step-num{
  width:44px;height:44px;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.2rem;flex-shrink:0;
  box-shadow:var(--elev-1), inset 0 -2px 0 rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.3);
}
.prv-step-content{flex:1;min-width:0;}
.prv-step-content b{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1rem;color:#fff;
  display:block;margin-bottom:3px;
}
.prv-step-content span{
  font-size:.84rem;color:rgba(255,255,255,.72);
  line-height:1.4;
}

/* Testimonials */
.prv-testi-grid{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:14px;
  margin-top:30px;
}
.prv-testi{
  background:#0a0f04;
  border:1px solid rgba(164,214,94,.18);
  border-radius:16px;
  padding:20px 16px;
  text-align:center;
  transition:transform var(--dur-fast) var(--ease-out-back),
             border-color var(--dur-fast);
}
.prv-testi:hover{
  transform:translateY(-3px);
  border-color:var(--vert-pomme);
  box-shadow:var(--elev-3);
}
.prv-testi-ico{
  font-size:2.4rem;line-height:1;
  margin-bottom:8px;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.32));
}
.prv-testi-name{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.92rem;color:#fff;
  margin-bottom:3px;letter-spacing:-.1px;
}
.prv-testi-cat{
  font-size:.7rem;color:var(--vert-pomme);font-weight:600;
  letter-spacing:.5px;
}

/* CTA Final */
.prv-cta-final{
  background:linear-gradient(155deg, rgba(245,197,24,.18) 0%, rgba(164,214,94,.1) 100%);
  border:1.5px solid rgba(245,197,24,.42);
  border-radius:24px;
  padding:50px 32px;
  text-align:center;
  margin:30px 0;
  position:relative;
  overflow:hidden;
}
.prv-cta-final::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at top, rgba(245,197,24,.18), transparent 60%);
  pointer-events:none;
}
.prv-cta-emoji{
  font-size:3.6rem;line-height:1;
  margin-bottom:14px;
  filter:drop-shadow(0 8px 20px rgba(245,197,24,.42));
  animation:hero-ball-bounce 2.4s ease-in-out infinite;
}
.prv-cta-title{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:clamp(1.8rem, 4vw, 2.6rem);
  letter-spacing:-.8px;color:#fff;
  margin:0 0 12px;
}
.prv-cta-sub{
  font-size:1.02rem;color:rgba(255,255,255,.85);
  line-height:1.55;margin:0 auto 26px;
  max-width:480px;
}
.prv-cta-buttons{
  display:flex;justify-content:center;gap:14px;
  flex-wrap:wrap;
  margin-bottom:24px;
}
.prv-cta-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;
  border-radius:14px;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.02rem;text-decoration:none;
  transition:transform var(--dur-fast) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.prv-cta-btn-primary{
  background:linear-gradient(135deg, var(--gold), #d4a012);
  color:var(--surface-deep);
  box-shadow:var(--elev-3), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.32);
}
.prv-cta-btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:var(--elev-5), 0 0 32px rgba(245,197,24,.42);
}
.prv-cta-btn-secondary{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1.5px solid rgba(255,255,255,.22);
}
.prv-cta-btn-secondary:hover{
  background:rgba(255,255,255,.16);
  border-color:#fff;
  transform:translateY(-3px);
}
.prv-cta-btn:active{transform:translateY(-1px) scale(.97);}

.prv-cta-foot{
  font-size:.78rem;color:rgba(255,255,255,.62);
  letter-spacing:.3px;
}

@media(max-width:680px){
  .prv-content{padding:50px 16px 0;}
  .prv-hero{padding:30px 0;}
  .prv-section{padding:30px 0;}
  .prv-section-dark{padding:36px 20px;}
  .prv-cta-final{padding:36px 20px;}
  .prv-stat-num{font-size:2.6rem;}
  .prv-cta-buttons{flex-direction:column;}
  .prv-cta-btn{width:100%;justify-content:center;}
  .prv-close{top:12px;right:12px;padding:7px 12px;font-size:.72rem;}
  .prv-mode-badge{bottom:12px;left:12px;font-size:.62rem;padding:6px 11px;}
}

/* ─── Système de niveaux (Bronze/Argent/Or/Diamant) PREMIUM ─── */
.lvl-card{
  position:relative;
  background:linear-gradient(135deg, rgba(164,214,94,.06), rgba(164,214,94,.02));
  border:1.5px solid var(--lvl-color,#888);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:
    var(--elev-2),
    0 0 22px -4px var(--lvl-glow,rgba(255,255,255,.25)),
    inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  overflow:hidden;
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.lvl-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--lvl-color,#888), transparent);
  border-radius:16px 16px 0 0;
}
.lvl-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-3), 0 0 32px -2px var(--lvl-glow,rgba(255,255,255,.35)), inset 0 1px 0 rgba(255,255,255,.08);
}
.lvl-card-lg{padding:18px 20px;}
.lvl-card-head{display:flex;align-items:center;gap:13px;}
.lvl-ico{
  font-size:2rem;line-height:1;
  filter:drop-shadow(0 0 12px var(--lvl-glow,rgba(255,255,255,.5)));
  animation:lvl-glow 3s ease-in-out infinite;
}
@keyframes lvl-glow{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.08);}
}
.lvl-card-lg .lvl-ico{font-size:2.6rem;}
.lvl-info{flex:1;min-width:0;}
.lvl-label{font-size:.58rem;font-weight:800;color:var(--dim);letter-spacing:1.8px;text-transform:uppercase;}
.lvl-name{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.25rem;color:var(--lvl-color,#fff);letter-spacing:.3px;line-height:1.1;text-shadow:0 0 14px var(--lvl-glow,rgba(255,255,255,.2));}
.lvl-card-lg .lvl-name{font-size:1.6rem;}
.lvl-pts{font-family:'Fredoka',sans-serif;font-weight:700;font-size:1.5rem;color:#fff;line-height:1;letter-spacing:.3px;}
.lvl-pts small{font-family:'Inter',sans-serif;font-weight:500;font-size:.58rem;color:var(--dim);letter-spacing:.5px;display:block;margin-top:3px;}
.lvl-progress-wrap{margin-top:10px;}
.lvl-progress-bar{width:100%;height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;}
.lvl-progress-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px var(--lvl-glow);}
.lvl-progress-text{font-size:.62rem;color:var(--dim);margin-top:5px;text-align:center;}
.lvl-progress-text b{color:var(--lvl-color);font-weight:800;}

/* ─── Streaks 🔥 ─── */
.streak-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(255,80,80,.18),rgba(245,87,33,.14));border:1px solid rgba(255,80,80,.4);border-radius:10px;padding:5px 11px;font-size:.78rem;font-weight:700;color:#ff8585;letter-spacing:.2px;}

/* ═══════════════════════════════════════════════════════════
   ▓▓▓ MODE LITE — Grandes polices, lecture facile ▓▓▓
   Active via toggle dans profil ou commande : setLiteMode(true)
   Cible : seniors, malvoyants, première découverte
   ═══════════════════════════════════════════════════════════ */
:root[data-lite="1"]{
  /* +20% sur toutes les polices */
  font-size:19px;
}
:root[data-lite="1"] body{
  font-size:1.05rem;
  line-height:1.65;
}
:root[data-lite="1"] .h-title{font-size:1.05rem!important;}
:root[data-lite="1"] .h-tagline{display:none;}
:root[data-lite="1"] .pmc-n{font-size:1.1rem!important;line-height:1.4;}
:root[data-lite="1"] .pmc-m{font-size:.85rem!important;}
:root[data-lite="1"] .ins{
  width:70px!important;height:62px!important;
  font-size:1.85rem!important;
  border-width:3px!important;
}
:root[data-lite="1"] .tab-lbl{font-size:.78rem!important;}
:root[data-lite="1"] .ph-title{font-size:1.5rem!important;}
:root[data-lite="1"] .ph-pts{font-size:3rem!important;}
:root[data-lite="1"] .l-btn, :root[data-lite="1"] .sbtn{
  font-size:1.1rem!important;
  padding:18px 20px!important;
  min-height:56px;
}
:root[data-lite="1"] .l-in, :root[data-lite="1"] .estim-input{
  font-size:1.1rem!important;
  padding:14px 16px!important;
  min-height:50px;
}
:root[data-lite="1"] .toast{
  font-size:1.05rem!important;
  padding:18px 22px!important;
}
:root[data-lite="1"] .explainer-title{font-size:1.05rem!important;}
:root[data-lite="1"] .explainer-step-txt{font-size:1rem!important;line-height:1.55;}
:root[data-lite="1"] .explainer-pt{font-size:.95rem!important;}
:root[data-lite="1"] .nmc-title{font-size:1.5rem!important;}
:root[data-lite="1"] .nmc-teams{font-size:1.15rem!important;}
:root[data-lite="1"] .wb-greet-name{font-size:1.65rem!important;}
:root[data-lite="1"] .wb-stat-val{font-size:1.1rem!important;}
:root[data-lite="1"] .wb-stat-lbl{font-size:.75rem!important;}

/* Désactive les animations lourdes en mode Lite */
:root[data-lite="1"] *{
  animation-duration:0.01ms!important;
  transition-duration:0.15s!important;
}
:root[data-lite="1"] .live-clock-display::before,
:root[data-lite="1"] .quick-prono-section::before,
:root[data-lite="1"] .ms-spark-svg,
:root[data-lite="1"] .nmc-pulse{
  animation:none!important;
}

/* Tooltip plus visible */
:root[data-lite="1"] .has-tt::after{
  font-size:.92rem!important;
  padding:10px 14px!important;
}

/* Contraste renforcé */
:root[data-lite="1"] .pmc-m, :root[data-lite="1"] .wb-stat-lbl{
  color:rgba(0,0,0,.75)!important;
}
:root[data-lite="1"] .pmc{
  border-width:2px!important;
}

/* ═══ LITE + DARK : combinaison nuit + gros contraste ═══ */
:root[data-lite="1"][data-theme="dark"] body{
  background:linear-gradient(180deg, #000 0%, #0a0f04 100%);
}
:root[data-lite="1"][data-theme="dark"] .pmc{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
:root[data-lite="1"][data-theme="dark"] .pmc-m,
:root[data-lite="1"][data-theme="dark"] .wb-stat-lbl{
  color:rgba(255,255,255,.78)!important;
}
:root[data-lite="1"][data-theme="dark"] .pmc-n,
:root[data-lite="1"][data-theme="dark"] .h-title{
  color:#fff!important;
  font-weight:800!important;
}
:root[data-lite="1"][data-theme="dark"] .ins{
  background:#fff!important;
  color:#0a0f04!important;
  border-color:var(--gold)!important;
}

/* ═══ TUTORIEL VIDÉO ANIMATION ═══ */
.onb-vid-overlay{
  position:fixed;inset:0;z-index:9500;
  background:rgba(10,15,4,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  animation:onb3-overlay-in .35s ease;
}
.onb-vid-card{
  position:relative;
  width:100%;max-width:380px;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.42);
  border-radius:20px;
  box-shadow:var(--elev-5);
  padding:20px 18px 18px;
  animation:onb3-card-in .55s cubic-bezier(.34,1.56,.64,1);
}
.onb-vid-close{
  position:absolute;top:12px;right:12px;
  width:32px;height:32px;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;border-radius:50%;
  cursor:pointer;font-weight:700;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-fast);
}
.onb-vid-close:hover{background:rgba(255,80,80,.32);transform:rotate(90deg);}
.onb-vid-title{
  font-family:'Fredoka',sans-serif;
  font-size:1.15rem;font-weight:700;
  color:#fff;text-align:center;
  margin-bottom:14px;
}
.onb-vid-stage{
  background:#0a0f04;
  border-radius:14px;
  overflow:hidden;
  margin-bottom:14px;
  position:relative;
  border:1px solid rgba(164,214,94,.18);
}
.onb-vid-svg{
  width:100%;height:auto;display:block;
}
.vid-cursor{
  transition:transform .6s cubic-bezier(.34,1.56,.64,1);
}
@keyframes vid-pop{
  0%{opacity:0;transform-origin:center;transform:scale(.4);}
  60%{transform:scale(1.3);}
  100%{opacity:1;transform:scale(1);}
}
.onb-vid-step{
  text-align:center;
  font-size:.85rem;font-weight:600;
  color:rgba(255,255,255,.85);
  padding:9px 12px;
  background:rgba(164,214,94,.08);
  border:1px solid rgba(164,214,94,.22);
  border-radius:10px;
  margin-bottom:14px;
  min-height:22px;
}
.onb-vid-actions{
  display:flex;gap:10px;
}
.onb-vid-replay{
  flex:0 0 auto;
  padding:11px 14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.85);
  border-radius:10px;
  font-family:'DM Sans',sans-serif;
  font-weight:600;font-size:.78rem;
  cursor:pointer;
  transition:all var(--dur-fast);
}
.onb-vid-replay:hover{
  background:rgba(255,255,255,.1);
}
.onb-vid-cta{
  flex:1;
  padding:11px 14px;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border:none;
  border-radius:10px;
  font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:.86rem;
  cursor:pointer;
  box-shadow:var(--elev-2);
  transition:transform var(--dur-fast) var(--ease-out-back);
}
.onb-vid-cta:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-3);
}
.onb-vid-cta:active{transform:scale(.97);}

/* ═══ ÉDITION INLINE (admin) — double-clic pour modifier ═══ */
.inline-edit{
  transition:background .15s, border-color .15s;
  border-radius:3px;
  padding:1px 3px;
  border-bottom:1px dotted transparent !important;
}
.inline-edit:hover{
  background:rgba(245,197,24,.12) !important;
  border-bottom-color:rgba(245,197,24,.5) !important;
}
.inline-edit::after{
  content:'✏️';
  font-size:.6em;
  opacity:0;
  margin-left:3px;
  transition:opacity .15s;
}
.inline-edit:hover::after{opacity:.5;}
.inline-edit-input{
  font-family:'DM Sans',sans-serif !important;
}
:root[data-theme="light"] .inline-edit:hover{
  background:rgba(74,124,26,.1) !important;
  border-bottom-color:rgba(74,124,26,.45) !important;
}

/* Bouton ✏️ admin sur card partenaire */
.pc-admin-edit-btn{
  position:absolute;
  top:8px;right:8px;
  width:38px;height:38px;
  border-radius:50%;
  background:linear-gradient(135deg, #f5c518 0%, #d4a012 100%);
  border:2px solid #fff;
  color:#1a1808;
  font-size:1rem;
  cursor:pointer;
  z-index:10;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(245,197,24,.55), 0 0 0 3px rgba(245,197,24,.18);
  transition:all var(--dur-fast);
  animation:edit-btn-pulse 4s ease-in-out infinite;
}
@keyframes edit-btn-pulse{
  0%,100%{box-shadow:0 4px 12px rgba(245,197,24,.5), 0 0 0 3px rgba(245,197,24,.15);}
  50%{box-shadow:0 4px 14px rgba(245,197,24,.6), 0 0 0 4px rgba(245,197,24,.08);}
}
.pc-admin-edit-btn:hover{
  background:#fff;
  color:#1a1808;
  transform:scale(1.15) rotate(8deg);
  box-shadow:0 6px 18px rgba(245,197,24,.7);
}

/* ═══ FAB ADMIN POWER TOOLS ═══ */
.fab-admin{
  position:fixed;
  bottom:90px;
  left:18px;
  z-index:9100;
  display:flex;flex-direction:column-reverse;align-items:flex-start;gap:10px;
}
.fab-admin-main{
  width:62px;height:62px;
  border-radius:50%;
  background:linear-gradient(135deg, #f5c518 0%, #d4a012 100%);
  border:3px solid rgba(245,197,24,.5);
  color:#1a1808;
  font-size:1.85rem;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px rgba(245,197,24,.55), inset 0 -2px 0 rgba(0,0,0,.15), 0 0 0 4px rgba(245,197,24,.18);
  transition:transform var(--dur-med) var(--ease-out-back), box-shadow var(--dur-med);
  position:relative;
  animation:fab-admin-pulse-attract 5s ease-in-out infinite;
}
@keyframes fab-admin-pulse-attract{
  0%,100%{box-shadow:0 8px 26px rgba(245,197,24,.45), inset 0 -2px 0 rgba(0,0,0,.15), 0 0 0 4px rgba(245,197,24,.14);}
  50%{box-shadow:0 10px 28px rgba(245,197,24,.55), inset 0 -2px 0 rgba(0,0,0,.15), 0 0 0 6px rgba(245,197,24,.05);}
}
/* Étiquette permanente "ADMIN" au-dessus du bouton */
.fab-admin-main::after{
  content:'ADMIN';
  position:absolute;
  top:-22px;left:50%;
  transform:translateX(-50%);
  font-family:'Bebas Neue', sans-serif;
  font-size:.66rem;
  letter-spacing:1.5px;
  color:#f5c518;
  background:rgba(26,24,8,.92);
  padding:3px 9px;
  border-radius:9px;
  border:1px solid rgba(245,197,24,.32);
  pointer-events:none;
  white-space:nowrap;
  font-weight:700;
  box-shadow:0 3px 8px rgba(0,0,0,.3);
}
.fab-admin.open .fab-admin-main::after{
  content:'Fermer';
  color:#ff8585;
  background:rgba(40,8,8,.94);
  border-color:rgba(255,80,80,.32);
}
.fab-admin-main:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 10px 28px rgba(245,197,24,.6);
}
.fab-admin-main:active{transform:scale(.94);}
.fab-admin.open .fab-admin-main{
  transform:rotate(45deg);
  background:linear-gradient(135deg, #ff5050, #ff8585);
  border-color:rgba(255,80,80,.5);
  color:#fff;
}
.fab-admin-ico{
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));
}
.fab-admin-menu{
  display:none;
  flex-direction:column-reverse;
  gap:8px;
  align-items:flex-start;
}
.fab-admin.open .fab-admin-menu{
  display:flex;
  animation:fab-admin-in .3s var(--ease-out-back);
}
@keyframes fab-admin-in{
  from{opacity:0;transform:translateY(15px) scale(.85);}
  to{opacity:1;transform:none;}
}
.fab-admin-item{
  display:flex;align-items:center;gap:9px;
  padding:9px 14px 9px 12px;
  background:rgba(10,15,4,.95);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(164,214,94,.32);
  color:#fff;
  border-radius:22px;
  cursor:pointer;
  font-family:'DM Sans',sans-serif;
  font-size:.8rem;font-weight:700;
  box-shadow:var(--elev-3);
  transition:all var(--dur-fast);
  white-space:nowrap;
}
.fab-admin-item:hover{
  background:rgba(164,214,94,.18);
  border-color:var(--vert-pomme);
  transform:translateX(4px);
}
.fab-admin-item:active{transform:scale(.96);}
.fab-admin-item span:first-child{
  font-size:1.15rem;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));
}

@media(max-width:480px){
  .fab-admin{bottom:78px;left:14px;}
  .fab-admin-main{width:48px;height:48px;font-size:1.4rem;}
  .fab-admin-item{padding:7px 12px 7px 10px;font-size:.74rem;}
}

/* ═══ MATCH MANAGER BOARD (admin) ═══ */
.mmb-overlay{
  position:fixed;inset:0;z-index:9500;
  background:rgba(10,15,4,.9);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  animation:gsearch-overlay-in .25s ease;
}
.mmb-card{
  position:relative;
  width:100%;max-width:620px;
  max-height:92vh;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.42);
  border-radius:18px;
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.18);
  padding:18px 18px 14px;
  display:flex;flex-direction:column;
  overflow:hidden;
  animation:onb3-card-in .45s cubic-bezier(.34,1.56,.64,1);
}
.mmb-close{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;border-radius:50%;
  cursor:pointer;font-weight:700;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-fast);
  z-index:2;
}
.mmb-close:hover{background:rgba(255,80,80,.32);transform:rotate(90deg);}
.mmb-header{
  display:flex;align-items:center;gap:12px;
  padding-right:40px;margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}
.mmb-ico{
  width:46px;height:46px;
  border-radius:12px;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
  flex-shrink:0;
}
.mmb-title{
  font-family:'Fredoka',sans-serif;
  font-size:1.2rem;font-weight:700;
  color:#fff;
  margin:0;line-height:1.2;
}
.mmb-sub{
  font-size:.74rem;
  color:rgba(255,255,255,.6);
  margin-top:2px;
}
.mmb-tabs{
  display:flex;gap:6px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:0;
  flex-shrink:0;
}
.mmb-tab{
  flex:1;
  padding:9px 8px;
  background:transparent;
  border:none;
  border-bottom:2px solid transparent;
  color:rgba(255,255,255,.55);
  cursor:pointer;
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;font-weight:700;
  letter-spacing:.2px;
  transition:all var(--dur-fast);
}
.mmb-tab:hover{color:#fff;}
.mmb-tab.on{
  color:var(--vert-pomme);
  border-bottom-color:var(--vert-pomme);
}
.mmb-panel{
  display:none;
  flex:1 1 auto;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
  min-height:0; /* Critical pour flex children scrollable */
}
.mmb-panel.on{display:flex;flex-direction:column;}
.mmb-panel::-webkit-scrollbar{width:6px;}
.mmb-panel::-webkit-scrollbar-thumb{background:rgba(164,214,94,.3);border-radius:3px;}
.mmb-liveapi-results{
  margin-bottom:12px;
  max-height:none;
  overflow:visible;
}

/* MATCH CARD dans la liste */
.mmb-match{
  position:relative;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:12px 13px 12px 30px;
  margin-bottom:10px;
  transition:all var(--dur-fast);
  cursor:grab;
}
.mmb-match:active{cursor:grabbing;}
.mmb-match:hover{
  background:rgba(164,214,94,.06);
  border-color:rgba(164,214,94,.32);
}
.mmb-match.mmb-dragging{
  opacity:.45;
  transform:scale(.98);
}
.mmb-match.mmb-drag-over{
  border-color:var(--vert-pomme);
  background:rgba(164,214,94,.18);
  box-shadow:0 0 0 2px rgba(164,214,94,.6);
}
.mmb-drag-handle{
  position:absolute;
  left:9px;top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.32);
  font-size:1rem;
  font-weight:700;
  letter-spacing:-2px;
  cursor:grab;
  user-select:none;
  transition:color var(--dur-fast);
}
.mmb-match:hover .mmb-drag-handle{color:var(--vert-pomme);}
.mmb-match-phase{
  font-size:.6rem;font-weight:800;
  letter-spacing:1.4px;text-transform:uppercase;
  color:var(--gold);
  margin-bottom:6px;
}
.mmb-match-teams{
  display:flex;align-items:center;gap:10px;
  margin-bottom:6px;
}
.mmb-team{
  flex:1;
  display:flex;align-items:center;gap:7px;
  min-width:0;
}
.mmb-team-flag{font-size:1.2rem;flex-shrink:0;}
.mmb-team-name{
  font-family:'DM Sans',sans-serif;
  font-size:.86rem;font-weight:700;
  color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mmb-team:last-child{justify-content:flex-end;text-align:right;}
.mmb-vs{
  font-family:'Bebas Neue',sans-serif;
  font-size:1rem;
  color:rgba(255,255,255,.4);
  letter-spacing:1px;
  padding:0 6px;
}
.mmb-match-meta{
  font-size:.7rem;
  color:rgba(255,255,255,.55);
  margin-bottom:9px;
}
.mmb-match-actions{
  display:flex;gap:6px;
}
.mmb-btn{
  flex:1;
  padding:7px 10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.85);
  border-radius:8px;
  font-family:'DM Sans',sans-serif;
  font-size:.7rem;font-weight:700;
  cursor:pointer;
  transition:all var(--dur-fast);
  white-space:nowrap;
}
.mmb-btn:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.28);
}
.mmb-btn-edit{
  background:rgba(74,158,255,.1);
  border-color:rgba(74,158,255,.28);
  color:#74b0ff;
}
.mmb-btn-edit:hover{background:rgba(74,158,255,.18);border-color:#74b0ff;}
.mmb-btn-score{
  background:rgba(245,197,24,.1);
  border-color:rgba(245,197,24,.28);
  color:var(--gold);
}
.mmb-btn-score:hover{background:rgba(245,197,24,.18);border-color:var(--gold);}
.mmb-btn-del{
  flex:0 0 auto;
  background:rgba(255,80,80,.1);
  border-color:rgba(255,80,80,.3);
  color:#ff8585;
  padding:7px 11px;
}
.mmb-btn-del:hover{background:rgba(255,80,80,.22);border-color:#ff5050;}

/* EMPTY STATE */
.mmb-empty{
  text-align:center;padding:34px 18px;
}
.mmb-empty-ico{
  font-size:2.8rem;line-height:1;
  margin-bottom:10px;opacity:.7;
  animation:empty-ico-float 3s ease-in-out infinite;
}
.mmb-empty-title{
  font-family:'Fredoka',sans-serif;
  font-size:1rem;font-weight:700;
  color:#fff;margin-bottom:6px;
}
.mmb-empty-sub{
  font-size:.78rem;
  color:rgba(255,255,255,.55);
  line-height:1.5;max-width:340px;
  margin:0 auto;
}

/* FORMULAIRE */
.mmb-form-grid{
  display:flex;flex-direction:column;gap:14px;
}
.mmb-form-row{flex:1;}
.mmb-form-row-2{
  display:flex;gap:10px;
}
.mmb-form-row-2 > div{flex:1;min-width:0;}
.mmb-form-row-2 > div:first-child{flex:0 0 90px;}
.mmb-lbl{
  display:block;
  font-size:.66rem;font-weight:800;
  letter-spacing:1.2px;text-transform:uppercase;
  color:rgba(255,255,255,.65);
  margin-bottom:5px;
}
.mmb-in{
  width:100%;
  padding:11px 13px;
  background:rgba(0,0,0,.28);
  border:1.5px solid rgba(255,255,255,.14);
  border-radius:10px;
  color:#fff;
  font-family:'DM Sans',sans-serif;
  font-size:.92rem;font-weight:500;
  outline:none;
  transition:border-color var(--dur-fast), background var(--dur-fast);
  box-sizing:border-box;
}
.mmb-in:focus{
  border-color:var(--vert-pomme);
  background:rgba(0,0,0,.35);
  box-shadow:0 0 0 3px rgba(164,214,94,.14);
}
.mmb-in-flag{
  text-align:center;
  font-size:1.3rem;
  font-family:Arial,sans-serif;
}
.mmb-add-btn{
  width:100%;
  padding:14px 18px;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #92c450 100%);
  color:var(--surface-deep);
  border:none;
  border-radius:12px;
  font-family:'Fredoka',sans-serif;
  font-weight:700;font-size:.96rem;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:var(--elev-3);
  transition:transform var(--dur-fast) var(--ease-out-back);
  margin-top:4px;
}
.mmb-add-btn:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-4);
}
.mmb-add-btn:active{transform:scale(.97);}
.mmb-hint{
  padding:9px 12px;
  background:rgba(245,197,24,.08);
  border:1px solid rgba(245,197,24,.22);
  border-radius:8px;
  font-size:.72rem;
  color:rgba(255,255,255,.78);
  line-height:1.45;
}

/* PRESETS */
.mmb-preset-title{
  font-family:'Fredoka',sans-serif;
  font-size:.94rem;font-weight:700;
  color:#fff;
  margin-bottom:12px;
}
.mmb-presets{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:9px;
}
.mmb-preset-card{
  padding:13px 11px;
  background:rgba(164,214,94,.08);
  border:1px solid rgba(164,214,94,.28);
  border-radius:12px;
  color:#fff;
  cursor:pointer;
  text-align:left;
  transition:all var(--dur-fast);
}
.mmb-preset-card:hover{
  background:rgba(164,214,94,.18);
  border-color:rgba(164,214,94,.5);
  transform:translateY(-2px);
}
.mmb-preset-comp{
  font-size:.66rem;font-weight:800;
  letter-spacing:1.2px;text-transform:uppercase;
  color:var(--vert-pomme);
  margin-bottom:4px;
}
.mmb-preset-match{
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;font-weight:700;
  color:#fff;line-height:1.3;
}

@media(max-width:480px){
  .mmb-presets{grid-template-columns:1fr;}
  .mmb-form-row-2{flex-direction:column;}
  .mmb-form-row-2 > div:first-child{flex:1;}
}

/* ═══ LIVE API picker ═══ */
.mmb-liveapi-filters{
  display:flex;gap:8px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.mmb-liveapi-filters > select,
.mmb-liveapi-filters > input{
  flex:1;min-width:140px;
}
.mmb-liveapi-results{
  margin-bottom:12px;
}
.mmb-liveapi-list{
  display:flex;flex-direction:column;gap:6px;
}
.mmb-liveapi-item{
  display:flex;align-items:flex-start;gap:11px;
  padding:11px 13px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  cursor:pointer;
  transition:all var(--dur-fast);
}
.mmb-liveapi-item:hover{
  background:rgba(164,214,94,.08);
  border-color:rgba(164,214,94,.32);
}
.mmb-liveapi-item.mmb-liveapi-exist{
  opacity:.6;
  cursor:not-allowed;
}
.mmb-liveapi-ck{
  width:20px;height:20px;
  margin-top:2px;
  flex-shrink:0;
  accent-color:var(--vert-pomme);
  cursor:pointer;
}
.mmb-liveapi-ck:disabled{cursor:not-allowed;}
.mmb-liveapi-item-body{
  flex:1;min-width:0;
}
.mmb-liveapi-comp{
  font-size:.62rem;font-weight:800;
  letter-spacing:1.2px;text-transform:uppercase;
  color:var(--gold);
  margin-bottom:4px;
}
.mmb-liveapi-teams{
  font-family:'DM Sans',sans-serif;
  font-size:.86rem;font-weight:700;
  color:#fff;
  line-height:1.3;
}
.mmb-bulk-input{
  font-family:'Courier New',monospace;
  font-size:.78rem;
  line-height:1.5;
  resize:vertical;
  min-height:130px;
}
.mmb-preset-card-bulk{
  grid-column:1/-1;
  background:linear-gradient(135deg, rgba(245,197,24,.16), rgba(245,197,24,.06)) !important;
  border-color:rgba(245,197,24,.42) !important;
}
.mmb-preset-card-bulk:hover{
  background:linear-gradient(135deg, rgba(245,197,24,.26), rgba(245,197,24,.12)) !important;
}
.mmb-preset-card-bulk .mmb-preset-comp{color:var(--gold);}

/* ═══ RÉACTIONS SUR PRONOS ═══ */
.prono-react-wrap{
  display:inline-block;
}
.prono-react-trigger{
  background:rgba(164,214,94,.08);
  border:1px solid rgba(164,214,94,.22);
  color:rgba(255,255,255,.85);
  padding:4px 10px;
  border-radius:14px;
  font-size:.74rem;font-weight:600;
  cursor:pointer;
  transition:all var(--dur-fast);
  white-space:nowrap;
  display:inline-flex;align-items:center;gap:4px;
}
.prono-react-trigger:hover{
  background:rgba(164,214,94,.18);
  border-color:rgba(164,214,94,.5);
  transform:translateY(-1px);
}
.prono-react-trigger:active{transform:scale(.95);}
.prono-react-picker{
  z-index:9600;
  display:flex;gap:5px;
  padding:7px 9px;
  background:rgba(10,15,4,.96);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1.5px solid rgba(164,214,94,.45);
  border-radius:24px;
  box-shadow:0 8px 24px rgba(0,0,0,.5), 0 0 0 1px rgba(164,214,94,.18);
  animation:react-picker-in .22s cubic-bezier(.34,1.56,.64,1);
}
@keyframes react-picker-in{
  from{opacity:0;transform:translateY(8px) scale(.85);}
  to{opacity:1;transform:none;}
}
.prono-react-emoji{
  background:transparent;
  border:none;
  padding:6px 8px;
  border-radius:50%;
  cursor:pointer;
  position:relative;
  transition:all var(--dur-fast);
  display:flex;flex-direction:column;align-items:center;gap:2px;
  min-width:34px;
}
.prono-react-emoji:hover{
  background:rgba(255,255,255,.1);
  transform:scale(1.18) translateY(-2px);
}
.prono-react-emoji:active{transform:scale(.92);}
.prono-react-emoji.on{
  background:rgba(164,214,94,.22);
  box-shadow:0 0 0 1.5px rgba(164,214,94,.6);
}
.prono-react-emoji-ico{
  font-size:1.4rem;line-height:1;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));
}
.prono-react-emoji-count{
  font-size:.6rem;
  color:rgba(255,255,255,.85);
  font-weight:700;
  line-height:1;
}

:root[data-theme="light"] .prono-react-picker{
  background:rgba(255,255,255,.98);
  border-color:rgba(74,124,26,.45);
}
:root[data-theme="light"] .prono-react-emoji-count{color:#0a1a04;}
:root[data-theme="light"] .prono-react-emoji:hover{background:rgba(0,0,0,.05);}
:root[data-theme="light"] .prono-react-emoji.on{background:rgba(74,124,26,.18);}
:root[data-theme="light"] .prono-react-trigger{
  background:rgba(74,124,26,.08);
  border-color:rgba(74,124,26,.22);
  color:rgba(10,26,4,.85);
}

/* ═══ RECHERCHE GLOBALE ═══ */
.gsearch-overlay{
  position:fixed;inset:0;z-index:9400;
  background:rgba(10,15,4,.85);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  display:flex;align-items:flex-start;justify-content:center;
  padding:60px 16px 16px;
  animation:gsearch-overlay-in .25s ease;
}
@keyframes gsearch-overlay-in{
  from{opacity:0;}
  to{opacity:1;}
}
.gsearch-card{
  width:100%;max-width:520px;
  background:linear-gradient(160deg, #14271a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.32);
  border-radius:16px;
  box-shadow:var(--elev-5);
  overflow:hidden;
  animation:gsearch-card-in .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes gsearch-card-in{
  from{opacity:0;transform:translateY(-15px) scale(.96);}
  to{opacity:1;transform:none;}
}
.gsearch-header{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.2);
}
.gsearch-ico{
  font-size:1.15rem;line-height:1;
  flex-shrink:0;
}
.gsearch-input{
  flex:1;
  background:transparent;
  border:none;
  outline:none;
  color:#fff;
  font-family:'DM Sans',sans-serif;
  font-size:1rem;font-weight:600;
  padding:4px 0;
}
.gsearch-input::placeholder{
  color:rgba(255,255,255,.4);font-weight:500;
}
.gsearch-close{
  width:30px;height:30px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  border-radius:50%;
  cursor:pointer;
  font-size:.75rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:all var(--dur-fast);
}
.gsearch-close:hover{background:rgba(255,80,80,.22);}
.gsearch-hints{
  padding:18px 16px;
}
.gsearch-hint-grp{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:14px;
}
.gsearch-hint-lbl{
  width:100%;
  font-size:.62rem;font-weight:800;
  letter-spacing:1.4px;text-transform:uppercase;
  color:rgba(255,255,255,.5);
  margin-bottom:6px;
}
.gsearch-hint{
  padding:8px 13px;
  background:rgba(164,214,94,.1);
  border:1px solid rgba(164,214,94,.28);
  border-radius:9px;
  color:rgba(255,255,255,.88);
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;font-weight:600;
  cursor:pointer;
  transition:all var(--dur-fast);
}
.gsearch-hint:hover{
  background:rgba(164,214,94,.18);
  border-color:rgba(164,214,94,.45);
}
.gsearch-tips{
  font-size:.7rem;color:rgba(255,255,255,.45);
  text-align:center;line-height:1.5;
  padding:9px;
  background:rgba(0,0,0,.18);
  border-radius:8px;
}
.gsearch-results{
  max-height:60vh;overflow-y:auto;
  padding:8px 0;
}
.gsearch-group{
  margin-bottom:12px;
}
.gsearch-group-title{
  font-size:.66rem;font-weight:800;
  letter-spacing:1.2px;text-transform:uppercase;
  color:rgba(255,255,255,.5);
  padding:8px 16px;
  display:flex;align-items:center;gap:8px;
}
.gsearch-group-count{
  padding:2px 7px;
  background:rgba(164,214,94,.14);
  color:#a4d65e;
  border-radius:9px;
  font-size:.62rem;
}
.gsearch-result-item{
  width:100%;
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;
  background:transparent;
  border:none;
  border-top:1px solid rgba(255,255,255,.04);
  color:#fff;
  cursor:pointer;
  text-align:left;
  transition:background var(--dur-fast);
}
.gsearch-result-item:hover{
  background:rgba(164,214,94,.06);
}
.gsearch-result-ico{
  width:36px;height:36px;
  border-radius:9px;
  background:rgba(164,214,94,.12);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  flex-shrink:0;
}
.gsearch-result-av{
  width:36px;height:36px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  display:flex;align-items:center;justify-content:center;
  font-family:'Bebas Neue',sans-serif;
  font-size:1.1rem;font-weight:700;
  flex-shrink:0;
}
.gsearch-result-body{
  flex:1;min-width:0;
}
.gsearch-result-title{
  font-size:.86rem;font-weight:700;
  color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gsearch-result-sub{
  font-size:.7rem;
  color:rgba(255,255,255,.55);
  margin-top:1px;
}
.gsearch-result-score{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.1rem;font-weight:700;
  color:var(--gold);
  letter-spacing:1px;
  flex-shrink:0;
}
.gsearch-empty{
  text-align:center;
  padding:30px 20px;
}
.gsearch-empty-ico{
  font-size:2.5rem;line-height:1;
  margin-bottom:10px;opacity:.6;
}
.gsearch-empty-title{
  font-family:'Fredoka',sans-serif;
  font-size:1rem;font-weight:700;
  color:#fff;
  margin-bottom:4px;
}
.gsearch-empty-sub{
  font-size:.74rem;
  color:rgba(255,255,255,.5);
}
:root[data-theme="light"] .gsearch-card{
  background:linear-gradient(160deg, #fff 0%, #f5fff0 100%);
  border-color:rgba(74,124,26,.32);
}
:root[data-theme="light"] .gsearch-input{color:#0a1a04;}
:root[data-theme="light"] .gsearch-result-title{color:#0a1a04;}
:root[data-theme="light"] .gsearch-result-sub{color:rgba(10,26,4,.6);}
:root[data-theme="light"] .gsearch-header{background:rgba(0,0,0,.04);}
:root[data-theme="light"] .gsearch-result-item:hover{background:rgba(74,124,26,.06);}

/* ═══ TOOLTIPS CUSTOMS — has-tt + data-tt ═══ */
.has-tt{position:relative;}
.has-tt::after{
  content:attr(data-tt);
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%) translateY(-4px);
  padding:6px 11px;
  background:rgba(10,15,4,.95);
  color:#fff;
  font-family:'DM Sans',sans-serif;
  font-size:.72rem;font-weight:600;
  letter-spacing:.2px;
  white-space:nowrap;
  border-radius:7px;
  border:1px solid rgba(164,214,94,.32);
  box-shadow:0 6px 16px rgba(0,0,0,.4);
  pointer-events:none;
  opacity:0;
  z-index:1000;
  transition:opacity var(--dur-fast), transform var(--dur-fast);
}
.has-tt::before{
  content:'';
  position:absolute;
  top:calc(100% + 2px);
  left:50%;
  transform:translateX(-50%) translateY(-4px);
  border:5px solid transparent;
  border-bottom-color:rgba(10,15,4,.95);
  pointer-events:none;
  opacity:0;
  z-index:1000;
  transition:opacity var(--dur-fast), transform var(--dur-fast);
}
/* Hover desktop : tooltip visible */
@media (hover:hover){
  .has-tt:hover::after,
  .has-tt:hover::before{
    opacity:1;
    transform:translateX(-50%) translateY(0);
  }
  .has-tt:hover::after{
    transition-delay:.4s;  /* léger délai avant d'apparaître */
  }
  .has-tt:hover::before{
    transition-delay:.4s;
  }
}
/* Mobile : tooltip au tap long (focus = via aria) */
@media (hover:none){
  .has-tt::after, .has-tt::before{
    display:none;
  }
}
/* Tooltip placé à GAUCHE si bouton à droite (logout) */
.has-tt.h-btn-logout::after,
.has-tt.h-user::after{
  left:auto;right:0;
  transform:translateX(0) translateY(-4px);
}
.has-tt.h-btn-logout::before,
.has-tt.h-user::before{
  left:auto;right:14px;
  transform:translateX(0) translateY(-4px);
}
@media (hover:hover){
  .has-tt.h-btn-logout:hover::after,
  .has-tt.h-user:hover::after{
    transform:translateX(0) translateY(0);
  }
  .has-tt.h-btn-logout:hover::before,
  .has-tt.h-user:hover::before{
    transform:translateX(0) translateY(0);
  }
}

/* Mode jour : tooltip noir sur fond clair */
:root[data-theme="light"] .has-tt::after{
  background:rgba(10,15,4,.95);
  color:#fff;
  border-color:rgba(164,214,94,.5);
}
:root[data-theme="light"] .has-tt::before{
  border-bottom-color:rgba(10,15,4,.95);
}

/* ═══ ONBOARDING 3 ÉCRANS ═══ */
.onb3-overlay{
  position:fixed;inset:0;z-index:9500;
  background:rgba(10,15,4,.88);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  display:flex;align-items:center;justify-content:center;
  padding:14px;
  animation:onb3-overlay-in .35s ease;
}
@keyframes onb3-overlay-in{
  from{opacity:0;}
  to{opacity:1;}
}
.onb3-card{
  position:relative;
  width:100%;max-width:440px;
  max-height:92vh;
  background:linear-gradient(160deg, #16341a 0%, #0a1f0c 100%);
  border:1.5px solid rgba(164,214,94,.42);
  border-radius:24px;
  box-shadow:var(--elev-5), 0 0 0 1px rgba(164,214,94,.22), inset 0 1px 0 rgba(255,255,255,.08);
  padding:24px 22px 22px;
  display:flex;flex-direction:column;
  overflow-y:auto;
  animation:onb3-card-in .55s cubic-bezier(.34,1.56,.64,1);
}
@keyframes onb3-card-in{
  from{opacity:0;transform:translateY(20px) scale(.94);}
  to{opacity:1;transform:none;}
}
.onb3-skip{
  position:absolute;top:14px;left:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.7);
  padding:5px 12px;
  border-radius:8px;
  font-family:'DM Sans',sans-serif;
  font-size:.7rem;font-weight:600;
  letter-spacing:.4px;
  cursor:pointer;
  transition:all var(--dur-fast);
}
.onb3-skip:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
}
.onb3-progress{
  display:flex;justify-content:center;gap:8px;
  margin-bottom:18px;
}
.onb3-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(164,214,94,.2);
  transition:all var(--dur-med);
}
.onb3-dot.done{
  background:rgba(164,214,94,.55);
}
.onb3-dot.on{
  background:var(--vert-pomme);
  width:28px;border-radius:4px;
  box-shadow:0 0 14px rgba(164,214,94,.6);
}
.onb3-body{
  text-align:center;
  animation:onb3-body-in .35s ease;
}
@keyframes onb3-body-in{
  from{opacity:0;transform:translateX(15px);}
  to{opacity:1;transform:none;}
}
.onb3-ico{
  font-size:4rem;line-height:1;
  margin:8px auto 14px;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.3));
  animation:onb3-ico-pop .6s cubic-bezier(.34,1.56,.64,1);
}
@keyframes onb3-ico-pop{
  0%{transform:scale(0) rotate(-15deg);}
  60%{transform:scale(1.2) rotate(8deg);}
  100%{transform:scale(1) rotate(0);}
}
.onb3-title{
  font-family:'Fredoka',sans-serif;
  font-size:1.6rem;font-weight:700;
  color:#fff;letter-spacing:-.5px;
  margin:0 0 6px;
}
.onb3-sub{
  font-size:.9rem;
  color:rgba(255,255,255,.7);
  line-height:1.5;
  margin:0 0 14px;
  font-weight:500;
}
.onb3-desc{
  font-size:.84rem;
  color:rgba(255,255,255,.85);
  line-height:1.55;
  margin-bottom:18px;
  text-align:left;
}
.onb3-desc > div:first-child{
  text-align:left;
}
.onb3-pts{
  display:flex;align-items:center;gap:13px;
  padding:11px 13px;
  background:rgba(245,197,24,.12);
  border:1px solid rgba(245,197,24,.32);
  border-radius:11px;
}
.onb3-pts.onb3-pts-1{
  background:rgba(164,214,94,.1);
  border-color:rgba(164,214,94,.32);
}
.onb3-pts.onb3-pts-0{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.1);
}
.onb3-pts-num{
  flex-shrink:0;
  width:42px;height:42px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--gold), #d4a012);
  color:var(--surface-deep);
  font-family:'Bebas Neue',sans-serif;
  font-size:1.55rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
  box-shadow:0 2px 8px rgba(245,197,24,.4);
}
.onb3-pts-1 .onb3-pts-num{
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  box-shadow:0 2px 8px rgba(164,214,94,.4);
}
.onb3-pts-0 .onb3-pts-num{
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.5);
  box-shadow:none;
}
.onb3-pts-lbl{
  flex:1;
  font-size:.8rem;
  color:#fff;
}
.onb3-pts-lbl b{font-weight:700;}
.onb3-pts-lbl small{
  display:block;
  font-size:.68rem;
  color:rgba(255,255,255,.55);
  margin-top:1px;
}
.onb3-prize{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;
  background:rgba(255,255,255,.03);
  border-left:3px solid var(--gold);
  border-radius:7px;
  font-size:.84rem;
  color:rgba(255,255,255,.9);
}
.onb3-prize span:first-child{
  font-size:1.3rem;
}
.onb3-prize b{font-weight:700;color:#fff;}

/* Features lines (partner onboarding) */
.onb3-feat{
  display:flex;align-items:flex-start;gap:11px;
  padding:10px 12px;
  background:rgba(164,214,94,.08);
  border:1px solid rgba(164,214,94,.22);
  border-radius:10px;
  font-size:.82rem;
  color:rgba(255,255,255,.9);
}
.onb3-feat > span:first-child{
  font-size:1.4rem;
  line-height:1;
  flex-shrink:0;
}
.onb3-feat > span:last-child{
  flex:1;
  line-height:1.45;
}
.onb3-feat b{font-weight:700;color:#fff;}
.onb3-feat small{
  display:block;
  font-size:.7rem;
  color:rgba(255,255,255,.58);
  margin-top:1px;
}

/* Variante partenaire : couleurs dorées */
.onb3-partner .onb3-card{
  background:linear-gradient(160deg, #2a2410 0%, #1a1808 100%);
  border-color:rgba(245,197,24,.42);
  box-shadow:var(--elev-5), 0 0 0 1px rgba(245,197,24,.22), inset 0 1px 0 rgba(255,255,255,.08);
}
.onb3-partner .onb3-dot{background:rgba(245,197,24,.2);}
.onb3-partner .onb3-dot.done{background:rgba(245,197,24,.55);}
.onb3-partner .onb3-dot.on{
  background:var(--gold);
  box-shadow:0 0 14px rgba(245,197,24,.6);
}
.onb3-partner .onb3-feat{
  background:rgba(245,197,24,.08);
  border-color:rgba(245,197,24,.22);
}
.onb3-partner .onb3-cta{
  background:linear-gradient(135deg, var(--gold) 0%, #d4a012 100%);
  color:#1a1808;
}
.onb3-cta{
  width:100%;
  padding:15px 18px;
  background:linear-gradient(135deg, var(--vert-pomme) 0%, #92c450 100%);
  color:var(--surface-deep);
  border:none;
  border-radius:14px;
  font-family:'Fredoka',sans-serif;
  font-weight:700;
  font-size:1.02rem;
  cursor:pointer;
  box-shadow:var(--elev-3), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.32);
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med);
}
.onb3-cta:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-5), inset 0 -2px 0 rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.4);
}
.onb3-cta:active{transform:translateY(0) scale(.98);}
@media(max-width:380px){
  .onb3-card{padding:20px 16px 18px;}
  .onb3-title{font-size:1.4rem;}
  .onb3-sub{font-size:.85rem;}
  .onb3-ico{font-size:3.2rem;}
}

/* ═══ EXPLAINER CARD — Comment ça marche ═══ */
.explainer-card{
  margin:12px 0 14px;
  background:linear-gradient(135deg, rgba(164,214,94,.06), rgba(245,197,24,.04));
  border:1px solid rgba(164,214,94,.22);
  border-radius:13px;
  overflow:hidden;
}
.explainer-summary{
  display:flex;align-items:center;gap:9px;
  padding:11px 14px;
  cursor:pointer;
  list-style:none;
  user-select:none;
  font-family:'DM Sans',sans-serif;
}
.explainer-summary::-webkit-details-marker{display:none;}
.explainer-ico{
  font-size:1.15rem;line-height:1;
  filter:drop-shadow(0 0 8px rgba(245,197,24,.4));
}
.explainer-title{
  flex:1;
  font-size:.86rem;font-weight:700;
  color:#fff;letter-spacing:-.1px;
}
.explainer-arrow{
  font-size:.7rem;color:rgba(255,255,255,.5);
  transition:transform var(--dur-fast);
}
.explainer-card[open] .explainer-arrow{
  transform:rotate(180deg);
}
.explainer-body{
  padding:4px 14px 14px;
  display:flex;flex-direction:column;gap:10px;
  border-top:1px dashed rgba(164,214,94,.18);
  animation:explainer-in .35s var(--ease-out-expo);
}
@keyframes explainer-in{
  from{opacity:0;transform:translateY(-6px);}
  to{opacity:1;transform:none;}
}
.explainer-step{
  display:flex;align-items:flex-start;gap:11px;
  padding-top:10px;
}
.explainer-step-num{
  flex-shrink:0;
  width:24px;height:24px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  font-family:'Bebas Neue',sans-serif;
  font-size:.9rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
  box-shadow:0 2px 6px rgba(164,214,94,.32);
}
.explainer-step-txt{
  flex:1;
  font-size:.82rem;line-height:1.45;
  color:rgba(255,255,255,.88);
}
.explainer-step-txt b{
  color:#fff;font-weight:700;
}
.explainer-pts{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-left:35px;
  padding:8px 10px;
  background:rgba(0,0,0,.18);
  border-radius:9px;
  border:1px solid rgba(255,255,255,.04);
}
.explainer-pt{
  font-size:.74rem;
  color:rgba(255,255,255,.7);
  letter-spacing:.1px;
  white-space:nowrap;
}
.explainer-pt b{
  font-family:'Bebas Neue',sans-serif;
  font-size:1rem;letter-spacing:1px;
  margin-right:2px;
}
@media(max-width:380px){
  .explainer-pts{gap:6px;margin-left:0;padding:8px 8px;}
  .explainer-pt{font-size:.68rem;}
}
:root[data-theme="light"] .explainer-card{
  background:linear-gradient(135deg, rgba(74,124,26,.07), rgba(245,197,24,.04));
  border-color:rgba(74,124,26,.22);
}
:root[data-theme="light"] .explainer-title{color:#0a1a04;}
:root[data-theme="light"] .explainer-step-txt{color:rgba(10,26,4,.85);}
:root[data-theme="light"] .explainer-step-txt b{color:#0a1a04;}
:root[data-theme="light"] .explainer-pt{color:rgba(10,26,4,.75);}
:root[data-theme="light"] .explainer-pts{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.06);}
.streak-badge b{color:#fff;font-size:.85rem;}
.streak-badge .streak-fire{animation:streak-fire 1.5s ease-in-out infinite;}
@keyframes streak-fire{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}

:root[data-theme="light"] .lvl-card{background:linear-gradient(135deg,#fff,#fafafa);}
:root[data-theme="light"] .lvl-pts{color:#1a2810;}
:root[data-theme="light"] .streak-badge b{color:#1a2810;}

/* ─── BONUS QUOTIDIEN (pop-up centrale) ─── */
.daily-bonus-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);z-index:5500;display:flex;align-items:center;justify-content:center;padding:20px;animation:db-fade-in .3s ease;transition:opacity .25s ease;}
@keyframes db-fade-in{from{opacity:0;}to{opacity:1;}}
.daily-bonus-card{background:linear-gradient(135deg,#1a3808,#2d6e1a 50%,#1f5210);border:2px solid var(--gold);border-radius:18px;padding:26px 22px;max-width:340px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(245,197,24,.3),0 0 80px -10px rgba(245,197,24,.4);animation:db-spring .55s cubic-bezier(.34,1.56,.64,1);}
@keyframes db-spring{0%{transform:scale(.6) rotate(-3deg);opacity:0;}60%{transform:scale(1.06) rotate(2deg);}100%{transform:scale(1) rotate(0);opacity:1;}}
.db-ico{font-size:3.6rem;line-height:1;margin-bottom:8px;animation:db-bounce 1.4s ease-in-out infinite;filter:drop-shadow(0 6px 16px rgba(245,197,24,.5));}
@keyframes db-bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.db-title{font-family:'Bebas Neue',sans-serif;font-size:1.85rem;letter-spacing:3px;background:linear-gradient(135deg,#f5c518,#ffe566);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;margin-bottom:5px;}
.db-sub{font-size:.78rem;color:rgba(255,255,255,.85);letter-spacing:1px;margin-bottom:14px;text-transform:uppercase;}
.db-counter{font-size:.88rem;color:rgba(255,255,255,.95);line-height:1.5;margin-bottom:18px;padding:10px 12px;background:rgba(245,197,24,.1);border:1px solid rgba(245,197,24,.3);border-radius:9px;}
.db-counter b{color:var(--gold);font-size:1.05rem;font-weight:800;}
.db-close-btn{padding:11px 28px;background:linear-gradient(135deg,#f5c518,#d4a012);border:none;border-radius:10px;color:#1a3808;font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:2px;font-weight:800;cursor:pointer;transition:all .2s;}
.db-close-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(245,197,24,.4);filter:brightness(1.1);}
.db-close-btn:active{transform:translateY(0) scale(.97);}

:root[data-theme="light"] .daily-bonus-card{background:linear-gradient(135deg,#fff,#fafff5);color:#1a2810;}
:root[data-theme="light"] .db-sub{color:rgba(26,40,16,.75);}
:root[data-theme="light"] .db-counter{color:#1a2810;background:rgba(245,197,24,.15);}

/* ─── FAQ section (visible — SEO + user-facing) ─── */
.faq-section{padding:32px 16px 24px;background:rgba(255,255,255,.02);border-top:1px solid var(--border);}
.faq-wrap{max-width:680px;margin:0 auto;}
.faq-title{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:3px;color:var(--gold);text-align:center;margin:0 0 18px;font-weight:400;}
.faq-item{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden;transition:border-color .2s;}
.faq-item:hover{border-color:var(--bordg);}
.faq-item[open]{background:rgba(245,197,24,.04);border-color:var(--bordg);}
.faq-item summary{padding:13px 16px;cursor:pointer;font-weight:700;font-size:.88rem;color:var(--text);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:1.4rem;color:var(--gold);transition:transform .25s;font-weight:300;line-height:1;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-answer{padding:0 16px 14px;font-size:.82rem;line-height:1.6;color:var(--dim);}
.faq-answer a{color:var(--gold);text-decoration:underline;}
.faq-answer b{color:var(--text);font-weight:700;}
.faq-answer code{background:rgba(245,197,24,.12);color:var(--gold);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;font-size:.85em;}
:root[data-theme="light"] .faq-section{background:rgba(0,0,0,.02);}
:root[data-theme="light"] .faq-item{background:#fff;}
:root[data-theme="light"] .faq-item[open]{background:rgba(245,197,24,.06);}
:root[data-theme="light"] .faq-answer{color:rgba(26,40,16,.85);}
:root[data-theme="light"] .faq-answer b{color:#1a2810;}

/* ─── Promos partenaires côté users ─── */
.promos-title{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:2px;color:var(--gold);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.promos-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--gold2),transparent);}
.promos-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:18px;}
.promo-card{background:linear-gradient(135deg,rgba(245,197,24,.14),rgba(230,104,60,.06));border:1.5px solid rgba(245,197,24,.4);border-radius:12px;padding:12px 14px;position:relative;animation:fadeInUp .3s ease both;}
.promo-card-head{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
.promo-card-ico{font-size:1.4rem;flex-shrink:0;line-height:1;}
.promo-card-nom{font-weight:800;color:var(--text);font-size:.76rem;}
.promo-card-exp{font-size:.55rem;color:var(--faint);margin-top:1px;}
.promo-card-tag{font-size:.5rem;background:linear-gradient(135deg,#ff5050,#e6683c);color:#fff;padding:3px 7px;border-radius:5px;font-weight:800;letter-spacing:1px;flex-shrink:0;}
.promo-card-text{font-size:.72rem;color:var(--text);line-height:1.4;font-weight:600;}

/* ─── Admin insights ─── */
.insights-title{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:2px;color:var(--gold);margin-bottom:10px;}
.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;}
.insight-card{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;padding:13px;}
.insight-header{display:flex;align-items:center;gap:7px;margin-bottom:9px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.insight-ico{font-size:1.05rem;}
.insight-title{font-size:.78rem;font-weight:800;color:#fff;letter-spacing:.3px;}
.insight-empty{font-size:.68rem;color:#4dcc7a;font-style:italic;padding:8px 4px;}
.insight-list{display:flex;flex-direction:column;gap:5px;}
.insight-row{display:flex;align-items:center;gap:8px;padding:7px 9px;background:rgba(0,0,0,.18);border-radius:8px;}
.ir-left{flex:1;min-width:0;}
.ir-title{font-size:.72rem;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ir-sub{font-size:.56rem;color:var(--faint);margin-top:2px;}
.ir-right{flex-shrink:0;text-align:right;}
.ir-pct{font-weight:800;font-size:.92rem;font-family:'Bebas Neue',sans-serif;letter-spacing:1px;}
.ir-pct small{display:block;font-size:.5rem;color:var(--faint);font-weight:400;letter-spacing:0;}
.ir-pct.pct-bad{color:#ff7878;}
.ir-pct.pct-warn{color:var(--gold);}
.ir-tag{display:inline-block;font-size:.55rem;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;}
.ir-tag.tag-warn{background:rgba(245,197,24,.12);color:var(--gold);border:1px solid rgba(245,197,24,.3);}
.ir-tag.tag-bad{background:rgba(255,120,120,.12);color:#ff7878;border:1px solid rgba(255,120,120,.3);}

/* ─── Indicateur live tab ─── */
.tab{position:relative;}
.tab-live-dot{position:absolute;top:6px;right:18px;width:7px;height:7px;border-radius:50%;background:#ff5050;box-shadow:0 0 0 0 rgba(255,80,80,.6);animation:tab-pulse 1.5s infinite;}
@keyframes tab-pulse{0%{box-shadow:0 0 0 0 rgba(255,80,80,.6);}70%{box-shadow:0 0 0 7px rgba(255,80,80,0);}100%{box-shadow:0 0 0 0 rgba(255,80,80,0);}}

/* ── MISC ──────────────────────────────────────── */
.rb1{color:#4a5900!important;background:rgba(200,210,100,.35)!important;}.rb2{color:#2a4a5a!important;background:rgba(180,205,215,.35)!important;}.rb3{color:#6a3010!important;background:rgba(195,130,80,.3)!important;}
.pc-join{background:rgba(255,255,255,.9)!important;border:2px dashed #000293!important;}
.tv-ch{display:inline-flex;align-items:center;gap:4px;background:rgba(74,158,255,.14);border:1px solid rgba(74,158,255,.38);border-radius:5px;padding:2px 7px;font-size:.62rem;font-weight:700;color:#4a9eff;margin-top:2px;white-space:nowrap;}
.tv-ch::before{content:'📺';font-size:.78rem;}

/* Diffuseurs partenaires sur cartes match */
.pmc-diffuseurs{font-size:.62rem;color:var(--dim);margin-top:4px;line-height:1.5;}
.pmc-diff-tag{display:inline-block;background:rgba(245,197,24,.12);border:1px solid rgba(245,197,24,.3);color:var(--gold);padding:2px 7px;border-radius:5px;font-weight:700;margin:1px 2px 1px 0;font-size:.62rem;}
:root[data-theme="light"] .pmc-diffuseurs{color:rgba(26,40,16,.75);}
:root[data-theme="light"] .pmc-diff-tag{background:rgba(245,197,24,.2);color:#8a6300;border-color:rgba(212,160,18,.5);}
@media(max-width:480px){
  .hi{padding:6px 10px;min-height:48px;gap:5px;}.h-badge{display:none;}.h-title{font-size:.82rem;}.h-tagline{display:none;}.h-nm{max-width:55px;font-size:.58rem;}.sync{display:none;}.tab{padding:7px 3px;font-size:.46rem;}.tab-lbl{font-size:.44rem;}.tab-ico{font-size:.9rem;}.tabs{top:48px;}#profil-btn{font-size:.5rem;padding:2px 7px;}
}
@media(max-width:360px){.tab{padding:6px 2px;}.tab-lbl{display:none;}.tab-ico{font-size:1.1rem;}.h-title{font-size:.75rem;}}
@media(min-width:481px) and (max-width:768px){.h-badge{display:none;}.tab{padding:9px 5px;font-size:.55rem;}}
@media(min-width:600px){.pg{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.pg{grid-template-columns:repeat(3,1fr);}}



/* ═══════════════════════════════════════ */


.splash-screen{
  position:fixed;inset:0;z-index:99999;
  background:linear-gradient(160deg,#a4d65e 0%,#c5e088 100%);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  animation:splash-fade-out .55s ease 2.6s forwards;
}
.splash-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%, rgba(74,124,26,.18), transparent 45%),
    radial-gradient(circle at 80% 70%, rgba(212,240,74,.15), transparent 45%);
  opacity:.65;
}
.splash-stripes{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  pointer-events:none;
  opacity:.35;
}
.splash-stripe{
  flex:1;
  background:linear-gradient(90deg,rgba(74,124,26,.06),rgba(74,124,26,.18),rgba(74,124,26,.06));
}
.splash-stripe:nth-child(even){background:linear-gradient(90deg,rgba(74,124,26,.02),rgba(74,124,26,.1),rgba(74,124,26,.02));}

.splash-balls{position:absolute;inset:0;pointer-events:none;}
.splash-ball{position:absolute;font-size:2rem;opacity:.4;animation:splash-ball-float 3s ease-in-out infinite;}
.splash-ball-1{top:18%;left:14%;animation-delay:0s;}
.splash-ball-2{top:65%;right:12%;animation-delay:.8s;font-size:1.5rem;}
.splash-ball-3{top:32%;right:22%;animation-delay:1.5s;font-size:2.4rem;opacity:.3;}
@keyframes splash-ball-float{
  0%,100%{transform:translateY(0) rotate(0deg);}
  50%{transform:translateY(-22px) rotate(180deg);}
}

.splash-content{
  position:relative;z-index:2;
  text-align:center;
  padding:0 20px;
}
.splash-logo{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  margin-bottom:14px;
  animation:splash-pop-in .85s cubic-bezier(.34,1.56,.64,1) both;
}
.splash-emoji{
  font-size:4.5rem;line-height:1;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.22));
  animation:splash-emoji-bounce 2s ease-in-out infinite;
}
@keyframes splash-emoji-bounce{
  0%,100%{transform:translateY(0) rotate(-3deg) scale(1);}
  50%{transform:translateY(-12px) rotate(3deg) scale(1.06);}
}
.splash-title-wrap{
  display:flex;flex-direction:column;align-items:center;
  background:linear-gradient(135deg, #0a0f04 0%, #16201a 100%);
  padding:16px 32px;
  border-radius:22px;
  box-shadow:
    0 18px 48px rgba(0,0,0,.32),
    0 0 0 4px rgba(255,255,255,.6),
    inset 0 2px 0 rgba(255,255,255,.12),
    inset 0 -3px 0 rgba(0,0,0,.32);
  transform:rotate(-1.5deg);
  position:relative;
}
.splash-title-wrap::before{
  content:'';position:absolute;
  top:8px;left:8px;right:8px;
  height:30%;
  background:linear-gradient(180deg, rgba(255,255,255,.08), transparent);
  border-radius:14px 14px 50% 50% / 14px 14px 100% 100%;
  pointer-events:none;
}
.splash-title-line1{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.7rem;letter-spacing:1px;
  color:#fff;line-height:1;
  text-shadow:0 2px 4px rgba(0,0,0,.32);
}
.splash-title-line2{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:3.4rem;letter-spacing:-1.5px;
  color:#a4d65e;line-height:1;
  text-shadow:
    0 0 28px rgba(164,214,94,.7),
    0 2px 4px rgba(0,0,0,.32);
  margin-top:3px;
}
.splash-tagline{
  font-family:'Fredoka',sans-serif;font-weight:500;
  font-size:.95rem;color:#1a3008;
  margin-bottom:24px;
  animation:splash-fade-in .8s ease .35s both;
  letter-spacing:.3px;
}
.splash-tagline-text{
  background:rgba(255,255,255,.7);
  padding:7px 16px;border-radius:16px;
  border:1.5px solid rgba(74,124,26,.32);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.splash-loader{
  width:160px;height:5px;
  background:rgba(74,124,26,.22);
  border-radius:3px;
  margin:0 auto;overflow:hidden;
  animation:splash-fade-in .8s ease .6s both;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
}
.splash-loader-bar{
  height:100%;width:0%;
  background:linear-gradient(90deg,#4a7c1a,#a4d65e,#d4f04a);
  border-radius:3px;
  box-shadow:0 0 12px rgba(164,214,94,.5);
  animation:splash-load 2.2s cubic-bezier(.4,0,.2,1) .5s forwards;
}
@keyframes splash-fade-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@keyframes splash-pop-in{from{opacity:0;transform:scale(.7) rotate(-8deg);}to{opacity:1;transform:rotate(-1.5deg);}}
@keyframes splash-load{from{width:0%;}to{width:100%;}}
@keyframes splash-fade-out{
  from{opacity:1;transform:scale(1);}
  to{opacity:0;transform:scale(.96);visibility:hidden;pointer-events:none;}
}
.splash-screen.splash-done{display:none!important;}

@media(max-width:380px){
  .splash-emoji{font-size:3.4rem;}
  .splash-title-line1{font-size:1.3rem;}
  .splash-title-line2{font-size:2.3rem;}
  .splash-tagline{font-size:.78rem;}
}


/* ═══════════════════════════════════════ */

@keyframes pulse-pending{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}

/* ═══════════════════════════════════════ */

'
    + 'body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:20px;color:#1a1a1a;}'
    + 'h1{color:' + kindColor + ';font-size:18pt;margin:0 0 4px;}'
    + '.sub{font-size:10pt;color:#666;margin-bottom:14px;border-bottom:2px solid ' + kindColor + ';padding-bottom:8px;}'
    + 'table{width:100%;border-collapse:collapse;font-size:9.5pt;}'
    + 'td{padding:6px 8px;border:1px solid #ccc;}'
    + '.num{width:30px;font-weight:700;color:#888;text-align:center;}'
    + '.code{font-family:"Courier New",monospace;font-weight:700;font-size:11pt;letter-spacing:1.5px;color:' + kindColor + ';width:120px;}'
    + '.name{min-width:200px;}'
    + '.tel{width:130px;}'
    + '.date{width:80px;text-align:center;color:#888;font-size:9pt;}'
    + 'thead{background:' + kindColor + ';color:white;}'
    + 'thead td{font-weight:700;}'
    + '@media print{body{padding:10mm;}}'
    + '

/* ═══════════════════════════════════════ */


/* ─── VIDÉO D'INTRO ─── */
.intro-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#1a3a08 0%,#000 75%);}
.intro-stars{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 12% 25%,#fff,transparent),radial-gradient(1px 1px at 40% 70%,#fff,transparent),radial-gradient(2px 2px at 80% 20%,#fff,transparent),radial-gradient(1px 1px at 55% 90%,#fff,transparent),radial-gradient(1.5px 1.5px at 95% 60%,#fff,transparent),radial-gradient(1px 1px at 30% 40%,#fff,transparent),radial-gradient(2px 2px at 70% 80%,#fff,transparent),radial-gradient(1px 1px at 5% 60%,#fff,transparent);background-size:100% 100%;opacity:.4;animation:intro-twinkle 4s ease-in-out infinite;}
.intro-pitch{position:absolute;bottom:-20%;left:-10%;right:-10%;height:55%;background:linear-gradient(180deg,transparent 0%,rgba(45,110,26,.4) 30%,rgba(45,110,26,.85) 100%);transform:perspective(800px) rotateX(60deg);transform-origin:bottom;}
.intro-pitch::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 20px,rgba(255,255,255,.05) 20px,rgba(255,255,255,.05) 22px);}

@keyframes intro-twinkle{0%,100%{opacity:.35;}50%{opacity:.7;}}

.intro-skip{position:absolute;top:18px;right:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:1px;padding:8px 14px;border-radius:20px;cursor:pointer;z-index:10;transition:all .2s;}
.intro-skip:hover{background:rgba(255,255,255,.2);transform:scale(1.04);}

.intro-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.08);}
.intro-progress-fill{height:100%;background:linear-gradient(90deg,#f5c518,#ffe566);width:0%;transition:width .15s linear;box-shadow:0 0 12px rgba(245,197,24,.7);}

.intro-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.intro-scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;transform:scale(.92);transition:opacity .55s ease,transform .8s cubic-bezier(.34,1.56,.64,1);padding:20px;}
.intro-scene.on{opacity:1;transform:scale(1);}

/* Scène 1 */
.intro-trophy{font-size:5rem;line-height:1;filter:drop-shadow(0 8px 24px rgba(245,197,24,.6));animation:intro-bounce 1.4s ease-in-out infinite;}
.intro-cdm{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.6rem,5vw,2.8rem);letter-spacing:6px;color:#fff;}
.intro-year{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.2rem,12vw,5rem);letter-spacing:8px;background:linear-gradient(135deg,#f5c518 0%,#ffe566 50%,#d4a012 100%);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:.9;text-shadow:0 0 60px rgba(245,197,24,.3);}
.intro-flags{display:flex;gap:18px;font-size:2.4rem;}
.intro-flags span{animation:intro-wave 2s ease-in-out infinite;display:inline-block;}
.intro-flags span:nth-child(2){animation-delay:.2s;}
.intro-flags span:nth-child(3){animation-delay:.4s;}

/* Scène 2 */
.intro-quartier{font-size:4rem;line-height:1;color:#ff5050;filter:drop-shadow(0 0 24px rgba(255,80,80,.6));animation:intro-pulse 1.2s ease-in-out infinite;}
.intro-quartier-text{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,8vw,4rem);letter-spacing:7px;color:#fff;}
.intro-quartier-sub{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.6rem,5vw,2.4rem);letter-spacing:5px;color:var(--gold);}
.intro-quartier-zone{font-size:clamp(.75rem,2.5vw,1rem);color:rgba(255,255,255,.65);letter-spacing:1.5px;text-align:center;}

/* Scène 3 */
.intro-icons{display:flex;flex-direction:column;gap:18px;max-width:480px;width:90%;}
.intro-icon-row{display:flex;align-items:center;gap:18px;padding:12px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(245,197,24,.25);border-radius:14px;opacity:0;transform:translateX(-30px);}
.scene-3.on .intro-icon-row{animation:intro-slide-in .6s cubic-bezier(.34,1.56,.64,1) forwards;}
.scene-3.on .intro-icon-row:nth-child(1){animation-delay:.1s;}
.scene-3.on .intro-icon-row:nth-child(2){animation-delay:.45s;}
.scene-3.on .intro-icon-row:nth-child(3){animation-delay:.8s;}
.intro-i{font-size:2.3rem;flex-shrink:0;line-height:1;}
.intro-l{font-size:clamp(.85rem,3vw,1.15rem);font-weight:700;color:#fff;}

/* Scène 4 */
.intro-cta-emoji{font-size:5rem;line-height:1;animation:intro-spin 1.4s ease-in-out infinite;}
.intro-cta{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,6vw,3rem);letter-spacing:5px;color:#fff;line-height:1;}
.intro-cta2{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,9vw,4.5rem);letter-spacing:6px;background:linear-gradient(135deg,#f5c518,#ffe566);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;text-shadow:0 0 50px rgba(245,197,24,.4);}
.intro-cta-btn{margin-top:18px;padding:14px 36px;background:linear-gradient(135deg,#f5c518,#d4a012);border:none;border-radius:12px;color:#1a3808;font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:4px;cursor:pointer;font-weight:800;box-shadow:0 12px 32px rgba(245,197,24,.4);transition:all .2s;animation:intro-cta-pulse 1.8s ease-in-out infinite;}
.intro-cta-btn:hover{transform:scale(1.06);box-shadow:0 16px 40px rgba(245,197,24,.55);}

@keyframes intro-bounce{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-12px) rotate(3deg);}}
@keyframes intro-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}
@keyframes intro-wave{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes intro-spin{0%,100%{transform:rotate(0deg) scale(1);}50%{transform:rotate(360deg) scale(1.1);}}
@keyframes intro-slide-in{0%{opacity:0;transform:translateX(-30px);}100%{opacity:1;transform:translateX(0);}}
@keyframes intro-cta-pulse{0%,100%{box-shadow:0 12px 32px rgba(245,197,24,.4);}50%{box-shadow:0 12px 36px rgba(245,197,24,.65),0 0 0 6px rgba(245,197,24,.15);}}

@media(max-width:480px){
  .intro-icons{gap:11px;}
  .intro-icon-row{padding:9px 13px;gap:12px;}
  .intro-i{font-size:1.6rem;}
}


/* ═══════════════════════════════════════ */

.insta-popup-inner.shown{transform:scale(1)!important;opacity:1!important;}

/* ═══════════════════════════════════════ */


/* ═══ SCROLL-TO-TOP BUTTON premium ═══ */
#scroll-top-btn{
  display:none;
  position:fixed;right:18px;bottom:88px;
  z-index:500;
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  border:none;
  color:var(--surface-deep);
  font-size:1.3rem;font-weight:800;
  cursor:pointer;
  box-shadow:var(--elev-3), 0 0 0 1px rgba(164,214,94,.4);
  transition:transform .35s var(--ease-out-back), box-shadow .3s, opacity .3s;
  align-items:center;justify-content:center;
}
#scroll-top-btn[style*="block"],
#scroll-top-btn[style*="flex"]{display:flex!important;animation:stb-pop .4s var(--ease-out-back);}
@keyframes stb-pop{from{opacity:0;transform:translateY(20px) scale(.7);}to{opacity:1;transform:none;}}
#scroll-top-btn:hover{transform:translateY(-3px) scale(1.06);box-shadow:var(--elev-4), 0 0 26px rgba(164,214,94,.42);}
#scroll-top-btn:active{transform:scale(.92);}

/* ═══ LIVE TICKER BAR — sticky top, apparait si match en cours ═══ */
.live-ticker{
  position:sticky;
  top:0;z-index:200;
  display:flex;align-items:center;gap:11px;
  margin:-2px -13px 6px;
  padding:8px 16px;
  background:linear-gradient(90deg, #ff3030 0%, #e62020 40%, #ff5050 100%);
  color:#fff;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.78rem;letter-spacing:.3px;
  cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.18);
  box-shadow:0 4px 14px rgba(255,80,80,.42);
  animation:live-ticker-enter .55s var(--ease-out-back);
  user-select:none;
}
@keyframes live-ticker-enter{
  from{transform:translateY(-100%);}
  to{transform:translateY(0);}
}
.live-ticker:hover{filter:brightness(1.05);}
.live-ticker:active{transform:scale(.98);}
.live-ticker-dot{
  width:8px;height:8px;border-radius:50%;
  background:#fff;
  flex-shrink:0;
  animation:live-ticker-dot-pulse 1.2s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(255,255,255,.6);
}
@keyframes live-ticker-dot-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.6);}
  50%{box-shadow:0 0 0 6px rgba(255,255,255,0);}
}
.live-ticker-text{
  flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.live-ticker-arrow{
  font-size:1rem;font-weight:700;
  flex-shrink:0;
  transition:transform var(--dur-fast);
}
.live-ticker:hover .live-ticker-arrow{transform:translateX(4px);}

/* ═══ FAB Action rapide contextuelle ═══ */
.fab-action{
  position:fixed;right:16px;bottom:24px;
  z-index:600;
  display:flex;align-items:center;gap:10px;
  animation:fab-enter .55s var(--ease-out-back) .6s both;
}
@keyframes fab-enter{
  from{opacity:0;transform:translateY(30px) scale(.6);}
  to{opacity:1;transform:none;}
}
.fab-action.with-scroll{bottom:148px;}

.fab-tooltip{
  background:linear-gradient(135deg, #0a1f0c, #1a3008);
  color:#fff;
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:.8rem;letter-spacing:-.1px;
  padding:9px 13px;border-radius:11px;
  white-space:nowrap;
  border:1px solid rgba(164,214,94,.32);
  box-shadow:var(--elev-3), 0 0 18px rgba(0,0,0,.42);
  opacity:0;transform:translateX(8px);pointer-events:none;
  transition:opacity .3s var(--ease-out-expo), transform .3s var(--ease-out-back);
}
.fab-tooltip::after{
  content:'';position:absolute;right:-5px;top:50%;
  transform:translateY(-50%);
  width:0;height:0;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  border-left:5px solid #0a1f0c;
}
.fab-action:hover .fab-tooltip,
.fab-action.show-tooltip .fab-tooltip{
  opacity:1;transform:translateX(0);
}

.fab-main{
  position:relative;
  width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:
    var(--elev-4),
    0 0 0 2px rgba(164,214,94,.32),
    0 8px 32px rgba(164,214,94,.45),
    inset 0 -3px 0 rgba(10,15,4,.18),
    inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform var(--dur-med) var(--ease-out-back),
             box-shadow var(--dur-med) var(--ease-out-expo);
}
.fab-main:hover{
  transform:translateY(-4px) scale(1.06);
  box-shadow:
    var(--elev-5),
    0 0 0 3px rgba(164,214,94,.42),
    0 12px 48px rgba(164,214,94,.6),
    inset 0 -3px 0 rgba(10,15,4,.18),
    inset 0 1px 0 rgba(255,255,255,.45);
}
.fab-main:active{transform:translateY(0) scale(.94);}

.fab-main-ico{
  font-size:1.8rem;line-height:1;
  filter:drop-shadow(0 2px 4px rgba(10,15,4,.32));
  animation:fab-ico-rotate 4s ease-in-out infinite;
}
@keyframes fab-ico-rotate{
  0%,100%{transform:rotate(-8deg);}
  50%{transform:rotate(8deg);}
}

.fab-main-pulse{
  position:absolute;inset:-2px;
  border-radius:50%;
  background:transparent;
  border:2px solid var(--vert-pomme);
  animation:fab-pulse 1.8s ease-out infinite;
  pointer-events:none;
}
@keyframes fab-pulse{
  0%{transform:scale(.92);opacity:.8;}
  100%{transform:scale(1.35);opacity:0;}
}

/* Notification dot (rouge) si pronos urgents */
.fab-main.has-urgent::before{
  content:'';position:absolute;top:2px;right:2px;
  width:14px;height:14px;border-radius:50%;
  background:#ff5050;
  border:2px solid #0a1f0c;
  z-index:2;
  animation:fab-dot-pulse 1.2s ease-in-out infinite;
}
@keyframes fab-dot-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,80,80,.65);}
  50%{box-shadow:0 0 0 6px rgba(255,80,80,0);}
}

@media (max-width:480px){
  .fab-action{right:14px;bottom:80px;}
  .fab-action.with-scroll{bottom:144px;}
  .fab-main{width:54px;height:54px;}
  .fab-main-ico{font-size:1.6rem;}
  .fab-tooltip{display:none;}
}

/* ═══ MODAL OVERLAY PREMIUM ═══ */
/* Animation entrée pour les overlays modaux fixés */
[id$="-modal"][style*="display:flex"] > div:first-child:not(.toast):not(.splash-content),
[id$="-modal"][style*="display: flex"] > div:first-child:not(.toast):not(.splash-content){
  animation:modal-content-in .5s var(--ease-out-back);
}
@keyframes modal-content-in{
  0%{opacity:0;transform:translateY(24px) scale(.94);}
  60%{opacity:1;}
  100%{opacity:1;transform:translateY(0) scale(1);}
}

/* ═══ FOCUS RING GLOBAL premium ═══ */
*:focus-visible{
  outline:2.5px solid var(--vert-pomme);
  outline-offset:3px;
  border-radius:6px;
}
button:focus-visible,
a:focus-visible{outline-offset:4px;}
input:focus-visible,
select:focus-visible,
textarea:focus-visible{outline:none;}

/* ═══ SCROLL BAR PREMIUM ═══ */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:rgba(10,15,4,.25);}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--vert-pomme), rgba(164,214,94,.6));
  border-radius:5px;
  border:2px solid rgba(10,15,4,.3);
  background-clip:padding-box;
}
::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, var(--jaune-pomme), var(--vert-pomme));
  background-clip:padding-box;
}
:root[data-theme="light"] ::-webkit-scrollbar-track{background:rgba(74,124,26,.1);}
:root[data-theme="light"] ::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--vert), rgba(74,124,26,.6));
  border-color:rgba(255,255,255,.2);
  background-clip:padding-box;
}

/* ═══ TEXT SELECTION premium ═══ */
::selection{background:rgba(164,214,94,.4);color:var(--text);}
:root[data-theme="light"] ::selection{background:rgba(74,124,26,.3);color:#0a1a04;}

/* ═══ STICKY CTA ═══ */
.sticky-cta{
  position:fixed;
  bottom:14px;left:50%;transform:translateX(-50%) translateY(120%);
  z-index:880;
  width:calc(100% - 28px);max-width:420px;
  padding:0;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1);
  pointer-events:none;
}
.sticky-cta.visible{
  transform:translateX(-50%) translateY(0);
  pointer-events:auto;
}
.sticky-cta-content{
  background:linear-gradient(135deg, #0e1606 0%, #0a0f04 100%);
  border:1.5px solid rgba(164,214,94,.55);
  border-radius:20px;
  padding:13px 16px 13px 18px;
  display:flex;align-items:center;gap:13px;
  box-shadow:
    var(--elev-4),
    0 0 0 1px rgba(164,214,94,.28),
    0 0 32px rgba(164,214,94,.18),
    inset 0 1px 0 rgba(255,255,255,.06);
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:transform .25s var(--ease-out-back), box-shadow .3s;
}
.sticky-cta-content::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--vert-pomme), var(--jaune-pomme), var(--vert-pomme), transparent);
  border-radius:20px 20px 0 0;
}
.sticky-cta-content::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at top right, rgba(164,214,94,.12), transparent 60%);
  pointer-events:none;
}
.sticky-cta-content:hover{
  transform:translateY(-2px);
  box-shadow:
    var(--elev-5),
    0 0 0 1px rgba(164,214,94,.42),
    0 0 42px rgba(164,214,94,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.sticky-cta-emoji{
  font-size:2rem;line-height:1;
  flex-shrink:0;z-index:1;
  animation:sticky-bounce 2.2s ease-in-out infinite;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.32));
}
@keyframes sticky-bounce{
  0%,100%{transform:scale(1) rotate(0deg);}
  25%{transform:scale(1.12) rotate(-6deg);}
  75%{transform:scale(1.12) rotate(6deg);}
}
.sticky-cta-text{
  flex:1;min-width:0;
  display:flex;flex-direction:column;gap:2px;
  z-index:1;
}
.sticky-cta-t1{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.08rem;letter-spacing:-.3px;color:var(--vert-pomme);
  line-height:1.1;
  text-shadow:0 0 18px rgba(164,214,94,.32);
}
.sticky-cta-t2{
  font-size:.74rem;letter-spacing:.6px;
  color:rgba(255,255,255,.78);
  line-height:1.2;font-weight:500;
}
.sticky-cta-arrow{
  font-family:'Fredoka',sans-serif;font-weight:700;
  font-size:1.7rem;
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg, var(--vert-pomme), #92c450);
  color:var(--surface-deep);
  border:none;cursor:pointer;
  flex-shrink:0;z-index:1;
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s var(--ease-out-back), box-shadow .3s;
  box-shadow:
    var(--elev-2),
    inset 0 -2px 0 rgba(10,15,4,.18),
    inset 0 1px 0 rgba(255,255,255,.35);
}
.sticky-cta-arrow:hover{
  background:linear-gradient(135deg, var(--jaune-pomme), var(--vert-pomme));
  transform:translateX(4px) scale(1.05);
  box-shadow:var(--elev-3), 0 0 22px rgba(164,214,94,.42);
}
.sticky-cta-arrow:active{transform:scale(.92);}

/* Visible UNIQUEMENT sur l'onglet partenaires actif + mobile */
@media (min-width: 768px) {
  .sticky-cta{display:none;}
}

/* ═══════════════════════════════════════════════════════════════
   ▓▓▓ OPTIMISATIONS MOBILE & PERFORMANCE ▓▓▓
   - Réduit les backdrop-filter coûteux sur petits écrans
   - Désactive les animations si reduce-motion activé
   - Touche tactile améliorée
   ═══════════════════════════════════════════════════════════════ */

/* Touch-targets : tous les boutons interactifs ≥ 44×44px (Apple HIG / Material) */
button, .tab, .btn, .l-btn, .ls-cta-card, .ls-cta-link,
.l-tab, .sbtn, .sticky-cta-btn, .fab-main {
  min-height:38px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

/* Mobile : alléger les blurs coûteux (gains 30-50% perf sur low-end) */
@media (max-width:768px){
  /* Réduit les blurs des modales (gardons un peu pour le style) */
  .auth-modal-overlay,
  .invite-overlay,
  .lvlup-overlay,
  .partner-onb-overlay,
  .estim-overlay,
  .rmo,
  .bc-overlay,
  .bv-overlay,
  .mo {
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  /* Désactive les blurs sur les éléments décoratifs purs */
  .hero-halo-big, .hero-halo-small {
    filter:blur(20px);  /* au lieu de 40px+ */
  }
}

/* Très petits écrans (< 340px) : compacter encore plus */
@media (max-width:340px){
  .ls-cta-card{padding:16px 10px 12px;}
  .ls-cta-card-ico{width:44px;height:44px;}
  .ls-cta-card-ico svg{width:26px;height:26px;}
  .ls-cta-card-txt b{font-size:.95rem;}
  .ls-cta-card-txt small{font-size:.62rem;}
  .hero-h1-line2{font-size:1.4rem!important;}
  .hero-tagline{font-size:.78rem!important;}
  .tab-lbl{display:none;}  /* juste l'icône sur très petit */
  .tab{min-width:48px;}
  .ins{width:48px;height:46px;font-size:1.3rem;}
}

/* Respect des préférences utilisateur (accessibilité) */
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{
    animation-duration:0.01ms!important;
    transition-duration:0.01ms!important;
    scroll-behavior:auto!important;
  }
  .panel-enter-right, .panel-enter-left,
  .ls-cta-light, .float-in, .lvlup-trophy{
    animation:none!important;
  }
}

/* Mode tactile : focus visible plus prononcé */
@media (hover:none){
  /* Sur mobile, supprime les hover qui restent collés */
  .lift-on-hover:hover{transform:none;box-shadow:var(--elev-1);}
  .wiggle-on-hover:hover{animation:none;}
  /* Mais on garde l'active pour le feedback */
  .ls-cta-card:active{transform:scale(.96);}
  .l-btn:active{transform:scale(.97);}
  .tab:active{background:rgba(164,214,94,.12);}
}

/* Anti-zoom iOS sur input (UX mobile clé) */
@supports (-webkit-touch-callout: none) {
  input[type="number"], input[type="text"], input[type="tel"],
  input[type="email"], input[type="password"], textarea, select {
    font-size:16px!important;  /* Empêche le zoom auto iOS */
  }
}

/* iOS safe-area pour notch */
.sbar, .footer, .sticky-cta {
  padding-bottom:calc(14px + env(safe-area-inset-bottom));
}

/* Ripple effect simplifié au touch */
.ripple-host{
  position:relative;
  overflow:hidden;
}
.ripple-host::after{
  content:'';position:absolute;
  top:50%;left:50%;
  width:0;height:0;
  border-radius:50%;
  background:rgba(255,255,255,.4);
  transform:translate(-50%,-50%);
  pointer-events:none;
  transition:width .55s, height .55s, opacity .65s;
  opacity:0;
}
.ripple-host:active::after{
  width:300%;height:300%;
  opacity:1;
  transition:0s;
}

/* Better focus visible pour clavier (a11y) */
*:focus-visible{
  outline:2px solid var(--vert-pomme);
  outline-offset:2px;
  border-radius:6px;
}

/* Smooth scrolling natif pour navigation interne */
html{scroll-behavior:smooth;}

/* iOS bouncy scroll */
.panel, body{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
}

/* ═══ DASHBOARD ADMIN — Cards d'action premium ═══ */
.admin-action-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(135px, 1fr));
  gap:10px;
  margin-bottom:18px;
}
.adm-action-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  padding:13px 14px;
  background:linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border:1.5px solid rgba(255,255,255,.1);
  border-radius:12px;
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  text-align:left;
  cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out-back),
             border-color var(--dur-fast),
             box-shadow var(--dur-fast),
             background var(--dur-fast);
  position:relative;
  overflow:hidden;
}
.adm-action-card::before{
  content:'';position:absolute;
  top:0;left:0;width:3px;height:100%;
  background:currentColor;
  opacity:.7;
}
.adm-action-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--elev-3);
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.adm-action-card:active{transform:translateY(0) scale(.98);}
.adm-action-ico{
  font-size:1.4rem;line-height:1;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.32));
}
.adm-action-lbl{
  font-size:.84rem;font-weight:800;
  letter-spacing:-.1px;
  margin-top:6px;
}
.adm-action-sub{
  font-size:.66rem;font-weight:600;
  opacity:.6;letter-spacing:.2px;
  line-height:1.3;
}
/* Couleurs par data-color */
.adm-action-card[data-color="blue"]{color:#4a9eff;border-color:rgba(74,158,255,.32);}
.adm-action-card[data-color="blue"]:hover{border-color:rgba(74,158,255,.6);}
.adm-action-card[data-color="gold"]{color:var(--gold);border-color:rgba(245,197,24,.32);}
.adm-action-card[data-color="gold"]:hover{border-color:rgba(245,197,24,.6);}
.adm-action-card[data-color="green"]{color:#4dcc7a;border-color:rgba(77,204,122,.32);}
.adm-action-card[data-color="green"]:hover{border-color:rgba(77,204,122,.6);}
.adm-action-card[data-color="red"]{color:#ff7878;border-color:rgba(255,80,80,.3);}
.adm-action-card[data-color="red"]:hover{border-color:rgba(255,80,80,.55);}
.adm-action-card[data-color="orange"]{color:#ff9d3d;border-color:rgba(255,140,30,.3);}
.adm-action-card[data-color="orange"]:hover{border-color:rgba(255,140,30,.55);}
.adm-action-card[data-color="purple"]{color:#b388ff;border-color:rgba(179,136,255,.3);}
.adm-action-card[data-color="purple"]:hover{border-color:rgba(179,136,255,.55);}

:root[data-theme="light"] .adm-action-card{
  background:linear-gradient(135deg, rgba(0,0,0,.02), rgba(0,0,0,.01));
  border-color:rgba(0,0,0,.08);
  color:#0a1a04;
}
:root[data-theme="light"] .adm-action-card:hover{
  background:linear-gradient(135deg, rgba(0,0,0,.05), rgba(0,0,0,.02));
}

@media(max-width:380px){
  .admin-action-grid{grid-template-columns:repeat(2, 1fr);gap:8px;}
  .adm-action-card{padding:11px 12px;}
  .adm-action-ico{font-size:1.25rem;}
  .adm-action-lbl{font-size:.78rem;}
  .adm-action-sub{font-size:.6rem;}
}

#ptr-indicator .ptr-spinner{
  width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(255,255,255,.25);
  border-top-color:rgba(255,255,255,.85);
  transition:border-color .2s;
}
#ptr-indicator .ptr-spinner.spinning{
  animation:ptr-spin .8s linear infinite;
  border-top-color:var(--vert-pomme)!important;
}
@keyframes ptr-spin{
  0%{transform:rotate(0deg);}
  100%{transform:rotate(360deg);}
}

