/*
 * Think2Make — sections (modèles de blocs du dossier patterns/).
 * Référence : prototype/source/v2.py, constante CSS (classes .head, .split, .card, .ben-g, .faqc, .kv, .cta…).
 * Les groupes « mise en page par défaut » reçoivent ici leur grille : leurs enfants n'ont pas de marge.
 */

/* ---------------------------------------------------------------- textes */
.t2m-label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--red);
}
.t2m-lead {
	max-width: 640px;
	line-height: 1.55;
}
.t2m-head .t2m-lead {
	max-width: 520px;
}
.t2m-measure {
	max-width: 820px;
}
/*
 * Dans une section centrée (mise en page « contrainte »), les éléments plus étroits que la colonne
 * (titre de 820 px, chapeau de 640 px…) s'alignent sur le bord gauche de la colonne, comme dans la maquette,
 * au lieu d'être centrés. --t2m-col : largeur de la colonne quand elle n'est pas celle du thème.
 */
.is-layout-constrained > :is(.t2m-measure, .t2m-measure-wide, .t2m-lead, .t2m-ct-head) {
	margin-left: calc((100% - min(100%, var(--t2m-col, var(--wp--style--global--content-size)))) / 2) !important;
	margin-right: auto !important;
}
.t2m-col-860 {
	--t2m-col: 860px;
}
/* Champ facultatif laissé vide par le client : rien n'apparaît. */
.t2m-sec p:empty,
.t2m-hero p:empty,
.t2m-sec .wp-block-heading:empty {
	display: none;
}
.t2m-sec p:empty:first-child + *,
.t2m-hero p:empty:first-child + * {
	margin-block-start: 0;
}

/* Liens fléchés (maquette : .lnk) et « En savoir plus » des cartes */
.t2m-lnk a,
.t2m-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	text-decoration: none;
}
.t2m-lnk a::after,
.t2m-more::after {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--t2m-i-arrow) center / contain no-repeat;
	mask: var(--t2m-i-arrow) center / contain no-repeat;
	transition: transform .2s;
}
.t2m-lnk a:hover::after,
.t2m-card:hover .t2m-more::after {
	transform: translateX(3px);
}
.t2m-more {
	color: var(--wp--preset--color--red);
}
.t2m-more--dl::after {
	display: none;
}
.t2m-more--dl::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--t2m-i-dl) center / contain no-repeat;
	mask: var(--t2m-i-dl) center / contain no-repeat;
}

/* Liste à coches */
.wp-block-list.t2m-checks {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.t2m-checks li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.t2m-checks li::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 4px;
	background: var(--wp--custom--color--success);
	-webkit-mask: var(--t2m-i-check) center / contain no-repeat;
	mask: var(--t2m-i-check) center / contain no-repeat;
}

/* ---------------------------------------------------------------- grilles */
.wp-block-group.t2m-split,
.wp-block-group.t2m-mosaic,
.wp-block-group.t2m-ben,
.wp-block-group.t2m-ben__c,
.wp-block-group.t2m-kv,
.wp-block-group.t2m-press,
.wp-block-group.t2m-cta,
.wp-block-group.t2m-faq,
.wp-block-group.t2m-book-card,
.wp-block-group.t2m-ben__item {
	display: grid;
}
.wp-block-group.t2m-split > *,
.wp-block-group.t2m-mosaic > *,
.wp-block-group.t2m-ben > *,
.wp-block-group.t2m-ben__c > *,
.wp-block-group.t2m-kv > *,
.wp-block-group.t2m-press > *,
.wp-block-group.t2m-cta > *,
.wp-block-group.t2m-faq > *,
.wp-block-group.t2m-book-card > *,
.wp-block-group.t2m-ben__item > * {
	margin-block: 0;
}

.wp-block-group.t2m-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wp-block-group.t2m-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wp-block-group.t2m-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.t2m-split {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: 64px;
	align-items: center;
}
.t2m-split--top {
	align-items: start;
}
.t2m-split--rev > :first-child {
	order: 2;
}

/* ---------------------------------------------------------------- photos */
.wp-block-image.t2m-ph {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.t2m-ph .t2m-im {
	position: relative;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--s);
	background: var(--wp--custom--color--placeholder);
}
.t2m-ph img {
	display: block;
	width: 100%;
	transition: transform .6s var(--wp--custom--ease);
}
.t2m-ph .wp-element-caption,
.t2m-press__item .wp-element-caption {
	margin: 0;
	font-size: var(--wp--preset--font-size--caption);
	color: var(--wp--preset--color--muted);
	text-align: left;
}
a:hover .t2m-ph img,
.t2m-card:hover .t2m-ph img {
	transform: scale(1.03);
}

/* ---------------------------------------------------------------- hero : mosaïque, vidéo */
.t2m-mosaic {
	grid-template-columns: 1.25fr 1fr;
	grid-template-rows: auto auto;
	gap: 14px;
}
.t2m-mosaic > :first-child {
	grid-row: 1 / 3;
}
.wp-block-video.t2m-hv {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 5;
	border-radius: var(--wp--custom--radius--s);
	overflow: hidden;
	background: var(--wp--preset--color--dark);
}
.t2m-hv video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.t2m-hv .wp-element-caption {
	position: absolute;
	left: 12px;
	bottom: 12px;
	max-width: calc(100% - 72px);
	margin: 0;
	padding: 6px 10px;
	border-radius: var(--wp--custom--radius--s);
	background: rgba(22, 24, 29, .72);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--caption);
	text-align: left;
}
.t2m-hv__toggle {
	position: absolute;
	right: 12px;
	bottom: 12px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(22, 24, 29, .72);
	color: var(--wp--preset--color--white);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.t2m-hv__toggle:focus-visible {
	outline: 3px solid var(--wp--custom--color--focus);
	outline-offset: 3px;
}
.t2m-hv__toggle[aria-pressed="false"] svg:last-of-type,
.t2m-hv__toggle[aria-pressed="true"] svg:first-of-type {
	display: none;
}

/* ---------------------------------------------------------------- en-tête de section, fil d'Ariane */
.t2m-crumb {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	margin-bottom: 28px;
}
.t2m-crumb p {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}
.t2m-crumb a {
	color: var(--wp--preset--color--muted);
}
.t2m-crumb .last {
	color: var(--wp--preset--color--ink);
}

/* ---------------------------------------------------------------- références */
.t2m-logos p {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.2px;
	color: var(--wp--custom--color--logo);
}

/* ---------------------------------------------------------------- cartes */
.t2m-card {
	position: relative;
	color: var(--wp--preset--color--body);
}
.t2m-card__title {
	transition: color .2s;
}
.t2m-card__title a {
	color: inherit;
	text-decoration: none;
}
.t2m-card__title a::after {
	/* Toute la carte est cliquable, avec un seul lien pour les lecteurs d'écran. */
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.t2m-card:hover .t2m-card__title {
	color: var(--wp--preset--color--red);
}
.t2m-card__title a:focus-visible {
	outline: none;
}
.t2m-card:has(.t2m-card__title a:focus-visible) {
	outline: 3px solid var(--wp--custom--color--focus);
	outline-offset: 4px;
	border-radius: var(--wp--custom--radius--s);
}
.t2m-book-card {
	grid-template-columns: 44% minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}
.t2m-book-card__cover {
	margin: 0;
}
.t2m-book-card__cover img {
	display: block;
	width: 100%;
	border-radius: 2px;
}

/* ---------------------------------------------------------------- titre à gauche, cartes à droite (maquette : .ben-g) */
.t2m-ben {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	align-items: start;
}
.t2m-ben__l {
	position: sticky;
	top: 110px;
	padding-right: 32px;
}
.t2m-ben__c {
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}
.t2m-ben__item {
	position: relative;
	align-content: start;
	gap: 16px;
	padding: 24px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--m);
	transition: transform .3s var(--wp--custom--ease), box-shadow .3s, border-color .3s;
}
.t2m-ben__item:hover {
	transform: translateY(-4px);
	border-color: var(--wp--custom--color--card-border-hover);
	box-shadow: 0 20px 34px -24px rgba(22, 24, 29, .4);
}
.t2m-bt2 {
	font-size: 17px;
	line-height: 1.5;
	font-weight: 500;
	color: var(--wp--preset--color--ink);
	text-wrap: pretty;
}
.t2m-ben__c--q .t2m-bt2 {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--quote);
	font-weight: 400;
	line-height: 1.4;
}
.t2m-qn {
	position: relative;
	justify-self: start;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 36px;
	color: var(--wp--preset--color--red);
}
.t2m-qn::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 2px;
	width: 100%;
	height: 2px;
	background: var(--wp--preset--color--red);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--wp--custom--ease);
}
.t2m-ben__item:hover .t2m-qn::after {
	transform: scaleX(1);
}
/* Cartes cochées : pastille (::before) et coche (::after) */
.t2m-ben__c--check .t2m-ben__item {
	padding-top: 76px;
}
.t2m-ben__c--check .t2m-ben__item::before,
.t2m-ben__c--check .t2m-ben__item::after {
	content: "";
	position: absolute;
	top: 24px;
	left: 24px;
	width: 36px;
	height: 36px;
	transition: background-color .3s;
}
.t2m-ben__c--check .t2m-ben__item::before {
	border-radius: 50%;
	background: var(--wp--preset--color--red-pale);
}
.t2m-ben__c--check .t2m-ben__item::after {
	background: var(--wp--preset--color--red);
	-webkit-mask: var(--t2m-i-check) center / 20px no-repeat;
	mask: var(--t2m-i-check) center / 20px no-repeat;
}
.t2m-ben__c--check .t2m-ben__item:hover::before {
	background: var(--wp--preset--color--red);
}
.t2m-ben__c--check .t2m-ben__item:hover::after {
	background: var(--wp--preset--color--white);
}

/* ---------------------------------------------------------------- questions fréquentes (bloc Détails) */
.t2m-faq {
	gap: 16px;
}
.t2m-faq .wp-block-details {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--m);
	transition: border-color .3s, box-shadow .3s;
	interpolate-size: allow-keywords;
}
.t2m-faq .wp-block-details:hover {
	border-color: var(--wp--custom--color--card-border-hover);
	box-shadow: 0 16px 30px -24px rgba(22, 24, 29, .4);
}
.t2m-faq .wp-block-details[open] {
	border-color: var(--wp--custom--color--card-border-hover);
}
.t2m-faq summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	min-height: 72px;
	padding: 20px 76px 20px 24px;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--ink);
}
.t2m-faq summary::-webkit-details-marker {
	display: none;
}
.t2m-faq summary::before,
.t2m-faq summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 24px;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	transition: background-color .3s, transform .3s;
}
.t2m-faq summary::before {
	border-radius: 50%;
	background: var(--wp--preset--color--red-pale);
}
.t2m-faq summary::after {
	background: var(--wp--preset--color--red);
	-webkit-mask: var(--t2m-i-chev) center / 16px no-repeat;
	mask: var(--t2m-i-chev) center / 16px no-repeat;
}
.t2m-faq .wp-block-details:hover summary::before {
	background: var(--wp--preset--color--red);
}
.t2m-faq .wp-block-details:hover summary::after {
	background: var(--wp--preset--color--white);
}
.t2m-faq .wp-block-details[open] summary::after {
	transform: rotate(180deg);
}
.t2m-faq summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--red);
	outline-offset: -2px;
	border-radius: var(--wp--custom--radius--m);
}
.t2m-faq .wp-block-details > p {
	margin: 0;
	padding: 0 24px 22px;
	color: var(--wp--preset--color--body);
}
.t2m-faq .wp-block-details::details-content {
	block-size: 0;
	overflow: hidden;
	transition: block-size .35s var(--wp--custom--ease), content-visibility .35s allow-discrete;
}
.t2m-faq .wp-block-details[open]::details-content {
	block-size: auto;
}

/* ---------------------------------------------------------------- déroulement (maquette : .tl, .track, .step) */
.t2m-tl .t2m-tl__title {
	position: relative;
	padding-bottom: 50px;
	margin-bottom: 32px;
}
.t2m-tl .t2m-tl__title::before,
.t2m-tl .t2m-tl__title::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--wp--preset--color--line);
}
.t2m-tl .t2m-tl__title::after {
	background: var(--wp--preset--color--red);
	transform-origin: left center;
}
@supports not (animation-timeline: view()) {
	.t2m-tl .t2m-tl__title { padding-bottom: 0; margin-bottom: 48px; }
	.t2m-tl .t2m-tl__title::before,
	.t2m-tl .t2m-tl__title::after { display: none; }
}
.t2m-num {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 44px;
	line-height: 1;
	color: var(--wp--preset--color--red);
}

/* ---------------------------------------------------------------- informations clés, colonnes à filet */
.t2m-kv {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.wp-block-group.t2m-kv > .t2m-kv__item {
	padding: 20px 20px 20px 0;
}
.t2m-kv__item > .t2m-kv__k {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}
.t2m-kv__item > .t2m-kv__v {
	margin-top: 4px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}
.t2m-rule {
	padding-top: 20px;
	border-top: 2px solid var(--wp--preset--color--ink);
}

/* ---------------------------------------------------------------- citations */
.wp-block-quote.t2m-quote {
	margin: 0;
	padding: 24px 0 0;
	border: 0;
	border-top: 2px solid var(--wp--preset--color--ink);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.t2m-quote > p {
	margin: 0;
}
.t2m-quote--big > p {
	font-size: var(--wp--preset--font-size--quote-large);
	line-height: 1.4;
}
.t2m-quote cite {
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-style: normal;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}
.t2m-quote cite strong {
	display: block;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

/* ---------------------------------------------------------------- presse */
.t2m-press {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
.wp-block-image.t2m-press__item {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.t2m-press__item img {
	display: block;
	width: 100%;
	object-position: top;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
}

/* ---------------------------------------------------------------- appel à l'action */
.t2m-cta {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	border-radius: var(--wp--custom--radius--m);
	overflow: hidden;
}
.t2m-cta__tx {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 56px;
}
.wp-block-image.t2m-cta__img {
	margin: 0;
	overflow: hidden;
}
.t2m-cta__img img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

/* ---------------------------------------------------------------- page de démonstration (wp t2m demo) */
.t2m-demo-label {
	margin: 0 !important;
	padding: 6px 12px;
	background: #FFF3BF;
	color: #5C4A00;
	font: 600 13px/1.4 ui-monospace, monospace;
}

/* ---------------------------------------------------------------- points de rupture de la maquette */
@media (max-width: 980px) {
	.wp-block-group.t2m-grid-4,
	.wp-block-group.t2m-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t2m-split { grid-template-columns: 1fr; gap: 40px; }
	.t2m-split--rev > :first-child { order: 0; }
	.t2m-ben { grid-template-columns: 1fr; }
	.t2m-ben__l { position: static; padding-right: 0; }
	.t2m-ben__c { gap: 16px; }
	.t2m-kv { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t2m-press { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t2m-cta { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.wp-block-group.t2m-grid-4,
	.wp-block-group.t2m-grid-3,
	.wp-block-group.t2m-grid-2 { grid-template-columns: 1fr; gap: 28px; }
	.t2m-mosaic { grid-template-columns: 1fr 1fr; }
	.t2m-mosaic > :first-child { grid-column: 1 / 3; grid-row: auto; }
	.wp-block-video.t2m-hv { aspect-ratio: 4 / 3; }
	.t2m-mosaic > .t2m-ph:first-child img { aspect-ratio: 4 / 3 !important; }
	.t2m-ben__c { grid-template-columns: 1fr; }
	.t2m-ben__item { padding: 20px; }
	.t2m-ben__c--q .t2m-ben__item { grid-template-columns: auto 1fr; gap: 16px; align-items: start; }
	.t2m-ben__c--q .t2m-bt2 { font-size: 19px; }
	.t2m-qn { line-height: 1.6; }
	.t2m-ben__c--check .t2m-ben__item { padding: 20px 20px 20px 72px; min-height: 76px; }
	.t2m-ben__c--check .t2m-ben__item::before,
	.t2m-ben__c--check .t2m-ben__item::after { top: 20px; left: 20px; }
	.t2m-faq summary { padding: 18px 68px 18px 20px; min-height: 68px; font-size: 17px; }
	.t2m-faq summary::before,
	.t2m-faq summary::after { right: 20px; }
	.t2m-faq .wp-block-details > p { padding: 0 20px 20px; }
	.t2m-cta__tx { padding: 32px 24px; }
	.t2m-book-card { gap: 16px; }
}
@media (hover: none) {
	.t2m-ben__item:hover { transform: none; box-shadow: none; }
}

/* ---------------------------------------------------------------- gabarits (templates/) */
.t2m-measure-wide { max-width: 900px; }
.t2m-case-photo { margin: 0; }
.t2m-case-photo img { border-radius: var(--wp--custom--radius--s); }
.t2m-lnk--back a::after { display: none; }
.t2m-case-nav { gap: 16px; }
.t2m-case-nav > * { margin: 0; }

/* Liste d'articles (Ressources, recherche) — maquette : .list de liens */
.t2m-articles__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}
.t2m-articles__list > li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 4px 16px;
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.t2m-articles__list > li > * { margin: 0; }
.t2m-articles__title { font-size: var(--wp--preset--font-size--base); font-weight: 700; line-height: 1.5; }
.t2m-articles__title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.t2m-articles__title a:hover { color: var(--wp--preset--color--red); }
.t2m-articles__cat { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.t2m-articles__cat a { color: inherit; text-decoration: none; }
.t2m-articles .wp-block-query-pagination { margin-top: 24px; }
.t2m-hero > .t2m-topics { margin-top: 32px; }
.t2m-box { padding: 32px; border-radius: var(--wp--custom--radius--m); }
.t2m-box__title { font-size: var(--wp--preset--font-size--large); line-height: 1.3; font-weight: 700; letter-spacing: 0; }

/* Corps des articles (contenus existants) : le contenu n'a pas d'écart entre blocs (sections des pages
   empilées sans marge, theme.json), on rétablit celui d'un texte courant. */
.wp-block-post-content.t2m-prose > * + * { margin-block-start: 1em; }
.wp-block-post-content.t2m-prose > :is(h2, h3, h4) { margin-block-start: 2em; }
.wp-block-post-content.t2m-prose > :is(h2, h3, h4) + * { margin-block-start: .6em; }
.t2m-prose img { max-width: 100%; height: auto; border-radius: var(--wp--custom--radius--s); }
.t2m-prose :is(ul, ol):not(.wp-block-gallery):not(.t2m-sommaire *) { padding-left: 1.4em; }

/* Liens de la page 404 */
.wp-block-list.t2m-links {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}
.t2m-links li { border-bottom: 1px solid var(--wp--preset--color--line); }
.t2m-links a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 0;
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.t2m-links a::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--t2m-i-arrow) center / contain no-repeat;
	mask: var(--t2m-i-arrow) center / contain no-repeat;
	transition: transform .2s;
}
.t2m-links li:not(:has(a)) { padding: 16px 0; }
.t2m-links a:hover { color: var(--wp--preset--color--red); }
.t2m-links a:hover::after { transform: translateX(3px); }

/* Contact : en-tête au-dessus du formulaire (maquette : .ct-head) ; portrait du fondateur */
.t2m-ct-head { max-width: 720px; margin: 8px 0 40px; }
.t2m-founder > .t2m-ph { max-width: 460px; }

/* ---------------------------------------------------------------- pages Approche, À propos, Livres, Mentions légales */
/* Couverture de livre (maquette : .book) */
/* Largeur explicite : sans elle, la figure prend la largeur de l'image en cours de chargement (décalage, CLS). */
.wp-block-image.t2m-book { margin: 0; width: 100%; max-width: 380px; }
.wp-block-image.t2m-book.t2m-book--l { max-width: 460px; }
.t2m-book img {
	display: block;
	width: 100%;
	border-radius: 2px;
	box-shadow: 0 30px 50px -28px rgba(22, 24, 29, .55);
}
.t2m-hero .t2m-book { justify-self: center; }
.wp-block-image.t2m-book-mini { margin-bottom: 0; }
.t2m-book-mini img { border-radius: 2px; }

.t2m-kv--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Liens fléchés externes : icône de sortie avant le texte */
.t2m-lnk--ext a::after { display: none; }
.t2m-lnk--ext a::before {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--t2m-i-ext) center / contain no-repeat;
	mask: var(--t2m-i-ext) center / contain no-repeat;
}
/* Liste de liens externes (presse) : média en gras, titre en normal */
.t2m-links--ext a { font-weight: 400; gap: 16px; }
.t2m-links--ext a strong { font-weight: 600; }
.t2m-links--ext a::after {
	flex: 0 0 auto;
	-webkit-mask-image: var(--t2m-i-ext);
	mask-image: var(--t2m-i-ext);
}

/* Sommaire du livre : numéros en serif rouge, description en petit */
.wp-block-list.t2m-toc {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--line);
	counter-reset: t2m-toc;
}
.t2m-toc li {
	counter-increment: t2m-toc;
	padding: 16px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}
.t2m-toc li::before {
	content: counter(t2m-toc);
	margin-right: 14px;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 26px;
	line-height: 1;
	color: var(--wp--preset--color--red);
}
.t2m-toc strong {
	margin-right: 4px;
	font-size: var(--wp--preset--font-size--base);
	color: var(--wp--preset--color--ink);
}

/* Auteurs : petite photo et texte */
.wp-block-group.t2m-person { gap: 20px; }
.wp-block-image.t2m-person__img { flex: 0 0 96px; margin: 0; }
.t2m-person__img img { display: block; width: 96px; height: 128px; border-radius: 4px; }
.t2m-person > .wp-block-group > * { margin-block: 0; }
.t2m-person > .wp-block-group { display: flex; flex-direction: column; gap: 8px; }

/* Intertitres des anciens articles renumérotés (t2m_fix_heading_levels) : apparence de leur niveau d'origine (theme.json) */
.t2m-as-h3 { font-size: var(--wp--preset--font-size--large); font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.t2m-as-h4 { font-size: var(--wp--preset--font-size--medium); font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.t2m-as-h5 { font-size: .83em; font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.t2m-as-h6 { font-size: .67em; font-weight: 700; line-height: 1.35; letter-spacing: 0; }

/* Titres de niveau 2 à la taille d'un intertitre (mentions légales) */
.wp-block-heading.t2m-h3 {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
	letter-spacing: 0;
}

@media (max-width: 980px) {
	.t2m-kv--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/*
 * Sections du contenu : rendu différé tant qu'elles sont loin de l'écran (moins de calcul de styles et de mise en
 * page au chargement des longues pages animées au défilement). Hauteur estimée, puis mémorisée (« auto »).
 */
.wp-block-post-content > .t2m-sec {
	content-visibility: auto;
	contain-intrinsic-size: auto 1000px;
}
