/*
 * Compléments à theme.json : uniquement ce que theme.json ne sait pas exprimer.
 * Principes (retours du 29/09) : aplats de couleur plutôt que traits décoratifs ; pas d'italique ;
 * pas de petites capitales espacées ; pas d'effet au survol ; boutons arrondis ; beaucoup d'air.
 * Alchimies = bleu nuit, Fondamentaux = rose (foncé, pour que le texte reste lisible).
 */

:root {
	--lo-nuit: var(--wp--preset--color--nuit);
	--lo-pale: var(--wp--preset--color--rose-pale);
	--lo-rose: var(--wp--preset--color--rose);
	--lo-rose-fonce: var(--wp--preset--color--rose-fonce);
	--lo-lavande: var(--wp--preset--color--lavande);
	--lo-blanc: var(--wp--preset--color--blanc);
	--lo-serif: var(--wp--preset--font-family--garamond);
	--lo-radius: 18px;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern", "liga";
}

::selection { background: var(--lo-lavande); color: var(--lo-nuit); }

/* Clavier uniquement : indispensable à l'accessibilité, invisible à la souris. */
:where(a, button, input, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--lo-rose);
	outline-offset: 3px;
	border-radius: 4px;
}

a { text-decoration: none; color: inherit; }
img { height: auto; }
em, i, cite { font-style: normal; }

/* Liens dans le texte courant : bleu nuit souligné rose (jamais du rose seul). */
.lo-prose a:not(.lo-toc a):not(.wp-block-button__link), .lo-chapo a {
	text-decoration: underline;
	text-decoration-color: var(--lo-rose);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.22em;
}

/* ---------- Boutons ---------- */
.wp-block-button__link, .wp-block-button__link:hover { text-decoration: none !important; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 2px solid currentColor;
	color: var(--lo-nuit);
	background: transparent;
	padding: calc(0.9em - 2px) calc(1.1em - 2px);
}

/* ---------- Surfaces colorées (bleu nuit, rose) ---------- */
:is(.has-nuit-background-color, .has-rose-fonce-background-color) :is(h1, h2, h3, h4, h5, h6, a:not(.wp-block-button__link)) { color: inherit; }
:is(.has-nuit-background-color, .has-rose-fonce-background-color) .wp-block-button__link { background: var(--lo-pale); color: var(--lo-nuit); }
:is(.has-nuit-background-color, .has-rose-fonce-background-color) .is-style-outline > .wp-block-button__link { background: transparent; color: var(--lo-pale); border-color: var(--lo-pale); }
.has-nuit-background-color mark.has-rose-color { color: var(--lo-rose) !important; }

/* ---------- En-tête (fond blanc) ---------- */
.lo-header { padding-block: 1.1rem; }
.lo-header__inner { gap: 0.75rem 2.5rem; }
.lo-brand { gap: 0.7rem; }
.lo-brand .wp-block-site-logo img { width: 40px; height: auto; }
.lo-brand__name {
	margin: 0;
	font-family: var(--lo-serif);
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1;
}
.lo-nav { font-weight: 600; font-size: 1rem; }
.lo-nav .wp-block-navigation__container { gap: 2rem; }
.lo-nav .wp-block-navigation-item__content { padding-block: 0.4rem; }
.lo-nav [aria-current="page"] { font-weight: 700; }

/* Sous-menu Blog */
.lo-nav .wp-block-navigation__submenu-container {
	min-width: 15rem !important;
	padding: 0.6rem !important;
	border: 0 !important;
	border-radius: 14px;
	background: var(--lo-blanc) !important;
	box-shadow: 0 12px 32px rgb(29 47 111 / 0.14);
}
.lo-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.6rem 0.9rem !important; border-radius: 10px; }
.lo-nav .wp-block-navigation-submenu__toggle { color: inherit; }

@media (max-width: 781px) {
	.lo-header { padding-block: 0.85rem; }
	.lo-nav .wp-block-navigation__container { gap: 1.25rem; }
	.lo-brand__name { font-size: 1.3rem; }
	.lo-brand .wp-block-site-logo img { width: 34px; }
}
.lo-header__inner { flex-wrap: nowrap !important; }

/* Menu mobile (bouton trois traits, menu plein écran) */
.lo-nav .wp-block-navigation__responsive-container-open,
.lo-nav .wp-block-navigation__responsive-container-close { color: var(--lo-nuit); }
.lo-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
.lo-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--lo-blanc) !important;
	color: var(--lo-nuit) !important;
	padding: 1.25rem clamp(1rem, 4vw, 2.5rem) 2rem;
}
.lo-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem !important; align-items: flex-start !important; }
.lo-nav .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start !important; gap: 1.25rem !important; }
.lo-nav .is-menu-open .wp-block-navigation-item { font-family: var(--lo-serif); font-size: 1.75rem; font-weight: 700; align-items: flex-start !important; }
.lo-nav .is-menu-open .wp-block-navigation__submenu-container {
	box-shadow: none; padding: 0.5rem 0 0 1rem !important; background: none !important; gap: 0.5rem;
}
.lo-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { font-family: var(--wp--preset--font-family--sans); font-size: 1.15rem; font-weight: 600; }
.lo-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.25rem 0 !important; }
.lo-nav .is-menu-open .wp-block-navigation-submenu__toggle { display: none; }

/* ---------- Structure ---------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
.lo-main { padding-bottom: var(--wp--preset--spacing--60); }
.lo-composee { padding-bottom: 0; }
.lo-composee > .wp-block-post-content > * + * { margin-block-start: clamp(3rem, 6vw, 5rem); }
.lo-composee > .wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
.lo-composee > .wp-block-post-content > :last-child:not(.alignfull) { margin-bottom: var(--wp--preset--spacing--60); }
.lo-page { padding-top: var(--wp--preset--spacing--50); }

.lo-prose > * + * { margin-block-start: 1.5em !important; }
.lo-prose > h2 { margin-block-start: 2.6em !important; }
.lo-prose > h3 { margin-block-start: 2.1em !important; }
.lo-prose > :is(h2, h3) + * { margin-block-start: 0.9em !important; }

/* Catégorie d'un article (cartes) : texte simple, sans capitales. */
.lo-kicker { margin: 0; font-size: 0.9rem; font-weight: 600; color: var(--lo-rose-fonce); }

.lo-section-title { margin: 0 0 2rem; font-size: var(--wp--preset--font-size--xx-large); }

/* Motif des carrousels : 5 points, le cœur avance d'une section à l'autre. */
.lo-orn { display: flex; align-items: center; gap: 8px; height: 14px; margin: 0 0 1.1rem; }
.lo-orn--center { justify-content: center; }
.lo-orn i { display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--lo-lavande); }
.lo-orn i.is-heart { width: 14px; height: 13px; border-radius: 0; background: none; }
.lo-orn i.is-heart svg { display: block; width: 14px; height: 13px; fill: var(--lo-rose); }
.has-lavande-background-color .lo-orn i:not(.is-heart) { background: var(--lo-pale); }
.lo-orn + :is(h1, h2) { margin-top: 0 !important; }

/* Apparitions douces (classes posées par reveal.js, uniquement sous la ligne de flottaison). */
.lo-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.7s ease, transform 0.7s ease; }
.lo-reveal.is-visible { opacity: 1; transform: none; }
.lo-cards > .lo-reveal:nth-child(2) { transition-delay: 0.12s; }
.lo-cards > .lo-reveal:nth-child(3) { transition-delay: 0.24s; }
.lo-series__cols > .lo-reveal:nth-child(2) { transition-delay: 0.12s; }
@media (prefers-reduced-motion: reduce) {
	.lo-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Carte « Bientôt sur le blog » (affichée tant qu'il n'y a pas d'article). */
.lo-teaser { max-width: 560px; padding: 1.75rem 2rem; border-radius: var(--lo-radius); }
.lo-teaser > * { margin: 0 !important; }
.lo-teaser > * + * { margin-top: 0.6rem !important; }
.lo-teaser__label { font-size: 0.9rem; font-weight: 700; color: var(--lo-lavande); }
.lo-teaser__title { font-family: var(--lo-serif); font-weight: 700; font-size: 1.6rem; line-height: 1.25; }
.lo-teaser__meta { font-size: 0.9rem; opacity: 0.85; }

.lo-chapo {
	font-family: var(--lo-serif);
	font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
	line-height: 1.5;
	font-weight: 500;
}

.lo-breadcrumbs { margin-bottom: 2.25rem !important; font-size: 0.875rem; opacity: 0.9; }

/* En-têtes de page (pages, blog, séries, articles) */
.lo-page-head { padding-block: var(--wp--preset--spacing--50); }
.lo-page-head > * { margin-block: 0; }
.lo-page-head h1 { font-size: var(--wp--preset--font-size--xx-large); margin-block: 0 1.25rem !important; }
.lo-page-head .lo-chapo { margin-top: 1.25rem; }
.lo-page-head + * { margin-top: var(--wp--preset--spacing--50) !important; }

/* Articles des Fondamentaux : tout l'univers passe au rose (en-tête rose foncé, encadrés rose pâle). */
.lo-cat-les-fondamentaux .lo-article-head { background-color: var(--lo-rose-fonce) !important; }
.lo-cat-les-fondamentaux .lo-resume { background: var(--lo-pale); }
.lo-cat-les-fondamentaux .lo-preuve { background: var(--lo-rose-fonce); }
.lo-cat-les-fondamentaux .lo-definition { background: var(--lo-pale); }
.lo-cat-les-fondamentaux .lo-crosslink { background: var(--lo-pale); }
.lo-cat-les-fondamentaux .lo-article .lo-prose > p:first-child::first-letter,
.lo-cat-les-fondamentaux .lo-article .lo-prose > .lo-toc + p::first-letter,
.lo-cat-les-fondamentaux .lo-article .lo-prose > .lo-resume + p::first-letter { color: var(--lo-rose-fonce); }
.lo-cat-les-fondamentaux .lo-author { background: var(--lo-pale); color: var(--lo-nuit); }
.lo-cat-les-fondamentaux .lo-author a:not(.wp-block-button__link) { color: var(--lo-nuit); }
.lo-cat-les-fondamentaux .lo-author .wp-block-button__link { background: var(--lo-rose-fonce); color: var(--lo-blanc); }
.lo-cat-les-fondamentaux .lo-author .is-style-outline > .wp-block-button__link { background: transparent; color: var(--lo-rose-fonce); border-color: var(--lo-rose-fonce); }

/* ---------- Ouverture (accueil / à propos) ---------- */
.lo-hero { padding-block: var(--wp--preset--spacing--50) 0; overflow: hidden; }
.lo-hero__cols { gap: var(--wp--preset--spacing--50); align-items: flex-end !important; }
.lo-hero__text { padding-bottom: var(--wp--preset--spacing--50); align-self: center !important; }
.lo-hero__title { font-size: var(--wp--preset--font-size--huge); line-height: 1.14; margin: 0 0 2.25rem !important; }
.lo-hero__lead { font-size: clamp(1.1rem, 1rem + 0.35vw, 1.25rem); line-height: 1.8; max-width: 34em; margin: 0 !important; }
.lo-hero .wp-block-buttons { margin-top: 3rem !important; gap: 1rem; }
.lo-hero__media { align-self: flex-end !important; }
.lo-portrait { margin: 0 auto; max-width: 440px; }
.lo-portrait img { display: block; width: 100%; }

.lo-hero__note { margin-top: 1.5rem !important; font-size: 0.85rem; opacity: 0.85; }

/* Mobile, option A : petite photo ronde au-dessus du titre, comme une signature d'auteur. */
@media (max-width: 781px) {
	.lo-hero { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); }
	.lo-hero__cols { display: flex !important; flex-direction: column; align-items: flex-start !important; gap: 0 !important; }
	.lo-hero__text { display: contents; }
	.lo-hero__media { order: -1; flex: none !important; width: 104px; margin: 0 0 1.5rem !important; }
	.lo-hero__media .lo-portrait {
		max-width: none; width: 104px; height: 104px; margin: 0;
		border-radius: 50%; overflow: hidden; background: var(--lo-lavande);
	}
	.lo-hero__media .lo-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; }
	.lo-hero__lead { font-size: 1.05rem; }
	.lo-hero .wp-block-buttons { margin-top: 2rem !important; }
}

/* ---------- Séries : Alchimies en bleu nuit, Fondamentaux en rose ---------- */
.lo-series__cols { gap: 1.5rem; }
.lo-serie {
	position: relative;
	color: var(--lo-pale);
	border-radius: var(--lo-radius);
	padding: clamp(2rem, 4vw, 3rem);
}
.lo-serie--alchimies { background: var(--lo-nuit); }
.lo-serie--fondamentaux { background: var(--lo-rose-fonce); }
.lo-serie :is(h3, a) { color: var(--lo-pale); }
.lo-serie__title { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--x-large); }
.lo-serie__title a::after { content: ""; position: absolute; inset: 0; } /* toute la carte est cliquable */
.lo-serie > p { margin-bottom: 1.25rem; }
.lo-serie__more { margin-bottom: 0 !important; font-weight: 700; }

/* ---------- Cartes d'articles ---------- */
.lo-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr));
	gap: 3rem 2rem;
	padding: 0;
	list-style: none;
}
.lo-card { position: relative; height: 100%; display: flex; flex-direction: column; margin: 0; }
.lo-card__media { margin: 0; }
.lo-card__media img, .lo-card__img { display: block; width: 100%; aspect-ratio: 1200 / 627; object-fit: cover; border-radius: 14px; }
.lo-card__body { padding-top: 1.1rem; display: flex; flex-direction: column; flex: 1; gap: 0.6rem; }
.lo-card__body > * { margin: 0; }
.lo-card .lo-kicker { position: relative; z-index: 1; }
.lo-card__title { font-size: 1.4rem; line-height: 1.25; }
.lo-card__title a::after { content: ""; position: absolute; inset: 0; } /* toute la carte est cliquable */
.lo-card__excerpt { font-size: 0.975rem; line-height: 1.6; }
.lo-card__excerpt .wp-block-post-excerpt__excerpt { margin: 0; }
.lo-card__meta { margin-top: auto !important; font-size: 0.875rem; padding-top: 0.25rem; opacity: 0.85; }

.lo-empty { font-weight: 500; }
.lo-latest__more { justify-content: center; margin-top: 3rem; }
.lo-pagination { margin-top: 3rem; gap: 1rem; font-weight: 700; }
.lo-pagination .current { color: var(--lo-rose-fonce); }

/* ---------- Article ---------- */
.lo-article-head .lo-article__title { font-size: var(--wp--preset--font-size--xx-large); }
.lo-post-meta { margin: 0; font-size: 0.9rem; opacity: 0.95; }
.lo-post-meta a { font-weight: 700; }
.lo-article-head .lo-chapo { margin-bottom: 1.75rem; }
/* En-tête d'article : texte à gauche, image à la une carrée à droite (centre de l'image, recadrée).
   Mobile : petit rond au-dessus du titre, comme le portrait de l'accueil. */
.lo-article-head .lo-article-head__cols { display: flex; align-items: center; gap: 3rem; max-width: 980px; }
.lo-article-head__text { flex: 1; min-width: 0; }
.lo-article-head__text > * { margin-block: 0; }
.lo-article__image { flex: 0 0 280px; width: 280px; margin: 0 !important; }
.lo-article__image img { border-radius: var(--lo-radius); }
@media (max-width: 1023px) {
	.lo-article__image { flex-basis: 200px; width: 200px; }
}
@media (max-width: 781px) {
	.lo-article-head .lo-article-head__cols { flex-direction: column; align-items: flex-start; gap: 0; }
	.lo-article__image { order: -1; flex: none; width: 104px; height: 104px; margin: 0 0 1.5rem !important; border-radius: 50%; overflow: hidden; background: var(--lo-lavande); }
	.lo-article__image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; border-radius: 50%; }
}

.lo-toc { margin-block: 0 var(--wp--preset--spacing--40); padding: 0 0 0 0.25rem; font-size: 0.975rem; }
.lo-toc__title { margin: 0 0 0.6rem; font-weight: 700; }
.lo-toc ol { margin: 0; padding-left: 1.4em; }
.lo-toc li { margin-block: 0.45rem; }
.lo-toc li::marker { font-weight: 700; color: var(--lo-rose-fonce); }
.lo-toc a { text-decoration: none; }
.lo-prose .lo-toc { margin-block: 2.25rem 3rem !important; }

/* Encadré « En bref » (résumé) */
.lo-resume {
	padding: 1.75rem 2rem;
	background: var(--lo-lavande);
	border-radius: var(--lo-radius);
}
.lo-resume > * { margin-block: 0 !important; }
.lo-resume__title { font-family: var(--lo-serif); font-weight: 700; font-size: 1.35rem; margin-bottom: 0.75rem !important; }
.lo-resume ul { padding-left: 1.2em; }
.lo-resume li { margin-block: 0.5rem; }
.lo-resume li::marker { color: var(--lo-nuit); }

/* Définitions : dans la marge sur grand écran, encadré discret sous le paragraphe ailleurs. */
.lo-definition {
	padding: 1rem 1.25rem;
	background: var(--lo-pale);
	border-radius: 12px;
	font-size: 0.925rem;
	line-height: 1.55;
}
.lo-definition > * { margin: 0 !important; }
.lo-definition__term { font-weight: 700; margin-bottom: 0.3rem !important; }
@media (min-width: 1280px) {
	.lo-prose > .lo-definition {
		float: right;
		clear: right;
		width: 230px;
		margin: 0.25rem calc(-230px - 3rem) 1rem 0 !important;
		padding: 0;
		background: none;
		border-radius: 0;
	}
}

.lo-prose h2 { scroll-margin-top: 1.5rem; }
.lo-article .lo-prose > p:first-child::first-letter,
.lo-article .lo-prose > .lo-toc + p::first-letter,
.lo-article .lo-prose > .lo-resume + p::first-letter {
	float: left;
	font-family: var(--lo-serif);
	font-weight: 700;
	font-size: 4.1em;
	line-height: 0.8;
	margin: 0.08em 0.1em 0 0;
}
.lo-prose figure img { border-radius: 14px; }

/* Texte justifié, avec césure (site en fr-FR) pour éviter les grands blancs entre les mots. */
.lo-prose p, .lo-prose li, .lo-chapo, .lo-author__bio,
.editor-styles-wrapper .is-root-container > p, .editor-styles-wrapper .is-root-container > .wp-block-list li { text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
.lo-prose .lo-definition p, .lo-prose figcaption { text-align: left; -webkit-hyphens: manual; hyphens: manual; }

/* Photos sur le côté (image alignée à gauche ou à droite) : dans la marge blanche sur grand écran,
   le texte garde toute sa largeur. Écrans plus étroits : petit rond comme le portrait de l'accueil mobile,
   le texte l'entoure. */
.lo-prose > .wp-block-image:is(.alignleft, .alignright) img { width: 100%; height: auto; }
.lo-prose > .wp-block-image:is(.alignleft, .alignright) figcaption { display: block; font-size: 0.875rem; line-height: 1.45; margin-top: 0.5rem; }
@media (max-width: 1279px) {
	.lo-prose > .wp-block-image:is(.alignleft, .alignright) {
		display: block; width: 96px; max-width: 96px; height: 96px;
		margin-block: 0.35rem 0.5rem !important;
		border-radius: 50%; overflow: hidden; background: var(--lo-lavande);
		shape-outside: circle(50%);
	}
	.lo-prose > .wp-block-image.alignright { float: right; margin-inline: 1.25rem 0 !important; }
	.lo-prose > .wp-block-image.alignleft { float: left; margin-inline: 0 1.25rem !important; }
	.lo-prose > .wp-block-image:is(.alignleft, .alignright) img { height: 100%; object-fit: cover; object-position: 50% 12%; border-radius: 50%; }
	.lo-prose > .wp-block-image:is(.alignleft, .alignright) figcaption { display: none; }
	.lo-prose > .lo-definition { padding: 0.75rem 1rem; font-size: 0.85rem; }
}
@media (min-width: 1280px) {
	.lo-prose { --lo-marge: min(280px, calc((100vw - 680px) / 2 - 5rem)); }
	.lo-prose > .wp-block-image:is(.alignleft, .alignright) { width: var(--lo-marge); max-width: none; margin-block: 0.35rem 1rem !important; }
	.lo-prose > .wp-block-image.alignright { float: right; clear: right; margin-inline: 0 calc(-1 * var(--lo-marge) - 3rem) !important; }
	.lo-prose > .wp-block-image.alignleft { float: left; clear: left; margin-inline: calc(-1 * var(--lo-marge) - 3rem) 0 !important; }
}

.lo-prose figcaption { text-align: left; opacity: 0.85; }
.lo-prose blockquote { border: 0; }

/* Crédits photos : bloc dépliable discret en fin d'article. */
.lo-prose > .lo-credits { clear: both; margin-block-start: 3rem !important; font-size: 0.875rem; line-height: 1.55; }
.lo-credits summary { cursor: pointer; font-weight: 700; }
.lo-credits > * + * { margin-block-start: 0.75rem; }
.lo-credits ul { padding-left: 1.2em; }
.lo-credits li { margin-block: 0.4rem; }
.lo-prose .lo-credits :is(p, li) { text-align: left; -webkit-hyphens: manual; hyphens: manual; }

/* Encadré « La preuve » */
.lo-preuve {
	margin-block: 3rem !important;
	padding: 1.75rem 2rem;
	background: var(--lo-nuit);
	color: var(--lo-pale);
	border-radius: var(--lo-radius);
}
.lo-preuve a { color: var(--lo-pale); }
.lo-preuve > * { margin-block: 0.6rem; }
.lo-preuve__label { margin-top: 0 !important; font-weight: 700; font-size: 1.05rem; }
.lo-preuve__source { font-size: 0.9rem; opacity: 0.9; }

/* Auteur + LinkedIn en fin d'article */
.lo-author {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 1.5rem;
	margin-top: var(--wp--preset--spacing--50) !important;
	padding: 2rem;
	background: var(--lo-nuit);
	color: var(--lo-pale);
	border-radius: var(--lo-radius);
}
.lo-author__photo { margin: 0; }
.lo-author__photo, .lo-author__photo img { width: 88px !important; height: 88px !important; }
.lo-author__photo { border-radius: 50%; overflow: hidden; background: var(--lo-lavande); }
.lo-author__photo img { border-radius: 50%; object-fit: cover; object-position: 50% 12%; }
.lo-author__body > * { margin-block: 0 1rem; }
.lo-author__label { font-family: var(--lo-serif); font-size: 1.4rem; font-weight: 700; }
.lo-author__bio { font-size: 0.975rem; }
.lo-author .wp-block-buttons { gap: 0.75rem; }
.lo-author .wp-block-button__link { background: var(--lo-pale); color: var(--lo-nuit); }
.lo-author .is-style-outline > .wp-block-button__link { background: transparent; color: var(--lo-pale); border-color: var(--lo-pale); }
@media (max-width: 480px) {
	.lo-author { grid-template-columns: 56px 1fr; gap: 1rem; padding: 1.5rem; }
	.lo-author__photo, .lo-author__photo img { width: 56px !important; height: 56px !important; }
}

.lo-related { margin-top: var(--wp--preset--spacing--60) !important; }
.lo-related__title { font-size: var(--wp--preset--font-size--xx-large); margin: 0 0 2rem; }

/* ---------- Bandeaux ---------- */
.lo-chimie, .lo-band { padding-block: clamp(3rem, 6vw, 5rem); }
.lo-intro-moi { padding-block: clamp(3rem, 6vw, 5rem); }
.lo-intro-moi__text {
	font-family: var(--lo-serif);
	font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.65rem);
	line-height: 1.55;
	font-weight: 500;
}
.lo-intro-moi .wp-block-buttons { margin-top: 2rem; }
@media (max-width: 781px) {
	.lo-intro-moi { text-align: center; }
	.lo-intro-moi .wp-block-buttons { justify-content: center; }
}
.lo-band h2 { margin-top: 0; }
.lo-band__title { font-size: var(--wp--preset--font-size--xx-large); margin-bottom: 1.25rem; }
.lo-band .wp-block-buttons { margin-top: 2rem; gap: 0.9rem; }

.lo-chimie__quote { margin-block: 2.5rem; padding: 0; border: 0; text-align: left; }
.lo-chimie__quote blockquote p { font-size: inherit; color: var(--lo-rose); font-weight: 700; }

/* ---------- À propos ---------- */
.lo-parcours .lo-step { margin: 0 0 2.5rem; }
.lo-parcours .lo-step > * { margin-block: 0 0.4rem; }
.lo-step__when { font-size: 0.9rem; font-weight: 700; color: var(--lo-rose-fonce); }
.lo-step__title { font-size: var(--wp--preset--font-size--large); }

.lo-metier__cols { gap: 1.5rem; }
.lo-metier__item { background: var(--lo-lavande); border-radius: var(--lo-radius); padding: 1.75rem; }
.lo-metier__item h3 { margin-top: 0; }
.lo-metier__item p:last-child { margin-bottom: 0; }

/* ---------- Séries : renvoi croisé ---------- */
.lo-crosslink {
	margin-top: var(--wp--preset--spacing--60) !important;
	padding: 2.5rem 2rem;
	background: var(--lo-lavande);
	border-radius: var(--lo-radius);
	text-align: center;
}
.lo-crosslink > * { margin: 0; }
.lo-crosslink__label { font-weight: 600; margin-bottom: 0.5rem !important; }
.lo-crosslink__link { font-family: var(--lo-serif); font-weight: 700; font-size: var(--wp--preset--font-size--x-large); }

/* ---------- Pied de page ---------- */
.lo-footer { padding-block: var(--wp--preset--spacing--50) 2rem; font-size: 0.95rem; }
.lo-footer a { color: var(--lo-pale); }
.lo-footer__cols { gap: 2.5rem; }
.lo-footer__name { margin: 0 0 0.75rem; font-family: var(--lo-serif); font-size: 1.75rem; font-weight: 700; }
.lo-footer__tagline { max-width: 26em; font-family: var(--lo-serif); font-size: 1.2rem; line-height: 1.5; }
.lo-footer__label { margin: 0 0 0.75rem; font-weight: 700; }
.lo-footer__links {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 0.75rem 2.5rem;
}
.lo-footer__list { list-style: none; margin: 0; padding: 0; }
.lo-footer__list li { margin-block: 0.5rem; }
.lo-footer__legal { margin-top: 2.5rem; font-size: 0.85rem; opacity: 0.85; }

/* ---------- Divers ---------- */
.wp-block-search__input { border: 2px solid var(--lo-nuit); border-radius: 999px; padding: 0.75em 1.1em; background: var(--lo-blanc); }
.wp-block-search__button { border-radius: 999px; }
.lo-email { font-size: 1.15rem; font-weight: 700; }
.lo-email a { text-decoration: underline; text-decoration-color: var(--lo-rose); text-underline-offset: 0.22em; }

/* ---------- Bandeau de consentement (Complianz) aux couleurs du site ---------- */
.cmplz-cookiebanner {
	--cmplz_banner_background_color: #fff;
	--cmplz_banner_border_color: var(--lo-lavande);
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: 18px;
	--cmplz_text_color: var(--lo-nuit);
	--cmplz_hyperlink_color: var(--lo-nuit);
	--cmplz_text_font_size: 14px;
	--cmplz_title_font_size: 18px;
	/* « Tout accepter » et « Tout refuser » ont le même poids visuel (exigence CNIL). */
	--cmplz_button_accept_background_color: var(--lo-nuit);
	--cmplz_button_accept_border_color: var(--lo-nuit);
	--cmplz_button_accept_text_color: var(--lo-pale);
	--cmplz_button_deny_background_color: var(--lo-nuit);
	--cmplz_button_deny_border_color: var(--lo-nuit);
	--cmplz_button_deny_text_color: var(--lo-pale);
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: var(--lo-nuit);
	--cmplz_button_settings_text_color: var(--lo-nuit);
	--cmplz_button_border_radius: 999px;
	--cmplz_button_font_size: 14px;
	--cmplz_slider_active_color: var(--lo-nuit);
	--cmplz_category_header_always_active_color: var(--lo-rose-fonce);
	font-family: var(--wp--preset--font-family--sans) !important;
	box-shadow: 0 12px 40px rgb(29 47 111 / 0.18) !important;
}
.cmplz-cookiebanner .cmplz-title { font-family: var(--lo-serif) !important; font-weight: 700 !important; }
.cmplz-cookiebanner .cmplz-btn { font-weight: 700 !important; }
/* L'onglet flottant est remplacé par le lien « Gérer mes cookies » du pied de page. */
#cmplz-manage-consent .cmplz-manage-consent { display: none !important; }
.lo-cookies { cursor: pointer; }
/* Mobile : bandeau plus compact, « Tout accepter » et « Tout refuser » côte à côte. */
@media (max-width: 600px) {
	.cmplz-cookiebanner .cmplz-buttons { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; }
	.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { flex: 1 1 calc(50% - 4px) !important; width: auto !important; margin: 0 !important; min-width: 0 !important; }
	.cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences,
	.cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences { flex-basis: 100%; }
}

/* ---------- Contact : deux encarts, moins de vide ---------- */
.lo-main--court { padding-bottom: var(--wp--preset--spacing--50); }
.lo-contact { padding-top: 0; }
.lo-contact > .lo-chapo { margin-bottom: 0; }
.lo-contact__cols { gap: 1.5rem; margin-top: 2.5rem !important; }
.lo-contact__item { background: var(--lo-lavande); border-radius: var(--lo-radius); padding: 1.5rem; display: flex; flex-direction: column; }
.lo-contact__item > * { margin-block: 0 !important; }
.lo-contact__item > * + * { margin-top: 0.75rem !important; }
.lo-contact__item h2 { font-size: var(--wp--preset--font-size--large); }
.lo-contact__item > :last-child { margin-top: auto !important; padding-top: 1rem; }
.lo-contact .lo-email { display: flex; }
.lo-contact .lo-email a {
	display: inline-block; border: 2px solid var(--lo-nuit); border-radius: 999px;
	padding: calc(0.9em - 2px) calc(1.1em - 2px);
	font-weight: 700; font-size: 1rem; line-height: 1.3; color: var(--lo-nuit); text-decoration: none; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
}
