/**
 * Page certification : transcription règle par règle de « Facilitateur Certifie LSP v4.dc.html » (P-013, ADR-0019),
 * uniquement avec des tokens. Écarts voulus : boutons du design system ; échelle de titres du site (réduite en P-014)
 * et hero ajusté à l'écran (tokens cert.hero-*). Accent de page = niveau (ADR-0015).
 */

/* Neutralise les marges de flux de WordPress (:root :where(.is-layout-flow) > *) dans les sections. */
.ip-cs .wp-block-group > *,
.wp-block-group.ip-cs > * {
	margin-block: 0;
}

.ip-cs {
	position: relative;
	overflow: hidden;
	/* L : body { text-wrap: pretty } (évite les fins de ligne trop courtes). */
	text-wrap: pretty;
}

.ip-cs__in {
	position: relative;
	padding-block: var(--wp--preset--spacing--section);
}

/* Filet d'accent (L : 56 × 4px, pilule) avant un titre. */
.ip-cs .ip-has-rule::before {
	content: "";
	display: block;
	width: var(--wp--custom--border--rule-width);
	height: var(--wp--custom--border--rule-height);
	border-radius: var(--wp--preset--border-radius--pill);
	background: var(--wp--preset--color--accent);
}

/* Titres de section (L : --fs-h1), à l'échelle du site (h-1). */
.ip-cs h2.ip-cs__h2 {
	font-size: var(--wp--preset--font-size--h-1);
	letter-spacing: var(--wp--custom--letter-spacing--head);
	line-height: var(--wp--custom--line-height--head);
}

/* Grand texte de liste (L : display, --fs-h3, 600). */
.ip-cs .ip-cs__h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: var(--wp--custom--font-weight--medium);
	letter-spacing: var(--wp--custom--letter-spacing--head);
	line-height: var(--wp--custom--line-height--body);
}

/* Liste sans puce native. */
.ip-cs .ip-clist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ip-cs .ip-clist > li {
	margin: 0;
}

/* Surface ink (section 02, v4) : focus visible sur fond sombre. */
.is-style-surface-ink :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline-color: var(--wp--custom--surface-ink--text);
}

/* Emplacement d'image (.ph de L) : hachures, légende. */
.ip-cs .ip-cfig {
	position: relative;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	border: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
	border-radius: var(--wp--preset--border-radius--base);
	background: var(--wp--custom--placeholder--stripes);
}

.ip-cs .ip-cfig > .ip-cap {
	position: relative;
	z-index: 1;
	border-radius: var(--wp--preset--border-radius--base);
	background: var(--wp--preset--color--paper);
	text-transform: uppercase;
}

.ip-cs .wp-block-image.ip-cfig,
.ip-cs .wp-block-video.ip-cfig {
	padding: 0;
	background: none;
}

.ip-cs .ip-cfig img,
.ip-cs .ip-cfig video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Aplat décalé derrière une image (L : inset offset -offset -offset offset). */
.ip-cs .ip-coffset {
	position: relative;
	min-width: 0;
}

.ip-cs .ip-coffset::before {
	content: "";
	position: absolute;
	inset: var(--wp--custom--offset--base) calc(-1 * var(--wp--custom--offset--base)) calc(-1 * var(--wp--custom--offset--base)) var(--wp--custom--offset--base);
	border-radius: var(--wp--preset--border-radius--base);
	background: var(--wp--preset--color--accent);
}

/* ---------- 01. Hero ---------- */
.ip-chero__head {
	position: relative;
	padding-top: var(--wp--custom--cert--hero-pad-top);
}

.ip-cs h1.ip-chero__title {
	margin-top: var(--wp--preset--spacing--50);
	max-width: var(--wp--custom--cert--title-measure);
	font-size: var(--wp--preset--font-size--display);
	line-height: var(--wp--custom--line-height--tight);
	letter-spacing: var(--wp--custom--letter-spacing--display);
}

.ip-chero__title mark {
	background: none;
}

.ip-chero__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--wp--custom--cert--hero-col-min), 100%), 1fr));
	gap: var(--wp--custom--cert--hero-gap);
	align-items: end;
	padding-top: var(--wp--custom--cert--hero-gap);
}

.ip-chero__text {
	min-width: 0;
}

.ip-cs .ip-chero__tagline {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: var(--wp--custom--font-weight--medium);
	letter-spacing: var(--wp--custom--letter-spacing--head);
	line-height: var(--wp--custom--line-height--head);
}

.ip-cs .ip-chero__lead {
	margin-top: var(--wp--preset--spacing--50);
	max-width: var(--wp--custom--cert--lead-measure);
	color: var(--wp--preset--color--ink-2);
	font-size: var(--wp--custom--cert--hero-lead);
	line-height: var(--wp--custom--line-height--body);
}

.ip-cs .ip-chero__btns {
	margin-top: var(--wp--preset--spacing--60);
	gap: var(--wp--preset--spacing--30);
}

.ip-cs .ip-chero__fig {
	aspect-ratio: var(--wp--preset--aspect-ratio--4-5);
}

.ip-chero__media {
	position: relative;
	padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--section);
}

.ip-cs .ip-chero__video {
	justify-content: center;
	align-items: center;
	aspect-ratio: var(--wp--preset--aspect-ratio--21-9);
}

.ip-cs .ip-chero__video.ip-ph > .ip-cap {
	position: absolute;
	bottom: var(--wp--preset--spacing--50);
	left: var(--wp--preset--spacing--50);
}

/* Bouton lecture décoratif de l'emplacement vidéo (L : disque accent, triangle). */
.ip-chero__video.ip-ph::before {
	content: "";
	width: var(--wp--custom--play--size);
	aspect-ratio: var(--wp--preset--aspect-ratio--1-1);
	border-radius: var(--wp--preset--border-radius--pill);
	background: var(--wp--preset--color--accent);
}

.ip-chero__video.ip-ph::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--wp--custom--play--width);
	height: calc(2 * var(--wp--custom--play--height));
	margin-left: var(--wp--preset--spacing--10);
	background: var(--wp--preset--color--on-accent);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	transform: translate(-50%, -50%);
}

/* Hero dans l'écran (P-013, P-017) : titre, texte, boutons et image tiennent sous le header ; la vidéo passe sous le pli.
   Au-dessus de 900px, grille à deux colonnes sur toute la hauteur du premier écran : titre et texte à gauche,
   image 4:5 à droite sur les deux rangées (elle occupe la colonne et équilibre le titre). La grille prend la
   hauteur de la colonne de texte et se centre dans l'écran (aucun vide interne sur les grands écrans) ; le
   format de l'image est calculé sur la place disponible (unités de conteneur) : pleine largeur de colonne, ou
   pleine hauteur du texte si l'écran est bas. */
@media (min-width: 900px) {
	.ip-chero__fold {
		display: grid;
		grid-template-columns: var(--wp--custom--cert--hero-cols);
		grid-template-rows: auto auto;
		align-content: center;
		column-gap: var(--wp--custom--cert--hero-gap);
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		height: var(--wp--custom--cert--hero-fold);
		margin-inline: auto;
		padding-inline: var(--wp--preset--spacing--gutter);
		padding-bottom: var(--wp--custom--cert--hero-fold-pad);
		box-sizing: border-box;
	}

	.ip-chero__fold > .ip-chero__head.ip-wrap {
		grid-column: 1;
		grid-row: 1;
		max-width: none;
		margin: 0;
		padding-inline: 0;
	}

	.ip-chero__fold > .ip-chero__grid {
		display: contents;
	}

	.ip-chero__grid > .ip-chero__text {
		grid-column: 1;
		grid-row: 2;
		padding-top: var(--wp--custom--cert--hero-gap);
	}

	.ip-chero__grid > .ip-chero__visual {
		display: flex;
		flex-direction: column;
		grid-column: 2;
		grid-row: 1 / 3;
		align-self: stretch;
		min-height: 0;
		/* Haut de l'image au niveau du filet du titre ; place réservée à l'aplat décalé. */
		margin-top: var(--wp--custom--cert--hero-pad-top);
		padding-right: var(--wp--custom--offset--base);
		container-type: size;
	}

	.ip-chero__visual > .ip-coffset {
		width: min(100cqw, 100cqh * var(--wp--custom--cert--hero-img-ratio));
		margin-top: auto;
		margin-left: auto;
	}
}

/* ---------- 02. Les organisations… (surface ink) ---------- */
.ip-cs .ip-cconst__h2 {
	max-width: var(--wp--custom--cert--section-measure);
}

.ip-cs .ip-cconst__accent {
	margin-top: var(--wp--preset--spacing--50);
	max-width: var(--wp--custom--cert--accent-measure);
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: var(--wp--custom--font-weight--medium);
	letter-spacing: var(--wp--custom--letter-spacing--head);
	line-height: var(--wp--custom--line-height--head);
}

.ip-cs .ip-cconst__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--wp--custom--cert--split-min), 100%), 1fr));
	gap: var(--wp--preset--spacing--80);
	margin-top: var(--wp--preset--spacing--80);
}

.ip-cs .ip-cconst__lines {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--ink-2);
	font-size: var(--wp--preset--font-size--lead);
	line-height: var(--wp--custom--line-height--body);
}

.ip-cs .ip-cconst__lines > li {
	padding-top: var(--wp--preset--spacing--40);
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

.ip-cs .ip-cconst__body {
	margin-top: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--ink-2);
}

.ip-cs .ip-cconst__results {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--60);
}

/* Puce carrée (L : --dot-md, rayon marqueur). */
.ip-cs .ip-cconst__results > li {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

.ip-cs .ip-cconst__results > li::before {
	content: "";
	flex: 0 0 var(--wp--custom--cert--dot-md);
	width: var(--wp--custom--cert--dot-md);
	height: var(--wp--custom--cert--dot-md);
	border-radius: var(--wp--preset--border-radius--marker);
	background: var(--wp--preset--color--accent);
}

/* ---------- 03. Pourquoi devenir facilitateur ---------- */
.ip-cs .ip-cwhy__head {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--wp--preset--spacing--40);
	text-align: right;
}

.ip-cs .ip-cwhy__head h2 {
	max-width: var(--wp--custom--cert--section-measure-short);
}

.ip-cs .ip-cwhy__intro {
	color: var(--wp--preset--color--ink-2);
}

.ip-cs .ip-cwhy__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(var(--wp--custom--grid--min), 1fr));
	gap: 0 var(--wp--preset--spacing--70);
	margin-top: var(--wp--preset--spacing--70);
}

.ip-cs .ip-cwhy__list > li {
	padding: var(--wp--preset--spacing--50) 0;
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

@media (max-width: 640px) {
	.ip-cs .ip-cwhy__list {
		grid-template-columns: 1fr;
	}
}

/* ---------- 04. À qui s'adresse cette certification ---------- */
.ip-caud {
	background: var(--wp--preset--color--paper-2);
}

.ip-caud__in {
	max-width: var(--wp--custom--width--narrow);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--gutter);
	text-align: center;
}

.ip-cs .ip-caud__in.ip-has-rule::before {
	margin-inline: auto;
}

.ip-cs .ip-caud__in > h2 {
	margin-top: var(--wp--preset--spacing--50);
}

.ip-cs .ip-caud__intro {
	max-width: var(--wp--custom--cert--intro-measure);
	margin: var(--wp--preset--spacing--50) auto 0;
	color: var(--wp--preset--color--ink-2);
}

.ip-cs .ip-caud__you {
	margin-top: var(--wp--preset--spacing--60);
}

/* Puces (chips de L : contour 1px ink, rayon 8px ; variante pleine accent). */
.ip-cs .ip-cchips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--50);
	font-family: var(--wp--preset--font-family--display);
	font-weight: var(--wp--custom--font-weight--medium);
	line-height: var(--wp--custom--line-height--body);
}

.ip-cs .ip-cchips > li {
	padding: var(--wp--custom--cert--chip-py) var(--wp--preset--spacing--40);
	border: var(--wp--custom--border--hair) solid var(--wp--preset--color--ink);
	border-radius: var(--wp--preset--border-radius--base);
}

.ip-cs .ip-cchips > li.is-accent {
	border: 0;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
}

.ip-cs .ip-caud__all {
	margin-top: var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--ink-2);
	font-size: var(--wp--preset--font-size--lead);
	line-height: var(--wp--custom--line-height--body);
}

/* ---------- Sous-navigation par ancres (design-system.md §11) ---------- */
.ip-subnav {
	position: sticky;
	/* Bas réel du header mesuré par assets/js/subnav.js (barre d'admin, zoom) ; repli : tokens. */
	top: var(--ip-header-bottom, calc(var(--wp--custom--size--header) + var(--wp-admin--admin-bar--height, 0px)));
	z-index: 40;
	border-bottom: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
	background: var(--wp--custom--overlay--header);
	backdrop-filter: blur(var(--wp--custom--header--blur));
}

.ip-subnav__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--50);
	min-height: var(--wp--custom--cert--subnav-height);
}

.wp-block-group.ip-subnav__in > * {
	margin: 0;
}

.ip-subnav__nav .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--50);
}

.ip-subnav__nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink-2);
	font-family: var(--wp--preset--font-family--text);
	font-size: var(--wp--preset--font-size--sm);
	text-decoration: none;
}

.ip-subnav__nav .wp-block-navigation-item__content:hover,
.ip-subnav__nav .wp-block-navigation-item__content[aria-current] {
	color: var(--wp--preset--color--accent-strong);
}

.ip-subnav .wp-block-button__link {
	padding: var(--wp--custom--header--cta-py) var(--wp--custom--header--cta-px);
	font-size: var(--wp--preset--font-size--sm);
	line-height: var(--wp--custom--line-height--body);
}

.ip-subnav__in > .wp-block-buttons {
	flex: 0 0 auto;
}

/* Ancres : la section cible arrive juste sous la sous-navigation. WordPress ajoute déjà la barre d'admin en
   scroll-padding-top sur html : elle est retirée ici pour ne pas la compter deux fois. */
.ip-cs[id] {
	scroll-margin-top: calc(var(--ip-header-bottom, calc(var(--wp--custom--size--header) + var(--wp-admin--admin-bar--height, 0px))) + var(--ip-subnav-height, var(--wp--custom--cert--subnav-height)) - var(--wp-admin--admin-bar--height, 0px));
}

/* Petits écrans : les liens défilent horizontalement, le bouton reste visible. */
@media (max-width: 700px) {
	.ip-subnav__in {
		gap: var(--wp--preset--spacing--30);
	}

	.ip-subnav__nav {
		flex: 1 1 auto;
		min-width: 0;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.ip-subnav__nav::-webkit-scrollbar {
		display: none;
	}

	.ip-subnav__nav .wp-block-navigation__container {
		flex-wrap: nowrap;
		white-space: nowrap;
	}
}

/* Bouton de lecture de la vidéo (inc/video.php) : triangle de L (20 × 26px, décalé de 4px). */
.ip-cs .ip-play::after {
	height: calc(2 * var(--wp--custom--play--height));
	margin-left: var(--wp--preset--spacing--10);
}

/* ---------- Sections 05 à 13 (P-014, v4) ---------- */
/* Grille 2 colonnes de la v4 (auto-fit, minimum 300px). */
.ip-cs .ip-csplit {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--wp--custom--cert--split-min), 100%), 1fr));
	gap: var(--wp--preset--spacing--80);
	align-items: start;
}

.ip-cs .ip-csplit.is-center {
	align-items: center;
}

/* Colonne collante (05, 12 : L sticky top). */
.ip-cs .ip-csticky {
	position: sticky;
	top: var(--wp--custom--cert--sticky-top);
}

.ip-cs .ip-has-rule:not(.ip-cwhy__head) > h2 {
	margin-top: var(--wp--preset--spacing--50);
}

.ip-cs .ip-cs__p {
	margin-top: var(--wp--preset--spacing--50);
	color: var(--wp--preset--color--ink-2);
}

.ip-cs .ip-cs__p.is-near {
	margin-top: var(--wp--preset--spacing--40);
}

.ip-cs .ip-cs__p.is-lead {
	font-size: var(--wp--preset--font-size--lead);
	line-height: var(--wp--custom--line-height--body);
}

.ip-cs .ip-cs__p.is-lead-measure {
	max-width: var(--wp--custom--cert--lead-measure);
}

.ip-cs .ip-cs__p.is-intro-measure {
	max-width: var(--wp--custom--cert--intro-measure);
}

/* Liste à filets (L : padding s5 0, filet haut ; dernier élément avec filet bas). */
.ip-cs .ip-crules > li {
	padding: var(--wp--preset--spacing--50) 0;
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

.ip-cs .ip-crules > li:last-child {
	border-bottom: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

/* Liste à puces carrées petites (L : --dot-sm, filet haut). */
.ip-cs .ip-cdots > li {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	padding-top: var(--wp--preset--spacing--40);
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

.ip-cs .ip-cdots > li::before {
	content: "";
	flex: 0 0 var(--wp--custom--cert--dot-sm);
	width: var(--wp--custom--cert--dot-sm);
	height: var(--wp--custom--cert--dot-sm);
	border-radius: var(--wp--preset--border-radius--marker);
	background: var(--wp--preset--color--accent);
}

/* Petit sur-titre (L : mono, micro, capitales). Texte coloré en accent-strong (D10). */
.ip-cs .ip-clabel {
	color: var(--wp--preset--color--accent-strong);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--micro);
	letter-spacing: var(--wp--custom--letter-spacing--caps);
	line-height: var(--wp--custom--line-height--body);
	text-transform: uppercase;
}

/* Sur fond sombre, petits textes en texte secondaire (ADR-0006, règle 5). */
.ip-cs :is(.is-style-surface-ink, .is-style-surface-sombre) .ip-clabel {
	color: var(--wp--preset--color--ink-2);
}

.ip-cs .ip-cchips.is-start {
	justify-content: flex-start;
	margin-top: var(--wp--preset--spacing--40);
}

.ip-cs .ip-cfig.is-ratio-3-4 {
	aspect-ratio: var(--wp--preset--aspect-ratio--3-4);
}

.ip-cs .ip-cfig.is-ratio-5-4 {
	aspect-ratio: var(--wp--preset--aspect-ratio--5-4);
}

.ip-cs .ip-cfig.is-ratio-4-5 {
	aspect-ratio: var(--wp--preset--aspect-ratio--4-5);
}

.ip-cs .ip-cfig.is-ratio-16-9 {
	aspect-ratio: var(--wp--preset--aspect-ratio--16-9);
}

.ip-cs .ip-coffset.is-wash::before {
	background: var(--wp--preset--color--wash);
}

/* ---------- 05. Ce que vous apprendrez ---------- */
.ip-cs .ip-clearn__head h2 {
	max-width: var(--wp--custom--cert--learn-measure);
}

.ip-cs .ip-clearn__head .ip-cfig {
	margin-top: var(--wp--preset--spacing--60);
}

.ip-cs .ip-clearn__list {
	counter-reset: ip-learn;
}

.ip-cs .ip-clearn__list > li {
	counter-increment: ip-learn;
	display: grid;
	grid-template-columns: var(--wp--custom--grid--num) 1fr;
	gap: var(--wp--preset--spacing--40);
}

.ip-cs .ip-clearn__list > li::before {
	content: counter(ip-learn, decimal-leading-zero);
	color: var(--wp--preset--color--accent-strong);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--wp--custom--font-weight--regular);
	letter-spacing: normal;
	line-height: var(--wp--custom--line-height--body);
}

/* ---------- 06. Le programme ---------- */
.ip-cprog {
	background: var(--wp--preset--color--paper-2);
}

.ip-cs .ip-cprog__title {
	padding-bottom: var(--wp--preset--spacing--50);
	border-bottom: var(--wp--custom--border--emphasis) solid var(--wp--preset--color--accent);
}

.ip-cs .ip-cprog__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--wp--custom--cert--card-min), 100%), 1fr));
	gap: var(--wp--preset--spacing--60);
	margin-top: var(--wp--preset--spacing--70);
}

.ip-cs .ip-cday {
	padding: var(--wp--preset--spacing--60);
	border-radius: var(--wp--preset--border-radius--base);
}

.ip-cs .ip-cday.is-light {
	border: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--paper);
	box-shadow: var(--wp--preset--shadow--card);
}

.ip-cs .ip-cday h3 {
	margin-top: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: var(--wp--custom--font-weight--bold);
	letter-spacing: var(--wp--custom--letter-spacing--head);
	/* L : pas d'interligne propre, celui du texte courant. */
	line-height: var(--wp--custom--line-height--body);
}

.ip-cs .ip-cday .ip-cdots {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--50);
}

/* ---------- 07. Ce qui rend cette certification différente ---------- */
.ip-cs .ip-cdiff__text .ip-cs__h3 {
	margin-top: var(--wp--preset--spacing--50);
}

/* ---------- 08. Ce que vous recevez ---------- */
.ip-crecv {
	background: var(--wp--preset--color--paper-2);
}

.ip-cs .ip-crecv__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--wp--custom--grid--min), 100%), 1fr));
	gap: var(--wp--preset--spacing--70);
	align-items: start;
}

.ip-cs .ip-crecv__head h2 {
	max-width: var(--wp--custom--cert--receive-measure);
}

.ip-cs .ip-crecv__list {
	display: grid;
	grid-column: span 2;
	gap: var(--wp--preset--spacing--40);
	min-width: 0;
}

.ip-cs .ip-crecv__list > li {
	padding-top: var(--wp--preset--spacing--40);
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

.ip-cs .ip-crecv__list > li:last-child {
	padding-bottom: var(--wp--preset--spacing--40);
	border-bottom: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

.ip-cs .ip-cnote {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--micro);
	font-weight: var(--wp--custom--font-weight--regular);
}

/* ---------- 09. Témoignages ---------- */
.ip-cs .ip-cquotes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--wp--custom--grid--min), 100%), 1fr));
	gap: var(--wp--preset--spacing--60);
	margin-top: var(--wp--preset--spacing--70);
}

.ip-cs .ip-cquotes > li {
	padding-top: var(--wp--preset--spacing--50);
	border-top: var(--wp--custom--border--emphasis) solid var(--wp--preset--color--accent);
}

.ip-cs .ip-cmedia {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--wp--custom--cert--media-min), 100%), 1fr));
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--80);
}

/* ---------- 10. Le formateur ---------- */
.ip-ctrainer {
	background: var(--wp--preset--color--paper-2);
}

.ip-cs .ip-ctrainer__name {
	margin-top: var(--wp--preset--spacing--50);
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: var(--wp--custom--font-weight--medium);
	letter-spacing: var(--wp--custom--letter-spacing--head);
	line-height: var(--wp--custom--line-height--body);
}

/* ---------- 11. Galerie ---------- */
.ip-cs .ip-cgal__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(var(--wp--custom--cert--gallery-min), 100%), 1fr));
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--70);
	padding: 0 var(--wp--preset--spacing--30);
}

.ip-cs .ip-cgal__grid > .ip-cfig {
	border: 0;
}

/* ---------- 12. FAQ (core/details, groupe exclusif « faq ») ---------- */
.ip-cfaq {
	background: var(--wp--preset--color--paper-2);
}

.ip-cs .ip-cfaq__list > .wp-block-details {
	margin: 0;
	padding: var(--wp--preset--spacing--50) 0;
	border-top: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

.ip-cs .ip-cfaq__list > .wp-block-details:last-child {
	border-bottom: var(--wp--custom--border--hair) solid var(--wp--preset--color--line);
}

.ip-cs .ip-cfaq__list summary {
	display: flex;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: var(--wp--custom--font-weight--medium);
	letter-spacing: var(--wp--custom--letter-spacing--head);
	line-height: var(--wp--custom--line-height--body);
	list-style: none;
	cursor: pointer;
}

.ip-cs .ip-cfaq__list summary::-webkit-details-marker {
	display: none;
}

.ip-cs .ip-cfaq__list summary::after {
	content: "+";
	color: var(--wp--preset--color--accent);
}

.ip-cs .ip-cfaq__list .wp-block-details > :not(summary) {
	margin-top: var(--wp--preset--spacing--40);
	margin-bottom: 0;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--sm);
}

/* ---------- 13. Appel à l’action ---------- */
.ip-ccta {
	background-color: var(--wp--preset--color--accent);
	background-image: var(--wp--custom--surface--texture-accent);
	background-size: var(--wp--custom--surface--texture-accent-size);
	color: var(--wp--preset--color--on-accent);
}

.ip-ccta__in {
	max-width: var(--wp--custom--width--narrow);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--gutter);
	text-align: center;
}

.ip-cs .ip-ccta__in h2 {
	color: inherit;
}

.ip-cs .ip-ccta__text {
	max-width: var(--wp--custom--cert--cta-measure);
	margin: var(--wp--preset--spacing--60) auto 0;
	font-size: var(--wp--preset--font-size--lead);
	line-height: var(--wp--custom--line-height--body);
}

.ip-cs .ip-ccta__btns {
	justify-content: center;
	margin-top: var(--wp--preset--spacing--70);
}

/* Bouton inversé du design system sur fond accent (§6.2, règle 7). */
.ip-ccta .wp-block-button .wp-block-button__link {
	background: var(--wp--preset--color--on-accent);
	color: var(--wp--preset--color--accent-strong);
}

.ip-ccta .wp-block-button .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent-strong);
	color: var(--wp--preset--color--on-accent);
}

.ip-ccta :where(a, button):focus-visible {
	outline-color: var(--wp--preset--color--on-accent);
}

/* ---------- Sous-navigation (P-015) : sous le header, fond opaque, visible seulement après le hero ----------
   Avec le script (assets/js/subnav.js, classe .is-enhanced), elle sort du flux (fixe sous le header) et
   n'apparaît qu'une fois le hero passé. Sans script, elle reste collante dans le flux, sur fond opaque. */
.ip-subnav {
	background: var(--wp--preset--color--paper);
	backdrop-filter: none;
}

.ip-subnav.is-enhanced {
	position: fixed;
	right: 0;
	left: 0;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-100%);
	transition: transform var(--wp--custom--motion--menu), opacity var(--wp--custom--motion--menu), visibility 0s linear var(--wp--custom--motion--menu);
}

.ip-subnav.is-enhanced.is-visible {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: transform var(--wp--custom--motion--menu), opacity var(--wp--custom--motion--menu);
}

@media (prefers-reduced-motion: reduce) {
	.ip-subnav.is-enhanced,
	.ip-subnav.is-enhanced.is-visible {
		transition: none;
	}
}
