/* Partage (index.html #partage) : l'aperçu WhatsApp / Open Graph et la vraie
   signature e-mail, repris de la refonte de Loïc (/datamix/design/loic/
   cardpm-refonte), classes préfixées nx- sous .nx-share, jetons d'app.css. */
.nx-share { --nx-signal-soft: color-mix(in srgb, var(--accent) 14%, transparent); }
.nx-share .nx-mail{border:1px solid var(--line);border-radius:14px;background:var(--bg);overflow:hidden;font-size:.82rem;box-shadow:0 18px 40px -30px rgba(0,0,0,.35)}
.nx-share .nx-mail-h{display:flex;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.nx-share .nx-dots{display:flex;gap:5px}
.nx-share .nx-dots i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.nx-share .nx-dots i:nth-child(1){background:#ff5f57}
.nx-share .nx-dots i:nth-child(2){background:#febc2e}
.nx-share .nx-dots i:nth-child(3){background:#28c840}
.nx-share .nx-mail-subj{font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.nx-share .nx-mail-b{display:grid;gap:7px;padding:14px 14px 4px}
.nx-share .nx-mail-b i{height:7px;border-radius:4px;background:var(--line)}
.nx-share .nx-mail-b i.nx-short{width:55%}
.nx-share .nx-mail-hello{display:block;font-size:.9rem;color:#222;padding-bottom:4px}
.nx-share .nx-mail .nx-mail-b{background:#fff}
.nx-share .nx-sig2{display:grid;grid-template-columns:34% 1fr;gap:4px 14px;padding:10px 14px 14px;align-items:start;background:#fff;color:#1f1d4d;font-family:"Open Sans",var(--font-b),sans-serif}
.nx-share .nx-s2-photo{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.nx-share .nx-s2-info{display:grid;justify-items:start;gap:2px;min-width:0}
.nx-share .nx-s2-logo{width:36%;max-width:72px;height:auto;margin-bottom:6px}
.nx-share .nx-s2-name{font-size:1.05rem;font-weight:700;color:#1f1d4d}
.nx-share .nx-s2-job{font-size:.85rem;color:#f2547a;margin-bottom:6px}
.nx-share .nx-s2-rows{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:.74rem;color:#2c2a55}
.nx-share .nx-s2-rows li{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start}
.nx-share .nx-s2-rows svg{width:16px;height:16px;color:#9aa0a8}
.nx-share .nx-s2-rows b{font-size:.82rem;font-weight:700}
.nx-share .nx-s2-soc{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.nx-share .nx-so{width:22px;height:22px;border-radius:5px;display:grid;place-items:center;color:#fff;font:800 13px/1 Arial,sans-serif}
.nx-share .nx-so svg{width:16px;height:16px}
.nx-share .nx-so-w{color:#9aa0a8;width:22px}
.nx-share .nx-so-w svg{width:20px;height:20px}
.nx-share .nx-so-in{background:#0a66c2;font-size:12px}
.nx-share .nx-so-fb{background:#1877f2;font-size:15px}
.nx-share .nx-so-x{background:#000;font-size:13px}
.nx-share .nx-so-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.nx-share .nx-so-yt{background:#ff0000}
.nx-share .nx-so-vi{background:#1ab7ea;font-size:14px}
.nx-share .nx-sig2 .nx-s2-hint{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:8px 0 0;font-size:.72rem;color:#a3a7ae}
.nx-share .nx-s2-hint svg{width:28px;height:28px;flex:none;color:#b8bcc2}
.nx-share .nx-chat{display:grid;gap:6px;padding:12px;border-radius:14px;background:#e9e3d9;background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:12px 12px}
.nx-share .nx-bub{max-width:82%;padding:8px 10px 6px;border-radius:12px;font-size:.82rem;line-height:1.35;color:#111;display:grid;gap:6px;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.nx-share .nx-bub small{justify-self:end;font-size:.66rem;color:#667}
.nx-share .nx-bub.nx-out{justify-self:end;background:#d9fdd3;border-top-right-radius:4px}
.nx-share .nx-bub.in{justify-self:start;background:#fff;border-top-left-radius:4px}
.nx-share .nx-sig2{grid-template-columns:26% 1fr;gap:2px 12px;padding:8px 12px 10px}
.nx-share .nx-s2-logo{max-width:46px;margin-bottom:4px}
.nx-share .nx-s2-name{font-size:.92rem}
.nx-share .nx-s2-job{font-size:.76rem;margin-bottom:4px}
.nx-share .nx-s2-rows{gap:3px;font-size:.68rem}
.nx-share .nx-s2-rows li{grid-template-columns:15px 1fr;gap:6px}
.nx-share .nx-s2-rows svg{width:13px;height:13px}
.nx-share .nx-s2-rows b{font-size:.74rem}
.nx-share .nx-s2-soc{gap:3px;margin-top:6px}
.nx-share .nx-so{width:18px;height:18px;border-radius:4px;font-size:11px}
.nx-share .nx-so svg{width:13px;height:13px}
.nx-share .nx-so-w svg{width:16px;height:16px}
.nx-share .nx-so-in{font-size:10px}
.nx-share .nx-so-fb{font-size:12px}
.nx-share .nx-so-x{font-size:11px}
.nx-share .nx-so-vi{font-size:12px}
.nx-share .nx-sig2 .nx-s2-hint{margin-top:4px;font-size:.64rem}
.nx-share .nx-sig2 .nx-s2-hint svg{width:22px;height:22px}
.nx-share .nx-mail-b{padding:10px 12px 2px}
.nx-share .nx-bub.nx-wa{max-width:100%;padding:4px 4px 6px;gap:0;border-radius:12px 4px 12px 12px}
.nx-share .nx-og{display:grid;grid-template-columns:32% 1fr;border-radius:9px 9px 0 0;overflow:hidden;aspect-ratio:2.5}
.nx-share .nx-og-ph{width:100%;height:100%;object-fit:cover}
.nx-share .nx-og-panel{position:relative;background:#1b1a3f;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:8% 10%;font-family:"Open Sans",var(--font-b),sans-serif}
.nx-share .nx-og-logo{position:absolute;left:10%;top:9%;width:13%;height:auto}
.nx-share .nx-og-tap{position:absolute;right:6%;top:9%;width:11%;height:auto;color:#fff}
.nx-share .nx-og-panel b{font-size:clamp(.8rem,1.6vw,1.05rem)}
.nx-share .nx-og-panel span{font-size:.72rem;color:#f2547a}
.nx-share .nx-og-meta{display:grid;gap:2px;background:#c9f0c1;padding:8px 10px;font-size:.76rem;color:#38463a}
.nx-share .nx-og-meta b{font-size:.82rem;color:#2b3a2d}
.nx-share .nx-og-site{display:flex;align-items:center;gap:6px;margin-top:4px;color:#44514a}
.nx-share .nx-og-site svg{width:13px;height:13px}
.nx-share .nx-wa-txt{margin:0;padding:8px 8px 0;font-size:.82rem;color:#111;line-height:1.4}
.nx-share .nx-wa-txt u{color:#0a7a52;overflow-wrap:anywhere}
.nx-share .nx-bub.nx-wa small{padding-right:6px}

/* Les réseaux du bandeau (index.html .trust) : leurs logos en gris, fondus
   dans le fond, en couleur au survol ou au clavier. */
.marquee--logos { --client-filter: grayscale(1) contrast(1.05); --client-blend: multiply; }
:root[data-theme='dark'] .marquee--logos { --client-filter: grayscale(1) invert(1) brightness(1.1); --client-blend: screen; }
@media (prefers-color-scheme: dark) { :root:not([data-theme='light']) .marquee--logos { --client-filter: grayscale(1) invert(1) brightness(1.1); --client-blend: screen; } }
.marquee--logos .marquee-track { gap: 64px; padding-inline-end: 64px; align-items: center; }
.marquee--logos a { padding: 0; border: 0; border-radius: 6px; background: none; line-height: 0; }
.marquee--logos img { block-size: 34px; inline-size: auto; filter: var(--client-filter); mix-blend-mode: var(--client-blend); opacity: .55; transition: filter .3s, opacity .3s; }
.marquee--logos a:is(:hover, :focus-visible) img { filter: none; mix-blend-mode: normal; opacity: 1; }
@media (max-width: 600px) { .marquee--logos .marquee-track { gap: 40px; padding-inline-end: 40px; } .marquee--logos img { block-size: 26px; } }
