/**
 * ie24 — La Matinale : portail abonné (front).
 * S'intègre au thème ; réutilise --accent quand il est défini.
 */

.ie24m-card { max-width: 560px;
	margin: 1.5rem 0;
	padding: 1.6rem 1.8rem;
	background: #fffdf8;
	border: 1px solid #e2d7bd;
	border-radius: 10px;
}

.ie24m-h { margin: 0 0 0.8rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.ie24m-lede { margin: 0 0 1.1rem;
	color: #4a4636;
	font-size: 1.02rem;
	line-height: 1.55;
}

.ie24m-form { max-width: 560px;
	margin: 1.2rem 0;
}

.ie24m-field { display: block;
	margin: 0 0 0.9rem;
}

.ie24m-field > span { display: block;
	margin-bottom: 0.25rem;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #5c5848;
}

.ie24m-field input[type="text"],
.ie24m-field input[type="email"] { width: 100%;
	box-sizing: border-box;
	padding: 0.6rem 0.7rem;
	font-size: 1rem;
	border: 1px solid #cdbf9f;
	border-radius: 6px;
	background: #fff;
	color: #20251c;
}

.ie24m-field input:focus { outline: none;
	border-color: var(--accent, #8a1711);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #8a1711) 14%, transparent);
}

/* Les couleurs/texte sont en !important pour résister aux styles de lien du
   thème hôte (ex. « .lj-prose a { color: rouge; text-decoration: underline } »
   du thème ie24), qui sinon rendaient le bouton-lien rouge sur rouge. */
.ie24m-btn { display: inline-block;
	-webkit-appearance: none;
	appearance: none;
	padding: 0.62rem 1.3rem;
	font: 600 0.95rem/1.2 inherit;
	color: #fff !important;
	background: var(--accent, #8a1711);
	border: 1px solid var(--accent, #8a1711);
	border-radius: 6px;
	text-decoration: none !important;
	cursor: pointer;
	transition: opacity 0.15s ease, background 0.15s ease;
}

.ie24m-btn:hover { opacity: 0.92; color: #fff !important; }

/* Secondaire neutre : se distingue nettement du bouton d'action rouge.
   Couleur en !important aussi, sinon le !important du bouton de base la
   recouvrirait (blanc sur transparent = invisible). */
.ie24m-btn--ghost { color: #5c5848 !important;
	background: transparent;
	border-color: #cdbf9f;
}

.ie24m-btn--ghost:hover { color: #20251c !important; background: rgba(0, 0, 0, 0.045); border-color: #b9aa86; opacity: 1; }

.ie24m-hint { margin: 0.75rem 0 0;
	font-size: 0.82rem;
	color: #8a8674;
	line-height: 1.5;
}

.ie24m-hint a { color: var(--accent, #8a1711); }

.ie24m-linkbtn { background: none;
	border: 0;
	padding: 0;
	font: inherit;
	color: var(--accent, #8a1711);
	text-decoration: underline;
	cursor: pointer;
}

.ie24m-notice { max-width: 560px;
	margin: 0 0 1.1rem;
	padding: 0.75rem 1rem;
	border-radius: 6px;

	font-size: 0.94rem;
}

.ie24m-notice--ok { background: #eef5e6; border-color: #2f6b2f; color: #27500a; }
.ie24m-notice--err { background: #fcebe9; border-color: var(--accent, #8a1711); color: #7a1410; }

.ie24m-dl { margin: 0 0 1.2rem;
	display: grid;
	gap: 0.55rem;
}

.ie24m-dl > div { display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 0.55rem;
	border-bottom: 1px solid #efe7d4;
}

.ie24m-dl dt { margin: 0; font-size: 0.82rem; font-weight: 600; color: #5c5848; }
.ie24m-dl dd { margin: 0; text-align: right; color: #20251c; }

.ie24m-actions { display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 0 0 0.6rem;
}

.ie24m-group { margin: 0 0 1.4rem;
	padding: 0.9rem 1.1rem 1.1rem;
	border: 1px solid #e2d7bd;
	border-radius: 8px;
}

.ie24m-group > legend { padding: 0 0.5rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent, #8a1711);
}

.ie24m-radio { display: block; margin: 0.2rem 0; }

.ie24m-subgroup { margin: 0.6rem 0 0.9rem; }
.ie24m-subgroup-t { display: block;
	margin-bottom: 0.35rem;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8a8674;
}

.ie24m-checks { display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 0.2rem 0.9rem;
}

.ie24m-check { display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.92rem;
	color: #2f2c22;
}

/* Option de la pastille « nouveaux articles » : séparée de la liste des thèmes. */
.ie24m-badge-opt { margin-top: 0.8rem; padding-top: 0.7rem; border-top: 1px solid var(--rule, #efe7d4); color: #5c5848; }

@media (max-width: 540px) {
	.ie24m-card, .ie24m-form { padding-left: 1.1rem; padding-right: 1.1rem; }
	.ie24m-checks { grid-template-columns: 1fr 1fr; }
}

/* ======================================================================
   Formulaire d'abonnement — façon journal papier (filet & cartouche)
   ====================================================================== */
.ie24m-kick { font-family: ui-sans-serif, system-ui, -apple-system, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent, #8a1711); }
.ie24m-kick i { font-style: normal; color: #b9aa86; }
.ie24m-kick em { font-style: normal; color: #6f6a5c; letter-spacing: 0.06em; }

.ie24m-sub-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0; }
/* Champ piège anti-spam : hors écran, jamais vu ni tabulé par un humain. */
.ie24m-hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ie24m-sub-name, .ie24m-sub-email { font-family: ui-sans-serif, system-ui, -apple-system, sans-serif; font-size: 14px; color: #20251c;
	background: transparent; border: 0; border-bottom: 1px solid #b9aa86; border-radius: 0;
	padding: 5px 2px; outline: none; min-width: 0; transition: border-color 0.18s ease;
}
.ie24m-sub-email { width: 180px; }
.ie24m-sub-name { width: 110px; }
.ie24m-sub-name::placeholder, .ie24m-sub-email::placeholder { color: #a99e84; }
.ie24m-sub-name:focus, .ie24m-sub-email:focus { border-bottom: 2px solid var(--accent, #8a1711); }

/* Prénom révélé au focus / survol du formulaire (compact + dynamique). */
.ie24m-name-wrap { max-width: 0; opacity: 0; overflow: hidden; transition: max-width 0.28s ease, opacity 0.28s ease; }
.ie24m-sub-form:focus-within .ie24m-name-wrap, .ie24m-sub-form:hover .ie24m-name-wrap { max-width: 130px; opacity: 1; }

.ie24m-sub-btn { font-family: ui-sans-serif, system-ui, -apple-system, sans-serif; font-size: 13px; font-weight: 600;
	color: #fff; background: var(--accent, #8a1711); border: 0; border-radius: 4px;
	padding: 8px 15px; white-space: nowrap; cursor: pointer; transition: background 0.15s ease;
}
.ie24m-sub-btn:hover { background: #73130e; }
.ie24m-sub-btn:disabled { opacity: 0.6; cursor: default; }
.ie24m-arrow { display: inline-block; transition: transform 0.18s ease; }
.ie24m-sub-btn:hover .ie24m-arrow { transform: translateX(3px); }

/* Filet (barre horizontale ultra-compacte) */
.ie24m-filet { font-family: var(--font-voice, Georgia, "Times New Roman", serif); color: #20251c;
	border-top: 2px solid #20251c; border-bottom: 1px solid #c9bd9d; padding: 11px 0;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin: 1.4rem 0;
}
.ie24m-filet-lede { min-width: 200px; }
.ie24m-filet-teaser { display: block; font-size: 16px; font-style: italic; line-height: 1.3; margin-top: 3px; }

/* Cartouche (encadré filet) */
.ie24m-cartouche { font-family: var(--font-voice, Georgia, "Times New Roman", serif); color: #20251c; position: relative;
	border: 1px solid #c9bd9d; padding: 16px 18px; margin: 1.4rem 0; max-width: 460px;
}
.ie24m-corner { position: absolute; top: -1px; left: -1px; width: 14px; height: 14px; border-top: 3px solid var(--accent, #8a1711); border-left: 3px solid var(--accent, #8a1711); }
.ie24m-cartouche .ie24m-kick { display: block; margin-bottom: 5px; }
.ie24m-cartouche-title { font-size: 20px; font-weight: 700; line-height: 1.2; margin: 0 0 11px; }
.ie24m-cartouche .ie24m-sub-email { flex: 1; }
.ie24m-cartouche-legal { font-family: ui-sans-serif, system-ui, -apple-system, sans-serif; font-size: 10.5px; color: #a09a88; margin: 9px 0 0; }

/* Confirmation en ligne (AJAX) + état « déjà abonné » */
.ie24m-sub-result { font-family: ui-sans-serif, system-ui, -apple-system, sans-serif; font-size: 14px; padding: 8px 0; opacity: 0; transform: translateY(4px); transition: opacity 0.2s ease, transform 0.2s ease; }
.ie24m-sub-result.is-in { opacity: 1; transform: none; }
.ie24m-sub-result.is-ok { color: #27500a; font-weight: 600; }
.ie24m-sub-result.is-err { color: #b3261e; }
.ie24m-sub-already { font-family: ui-sans-serif, system-ui, -apple-system, sans-serif; font-size: 14px; color: #4a4636; }
.ie24m-sub-already a { color: var(--accent, #8a1711); font-weight: 600; text-decoration: none; }

/* Accès unifié (page « Mon compte ») : connexion OU inscription, présenté en
   carte. Réutilise le moteur du formulaire d'abonnement, mais empilé et boxé,
   avec l'e-mail en premier et le prénom (facultatif) toujours visible. */
.ie24m-access-lede { margin: 0 0 1.1rem; color: #4a4636; font-size: 1rem; line-height: 1.55; }
.ie24m-access-form { flex-direction: column; align-items: stretch; gap: 0.9rem; }
.ie24m-access-form .ie24m-sub-email { order: 1; }
/* Prénom TOUJOURS déplié ici (on annule le repli « révélé au focus » de la
   cartouche, dont le sélecteur :focus-within/:hover est plus spécifique). */
.ie24m-access-form .ie24m-name-wrap,
.ie24m-sub-form.ie24m-access-form:hover .ie24m-name-wrap,
.ie24m-sub-form.ie24m-access-form:focus-within .ie24m-name-wrap { order: 2; max-width: none; opacity: 1; overflow: visible; width: 100%; }
.ie24m-access-form .ie24m-sub-fonction { order: 3; }
.ie24m-access-form .ie24m-sub-btn { order: 4; }
.ie24m-access-form .ie24m-sub-name,
.ie24m-access-form .ie24m-sub-fonction,
.ie24m-access-form .ie24m-sub-email { width: 100%; box-sizing: border-box; padding: 0.6rem 0.7rem; font-size: 1rem;
	border: 1px solid #cdbf9f; border-radius: 6px; background: #fff;
}
.ie24m-access-form .ie24m-sub-name:focus,
.ie24m-access-form .ie24m-sub-fonction:focus,
.ie24m-access-form .ie24m-sub-email:focus { border-color: var(--accent, #8a1711); border-width: 1px;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #8a1711) 14%, transparent);
}
.ie24m-access-form .ie24m-sub-btn { width: 100%; padding: 0.62rem 1.3rem; font-size: 0.95rem; }
.ie24m-access-hint { margin: 0.9rem 0 0; font-size: 0.82rem; color: #8a8674; line-height: 1.5; }

/* Inscription COMPLÈTE (Prénom + Fonction obligatoires) : empilée et lisible
   — on ne peut plus « révéler au focus » un champ requis (invisible = envoi
   bloqué sans explication). Conserve l'esthétique « journal » (filets). */
.ie24m-sub-form--full { flex-direction: column; align-items: stretch; gap: 11px; }
.ie24m-sub-form--full .ie24m-sub-name,
.ie24m-sub-form--full .ie24m-sub-email,
.ie24m-sub-form--full .ie24m-sub-fonction { width: 100%; box-sizing: border-box; flex: 0 0 auto; }
.ie24m-sub-fonction { font-family: ui-sans-serif, system-ui, -apple-system, sans-serif; font-size: 14px; color: #20251c;
	background: transparent; border: 0; border-bottom: 1px solid #b9aa86; border-radius: 0;
	padding: 6px 2px; outline: none; cursor: pointer;
}
.ie24m-sub-fonction:focus { border-bottom: 2px solid var(--accent, #8a1711); }
.ie24m-sub-form--full .ie24m-sub-btn { margin-top: 2px; align-self: flex-start; }
/* Dans le « filet » (barre horizontale), l'inscription complète passe sur sa
   propre ligne pleine largeur sous l'accroche, au lieu d'une colonne étriquée. */
.ie24m-filet .ie24m-sub-form--full { flex: 1 1 100%; margin-top: 8px; }

/* Select dans les cartes « .ie24m-field » (page Mes préférences) : même boîte
   que les autres champs. */
.ie24m-field select { width: 100%; box-sizing: border-box; padding: 0.6rem 0.7rem; font-size: 1rem;
	border: 1px solid #cdbf9f; border-radius: 6px; background: #fff; color: #20251c;
}
.ie24m-field select:focus { outline: none; border-color: var(--accent, #8a1711);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #8a1711) 14%, transparent);
}

@media (prefers-reduced-motion: reduce) {
	.ie24m-name-wrap, .ie24m-arrow, .ie24m-sub-result { transition: none; }
}
@media (max-width: 520px) {
	.ie24m-filet { flex-direction: column; align-items: stretch; }
	.ie24m-sub-form { width: 100%; }
	.ie24m-sub-email { width: 100%; flex: 1; }
}

/* ======================================================================
   Agenda / Événements
   ====================================================================== */
.ie24m-agenda { max-width: 640px; }
.ie24m-agenda-empty { color: #8a8674; font-style: italic; }
.ie24m-ev { display: flex; gap: 16px; padding: 18px 0; border-top: 1px solid #ddd2bb; }
.ie24m-ev:first-child { border-top: 2px solid #20251c; }
.ie24m-ev-date { flex: 0 0 auto; width: 58px; text-align: center; border: 1px solid var(--accent, #8a1711); color: var(--accent, #8a1711); padding: 7px 0; align-self: flex-start; }
.ie24m-ev-day { display: block; font-family: var(--font-voice, Georgia, serif); font-size: 24px; font-weight: 700; line-height: 1; }
.ie24m-ev-mon { display: block; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 2px; }
.ie24m-ev-body { flex: 1; min-width: 0; }
.ie24m-ev-title { margin: 0 0 4px; font-size: 18px; line-height: 1.25; font-family: var(--font-voice, Georgia, serif); }
.ie24m-ev-title a { color: #20251c; text-decoration: none; }
.ie24m-ev-title a:hover { color: var(--accent, #8a1711); }
.ie24m-ev-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 12px; color: #8a8674; margin-bottom: 6px; }
.ie24m-ev-tag { color: var(--accent, #8a1711); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
.ie24m-ev-excerpt { font-family: var(--font-voice, Georgia, serif); font-size: 14px; color: #5c5848; line-height: 1.5; margin: 0 0 9px; }
.ie24m-ev-cta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 13px; }
.ie24m-ev-in { color: #27500a; font-weight: 600; }
.ie24m-ev-full { color: #b3261e; font-weight: 600; }
.ie24m-ev-seats { color: #8a8674; font-size: 12px; }
@media (max-width: 520px) { .ie24m-ev { gap: 12px; } }

/* ======================================================================
   Espace membre : badges, parrainage, listes, favoris
   ====================================================================== */
.ie24m-badge { display: inline-block; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: var(--accent, #8a1711); border: 1px solid var(--accent, #8a1711); border-radius: 3px; padding: 1px 7px; margin: 0 2px 2px 0; }
.ie24m-refer-link { display: flex; gap: 8px; margin: 0 0 0.6rem; }
.ie24m-refer-link input { flex: 1; min-width: 0; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 13px; padding: 7px 9px; border: 1px solid #cdbf9f; border-radius: 6px; background: #fff; color: #20251c; }
.ie24m-refer-count { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 13px; color: #5c5848; margin: 0 0 1rem; }
.ie24m-list { list-style: none; margin: 0; padding: 0; }
.ie24m-list li { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; padding: 8px 0; border-top: 1px solid #efe7d4; }
.ie24m-list li:first-child { border-top: 0; }
.ie24m-list a { color: #20251c; text-decoration: none; font-family: var(--font-voice, Georgia, serif); }
.ie24m-list a:hover { color: var(--accent, #8a1711); }
.ie24m-list-date { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 12px; color: #a09a88; white-space: nowrap; }

/* « Les éditions reçues » : compteur discret dans le titre + liste bornée en
   hauteur (défilement interne) dès qu'elle s'allonge, pour garder la carte
   compacte quel que soit le nombre d'éditions. */
.ie24m-h-count { font: 600 0.72em/1 ui-sans-serif, system-ui, -apple-system, sans-serif; color: #a09a88; vertical-align: middle; }
.ie24m-ed-scroll.is-scroll { max-height: 15rem; overflow-y: auto; overscroll-behavior: contain; padding-right: 8px; scrollbar-width: thin; scrollbar-color: #d9cdaf transparent; }
.ie24m-ed-scroll.is-scroll::-webkit-scrollbar { width: 8px; }
.ie24m-ed-scroll.is-scroll::-webkit-scrollbar-thumb { background: #d9cdaf; border-radius: 4px; }
.ie24m-ed-scroll.is-scroll::-webkit-scrollbar-track { background: transparent; }
.ie24m-ed-note { margin: 0.6rem 0 0; font-size: 0.8rem; color: #a09a88; font-family: ui-sans-serif, system-ui, -apple-system, sans-serif; }

/* ======================================================================
   « Mon compte » — tableau de bord à onglets, esprit journal
   ====================================================================== */

/* Manchette : filet épais d'ouverture, salutation en Didone du thème, actions
   à droite. Reprend les jetons du thème hôte (polices, filets) avec replis. */
.ie24m-account-head { border-top: 3px solid var(--rule-strong, #1a160d);
	padding: 14px 0 4px;
	margin: 1.2rem 0 0;
	display: flex; flex-wrap: wrap; gap: 12px 20px;
	justify-content: space-between; align-items: flex-end;
}
.ie24m-account-name { font-family: var(--font-display, var(--font-voice, Georgia, "Times New Roman", serif));
	font-weight: 800; letter-spacing: -0.01em;
	font-size: 2rem; line-height: 1.08; margin: 0.3rem 0 0.35rem;
	color: var(--ink, #16140d);
}
.ie24m-account-meta { margin: 0; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 12.5px; color: var(--ink-mute, #6d6552); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ie24m-account-meta i { font-style: normal; color: var(--rule, #d4cbb2); }
.ie24m-account-actions { margin: 0 0 0.35rem; display: flex; flex-wrap: wrap; gap: 0.55rem; }

/* Barre d'onglets façon rubriques de journal : capitales espacées, filet bas,
   actif souligné à l'encre rouge. Défile horizontalement sur mobile. */
.ie24m-tabbar { display: flex; gap: 6px;
	border-bottom: 1px solid var(--rule, #c9bd9d);
	margin: 10px 0 1.4rem;
	overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.ie24m-tabbar::-webkit-scrollbar { display: none; }
.ie24m-tab { font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-weight: 700; font-size: 11.5px; line-height: 1;
	letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--ink-mute, #6d6552); text-decoration: none; white-space: nowrap;
	padding: 11px 13px 12px; border-bottom: 3px solid transparent;
	margin-bottom: -1px; /* le soulignement chevauche le filet de la barre. */
	transition: color 0.15s ease, border-color 0.15s ease;
}
.ie24m-tab:hover { color: var(--ink, #16140d); }
.ie24m-tab.is-active { color: var(--accent, #8a1711); border-bottom-color: var(--accent, #8a1711); }

/* Tableau de bord : sur grand écran, scindé en deux colonnes — « Mes marchés »
   à gauche (colonne étroite, épinglée au défilement), « Mes thématiques » à
   droite (large). En dessous de 980px : empilement normal. */
@media (min-width: 980px) {
	.ie24m-panel--cols { display: grid;
		grid-template-columns: minmax(300px, 370px) minmax(0, 1fr);
		gap: 1.4rem; align-items: start;
	}
	.ie24m-panel--cols .ie24m-panel-title { grid-column: 1 / -1; }
	/* Colonne latérale (veille + marchés) épinglée pendant la lecture du fil. */
	.ie24m-panel--cols > .ie24m-board-side { position: sticky; top: 1.2rem; }
	.ie24m-panel--cols .ie24m-board-side > .ie24m-card { margin: 0 0 1.4rem; }
	.ie24m-panel--cols .ie24m-board-side > .ie24m-card:last-child { margin-bottom: 0; }
	.ie24m-panel--cols .ie24m-board-main > .ie24m-card { margin: 0; }
}

/* Panneaux : cachés seulement quand le JS a pris la main (.js-tabs) ; sinon
   tout reste empilé, chaque section gardant son titre (repli sans JS). */
.ie24m-panel-title { font-family: var(--font-voice, Georgia, "Times New Roman", serif); font-size: 1.35rem; margin: 1.6rem 0 0.7rem; }
.js-tabs .ie24m-panel { display: none; }
.js-tabs .ie24m-panel.is-active { display: block; animation: ie24m-fade 0.28s ease; }
.js-tabs .ie24m-panel-title { display: none; }
/* Le panneau scindé garde sa grille quand il est actif (source après la règle
   « block » ci-dessus, même spécificité → c'est elle qui l'emporte). */
@media (min-width: 980px) {
	.js-tabs .ie24m-panel--cols.is-active { display: grid; }
}
@keyframes ie24m-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Dans les panneaux, les cartes occupent la colonne entière (lecture large)
   et s'enchaînent verticalement avec un rythme régulier. */
.ie24m-panel .ie24m-card { max-width: none; margin: 0 0 1.3rem; }
.ie24m-panel .ie24m-account-foot { margin: 1.4rem auto 0; }

/* Fil « Mes thématiques » : une « cover » (titre posé sur l'image, dégradé
   d'encre, kicker en cartouche accent) + vignettes 3/2, comme les cartes du
   site. Typo alignée sur le thème : Didone pour les titres, sans pour la méta. */
.ie24m-card--feed .ie24m-h { margin-bottom: 1rem; }
.ie24m-feed-lead { padding-bottom: 14px; border-bottom: 1px solid var(--rule, #d4cbb2); }

.ie24m-feed-cover { position: relative; display: block; overflow: hidden; border-radius: 6px; background: var(--paper-3, #e1dccd); }
.ie24m-feed-cover img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 0.9s cubic-bezier(0.2, 0.6, 0.2, 1); }
.ie24m-feed-lead--cover:hover .ie24m-feed-cover img { transform: scale(1.035); }
.ie24m-feed-cover::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(22, 20, 13, 0) 34%, rgba(22, 20, 13, 0.42) 62%, rgba(22, 20, 13, 0.88) 100%);
}
.ie24m-feed-cover-cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 20px 18px 15px; }
.ie24m-feed-cover-kick { display: inline-block; background: var(--accent, #8a1711); color: #fff;
	font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-weight: 700; font-size: 10px; line-height: 1; letter-spacing: 0.16em; text-transform: uppercase;
	padding: 4px 8px 3px; border-radius: 2px;
}
.ie24m-feed-cover-title { display: block; margin-top: 9px;
	font-family: var(--font-display, var(--font-voice, Georgia, serif));
	font-weight: 800; letter-spacing: -0.01em; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.12;
	color: #fff; text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}
.ie24m-feed-lead--cover:hover .ie24m-feed-cover-title { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.ie24m-feed-cover-meta { display: block; margin-top: 7px; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 11px; letter-spacing: 0.05em; color: rgba(247, 245, 238, 0.85); }

.ie24m-feed-kick { display: block; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-weight: 700; font-size: 10.5px; line-height: 1.7; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent, #8a1711); }
.ie24m-feed-title { font-family: var(--font-display, var(--font-voice, Georgia, "Times New Roman", serif)); font-weight: 800; letter-spacing: -0.01em; color: var(--ink, #16140d); text-decoration: none; display: inline-block; transition: color 0.15s ease; }
.ie24m-feed-title:hover { color: var(--accent, #8a1711); }
.ie24m-feed-lead .ie24m-feed-title { font-size: 1.32rem; line-height: 1.16; }
.ie24m-feed-teaser { font-family: var(--font-serif, var(--font-voice, Georgia, "Times New Roman", serif)); font-size: 0.95rem; color: var(--ink-soft, #322d20); line-height: 1.55; margin: 0.6rem 0 0; }
.ie24m-feed-meta { font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 11px; letter-spacing: 0.04em; color: var(--ink-mute, #6d6552); margin: 0.45rem 0 0; }
.ie24m-feed-item { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 14px; align-items: center; padding: 13px 0; border-top: 1px solid var(--rule, #e0d8c2); }
.ie24m-feed-list .ie24m-feed-item:first-child { border-top: 0; }
.ie24m-feed-thumb { display: block; overflow: hidden; border-radius: 5px; }
.ie24m-feed-thumb img { display: block; width: 90px; height: 60px; object-fit: cover; transition: transform 0.9s cubic-bezier(0.2, 0.6, 0.2, 1); }
.ie24m-feed-item:hover .ie24m-feed-thumb img { transform: scale(1.035); }
.ie24m-feed-thumb.is-empty { display: flex; align-items: center; justify-content: center; width: 90px; height: 60px; background: var(--paper-3, #e1dccd); color: var(--ink-mute, #a89f87); font-family: var(--font-display, Georgia, serif); font-size: 24px; }
.ie24m-feed-item .ie24m-feed-title { font-size: 1.02rem; line-height: 1.22; }
.ie24m-feed-item .ie24m-feed-meta { margin-top: 0.2rem; }

/* Encadré compact « Ma veille » (tableau de bord, au-dessus de « Mes marchés »).
   Alertes en tête avec icône en trait ; lien qui bascule vers l'onglet veille. */
.ie24m-wd-list { list-style: none; margin: 0; padding: 0; }
.ie24m-wd-item { display: flex; align-items: flex-start; gap: 9px; padding: 9px 0; border-top: 1px solid var(--rule, #e0d8c2); }
.ie24m-wd-list .ie24m-wd-item:first-child { border-top: 0; padding-top: 2px; }
.ie24m-wd-item .ie24m-ico { flex: none; width: 15px; height: 15px; margin-top: 2px; color: var(--accent, #8a1711); }
.ie24m-wd-txt { min-width: 0; }
.ie24m-wd-name { display: block; font-family: var(--font-serif, var(--font-voice, Georgia, serif)); font-weight: 700; font-size: 0.95rem; line-height: 1.3; color: var(--ink, #16140d); text-decoration: none; }
.ie24m-wd-name:hover { color: var(--accent, #8a1711); }
.ie24m-wd-chg { display: block; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 11.5px; color: var(--ink-mute, #6d6552); margin-top: 1px; }
.ie24m-wd-more { margin: 0.4rem 0 0; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 11.5px; color: var(--ink-mute, #6d6552); }
.ie24m-wd-ras { margin: 0.2rem 0 0; font-family: var(--font-serif, Georgia, serif); font-size: 0.92rem; color: var(--ink-soft, #322d20); }

/* ======================================================================
   Modules de veille : risque industriel, marchés européens (TED),
   lobbying (HATVP), repères macro. Styles communs à la fiche société
   (« Intelligence entreprises ») et aux shortcodes.
   ====================================================================== */

/* Enveloppe d'un bloc injecté dans la fiche société. */
.ie24m-x-block { margin-top: 1.5rem; padding-top: 1.1rem; border-top: 1px solid var(--rule, #e2d7bd); }
.ie24m-x-block-body { font-family: var(--font-serif, Georgia, serif); }

/* Listes des blocs risque / lobbying. */
.ie24m-r-list { list-style: none; margin: 0.2rem 0 0; padding: 0; }
.ie24m-r-item { padding: 0.6rem 0; border-bottom: 1px solid var(--rule, #efe7d4); }
.ie24m-r-list .ie24m-r-item:last-child { border-bottom: 0; }
.ie24m-r-nom { display: inline-block; font-family: var(--font-serif, Georgia, serif); font-weight: 700; font-size: 0.98rem; color: var(--ink, #20251c); }
.ie24m-r-nom a { color: inherit; text-decoration: none; }
.ie24m-r-nom a:hover { color: var(--accent, #8a1711); }
.ie24m-r-meta { display: block; margin-top: 2px; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 0.76rem; color: var(--ink-mute, #8a8674); line-height: 1.45; }
.ie24m-r-date { float: right; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 0.72rem; color: var(--ink-mute, #a09a88); font-variant-numeric: tabular-nums; }
.ie24m-r-tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 3px;
	font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 0.64rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
	color: var(--ink-mute, #6f6a5c); background: var(--paper-2, #f2ecdc); border: 1px solid var(--rule, #e2d7bd);
}
.ie24m-r-tag.is-seveso { color: #fff; background: var(--accent, #8a1711); border-color: var(--accent, #8a1711); }
.ie24m-r-ctx { margin: 0.7rem 0 0; font-family: var(--font-serif, Georgia, serif); font-size: 0.9rem; color: var(--ink-soft, #5c5848); }
.ie24m-r-sub { margin: 1rem 0 0.35rem; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 0.66rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent, #8a1711);
}
.ie24m-r-note { margin: 0.7rem 0 0; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 0.72rem; line-height: 1.5; color: var(--ink-mute, #a09a88); }
.ie24m-r-note a { color: var(--accent, #8a1711); }
.ie24m-r-item--rappel .ie24m-r-nom { font-weight: 600; }

/* Marchés publics européens (TED). */
.ie24m-t-list { list-style: none; margin: 0.2rem 0 0; padding: 0; }
.ie24m-t-item { padding: 0.6rem 0; border-bottom: 1px solid var(--rule, #efe7d4); }
.ie24m-t-list .ie24m-t-item:last-child { border-bottom: 0; }
.ie24m-t-titre { display: block; font-family: var(--font-serif, Georgia, serif); font-weight: 700;
	font-size: 0.98rem; line-height: 1.3; color: var(--ink, #20251c); text-decoration: none;
}
.ie24m-t-titre:hover { color: var(--accent, #8a1711); }
.ie24m-t-meta { display: block; margin-top: 3px; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 0.75rem; color: var(--ink-mute, #8a8674); }

/* Lobbying (HATVP). */
.ie24m-l-lead { margin: 0 0 0.5rem; font-family: var(--font-serif, Georgia, serif); font-size: 0.96rem; color: var(--ink-soft, #322d20); }
.ie24m-l-clients { margin: 0; font-family: var(--font-serif, Georgia, serif); font-size: 0.9rem; line-height: 1.55; color: var(--ink-soft, #5c5848); }

/* Repères macro (Eurostat + BCE). */
.ie24m-macro-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(126px, 1fr)); gap: 8px; }
.ie24m-macro-tile { padding: 10px 12px 9px; border: 1px solid var(--rule, #d8d2c2); border-radius: 6px;
	background: var(--white, #fbf8ee); display: flex; flex-direction: column; gap: 2px;
}
.ie24m-macro-label { font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-mute, #8a8674); }
.ie24m-macro-val { font-family: var(--font-serif, Georgia, serif); font-size: 1.32rem; font-weight: 700; line-height: 1.1; color: var(--ink, #20251c); font-variant-numeric: tabular-nums; }
.ie24m-macro-unit { font-size: 0.82rem; margin-left: 1px; color: var(--ink-mute, #6f6a5c); }
.ie24m-macro-sub { font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif); font-size: 0.68rem; color: var(--ink-mute, #a09a88); }

/* Pastille « nouveaux articles » (onglet + titre de carte). Retirable dans
   « Mes préférences ». */
.ie24m-bubble { display: inline-flex; align-items: center; justify-content: center;
	min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
	background: var(--accent, #8a1711); color: #fff;
	font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 10.5px; font-weight: 700; line-height: 1; letter-spacing: 0;
	vertical-align: 3px; margin-left: 6px; text-transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.js-tabs .ie24m-panel.is-active { animation: none; }
	.ie24m-feed-cover img, .ie24m-feed-thumb img, .ie24m-tab { transition: none; }
	.ie24m-feed-lead--cover:hover .ie24m-feed-cover img,
	.ie24m-feed-item:hover .ie24m-feed-thumb img { transform: none; }
}
.ie24m-fav-wrap { margin: 1.6rem 0 0; }
.ie24m-fav { display: inline-flex; align-items: center; gap: 7px; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 13px; font-weight: 600; color: var(--accent, #8a1711); background: transparent; border: 1px solid var(--accent, #8a1711); border-radius: 6px; padding: 7px 14px; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.ie24m-fav .ie24m-fav-ico { color: #cdbf9f; transition: color 0.15s ease; }
.ie24m-fav.is-on { background: var(--accent, #8a1711); color: #fff; }
.ie24m-fav.is-on .ie24m-fav-ico { color: #fff; }
.ie24m-fav:disabled { opacity: 0.6; cursor: default; }
a.ie24m-fav { text-decoration: none; }
a.ie24m-fav.is-locked:hover { background: var(--accent, #8a1711); color: #fff; }
a.ie24m-fav.is-locked:hover .ie24m-fav-ico { color: #fff; }
.ie24m-fav-wrap.is-locked .ie24m-fav-hint { display: block; margin-top: 7px; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 12px; color: #6b6453; }

/* Liste « Mes articles enregistrés » (compte) */
.ie24m-favlist { list-style: none; margin: 0; padding: 0; }
.ie24m-favlist-item { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line, #e7e1d4); }
.ie24m-favlist-item:last-child { border-bottom: 0; }
.ie24m-favlist-thumb { flex: none; width: 56px; height: 56px; border-radius: 6px; overflow: hidden; display: block; background: #efe9dc; }
.ie24m-favlist-thumb img, .ie24m-favlist-img { width: 56px; height: 56px; object-fit: cover; display: block; }
.ie24m-favlist-noimg { display: block; width: 56px; height: 56px; background: linear-gradient(135deg, #efe9dc, #ddd4c0); }
.ie24m-favlist-body { flex: 1 1 auto; min-width: 0; }
.ie24m-favlist-title { display: block; font-family: var(--font-voice, Georgia, serif); font-size: 15px; line-height: 1.3; color: var(--ink, #1a1a1a); text-decoration: none; }
.ie24m-favlist-title:hover { color: var(--accent, #8a1711); }
.ie24m-favlist-date { display: block; margin-top: 3px; font-family: ui-sans-serif, system-ui, sans-serif; font-size: 12px; color: #8a8474; }
.ie24m-favlist-remove { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--line, #e7e1d4); background: #fff; color: #8a8474; font-size: 18px; line-height: 1; cursor: pointer; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
.ie24m-favlist-remove:hover { background: var(--accent, #8a1711); color: #fff; border-color: var(--accent, #8a1711); }
.ie24m-favlist-remove:disabled { opacity: 0.5; cursor: default; }
.ie24m-favlist-empty { font-size: 13px; color: #8a8474; margin: 6px 0 0; }

/* ======================================================================
   Disposition en colonnes responsive (« Mon compte » et « Mes préférences »).
   Sur une page en pleine largeur, les blocs ne restent plus en une seule
   colonne : ils s'adaptent et se placent côte à côte dès qu'il y a la place,
   et reviennent en une colonne sur mobile. Chaque bloc garde une largeur de
   lecture confortable (≤ 560px) et ne s'étire jamais démesurément.
   ====================================================================== */
.ie24m-cols { display: grid;
	/* max = 1fr (et non 560px) : auto-fit calcule le nombre de colonnes d'après
	   le min (300px) ; avec un max fixe de 560px, (largeur)/(560) ≈ 1 → une seule
	   colonne. La largeur des blocs est plafonnée sur l'élément, pas la piste. */
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	justify-items: center;
	align-items: start;
	gap: 1.5rem;
	margin: 1.5rem 0;
}
/* Mobile : une seule colonne pleine largeur (évite le débordement du min 300px). */
@media (max-width: 380px) {
	.ie24m-cols { grid-template-columns: minmax(0, 1fr); }
}
.ie24m-cols > .ie24m-card,
.ie24m-cols > .ie24m-group,
.ie24m-cols > .ie24m-field { width: 100%;
	max-width: 560px;   /* largeur de lecture confortable ; centré dans une piste large */
	margin: 0;
}
/* Le formulaire des préférences peut occuper toute la largeur disponible
   (sinon son max-width de 560px limiterait la grille à une seule colonne). */
.ie24m-form.ie24m-prefs { max-width: none; }
.ie24m-prefs-foot { text-align: center; margin-top: 1.6rem; }
.ie24m-prefs-foot .ie24m-hint { margin-top: 0.9rem; }

/* Page « Mon compte » : en-tête (badges sous le prénom) + pied discret */
.ie24m-account-badges { margin: 0.15rem 0 0.9rem; }
.ie24m-account-foot { max-width: 560px; margin: 0.4rem auto 0; text-align: center; padding-top: 1.1rem; border-top: 1px solid #e5ddc8; }
.ie24m-account-foot .ie24m-linkbtn { color: #9a9482; font-size: 0.82rem; }
.ie24m-account-foot .ie24m-linkbtn:hover { color: var(--accent, #8a1711); }

/* Veille : « Mes sociétés suivies » (compte) */
.ie24m-watchlist { list-style: none; margin: 0; padding: 0; }
.ie24m-watch-item { display: flex; align-items: flex-start; gap: 10px; padding: 0.7rem 0; border-bottom: 1px solid var(--rule, #d8d2c2); }
.ie24m-watch-item:last-child { border-bottom: 0; }
.ie24m-watch-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ie24m-watch-name { font-family: var(--font-serif, Georgia, serif); font-weight: 700; font-size: 1rem; color: var(--ink, #221c12); text-decoration: none; }
.ie24m-watch-name:hover { color: var(--accent, #8a1711); }
.ie24m-watch-siren { font-family: var(--font-sans); font-size: 0.72rem; color: var(--ink-mute, #8a8068); }
.ie24m-watch-alert { font-family: var(--font-sans); font-size: 0.8rem; color: #b3261e; font-weight: 600; margin-top: 2px; }
/* Icône en trait (SVG monochrome — pas d'emoji). */
.ie24m-ico { width: 13px; height: 13px; display: inline-block; vertical-align: -2px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ie24m-watch-remove { flex: 0 0 auto; background: none; border: 0; font-size: 1.4rem; line-height: 1; color: var(--ink-mute, #8a8068); cursor: pointer; padding: 0 4px; }
.ie24m-watch-remove:hover { color: var(--accent, #8a1711); }

/* Carte « Mes marchés » : tableau de bord des indices suivis (compte). */
.ie24m-mkt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 380px) { .ie24m-mkt-grid { grid-template-columns: minmax(0, 1fr); } }
.ie24m-mkt-tile { position: relative; display: block; padding: 10px 12px 9px; border: 1px solid var(--rule, #d8d2c2); border-radius: 6px; background: var(--white, #fbf8ee); text-decoration: none; transition: border-color 0.15s ease, transform 0.12s ease; }
a.ie24m-mkt-tile:hover { border-color: var(--accent, #8a1711); transform: translateY(-1px); }
.ie24m-mkt-name { display: block; font-family: var(--font-sans); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-mute, #8a8068); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ie24m-mkt-val { display: block; font-family: var(--font-serif, Georgia, serif); font-size: 1.22rem; font-weight: 700; color: var(--ink, #221c12); margin: 2px 0 1px; }
.ie24m-mkt-spark { position: absolute; right: 10px; bottom: 11px; width: 54px; height: 19px; fill: none; stroke-width: 1.6; opacity: 0.9; }
.ie24m-mkt-spark polyline { fill: none; stroke: inherit; }
.ie24m-mkt-spark.is-up { stroke: #1a7f4b; }
.ie24m-mkt-spark.is-down { stroke: #b3261e; }
.ie24m-mkt-chg { font-family: var(--font-sans); font-size: 0.78rem; font-weight: 700; color: var(--ink-mute, #8a8068); }
.ie24m-mkt-chg.is-up { color: #1a7f4b; }
.ie24m-mkt-chg.is-down { color: #b3261e; }
.ie24m-mkt-empty { font-family: var(--font-serif, Georgia, serif); font-size: 0.95rem; color: var(--ink-soft, #55503f); line-height: 1.5; }
.ie24m-mkt-foot { font-family: var(--font-sans); font-size: 0.76rem; color: var(--ink-mute, #8a8068); margin: 0.7rem 0 0; }
.ie24m-mkt-foot a { color: var(--accent, #8a1711); text-underline-offset: 2px; }

/* ======================================================================
   Accueil du nouveau membre — page « Mes préférences »
   Manchette de bienvenue, présentation des services, étapes numérotées,
   boutons d'information « i », pied d'action lisible.
   ====================================================================== */

/* Manchette */
.ie24m-onb { border-top: 3px solid var(--rule-strong, #1a160d); padding: 15px 0 0; margin: 1.2rem 0 1.6rem; }
.ie24m-onb-title { font-family: var(--font-display, var(--font-voice, Georgia, serif));
	font-weight: 800; letter-spacing: -0.01em;
	font-size: clamp(1.7rem, 4vw, 2.4rem); line-height: 1.08;
	margin: 0.3rem 0 0.5rem; color: var(--ink, #16140d);
}
.ie24m-onb-lede { font-family: var(--font-serif, var(--font-voice, Georgia, serif));
	font-size: 1.02rem; line-height: 1.6; color: var(--ink-soft, #322d20);
	margin: 0; max-width: 62ch;
}
.ie24m-onb--slim { margin-bottom: 1.2rem; }
.ie24m-onb--slim .ie24m-onb-title { font-size: clamp(1.45rem, 3vw, 1.9rem); }

/* Présentation des services (nouveau membre uniquement) */
.ie24m-svc { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 1px; margin: 1.4rem 0 0; background: var(--rule, #e2d7bd); border: 1px solid var(--rule, #e2d7bd); }
.ie24m-svc-item { background: var(--white, #fffdf8); padding: 0.95rem 1.05rem 1.05rem; }
.ie24m-svc-kick { display: block; font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 0.6rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--accent, #8a1711); margin-bottom: 0.25rem;
}
.ie24m-svc-t { display: block; font-family: var(--font-display, Georgia, serif); font-weight: 800;
	font-size: 1.06rem; line-height: 1.15; color: var(--ink, #16140d); margin-bottom: 0.3rem;
}
.ie24m-svc-d { margin: 0; font-family: var(--font-serif, Georgia, serif); font-size: 0.85rem; line-height: 1.5; color: var(--ink-soft, #5c5848); }

/* Étapes numérotées dans les légendes */
.ie24m-group > legend { display: flex; align-items: center; gap: 0.5rem; }
.ie24m-step { display: inline-flex; align-items: center; justify-content: center;
	width: 1.35rem; height: 1.35rem; border-radius: 50%;
	background: var(--accent, #8a1711); color: #fff;
	font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 0.68rem; font-weight: 700; letter-spacing: 0; flex: none;
}

/* Bouton « i » + surcouche d'explication */
.ie24m-i { display: inline-flex; align-items: center; justify-content: center;
	width: 1.15rem; height: 1.15rem; flex: none; padding: 0; cursor: pointer;
	border: 1px solid var(--rule, #cdbf9f); border-radius: 50%; background: transparent;
	font-family: var(--font-serif, Georgia, serif); font-style: italic; font-weight: 700;
	font-size: 0.72rem; line-height: 1; color: var(--ink-mute, #8a8674);
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.ie24m-i:hover, .ie24m-i[aria-expanded="true"] { background: var(--accent, #8a1711); border-color: var(--accent, #8a1711); color: #fff; }
.ie24m-info-pop { position: absolute; top: calc(100% + 8px); left: 0; z-index: 30;
	width: min(340px, 84vw); padding: 0.85rem 2rem 0.9rem 0.95rem;
	background: var(--white, #fffdf8);
	border: 1px solid var(--rule, #d4cbb2); border-top: 3px solid var(--accent, #8a1711);
	border-radius: 2px; box-shadow: 0 20px 40px -22px rgba(40, 30, 18, .7);
	text-transform: none; letter-spacing: normal;
}
.ie24m-info-txt { margin: 0; font-family: var(--font-serif, Georgia, serif); font-size: 0.86rem; line-height: 1.55; color: var(--ink-soft, #322d20); font-weight: 400; }
.ie24m-info-close { position: absolute; top: 4px; right: 6px; width: 22px; height: 22px; padding: 0;
	background: none; border: 0; cursor: pointer; line-height: 1;
	font-size: 17px; color: var(--ink-mute, #a09a88);
}
.ie24m-info-close:hover { color: var(--accent, #8a1711); }

/* Pied d'action : deux vrais boutons, plus de lien minuscule */
.ie24m-prefs-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; justify-content: center; }
.ie24m-btn--lg { padding: 0.8rem 1.6rem; font-size: 1rem; }
.ie24m-prefs-foot .ie24m-hint { max-width: 54ch; margin-left: auto; margin-right: auto; }

@media (prefers-reduced-motion: reduce) { .ie24m-i { transition: none; } }

/* Ligne d'explication visible sous chaque étape (la pédagogie ne doit pas
   dépendre d'un clic sur le « i »). */
.ie24m-help { margin: 0.1rem 0 0.9rem; font-family: var(--font-serif, Georgia, serif);
	font-size: 0.88rem; line-height: 1.5; color: var(--ink-mute, #6f6a5c);
	text-transform: none; letter-spacing: normal; font-weight: 400;
}

/* « Et ensuite ? » — ce qui se passe après l'enregistrement. */
.ie24m-next { margin: 0.4rem 0 1.4rem; padding: 1rem 1.2rem 1.1rem;
	background: var(--paper-2, #f2ecdc); border: 1px solid var(--rule, #e2d7bd);
	border-radius: 2px;
}
.ie24m-next-list { margin: 0.5rem 0 0; padding: 0 0 0 1.15rem; }
.ie24m-next-list li { font-family: var(--font-serif, Georgia, serif); font-size: 0.92rem;
	line-height: 1.55; color: var(--ink-soft, #322d20); margin-bottom: 0.3rem;
}
.ie24m-next-list li:last-child { margin-bottom: 0; }

/* Préférences : séquence guidée 1 → 4. Deux colonnes au maximum, sinon la
   quatrième étape se retrouve seule sur une ligne, avec un grand vide à sa
   droite — et l'ordre de lecture des étapes devient illisible. */
.ie24m-prefs .ie24m-cols { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
	.ie24m-prefs .ie24m-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ie24m-prefs .ie24m-cols > .ie24m-group { max-width: 620px; }

/* ======================================================================
   Support membre — encadré de contact avec la rédaction
   ====================================================================== */
.ie24m-field textarea { width: 100%; box-sizing: border-box; padding: 0.6rem 0.7rem;
	font-family: var(--font-serif, Georgia, serif); font-size: 1rem; line-height: 1.55;
	border: 1px solid #cdbf9f; border-radius: 6px; background: #fff; color: #20251c;
	resize: vertical; min-height: 8.5rem;
}
.ie24m-field textarea:focus { outline: none; border-color: var(--accent, #8a1711);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #8a1711) 14%, transparent);
}

.ie24m-support-intro { margin: 0 0 0.7rem; max-width: 62ch;   /* longueur de ligne lisible */
	font-family: var(--font-serif, Georgia, serif);
	font-size: 0.97rem; line-height: 1.6; color: var(--ink-soft, #322d20);
}
/* Le panneau occupe toute la largeur : sans plafond, le champ de message
   s'étirerait sur 900 px et deviendrait pénible à relire. */
.ie24m-support-form { max-width: 640px; }
.ie24m-support-closed { max-width: 62ch; }
.ie24m-support-meta { display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem; align-items: baseline;
	margin: 0 0 1.1rem; padding-bottom: 0.9rem; border-bottom: 1px solid #e5ddc8;
	font-family: ui-sans-serif, system-ui, -apple-system, sans-serif;
	font-size: 0.78rem; letter-spacing: 0.04em; color: var(--ink-mute, #6f6a5c);
}
.ie24m-support-delay { font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em;
	color: var(--accent, #8a1711);
}
.ie24m-support-closed { margin: 0; padding: 0.9rem 1.05rem; background: var(--paper-2, #f2ecdc);
	border-radius: 2px;
	font-family: var(--font-serif, Georgia, serif); font-size: 0.95rem; line-height: 1.6;
}
.ie24m-support-form .ie24m-check { margin-top: 0.2rem; }
.ie24m-support-form .ie24m-actions { margin-top: 1rem; }
.ie24m-support .ie24m-hint { margin-top: 0.6rem; }

/* ======================================================================
   « Mes thématiques » — manchette du fil + brèves façon journal
   ====================================================================== */
.ie24m-feed-dateline { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3rem 0.6rem;
	margin: -0.2rem 0 0.9rem; padding-bottom: 0.55rem;
	border-bottom: 2px solid var(--rule-strong, #1a160d);
	font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--ink-mute, #6d6552);
}
.ie24m-feed-dateline-k { font-weight: 700; color: var(--accent, #8a1711); }
.ie24m-feed-dateline time { letter-spacing: 0.08em; }
.ie24m-feed-rubs { flex: 1 1 100%; margin-top: 0.1rem;
	letter-spacing: 0.06em; text-transform: none; font-size: 11px;
	color: #9a9280; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* Description des brèves : la méta-description de l'article, sur deux lignes —
   au-delà, la liste cesse d'être une liste. */
.ie24m-feed-desc { margin: 0.28rem 0 0;
	font-family: var(--font-serif, Georgia, "Times New Roman", serif);
	font-size: 0.87rem; line-height: 1.45; color: var(--ink-soft, #4a4636);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	overflow: hidden;
}
/* Les brèves s'alignent en haut : le texte doit partir du haut de la vignette,
   comme une colonne de journal, et non flotter au milieu. */
.ie24m-feed-item { align-items: start; }
.ie24m-feed-item .ie24m-feed-meta { margin-top: 0.3rem; }

/* Champs obligatoires / facultatifs dans « Mes préférences » */
.ie24m-req, .ie24m-opt { font-style: normal; font-weight: 600; font-size: 9.5px;
	letter-spacing: 0.1em; text-transform: uppercase; vertical-align: 1px;
	margin-left: 0.35rem;
}
.ie24m-req { color: var(--accent, #8a1711); }
.ie24m-opt { color: #a29a86; }

/* ======================================================================
   « Mes thématiques » rendu par les gabarits du thème (.lj-*)
   ----------------------------------------------------------------------
   Le thème calcule ses dispositions sur la largeur de la FENÊTRE. Ici, le
   fil vit dans une carte, elle-même dans une colonne du tableau de bord :
   deux fois moins large. On rétablit donc les proportions à la main.
   ====================================================================== */
.ie24m-topics-body { margin-top: 0.2rem; }
/* Le pas typographique du thème est calibré pour la pleine page : on resserre
   les gouttières, sans toucher aux polices ni aux couleurs. */
.ie24m-topics-body .lj-featured-wrap,
.ie24m-topics-body .lj-grid { gap: 1.3rem; }

/* Une seule colonne tant que la carte n'a pas la place d'en tenir deux :
   sous 1280px de fenêtre, la colonne principale du tableau de bord fait
   moins de 700px — la vedette et la liste côte à côte y seraient illisibles. */
@media (max-width: 1279px) {
	.ie24m-board-main .ie24m-topics-body .lj-featured-wrap,
	.ie24m-board-main .ie24m-topics-body .lj-featured-wrap--lg,
	.ie24m-board-main .ie24m-topics-body .lj-featured-wrap--lg.lj-featured-wrap--rev { grid-template-columns: minmax(0, 1fr);
	}
	.ie24m-board-main .ie24m-topics-body .lj-cols-3,
	.ie24m-board-main .ie24m-topics-body .lj-cols-4 { grid-template-columns: repeat(2, 1fr); }
}

/* Disposition « Une » employée seule : le titre du hero est dimensionné pour
   la pleine largeur de l'accueil, il déborderait dans une carte. */
.ie24m-topics-body .lj-hero--wow .lj-hero-title { font-size: clamp(1.45rem, 1.05rem + 1.4vw, 2.1rem); line-height: 1.14; }
.ie24m-topics-body .lj-hero--wow .lj-hero-excerpt { font-size: 0.95rem; }
/* NE PAS imposer d'aspect-ratio à .lj-hero-media : la figure est en position
   absolue et doit remplir tout le cadre (image de fond du hero). */

/* Le premier élément du fil ne doit pas coller au filet de la manchette. */
.ie24m-topics-body .lj-feed-item:first-child { padding-top: 0.6rem; }
.ie24m-topics-body .lj-feed-item:last-child { border-bottom: 0; padding-bottom: 0.2rem; }

/* Le titre de la vedette est découpé mot à mot par le JS du thème : chaque mot
   part masqué (translateY 112 %) et n'est révélé que par la classe « is-in »,
   posée par l'observateur de défilement sur les blocs « .lj-reveal » de la une.
   Dans un onglet du compte, ce déclencheur peut ne jamais survenir — le titre
   resterait invisible. On affiche donc le texte d'emblée, l'animation en moins. */
.ie24m-topics-body .lj-w-i { transform: none; }
.ie24m-topics-body .lj-drawline { transform: scaleX(1); }

/* Le hero de la une monte jusqu'à 760px de haut : dans une carte de tableau de
   bord, il écraserait tout le reste. On garde la dramatisation, à l'échelle. */
.ie24m-topics-body .lj-hero--wow { min-height: clamp(300px, 18vw + 190px, 440px); }

/* ======================================================================
   Badge « Enregistrer » dans la signature de l'article (.lj-byline)
   ----------------------------------------------------------------------
   La signature est une ligne de méta en petites capitales : le badge doit
   s'y fondre, pas y planter un bouton. Version compacte du même composant.
   ====================================================================== */
.ie24m-fav-ico { width: 15px; height: 15px; flex: none; }
.ie24m-fav--badge { gap: 5px; padding: 3px 9px; border-radius: 999px;
	font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em;
	text-transform: uppercase; line-height: 1.6;
	border-color: var(--rule, #d4cbb2); color: var(--ink-mute, #6d6552);
	background: transparent;
}
.ie24m-fav--badge .ie24m-fav-ico { width: 13px; height: 13px; color: inherit; }
.ie24m-fav--badge:hover { border-color: var(--accent, #8a1711); color: var(--accent, #8a1711); }
.ie24m-fav--badge.is-on { background: var(--accent, #8a1711); border-color: var(--accent, #8a1711); color: #fff;
}
.ie24m-fav--badge.is-on .ie24m-fav-ico { color: #fff; }
/* Le thème intercale un « · » entre chaque élément de la signature. Devant une
   pastille, ce séparateur fait doublon : on le retire (l'écart du flex suffit). */
.lj-byline .lj-byline-sep:has(+ .ie24m-fav--badge) { display: none; }
@media (max-width: 520px) {
	.ie24m-fav--badge { font-size: 0.68rem; padding: 3px 8px; }
}

/* ======================================================================
   Onglets du compte sur petit écran — barre stable
   ----------------------------------------------------------------------
   La barre était en défilement horizontal (overflow-x:auto). Sur mobile,
   deux effets en découlaient : un balayage vertical un peu oblique la
   faisait dériver de côté avec l'inertie tactile, et toucher un onglet
   partiellement visible provoquait un saut du navigateur pour l'amener
   dans le champ. Sur petit écran, les onglets passent donc à la ligne :
   plus rien ne défile, donc plus rien ne bouge.
   ====================================================================== */
@media (max-width: 700px) {
	.ie24m-tabbar { flex-wrap: wrap;
		overflow-x: visible;
		overscroll-behavior-x: contain;
		gap: 0 2px;
	}
	.ie24m-tab { padding: 9px 9px 10px;
		font-size: 11px;
		letter-spacing: 0.1em;
	}
	/* Le panneau ne glisse plus de bas en haut à chaque changement d'onglet :
	   un simple fondu suffit, sans déplacement. */
	.js-tabs .ie24m-panel.is-active { animation: ie24m-fade-in 0.18s ease; }
}
@keyframes ie24m-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* ======================================================================
   « Mes filleuls » — suivi des invitations envoyées par un membre
   ====================================================================== */
.ie24m-filleuls { list-style: none; margin: 0.9rem 0 0; padding: 0; }
.ie24m-filleul { display: grid; grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: baseline; gap: 0.2rem 0.9rem;
	padding: 0.65rem 0; border-top: 1px solid var(--rule, #e5ddc8);
}
.ie24m-filleul:first-child { border-top: 0; }
.ie24m-filleul-id { min-width: 0; }
.ie24m-filleul-id strong { display: block; font-family: var(--font-serif, Georgia, serif);
	font-size: 1rem; color: var(--ink, #16140d);
}
.ie24m-filleul-mail { display: block; font-family: ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8rem; color: var(--ink-mute, #6f6a5c);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ie24m-filleul-etat { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 10.5px;
	font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	border: 1px solid currentColor; border-radius: 3px; padding: 1px 7px;
	white-space: nowrap;
}
.ie24m-filleul.is-active  .ie24m-filleul-etat { color: #2f6b2f; }
.ie24m-filleul.is-pending .ie24m-filleul-etat { color: #a5761b; }
.ie24m-filleul.is-off     .ie24m-filleul-etat { color: #9a9482; }
.ie24m-filleul-date { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.78rem;
	color: #9a9482; white-space: nowrap;
}
@media (max-width: 520px) {
	.ie24m-filleul { grid-template-columns: minmax(0, 1fr) auto; }
	.ie24m-filleul-date { grid-column: 2; }
}

/* Nature du suivi : société ou dirigeant. Sans ce repère, les deux se
   ressemblaient, et la clé d'identité d'une personne s'affichait sous
   l'étiquette « SIREN », ce qu'elle n'est pas. */
.ie24m-watch-kind {
	/* Enfant d'un conteneur flex en colonne : sans « align-self », la pastille
	   s'étirait sur toute la largeur de la carte. */
	display: inline-block; align-self: flex-start; width: fit-content;
	font-family: ui-sans-serif, system-ui, sans-serif;
	font-size: 9.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	border: 1px solid currentColor; border-radius: 3px; padding: 0 5px;
	line-height: 15px; margin-bottom: 3px;
}
.ie24m-watch-item.is-company .ie24m-watch-kind { color: #6f6a5c; }
.ie24m-watch-item.is-person  .ie24m-watch-kind { color: var(--accent, #8a1711); }
.ie24m-watch-item .ie24m-watch-name { display: block; }
/* Le nom d'un dirigeant n'est pas cliquable : sa fiche s'ouvre depuis l'outil
   de veille, pas depuis une recherche par mot-clé. */
span.ie24m-watch-name, span.ie24m-wd-name { cursor: default; }

/* ======================================================================
   En-tête pratique d'une page d'événement (quand, où, inscription)
   ----------------------------------------------------------------------
   Rend visibles les informations balisées en schema.org : Google exige que
   les données structurées correspondent à ce que voit le lecteur.
   ====================================================================== */
.ie24m-evh {
	margin: 0 0 1.6rem; padding: 1rem 1.2rem;
	background: var(--paper-2, #f2ecdc); border: 1px solid var(--rule, #e2d7bd);
	border-radius: 3px;
}
.ie24m-evh-dl { margin: 0; display: grid; gap: 0.5rem 1.6rem; }
@media (min-width: 620px) { .ie24m-evh-dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ie24m-evh-dl > div { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ie24m-evh-dl dt {
	font-family: ui-sans-serif, system-ui, sans-serif; font-size: 10.5px;
	font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--ink-mute, #6f6a5c);
}
.ie24m-evh-dl dd {
	margin: 0; font-family: var(--font-serif, Georgia, serif);
	font-size: 1rem; line-height: 1.35; color: var(--ink, #16140d);
}
.ie24m-evh-cta { margin: 1rem 0 0; }

/* ======================================================================
   Agenda — un seul balisage, deux apparences
   ----------------------------------------------------------------------
   Grand écran : planning tabulaire, balayable d'un regard.
   Mobile : chaque ligne se replie en carte de calendrier éditorial.
   Le contenu n'est écrit qu'une fois — deux balisages superposés auraient
   dupliqué le texte dans la page, ce que les moteurs pénalisent.
   « is-table » et « is-cards » forcent l'une ou l'autre depuis l'admin.
   ====================================================================== */
.ie24m-ag-t { width: 100%; border-collapse: collapse; }
/* Largeurs de colonnes : sans elles, le titre et le résumé écrasent la date et
   les badges, et la table se tasse en colonnes d'un mot. */
.ie24m-ag-c-date { width: 8.5em; }
.ie24m-ag-c-lieu { width: 15em; }
.ie24m-ag-c-fmt  { width: 9.5em; }
.ie24m-ag-c-act  { width: 9em; }
.ie24m-ag-t thead th {
	font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.66rem;
	font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--ink-mute, #6f6a5c); text-align: left;
	padding: 0 12px 9px; border-bottom: 2px solid var(--rule-strong, #1a160d);
}
.ie24m-ag-mois td {
	padding: 1.5rem 12px 0.45rem;
	font-family: var(--font-display, Georgia, serif); font-size: 1.25rem;
	color: var(--ink, #16140d);
}
.ie24m-ag-mois span { text-transform: capitalize; }
.ie24m-ag-r { border-bottom: 1px solid var(--rule, #e2d7bd); }
.ie24m-ag-r > td { padding: 14px 12px; vertical-align: top; }
.ie24m-ag-date { white-space: nowrap; font-family: ui-sans-serif, system-ui, sans-serif; }
.ie24m-ag-j { font-weight: 700; font-size: 0.86rem; color: var(--ink, #16140d); }
.ie24m-ag-jm { }
.ie24m-ag-jour { display: none; }
.ie24m-ag-moisab { font-weight: 700; font-size: 0.86rem; color: var(--ink, #16140d); margin-left: 3px; }
.ie24m-ag-fin, .ie24m-ag-h { display: block; font-size: 0.76rem; color: var(--ink-mute, #6f6a5c); }
.ie24m-ag-k { display: none; }
.ie24m-ag-titre {
	font-family: var(--font-display, Georgia, serif); font-size: 1.1rem; line-height: 1.2;
	color: var(--ink, #16140d); text-decoration: none;
}
.ie24m-ag-titre:hover { color: var(--accent, #8a1711); }
.ie24m-ag-ex { margin: 0.2rem 0 0; font-size: 0.86rem; line-height: 1.45; color: var(--ink-mute, #6f6a5c); max-width: 60ch; }
.ie24m-ag-lieu { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.8rem; color: var(--ink-soft, #322d20); }
.ie24m-ag-org { display: block; color: #8a8674; }
.ie24m-ag-badge {
	display: inline-block; font-family: ui-sans-serif, system-ui, sans-serif;
	font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	border: 1px solid currentColor; border-radius: 2px; padding: 1px 6px; margin: 0 4px 3px 0;
}
.ie24m-ag-badge.is-site { color: #6f6a5c; }
.ie24m-ag-badge.is-online { color: var(--accent, #8a1711); }
.ie24m-ag-badge.is-membres { color: #8a6100; }
.ie24m-ag-act { text-align: right; }
.ie24m-ag-act form { display: inline; }
.ie24m-ag-cta {
	font-family: ui-sans-serif, system-ui, sans-serif; font-size: 0.72rem;
	font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--accent, #8a1711); text-decoration: none; white-space: nowrap;
	background: none; border: 0; border-bottom: 1px solid currentColor; padding: 0 0 1px; cursor: pointer;
}
.ie24m-ag-in, .ie24m-ag-full, .ie24m-ag-places {
	display: block; font-family: ui-sans-serif, system-ui, sans-serif;
	font-size: 0.72rem; color: var(--ink-mute, #6f6a5c);
}
.ie24m-ag-full { color: #b32d2e; }


/* ---------- Apparence « cartes » (identique dans les deux modes) ---------- */
	.ie24m-ag.is-cards .ie24m-ag-t, .ie24m-ag.is-cards .ie24m-ag-t tbody { display: block; }
	.ie24m-ag.is-cards .ie24m-ag-t thead { display: none; }
	.ie24m-ag.is-cards .ie24m-ag-mois, .ie24m-ag.is-cards .ie24m-ag-mois td,
	.ie24m-ag.is-cards .ie24m-ag-r, .ie24m-ag.is-cards .ie24m-ag-r > td { display: block; }
	.ie24m-ag.is-cards .ie24m-ag-mois td { padding: 1.8rem 0 0.5rem; border-bottom: 1px solid var(--rule, #e2d7bd); }
	.ie24m-ag.is-cards .ie24m-ag-r {
		position: relative; border: 1px solid var(--rule, #e2d7bd); border-radius: 3px;
		background: var(--white, #fffdf8); padding: 1rem 1.1rem 1.1rem;
		margin-top: 0.9rem; padding-left: 5.2rem;
	}
	.ie24m-ag.is-cards .ie24m-ag-r > td { padding: 0; }
	/* Quantième en gros, sous un trait d'encre, dans la marge de la carte. */
	.ie24m-ag.is-cards .ie24m-ag-date {
		position: absolute; left: 1.1rem; top: 1rem; width: 3.2rem; text-align: center;
		border-top: 2px solid var(--ink, #16140d); padding-top: 5px;
	}
	.ie24m-ag.is-cards .ie24m-ag-j {
		display: block; font-family: var(--font-display, Georgia, serif);
		font-size: 1.9rem; line-height: 1; font-weight: 700; color: var(--ink, #16140d);
	}
	.ie24m-ag.is-cards .ie24m-ag-jour {
		display: inline; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em;
		text-transform: uppercase; color: var(--ink-mute, #6f6a5c);
	}
	.ie24m-ag.is-cards .ie24m-ag-moisab { display: none; }
	.ie24m-ag.is-cards .ie24m-ag-fin, .ie24m-ag.is-cards .ie24m-ag-h { font-size: 0.68rem; }
	.ie24m-ag.is-cards .ie24m-ag-k {
		display: block; font-family: ui-sans-serif, system-ui, sans-serif;
		font-size: 0.63rem; font-weight: 700; letter-spacing: 0.14em;
		text-transform: uppercase; color: var(--accent, #8a1711); margin-bottom: 0.15rem;
	}
	.ie24m-ag.is-cards .ie24m-ag-titre { display: block; font-size: 1.16rem; }
	.ie24m-ag.is-cards .ie24m-ag-lieu { display: none; }   /* déjà dit par le surtitre */
	.ie24m-ag.is-cards .ie24m-ag-fmt { margin-top: 0.5rem; }
	.ie24m-ag.is-cards .ie24m-ag-badge.is-site, .ie24m-ag.is-cards .ie24m-ag-badge.is-online { display: none; } /* redondant avec le surtitre */
	.ie24m-ag.is-cards .ie24m-ag-act { text-align: left; margin-top: 0.6rem; }
@media (max-width: 899px) {
	.ie24m-ag.is-auto .ie24m-ag-t, .ie24m-ag.is-auto .ie24m-ag-t tbody { display: block; }
	.ie24m-ag.is-auto .ie24m-ag-t thead { display: none; }
	.ie24m-ag.is-auto .ie24m-ag-mois, .ie24m-ag.is-auto .ie24m-ag-mois td,
	.ie24m-ag.is-auto .ie24m-ag-r, .ie24m-ag.is-auto .ie24m-ag-r > td { display: block; }
	.ie24m-ag.is-auto .ie24m-ag-mois td { padding: 1.8rem 0 0.5rem; border-bottom: 1px solid var(--rule, #e2d7bd); }
	.ie24m-ag.is-auto .ie24m-ag-r {
		position: relative; border: 1px solid var(--rule, #e2d7bd); border-radius: 3px;
		background: var(--white, #fffdf8); padding: 1rem 1.1rem 1.1rem;
		margin-top: 0.9rem; padding-left: 5.2rem;
	}
	.ie24m-ag.is-auto .ie24m-ag-r > td { padding: 0; }
	/* Quantième en gros, sous un trait d'encre, dans la marge de la carte. */
	.ie24m-ag.is-auto .ie24m-ag-date {
		position: absolute; left: 1.1rem; top: 1rem; width: 3.2rem; text-align: center;
		border-top: 2px solid var(--ink, #16140d); padding-top: 5px;
	}
	.ie24m-ag.is-auto .ie24m-ag-j {
		display: block; font-family: var(--font-display, Georgia, serif);
		font-size: 1.9rem; line-height: 1; font-weight: 700; color: var(--ink, #16140d);
	}
	.ie24m-ag.is-auto .ie24m-ag-jour {
		display: inline; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em;
		text-transform: uppercase; color: var(--ink-mute, #6f6a5c);
	}
	.ie24m-ag.is-auto .ie24m-ag-moisab { display: none; }
	.ie24m-ag.is-auto .ie24m-ag-fin, .ie24m-ag.is-auto .ie24m-ag-h { font-size: 0.68rem; }
	.ie24m-ag.is-auto .ie24m-ag-k {
		display: block; font-family: ui-sans-serif, system-ui, sans-serif;
		font-size: 0.63rem; font-weight: 700; letter-spacing: 0.14em;
		text-transform: uppercase; color: var(--accent, #8a1711); margin-bottom: 0.15rem;
	}
	.ie24m-ag.is-auto .ie24m-ag-titre { display: block; font-size: 1.16rem; }
	.ie24m-ag.is-auto .ie24m-ag-lieu { display: none; }   /* déjà dit par le surtitre */
	.ie24m-ag.is-auto .ie24m-ag-fmt { margin-top: 0.5rem; }
	.ie24m-ag.is-auto .ie24m-ag-badge.is-site, .ie24m-ag.is-auto .ie24m-ag-badge.is-online { display: none; } /* redondant avec le surtitre */
	.ie24m-ag.is-auto .ie24m-ag-act { text-align: left; margin-top: 0.6rem; }
}

/* ==========================================================================
   Suivre un événement — bouton, carte « Mes événements », décompte
   Le bouton reprend la pastille du bouton de veille (« Suivre cette société »)
   sans dépendre de sa feuille de styles, qui n'est chargée que sur l'outil.
   ========================================================================== */
.ie24m-evfollow { display: inline-flex; align-items: center; gap: 6px;
	margin: 6px 0 0; padding: 5px 12px; cursor: pointer;
	font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 0.78rem; font-weight: 600; line-height: 1.2;
	color: var(--ink-soft, #322d20); background: #fff;
	border: 1px solid var(--rule, #d4cbb2); border-radius: 20px;
	text-decoration: none; white-space: nowrap;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.ie24m-evfollow:hover { border-color: var(--accent, #8a1711); color: var(--accent, #8a1711); }
.ie24m-evfollow.is-on { border-color: var(--accent, #8a1711); color: var(--accent, #8a1711); background: #fdf6f4; }
.ie24m-evfollow[disabled] { opacity: 0.55; cursor: default; }
.ie24m-evfollow-ico { font-size: 0.95rem; line-height: 1; }
.ie24m-evh-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ie24m-evh-cta .ie24m-evfollow { margin-top: 0; }

/* Carte du tableau de bord. */
.ie24m-evlist { list-style: none; margin: 0; padding: 0; }
.ie24m-evitem { display: flex; align-items: flex-start; gap: 10px;
	padding: 9px 0; border-top: 1px solid var(--rule, #e0d8c2);
}
.ie24m-evlist .ie24m-evitem:first-child { border-top: 0; padding-top: 2px; }
/* Pastille de date, de largeur FIXE : la colonne des titres doit s'aligner
   d'une ligne à l'autre. Le décompte, lui, est énoncé dans la ligne de
   contexte, où sa longueur variable ne déplace rien. */
.ie24m-evj { flex: none; width: 2.7rem; text-align: center;
	padding: 4px 2px 5px;
	color: var(--ink-mute, #6d6552);
	border: 1px solid var(--rule, #d4cbb2); border-radius: 2px;
}
.ie24m-evj-d { display: block;
	font-family: var(--font-serif, var(--font-voice, Georgia, serif));
	font-size: 1.15rem; font-weight: 700; line-height: 1;
	color: var(--ink, #16140d);
}
.ie24m-evj-m { display: block;
	font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 0.55rem; font-weight: 700;
	letter-spacing: 0.1em; text-transform: uppercase;
	margin-top: 2px;
}
.ie24m-evitem.is-imminent .ie24m-evj { border-color: var(--accent, #8a1711); }
.ie24m-evitem.is-imminent .ie24m-evj-d,
.ie24m-evitem.is-imminent .ie24m-evj-m { color: var(--accent, #8a1711); }
.ie24m-evtxt { flex: 1 1 auto; min-width: 0; }
.ie24m-evname { display: block;
	font-family: var(--font-serif, var(--font-voice, Georgia, serif));
	font-weight: 700; font-size: 0.95rem; line-height: 1.3;
	color: var(--ink, #16140d); text-decoration: none;
}
.ie24m-evname:hover { color: var(--accent, #8a1711); }
.ie24m-evmeta { display: block;
	font-family: var(--font-sans, ui-sans-serif, system-ui, sans-serif);
	font-size: 11.5px; color: var(--ink-mute, #6d6552); margin-top: 1px;
}
.ie24m-evdrop { flex: none; padding: 2px; margin-top: 1px; cursor: pointer;
	background: none; border: 0; color: #b3aa93;
	transition: color 0.15s ease;
}
.ie24m-evdrop:hover { color: var(--accent, #8a1711); }
.ie24m-evdrop .ie24m-ico { width: 14px; height: 14px; display: block;
	fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round;
}
