/* Contenu rédigé dans l'éditeur : article ou page de texte.
   La maquette de l'article ne style pas cette zone (Inter et Liberation Sans
   y sont les polices par défaut de Figma) ; la typographie est définie ici,
   alignée sur le thème. Seules la structure et les couleurs du tableau sont
   reprises de la maquette. */

/* Le texte courant est plus étroit que la colonne ; tableaux et figures la
   prennent en entier. */
.prose > * {
	max-width: 83.44371%; /* 1008 sur 1208 */
}

.prose > figure,
.prose > table,
.prose > .wp-block-table,
.prose > h2 {
	max-width: none;
}

.prose p,
.prose ul,
.prose ol {
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	color: var(--c-ink);
}

.prose p,
.prose li,
.prose dd {
	opacity: var(--o-text);
	--o-arrivee: var(--o-text);
}

.prose > * + * {
	margin-top: calc(var(--fs-body) * var(--lh-body)); /* 30 */
}

.prose h2 {
	margin-top: clamp(2rem, 3.24074vw, 3.5rem); /* 56 */
	font-weight: 500;
	font-size: var(--fs-h2);
	line-height: var(--lh-h2);
	color: var(--c-ink);
}

.prose h3 {
	margin-top: clamp(1.5rem, 2.31481vw, 2.5rem); /* 40 */
	font-weight: 500;
	font-size: clamp(1.25rem, 1.38889vw, 1.5rem); /* 24 */
	line-height: 1.33333;
	color: var(--c-ink);
}

.prose h4,
.prose h5 {
	margin-top: clamp(1.25rem, 1.85185vw, 2rem); /* 32 */
	font-weight: 500;
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	color: var(--c-ink);
}

.prose h5 {
	font-style: italic;
}

.prose ul,
.prose ol {
	padding-left: 1.5em;
	list-style: revert;
}

/* Renvois et notes de bas de page : la zone de corps n'est pas typographiée
   dans la maquette, on reste sur l'échelle du thème. */
.prose sup {
	font-size: 0.65em;
	line-height: 0;
	vertical-align: super;
}

.prose ol.prose__notes {
	padding-left: 0;
	list-style: none;
	counter-reset: note;
	font-size: var(--fs-nav);
	line-height: 1.5;
	opacity: var(--o-text);
}

.prose ol.prose__notes > li {
	counter-increment: note;
	padding-left: 1.75em;
	text-indent: -1.75em;
}

.prose ol.prose__notes > li::before {
	content: counter(note) ". ";
}

.prose li + li {
	margin-top: 0.4em;
}

.prose a {
	color: var(--c-accent);
	text-decoration: underline;
}

.prose strong {
	font-weight: 500;
}

.prose blockquote {
	padding-left: clamp(1rem, 1.73611vw, 1.875rem);
	border-left: 2px solid var(--c-accent);
	font-size: var(--fs-card);
	line-height: var(--lh-card);
	letter-spacing: var(--ls-card);
}

.prose figure img,
.prose img {
	width: 100%;
	height: auto;
}

.prose figcaption {
	margin-top: 0.5rem;
	font-size: var(--fs-micro);
	line-height: 1.5;
	opacity: var(--o-text);
}

/* Tableau : en-tête encre, rangées alternées, colonnes 583 | 291,5 | 291,5
   et cellules à 16 / 8 (nodes 412:1289 et suivants). */
.prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-micro);
	line-height: 1.5;
}

.prose thead {
	background: var(--c-ink);
	color: var(--c-light);
}

.prose th,
.prose td {
	padding: 8px 16px;
	text-align: left;
	vertical-align: top;
}

.prose th {
	font-weight: 500;
}

/* Colonne de libellés à 48 % comme dans la maquette (583 sur 1205). */
.prose tr > *:first-child {
	width: 48.38%;
}

.prose tbody tr:nth-child(odd) {
	background: rgba(46, 78, 115, 0.04);
}

.prose tbody th {
	font-weight: 400;
	opacity: var(--o-text);
}

.prose tbody td {
	font-weight: 500;
}

@media (max-width: 1199px) {
	.prose > * {
		max-width: none;
	}
}

@media (max-width: 767px) {
	/* Les libellés se replient ; on ne fait défiler que si ça ne tient
	   vraiment pas, plutôt que d'imposer le défilement avec un nowrap. */
	.prose table {
		display: block;
		overflow-x: auto;
	}

	.prose tr > *:first-child {
		width: auto;
	}

	.prose th,
	.prose td {
		padding: 8px 10px;
	}
}
