/* ==========================================================================
   ie24 — Pages d'outils : pages société, baromètre des défaillances,
   simulateur « combien coûte un salarié ».
   Chargé uniquement sur ces pages. Même grammaire que « Toutes les taxes en
   France », le lexique et « Les Marchés » : filets d'encre, petites capitales,
   chiffres en gras, rouge éditorial au compte-gouttes.
   ========================================================================== */

.lj-out-main {
	--o-encre: var(--ink, #16140d);
	--o-gris: var(--ink-mute, #6d6552);
	--o-filet: var(--rule-strong, #1a160d);
	--o-doux: var(--rule, #d4cbb2);
	--o-sable: #efe9da;
	--o-tan: #c9bfa4;
	--o-rouge: var(--accent, #8a1711);
	--o-vert: #2f6b2f;
	--o-survol: #f4f0e4;
}

/* ---- manchette (pages qui n'empruntent pas celle du lexique) ---- */
.lj-out-man { margin-bottom: 0.6rem; }
.lj-out-intro { font-size: 15px; line-height: 1.55; color: var(--ink-soft, #322d20); max-width: 70ch; margin: 0.4em 0 0.2em; }
.lj-out-intro.is-long { max-width: none; column-count: 2; column-width: 32ch; column-gap: 44px; column-rule: 1px solid var(--o-doux); }
.lj-out-intro > :last-child { margin-bottom: 0; }
.lj-out-vide { border: 1px solid var(--o-doux); background: var(--o-sable); padding: 16px 18px; font-size: 14px; margin-top: 16px; }
.lj-out-vide em { display: block; margin-top: 6px; font-size: 12px; color: var(--o-gris); }

/* ---- chiffres clés ---- */
.lj-out-stats { display: flex; flex-wrap: wrap; border: 1px solid var(--o-filet); margin: 16px 0 0; }
.lj-out-stat { flex: 1 1 0; min-width: 150px; padding: 12px 16px; border-right: 1px solid var(--o-doux); }
.lj-out-stat:last-child { border-right: 0; }
.lj-out-stat[hidden] { display: none; }
.lj-out-stat b { display: block; font-family: var(--font-display, Georgia, serif); font-size: 26px; line-height: 1.1; font-weight: 700; letter-spacing: -0.3px; color: var(--o-encre); }
.lj-out-stat b.is-texte { font-size: 20px; letter-spacing: 0; padding-top: 3px; }
.lj-out-stat span { display: block; font-family: var(--font-sans, sans-serif); font-size: 10.5px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--o-gris); margin-top: 4px; line-height: 1.35; }
.lj-out-stat span i { font-style: normal; font-weight: 700; letter-spacing: 0; }
.lj-out-stat .is-hausse, .lj-out-hausse { color: var(--o-rouge); }
.lj-out-stat .is-baisse, .lj-out-baisse { color: var(--o-vert); }

/* ---- sections ---- */
.lj-out-sec { margin: 34px 0 0; scroll-margin-top: 90px; }
.lj-out-sec[hidden] { display: none; }
.lj-out-h { font-family: var(--font-display, Georgia, serif); font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.75rem); line-height: 1.15; margin: 0 0 6px; padding-top: 12px; border-top: 2px solid var(--o-filet); }
.lj-out-sous { font-family: var(--font-sans, sans-serif); font-size: 10.5px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--o-gris); margin: 14px 0 7px; }
.lj-out-lede { font-size: 15px; line-height: 1.5; color: var(--o-gris); margin: 0 0 14px; max-width: 78ch; }
.lj-out-note { font-size: 12.5px; line-height: 1.5; color: var(--o-gris); font-style: italic; margin: 12px 0 0; max-width: 90ch; }
.lj-out-note a { color: var(--o-rouge); font-style: normal; }
.lj-out-liens { list-style: none; margin: 8px 0 0; padding: 0; }
.lj-out-liens li { padding: 8px 0; border-bottom: 1px solid var(--o-doux); font-size: 15px; }
.lj-out-liens li:first-child { border-top: 1px solid var(--o-doux); }
.lj-out-liens a { color: var(--o-encre); text-decoration: none; box-shadow: inset 0 -1px 0 var(--o-tan); }
.lj-out-liens a:hover { color: var(--o-rouge); box-shadow: inset 0 -1px 0 var(--o-rouge); }
.lj-out-duo { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0 44px; }
.lj-out-duo > .lj-out-sec { min-width: 0; }

/* ---- barres horizontales ---- */
.lj-out-barres { list-style: none; margin: 0; padding: 0; }
.lj-out-barre { display: grid; grid-template-columns: minmax(0, 38%) minmax(0, 1fr) auto; align-items: center; gap: 4px 14px; padding: 9px 0; border-bottom: 1px solid var(--o-doux); }
.lj-out-barre:first-child { border-top: 1px solid var(--o-doux); }
.lj-out-barre-lib { font-size: 15px; line-height: 1.25; color: var(--o-encre); }
.lj-out-barre-lib b { font-weight: 700; }
.lj-out-barre-lib small { display: block; font-size: 12.5px; line-height: 1.4; color: var(--o-gris); margin-top: 2px; }
.lj-out-barre-lib sup { color: var(--o-rouge); }
.lj-out-barre-piste { display: block; height: 14px; background: var(--o-sable); position: relative; }
.lj-out-barre-piste i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--o-encre); min-width: 2px; }
.lj-out-barre-val { text-align: right; white-space: nowrap; font-family: var(--font-sans, sans-serif); }
.lj-out-barre-val b { font-size: 14px; }
/* Une espace sépare désormais la valeur de sa part dans le balisage (lecture
   d'écran, copier-coller) : la marge en tient compte, la colonne ne bouge pas. */
.lj-out-barre-val small { display: inline-block; min-width: 3.2em; margin-left: 2px; font-size: 11.5px; color: var(--o-gris); }
.lj-out-barre-val em { display: inline-block; min-width: 4.6em; margin-left: 2px; font-style: normal; font-size: 12.5px; font-weight: 700; }
.lj-out-barres.is-compact .lj-out-barre { grid-template-columns: minmax(0, 30%) minmax(0, 1fr) auto; padding: 6px 0; }
.lj-out-barres.is-compact .lj-out-barre-piste { height: 10px; }
.lj-out-barres.is-compact .lj-out-barre-piste i { background: var(--o-tan); }
.lj-out-barres.is-compact .lj-out-barre-lib { font-size: 14px; }

/* ---- texte courant, questions fréquentes ---- */
.lj-out-texte { max-width: 82ch; }
.lj-out-texte p { font-size: 15.5px; line-height: 1.6; color: var(--ink-soft, #322d20); margin: 0 0 0.9em; }
.lj-out-faq { border-bottom: 1px solid var(--o-doux); }
.lj-out-faq:first-of-type { border-top: 1px solid var(--o-doux); }
.lj-out-faq > summary { cursor: pointer; list-style: none; padding: 12px 28px 12px 0; position: relative; font-family: var(--font-display, Georgia, serif); font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--o-encre); }
.lj-out-faq > summary::-webkit-details-marker { display: none; }
.lj-out-faq > summary::after { content: "+"; position: absolute; right: 4px; top: 9px; font-family: var(--font-sans, sans-serif); font-size: 20px; font-weight: 400; color: var(--o-rouge); }
.lj-out-faq[open] > summary::after { content: "−"; }
.lj-out-faq > summary:hover { color: var(--o-rouge); }
.lj-out-faq > p { margin: 0 0 14px; font-size: 15px; line-height: 1.6; color: var(--ink-soft, #322d20); max-width: 82ch; }

/* ==========================================================================
   Baromètre des défaillances
   ========================================================================== */
.lj-def-date { margin-top: 8px; }
.lj-def-perimetre { margin: 14px 0 0; padding: 10px 14px; border-left: 3px solid var(--o-rouge); background: var(--o-sable); font-size: 14px; line-height: 1.5; color: var(--ink-soft, #322d20); max-width: 96ch; }
.lj-def-perimetre strong { font-family: var(--font-sans, sans-serif); font-size: 10.5px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--o-rouge); margin-right: 4px; }

/* ---- la courbe ---- */
.lj-def-legende { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 8px; padding: 0; font-family: var(--font-sans, sans-serif); font-size: 12.5px; color: var(--o-gris); }
.lj-def-legende i { display: inline-block; width: 22px; height: 0; border-top: 3px solid var(--o-rouge); vertical-align: middle; margin-right: 7px; }
.lj-def-legende .is-prec i { border-top: 2px dashed var(--o-gris); }
.lj-def-graphe { position: relative; border-top: 1px solid var(--o-doux); padding-top: 6px; }
.lj-def-courbe { display: block; width: 100%; height: auto; overflow: visible; }
.lj-def-grille { stroke: var(--o-doux); stroke-width: 1; }
.lj-def-axe { font-family: var(--font-sans, sans-serif); font-size: 11px; fill: var(--o-gris); }
.lj-def-ligne { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.lj-def-ligne.is-cours { stroke: var(--o-rouge); stroke-width: 2.6; }
.lj-def-ligne.is-prec { stroke: var(--o-gris); stroke-width: 1.6; stroke-dasharray: 5 4; }
.lj-def-point { fill: var(--o-rouge); }
.lj-def-val { font-family: var(--font-sans, sans-serif); font-size: 12px; font-weight: 700; fill: var(--o-rouge); }
.lj-def-curseur { stroke: var(--o-encre); stroke-width: 1; stroke-dasharray: 2 3; }
.lj-def-curseur[hidden] { display: none; }
.lj-def-bulle { position: absolute; z-index: 5; pointer-events: none; background: #fff; border: 1px solid var(--o-filet); box-shadow: 0 6px 16px rgba(20, 16, 8, 0.12); padding: 7px 10px; font-family: var(--font-sans, sans-serif); font-size: 12px; line-height: 1.5; min-width: 150px; }
.lj-def-bulle[hidden] { display: none; }
.lj-def-bulle strong { display: block; font-size: 12.5px; border-bottom: 1px solid var(--o-doux); margin-bottom: 3px; padding-bottom: 2px; }
.lj-def-bulle strong small { font-weight: 400; color: var(--o-gris); }
.lj-def-bulle span { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.lj-def-bulle span i { width: 12px; height: 0; flex: 0 0 12px; border-top: 3px solid var(--o-rouge); }
.lj-def-bulle span i.is-prec { border-top: 2px dashed var(--o-gris); }
.lj-def-bulle span b { margin-left: auto; padding-left: 12px; }

/* ---- la carte ---- */
.lj-def-carte { margin: 6px 0 0; }
.lj-def-modes { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 10px; }
.lj-def-modes[hidden] { display: none; }
.lj-def-modes .lj-lex-fam { border: 1px solid var(--o-doux); background: #fff; cursor: pointer; padding: 6px 11px; border-radius: 0; font-family: var(--font-sans, sans-serif); font-size: 10.5px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase; color: var(--o-gris); }
.lj-def-modes .lj-lex-fam:hover { color: var(--o-encre); border-color: var(--o-filet); }
.lj-def-modes .lj-lex-fam.is-on { background: var(--o-encre); border-color: var(--o-encre); color: var(--paper, #f7f5ee); }
.lj-def-carte-fond { position: relative; max-width: 760px; margin: 0 auto; }
.lj-def-svg { display: block; width: 100%; height: auto; }
.lj-def-dep { fill: var(--o-sable); stroke: var(--paper, #f7f5ee); stroke-width: 0.8; vector-effect: non-scaling-stroke; transition: opacity 0.12s ease; cursor: default; }
.lj-def-dep:hover { opacity: 0.78; stroke: var(--o-encre); stroke-width: 1.2; }
.lj-def-dep.is-muet { fill: url(#lj-def-hach); }
.lj-def-dep.is-vide { fill: #f2efe6; }
.lj-def-encart-t { font-family: var(--font-sans, sans-serif); font-size: 10.5px; fill: var(--o-gris); }
/* Évolution : du vert (baisse) au rouge (hausse), en passant par le sable. */
.lj-def-carte[data-mode="evol"] .lj-def-dep[data-e="1"] { fill: #2f6b2f; }
.lj-def-carte[data-mode="evol"] .lj-def-dep[data-e="2"] { fill: #9bb894; }
.lj-def-carte[data-mode="evol"] .lj-def-dep[data-e="3"] { fill: #e4dcc6; }
.lj-def-carte[data-mode="evol"] .lj-def-dep[data-e="4"] { fill: #d99c93; }
.lj-def-carte[data-mode="evol"] .lj-def-dep[data-e="5"] { fill: #8a1711; }
/* Nombre : du sable à l'encre. */
.lj-def-carte[data-mode="nombre"] .lj-def-dep[data-q="1"] { fill: #efe9da; }
.lj-def-carte[data-mode="nombre"] .lj-def-dep[data-q="2"] { fill: #d9cfb6; }
.lj-def-carte[data-mode="nombre"] .lj-def-dep[data-q="3"] { fill: #b3a583; }
.lj-def-carte[data-mode="nombre"] .lj-def-dep[data-q="4"] { fill: #7a6c4c; }
.lj-def-carte[data-mode="nombre"] .lj-def-dep[data-q="5"] { fill: #2a2416; }
.lj-def-echelle { list-style: none; display: none; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 10px 0 0; padding: 0; font-family: var(--font-sans, sans-serif); font-size: 12px; color: var(--o-gris); }
.lj-def-carte[data-mode="evol"] .lj-def-echelle.is-evol, .lj-def-carte[data-mode="nombre"] .lj-def-echelle.is-nombre { display: flex; }
.lj-def-echelle i { display: inline-block; width: 14px; height: 14px; vertical-align: -2px; margin-right: 6px; border: 1px solid rgba(26, 22, 13, 0.18); }
.lj-def-echelle [data-e="1"] i { background: #2f6b2f; } .lj-def-echelle [data-e="2"] i { background: #9bb894; } .lj-def-echelle [data-e="3"] i { background: #e4dcc6; } .lj-def-echelle [data-e="4"] i { background: #d99c93; } .lj-def-echelle [data-e="5"] i { background: #8a1711; }
.lj-def-echelle [data-q="1"] i { background: #efe9da; } .lj-def-echelle [data-q="2"] i { background: #d9cfb6; } .lj-def-echelle [data-q="3"] i { background: #b3a583; } .lj-def-echelle [data-q="4"] i { background: #7a6c4c; } .lj-def-echelle [data-q="5"] i { background: #2a2416; }
.lj-def-echelle .is-muet i { background: repeating-linear-gradient(45deg, #efe9da 0 3px, #a59f8c 3px 4.6px); }

/* ---- hausses et baisses ---- */
.lj-def-duo { margin-top: 18px; }
.lj-def-palmares ol { list-style: none; margin: 0; padding: 0; }
.lj-def-palmares li { display: grid; grid-template-columns: minmax(0, 1fr) auto 5.2em; align-items: baseline; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--o-doux); font-size: 15px; }
.lj-def-palmares li:first-child { border-top: 1px solid var(--o-doux); }
.lj-def-pal-nom small { font-family: var(--font-sans, sans-serif); font-size: 11px; color: var(--o-gris); margin-left: 3px; }
.lj-def-pal-n { font-family: var(--font-sans, sans-serif); font-size: 12.5px; color: var(--o-gris); }
.lj-def-palmares b { font-family: var(--font-sans, sans-serif); font-size: 13.5px; text-align: right; }

/* ---- tous les départements ---- */
.lj-def-tous { margin: 18px 0 0; }
.lj-def-tous > summary { cursor: pointer; display: inline-block; list-style: none; padding: 7px 14px; border: 1px solid var(--o-filet); font-family: var(--font-sans, sans-serif); font-size: 11px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: var(--o-encre); }
.lj-def-tous > summary::-webkit-details-marker { display: none; }
.lj-def-tous > summary:hover, .lj-def-tous[open] > summary { background: var(--o-encre); color: var(--paper, #f7f5ee); }
.lj-def-table-fond { overflow-x: auto; margin-top: 12px; }
.lj-def-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.lj-def-table th, .lj-def-table td { padding: 6px 10px; border-bottom: 1px solid var(--o-doux); text-align: left; font-weight: 400; }
.lj-def-table thead th { font-family: var(--font-sans, sans-serif); font-size: 10.5px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: var(--o-gris); border-bottom: 2px solid var(--o-filet); white-space: nowrap; }
.lj-def-table tbody th { font-weight: 700; }
.lj-def-table tbody th small { font-family: var(--font-sans, sans-serif); font-size: 11px; font-weight: 400; color: var(--o-gris); }
.lj-def-table td { color: var(--ink-soft, #322d20); }
.lj-def-table .is-num { text-align: right; font-family: var(--font-sans, sans-serif); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lj-def-table tbody tr:hover { background: var(--o-survol); }

/* ==========================================================================
   Simulateur « combien coûte un salarié »
   ========================================================================== */
.lj-sim-form { margin: 18px 0 0; padding: 16px 18px 14px; border: 1px solid var(--o-filet); background: #fff; }
.lj-sim-modes { border: 0; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 4px; }
.lj-sim-modes legend { float: left; padding: 0; margin: 0 10px 0 0; font-family: var(--font-display, Georgia, serif); font-size: 18px; font-weight: 700; color: var(--o-encre); }
.lj-sim-mode { position: relative; cursor: pointer; }
.lj-sim-mode input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lj-sim-mode span { display: inline-block; padding: 7px 12px; border: 1px solid var(--o-doux); background: #fff; font-family: var(--font-sans, sans-serif); font-size: 10.5px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase; color: var(--o-gris); }
.lj-sim-mode:hover span { color: var(--o-encre); border-color: var(--o-filet); }
.lj-sim-mode input:checked + span { background: var(--o-encre); border-color: var(--o-encre); color: var(--paper, #f7f5ee); }
.lj-sim-mode input:focus-visible + span { outline: 2px solid var(--o-rouge); outline-offset: 2px; }
.lj-sim-champs { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.2fr) auto; gap: 12px 14px; align-items: end; }
.lj-sim-champ { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lj-sim-champ > span:first-child { font-family: var(--font-sans, sans-serif); font-size: 10.5px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: var(--o-gris); }
.lj-sim-saisie { position: relative; display: block; }
.lj-sim-saisie input { width: 100%; box-sizing: border-box; padding: 9px 30px 9px 12px; border: 1px solid var(--o-filet); border-radius: 0; background: var(--paper, #f7f5ee); font-family: var(--font-display, Georgia, serif); font-size: 22px; font-weight: 700; color: var(--o-encre); appearance: none; }
.lj-sim-saisie input:focus { outline: none; box-shadow: inset 0 -3px 0 var(--o-rouge); }
.lj-sim-saisie i { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); font-style: normal; font-family: var(--font-sans, sans-serif); font-size: 15px; color: var(--o-gris); }
.lj-sim-champ select { width: 100%; box-sizing: border-box; padding: 11px 10px; border: 1px solid var(--o-doux); border-radius: 0; background: #fff; font-family: var(--font-sans, sans-serif); font-size: 13.5px; color: var(--o-encre); cursor: pointer; }
.lj-sim-champ select:focus { outline: none; border-color: var(--o-filet); }
.lj-sim-bouton { padding: 12px 22px; border: 1px solid var(--o-rouge); border-radius: 0; background: var(--o-rouge); color: #fff; cursor: pointer; font-family: var(--font-sans, sans-serif); font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.lj-sim-bouton:hover { background: var(--accent-ink, #5e0f0a); border-color: var(--accent-ink, #5e0f0a); }
.lj-sim-bouton[disabled] { opacity: 0.6; cursor: progress; }
.lj-sim-aide { margin: 10px 0 0; font-size: 12.5px; color: var(--o-gris); font-style: italic; }
.lj-sim-message { margin: 10px 0 0; padding: 8px 12px; border-left: 3px solid var(--o-tan); background: var(--o-sable); font-family: var(--font-sans, sans-serif); font-size: 13px; color: var(--ink-soft, #322d20); }
.lj-sim-message[hidden] { display: none; }
.lj-sim-message.is-erreur { border-left-color: var(--o-rouge); }
.lj-sim.is-calcul .lj-sim-resultat { opacity: 0.45; transition: opacity 0.15s ease; }
.lj-sim-stats .is-cout b { color: var(--o-rouge); }
.lj-sim-barre { display: flex; height: 22px; margin: 16px 0 0; background: var(--o-sable); overflow: hidden; }
.lj-sim-barre i { display: block; height: 100%; transition: width 0.3s ease; }
.lj-sim-barre .is-net, .lj-sim-legende .is-net i { background: var(--o-encre); }
.lj-sim-barre .is-sal, .lj-sim-legende .is-sal i { background: var(--o-tan); }
.lj-sim-barre .is-pat, .lj-sim-legende .is-pat i { background: var(--o-rouge); }
.lj-sim-legende { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 8px 0 0; padding: 0; font-family: var(--font-sans, sans-serif); font-size: 12.5px; color: var(--o-gris); }
.lj-sim-legende i { display: inline-block; width: 12px; height: 12px; margin-right: 6px; vertical-align: -1px; }
.lj-sim-legende b { color: var(--o-encre); margin-left: 3px; }
.lj-sim-detail { width: 100%; max-width: 640px; border-collapse: collapse; margin: 18px 0 0; font-size: 15px; }
.lj-sim-detail th { text-align: left; font-weight: 400; padding: 7px 0; border-bottom: 1px solid var(--o-doux); color: var(--ink-soft, #322d20); }
.lj-sim-detail td { text-align: right; padding: 7px 0 7px 16px; border-bottom: 1px solid var(--o-doux); font-family: var(--font-sans, sans-serif); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lj-sim-detail .is-fort th, .lj-sim-detail .is-fort td { font-weight: 700; color: var(--o-encre); }
.lj-sim-detail .is-dont th, .lj-sim-detail .is-dont td { font-size: 13px; color: var(--o-gris); border-bottom-style: dotted; }
.lj-sim-detail .lj-sim-dont { padding-left: 16px; }
.lj-sim-detail .is-sep th, .lj-sim-detail .is-sep td { border-top: 2px solid var(--o-filet); }
.lj-sim-detail .is-total th, .lj-sim-detail .is-total td { border-bottom: 2px solid var(--o-filet); font-size: 16.5px; }
.lj-sim-detail .is-total td { color: var(--o-rouge); }
.lj-sim-plus { margin: 16px 0 0; padding: 11px 14px; border-left: 3px solid var(--o-encre); background: var(--o-sable); font-size: 15px; line-height: 1.5; color: var(--ink-soft, #322d20); max-width: 82ch; }
.lj-sim-plus[hidden] { display: none; }
.lj-sim-table tbody th small { margin-left: 5px; padding: 1px 5px; border: 1px solid var(--o-doux); font-size: 9.5px; letter-spacing: 1px; text-transform: uppercase; }
.lj-sim-liste { list-style: none; margin: 4px 0 0; padding: 0; max-width: 90ch; }
.lj-sim-liste li { padding: 9px 0; border-bottom: 1px solid var(--o-doux); font-size: 15px; line-height: 1.55; color: var(--ink-soft, #322d20); }
.lj-sim-liste li:first-child { border-top: 1px solid var(--o-doux); }
.lj-sim-liste b { font-family: var(--font-sans, sans-serif); font-size: 10.5px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--o-encre); margin-right: 4px; }

/* ==========================================================================
   Page d'une société citée
   ========================================================================== */

/* ---- le cours ---- */
.lj-soc-cours-tete { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin: 4px 0 6px; font-family: var(--font-sans, sans-serif); }
.lj-soc-cours-prix { font-family: var(--font-display, Georgia, serif); font-size: 34px; font-weight: 700; line-height: 1; letter-spacing: -0.4px; color: var(--o-encre); }
.lj-soc-cours-var { font-size: 15px; font-weight: 700; }
.lj-soc-cours-var.is-up, .lj-soc-stat-cours i.is-up { color: var(--o-vert); }
.lj-soc-cours-var.is-down, .lj-soc-stat-cours i.is-down { color: var(--o-rouge); }
.lj-soc-cours-sym { font-size: 11px; letter-spacing: 0.6px; color: var(--o-gris); border: 1px solid var(--o-doux); padding: 1px 6px; }
.lj-soc-cours-graphe { border-top: 1px solid var(--o-doux); border-bottom: 1px solid var(--o-doux); padding: 8px 0 2px; min-height: 60px; }
.lj-soc-cours-graphe svg { display: block; width: 100%; height: auto; overflow: visible; }
.lj-soc-cours-graphe .lj-soc-ligne { fill: none; stroke: var(--o-encre); stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.lj-soc-cours-graphe .lj-soc-aire { fill: var(--o-sable); stroke: none; }
.lj-soc-cours-graphe .lj-soc-repere { stroke: var(--o-doux); stroke-width: 1; vector-effect: non-scaling-stroke; }
.lj-soc-cours-graphe[hidden] { display: none; }
.lj-soc-cours-axe { display: flex; justify-content: space-between; gap: 10px; font-family: var(--font-sans, sans-serif); font-size: 11px; color: var(--o-gris); padding: 2px 4px 6px; }
.lj-soc-cours-axe span:nth-child(2) { text-align: center; }
.lj-soc-cours-axe span:last-child { text-align: right; }

/* ---- les articles ---- */
.lj-soc-liste { list-style: none; margin: 10px 0 0; padding: 0; }
.lj-soc-art { padding: 14px 0 15px; border-bottom: 1px solid var(--o-doux); }
.lj-soc-art:first-child { border-top: 1px solid var(--o-doux); }
.lj-soc-art-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 3px; font-family: var(--font-sans, sans-serif); font-size: 10.5px; letter-spacing: 1.1px; text-transform: uppercase; color: var(--o-gris); }
.lj-soc-art-meta span { color: var(--o-rouge); font-weight: 700; }
.lj-soc-art-titre { font-family: var(--font-display, Georgia, serif); font-size: 20px; line-height: 1.2; font-weight: 700; margin: 0; }
.lj-soc-art-titre a { color: var(--o-encre); text-decoration: none; }
.lj-soc-art-titre a:hover { color: var(--o-rouge); }
.lj-soc-art-passage { margin: 6px 0 0; padding-left: 12px; border-left: 2px solid var(--o-tan); font-size: 15px; line-height: 1.5; color: var(--ink-soft, #322d20); max-width: 82ch; }
.lj-soc-art-passage strong { color: var(--o-encre); }
.lj-soc-suite { margin: 14px 0 0; }
.lj-soc-suite > summary { cursor: pointer; display: inline-block; list-style: none; padding: 7px 14px; border: 1px solid var(--o-filet); font-family: var(--font-sans, sans-serif); font-size: 11px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: var(--o-encre); }
.lj-soc-suite > summary::-webkit-details-marker { display: none; }
.lj-soc-suite > summary:hover, .lj-soc-suite[open] > summary { background: var(--o-encre); color: var(--paper, #f7f5ee); }
.lj-soc-suite .lj-cit-arts { margin-top: 12px; columns: 2 320px; column-gap: 40px; }
.lj-soc-suite .lj-cit-arts li { break-inside: avoid; }

/* ---- sociétés et personnes associées ---- */
.lj-soc-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.lj-soc-tags a, .lj-soc-tags span { display: inline-block; padding: 5px 10px; border: 1px solid var(--o-doux); background: #fff; font-family: var(--font-sans, sans-serif); font-size: 12.5px; color: var(--o-encre); text-decoration: none; }
.lj-soc-tags a:hover { border-color: var(--o-filet); color: var(--o-rouge); }
.lj-soc-tags i { font-style: normal; font-size: 11px; color: var(--o-gris); margin-left: 4px; }

/* ---- les mots pour comprendre ---- */
.lj-soc-defs { margin: 6px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1px; padding: 1px; }
.lj-soc-defs > div { background: var(--paper, #f7f5ee); padding: 13px 15px 14px; outline: 1px solid var(--o-doux); }
.lj-soc-defs dt { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.lj-soc-defs dt a { font-family: var(--font-display, Georgia, serif); font-size: 17px; font-weight: 700; color: var(--o-encre); text-decoration: none; }
.lj-soc-defs dt a:hover { box-shadow: inset 0 -1px 0 var(--o-rouge); }
.lj-soc-defs dd { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--ink-soft, #322d20); }

/* ---- sous un article : les sociétés citées (styles de base : components.css) ---- */

@media (max-width: 900px) {
	.lj-sim-champs { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.lj-sim-champ--montant, .lj-sim-bouton { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	.lj-sim-modes legend { float: none; width: 100%; margin: 0 0 4px; }
	.lj-sim-detail { font-size: 14px; }
	.lj-out-barre { grid-template-columns: minmax(0, 1fr) auto; }
	.lj-out-barre-piste { grid-column: 1 / -1; grid-row: 2; }
	.lj-out-barres.is-compact .lj-out-barre { grid-template-columns: minmax(0, 1fr) auto; }
	.lj-def-palmares li { font-size: 14px; }
	.lj-def-table { font-size: 13px; }
	.lj-out-stat { flex: 1 1 45%; min-width: 0; border-bottom: 1px solid var(--o-doux); }
	.lj-out-stat b { font-size: 22px; }
	.lj-out-stat b.is-texte { font-size: 17px; }
	.lj-out-duo { grid-template-columns: minmax(0, 1fr); }
	.lj-soc-cours-prix { font-size: 28px; }
	.lj-soc-art-titre { font-size: 18px; }
}

@media print {
	.lj-soc-suite > summary { display: none; }
}
