/*
 * Pages de la revue : numéro et contributeur.
 *
 * Ne définit aucune couleur ni mesure en dur : tout vient de tokens.css, et
 * les composants communs (.cvigee-rubrique, .cvigee-lien-pdf, .cvigee-liste)
 * viennent de base.css et layout.css.
 */

/*
 * Rythme des sections internes.
 *
 * --space-section (jusqu’à 104px) sépare les grands blocs d’une page d’accueil.
 * À l’intérieur d’un numéro ou d’une fiche, les sections s’enchaînent : un tel
 * écart y creuse des trous, surtout quand la notice tient en une ligne.
 */
.cvigee-numero__principal .cvigee-section {
	padding-block: var(--space-lg);
}

.cvigee-contributeur .cvigee-section {
	padding-block: var(--space-xl);
}

/* ---------------------------------------------------------- Fil de retour. */

.cvigee-retour {
	margin: var(--space-md) 0 0;
}

.cvigee-retour a {
	font-family: var(--font-ui);
	font-size: var(--fs-meta);
	letter-spacing: var(--ls-nav);
	color: var(--color-accent);
}

.cvigee-retour a:hover,
.cvigee-retour a:focus {
	color: var(--color-ink);
}

/* ------------------------------------------------ Page d’un numéro. */

/*
 * La maquette bâtit cette page sur un auto-fit qui, à deux enfants, partage
 * l’espace en deux moitiés égales — le sommaire s’en trouve étranglé. On garde
 * sa colonne latérale à droite et collante, mais en lui donnant une largeur
 * fixe : le sommaire récupère toute la place dont il a besoin.
 */
/*
 * Répartition de la maquette : 826px de colonne principale, 238px de latérale,
 * 56px de gouttière — soit exactement les 1120px de la zone de contenu.
 *
 * La maquette obtient ces valeurs par un auto-fit de quatre pistes dont la
 * principale occupe « span 3 ». On les exprime ici en proportions : même
 * résultat au pixel sur grand écran, mais sans la zone bâtarde où le compte de
 * pistes tombe à trois et rejette la colonne sous le contenu.
 */
.cvigee-numero {
	display: grid;
	grid-template-columns: minmax(0, 826fr) minmax(0, 238fr);
	gap: var(--space-xl);
	align-items: start;
	padding-top: var(--space-md);
}

.cvigee-numero__principal {
	min-width: 0;
}

/* Il ouvre la colonne : aucune marge haute, pour s’aligner sur la latérale. */
.cvigee-numero__principal > .cvigee-retour {
	margin-top: 0;
}

.cvigee-numero__colonne {
	min-width: 0;
}

.cvigee-numero__entete {
	padding-bottom: var(--space-lg);
	border-bottom: var(--rule);
}

/*
 * Deux colonnes, comme la maquette : à gauche l’identité du numéro — rappel,
 * titre, métadonnées, téléchargement — à droite la couverture, calée en haut
 * et poussée vers la marge.
 */
.cvigee-numero__presentation {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--space-lg);
	align-items: start;
	padding-top: var(--space-md);
}

/* La colonne de gauche garde une longueur de ligne lisible. */
.cvigee-numero__identite {
	max-width: 46ch;
}

.cvigee-numero__identite .cvigee-titre-revue {
	margin: 0;
}

/*
 * Titre du numéro sur deux niveaux, sur le modèle de l’en-tête de la revue
 * (.cvigee-revue__titre et __sous-titre) : le nom de la revue, puis
 * « Cahiers Claude Vigée n° 1 » en italique secondaire. Les deux vivent dans
 * le même h1 ; chaque niveau est un bloc.
 */
.cvigee-titre-revue__nom,
.cvigee-titre-revue__sous-titre {
	display: block;
}

.cvigee-titre-revue__sous-titre {
	font-style: italic;
	font-weight: var(--fw-regular);
	font-size: var(--fs-subtitle);
	line-height: var(--lh-heading);
	color: var(--color-text-secondary);
	margin-top: 10px;
}

/* Sous-titre propre au numéro (« Actes du colloque… »), sous le h1. */
.cvigee-numero__sous-titre {
	margin: var(--space-sm) 0 0;
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	color: var(--color-text-secondary);
}

/* Couverture. */

.cvigee-numero__couverture {
	width: 100%;
	max-width: 280px;
	margin: 0 0 0 auto;
}

.cvigee-numero__couverture img {
	display: block;
	width: 100%;
	height: auto;
	border: var(--rule);
}

/* Vignette en attente, reprise de la maquette : hachures sur papier, carrée. */
.cvigee-couverture-attente {
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: flex-end;
	padding: 18px;
	border: var(--rule);
	background: repeating-linear-gradient(
		135deg,
		var(--color-surface) 0 6px,
		var(--color-surface-alt) 6px 12px
	);
}

.cvigee-couverture-attente span {
	font-size: var(--fs-meta);
	line-height: var(--lh-body-sm);
	color: var(--color-text-muted);
}

/* Métadonnées du numéro. */

.cvigee-numero__meta {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--space-xs) var(--space-md);
	margin: var(--space-lg) 0 0;
	align-items: baseline;
	justify-content: start;
}

.cvigee-numero__meta dt {
	font-family: var(--font-ui);
	font-size: var(--fs-etiquette);
	/* Explicite : le reset de GeneratePress met dt à 700, graisse que Jost
	   n’embarque pas — c’était un gras synthétique. */
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-etiquette);
	text-transform: uppercase;
	color: var(--color-text-muted);
	margin: 0;
	align-self: center;
}

.cvigee-numero__meta dd {
	font-size: var(--fs-donnee);
	color: var(--color-ink);
	margin: 0;
	font-variant-numeric: tabular-nums;
}

.cvigee-numero__telechargement {
	margin: var(--space-lg) 0 0;
}

/* -------------------------------------------------------- Éditorial. */

/*
 * L’éditorial tient toute la colonne, aux mêmes bords que le sommaire.
 * .cvigee-prose porte une mesure de lecture par défaut (layout.css) : elle vaut
 * pour un article isolé, pas ici, où l’éditorial doit s’aligner sur le reste
 * de la page.
 */
.cvigee-editorial .cvigee-prose {
	max-width: none;
}

/*
 * Titre propre de l’éditorial (« À nos lecteurs »), plus ample que le libellé.
 * Il vient du champ sitedit_editorial_titre, pas du corps du texte.
 */
.cvigee-editorial__titre {
	font-family: var(--font-display);
	font-size: var(--fs-editorial);
	font-weight: var(--fw-regular);
	line-height: 1.15;
	margin: 0 0 22px;
}

/*
 * La signature de l’éditorial est une ligne de crédits comme celles du
 * sommaire : ses règles sont avec elles, plus bas (.cvigee-entree__credits).
 */

.cvigee-editorial__lien {
	margin: var(--space-md) 0 0;
}

/* --------------------------------------------------------- Sommaire. */

.cvigee-sommaire__rubrique + .cvigee-sommaire__rubrique {
	margin-top: var(--space-xl);
}

/* L’étiquette de rubrique d’un sommaire est plus grande que celle d’un kicker. */
.cvigee-sommaire__rubrique .cvigee-rubrique--filet {
	font-size: var(--fs-rubrique);
	letter-spacing: var(--ls-rubrique);
	margin-bottom: 0;
}

/* Rubrique titrée par le numéro : l’étiquette, puis le titre du dossier. */
.cvigee-rubrique__nom,
.cvigee-rubrique__titre {
	display: block;
}

.cvigee-rubrique__titre {
	margin-top: 6px;
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	font-style: italic;
	font-weight: var(--fw-semibold);
	line-height: var(--lh-heading);
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-accent);
	/* Remplit la ligne jusqu’au bord du filet, comme les titres d’articles. */
	text-wrap: wrap;
}

.cvigee-sommaire__entrees {
	margin-top: 0;
}

/*
 * Le filet accent de la rubrique suffit à découper le sommaire : les entrées ne
 * sont plus séparées les unes des autres.
 */
.cvigee-sommaire__entrees > li {
	border-top: 0;
}

.cvigee-entree {
	padding-block: var(--space-sm) var(--space-md);
	/* L’ancre arrive avec un peu d’air, pas collée au bord haut de la fenêtre. */
	scroll-margin-top: var(--space-lg);
}

/*
 * Entrée visée par une ancre (résultat de recherche, lien partagé) : un
 * fond à peine teinté, débordant sur la gouttière, la signale à l’arrivée ;
 * pas de cadre, qui ferait croire à une commande. La teinte est celle de la
 * sélection de texte, ramenée à mi-chemin du fond de page.
 */
.cvigee-entree:target {
	--cvigee-cible: color-mix(in srgb, var(--color-selection) 50%, var(--color-bg));
	background: var(--cvigee-cible);
	box-shadow: 0 0 0 var(--space-sm) var(--cvigee-cible);
	border-radius: 2px;
}

.cvigee-entree__exergue {
	font-family: var(--font-ui);
	font-size: var(--fs-rubrique);
	letter-spacing: var(--ls-label-sm);
	text-transform: uppercase;
	color: var(--color-text-muted);
	margin: 0 0 var(--space-xs);
}

/*
 * Les entrées occupent toute la colonne, d’un bord à l’autre du filet de
 * rubrique : la mesure de lecture s’applique à un texte suivi, pas à un
 * sommaire fait de lignes courtes.
 */
.cvigee-entree__titre {
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	/* 600 plutôt que 500 : le titre se détache des crédits qui le suivent. */
	font-weight: var(--fw-semibold);
	line-height: var(--lh-heading);
	color: var(--color-ink);
	margin: 0 0 var(--space-xs);
	/*
	 * Les titres du site sont équilibrés (text-wrap: balance) ; une entrée de
	 * sommaire, elle, doit remplir sa ligne avant de passer à la suivante,
	 * comme dans la maquette. L’équilibrage coupait « … de Pensée / Juive … »
	 * là où la maquette coupe « … Exploration entre / Écriture … ».
	 */
	text-wrap: wrap;
}

/* Le titre mène à la page de l’article : encre au repos, accent au survol. */
.cvigee-entree__titre a {
	color: inherit;
	text-decoration: none;
}

.cvigee-entree__titre a:hover,
.cvigee-entree__titre a:focus {
	color: var(--color-accent);
}

/*
 * Lignes de crédits : sous une entrée du sommaire, et en signature de
 * l’éditorial. Une seule définition, pour qu’elles évoluent ensemble.
 */
.cvigee-entree__credits,
.cvigee-entree__contributions,
.cvigee-editorial__signature {
	font-size: 18px;
	line-height: var(--lh-body-sm);
	color: var(--color-text-muted);
	margin: 0 0 var(--space-xs);
}

/*
 * Le nom mène à la fiche du contributeur : accent au repos pour se distinguer
 * du libellé de rôle qui le précède, encre soulignée au survol.
 */
.cvigee-entree__credits a,
.cvigee-entree__contributions a,
.cvigee-editorial__signature a {
	color: var(--color-accent);
	text-decoration: none;
}

.cvigee-entree__credits a:hover,
.cvigee-entree__credits a:focus,
.cvigee-entree__contributions a:hover,
.cvigee-entree__contributions a:focus,
.cvigee-editorial__signature a:hover,
.cvigee-editorial__signature a:focus {
	color: var(--color-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/*
 * La signature de l’éditorial ne redéfinit que sa place — sous le texte, et
 * non sous un titre d’entrée. Après la règle commune, qui pose aussi la marge.
 */
.cvigee-editorial__signature {
	margin: var(--space-sm) 0 0;
}

.cvigee-entree__role {
	font-style: italic;
}

.cvigee-puce {
	color: var(--color-rule-soft);
	padding-inline: 2px;
}

.cvigee-mention-contributeur {
	font-style: italic;
	color: var(--color-text-muted);
}

.cvigee-entree__page {
	white-space: nowrap;
}

/* -------------------------------------------------- Colonne latérale. */

.cvigee-numero__colonne-interne {
	position: sticky;
	top: var(--sticky-top);
}

.cvigee-numero__colonne .cvigee-rubrique--titre {
	margin-bottom: 14px;
}

.cvigee-serie__nom {
	font-family: var(--font-ui);
	font-size: var(--fs-etiquette);
	letter-spacing: var(--ls-label-sm);
	text-transform: uppercase;
	color: var(--color-accent);
	margin: 26px 0 var(--space-xs);
}

.cvigee-serie__nom:first-of-type {
	margin-top: 0;
}

.cvigee-serie__liste {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: var(--rule);
}

/* Un seul filet, au-dessus du groupe : les entrées ne sont pas séparées. */
.cvigee-serie__liste a {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	font-size: var(--fs-donnee);
	color: var(--color-ink);
}

.cvigee-serie__liste a:hover,
.cvigee-serie__liste a:focus {
	color: var(--color-accent);
}

.cvigee-serie__annee {
	color: var(--color-text-muted);
}

/* Le numéro consulté se distingue sans changer de couleur de fond. */
.cvigee-serie__liste .est-courant a {
	color: var(--color-accent);
	font-weight: var(--fw-medium);
}

/* Entrées transversales, sous la liste des numéros. */
.cvigee-colonne__transversaux {
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.cvigee-colonne__transversaux a {
	font-family: var(--font-ui);
	font-size: var(--fs-action);
	letter-spacing: var(--ls-label-sm);
	text-transform: uppercase;
	color: var(--color-accent);
}

.cvigee-colonne__transversaux a:hover,
.cvigee-colonne__transversaux a:focus {
	color: var(--color-ink);
}

/* ------------------------------------------- Fiche d’un contributeur. */

/* Le premier niveau du fil est sourd : il ramène, il n’appelle pas. */
.cvigee-retour--sourd a {
	font-size: var(--fs-action);
	letter-spacing: var(--ls-action);
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.cvigee-retour--sourd a:hover,
.cvigee-retour--sourd a:focus {
	color: var(--color-accent);
}

/*
 * Pas de filet sous l’en-tête : ce qui suit — barre d’onglets ou titre
 * « Dans la revue » — porte déjà son filet d’accent, et deux traits à quelques
 * lignes d’écart se lisaient comme une bande vide.
 */
.cvigee-fiche__entete {
	padding: 30px 0 0;
}

.cvigee-fiche__nom {
	font-family: var(--font-display);
	font-weight: var(--fw-thin);
	font-size: clamp(38px, 5vw, 64px);
	line-height: 1.05;
	color: var(--color-ink);
	margin: 0;
}

.cvigee-fiche__mention {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 22px;
	line-height: var(--lh-heading);
	color: var(--color-text-secondary);
	margin: 14px 0 0;
}

/*
 * Onglets, sous l’en-tête pleine largeur. « Dans la revue » — liste qu’on
 * parcourt — tient toute la colonne ; biographie et bibliographie, textes de
 * lecture, s’arrêtent à la mesure, au bord gauche du titre. La barre suit la
 * largeur du panneau ouvert (attribut posé par onglets.js), pour que son filet
 * ait toujours celle de ce qu’il surplombe ; sans script, elle est à la
 * mesure, au-dessus des sections l’une sous l’autre.
 */
.cvigee-fiche__onglets .cvigee-onglets__barre,
.cvigee-fiche__notice {
	max-width: var(--measure);
}

.cvigee-fiche__onglets[data-cvigee-actif="dans-la-revue"] .cvigee-onglets__barre {
	max-width: none;
}

/* ------------------------------------------------------ Bibliographie. */

/*
 * Tableau à deux colonnes plutôt qu’une liste à puces : l’année se lit en
 * regard, comme dans la maquette. Pas de filet propre : celui de la barre
 * d’onglets ouvre le bloc, et la première ligne s’y colle sans retrait.
 */
.cvigee-biblio {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cvigee-biblio__ligne {
	display: flex;
	gap: 18px;
	align-items: baseline;
	padding: 9px 0;
}

.cvigee-biblio__ligne:first-child {
	padding-top: 0;
}

.cvigee-biblio__annee {
	flex: 0 0 44px;
	font-size: var(--fs-meta);
	color: var(--color-text-muted);
	font-variant-numeric: tabular-nums;
}

.cvigee-biblio__reference {
	font-size: 18px;
	line-height: var(--lh-body-sm);
	min-width: 0;
}

/* ------------------------------------------------------ Interventions. */

/*
 * Deux colonnes, avec une largeur plancher : sous 280px par colonne le CSS
 * repasse de lui-même sur une seule. Une entrée ne se coupe jamais entre les
 * deux — un titre dont la source réapparaît en haut de la colonne voisine est
 * illisible. Pas de filet propre : celui, d’accent, de la barre d’onglets ou
 * du titre « Dans la revue » ouvre déjà le bloc.
 *
 * Le panneau rend une part de son retrait : chaque entrée porte le sien, et
 * toutes le gardent — en alléger la première décalerait la tête de la seconde
 * colonne, qui a aussi une première entrée.
 */
.cvigee-fiche__revue {
	padding-top: calc(var(--space-lg) - var(--space-sm));
}

/*
 * Seul (pas de barre), le titre se place exactement où serait la barre — le
 * retrait du panneau compte déjà pour une part — et garde sous son filet le
 * même air qu’elle.
 */
.cvigee-fiche__revue > .cvigee-panneau__titre {
	margin-top: var(--space-sm);
	margin-bottom: calc(var(--space-lg) - var(--space-sm));
}

.cvigee-interventions {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2 280px;
	column-gap: var(--space-xl);
}

.cvigee-intervention__lien {
	display: block;
	color: var(--color-ink);
}

.cvigee-intervention {
	padding: var(--space-sm) 0;
	break-inside: avoid;
}

.cvigee-intervention__role {
	font-family: var(--font-ui);
	font-size: var(--fs-etiquette);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-action);
	text-transform: uppercase;
	color: var(--color-accent);
	margin: 0 0 6px;
}

.cvigee-intervention__titre {
	font-family: var(--font-display);
	font-size: 19px;
	line-height: var(--lh-heading);
	color: inherit;
	margin: 0 0 4px;
}

.cvigee-intervention__source {
	font-size: var(--fs-meta);
	color: var(--color-text-muted);
	margin: 0;
}

/* Le bloc entier est cliquable : c’est le titre qui prend l’accent. */
.cvigee-intervention__lien:hover .cvigee-intervention__titre,
.cvigee-intervention__lien:focus .cvigee-intervention__titre {
	color: var(--color-accent);
}

/* ------------------------------------------------------ Petits écrans. */

@media (max-width: 900px) {

	.cvigee-numero {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Plus de colonne : la liste des numéros n’a plus à rester collée. */
	.cvigee-numero__colonne-interne {
		position: static;
	}

	.cvigee-numero__colonne {
		border-top: var(--rule);
		padding-top: var(--space-md);
	}
}

/*
 * Sous 640px la double colonne se replie : la couverture passe sous le bloc
 * d’identité, alignée à gauche comme le reste du texte.
 */
@media (max-width: 640px) {

	.cvigee-numero__presentation {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-xl);
	}

	/*
	 * En colonne unique, la couverture s’aligne sur le texte. La marge
	 * automatique doit être annulée explicitement : sur un élément de grille,
	 * elle l’emporte sur justify-self.
	 */
	.cvigee-numero__couverture {
		margin-left: 0;
		max-width: 240px;
	}
}

/* ================================================ Pages de liste. */

/*
 * Index des numéros, table des auteurs, index thématique : même en-tête, même
 * motif de liste — un filet accent sous l’étiquette, des entrées sans
 * séparateur. Seul le contenu change.
 */

.cvigee-page__entete {
	padding: var(--space-md) 0 var(--space-lg);
	border-bottom: var(--rule);
}

/*
 * Sur les index, la titraille n’a pas besoin d’être close : ce qui suit porte
 * déjà ses propres étiquettes, et le filet gris ne séparait rien qui ne le fût
 * autrement. L’index des numéros garde le sien, ses vignettes n’ayant pas
 * d’étiquette à elles.
 */
.cvigee-page__entete--sans-filet {
	border-bottom: 0;
}

.cvigee-page__titre {
	font-family: var(--font-display);
	font-weight: var(--fw-thin);
	font-size: var(--fs-h1-revue);
	line-height: var(--lh-display);
	color: var(--color-ink);
	margin: 0;
}

/*
 * Le chapeau ne décrit plus, il dénombre : il tient sous la titraille la place
 * que l’onglet ouvert tient sur la page « Vie et œuvre » — même écart au titre,
 * même filet d’accent en dessous, même écart au contenu.
 */
.cvigee-page__entete--denombre {
	padding-bottom: 0;
}

.cvigee-page__chapeau {
	margin: calc(var(--space-lg) * 2) 0 0;
	padding-bottom: var(--space-xs);
	border-bottom: var(--rule-accent);
}

/* ------------------------------------------- Écran de la revue. */

/*
 * Un seul écran : ce qu’est la revue, ce qui vient de paraître, ce qui précède.
 * L’en-tête met la présentation et la dernière couverture sur une ligne, alignées
 * par le bas — le titre et la tranche de couverture se répondent ainsi.
 */
.cvigee-revue__entete {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--space-lg);
	padding: clamp(40px, 6vw, 76px) 0 clamp(30px, 4vw, 46px);
}

.cvigee-revue__presentation {
	flex: 1 1 380px;
	min-width: 280px;
	max-width: 62ch;
}

.cvigee-revue__kicker {
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
	color: var(--color-accent);
	margin: 0 0 20px;
}

/*
 * Le titre ne se coupe pas : les guillemets et leur contenu forment un bloc, et
 * « Revue » sur une ligne au-dessus de « Peut-être » romprait la lecture. Le
 * clamp descend jusqu’à 32px pour que la contrainte tienne sur petit écran.
 */
.cvigee-revue__titre {
	font-family: var(--font-display);
	font-weight: var(--fw-regular);
	font-size: clamp(32px, 5vw, 64px);
	line-height: 1.02;
	white-space: nowrap;
	color: var(--color-ink);
	margin: 0;
}

.cvigee-revue__sous-titre {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: var(--lh-heading);
	color: var(--color-text-secondary);
	margin: 12px 0 0;
}

.cvigee-revue__chapeau {
	font-size: 19.5px;
	line-height: 1.65;
	color: var(--color-text);
	margin: 24px 0 0;
	text-wrap: pretty;
}

.cvigee-revue__chapeau > p { margin: 0 0 var(--space-sm); }
.cvigee-revue__chapeau > p:last-child { margin-bottom: 0; }

.cvigee-revue__couverture {
	flex: 0 0 auto;
	display: block;
}

.cvigee-revue__couverture img {
	display: block;
	width: min(300px, 72vw);
	height: auto;
}

/* ------------------------------------------------ Sections de série. */

.cvigee-serie { padding: 46px 0 0; }

.cvigee-serie--archives { padding-top: 52px; }

/*
 * La ligne entière — titre de série et mention — prend la voix des
 * dénombrements des index : capitales d’accent closes par un filet. Le titre
 * gagne deux points sur la mention, seul écart entre les deux.
 *
 * Les deux éléments portent .cvigee-etiquette-action, d’où viennent la famille,
 * les capitales et l’interlettrage. On ne touche pas à cette classe partagée :
 * l’agrandir déplacerait les dénombrements des index, qui n’ont rien demandé.
 */
.cvigee-serie__entete {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0 0 var(--space-lg);
	padding-bottom: var(--space-xs);
	border-bottom: var(--rule-accent);
}

.cvigee-serie__h2,
.cvigee-serie__mention {
	font-weight: var(--fw-semibold);
	color: var(--color-accent);
	margin: 0;
}

.cvigee-serie__h2 {
	font-size: calc(var(--fs-action) + 2px);
	line-height: var(--lh-heading);
}

/*
 * Conteneur nommé __rangees et non __liste : la colonne latérale d’un numéro
 * possède déjà un .cvigee-serie__liste dont les liens sont en flex, et ce
 * sélecteur (0,1,1) l’emportait ici sur .cvigee-numero-rangee (0,1,0) — la
 * grille ne s’appliquait pas, et la vignette s’étirait sur toute la largeur.
 */
/* Pas de filet ici : celui de la ligne de section ouvre déjà le bloc. */
.cvigee-serie__rangees { border-top: 0; }

/* --------------------------------------- Rangée d’un numéro en ligne. */

.cvigee-numero-rangee {
	display: grid;
	grid-template-columns: 48px 76px minmax(0, 1fr) auto;
	gap: var(--space-md);
	align-items: center;
	padding: 22px 0;
	color: var(--color-ink);
	text-decoration: none;
}

/*
 * Un filet entre les rangées : la maquette n’en montre qu’une, mais dès qu’il y
 * en a plusieurs elles se confondent — le fond de survol ne sépare que la ligne
 * qu’on désigne, pas celles qu’on parcourt du regard.
 */
.cvigee-numero-rangee + .cvigee-numero-rangee { border-top: var(--rule); }

.cvigee-numero-rangee:hover,
.cvigee-numero-rangee:focus-visible { background: var(--color-surface); }

.cvigee-numero-rangee__numero {
	font-family: var(--font-display);
	font-size: var(--fs-h2);
	line-height: 1;
	color: var(--color-accent);
}

/*
 * Boîte carrée : couvertures réelles et vignettes en attente occupent la même
 * place, donc les titres s’alignent d’une rangée à l’autre. Les hachures disent
 * « couverture à venir » sans mobiliser d’image.
 */
/*
 * La largeur est bornée en dur autant que par la piste de grille : la hauteur
 * en découle par la proportion, et la vignette ne peut donc pas enfler si elle
 * se retrouve un jour hors de sa grille.
 */
.cvigee-numero-rangee__vignette {
	display: block;
	width: 100%;
	max-width: 76px;
	aspect-ratio: 1 / 1;
	background: repeating-linear-gradient(
		135deg,
		var(--color-surface-alt) 0 5px,
		var(--color-bg) 5px 10px
	);
	border: var(--rule);
	overflow: hidden;
}

.cvigee-numero-rangee__vignette img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.cvigee-numero-rangee__intitule {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.cvigee-numero-rangee__titre {
	font-size: 21px;
	line-height: var(--lh-heading);
}

.cvigee-numero-rangee__annee {
	font-size: 16px;
	color: var(--color-text-secondary);
}

.cvigee-numero-rangee__lien {
	font-family: var(--font-ui);
	font-size: var(--fs-action);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-action);
	text-transform: uppercase;
	color: var(--color-accent);
	white-space: nowrap;
}

/* ------------------------------------------------ Archives papier. */

.cvigee-archives__grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	/* Des colonnes nettement séparées : le lecteur parcourt la collection ici. */
	column-gap: var(--space-xl);
	row-gap: var(--space-xs);
}

.cvigee-archives__item {
	display: flex;
	gap: var(--space-sm);
	align-items: baseline;
	padding: 16px 0;
	color: var(--color-ink);
	text-decoration: none;
}

.cvigee-archives__item:hover,
.cvigee-archives__item:focus-visible { color: var(--color-accent); }

.cvigee-archives__numero {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--color-accent);
	flex: 0 0 34px;
}

.cvigee-archives__texte {
	display: flex;
	flex-direction: column;
}

.cvigee-archives__annee { font-size: 17px; }

/* Thème du numéro, quand il est renseigné : discret sous l’année. */
.cvigee-archives__sous-titre {
	margin-top: 2px;
	font-size: 14px;
	line-height: var(--lh-body-sm);
	color: var(--color-text-secondary);
}

.cvigee-archives__item:hover .cvigee-archives__sous-titre,
.cvigee-archives__item:focus-visible .cvigee-archives__sous-titre { color: inherit; }

/* ------------------------------------------ Accès transverses. */

.cvigee-revue__liens {
	display: flex;
	flex-wrap: wrap;
	gap: 32px 40px;
	padding: 52px 0 0;
}

.cvigee-revue__liens a {
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-action);
	text-transform: uppercase;
	color: var(--color-ink);
	text-decoration: none;
}

.cvigee-revue__liens a:hover,
.cvigee-revue__liens a:focus-visible { color: var(--color-accent); }

@media (max-width: 640px) {

	/* Plus de place pour le titre : le numéro et la vignette se resserrent. */
	.cvigee-numero-rangee {
		grid-template-columns: 32px 56px minmax(0, 1fr);
		gap: var(--space-sm);
	}

	.cvigee-numero-rangee__vignette { max-width: 56px; }

	.cvigee-numero-rangee__lien { grid-column: 2 / -1; }
}

/* --------------------------------------------- Table des auteurs. */

.cvigee-auteurs {
	list-style: none;
	/* Pas de filet ici : celui du dénombrement ouvre déjà le bloc. */
	margin: var(--space-lg) 0 0;
	padding: 0;
	columns: 4;
	column-gap: var(--space-xl);
}

/*
 * Un nom ne se coupe jamais entre deux colonnes : le prénom d’un côté et le
 * patronyme de l’autre rendraient la table illisible là même où elle sert.
 */
.cvigee-auteurs__entree {
	break-inside: avoid;
	padding: 7px 0;
}

/*
 * Entrée d’index — nom d’auteur ou titre d’article. Les deux listes se lisent
 * de la même façon, on les habille donc de la même voix : l’accent porte le
 * lien, l’encre et le soulignement marquent qu’on le désigne.
 */
.cvigee-lien-index {
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: var(--fw-regular);
	line-height: var(--lh-body-sm);
}

.cvigee-lien-index a {
	color: var(--color-accent);
	text-decoration: none;
}

.cvigee-lien-index a:hover,
.cvigee-lien-index a:focus {
	color: var(--color-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --------------------------------------------- Index thématique. */

/*
 * Deux colonnes largement séparées : les titres d’articles sont longs et
 * s’enroulent sur plusieurs lignes ; à trois colonnes ils se hachaient, et la
 * gouttière étroite laissait hésiter sur la colonne où poursuivre. Même
 * gouttière que l’index des numéros.
 */
.cvigee-index-themes {
	columns: 2;
	column-gap: calc(var(--space-lg) * 2);
	margin-top: var(--space-lg);
}

.cvigee-theme {
	-webkit-column-break-inside: avoid;
	break-inside: avoid;
	margin: 0 0 var(--space-lg);
	/* Un bloc en colonnes ne doit pas déborder de sa piste. */
	overflow: hidden;
}

.cvigee-theme__chapeau {
	font-size: var(--fs-body-sm);
	color: var(--color-text-secondary);
	max-width: var(--measure);
	margin: var(--space-sm) 0 0;
}

/*
 * Resserré : dans une colonne étroite, un thème doit se lire comme un bloc.
 * L'intitulé garde un peu plus d'air que l'interligne des articles, pour
 * rester la tête du groupe. Portée limitée à l'index thématique — les mêmes
 * intitulés ouvrent des sections bien plus amples sur la page d'un numéro.
 */
.cvigee-theme > .cvigee-rubrique {
	margin-bottom: var(--space-sm);
}

.cvigee-theme__articles {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cvigee-theme__article {
	padding: var(--space-xs) 0;
}

/* Le corps vient de .cvigee-lien-index : ici, seule l’assise verticale. */
.cvigee-theme__titre {
	margin: 0 0 2px;
}

.cvigee-theme__source {
	font-size: var(--fs-meta);
	color: var(--color-text-muted);
	margin: 0;
}

/* ------------------------------------------------------ Petits écrans. */

/*
 * Palier propre à la table des auteurs : elle seule part de quatre colonnes, et
 * passer d’un coup à deux doublerait la largeur des noms.
 */
@media (max-width: 1100px) {

	.cvigee-auteurs {
		columns: 3;
	}
}

@media (max-width: 900px) {

	.cvigee-auteurs,
	.cvigee-index-themes {
		columns: 2;
	}
}

@media (max-width: 560px) {

	.cvigee-auteurs,
	.cvigee-index-themes {
		columns: 1;
	}
}
