/*
 * KMM Consulting — editorial.css
 * Contenus rédigés avec l’éditeur de blocs (À propos, pages légales, actualités),
 * page 404 et résultats de recherche.
 */
@layer sections {
	.c-editorial__updated {
		margin-block-start: var(--space-8);
		color: var(--color-text-muted);
		font-size: var(--fs-small);
	}

	.c-editorial__figures {
		margin-block-start: var(--space-8);
	}

	.c-editorial__cover {
		margin: 0 0 var(--space-7);
	}

	.c-editorial__cover img {
		inline-size: 100%;
		border-radius: var(--radius-lg);
	}

	/* ---------- Texte courant ---------- */
	.c-prose {
		max-inline-size: var(--measure);
	}

	.c-prose > * + * {
		margin-block-start: var(--space-5);
	}

	.c-prose > :is(h2, h3, h4) {
		margin-block-start: var(--space-8);
	}

	.c-prose > :is(h2, h3, h4) + * {
		margin-block-start: var(--space-4);
	}

	.c-prose > :first-child {
		margin-block-start: 0;
	}

	.c-prose h2 {
		font-size: var(--fs-h3);
		font-weight: 700;
	}

	.c-prose h3 {
		font-size: 1.25rem;
		font-weight: 700;
	}

	.c-prose h4 {
		font-size: 1.0625rem;
	}

	.c-prose :is(ul, ol) {
		padding-inline-start: var(--space-5);
		list-style: revert; /* Les listes de l’éditeur portent une classe : on rétablit leurs puces. */
	}

	/* Blocs groupés (motifs KMM) : même rythme vertical que le texte. */
	.c-prose .wp-block-group > * + * {
		margin-block-start: var(--space-3);
	}

	.c-prose li + li {
		margin-block-start: var(--space-2);
	}

	.c-prose li::marker {
		color: var(--kmm-blue-strong);
	}

	.c-prose mark {
		padding-inline: 0.2em;
		background-color: #fff2c2;
		color: var(--kmm-gray-800);
	}

	.c-prose .wp-block-quote {
		margin-inline: 0;
		padding-inline-start: var(--space-5);
		border-inline-start: 3px solid var(--kmm-blue);
		color: var(--color-heading);
		font-family: var(--font-display);
		font-size: var(--fs-lead);
	}

	.c-prose .wp-block-quote cite {
		display: block;
		margin-block-start: var(--space-3);
		color: var(--color-text-muted);
		font-family: var(--font-body);
		font-size: var(--fs-small);
		font-style: normal;
	}

	.c-prose .wp-block-image img {
		border-radius: var(--radius-md);
	}

	.c-prose figcaption {
		margin-block-start: var(--space-2);
		color: var(--color-text-muted);
		font-size: var(--fs-small);
	}

	.c-prose .wp-block-separator {
		margin-block: var(--space-7);
		border: 0;
		border-block-start: 1px dashed var(--kmm-gray-400); /* Trait « imaginer ». */
	}

	/* Tableaux : défilent dans leur cadre, jamais la page. */
	.c-prose .wp-block-table {
		overflow-x: auto;
	}

	.c-prose table {
		inline-size: 100%;
		border-collapse: collapse;
		font-size: var(--fs-small);
	}

	.c-prose :is(th, td) {
		padding: var(--space-3);
		border: 1px solid var(--color-border);
		text-align: start;
	}

	.c-prose th {
		background-color: var(--kmm-gray-100);
		color: var(--color-heading);
	}

	.c-prose .wp-block-details {
		padding: var(--space-4) var(--space-5);
		border: 1px solid var(--color-border);
		border-radius: var(--radius-md);
	}

	.c-prose .wp-block-details summary {
		min-block-size: 1.5rem;
		color: var(--color-heading);
		font-weight: 600;
		cursor: pointer;
	}

	.c-prose .wp-block-embed iframe {
		inline-size: 100%;
		block-size: auto;
		aspect-ratio: 16 / 9;
	}

	/* Boutons de l’éditeur = boutons de la marque. */
	.c-prose .wp-block-button__link {
		display: inline-flex;
		align-items: center;
		min-block-size: var(--target-min);
		padding: var(--space-3) var(--space-5);
		border-radius: var(--radius-md);
		background-color: var(--kmm-navy);
		color: var(--kmm-white);
		font-weight: 600;
		text-decoration: none;
	}

	.c-prose .wp-block-button__link:hover {
		background-color: var(--kmm-navy-soft);
		color: var(--kmm-white);
	}

	.c-prose .is-style-outline .wp-block-button__link {
		border: 1.5px solid var(--kmm-navy);
		background-color: transparent;
		color: var(--kmm-navy);
	}

	/* Motifs KMM. */
	.c-prose .is-style-kmm-highlight {
		padding: var(--space-6);
		border-inline-start: 3px solid var(--kmm-navy);
		border-radius: var(--radius-md);
		background-color: var(--kmm-gray-100);
	}

	.c-prose .is-style-kmm-cta {
		padding: var(--space-6);
		border-radius: var(--radius-lg);
		background-color: var(--kmm-navy);
		color: var(--kmm-white);
	}

	.c-prose .is-style-kmm-cta p {
		color: var(--kmm-white);
		font-family: var(--font-display);
		font-size: var(--fs-h3);
		font-weight: 700;
	}

	.c-prose .is-style-kmm-cta .wp-block-button__link {
		background-color: var(--kmm-blue);
		color: var(--kmm-navy);
	}

	/* ---------- Recherche, liste d’articles, pagination ---------- */
	.c-search__label {
		display: block;
		margin-block-end: var(--space-2);
		color: var(--color-heading);
		font-weight: 600;
	}

	.c-search__row {
		display: flex;
		flex-wrap: wrap;
		gap: var(--space-3);
	}

	.c-search__input {
		flex: 1 1 14rem;
		min-inline-size: 0;
		min-block-size: var(--target-min);
		padding: var(--space-2) var(--space-4);
		border: 1.5px solid var(--color-border-input);
		border-radius: var(--radius-md);
		font-size: max(1rem, 16px);
	}

	.c-search__input:focus-visible {
		border-color: var(--color-focus);
		outline-offset: 0;
	}

	.c-entries {
		display: grid;
	}

	.c-entry {
		padding-block: var(--space-5);
		border-block-end: 1px solid var(--color-border);
	}

	.c-entry__meta {
		color: var(--color-label);
		font-size: var(--fs-small);
		font-weight: 600;
	}

	.c-entry__title {
		margin-block: var(--space-1) var(--space-2);
		font-size: var(--fs-h3);
	}

	.c-entry__title a {
		color: inherit;
		text-decoration: none;
	}

	.c-entry__title a:hover {
		text-decoration: underline;
	}

	.c-entry__excerpt {
		color: var(--color-text-muted);
	}

	.c-pagination .nav-links {
		display: flex;
		flex-wrap: wrap;
		gap: var(--space-2);
		margin-block-start: var(--space-7);
	}

	.c-pagination .page-numbers {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-inline-size: var(--target-min);
		min-block-size: var(--target-min);
		padding-inline: var(--space-3);
		border: 1px solid var(--color-border-strong);
		border-radius: var(--radius-md);
		color: var(--kmm-navy);
		font-weight: 600;
		text-decoration: none;
	}

	.c-pagination .current {
		background-color: var(--kmm-navy);
		color: var(--kmm-white);
	}

	/* ---------- Page 404 ---------- */
	.c-not-found__trait {
		max-inline-size: 8rem;
	}

	.c-not-found__subtitle {
		margin-block-end: var(--space-4);
		font-size: var(--fs-h3);
	}

	.c-not-found__links {
		display: grid;
		gap: var(--space-1);
		margin: 0;
		padding: 0;
		list-style: none;
	}

	@media (min-width: 40em) {
		.c-not-found__links {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}

	.c-not-found__links a {
		display: inline-flex;
		align-items: center;
		gap: var(--space-3);
		min-block-size: var(--target-min);
	}

	.c-not-found__links .c-icon {
		color: var(--kmm-blue-strong);
	}

	/* Équipe (page À propos). */
	.c-prose .is-style-kmm-team {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
		gap: var(--space-4);
	}

	.c-prose .is-style-kmm-team .wp-block-column {
		padding: var(--space-5);
		border: 1px solid var(--color-border);
		border-radius: var(--radius-md);
		background-color: var(--color-surface);
	}

	.c-prose .is-style-kmm-team h3 {
		margin: 0;
		font-size: 1.0625rem;
	}

	.c-prose .is-style-kmm-team p {
		margin-block-start: var(--space-1);
		color: var(--color-text-muted);
	}
}
