/* Accent Club ORANGE (JB 2026-10-19 11:23) : #E8505B = « CLUB » du logo (décor : bordures, barres, contours) ; #C73A45 = même orange assombri pour le texte et le texte blanc posé dessus (AA ≥ 4,5) ; survol #a33b00 ; fond doux #fff1e8. Couleurs des programmes inchangées. */
/* Orange 2 (JB 2026-10-20 10:23) : boutons à fond plein = #E8505B (« CLUB » du logo), survol #d14b00, texte blanc gras 800 en 19 px (3,58:1 = AA grand texte) ; pastilles/onglets petits restent #C73A45 ; liens et petits textes #C73A45. */
/* Fenêtre « contenu » du fil (/newsfeed?contenu=<permalink>, 2026-10-19) — club/contenu-modal.js. Même langage que la modale du fil v2.
   Autonome (préfixe .cm-) : ne dépend pas de body.nf2 et ne touche à aucun élément du fil. Mobile d'abord : plein écran < 640 px. */
.cm-overlay{--ink:#232933;--text:#2b3a36;--muted:#55655f;--green:#C73A45;--green-soft:#fff1e8;--club:#E8505B;--line:#e4dfd3;--hover:#f3f1ea;--paper:#faf7f1;
  position:fixed;inset:0;z-index:10050;display:flex;align-items:stretch;justify-content:center;background:rgba(24,51,45,.55);
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.cm-overlay[hidden]{display:none}
html.cm-open,html.cm-open body{overflow:hidden}
.cm-dialog{position:relative;display:flex;flex-direction:column;width:100%;max-width:100%;height:100%;background:#fff;outline:none;overflow:hidden}
.cm-head{display:flex;align-items:flex-start;gap:12px;padding:14px 12px 12px 18px;border-bottom:1px solid var(--line)}
.cm-title-wrap{flex:1;min-width:0}
.cm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cm-kicker{display:block;margin:0 0 2px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.01em}
.cm-title{flex:1;min-width:0;margin:0;font:800 20px/1.25 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere}
.cm-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-4px 0 0;border:0;border-radius:50%;background:var(--hover);color:var(--ink);font:400 28px/1 system-ui,sans-serif;cursor:pointer}
.cm-close:hover{background:#e9e5da}
.cm-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 18px 24px}
.cm-media{position:relative;width:100%;aspect-ratio:16/9;background:#0f1f1b;border-radius:14px;overflow:hidden}
.cm-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cm-pdf{width:100%;height:70vh;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.cm-pdf-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.cm-pdf-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--green-soft);color:var(--green);font-weight:800;font-size:13px}
.cm-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.cm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border-radius:12px;background:var(--club);color:#fff!important;font-weight:800;text-decoration:none!important;border:0;cursor:pointer;font-size:19px}
.cm-btn:hover{background:#d14b00}
.cm-btn.cm-sec{background:var(--hover);color:var(--ink)!important}
.cm-btn.cm-sec:hover{background:#e9e5da}
.cm-desc{margin:18px 0 0;color:var(--text);font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.cm-desc p{margin:0 0 .8em}
.cm-desc a{color:var(--green);text-decoration:underline}
.cm-msg{margin:8px 0 0;color:var(--text);font-size:16.5px}
.cm-lock{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--hover);color:var(--muted);font-weight:700;font-size:14px}
.cm-load{display:flex;align-items:center;gap:12px;color:var(--muted);padding:24px 0}
.cm-spin{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--club);border-radius:50%;animation:cm-r .8s linear infinite}
@keyframes cm-r{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.cm-spin{animation:none}}
.cm-overlay a:focus-visible,.cm-overlay button:focus-visible,.cm-dialog:focus-visible{outline:3px solid var(--club);outline-offset:3px}
@media (min-width:640px){
  .cm-overlay{align-items:center;padding:24px}
  .cm-dialog{width:min(880px,100%);height:auto;max-height:calc(100vh - 48px);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px rgba(24,51,45,.25)}
  .cm-head{padding:18px 16px 14px 24px}
  .cm-title{font-size:23px}
  .cm-body{padding:20px 24px 28px}
}
