
/* ---------- feuille (fenetre du bas) commune ---------- */
.m2cr-sheet,.m2cr-sheet *,.m2sg,.m2sg *,.m2inv-bub,.m2inv-fab{box-sizing:border-box}
.m2cr-sheet{position:fixed;inset:0;z-index:2147483200;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;padding:16px}
.m2cr-sheet[hidden]{display:none!important}
.m2cr-card{background:#fff;color:#0f172a;width:100%;max-width:440px;max-height:88vh;overflow:auto;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.28);padding:18px;font-family:inherit}
.m2cr-card h6{margin:0 0 4px;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:10px}
.m2cr-card h6 button{border:0;background:#f1f5f9;width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;color:#334155;flex:0 0 auto}
.m2cr-card p.m2cr-sub{margin:0 0 14px;color:#64748b;font-size:13.5px}
.m2cr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.m2cr-net{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#334155;text-decoration:none;padding:6px 2px;border-radius:12px;cursor:pointer}
.m2cr-net:hover{background:#f8fafc;color:#0f172a}
.m2cr-net i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:22px;color:#fff}
.m2cr-opt{display:flex;align-items:center;gap:12px;width:100%;border:0;background:#f8fafc;border-radius:12px;padding:11px 12px;margin-bottom:8px;text-align:left;cursor:pointer;color:#0f172a}
.m2cr-opt:hover{background:#eef4ff}
.m2cr-opt i{width:38px;height:38px;border-radius:50%;background:#e7f0ff;color:#0a66c2;display:grid;place-items:center;font-size:18px;flex:0 0 auto}
.m2cr-opt b{display:block;font-size:14.5px}.m2cr-opt small{display:block;color:#64748b;font-size:12.5px}
.m2cr-sep{margin:12px 0 10px;font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.m2cr-link{display:flex;gap:8px;margin-top:14px}
.m2cr-link input{flex:1;min-width:0;border:1px solid #dbe3ef;border-radius:999px;padding:8px 12px;font-size:13px;color:#334155;background:#f8fafc}
.m2cr-link button,.m2cr-btn{border:0;border-radius:999px;background:#0a66c2;color:#fff;font-weight:700;font-size:13.5px;padding:8px 16px;cursor:pointer}
.m2cr-btn.alt{background:#eef2f7;color:#0f172a}
.m2cr-btn:disabled{opacity:.6}
.m2cr-mail textarea{width:100%;border:1px solid #dbe3ef;border-radius:12px;padding:10px 12px;font-size:14px;resize:vertical;min-height:70px;margin-bottom:8px}
.m2cr-mail .m2cr-row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.m2cr-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:2147483300;background:#0f172a;color:#fff;border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:600;box-shadow:0 14px 35px rgba(15,23,42,.3);max-width:92vw;text-align:center}
.m2cr-toast.err{background:#b91c1c}
.m2cr-toast a{color:#93c5fd;margin-left:8px}
@media(max-width:575px){.m2cr-sheet{align-items:flex-end;padding:0}.m2cr-card{border-radius:18px 18px 0 0;max-width:none;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}}

/* ---------- bouton + message clignotant « Invitez vos amis » ---------- */
.m2inv-fab{position:fixed;right:16px;bottom:calc(18px + var(--m2inv-lift,0px));z-index:2147482000;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:linear-gradient(135deg,#16a34a,#0a66c2);color:#fff;font-weight:700;font-size:14px;padding:10px 16px 10px 12px;box-shadow:0 10px 26px rgba(10,102,194,.35);cursor:pointer}
.m2inv-fab i{font-size:18px}
.m2inv-fab::after{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid rgba(34,197,94,.65);animation:m2invRing 2.4s ease-out infinite;pointer-events:none}
@keyframes m2invRing{0%{opacity:.9;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.18)}}
.m2inv-bub{position:fixed;right:16px;bottom:calc(72px + var(--m2inv-lift,0px));z-index:2147482001;width:min(330px,calc(100vw - 32px));background:#fff;color:#0f172a;border-radius:16px;box-shadow:0 18px 44px rgba(15,23,42,.25);padding:14px 14px 12px;border:2px solid #22c55e;animation:m2invIn .35s ease-out}
.m2inv-bub[hidden]{display:none!important}
.m2inv-bub.blink{animation:m2invIn .35s ease-out,m2invBlink .9s ease-in-out .35s 6}
@keyframes m2invIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes m2invBlink{0%,100%{border-color:#22c55e;box-shadow:0 18px 44px rgba(15,23,42,.25)}50%{border-color:#f59e0b;box-shadow:0 0 0 6px rgba(245,158,11,.25),0 18px 44px rgba(15,23,42,.25)}}
.m2inv-bub b{display:block;font-size:15px;margin:0 22px 4px 0}
.m2inv-bub span{display:block;font-size:13px;color:#475569;line-height:1.4}
.m2inv-bub .m2inv-x{position:absolute;top:6px;right:8px;border:0;background:transparent;font-size:20px;color:#64748b;line-height:1;cursor:pointer}
.m2inv-bub .m2inv-acts{display:flex;gap:8px;margin-top:10px}
.m2inv-bub .m2inv-acts button{flex:1;border:0;border-radius:999px;padding:8px 10px;font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.m2inv-bub .wa{background:#25d366;color:#fff}.m2inv-bub .ml{background:#e7f0ff;color:#0a66c2}
.m2inv-bub::after{content:"";position:absolute;right:20px;bottom:-9px;width:16px;height:16px;background:#fff;border-right:2px solid #22c55e;border-bottom:2px solid #22c55e;transform:rotate(45deg)}
@media(max-width:767px){
  .m2inv-fab{right:10px;bottom:calc(14px + env(safe-area-inset-bottom));padding:0;width:46px;height:46px;justify-content:center}
  .m2inv-fab span{display:none}
  .m2inv-bub{right:10px;bottom:calc(70px + env(safe-area-inset-bottom))}
  body.m2inv-raised .m2inv-fab{bottom:calc(84px + env(safe-area-inset-bottom));width:40px;height:40px;opacity:.92}
  body.m2inv-raised .m2inv-bub{bottom:calc(134px + env(safe-area-inset-bottom))}
}
@media(min-width:768px){body.m2inv-raised .m2inv-fab{bottom:calc(92px + var(--m2inv-lift,0px))}body.m2inv-raised .m2inv-bub{bottom:calc(146px + var(--m2inv-lift,0px))}}
@media print{.m2inv-fab,.m2inv-bub{display:none!important}}

/* ---------- « + N autres en ligne » ---------- */
.m2on-more{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:8px 10px;border-radius:12px;background:#f0fdf4;border:1px solid #bbf7d0;font-size:13px;font-weight:700;color:#166534}
.m2on-more button{border:0;background:#16a34a;color:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.m2on-list{display:grid;gap:6px;margin-top:10px}
.m2on-row{display:flex;align-items:center;gap:10px;padding:6px;border-radius:12px}
.m2on-row:hover{background:#f8fafc}
.m2on-row img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.m2on-row a.n{flex:1;min-width:0;font-weight:700;color:#0f172a;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m2on-row a.n small{display:block;color:#16a34a;font-weight:600;font-size:12px}
.m2on-row form{margin:0}.m2on-row form button{border:1px solid #bfdbfe;background:#fff;color:#0a66c2;border-radius:999px;width:36px;height:36px}
.m2on-search{width:100%;border:1px solid #dbe3ef;border-radius:999px;padding:8px 14px;font-size:14px}

/* ---------- Nouveaux membres (comme Facebook) ---------- */
.m2sg{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin:0 0 14px;padding:14px 0 12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.m2sg header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:0 14px 10px}
.m2sg header b{display:block;font-size:16px;color:#0f172a}
.m2sg header small{display:block;color:#64748b;font-size:12.5px}
.m2sg header button{border:0;background:#e7f0ff;color:#0a66c2;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer}
.m2sg-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 14px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.m2sg-track::-webkit-scrollbar{display:none}
.m2sg-card{position:relative;flex:0 0 172px;scroll-snap-align:start;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.m2sg-ph{position:relative;display:block;height:150px;background:#eef2f7}
.m2sg-ph img{width:100%;height:100%;object-fit:cover;display:block}
.m2sg-ph .dot{position:absolute;left:8px;bottom:8px;background:#16a34a;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;box-shadow:0 0 0 2px #fff}
.m2sg-x{position:absolute;top:6px;right:6px;z-index:2;width:28px;height:28px;border-radius:50%;border:0;background:rgba(15,23,42,.6);color:#fff;font-size:17px;line-height:1;cursor:pointer}
.m2sg-bd{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;flex:1}
.m2sg-bd a.n{font-weight:700;font-size:14.5px;color:#0f172a;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;min-height:36px}
.m2sg-bd small{color:#64748b;font-size:12px;line-height:1.3;min-height:16px}
.m2sg-fol{border:0;border-radius:8px;background:#0a66c2;color:#fff;font-weight:700;font-size:13.5px;padding:7px 6px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;margin-top:auto}
.m2sg-fol.on{background:#e7f0ff;color:#0a66c2}
.m2sg-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.m2sg-acts form{margin:0;display:contents}
.m2sg-acts button,.m2sg-acts a{border:0;border-radius:8px;background:#eef2f7;color:#0f172a;height:34px;display:flex;align-items:center;justify-content:center;font-size:16px;text-decoration:none;cursor:pointer;width:100%}
.m2sg-acts button:hover,.m2sg-acts a:hover{background:#e2e8f0}
.m2sg-nav{position:absolute;top:50%;width:38px;height:38px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);display:none;place-items:center;font-size:18px;z-index:3;cursor:pointer}
.m2sg-nav.p{left:4px}.m2sg-nav.n{right:4px}
@media(hover:hover) and (min-width:768px){.m2sg:hover .m2sg-nav{display:grid}}
@media(max-width:575px){.m2sg{border-radius:0;border-left:0;border-right:0}.m2sg-card{flex-basis:150px}.m2sg-ph{height:132px}}
