/* ==========================================================================
   ie24 — Lexique
   Chargé uniquement sur le gabarit template-lexique.php.
   Même grammaire que « Toutes les taxes en France » et « Les Marchés » :
   filets d'encre, petites capitales, rouge éditorial au compte-gouttes.
   ========================================================================== */

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

/* ---- manchette ---- */
.lj-lex-man { margin-bottom: 0.6rem; }
.lj-lex-intro { font-size: 15px; line-height: 1.55; color: var(--ink-soft, #322d20); max-width: 70ch; margin: 0.4em 0 0.2em; }
.lj-lex-intro.is-long { max-width: none; column-count: 2; column-width: 32ch; column-gap: 44px; column-rule: 1px solid var(--x-doux); }
.lj-lex-intro > :last-child { margin-bottom: 0; }

/* ---- barre d'outils : recherche + familles ---- */
.lj-lex-barre {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px;
	border-top: 2px solid var(--x-filet); border-bottom: 1px solid var(--x-doux);
	padding: 12px 0; margin: 18px 0 0;
}
.lj-lex-search { position: relative; flex: 1 1 260px; max-width: 420px; }
.lj-lex-input {
	width: 100%; box-sizing: border-box;
	border: 1px solid var(--x-doux); background: #fff;
	padding: 9px 30px 9px 12px;
	font-family: var(--font-serif, Georgia, serif); font-size: 14.5px; color: var(--x-encre);
	border-radius: 0; appearance: none;
}
.lj-lex-input:focus { outline: none; border-color: var(--x-filet); box-shadow: inset 0 -2px 0 var(--x-rouge); }
.lj-lex-clear {
	position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	border: 0; background: none; cursor: pointer; font-size: 20px; line-height: 1;
	color: var(--x-gris); padding: 2px 6px;
}
.lj-lex-clear:hover { color: var(--x-rouge); }

.lj-lex-fams { display: flex; flex-wrap: wrap; gap: 4px; }
.lj-lex-fam {
	border: 1px solid var(--x-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(--x-gris);
}
.lj-lex-fam i { font-style: normal; color: var(--x-doux); margin-left: 3px; }
.lj-lex-fam:hover { color: var(--x-encre); border-color: var(--x-filet); }
.lj-lex-fam.is-on { background: var(--x-encre); border-color: var(--x-encre); color: var(--paper, #f7f5ee); }
.lj-lex-fam.is-on i { color: rgba(247, 245, 238, 0.55); }

/* ---- navigation alphabétique ---- */
.lj-lex-abc {
	display: flex; flex-wrap: wrap; gap: 1px;
	margin: 10px 0 0; padding-bottom: 10px;
	border-bottom: 1px solid var(--x-doux);
}
.lj-lex-abc-l {
	min-width: 26px; text-align: center; padding: 5px 4px;
	font-family: var(--font-sans, sans-serif); font-size: 12px; font-weight: 700;
	color: var(--x-encre); text-decoration: none; border: 1px solid transparent;
}
.lj-lex-abc-l:hover, .lj-lex-abc-l:focus-visible { border-color: var(--x-doux); background: var(--x-survol); }
.lj-lex-abc-l.is-off { color: var(--x-doux); pointer-events: none; }
.lj-lex-abc-l.is-active { background: var(--x-encre); color: var(--paper, #f7f5ee); }

.lj-lex-compte {
	font-family: var(--font-sans, sans-serif); font-size: 10.5px; letter-spacing: 1.2px;
	text-transform: uppercase; color: var(--x-gris); margin: 10px 0 0;
}

/* ---- sections par lettre ---- */
.lj-lex-sec { margin: 26px 0 0; scroll-margin-top: 90px; }
.lj-lex-lettre {
	font-family: var(--font-display, Georgia, serif); font-size: 30px; font-weight: 800;
	line-height: 1; color: var(--x-rouge); margin: 0 0 10px;
	padding-bottom: 6px; border-bottom: 2px solid var(--x-filet);
}

/* ---- grille de fiches ---- */
.lj-lex-grille {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 1px; background: var(--x-doux);
	border: 1px solid var(--x-doux);
}
.lj-lex-item {
	background: var(--paper, #f7f5ee); padding: 14px 16px 15px;
	scroll-margin-top: 90px;
}
.lj-lex-item:target { background: #fff; box-shadow: inset 3px 0 0 var(--x-rouge); }

.lj-lex-item-tete { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.lj-lex-terme {
	font-family: var(--font-display, Georgia, serif); font-size: 18px; font-weight: 700;
	line-height: 1.2; color: var(--x-encre); margin: 0;
}
.lj-lex-sigle { font-family: var(--font-sans, sans-serif); font-size: 11px; font-weight: 600; letter-spacing: 1px; color: var(--x-gris); }
.lj-lex-fam-tag {
	flex: none; font-family: var(--font-sans, sans-serif); font-size: 8.5px; font-weight: 700;
	letter-spacing: 1.1px; text-transform: uppercase; color: var(--x-gris);
	border: 1px solid var(--x-doux); padding: 2px 6px; white-space: nowrap;
}
.lj-lex-fam--ie      { border-color: #b9ae91; }
.lj-lex-fam--finance { border-color: #9db0a4; }
.lj-lex-fam--fisc    { border-color: #c2a98f; }
.lj-lex-fam--geo     { border-color: #a3aec2; }
.lj-lex-fam--droit   { border-color: #bda9ae; }
.lj-lex-fam--cyber   { border-color: #a9a9bd; }

.lj-lex-def { font-size: 14.5px; line-height: 1.55; color: var(--ink-soft, #322d20); margin: 0; }
.lj-lex-var { font-size: 12.5px; color: var(--x-gris); margin: 7px 0 0; font-style: italic; }

.lj-lex-voir { font-size: 12.5px; margin: 9px 0 0; line-height: 1.6; }
.lj-lex-voir span {
	font-family: var(--font-sans, sans-serif); font-size: 9.5px; font-weight: 700;
	letter-spacing: 1.1px; text-transform: uppercase; color: var(--x-gris); margin-right: 4px;
}
.lj-lex-voir a { color: var(--x-encre); text-decoration: none; box-shadow: inset 0 -1px 0 var(--x-doux); }
.lj-lex-voir a:hover { box-shadow: inset 0 -1px 0 var(--x-rouge); color: var(--x-rouge); }

.lj-lex-outil { margin: 9px 0 0; }
.lj-lex-outil a {
	font-family: var(--font-sans, sans-serif); font-size: 10.5px; font-weight: 600;
	letter-spacing: 0.8px; color: var(--x-rouge); text-decoration: none;
}
.lj-lex-outil a::before { content: "→"; margin-right: 5px; }
.lj-lex-outil a:hover { box-shadow: inset 0 -1px 0 var(--x-rouge); }

/* ---- états ---- */
.lj-lex-item[hidden], .lj-lex-sec[hidden] { display: none; }
.lj-lex-vide { border: 1px solid var(--x-doux); background: var(--x-sable); padding: 16px 18px; font-size: 14px; margin: 18px 0 0; }
.lj-lex-note { font-size: 12px; line-height: 1.55; color: var(--x-gris); border-top: 1px solid var(--x-doux); margin: 26px 0 0; padding-top: 10px; max-width: 80ch; }

/* ---- surlignage de recherche ---- */
.lj-lex-item mark { background: #f6e6a8; color: inherit; padding: 0 1px; }

/* ---- écrans étroits ---- */
@media (max-width: 720px) {
	.lj-lex-barre { gap: 8px 10px; }
	.lj-lex-search { max-width: none; }
	.lj-lex-fams { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 3px; -webkit-overflow-scrolling: touch; }
	.lj-lex-fam { white-space: nowrap; flex: none; }
	.lj-lex-grille { grid-template-columns: 1fr; }
	.lj-lex-lettre { font-size: 25px; }
}

/* ---- impression ---- */
@media print {
	.lj-lex-barre, .lj-lex-abc, .lj-lex-clear { display: none; }
	.lj-lex-grille { grid-template-columns: 1fr 1fr; border: 0; gap: 0; background: none; }
	.lj-lex-item { background: none; break-inside: avoid; border-bottom: 1px solid #ccc; }
	.lj-lex-outil { display: none; }
}

/* ==========================================================================
   « Qui est cité » — répertoire des entreprises et des personnes.
   Partage la grammaire du lexique (barre, filtres, A–Z) et y ajoute ses
   fiches : nature, nombre d'articles, liste des publications.
   ========================================================================== */

.lj-cit-stats { margin: 18px 0 0; }

.lj-cit-tri { display: flex; align-items: center; gap: 6px; }
.lj-cit-tri label {
	font-family: var(--font-sans, sans-serif); font-size: 10px; font-weight: 600;
	letter-spacing: 1.1px; text-transform: uppercase; color: var(--x-gris);
}
.lj-cit-tri select {
	border: 1px solid var(--x-doux); background: #fff; border-radius: 0;
	padding: 6px 8px; font-family: var(--font-sans, sans-serif); font-size: 11px;
	color: var(--x-encre); cursor: pointer;
}
.lj-cit-tri select:focus { outline: none; border-color: var(--x-filet); }

/* ---- fiches ---- */
.lj-cit-corps {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 1px; background: var(--x-doux);
	border: 1px solid var(--x-doux); margin-top: 14px;
}
.lj-cit-item {
	background: var(--paper, #f7f5ee); padding: 14px 16px 15px;
	scroll-margin-top: 90px;
}
.lj-cit-item:target { background: #fff; box-shadow: inset 3px 0 0 var(--x-rouge); }
.lj-cit-item[hidden] { display: none; }

.lj-cit-tete { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.lj-cit-nom { font-family: var(--font-display, Georgia, serif); font-size: 17px; font-weight: 700; line-height: 1.2; margin: 0; }
.lj-cit-nom a { color: var(--x-encre); text-decoration: none; }
.lj-cit-nom a:hover { box-shadow: inset 0 -1px 0 var(--x-rouge); }
.lj-cit-type--e { border-color: #9db0a4; }
.lj-cit-type--p { border-color: #c2a98f; }

.lj-cit-meta {
	font-family: var(--font-sans, sans-serif); font-size: 10.5px; letter-spacing: 0.6px;
	color: var(--x-gris); margin: 5px 0 0; text-transform: uppercase;
}
.lj-cit-fiche { margin: 6px 0 0; }
.lj-cit-fiche a {
	font-family: var(--font-sans, sans-serif); font-size: 10.5px; font-weight: 600;
	letter-spacing: 0.8px; color: var(--x-rouge); text-decoration: none;
}
.lj-cit-fiche a::before { content: "→"; margin-right: 5px; }
.lj-cit-fiche a:hover { box-shadow: inset 0 -1px 0 var(--x-rouge); }

/* ---- articles cités ---- */
.lj-cit-arts { list-style: none; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--x-doux); }
.lj-cit-arts li { padding: 7px 0; border-bottom: 1px solid var(--x-doux); }
.lj-cit-arts li:last-child { border-bottom: 0; }
.lj-cit-arts li[hidden] { display: none; }
.lj-cit-arts a {
	display: block; font-size: 13.5px; line-height: 1.4;
	color: var(--ink-soft, #322d20); text-decoration: none;
}
.lj-cit-arts a:hover { color: var(--x-rouge); }
.lj-cit-arts time {
	display: block; margin-top: 2px;
	font-family: var(--font-sans, sans-serif); font-size: 9.5px; letter-spacing: 1px;
	text-transform: uppercase; color: var(--x-gris);
}

.lj-cit-plus {
	margin-top: 8px; border: 1px solid var(--x-doux); background: #fff; cursor: pointer;
	padding: 5px 10px; font-family: var(--font-sans, sans-serif); font-size: 10px;
	font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--x-gris);
}
.lj-cit-plus:hover { color: var(--x-encre); border-color: var(--x-filet); }

@media (max-width: 720px) {
	.lj-cit-corps { grid-template-columns: 1fr; }
	.lj-cit-tri { width: 100%; }
}
@media print {
	.lj-cit-tri, .lj-cit-plus, .lj-cit-fiche { display: none; }
	.lj-cit-corps { grid-template-columns: 1fr 1fr; border: 0; gap: 0; background: none; }
	.lj-cit-item { background: none; break-inside: avoid; border-bottom: 1px solid #ccc; }
}
