/* Parresia — RODF : mise en page des articles « La Revue d'ODF » (0.10.3).
   S'appuie sur les jetons du thème Parresia (--c-*, --e*, --r-*, --font-*) avec des valeurs de repli. */

.prvi-rodf-intro,
.prvi-rodf-card {
	--rodf-encre: var(--c-encre, #0e1b3c);
	--rodf-texte: var(--c-texte, #16181d);
	--rodf-doux: var(--c-texte-doux, #5c6472);
	--rodf-rouge: var(--c-rouge, #c8102e);
	--rodf-filet: var(--c-filet, #dee1e7);
	--rodf-trame: var(--c-trame, #f4f5f7);
	--rodf-titre: var(--font-titre, "Libre Franklin", system-ui, sans-serif);
	box-sizing: border-box;
}

/* Encart « Dans ce numéro » + sommaire */
.prvi-rodf-intro {
	background: var(--rodf-trame);
	border-radius: var(--r-bloc, 12px);
	padding: var(--e6, 24px);
	margin-block: var(--e6, 24px) var(--e7, 32px);
}
.prvi-rodf-intro > * { margin-block: 0; }
.prvi-rodf-kicker {
	font-family: var(--rodf-titre);
	font-size: var(--fs-surtitre, 12px);
	letter-spacing: var(--ls-surtitre, 0.08em);
	font-weight: 800;
	text-transform: uppercase;
	color: var(--rodf-rouge);
	margin: 0;
}
.prvi-rodf-intro .prvi-rodf-kicker { margin-bottom: var(--e4, 16px); }
.prvi-rodf-toc {
	list-style: none;
	counter-reset: rodf;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--e3, 12px) var(--e7, 32px);
}
.prvi-rodf-toc li {
	counter-increment: rodf;
	display: grid;
	grid-template-columns: 2.1em 1fr;
	align-items: baseline;
	margin: 0;
	padding: 0;
	font-family: var(--rodf-titre);
	font-size: 15px;
	line-height: 1.35;
}
.prvi-rodf-toc li::before {
	content: counter(rodf, decimal-leading-zero);
	font-weight: 800;
	font-size: 13px;
	color: var(--rodf-rouge);
}
.prvi-rodf-intro ol.prvi-rodf-toc li a {
	color: var(--rodf-encre);
	font-weight: 600;
	text-decoration: none;
}
.prvi-rodf-intro ol.prvi-rodf-toc li a:hover,
.prvi-rodf-intro ol.prvi-rodf-toc li a:focus-visible { color: var(--rodf-rouge); text-decoration: underline; }

/* Cartes article */
.prvi-rodf-card {
	background: var(--c-papier, #fff);
	border: 1px solid var(--rodf-filet);
	border-radius: var(--r-bloc, 12px);
	padding: var(--e6, 24px);
	margin-block: 0 var(--e6, 24px);
	scroll-margin-top: 120px;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.prvi-rodf-card:hover { border-color: var(--c-filet-fort, #b9bfcb); box-shadow: 0 8px 28px rgba(14, 27, 60, 0.08); }
.prvi-rodf-card > :first-child { margin-top: 0; }
.prvi-rodf-card > :last-child { margin-bottom: 0; }
.prvi-rodf-card .prvi-rodf-card__grid {
	margin: 0;
	gap: var(--e6, 24px);
	align-items: flex-start;
}
.prvi-rodf-card .prvi-rodf-card__aside > * + * { margin-top: var(--e3, 12px); }
.prvi-rodf-card .wp-block-image.prvi-rodf-card__media,
.prose .prvi-rodf-card .wp-block-image.prvi-rodf-card__media { width: 100%; margin: 0; }
.prvi-rodf-card .prvi-rodf-card__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 20 / 11;
	object-fit: cover;
	border-radius: var(--r-image, 10px);
	transition: transform 0.3s ease;
}
.prvi-rodf-card .prvi-rodf-card__media a,
.prvi-rodf-card .prvi-rodf-card__media > img { display: block; overflow: hidden; border: 1px solid var(--rodf-filet); border-radius: var(--r-image, 10px); }
.prvi-rodf-card .prvi-rodf-card__media a img { border-radius: 0; }
.prvi-rodf-card .prvi-rodf-card__media a:hover img { transform: scale(1.03); }
.prvi-rodf-card .prvi-rodf-card__body > * { margin-block: 0; }
.prvi-rodf-card .prvi-rodf-card__title,
.prose .prvi-rodf-card .prvi-rodf-card__title {
	font-family: var(--rodf-titre);
	font-size: var(--fs-titre-l, 22px);
	line-height: var(--lh-titre-l, 1.25);
	font-weight: 800;
	color: var(--rodf-encre);
	margin: var(--e2, 8px) 0 var(--e2, 8px);
}
.prose .prvi-rodf-card .prvi-rodf-card__title::before { display: none; }
.prvi-rodf-card .prvi-rodf-card__title a { color: inherit; text-decoration: none; }
.prvi-rodf-card .prvi-rodf-card__title a:hover,
.prvi-rodf-card .prvi-rodf-card__title a:focus-visible { color: var(--rodf-rouge); }
.prvi-rodf-card .prvi-rodf-card__authors {
	font-family: var(--rodf-titre);
	font-size: 14px;
	line-height: 1.45;
	color: var(--rodf-doux);
	margin-bottom: var(--e4, 16px);
}
.prvi-rodf-card .prvi-rodf-card__abstract {
	font-size: 16px;
	line-height: 1.62;
	color: var(--rodf-texte);
}
.prvi-rodf-card .prvi-rodf-card__abstract + .prvi-rodf-card__abstract { margin-top: var(--e3, 12px); }
.prvi-rodf-card .prvi-rodf-card__actions { margin-top: var(--e5, 20px); gap: var(--e3, 12px); }
.prvi-rodf-card .prvi-rodf-card__actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: var(--h-bouton, 40px);
	padding: 0 var(--e4, 16px);
	border: 1.5px solid var(--rodf-encre);
	border-radius: var(--r-bouton, 6px);
	background: transparent;
	color: var(--rodf-encre);
	font-family: var(--rodf-titre);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.prvi-rodf-card .prvi-rodf-card__actions .wp-block-button__link::after { content: "↗"; font-size: 15px; line-height: 1; }
.prvi-rodf-card .prvi-rodf-card__actions .wp-block-button__link:hover,
.prvi-rodf-card .prvi-rodf-card__actions .wp-block-button__link:focus-visible { background: var(--rodf-encre); color: #fff; }

@media (min-width: 782px) {
	.prvi-rodf-toc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.prvi-rodf-intro { padding: var(--e5, 20px) var(--e4, 16px); }
	.prvi-rodf-card { padding: var(--e4, 16px); }
	.prvi-rodf-card .prvi-rodf-card__grid { gap: var(--e4, 16px); }
	.prvi-rodf-card .prvi-rodf-card__title,
	.prose .prvi-rodf-card .prvi-rodf-card__title { font-size: var(--fs-titre-m, 19px); }
	.prvi-rodf-card .prvi-rodf-card__actions .wp-block-button,
	.prvi-rodf-card .prvi-rodf-card__actions .wp-block-button__link { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.prvi-rodf-card,
	.prvi-rodf-card .prvi-rodf-card__media img { transition: none; }
}
