/* /codir/ · « la salle du conseil ». Papier clair, encre bleue, table ronde.
   Préfixe cx-. Identité propre : ne pas mutualiser avec les autres pages piliers. */
.cx{--encre:#0B1220;--bleu:#1F3A8B;--bleu-2:#2F4FB0;--jaune:#FFDE59;--papier:#F4F1EA;--gris:#5D6679;--trait:rgba(31,58,139,.16);
  background:var(--papier);color:var(--encre);font-family:Inter,system-ui,sans-serif;overflow-x:clip}
html:has(main.cx),html:has(main.cx) body{overflow-x:clip!important}
.cx a{color:inherit}
.cx h1,.cx h2,.cx h3{text-transform:none;color:inherit;letter-spacing:-.03em}
.cx-wrap{width:min(1180px,100% - 2*clamp(16px,4vw,48px));margin-inline:auto}
.cx-kicker{font:800 12px/1.3 Inter,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--bleu);margin:0 0 14px}

/* En-tête */
.cx-hero{padding:clamp(120px,16vh,170px) 0 0;background:radial-gradient(1200px 500px at 85% 20%,rgba(31,58,139,.10),transparent 60%),var(--papier)}
.cx-hero-grille{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,64px);align-items:center}
.cx-ariane{display:flex;gap:8px;font-size:13px;color:var(--gris);margin-bottom:22px}
.cx-ariane a{text-decoration:none}.cx-ariane a:hover{color:var(--bleu)}
.cx-hero h1{font-size:clamp(34px,4.6vw,62px);font-weight:900;line-height:1.02;margin:0 0 26px;color:var(--bleu)}
.cx-bref{background:#fff;border:1px solid var(--trait);border-radius:18px;padding:22px 24px;margin-bottom:22px;box-shadow:0 30px 60px -40px rgba(31,58,139,.45)}
.cx-bref-titre{font:800 11px/1 Inter,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin:0 0 10px}
.cx-bref p.codir-tldr{font-size:clamp(17px,1.45vw,19px);line-height:1.62;margin:0}
.cx-auteur{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--gris);margin:0}
.cx-auteur img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.cx-auteur a{color:var(--bleu);font-weight:700}

/* La table ronde */
.cx-table-ronde{margin:0;text-align:center}
.cx-table-ronde svg{width:100%;max-width:440px;height:auto;overflow:visible}
.cx-plateau{fill:var(--bleu);filter:drop-shadow(0 30px 40px rgba(31,58,139,.35))}
.cx-plateau-texte{fill:#fff;font:900 34px Inter,system-ui,sans-serif;letter-spacing:-.02em}
.cx-plateau-sous{fill:rgba(255,255,255,.7);font:600 13px Inter,system-ui,sans-serif}
.cx-siege circle{fill:#fff;stroke:var(--bleu);stroke-width:2}
.cx-siege text{fill:var(--bleu);font:800 14px Inter,system-ui,sans-serif}
.cx-siege--dg circle{fill:var(--jaune);stroke:var(--encre)}
.cx-siege--dg text{fill:var(--encre);font-size:16px}
.cx-siege{animation:cx-assoit .6s cubic-bezier(.2,.8,.2,1.2) both;animation-delay:calc(.15s + var(--i) * .08s);transform-box:fill-box;transform-origin:center}
@keyframes cx-assoit{from{opacity:0;transform:scale(.4)}}
.cx-table-ronde figcaption{font-size:13px;color:var(--gris);margin-top:6px}

.cx-cartels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:clamp(36px,6vh,60px) 0 clamp(40px,7vh,70px)}
.cx-cartels div{background:#fff;border:1px solid var(--trait);border-radius:14px;padding:16px 18px}
.cx-cartels dt{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin-bottom:6px}
.cx-cartels dd{margin:0;font-size:clamp(19px,2vw,26px);font-weight:900;color:var(--bleu);letter-spacing:-.02em}

/* Chapitres collants */
.cx-chapitres{position:sticky;top:0;z-index:40;background:rgba(244,241,234,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block:1px solid var(--trait)}
.cx-chapitres ol{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.cx-chapitres ol::-webkit-scrollbar{display:none}
.cx-chapitres a{display:block;white-space:nowrap;padding:14px 12px;font-size:13px;font-weight:700;color:var(--gris);text-decoration:none;border-bottom:2px solid transparent}
.cx-chapitres a:hover{color:var(--bleu)}
.cx-chapitres a[aria-current]{color:var(--bleu);border-bottom-color:var(--bleu)}
.cx-lecture{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--jaune);transform:scaleX(0);transform-origin:left}

/* Sections */
.cx-section{padding:clamp(64px,10vh,120px) 0;scroll-margin-top:60px}
.cx-section h2{font-size:clamp(30px,3.8vw,50px);font-weight:900;line-height:1.05;margin:0 0 20px;color:var(--bleu)}
.cx-section p{font-size:18px;line-height:1.68;margin:0 0 16px;color:#28324A}
.cx-section strong{color:var(--encre)}
.cx-chapo{font-size:20px!important;max-width:52ch;color:var(--gris)!important}
.cx-deux-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,90px);align-items:start}
.cx-fond-blanc{background:#fff}
.cx-fond-encre{background:var(--bleu);color:#fff}
.cx-fond-encre h2,.cx-fond-encre .cx-kicker{color:#fff}
.cx-fond-encre p{color:rgba(255,255,255,.82)}
.cx-h3{font-size:24px;font-weight:900;margin:48px 0 18px;color:var(--bleu)}

.cx-acronyme{font-size:clamp(40px,6vw,84px)!important;font-weight:900;letter-spacing:-.04em;line-height:1!important;color:rgba(31,58,139,.25)!important;margin-bottom:24px!important}
.cx-acronyme b{color:var(--bleu)}

/* Fiches CODIR / COMEX / COPIL */
.cx-fiches{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.cx-fiche{border:1px solid var(--trait);border-radius:20px;padding:26px;background:var(--papier);position:relative;overflow:hidden}
.cx-fiche-sigle{font-size:54px!important;font-weight:900;letter-spacing:-.05em;line-height:1!important;color:var(--bleu)!important;margin:0 0 6px!important}
.cx-fiche-nom{font-size:14px!important;font-weight:700;color:var(--gris)!important;margin:0 0 16px!important}
.cx-fiche-verbe{display:inline-block;font-size:13px!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#fff;border:1px solid var(--trait);border-radius:999px;padding:6px 12px;margin:0 0 16px!important;color:var(--bleu)!important}
.cx-fiche p:last-child{font-size:16px;margin:0}
.cx-fiche--codir{background:var(--bleu);border-color:var(--bleu)}
.cx-fiche--codir .cx-fiche-sigle{color:var(--jaune)!important}
.cx-fiche--codir .cx-fiche-nom,.cx-fiche--codir p:last-child{color:rgba(255,255,255,.85)!important}
.cx-fiche--codir .cx-fiche-verbe{background:var(--jaune);border-color:var(--jaune);color:var(--encre)!important}
.cx-comparatif{margin-top:22px;border:1px solid var(--trait);border-radius:16px;background:var(--papier)}
.cx-comparatif summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:800;color:var(--bleu);display:flex;justify-content:space-between}
.cx-comparatif summary::-webkit-details-marker{display:none}
.cx-comparatif summary::after{content:"+";font-size:22px;line-height:1;transition:transform .3s}
.cx-comparatif[open] summary::after{transform:rotate(45deg)}
.cx-table-zone{overflow-x:auto;padding:0 12px 12px}
.cx-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:560px;background:#fff;border-radius:12px;overflow:hidden}
.cx-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cx-table th,.cx-table td{padding:13px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--trait)}
.cx-table thead th{background:var(--encre);color:#fff;font-weight:900}
.cx-table thead th:nth-child(2){background:var(--bleu)}
.cx-table tbody th{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);width:120px}
.cx-table td:nth-child(2){font-weight:600;background:rgba(31,58,139,.04)}

/* Membres */
.cx-puces{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cx-puces li{font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--trait);color:var(--bleu)}
.cx-tailles{display:grid;gap:14px}
.cx-taille{background:#fff;border:1px solid var(--trait);border-radius:20px;padding:24px}
.cx-taille h3{font-size:20px;font-weight:900;margin:0 0 6px}
.cx-taille p{font-size:16px;margin:0}
.cx-points{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px!important}
.cx-points i{width:22px;height:22px;border-radius:50%;background:var(--bleu);opacity:.9}
.cx-points i:first-child{background:var(--jaune);outline:2px solid var(--encre)}

/* Rôle : chaîne */
.cx-chaine{list-style:none;margin:36px 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:none}
.cx-chaine li{position:relative;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:26px}
.cx-chaine li+li::before{content:"→";position:absolute;left:-15px;top:30px;width:22px;height:22px;display:grid;place-items:center;background:var(--jaune);color:var(--encre);border-radius:50%;font-weight:900;font-size:13px}
.cx-chaine span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--jaune);color:var(--encre);font-weight:900;margin-bottom:14px}
.cx-chaine h3{font-size:21px;font-weight:900;margin:0 0 8px;color:#fff}
.cx-chaine p{font-size:16px;margin:0}
.cx-alerte{background:var(--jaune);color:var(--encre)!important;border-radius:16px;padding:18px 22px;font-weight:700;max-width:70ch}

/* Réunion type */
.cx-standards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:28px 0 0}
.cx-standards div{background:#fff;border:1px solid var(--trait);border-radius:16px;padding:18px}
.cx-standards dt{font-weight:900;color:var(--bleu);margin-bottom:6px}
.cx-standards dd{margin:0;font-size:14px;line-height:1.5;color:#28324A}
.cx-barre{display:flex;height:58px;border-radius:14px;overflow:hidden;margin:0 0 20px;box-shadow:0 20px 40px -30px rgba(31,58,139,.6)}
.cx-barre span{flex:var(--p) 1 0;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:12px;font-weight:800;color:#fff;background:var(--bleu-2);border-right:2px solid var(--papier);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-barre span:nth-child(2){background:#5C73C4}
.cx-barre span:nth-child(4){background:#3B55A8}
.cx-barre span:last-child{border-right:0;background:var(--encre)}
.cx-barre .cx-barre-coeur{background:var(--jaune);color:var(--encre);font-size:14px}
.cx-odj{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:odj}
.cx-odj li{counter-increment:odj;background:#fff;border:1px solid var(--trait);border-radius:16px;padding:18px}
.cx-odj li::before{content:counter(odj);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bleu);color:#fff;font-weight:900;font-size:13px;margin-bottom:10px}
.cx-odj b{display:block;font-size:16px;line-height:1.3;margin-bottom:6px}
.cx-odj span{display:block;font-size:13px;font-weight:800;color:var(--bleu);margin-bottom:6px}
.cx-odj p{font-size:14px;line-height:1.5;margin:0}
.cx-odj .cx-odj-coeur{background:var(--jaune);border-color:var(--jaune)}
.cx-odj .cx-odj-coeur::before{background:var(--encre)}
.cx-odj .cx-odj-coeur span{color:var(--encre)}

/* Autodiagnostic */
.cx-symptomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:28px}
.cx-symptome{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 20px;border-radius:18px;border:2px solid var(--trait);background:var(--papier);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.cx-symptome:hover{border-color:var(--bleu);transform:translateY(-2px)}
.cx-symptome input{position:absolute;opacity:0;pointer-events:none}
.cx-case{width:26px;height:26px;border-radius:8px;border:2px solid var(--bleu);display:grid;place-items:center;background:#fff}
.cx-symptome b{font-size:17px;line-height:1.3}
.cx-sym-texte{font-size:14px;line-height:1.5;color:var(--gris)}
.cx-symptome:has(input:checked){background:var(--bleu);border-color:var(--bleu);color:#fff}
.cx-symptome:has(input:checked) .cx-sym-texte{color:rgba(255,255,255,.8)}
.cx-symptome:has(input:checked) .cx-case{background:var(--jaune);border-color:var(--jaune)}
.cx-symptome:has(input:checked) .cx-case::after{content:"✓";color:var(--encre);font-weight:900}
.cx-symptome:has(input:focus-visible){outline:3px solid var(--jaune);outline-offset:3px}
.cx-verdict{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:20px 24px;border-radius:18px;background:var(--encre);color:#fff}
.cx-verdict[hidden]{display:none}
.cx-verdict-texte{margin:0!important;color:#fff!important;font-size:18px!important}
.cx-verdict b{color:var(--jaune)}
.cx-bouton{display:inline-block;background:var(--jaune);color:var(--encre)!important;font-weight:900;font-size:13px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:15px 20px;border-radius:4px}
.cx-bouton:hover{background:#fff}

/* Leviers */
.cx-leviers{list-style:none;margin:0;padding:0;counter-reset:lev}
.cx-leviers li{counter-increment:lev;display:grid;grid-template-columns:70px 1fr;column-gap:10px;padding:22px 0;border-top:1px solid var(--trait)}
.cx-leviers li::before{content:counter(lev,decimal-leading-zero);grid-row:span 2;font-size:34px;font-weight:900;color:var(--bleu);letter-spacing:-.05em;line-height:1}
.cx-leviers h3{font-size:20px;font-weight:900;margin:0 0 6px}
.cx-leviers p{font-size:16px;margin:0}
.cx-leviers li:last-child{background:#fff;border-radius:16px;border:0;padding:22px;margin-top:8px}

/* Offres */
.cx-cartes{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;margin-top:34px}
.cx-carte{display:flex;flex-direction:column;background:#fff;color:var(--encre);border-radius:20px;overflow:hidden;text-decoration:none;transition:transform .3s,box-shadow .3s}
.cx-carte:hover{transform:translateY(-5px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.cx-carte img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.cx-carte div{padding:22px}
.cx-carte-type{font-size:11px!important;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bleu)!important;margin:0 0 8px!important}
.cx-carte h3{font-size:22px;font-weight:900;line-height:1.15;margin:0 0 8px;color:var(--encre)}
.cx-carte p{font-size:15px;color:#28324A!important;margin:0 0 12px}
.cx-carte-infos{font-weight:800;color:var(--bleu)!important;margin:0!important}
.cx-carte--phare{background:var(--jaune)}
.cx-offres-plus{margin-top:26px!important;font-size:16px!important}
.cx-offres-plus a{color:var(--jaune);font-weight:700}

/* Rappel */
.cx-citation{margin:24px 0 0;padding:22px 24px;background:#fff;border-radius:16px;border:1px solid var(--trait)}
.cx-citation p{font-size:17px!important;font-weight:600;margin:0 0 10px!important}
.cx-citation footer{font-size:14px;color:var(--gris)}
.cx .irpi{background:var(--bleu);color:#fff;border-radius:22px;padding:28px 28px 22px;position:relative;box-shadow:0 40px 80px -40px rgba(31,58,139,.8)}
.cx .irpi-surtitre{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--jaune);margin:0}
.cx .irpi-titre{font-size:24px;font-weight:900;margin:8px 0 10px;color:#fff}
.cx .irpi label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px;color:rgba(255,255,255,.85)}
.cx .irpi label span{font-weight:500;color:rgba(255,255,255,.6)}
.cx .irpi input:not([type=checkbox]),.cx .irpi select{width:100%;box-sizing:border-box;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:12px 14px;color:#fff;font:inherit;font-size:15px}
.cx .irpi select option{color:var(--encre)}
.cx .irpi input:focus,.cx .irpi select:focus{outline:2px solid var(--jaune);outline-offset:1px;border-color:transparent}
.cx .irpi .irpi-rgpd{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:12px;line-height:1.45;color:rgba(255,255,255,.7)}
.cx .irpi .irpi-rgpd input{margin-top:2px;accent-color:var(--jaune)}
.cx .irpi .irpi-rgpd a{color:#fff}
.cx .irp-pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cx .irpi-envoyer{width:100%;margin-top:16px;display:flex;justify-content:center;gap:.6em;background:var(--jaune);color:var(--encre);border:0;border-radius:4px;padding:1.2em;font:900 13px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.cx .irpi-envoyer:hover{background:#fff}
.cx .irpi-envoyer:disabled{opacity:.6;cursor:wait}
.cx .irpi-ou{text-align:center;margin-top:12px;font-size:13px;color:rgba(255,255,255,.7)}
.cx .irpi-ou a{color:#fff;font-weight:800;text-decoration:none}
.cx .irpi-bilan{display:none;margin-top:10px;font-size:13px;color:#FECACA}
.cx .irpi-bilan.est-visible{display:block}
.cx .irpi .est-faux input,.cx .irpi .est-faux select{border-color:#FCA5A5}
.cx .irpi-err{display:block;font-size:12px;color:#FECACA;margin-top:5px}
.cx .irpi-fini-texte{color:rgba(255,255,255,.85);line-height:1.55}

/* FAQ */
.cx-faq details{border-bottom:1px solid var(--trait)}
.cx-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-size:18px;font-weight:800;color:var(--encre)}
.cx-faq summary::-webkit-details-marker{display:none}
.cx-faq summary::after{content:"+";color:var(--bleu);font-size:24px;line-height:1;transition:transform .3s}
.cx-faq details[open] summary::after{transform:rotate(45deg)}
.cx-faq p{font-size:17px}
.cx a:focus-visible,.cx summary:focus-visible{outline:2px solid var(--bleu);outline-offset:3px}

/* Aller plus loin */
.cx-loin{padding-top:0}
.cx-loin ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.cx-loin a{display:flex;flex-direction:column;gap:4px;height:100%;box-sizing:border-box;padding:18px;border-radius:14px;background:#fff;border:1px solid var(--trait);text-decoration:none;transition:border-color .2s,transform .2s}
.cx-loin a:hover{border-color:var(--bleu);transform:translateY(-3px)}
.cx-loin b{color:var(--bleu)}
.cx-loin span{font-size:13px;color:var(--gris)}

@media (max-width:1080px){
  .cx-standards,.cx-odj{grid-template-columns:repeat(2,1fr)}
  .cx-standards div:last-child,.cx-odj li:last-child{grid-column:1/-1}
  .cx-loin ul{grid-template-columns:repeat(2,1fr)}
  .cx-cartes{grid-template-columns:1fr 1fr}
  .cx-cartes .cx-carte--phare{grid-column:1/-1}
}
@media (max-width:860px){
  .cx-hero-grille,.cx-deux-col{grid-template-columns:1fr}
  .cx-table-ronde{max-width:320px;margin:0 auto}
  .cx-cartels{grid-template-columns:repeat(2,1fr)}
  .cx-fiches,.cx-chaine,.cx-cartes{grid-template-columns:1fr}
  .cx-chaine li+li::before{left:26px;top:-15px;content:"↓"}
  .cx-barre span{font-size:0}
  .cx-barre .cx-barre-coeur{font-size:12px}
}
@media (max-width:560px){
  .cx-standards,.cx-odj,.cx-loin ul{grid-template-columns:1fr}
  .cx-section p{font-size:17px}
  .cx-leviers li{grid-template-columns:52px 1fr}
  .cx-leviers li::before{font-size:26px}
}
@media (prefers-reduced-motion:reduce){.cx-siege{animation:none}}
