/**
 * ie24 — La Matinale : « Intelligence entreprises » (front, premium membres).
 * Esprit journal + tableau de bord stratégique. Réutilise --accent du thème.
 */

.ie24m-x { --x-accent: var(--accent, #8a1711); --x-ink: #20251c; --x-paper: #fffdf8; --x-line: #e2d7bd; --x-mute: #8a8674; color: var(--x-ink); }

/* ---- Hero / recherche ---- */
.ie24m-x-hero { background: linear-gradient(180deg, #fbf8f0, #f3ecdd);
	border: 1px solid var(--x-line); border-radius: 14px;
	padding: clamp(1.4rem, 1rem + 2vw, 2.6rem); text-align: center; position: relative; overflow: hidden;
}
.ie24m-x-hero::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--x-accent); }
.ie24m-x-kicker { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--x-accent); }
.ie24m-x-title { font-family: var(--font-voice, Georgia, serif); font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.3rem); line-height: 1.1; margin: 0.5rem 0 0.4rem; color: var(--x-ink); }
/* Sélecteur doublé exprès : la page est rendue dans .lj-prose du thème, dont la
   règle « .lj-prose p » (spécificité 0,1,1) écrasait le margin auto (0,1,0) →
   sous-titre collé à gauche au lieu d'être centré sous le titre. */
.ie24m-x-hero .ie24m-x-sub { max-width: 60ch; margin: 0 auto 1.3rem; color: #5c5848; font-size: 0.98rem; line-height: 1.5; }

.ie24m-x-search { display: flex; align-items: center; gap: 8px; max-width: 620px; margin: 0 auto; background: #fff; border: 1px solid #cdbf9f; border-radius: 10px; padding: 6px 6px 6px 14px; box-shadow: 0 10px 30px -22px rgba(22,20,13,0.5); }
.ie24m-x-search:focus-within { border-color: var(--x-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--x-accent) 14%, transparent); }
.ie24m-x-search svg { width: 20px; height: 20px; color: var(--x-mute); flex: none; }
.ie24m-x-input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font-size: 1.05rem; color: var(--x-ink); padding: 8px 2px; }
.ie24m-x-go { flex: none; border: 0; cursor: pointer; background: var(--x-accent); color: #fff; font-weight: 600; font-size: 0.95rem; padding: 10px 20px; border-radius: 7px; transition: background 0.15s ease; }
.ie24m-x-go:hover { background: #73130e; }

.ie24m-x-suggest { margin-top: 0.9rem; font-size: 0.84rem; color: var(--x-mute); display: flex; gap: 8px; align-items: center; justify-content: center; flex-wrap: wrap; }
.ie24m-x-suggest button { border: 1px solid var(--x-line); background: rgba(255,255,255,0.6); color: #5c5848; font-size: 0.82rem; padding: 4px 11px; border-radius: 20px; cursor: pointer; transition: all 0.15s ease; }
.ie24m-x-suggest button:hover { border-color: var(--x-accent); color: var(--x-accent); }

/* ---- Étage résultats / détail ---- */
.ie24m-x-stage { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.5rem; align-items: start; margin-top: 1.5rem; }
@media (max-width: 380px) { .ie24m-x-stage { grid-template-columns: minmax(0,1fr); } }
.ie24m-x-results:empty, .ie24m-x-detail:empty { display: none; }

.ie24m-x-loading, .ie24m-x-empty { padding: 1.1rem 1.2rem; border: 1px dashed var(--x-line); border-radius: 10px; color: var(--x-mute); font-size: 0.94rem; background: rgba(255,255,255,0.5); }
.ie24m-x-loading::before { content: ""; display: inline-block; width: 13px; height: 13px; margin-right: 8px; border: 2px solid var(--x-line); border-top-color: var(--x-accent); border-radius: 50%; vertical-align: -2px; animation: ie24mxspin 0.7s linear infinite; }
@keyframes ie24mxspin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ie24m-x-loading::before { animation: none; } }

.ie24m-x-results-head { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--x-mute); margin-bottom: 0.7rem; }

/* Cartes résultat (boutons) */
.ie24m-x-card { display: block; width: 100%; text-align: left; cursor: pointer; background: var(--x-paper); border: 1px solid var(--x-line); border-radius: 10px; padding: 0.95rem 1.1rem; margin-bottom: 0.8rem; transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease; }
.ie24m-x-card:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -20px rgba(22,20,13,0.55); }
.ie24m-x-card.is-cessee { opacity: 0.92; }
.ie24m-x-card-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ie24m-x-card-nom { font-family: var(--font-voice, Georgia, serif); font-weight: 700; font-size: 1.08rem; color: var(--x-ink); line-height: 1.2; }
.ie24m-x-card-meta { font-size: 0.82rem; color: var(--x-mute); margin-top: 4px; }
.ie24m-x-card-dir { font-size: 0.82rem; color: #5c5848; margin-top: 6px; }

.ie24m-x-badge { flex: none; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 9px; border-radius: 20px; white-space: nowrap; }
.ie24m-x-badge.is-on { background: #eaf3df; color: #2f6b2f; }
.ie24m-x-badge.is-off { background: #f1ece0; color: #8a8674; }

/* ---- Société (détail) ---- */
.ie24m-x-company { background: var(--x-paper); border: 1px solid var(--x-line); border-radius: 12px; padding: clamp(1.1rem, 0.8rem + 1vw, 1.7rem); }
.ie24m-x-head { border-bottom: 2px solid var(--x-ink); padding-bottom: 0.9rem; margin-bottom: 1rem; }
.ie24m-x-head-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ie24m-x-co-nom { font-family: var(--font-voice, Georgia, serif); font-weight: 800; font-size: clamp(1.3rem, 1rem + 1.4vw, 1.9rem); line-height: 1.08; margin: 0; color: var(--x-ink); }
.ie24m-x-co-meta { font-size: 0.86rem; color: #5c5848; margin-top: 0.5rem; line-height: 1.5; }
.ie24m-x-co-addr { font-size: 0.84rem; color: var(--x-mute); margin-top: 3px; }
.ie24m-x-flags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 0.6rem; }
.ie24m-x-flag { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #2f6b2f; background: #eaf3df; border-radius: 4px; padding: 3px 8px; }

.ie24m-x-sec-t { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--x-mute); margin-bottom: 0.6rem; }
.ie24m-x-dir-sec { margin-bottom: 1.3rem; }
.ie24m-x-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ie24m-x-chip { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; cursor: pointer; background: #fff; border: 1px solid var(--x-line); border-radius: 8px; padding: 6px 12px; transition: border-color 0.12s ease, background 0.12s ease; }
.ie24m-x-chip:hover { border-color: var(--x-accent); background: #fbf3f1; }
.ie24m-x-chip.is-morale { border-style: dashed; }
.ie24m-x-chip-nom { font-size: 0.9rem; font-weight: 600; color: var(--x-ink); }
.ie24m-x-chip-q { font-size: 0.72rem; color: var(--x-mute); }

/* ---- Timeline ---- */
.ie24m-x-tl-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ie24m-x-tl-count { font-size: 0.78rem; color: var(--x-mute); }
.ie24m-x-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 0.6rem 0 1.1rem; }
.ie24m-x-fbtn { cursor: pointer; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.76rem; font-weight: 600; padding: 5px 12px; border-radius: 20px; border: 1px solid var(--x-line); background: #fff; color: #5c5848; transition: all 0.12s ease; }
.ie24m-x-fbtn:hover { border-color: var(--x-ink); }
.ie24m-x-fbtn.is-active { background: var(--x-ink); color: #fff; border-color: var(--x-ink); }

.ie24m-x-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.ie24m-x-timeline::before { content: ""; position: absolute; left: 7px; top: 6px; bottom: 6px; width: 2px; background: var(--x-line); }
.ie24m-x-ev { position: relative; display: grid; grid-template-columns: 96px 1fr; gap: 14px; padding: 0 0 1.25rem 26px; }
.ie24m-x-ev::before { content: ""; position: absolute; left: 1px; top: 5px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--x-mute); }
.ie24m-x-ev-date { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.8rem; font-weight: 600; color: var(--x-ink); white-space: nowrap; padding-top: 1px; }
.ie24m-x-ev-body { min-width: 0; }
.ie24m-x-ev-top { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ie24m-x-ev-cat { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 8px; border-radius: 4px; color: #fff; }
.ie24m-x-ev-title { font-size: 0.96rem; color: var(--x-ink); line-height: 1.3; }
.ie24m-x-ev-desc { font-size: 0.88rem; color: #5c5848; line-height: 1.5; margin: 4px 0 0; }

/* Couleurs par catégorie (nœud + badge + puce de filtre) */
.cat-procedure  .ie24m-x-ev-cat, .ie24m-x-fbtn.cat-procedure.is-active  { background: #8a1711; }
.cat-creation   .ie24m-x-ev-cat, .ie24m-x-fbtn.cat-creation.is-active   { background: #2f6b2f; }
.cat-modification .ie24m-x-ev-cat, .ie24m-x-fbtn.cat-modification.is-active { background: #1f5fa6; }
.cat-cession    .ie24m-x-ev-cat, .ie24m-x-fbtn.cat-cession.is-active    { background: #b9760a; }
.cat-comptes    .ie24m-x-ev-cat, .ie24m-x-fbtn.cat-comptes.is-active    { background: #6f6a5c; }
.cat-radiation  .ie24m-x-ev-cat, .ie24m-x-fbtn.cat-radiation.is-active  { background: #4a1b0c; }
.cat-autre      .ie24m-x-ev-cat, .ie24m-x-fbtn.cat-autre.is-active      { background: #8a8674; }
.ie24m-x-ev.cat-procedure::before  { border-color: #8a1711; }
.ie24m-x-ev.cat-creation::before   { border-color: #2f6b2f; }
.ie24m-x-ev.cat-modification::before { border-color: #1f5fa6; }
.ie24m-x-ev.cat-cession::before    { border-color: #b9760a; }
.ie24m-x-ev.cat-comptes::before    { border-color: #6f6a5c; }
.ie24m-x-ev.cat-radiation::before  { border-color: #4a1b0c; }

.ie24m-x-legal { font-size: 0.74rem; color: var(--x-mute); margin-top: 1.4rem; text-align: center; line-height: 1.5; }

/* CTA dans Mon compte */

@media (max-width: 540px) {
	.ie24m-x-ev { grid-template-columns: 1fr; gap: 4px; }
	.ie24m-x-ev-date { padding-left: 0; }
}

/* ---- Activité (libellé APE) ---- */
.ie24m-x-co-act { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-top: 0.5rem; }
.ie24m-x-act-label { font-family: var(--font-voice, Georgia, serif); font-size: 1rem; font-style: italic; color: var(--x-ink); }
.ie24m-x-act-code { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; color: var(--x-mute); background: #f1ece0; border-radius: 4px; padding: 2px 7px; }

/* ---- Comptes déposés (CA) ---- */
.ie24m-x-fin { margin: 0 0 1.3rem; }
.ie24m-x-fin-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.ie24m-x-fin-cell { flex: 1 1 130px; background: #f6efe0; border: 1px solid var(--x-line); border-radius: 9px; padding: 10px 14px; }
.ie24m-x-fin-year { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; color: var(--x-mute); }
.ie24m-x-fin-ca { font-family: var(--font-voice, Georgia, serif); font-size: 1.45rem; font-weight: 800; color: var(--x-accent); line-height: 1.1; margin-top: 2px; }
.ie24m-x-fin-rn { font-size: 0.84rem; color: #5c5848; margin-top: 5px; }
.ie24m-x-fin-rnval { font-weight: 700; }
.ie24m-x-fin-rnval.is-pos { color: #2f6b2f; }
.ie24m-x-fin-rnval.is-neg { color: #8a1711; }
.ie24m-x-fin-note { font-size: 0.74rem; color: var(--x-mute); margin-top: 6px; }
.ie24m-x-fin-conf { background: #fbf3f1; border: 1px solid var(--x-line); border-radius: 9px; padding: 11px 14px; }
.ie24m-x-fin-conf-t { display: block; font-family: var(--font-voice, Georgia, serif); font-size: 1rem; color: var(--x-ink); }
.ie24m-x-fin-conf-sub { display: block; font-size: 0.82rem; color: var(--x-mute); margin-top: 2px; }
.ie24m-x-fin-conf + .ie24m-x-fin-grid { margin-top: 10px; }
.ie24m-x-fin-cell-rn { background: #eef3e8; border-color: #cfe0c4; }
.ie24m-x-fin-cell-rn .ie24m-x-fin-year { color: #3f6a3a; }
.ie24m-x-fin-rnbig { font-family: var(--font-voice, Georgia, serif); font-size: 1.45rem; font-weight: 800; line-height: 1.1; margin-top: 2px; }
.ie24m-x-fin-rnbig.is-pos { color: #2f6b2f; }
.ie24m-x-fin-rnbig.is-neg { color: #8a1711; }

/* ---- Bascule Liste / Réseau ---- */
.ie24m-x-viewbar { display: flex; align-items: center; justify-content: space-between; gap: 10px 22px; flex-wrap: wrap; margin-bottom: 0.9rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--x-line); }
/* Le groupe de vues et les actions se tiennent à droite, séparés par un blanc. */
.ie24m-x-viewbar > .ie24m-x-viewactions { margin-left: auto; }
/* Barre de vue « filets » : pas de boîte, des capitales espacées séparées par
   de fins traits, et le mode actif souligné en accent. La barre s'efface au
   profit du contenu — un cartouche de plus concurrençait les encadrés voisins. */
.ie24m-x-viewtoggle { display: inline-flex; align-items: center; }
.ie24m-x-vbtn {
	border: 0; background: none; cursor: pointer;
	font-family: ui-sans-serif, system-ui, sans-serif;
	font-size: 0.74rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--x-mute); padding: 4px 14px;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.ie24m-x-vbtn + .ie24m-x-vbtn { border-left: 1px solid var(--x-line); } /* filet, pas cartouche */
.ie24m-x-vbtn:hover { color: var(--x-ink); }
.ie24m-x-vbtn.is-active { color: var(--x-accent); border-bottom-color: var(--x-accent); }

/* ---- Graphe OSINT ---- */
.ie24m-x-graph-wrap { background: #fbf8f0; border: 1px solid var(--x-line); border-radius: 12px; padding: 8px; }
.ie24m-x-graph { width: 100%; height: auto; display: block; touch-action: pan-y; }
.ie24m-x-edge { stroke: #cdbf9f; stroke-width: 1.2; }
.ie24m-x-node text { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 12px; fill: var(--x-ink); pointer-events: none; }
.ie24m-x-node.is-co circle { fill: var(--x-accent); stroke: #fff; stroke-width: 2; }
.ie24m-x-node.is-co text { font-weight: 700; }
.ie24m-x-node.is-dir circle { fill: #fff; stroke: #1f5fa6; stroke-width: 2.5; }
.ie24m-x-node.is-dir text { fill: #1f5fa6; }
.ie24m-x-node:hover circle { stroke: var(--x-ink); }
.ie24m-x-graph-legend { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.74rem; color: var(--x-mute); text-align: center; padding: 6px 4px 2px; }

/* ---- Verrou non-membre ---- */
.ie24m-x.is-locked .ie24m-x-input, .ie24m-x.is-locked .ie24m-x-go, .ie24m-x.is-locked .ie24m-x-suggest button { cursor: not-allowed; }
.ie24m-x.is-locked .ie24m-x-search { opacity: 0.96; }
.ie24m-x.is-locked .ie24m-x-go { background: #b0a78f; }
.ie24m-x-lock { margin-top: 1.1rem; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.ie24m-x-lock-t { font-size: 0.92rem; color: #5c5848; }
.ie24m-x-lock-ico { margin-right: 2px; }
.ie24m-x-lock-a { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.ie24m-x-preview { position: relative; margin-top: 1.5rem; max-width: 640px; margin-inline: auto; }
.ie24m-x-preview-inner { filter: blur(3px); opacity: 0.7; pointer-events: none; user-select: none; }
.ie24m-x-preview-veil { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.ie24m-x-preview-veil span { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--x-mute); background: rgba(247,245,238,0.85); border: 1px solid var(--x-line); border-radius: 20px; padding: 6px 16px; }

/* Tribunal / greffe (sous un événement judiciaire) */
.ie24m-x-ev-trib { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.78rem; color: var(--x-mute); margin-top: 4px; }

/* Indicateur de risque (procédures collectives) en tête de fiche */
.ie24m-x-risk { flex: none; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; padding: 3px 10px; border-radius: 20px; background: #fceae9; color: #8a1711; border: 1px solid #e9b8b3; }
/* Filtre « Justice / difficultés » (distinct, rouge) */
.ie24m-x-fbtn.ie24m-x-fjustice { border-color: #d9a59f; color: #8a1711; }
.ie24m-x-fbtn.ie24m-x-fjustice.is-active { background: #8a1711; color: #fff; border-color: #8a1711; }

/* Liens vers les sources officielles (dossier complet) */
.ie24m-x-sources { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 1.3rem; }
.ie24m-x-sources-t { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--x-mute); }
.ie24m-x-source-link { font-size: 0.86rem; color: var(--x-accent) !important; text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--x-accent) 30%, transparent); }
.ie24m-x-source-link:hover { border-bottom-color: var(--x-accent); }
.ie24m-x-sources-n { flex: 1 1 100%; font-size: 0.76rem; color: var(--x-mute); font-style: italic; }

/* Atlas — localisation du siège (carte des départements) */
.ie24m-x-atlas { margin: 0 0 1.3rem; }
.ie24m-x-atlas-box { max-width: 300px; }
.ie24m-x-fr { width: 100%; height: auto; display: block; }
.ie24m-x-dep { fill: #efe7d4; stroke: #fff; stroke-width: 0.6; }
.ie24m-x-dep.is-here { fill: var(--x-accent); stroke: #fff; stroke-width: 1; }
.ie24m-x-atlas-cap { font-size: 0.84rem; color: #5c5848; margin-top: 8px; }
.ie24m-x-atlas-loading { font-size: 0.84rem; color: var(--x-mute); padding: 10px 0; }

/* Graphe vivant — interactions */
.ie24m-x-graph { touch-action: none; }
.ie24m-x-graph-wrap { position: relative; }
.ie24m-x-node { cursor: grab; }
.ie24m-x-node:active { cursor: grabbing; }
.ie24m-x-node, .ie24m-x-edge { transition: opacity 0.18s ease; }
.ie24m-x-node circle { transition: stroke-width 0.12s ease; }
.ie24m-x-node.is-co.is-off circle { fill: #b0a78f; }
.ie24m-x-node.is-dim { opacity: 0.15; }
.ie24m-x-edge.is-dim { opacity: 0.07; }
.ie24m-x-node.is-hot circle { stroke: var(--x-ink); stroke-width: 3.5; }
.ie24m-x-edge.is-hot { stroke: var(--x-accent); stroke-width: 2.2; }
.ie24m-x-graph-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; justify-content: center; }
.ie24m-x-lg-co { color: var(--x-accent); font-weight: 600; }
.ie24m-x-lg-dir { color: #1f5fa6; font-weight: 600; }
.ie24m-x-graph-hint { flex: 1 1 100%; text-align: center; font-size: 0.72rem; color: var(--x-mute); }
.ie24m-x-graph-cap { min-height: 1.2em; text-align: center; font-family: var(--font-voice, Georgia, serif); font-size: 0.92rem; color: var(--x-ink); margin-top: 4px; }

/* Aperçu non-membre — 3 panneaux flous (réseau / liste / fiche) */
.ie24m-x-preview { max-width: 760px; }
.ie24m-x-preview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (max-width: 540px) { .ie24m-x-preview-grid { grid-template-columns: 1fr; } }
.ie24m-x-prev-panel { background: #fff; border: 1px solid var(--x-line); border-radius: 9px; padding: 8px 10px; min-height: 132px; }
.ie24m-x-prev-t { display: block; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--x-mute); margin-bottom: 6px; }
.ie24m-x-prev-net { width: 100%; height: auto; display: block; }
.ie24m-x-prev-net line { stroke: #cdbf9f; stroke-width: 1.2; }
.ie24m-x-prev-net .co { fill: var(--x-accent); stroke: #fff; stroke-width: 1.5; }
.ie24m-x-prev-net .dir { fill: #fff; stroke: #1f5fa6; stroke-width: 2; }
.ie24m-x-prev-card { padding: 4px 7px; margin-bottom: 6px; background: #fbf8f0; border-radius: 4px; }
.ie24m-x-prev-card b { display: block; font-family: var(--font-voice, Georgia, serif); font-size: 0.76rem; color: var(--x-ink); }
.ie24m-x-prev-card span { font-size: 0.62rem; color: var(--x-mute); }
.ie24m-x-prev-head { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; border-bottom: 2px solid var(--x-ink); padding-bottom: 4px; margin-bottom: 6px; }
.ie24m-x-prev-head b { font-family: var(--font-voice, Georgia, serif); font-size: 0.8rem; }
.ie24m-x-prev-head i { font-style: normal; font-weight: 700; color: var(--x-accent); font-size: 0.72rem; }
.ie24m-x-prev-row { font-size: 0.66rem; color: #5c5848; margin: 5px 0; display: flex; align-items: center; gap: 5px; }
.ie24m-x-prev-row .d { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.ie24m-x-prev-row .d.co { background: #6f6a5c; }
.ie24m-x-prev-row .d.mod { background: #1f5fa6; }
.ie24m-x-prev-row .d.proc { background: var(--x-accent); }

/* ---- Icône « Agrandir » (bouton du bandeau résultats) ---- */
.ie24m-x-exp-ico { width: 15px; height: 15px; flex: none; }
.ie24m-x-exp-ico path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ---- Vue agrandie (overlay) ---- */
body.ie24m-x-noscroll { overflow: hidden; }
/* z-index au-dessus de la barre d'admin WordPress (#wpadminbar = 99999) pour ne pas masquer la croix. */
.ie24m-x-graph-full { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 2.5vh 2vw; background: rgba(28,22,12,0.62); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); animation: ie24m-x-fadein 0.16s ease; }
@keyframes ie24m-x-fadein { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ie24m-x-graph-full { animation: none; } }
.ie24m-x-graph-full-panel { display: flex; flex-direction: column; width: min(1280px, 96vw); height: min(900px, 95vh); background: #fdfbf5; border: 1px solid var(--x-line); border-radius: 14px; box-shadow: 0 24px 70px rgba(20,15,6,0.45); overflow: hidden; }
.ie24m-x-graph-full-head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--x-line); }
.ie24m-x-graph-full-title { font-family: var(--font-voice, Georgia, serif); font-size: 1.1rem; font-weight: 700; color: var(--x-ink); }
.ie24m-x-graph-full-close { flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--x-line); background: #fff; color: var(--x-ink); font-size: 1rem; line-height: 1; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.ie24m-x-graph-full-close:hover { background: var(--x-accent); color: #fff; border-color: var(--x-accent); }
.ie24m-x-graph-fullmount { flex: 1 1 auto; min-height: 0; display: flex; padding: 10px 14px 12px; }
.ie24m-x-graph-fullmount .ie24m-x-graph-wrap { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; background: transparent; border: none; padding: 0; }
.ie24m-x-graph-fullmount .ie24m-x-graph { flex: 1 1 auto; min-height: 0; width: 100%; height: 100%; }
.ie24m-x-graph-fullmount .ie24m-x-graph-legend,
.ie24m-x-graph-fullmount .ie24m-x-graph-cap { flex: none; }
@media (max-width: 600px) {
	.ie24m-x-graph-full { padding: 0; }
	.ie24m-x-graph-full-panel { width: 100vw; height: 100dvh; border: none; border-radius: 0; }
}

/* Actions du bandeau résultats + bouton « Agrandir » depuis la vue Liste */
.ie24m-x-viewactions { display: inline-flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.ie24m-x-vbig {
	display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
	font-family: ui-sans-serif, system-ui, sans-serif;
	font-size: 0.74rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--x-mute); background: none; border: 0; padding: 4px 0;
	transition: color 0.15s ease;
}
.ie24m-x-vbig:hover { color: var(--x-accent); }
.ie24m-x-vbig .ie24m-x-exp-ico { width: 14px; height: 14px; flex: none; }

/* ---- Export PDF / impression : réseau (paysage) + liste + fiche, 1 page chacun ---- */
.ie24m-x-print { display: none; }
@media print {
	@page { size: A4 portrait; margin: 12mm; }
	@page ie24-x-land { size: A4 landscape; margin: 10mm; }
	body.ie24m-x-printing > *:not(.ie24m-x-print) { display: none !important; }
	body.ie24m-x-printing .ie24m-x-print { display: block !important; }
	.ie24m-x-print { color: #20251c; background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.ie24m-x-print-page { page-break-after: always; break-after: page; }
	.ie24m-x-print-page:last-child { page-break-after: auto; break-after: auto; }
	.ie24m-x-print-graph { page: ie24-x-land; }
	.ie24m-x-print-band { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 2px solid #20251c; padding-bottom: 9px; margin-bottom: 16px; }
	.ie24m-x-print-logo { max-height: 36px; width: auto; }
	.ie24m-x-print-site { font-family: var(--font-voice, Georgia, serif); font-size: 19px; font-weight: 700; }
	.ie24m-x-print-meta { text-align: right; }
	.ie24m-x-print-h { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
	.ie24m-x-print-date { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 10px; color: #6b6453; margin-top: 2px; }
	.ie24m-x-print-t { font-family: var(--font-voice, Georgia, serif); font-size: 21px; margin: 0 0 14px; }
	.ie24m-x-print-graph svg { width: 100%; height: auto; max-height: 175mm; display: block; }
	.ie24m-x-print-ul { list-style: none; margin: 0; padding: 0; }
	.ie24m-x-print-li { padding: 9px 0; border-bottom: 1px solid #e2d7bd; break-inside: avoid; page-break-inside: avoid; }
	.ie24m-x-print-name { font-family: var(--font-voice, Georgia, serif); font-size: 15px; display: block; }
	.ie24m-x-print-lisub { display: block; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 11px; color: #6b6453; margin-top: 2px; }
	.ie24m-x-print-lidir { display: block; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 11px; color: #45413a; margin-top: 1px; }
	/* Couleurs explicites du graphe (l'impression ignore parfois les variables CSS). */
	.ie24m-x-print .ie24m-x-edge { stroke: #cdbf9f; stroke-width: 1.2; }
	.ie24m-x-print .ie24m-x-node text { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 12px; fill: #20251c; }
	.ie24m-x-print .ie24m-x-node.is-co circle { fill: #8a1711; stroke: #fff; stroke-width: 2; }
	.ie24m-x-print .ie24m-x-node.is-co text { font-weight: 700; }
	.ie24m-x-print .ie24m-x-node.is-dir circle { fill: #fff; stroke: #1f5fa6; stroke-width: 2.5; }
	.ie24m-x-print .ie24m-x-node.is-dir text { fill: #1f5fa6; }
	/* Contrôles inertes sur papier : lien Infogreffe + filtres de timeline. */
	.ie24m-x-print .ie24m-x-sources,
	.ie24m-x-print .ie24m-x-filters { display: none !important; }
}

/* ---- Sélecteur de périmètre France / Europe + détention (GLEIF) ---- */
.ie24m-x-srcbar { display: inline-flex; gap: 0; margin: 0 auto 0.9rem; border: 1px solid var(--x-line); border-radius: 22px; background: #fff; padding: 3px; }
.ie24m-x-srcbtn { border: 0; background: transparent; cursor: pointer; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.82rem; font-weight: 600; color: #5c5848; padding: 6px 16px; border-radius: 20px; transition: background 0.15s ease, color 0.15s ease; }
.ie24m-x-srcbtn.is-active { background: var(--x-ink); color: #fff; }
.ie24m-x-own { margin-top: 1.2rem; }
.ie24m-x-own-hint { margin-top: 6px; }

/* Carte d'identité GLEIF (fiche Europe) */
.ie24m-x-facts { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0 0 1rem; }
.ie24m-x-facts-k { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--x-mute); align-self: start; }
.ie24m-x-facts-v { font-size: 0.92rem; color: var(--x-ink); margin: 0; }
.ie24m-x-eu-lei { font-size: 0.78rem; color: var(--x-mute); margin: 0 0 1.2rem; font-style: italic; }
@media (max-width: 420px) { .ie24m-x-facts { grid-template-columns: 1fr; gap: 2px 0; } .ie24m-x-facts-v { margin-bottom: 6px; } }

/* Dirigeants UK (chips non cliquables) */
.ie24m-x-chip-static { cursor: default; }
.ie24m-x-chip-static:hover { border-color: var(--x-line); background: #fff; }

/* Faits cliquables (maison mère / mère ultime → fiche) */
.ie24m-x-facts-link { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; color: var(--x-accent); text-align: left; border-bottom: 1px solid color-mix(in srgb, var(--x-accent) 30%, transparent); transition: border-color 0.12s ease; }
.ie24m-x-facts-link:hover { border-bottom-color: var(--x-accent); }

/* Liste cliquable des filiales (fiche Europe/USA) */
.ie24m-x-own-chips { margin-top: 12px; }

/* Fil d'Ariane de navigation (détention Europe/USA) */
.ie24m-x-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 0.9rem; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.82rem; }
.ie24m-x-crumb-link { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; color: var(--x-accent); }
.ie24m-x-crumb-link:hover { text-decoration: underline; }
.ie24m-x-crumb-sep { color: var(--x-mute); }
.ie24m-x-crumb-cur { color: var(--x-mute); font-weight: 600; }

/* Bouton « Voir plus » (pagination liste) */
.ie24m-x-more { display: block; width: 100%; margin: 0.6rem 0 0; padding: 11px 16px; cursor: pointer; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.86rem; font-weight: 600; color: var(--x-ink); background: #fff; border: 1px solid var(--x-line); border-radius: 10px; transition: background 0.15s ease, border-color 0.15s ease; }
.ie24m-x-more:hover { background: #fbf3f1; border-color: var(--x-accent); }
.ie24m-x-more:disabled { opacity: 0.6; cursor: default; }

/* Indice de vigilance (feu vert/orange/rouge + motifs traçables) */
.ie24m-x-vig { margin: 0 0 1rem; padding: 0.85rem 1rem; border: 1px solid var(--x-line); border-radius: 10px; background: #fff; }
.ie24m-x-vig.is-vert { background: #f4faf6; }
.ie24m-x-vig.is-orange { background: #fdf8ef; }
.ie24m-x-vig.is-rouge { background: #fdf3f2; }
.ie24m-x-vig-head { display: flex; align-items: center; gap: 0.6rem; }
.ie24m-x-vig-dot { width: 14px; height: 14px; border-radius: 50%; flex: 0 0 auto; box-shadow: 0 0 0 3px rgba(0,0,0,0.04); }
.is-vert .ie24m-x-vig-dot { background: #1a7f4b; }
.is-orange .ie24m-x-vig-dot { background: #e08b16; }
.is-rouge .ie24m-x-vig-dot { background: #b3261e; }
.ie24m-x-vig-tt { display: flex; flex-direction: column; line-height: 1.2; }
.ie24m-x-vig-kicker { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: #6b6b6b; }
.ie24m-x-vig-level { font-family: Georgia, serif; font-size: 1.06rem; }
.is-vert .ie24m-x-vig-level { color: #155f38; }
.is-orange .ie24m-x-vig-level { color: #9c5e0a; }
.is-rouge .ie24m-x-vig-level { color: #8f1d17; }
.ie24m-x-vig-motifs { list-style: none; margin: 0.7rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.32rem; }
.ie24m-x-vig-motif { display: flex; align-items: flex-start; gap: 0.5rem; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.84rem; color: var(--x-ink); }
.ie24m-x-vig-ic { flex: 0 0 auto; width: 1.05em; text-align: center; font-weight: 700; line-height: 1.45; }
.ie24m-x-vig-motif.is-neg .ie24m-x-vig-ic::before { content: '!'; color: #b3261e; }
.ie24m-x-vig-motif.is-info .ie24m-x-vig-ic::before { content: '\2022'; color: #9c5e0a; }
.ie24m-x-vig-motif.is-pos .ie24m-x-vig-ic::before { content: '\2713'; color: #1a7f4b; }
.ie24m-x-vig-motif.is-neg { font-weight: 600; }
.ie24m-x-vig-note { margin-top: 0.7rem; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.7rem; line-height: 1.4; color: #777; border-top: 1px dotted var(--x-line); padding-top: 0.5rem; }

/* ---- Carte de détention (géographique, SVG) ---- */
.ie24m-x-owntoggle { display: inline-flex; gap: 4px; margin: 0 0 0.7rem; padding: 3px; background: #f0ece2; border-radius: 9px; }
.ie24m-x-map-wrap { margin: 0; }
.ie24m-x-map { width: 100%; height: auto; display: block; border: 1px solid var(--x-line); border-radius: 12px; background: #eef2f5; touch-action: pan-y; }
.ie24m-x-map-bg { fill: #eef2f5; }
.ie24m-x-map-grat line { stroke: #dde4e9; stroke-width: 1; }
.ie24m-x-map-edge { fill: none; stroke: rgba(138, 23, 17, 0.4); stroke-width: 1.6; transition: stroke 0.15s ease, opacity 0.15s ease; }
.ie24m-x-map-edge.is-dim { opacity: 0.18; }
.ie24m-x-map-edge.is-hot { stroke: rgba(138, 23, 17, 0.9); stroke-width: 2.4; }
.ie24m-x-mnode { transition: opacity 0.15s ease; }
.ie24m-x-mnode.is-clickable { cursor: pointer; }
.ie24m-x-mnode.is-dim { opacity: 0.3; }
.ie24m-x-mdot { stroke: #fff; stroke-width: 2; }
.ie24m-x-mnode.is-self .ie24m-x-mdot { fill: #8a1711; }
.ie24m-x-mnode.is-parent .ie24m-x-mdot,
.ie24m-x-mnode.is-ultimate .ie24m-x-mdot { fill: #1f5fa6; }
.ie24m-x-mnode.is-child .ie24m-x-mdot { fill: #5b6b52; }
.ie24m-x-mnode.is-off .ie24m-x-mdot { fill: #9aa0a6; }
.ie24m-x-mnode.is-approx .ie24m-x-mdot { stroke-dasharray: 2 2; }
.ie24m-x-mnode.is-hot .ie24m-x-mdot { stroke: #20251c; stroke-width: 2.6; }
.ie24m-x-mlabel { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 11.5px; font-weight: 700; fill: #20251c; paint-order: stroke; stroke: #eef2f5; stroke-width: 3.2px; stroke-linejoin: round; }
.ie24m-x-mnode.is-self .ie24m-x-mlabel { fill: #8a1711; }
.ie24m-x-mcity { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 9.5px; fill: #6b7280; paint-order: stroke; stroke: #eef2f5; stroke-width: 2.6px; stroke-linejoin: round; }
.ie24m-x-map-legend { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; margin: 0.6rem 0 0.2rem; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.74rem; color: #555; }
.ie24m-x-mlg-self { color: #8a1711; font-weight: 700; }
.ie24m-x-mlg-parent { color: #1f5fa6; font-weight: 700; }
.ie24m-x-mlg-child { color: #5b6b52; font-weight: 700; }
.ie24m-x-map-note { margin-top: 0.3rem; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.68rem; color: #8b8b8b; line-height: 1.4; }

/* Fond de carte : frontières réelles Natural Earth (mer + terre + frontières) */
.ie24m-x-map { background: #e7eef3; }
.ie24m-x-map-bg { fill: #e7eef3; }
.ie24m-x-map-land-c { fill: #e3ebe2; stroke: #9fb2a4; stroke-width: 0.8; stroke-linejoin: round; }

/* Marchés publics remportés (DECP) */
.ie24m-x-mp { margin: 0 0 1.3rem; }
.ie24m-x-mp-list { list-style: none; margin: 0.2rem 0 0; padding: 0; }
.ie24m-x-mp-item { padding: 0.55rem 0; border-bottom: 1px solid var(--x-line); }
.ie24m-x-mp-item:last-child { border-bottom: 0; }
.ie24m-x-mp-head { display: flex; align-items: baseline; gap: 0.7rem; flex-wrap: wrap; }
.ie24m-x-mp-montant { font-family: ui-sans-serif, system-ui, sans-serif; font-weight: 700; font-size: 0.9rem; color: #155f38; }
.ie24m-x-mp-date { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.72rem; color: var(--x-mute); }
.ie24m-x-mp-objet { font-size: 0.86rem; color: var(--x-ink); line-height: 1.4; margin-top: 2px; }

/* Mention éditoriale manuelle (annotation admin) */
.ie24m-x-mention { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0 0 1rem; padding: 0.75rem 1rem; border: 1px solid var(--x-line); border-radius: 10px; }
.ie24m-x-mention.is-alert { background: #fdf3f2; }
.ie24m-x-mention.is-info { background: #fdf8ef; }
.ie24m-x-mention-ic { flex: 0 0 auto; line-height: 1; margin-top: 2px; }
.ie24m-x-mention.is-alert .ie24m-x-mention-ic { color: #b3261e; }
.ie24m-x-mention.is-info .ie24m-x-mention-ic { color: #9c5e0a; }
.ie24m-x-mention-txt { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.9rem; line-height: 1.5; color: var(--x-ink); white-space: pre-line; }
.ie24m-x-mention.is-alert .ie24m-x-mention-txt { font-weight: 600; }

/* Screening sanctions (liste UE) */
.ie24m-x-sanc { margin: 0 0 1rem; padding: 0.75rem 1rem; border: 1px solid var(--x-line); border-radius: 10px; }
.ie24m-x-sanc.is-clear { background: #f4faf6; }
.ie24m-x-sanc.is-hit { background: #fdf3f2; }
.ie24m-x-sanc.is-na { background: #f6f6f4; display: flex; gap: 0.5rem; align-items: baseline; }
.ie24m-x-sanc-head { display: flex; align-items: center; gap: 0.55rem; }
.ie24m-x-sanc-ic { flex: 0 0 auto; line-height: 1; }
.ie24m-x-sanc.is-clear .ie24m-x-sanc-ic { color: #1a7f4b; }
.ie24m-x-sanc.is-hit .ie24m-x-sanc-ic { color: #b3261e; }

/* Icônes en trait (SVG monochrome — jamais d'emoji dans l'interface). */
.ie24m-x-ico { width: 17px; height: 17px; display: inline-block; vertical-align: -3px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ie24m-x-risk .ie24m-x-ico { width: 14px; height: 14px; vertical-align: -2px; }
.ie24m-x-sanc-tt { display: flex; flex-direction: column; line-height: 1.2; }
.ie24m-x-sanc-kicker { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.64rem; letter-spacing: 0.08em; text-transform: uppercase; color: #6b6b6b; }
.ie24m-x-sanc-verdict { font-family: Georgia, serif; font-size: 1rem; }
.ie24m-x-sanc.is-clear .ie24m-x-sanc-verdict { color: #155f38; }
.ie24m-x-sanc.is-hit .ie24m-x-sanc-verdict { color: #8f1d17; }
.ie24m-x-sanc-hits { list-style: none; margin: 0.6rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.ie24m-x-sanc-hit { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.84rem; color: var(--x-ink); }
.ie24m-x-sanc-who { font-weight: 600; }
.ie24m-x-sanc-link { color: var(--x-accent); text-decoration: underline; }
.ie24m-x-sanc-name { font-weight: 600; }
.ie24m-x-sanc-meta { color: var(--x-mute); font-size: 0.78rem; }
.ie24m-x-sanc-note { margin-top: 0.6rem; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.7rem; line-height: 1.4; color: #777; }

/* Bandeau chiffres d'accroche (hero) — ligne discrète */
.ie24m-x-stats { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 0.2rem 1rem; margin: 0.55rem auto 0; font-family: ui-sans-serif, system-ui, sans-serif; }
.ie24m-x-stat { display: inline-flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.ie24m-x-stat:not(:first-child)::before { content: "·"; margin-right: 1rem; color: var(--x-line); }
.ie24m-x-stat-n { font-weight: 700; font-size: 0.9rem; color: var(--x-accent); }
.ie24m-x-stat-l { font-size: 0.74rem; color: var(--x-mute); }
.ie24m-x-stat--warn .ie24m-x-stat-n { color: #b3261e; }

/* Bouton « Suivre cette société » (veille) */
.ie24m-x-follow { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 1rem; padding: 0.5rem 1rem; cursor: pointer; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.86rem; font-weight: 600; color: var(--x-ink); background: #fff; border: 1px solid var(--x-line); border-radius: 20px; transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease; }
.ie24m-x-follow:hover { border-color: var(--x-accent); }
.ie24m-x-follow.is-on { background: var(--x-accent); border-color: var(--x-accent); color: #fff; }
.ie24m-x-follow-ico { font-size: 1rem; line-height: 1; }

/* ======================================================================
   Fiche dirigeant (veille sur une personne)
   ====================================================================== */
.ie24m-p-list { list-style: none; margin: 0; padding: 0; }
.ie24m-p-list > li { padding: 0.55rem 0; border-top: 1px solid var(--rule, #e5ddc8);
	display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.6rem;
}
.ie24m-p-list > li:first-child { border-top: 0; }
.ie24m-p-soc { font-weight: 700; color: var(--ink, #16140d); text-decoration: none; }
.ie24m-p-soc:hover { color: var(--accent, #8a1711); }
.ie24m-p-role { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 11px;
	font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
	color: var(--accent, #8a1711); border: 1px solid currentColor;
	border-radius: 3px; padding: 0 6px; line-height: 17px;
}
.ie24m-p-meta { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 12px; color: #8a8674; }
.ie24m-p-homo { margin: 0.5rem 0 0; padding-left: 1.1rem; font-size: 0.9rem; color: #5c5848; }
.ie24m-x-note { margin: 0 0 0.6rem; font-size: 0.86rem; line-height: 1.5; color: #8a6100;
	background: #fdf6e3; padding: 0.5rem 0.7rem; border-radius: 2px;
}
.ie24m-p-cnx a { text-decoration: none; color: var(--ink, #16140d); font-weight: 600; }
.ie24m-p-cnx a:hover { color: var(--accent, #8a1711); }

/* Réseau dans la fiche dirigeant : même cadre que les autres blocs, bouton
   « Agrandir » aligné à droite du titre de section. */
.ie24m-x-block--reseau .ie24m-x-sec-t { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ie24m-x-block--reseau .ie24m-x-graph-mount { margin-top: 0.6rem; }

/* ======================================================================
   Résultats : liste ET réseau visibles ensemble
   ----------------------------------------------------------------------
   Après une recherche, l'outil montrait l'un OU l'autre : la moitié de ce
   qu'il sait faire restait invisible. Les deux cohabitent désormais, et les
   boutons de la barre servent à donner toute la place à l'un des deux.
   ====================================================================== */
/* Requête de CONTENEUR : ce bloc vit dans le contenu d'une page, dont la
   largeur dépend du gabarit. Une requête média aurait scindé en deux colonnes
   de 300px sur une fenêtre large mais un contenu étroit. */
.ie24m-x { container-type: inline-size; container-name: ie24x; }
.ie24m-x-duo { display: block; }
@container ie24x (min-width: 900px) {
	.ie24m-x-duo {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		gap: 1.2rem;
		align-items: start;
	}
	/* Le DOM place le réseau en premier (ordre voulu une fois empilé) ; en deux
	   colonnes on rétablit « liste à gauche, réseau à droite ». */
	.ie24m-x-duo .ie24m-x-col--list { order: 1; }
	.ie24m-x-duo .ie24m-x-col--graph { order: 2; position: sticky; top: 1rem; margin-bottom: 0; }
	/* Une fiche est ouverte : on repasse en pleine largeur, réseau au-dessus de
	   la liste, pour ne pas aligner trois encadrés de front. */
	.ie24m-x-duo.is-stacked { display: block; }
	.ie24m-x-duo.is-stacked .ie24m-x-col--graph { position: static; margin-bottom: 1.2rem; }
}
@supports not (container-type: inline-size) {
	@media (min-width: 1100px) {
		.ie24m-x-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 1.2rem; align-items: start; }
		.ie24m-x-duo .ie24m-x-col--list { order: 1; }
		.ie24m-x-duo .ie24m-x-col--graph { order: 2; margin-bottom: 0; }
		.ie24m-x-duo.is-stacked { display: block; }
		.ie24m-x-duo.is-stacked .ie24m-x-col--graph { margin-bottom: 1.2rem; }
	}
}
/* Le réseau occupe toute la largeur, avec une hauteur DÉFINIE : sans elle, un
   graphe à l'échelle de la page repousserait la liste hors de l'écran. Hauteur
   plutôt que « max-height + overflow », qui aurait rogné les nœuds des bords au
   lieu de mettre le graphe à l'échelle — le SVG, en « meet », se contente de
   s'inscrire dans la boîte qu'on lui donne. */
.ie24m-x-col--graph .ie24m-x-graph-mount { height: clamp(260px, 42vh, 460px); }
.ie24m-x-col--graph .ie24m-x-graph-wrap { height: 100%; display: flex; flex-direction: column; }
.ie24m-x-col--graph .ie24m-x-graph { flex: 1; min-height: 0; height: auto; }
.ie24m-x-col--list { min-width: 0; }
.ie24m-x-col--graph { min-width: 0; margin-bottom: 1.2rem; }
.ie24m-x-col-t {
	font-family: ui-sans-serif, system-ui, sans-serif;
	font-size: 10.5px; font-weight: 700; letter-spacing: 0.14em;
	text-transform: uppercase; color: var(--x-mute);
	padding-bottom: 0.4rem; margin-bottom: 0.6rem;
	border-bottom: 1px solid var(--x-line);
}

