/*
 * Mise en page : conteneur, largeur de lecture, rythme vertical.
 *
 * Neutralise aussi les conteneurs de GeneratePress (1200px, padding 20px issu
 * de sa CSS dynamique) pour les ramener à la mesure de la maquette.
 */

/* ------------------------------------------------------- Conteneurs. */

/*
 * --container-max est la largeur de la ZONE DE CONTENU, les marges latérales
 * venant s’y ajouter — c’est ainsi que la maquette est construite (boîte de
 * contenu de 1120px, padding de 32px au-delà). Comme tout le thème est en
 * box-sizing: border-box, il faut le dire explicitement, faute de quoi le
 * contenu ne ferait que 1120 − 64 = 1056px.
 */
.cvigee-conteneur {
	max-width: calc(var(--container-max) + 2 * var(--page-margin));
	margin-inline: auto;
	padding-inline: var(--page-margin);
}

/* GeneratePress : ses conteneurs adoptent notre mesure. */
.grid-container {
	max-width: calc(var(--container-max) + 2 * var(--page-margin));
	padding-inline: var(--page-margin);
}

/*
 * L’en-tête et le pied vivent hors de #page ; les gabarits de contenu, dedans.
 * #page portant déjà la classe grid-container, un .cvigee-conteneur imbriqué
 * doublerait la marge et décalerait le contenu de 22px par rapport au logo.
 * On le neutralise dès qu’il est imbriqué : les gabarits gardent ainsi le même
 * marquage partout, sans avoir à savoir où ils se trouvent.
 */
.grid-container .cvigee-conteneur {
	max-width: none;
	padding-inline: 0;
}

/*
 * Sans colonne latérale, la zone de contenu occupe toute la largeur du
 * conteneur : GP réserve sinon 70% pour un aside que nous n’affichons pas.
 */
.no-sidebar .content-area,
.no-sidebar #primary {
	width: 100%;
}

/* Les cartouches de GP (fond blanc, ombre) n’ont pas lieu d’être ici. */
.separate-containers .inside-article,
.separate-containers .site-main > *,
.one-container .site-content {
	background-color: transparent;
	box-shadow: none;
}

.site-content {
	padding-block: 0;
}

/* --------------------------------------------------- Largeur de lecture. */

/*
 * --measure pour la colonne principale, 62ch pour un chapeau : au-delà, l’œil
 * perd la ligne suivante. C’est la contrainte de lisibilité validée.
 */
.cvigee-mesure {
	max-width: var(--measure);
}

.cvigee-mesure--chapeau {
	max-width: 62ch;
}

/*
 * Le contenu éditorial de WordPress prend d’emblée la mesure de lecture, sans
 * attendre les gabarits : au-delà, l’œil ne retrouve plus le début de la ligne
 * suivante. Les titres, eux, gardent toute la largeur du conteneur.
 */
.entry-content,
.page-content,
.entry-summary,
.cvigee-prose {
	max-width: var(--measure);
}

/* ------------------------------------------------------ Rythme vertical. */

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

.cvigee-section--filet {
	border-top: var(--rule);
}

/* Sections consécutives : un seul filet entre elles, pas deux. */
.cvigee-section--filet + .cvigee-section--filet {
	border-top: 0;
}

/* En-tête de section : libellé à gauche, lien de report à droite. */
.cvigee-section__entete {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-sm) var(--space-md);
	margin-bottom: var(--space-sm);
}

/* ------------------------------------------------------------- Listes. */

/*
 * Liste d’entrées séparées par un filet : le motif de toutes les listes du
 * site (sommaires, index, actualités).
 */
.cvigee-liste {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cvigee-liste > li {
	border-top: var(--rule);
	padding-block: var(--space-sm) var(--space-md);
}

.cvigee-liste > li:first-child {
	border-top: 0;
}
