/*
Theme Name: Aïon
Theme URI: https://aion.philosophiai.com/
Description: Thème enfant d'Astra pour « Aïon — la sagesse face à une intelligence supérieure ». Une histoire lue comme une journée (le ciel passe de la nuit à midi), 36 pensées reliées entre elles, un questionnaire, un système de design complet : palette du ciel, styles de blocs, série d'icônes, compositions, modèles de page, Styleguide et mode d'emploi.
Author: philosophIAI
Template: astra
Version: 1.0.0
Requires at least: 6.8
Requires PHP: 7.4
Text Domain: aion
License: GNU General Public License v2 or later
*/

/* ==========================================================================
   Aïon — système de design (site et éditeur)
   Les couleurs, tailles, espacements et ombres viennent de theme.json (variables --wp--preset--…).
   Ici : les styles de blocs (onglet « Styles » de l'éditeur) et les blocs du thème.
   ========================================================================== */

:root {
	--aion-bg: var(--wp--preset--color--ciel-midi);
	--aion-ink: var(--wp--preset--color--encre);
	--aion-titres: var(--wp--preset--font-family--titres);
	--aion-mono: var(--wp--preset--font-family--mono);
	--aion-ligne: color-mix(in srgb, currentColor 22%, transparent);
	--aion-doux: color-mix(in srgb, currentColor 68%, transparent);
	--aion-rayon: var(--wp--custom--rayon--carte, 22px);
}

[data-theme="site"] { --aion-point: var(--wp--preset--color--theme-site); }
[data-theme="web"] { --aion-point: var(--wp--preset--color--theme-web); }
[data-theme="ia"] { --aion-point: var(--wp--preset--color--theme-ia); }
[data-theme="sens"] { --aion-point: var(--wp--preset--color--theme-sens); }

code, kbd {
	font-family: var(--aion-mono);
	font-size: .82em;
	padding: .05em .3em;
	border: 1px solid var(--aion-ligne);
	border-radius: 4px;
	background: none;
}

/* ---------------------------------------------------------------- Paragraphes */

.is-style-heure,
.is-style-surtitre {
	font-family: var(--aion-mono);
	font-size: var(--wp--preset--font-size--etiquette);
	letter-spacing: .05em;
	line-height: 1.5;
	color: var(--aion-doux);
	font-variant-numeric: tabular-nums;
}
.is-style-heure::before {
	content: "";
	display: inline-block;
	width: 1.8em;
	height: 1px;
	margin-right: .8em;
	vertical-align: .3em;
	background: currentColor;
}
.is-style-chapo {
	font-size: var(--wp--preset--font-size--chapo);
	line-height: 1.45;
}
.is-style-voix {
	font-family: var(--aion-titres);
	font-size: var(--wp--preset--font-size--voix);
	font-style: italic;
	line-height: 1.18;
	padding-block: .35em;
}
.is-style-grande-voix {
	font-family: var(--aion-titres);
	font-size: clamp(3rem, 8vw, 6.5rem);
	font-style: italic;
	font-weight: 300;
	line-height: 1;
	padding-block: .2em;
}
.is-style-replique {
	position: relative;
	padding-left: 1.4rem;
	font-family: var(--aion-titres);
	font-size: var(--wp--preset--font-size--replique);
	font-style: italic;
	line-height: 1.32;
}
.is-style-replique::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--soleil);
}
.is-style-aparte {
	color: var(--aion-doux);
	font-style: italic;
}
.is-style-essai {
	padding: 1rem 1.2rem;
	border-radius: 12px;
	background: var(--wp--preset--color--lumiere);
	color: var(--wp--preset--color--encre);
}
.is-style-essai::before {
	content: "À essayer";
	display: block;
	margin-bottom: .3rem;
	font-family: var(--aion-mono);
	font-size: var(--wp--preset--font-size--etiquette);
	font-weight: 500;
	letter-spacing: .05em;
	color: #6B4E10;
}

/* ---------------------------------------------------------------- Titres */

.is-style-ouverture {
	max-width: 19ch;
	font-size: clamp(2.3rem, min(6.2vw, 10.5vh), 6.6rem);
	font-style: normal;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -.015em;
}
.is-style-ouverture em {
	display: block;
	margin-top: .25em;
}
.is-style-chapitre {
	max-width: 18ch;
	font-size: var(--wp--preset--font-size--titre);
	font-style: italic;
	line-height: 1.04;
}
.is-style-monumental {
	font-size: var(--wp--preset--font-size--monumental);
	font-style: italic;
	font-weight: 300;
	line-height: .95;
}

/* ---------------------------------------------------------------- Listes */

:is(ul, ol):is(.is-style-escalier, .is-style-promesses, .is-style-questions, .is-style-filets, .is-style-roles, .is-style-liens, .is-style-soleils) {
	list-style: none;
	padding-left: 0;
}
.is-style-escalier { display: grid; gap: .9rem; }
.is-style-escalier li {
	font-family: var(--aion-titres);
	font-size: clamp(1.35rem, 2.6vw, 2rem);
	font-style: italic;
	line-height: 1.3;
}
.is-style-escalier li:nth-child(2) { margin-left: 8%; }
.is-style-escalier li:nth-child(3) { margin-left: 16%; }
.is-style-escalier li:nth-child(4) { margin-left: 24%; }
.is-style-escalier li:nth-child(n+5) { margin-left: 32%; }
.is-style-escalier li:last-child { font-weight: 500; }

.is-style-promesses li {
	padding: .15rem 0;
	color: var(--aion-doux);
	font-style: italic;
}

.is-style-questions { display: grid; gap: 1.1rem; counter-reset: q; }
.is-style-questions li {
	counter-increment: q;
	font-family: var(--aion-titres);
	font-size: clamp(1.3rem, 2.3vw, 1.75rem);
	line-height: 1.3;
}
.is-style-questions li::before {
	content: counter(q, decimal-leading-zero);
	display: inline-block;
	min-width: 2.4rem;
	font-family: var(--aion-mono);
	font-size: .72rem;
	letter-spacing: .05em;
	color: var(--aion-doux);
	vertical-align: .35em;
}
.is-style-questions li:nth-child(even) { padding-left: 2.5rem; }

.is-style-filets li {
	padding: 1.1rem 0;
	border-top: 1px solid var(--aion-ligne);
}
.is-style-filets li:last-child { border-bottom: 1px solid var(--aion-ligne); }

.is-style-roles li {
	position: relative;
	padding: .7rem 0 .7rem 12rem;
	border-top: 1px solid var(--aion-ligne);
}
.is-style-roles li strong {
	position: absolute;
	left: 0;
	top: .55rem;
	width: 11rem;
	font-family: var(--aion-titres);
	font-size: 1.3rem;
	font-style: italic;
	font-weight: 500;
	line-height: 1.3;
}

.is-style-soleils li {
	position: relative;
	padding-left: 1.3rem;
}
.is-style-soleils li + li { margin-top: .4rem; }
.is-style-soleils li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .6em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--soleil);
}

.is-style-liens li { border-bottom: 1px solid var(--aion-ligne); }
.is-style-liens li a {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: .55rem 0;
	text-decoration: none;
}
.is-style-liens li a::after { content: "→"; opacity: .5; transition: transform .25s ease, opacity .25s ease; }
.is-style-liens li a:hover::after { opacity: 1; transform: translateX(3px); }
ol.is-style-liens { counter-reset: l; }
ol.is-style-liens li { counter-increment: l; display: flex; gap: .8rem; align-items: baseline; }
ol.is-style-liens li::before { content: counter(l, decimal-leading-zero); font-family: var(--aion-mono); font-size: .72rem; opacity: .6; }
ol.is-style-liens li a { flex: 1; }

/* ---------------------------------------------------------------- Groupes */

.is-style-scene {
	padding-left: 1.2rem;
	border-left: 1px solid var(--aion-ligne);
}
.is-style-scene > p:not([class*="font-size"]) {
	font-family: var(--aion-titres);
	font-size: clamp(1.35rem, 2.4vw, 1.8rem);
	line-height: 1.4;
}
.is-style-scene .is-style-aparte { letter-spacing: .3em; }

.is-style-jumeaux > p {
	padding-left: 1rem;
	border-left: 1px solid var(--aion-ligne);
	font-family: var(--aion-titres);
	font-size: clamp(1.3rem, 2.3vw, 1.7rem);
	line-height: 1.3;
}

.is-style-dialogue > .is-style-aparte { padding-block: .2rem; }

.is-style-carte { transition: transform .25s ease, box-shadow .25s ease; }
.is-style-carte:has(a:hover) { transform: translateY(-3px); }
.is-style-carte .wp-block-post-title a,
.is-style-carte h3 a { text-decoration: none; }
.is-style-carte .wp-block-post-title a:hover { text-decoration: underline; }

.is-style-verre {
	background: color-mix(in srgb, #fff 42%, transparent);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1px solid var(--aion-ligne);
	border-radius: var(--aion-rayon);
}
.is-style-encadre {
	padding: 1.2rem 1.4rem;
	border-radius: 14px;
	background: var(--wp--preset--color--lumiere);
	color: var(--wp--preset--color--encre);
}

/* ---------------------------------------------------------------- Détails : question */

.wp-block-details.is-style-question summary {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	cursor: pointer;
	list-style: none;
}
.wp-block-details.is-style-question summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-question summary::after {
	content: "+";
	flex: none;
	font-family: var(--aion-mono);
	font-size: 1rem;
	opacity: .7;
}
.wp-block-details.is-style-question[open] summary::after { content: "–"; }
.wp-block-details.is-style-question > :not(summary) {
	font-family: var(--wp--preset--font-family--texte);
	font-size: var(--wp--preset--font-size--normal);
	margin-top: .8rem;
}

/* ---------------------------------------------------------------- Séparateurs */

.wp-block-separator.is-style-horizon {
	position: relative;
	width: 100%;
	max-width: none;
	height: 1px;
	border: 0;
	background: color-mix(in srgb, currentColor 30%, transparent);
	opacity: 1;
	overflow: visible;
	margin-block: 1.6rem;
}
.wp-block-separator.is-style-horizon::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 22px;
	height: 11px;
	border-radius: 22px 22px 0 0;
	background: var(--wp--preset--color--soleil);
	transform: translateX(-50%);
}
.wp-block-separator.is-style-etoiles {
	border: 0;
	background: none;
	height: auto;
	opacity: 1;
	text-align: center;
	line-height: 1;
}
.wp-block-separator.is-style-etoiles::before {
	content: "✦ ✦ ✦";
	letter-spacing: 1em;
	padding-left: 1em;
	font-size: .8rem;
	color: var(--wp--preset--color--braise);
}

/* ---------------------------------------------------------------- Boutons */

.wp-block-button__link,
.wp-element-button { text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.wp-block-button.is-style-fantome .wp-block-button__link,
.wp-element-button.is-style-fantome {
	background: transparent;
	color: inherit;
	border-color: color-mix(in srgb, currentColor 35%, transparent);
}
.wp-block-button.is-style-fantome .wp-block-button__link:hover,
.wp-element-button.is-style-fantome:hover { border-color: currentColor; background: transparent; color: inherit; }
.wp-block-button.is-style-soleil .wp-block-button__link {
	background: var(--wp--preset--color--soleil);
	border-color: var(--wp--preset--color--soleil);
	color: var(--wp--preset--color--encre);
}
.wp-block-button.is-style-soleil .wp-block-button__link:hover {
	background: transparent;
	color: inherit;
}

/* ---------------------------------------------------------------- Citation · voix d'Aïon */

.wp-block-quote.is-style-aion {
	position: relative;
	padding-left: 1.6rem;
	border: 0;
}
.wp-block-quote.is-style-aion::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	bottom: .2em;
	width: 3px;
	border-radius: 3px;
	background: linear-gradient(var(--wp--preset--color--soleil), var(--wp--preset--color--braise));
}
.wp-block-quote cite { display: block; margin-top: .8rem; opacity: .7; }

/* ---------------------------------------------------------------- Images */

.wp-block-image.is-style-hublot img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.wp-block-image.is-style-arrondie img { border-radius: var(--aion-rayon); }

/* ---------------------------------------------------------------- Pastille de thème */

.is-style-pastille,
.aion-etiquette {
	font-family: var(--aion-mono);
	font-size: var(--wp--preset--font-size--etiquette);
	letter-spacing: .04em;
	color: var(--aion-doux);
}
.is-style-pastille a,
.aion-etiquette {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	text-decoration: none;
	color: inherit;
}
.is-style-pastille a::before,
.aion-etiquette:not(:has(svg))::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--aion-point, var(--wp--preset--color--soleil));
}
.aion-etiquette svg { color: var(--aion-point, currentColor); }

/* ---------------------------------------------------------------- Bloc « Icône » */

.wp-block-aion-icone { line-height: 0; }
.wp-block-aion-icone svg {
	display: block;
	width: var(--aion-icone, 32px);
	height: var(--aion-icone, 32px);
	overflow: visible;
}

/* ---------------------------------------------------------------- Bloc « Boucle » */

.aion-boucle { margin: 0; }
.aion-boucle svg { display: block; width: min(100%, 600px); overflow: visible; }
.aion-boucle-anneau { fill: none; stroke: currentColor; stroke-opacity: .35; stroke-width: 1; stroke-dasharray: 3 7; }
.aion-boucle-point { fill: var(--wp--preset--color--braise); }
.aion-boucle text { fill: currentColor; font: italic 400 26px var(--aion-titres); }
.aion-boucle .aion-boucle-centre { font: 500 13px var(--aion-mono); letter-spacing: .05em; fill-opacity: .9; font-style: normal; }
.aion-boucle .aion-boucle-centre.is-sub { font-weight: 400; fill-opacity: .6; }

/* ---------------------------------------------------------------- Bloc « Zone de réponse » */

.aion-reponse label {
	display: block;
	margin-bottom: .5rem;
	font-family: var(--aion-mono);
	font-size: var(--wp--preset--font-size--etiquette);
	letter-spacing: .05em;
	color: var(--aion-doux);
}
.aion-reponse textarea {
	display: block;
	width: 100%;
	padding: .9rem 1rem;
	border: 1px solid var(--aion-ligne);
	border-radius: 14px;
	background: color-mix(in srgb, currentColor 6%, transparent);
	color: inherit;
	font-family: var(--wp--preset--font-family--texte);
	font-size: var(--wp--preset--font-size--normal);
	line-height: 1.5;
	resize: vertical;
}
.aion-reponse textarea:focus { outline: 2px solid var(--wp--preset--color--soleil); outline-offset: 2px; }
.aion-reponse-aide { margin: .5rem 0 0; font-size: var(--wp--preset--font-size--petit); color: var(--aion-doux); }

/* ---------------------------------------------------------------- Boucle de requête */

.wp-block-post-template { padding-left: 0; list-style: none; }
.wp-block-query .is-style-carte { height: 100%; }

/* ---------------------------------------------------------------- Petits écrans */

@media (max-width: 781px) {
	.is-style-roles li { padding-left: 0; }
	.is-style-roles li strong { position: static; display: block; width: auto; margin-bottom: .2rem; }
	.is-style-questions li:nth-child(even) { padding-left: 1rem; }
	.is-style-escalier li:nth-child(2) { margin-left: 4%; }
	.is-style-escalier li:nth-child(3) { margin-left: 8%; }
	.is-style-escalier li:nth-child(4) { margin-left: 12%; }
	.is-style-escalier li:nth-child(n+5) { margin-left: 16%; }
}

/* ==========================================================================
   Aïon — le site (front seulement)
   Le CSS d'Astra n'est pas chargé : base, en-tête, ciel, explorateur, gabarits.
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 80px; }
body {
	margin: 0;
	background: var(--aion-bg);
	color: var(--aion-ink);
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	transition: color .7s ease;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--wp--preset--color--soleil); outline-offset: 3px; border-radius: 2px; }
::selection { background: var(--wp--preset--color--soleil); color: var(--wp--preset--color--encre); }
h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote { margin-top: 0; margin-bottom: 0; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.skip-link.screen-reader-text:focus {
	clip: auto;
	width: auto; height: auto;
	left: 8px; top: 8px;
	z-index: 100000;
	padding: 8px 14px;
	background: var(--wp--preset--color--soleil);
	color: var(--wp--preset--color--encre);
	font: 500 .8rem var(--aion-mono);
}

/* Conteneurs d'Astra : neutres */
#page, .site-content, .ast-container { display: block; max-width: none; margin: 0; padding: 0; }

/* ---------------------------------------------------------------- Contenu en blocs */

.entry-content > * {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
}
.entry-content > .alignwide { max-width: var(--wp--style--global--wide-size); }
.entry-content > .alignfull { max-width: none; }
.entry-content > :not(.alignfull) { padding-inline: var(--wp--preset--spacing--gouttiere); box-sizing: content-box; }
.entry-content > * + * { margin-top: var(--wp--style--block-gap, 1.15rem); }
.entry-content > .alignfull { margin-top: 0; }
.entry-content > :first-child:not(.alignfull) { margin-top: 8rem; }
.entry-content > :last-child:not(.alignfull) { margin-bottom: 5rem; }
.wp-block-group.alignfull { margin-top: 0; margin-bottom: 0; }

/* ---------------------------------------------------------------- En-tête */

.aion-entete {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding: 14px var(--wp--preset--spacing--gouttiere);
	background: linear-gradient(var(--aion-bg) 70%, color-mix(in srgb, var(--aion-bg) 0%, transparent));
	color: var(--aion-ink);
	transition: color .7s ease;
}
.aion-marque {
	font: italic 500 1.65rem/1 var(--aion-titres);
	letter-spacing: .01em;
	text-decoration: none;
}
.aion-horloge {
	margin: 0 auto 0 0;
	font-family: var(--aion-mono);
	font-size: .74rem;
	letter-spacing: .04em;
	color: color-mix(in srgb, currentColor 65%, transparent);
}
.aion-horloge b { color: var(--aion-ink); font-weight: 500; font-variant-numeric: tabular-nums; }
.aion-menu ul { display: flex; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.aion-menu a {
	display: block;
	padding: 6px 0;
	font-family: var(--aion-mono);
	font-size: .74rem;
	letter-spacing: .04em;
	text-decoration: none;
	color: color-mix(in srgb, currentColor 70%, transparent);
}
.aion-menu a:hover, .aion-menu a[aria-current] { color: var(--aion-ink); }
.aion-menu a[aria-current] { box-shadow: inset 0 -1px currentColor; }
.aion-menu-bouton {
	display: none;
	padding: .5rem .9rem;
	border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
	border-radius: 999px;
	background: none;
	color: inherit;
	font: 500 .74rem var(--aion-mono);
	cursor: pointer;
}

@media (max-width: 860px) {
	.aion-horloge span { display: none; }
	.aion-menu-bouton { display: block; }
	.aion-menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		padding: .5rem var(--wp--preset--spacing--gouttiere) 1.2rem;
		background: var(--aion-bg);
		box-shadow: 0 20px 30px -24px rgba(20, 24, 49, .5);
	}
	.aion-entete.is-ouvert .aion-menu { display: block; }
	.aion-menu ul { flex-direction: column; gap: 0; }
	.aion-menu a { padding: .75rem 0; font-size: .85rem; border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); }
	.aion-menu a[aria-current] { box-shadow: none; text-decoration: underline; }
}

/* ---------------------------------------------------------------- Pied de page */

.aion-pied { margin: 0; }

/* ---------------------------------------------------------------- Le ciel
   Les sections au style « Ciel » prêtent leur couleur au fond de la page (aion.js).
   Pendant la lecture, le fond passe d'une couleur à l'autre ; le texte reste lisible. */

.aion-ciel-vivant .entry-content .is-style-ciel.has-background { background-color: transparent !important; }
.aion-ciel-vivant .entry-content .is-style-ciel.has-text-color { color: var(--aion-ink) !important; }
.aion-ciel-vivant .entry-content .is-style-ciel :is(.has-brume-color, .has-encre-color) { color: inherit !important; }
.aion-ciel-vivant .entry-content .is-style-ciel :is(.has-brume-douce-color, .has-encre-douce-color) { color: color-mix(in srgb, var(--aion-ink) 68%, transparent) !important; }

.aion-ciel { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.aion-etoiles { position: absolute; inset: 0; transition: opacity .4s linear; }
.aion-etoiles i { position: absolute; width: 2px; height: 2px; border-radius: 50%; background: #E9ECFF; }
.aion-soleil {
	--taille: clamp(140px, 26vmin, 300px);
	position: absolute;
	right: 9vw;
	top: 0;
	width: var(--taille);
	height: var(--taille);
	border-radius: 50%;
	background: radial-gradient(circle at 50% 45%, #FFF3D1 0 30%, var(--aion-soleil, #FFC45C) 70%);
	box-shadow: 0 0 120px 50px color-mix(in srgb, var(--aion-soleil, #FFC45C) 45%, transparent);
	transform: translateY(var(--aion-soleil-y, 120vh));
	will-change: transform;
}
@media (max-width: 860px) { .aion-soleil { right: -6vw; opacity: .85; } }

/* Ouverture : le titre et sa réponse arrivent l'un après l'autre */
.aion-js .entry-content > .is-style-ciel:first-child .is-style-ouverture { animation: aion-lever 1.6s .2s both cubic-bezier(.2, .7, .2, 1); }
.aion-js .entry-content > .is-style-ciel:first-child .is-style-ouverture em { animation: aion-lever 1.8s 1.9s both cubic-bezier(.2, .7, .2, 1); }
.aion-js .aion-indice { animation: aion-fondu 1.2s 3.4s both; }
@keyframes aion-lever { from { opacity: 0; transform: translateY(.35em); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes aion-fondu { from { opacity: 0; } to { opacity: 1; } }

/* Apparitions au défilement (panneau « Effets d'Aïon ») */
.aion-js .aion-apparition { opacity: 0; transform: translateY(14px); transition: opacity 1s ease, transform 1s cubic-bezier(.2, .7, .2, 1); }
.aion-js .aion-apparition.is-in { opacity: 1; transform: none; }
.aion-js .aion-delai-1 { transition-delay: .35s; }
.aion-js .aion-delai-2 { transition-delay: .7s; }
.aion-js .aion-delai-3 { transition-delay: 1.05s; }

/* ---------------------------------------------------------------- Explorateur de pensées */

.aion-explorateur { color: var(--wp--preset--color--encre); }
.aion-filtres { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.aion-chip {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .55rem .95rem;
	border: 1px solid #16192E26;
	border-radius: 999px;
	background: color-mix(in srgb, #fff 40%, transparent);
	color: inherit;
	font: 500 .78rem var(--aion-mono);
	cursor: pointer;
}
.aion-chip svg { color: var(--aion-point); }
.aion-chip:hover { border-color: currentColor; }
.aion-chip[aria-pressed="true"] { background: var(--wp--preset--color--encre); border-color: var(--wp--preset--color--encre); color: var(--wp--preset--color--ciel-midi); }
.aion-chip[aria-pressed="true"] svg { color: inherit; }

.aion-lecteur { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 1rem; align-items: stretch; }
.aion-pensee-carte {
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
	min-height: 30rem;
	padding: clamp(1.6rem, 4vw, 3.4rem);
	border-radius: var(--aion-rayon);
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
	box-shadow: var(--wp--preset--shadow--carte);
}
.aion-pensee-carte:focus { outline: none; }
.aion-pensee-haut { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.aion-pensee-carte :is(h1, h2) {
	max-width: 20ch;
	font: 400 clamp(2rem, 4.2vw, 3.4rem)/1.04 var(--aion-titres);
	letter-spacing: -.01em;
}
.aion-pensee-texte { display: grid; gap: 1rem; max-width: 36rem; font-size: 1.22rem; }
.aion-pensee-essai {
	margin-top: auto;
	max-width: 38rem;
	padding: 1rem 1.2rem;
	border-radius: 12px;
	background: var(--wp--preset--color--lumiere);
}
.aion-pensee-essai b { display: block; margin-bottom: .3rem; font: 500 .72rem var(--aion-mono); letter-spacing: .05em; color: #6B4E10; }
.aion-pensee-texte .is-style-essai { margin-top: .6rem; }
.aion-pensee-echo, .aion-pensee-lien { font-size: .98rem; color: var(--wp--preset--color--encre-douce); }
.aion-pensee-carte.is-swap { animation: aion-swap .55s cubic-bezier(.2, .7, .2, 1); }
@keyframes aion-swap { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.aion-garder {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .5rem .85rem;
	border: 1px solid #16192E26;
	border-radius: 999px;
	background: none;
	color: inherit;
	font: 500 .78rem var(--aion-mono);
	cursor: pointer;
}
.aion-garder:hover { border-color: currentColor; }
.aion-garder[aria-pressed="true"] { background: var(--wp--preset--color--soleil); border-color: var(--wp--preset--color--soleil); }

.aion-pistes { display: flex; flex-direction: column; gap: 1rem; }
.aion-piste {
	display: grid;
	gap: .6rem;
	padding: 1.3rem;
	border: 1px solid #16192E1f;
	border-radius: var(--aion-rayon);
	background: color-mix(in srgb, #fff 50%, transparent);
	color: var(--wp--preset--color--encre);
}
.aion-piste :is(h2, h3) { margin-bottom: .2rem; font: italic 400 1.75rem/1 var(--aion-titres); }
.aion-piste-aide { font-size: .92rem; color: var(--wp--preset--color--encre-douce); }
.aion-piste-bouton, .aion-piste-lien {
	display: grid;
	gap: .3rem;
	width: 100%;
	padding: .85rem 1rem;
	border: 1px solid transparent;
	border-radius: 14px;
	background: var(--wp--preset--color--papier);
	color: inherit;
	font: 400 1.18rem/1.2 var(--aion-titres);
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease;
}
.aion-piste-bouton:hover, .aion-piste-lien:hover { border-color: currentColor; transform: translateX(3px); }
.aion-piste-bouton .aion-etiquette, .aion-piste-lien .aion-etiquette { font-size: .68rem; }
.aion-piste-bouton.is-lue { opacity: .62; }
.aion-hasard { justify-content: center; display: inline-flex; align-items: center; gap: .5rem; color: var(--wp--preset--color--encre); }

.aion-chemin { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; min-height: 2rem; margin-top: 2rem; }
.aion-chemin-titre { margin-right: .5rem; font: 500 .74rem var(--aion-mono); color: var(--wp--preset--color--encre-douce); }
.aion-chemin button { width: 14px; height: 14px; padding: 0; border: 0; border-radius: 50%; background: var(--aion-point, var(--wp--preset--color--soleil)); opacity: .55; cursor: pointer; }
.aion-chemin button[aria-current="true"] { opacity: 1; outline: 2px solid var(--wp--preset--color--encre); outline-offset: 2px; }
.aion-chemin .sep { width: 10px; height: 1px; background: #16192E26; }
.aion-chemin-compte { margin-left: .6rem; font: 400 .74rem var(--aion-mono); color: var(--wp--preset--color--encre-douce); }

.aion-bas { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 3rem; margin-top: 5rem; }
.aion-bas h2 { margin-bottom: 1.2rem; font: italic 400 2.3rem/1 var(--aion-titres); }
.aion-index-groupe + .aion-index-groupe { margin-top: 1.6rem; }
.aion-index-groupe h3 { margin-bottom: .4rem; }
.aion-index-liste { columns: 2 18rem; column-gap: 2rem; margin: 0; padding: 0; list-style: none; }
.aion-index-liste li { break-inside: avoid; }
.aion-index-liste button {
	all: unset;
	display: block;
	padding: .38rem 0;
	border-bottom: 1px solid transparent;
	font: 400 1.12rem/1.25 var(--aion-titres);
	cursor: pointer;
}
.aion-index-liste button:hover { border-bottom-color: currentColor; }
.aion-index-liste button:focus-visible { outline: 2px solid var(--wp--preset--color--encre); }
.aion-index-liste button.is-lue::after { content: " ·"; color: var(--wp--preset--color--encre-douce); }
.aion-index-liste button[aria-current="true"] { font-style: italic; }

.aion-carnet { position: sticky; top: 90px; align-self: start; padding: 1.5rem; border-radius: var(--aion-rayon); background: var(--wp--preset--color--papier); }
.aion-carnet .is-vide { font-size: 1rem; color: var(--wp--preset--color--encre-douce); }
.aion-carnet ul { display: grid; gap: .3rem; margin: 0 0 1.2rem; padding: 0; list-style: none; }
.aion-carnet li { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; padding: .4rem 0; border-bottom: 1px solid #16192E1f; }
.aion-carnet li button { all: unset; font: 400 1.1rem/1.25 var(--aion-titres); cursor: pointer; }
.aion-carnet li button.x { padding: 0 .3rem; font: 400 .8rem var(--aion-mono); color: var(--wp--preset--color--encre-douce); }
.aion-carnet li button:hover { text-decoration: underline; }
.aion-carnet-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.aion-statut { min-height: 1.2em; margin-top: .6rem; font: 400 .78rem var(--aion-mono); color: var(--wp--preset--color--encre-douce); }
.aion-carnet [disabled] { opacity: .4; cursor: default; }

@media (max-width: 900px) {
	.aion-lecteur, .aion-bas { grid-template-columns: 1fr; }
	.aion-pensee-carte { min-height: 0; }
	.aion-carnet { position: static; }
}

/* ---------------------------------------------------------------- Gabarits : pensée seule, listes, 404 */

.aion-pensee-seule,
.aion-liste,
.aion-404 {
	min-height: 80vh;
	padding: 8rem var(--wp--preset--spacing--gouttiere) 5rem;
	background: radial-gradient(60rem 40rem at 88% -12%, #FFE6A8 0, transparent 60%), linear-gradient(#CFDFE6, var(--wp--preset--color--ciel-midi) 70vh);
	color: var(--wp--preset--color--encre);
}
.aion-pensee-seule {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 1rem;
	max-width: none;
}
.aion-pensee-seule > * { max-width: 100%; }
.aion-pensee-seule .wp-element-button { justify-self: start; text-align: center; }
@media (min-width: 1300px) { .aion-pensee-seule { padding-inline: calc((100vw - 1240px) / 2); } }
@media (max-width: 900px) { .aion-pensee-seule { grid-template-columns: 1fr; } }

.aion-liste > *, .aion-404 > * { max-width: 44rem; margin-inline: auto; }
.aion-liste-entete { display: grid; gap: 1rem; margin-bottom: 2.5rem; }
.aion-liste-entete h1, .aion-404 h1 { font: italic 300 var(--wp--preset--font-size--monumental)/1 var(--aion-titres); }
.aion-liste-items { display: grid; gap: .6rem; margin-bottom: 2rem; padding: 0; list-style: none; }
.aion-404 { display: grid; align-content: end; gap: 1.5rem; background: var(--wp--preset--color--ciel-nuit); color: var(--wp--preset--color--brume); }
.aion-404-liens { display: flex; flex-wrap: wrap; gap: .6rem; }
.aion-404 .wp-element-button:not(.is-style-fantome) { background: var(--wp--preset--color--soleil); border-color: var(--wp--preset--color--soleil); color: var(--wp--preset--color--encre); }
.aion-article-entete { max-width: var(--wp--style--global--content-size); margin: 8rem auto 2rem; padding-inline: var(--wp--preset--spacing--gouttiere); }
.aion-article-entete h1 { font-size: var(--wp--preset--font-size--titre); font-style: italic; }
.aion-article-entete + .entry-content > :first-child:not(.alignfull) { margin-top: 0; }
.nav-links { display: flex; gap: .6rem; }

/* ---------------------------------------------------------------- Mouvement réduit */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	body, .aion-entete { transition: none; }
	.aion-js .entry-content > .is-style-ciel:first-child .is-style-ouverture,
	.aion-js .entry-content > .is-style-ciel:first-child .is-style-ouverture em,
	.aion-js .aion-indice { animation: none; }
	.aion-js .aion-apparition { opacity: 1; transform: none; transition: none; }
	.aion-boucle-point { display: none; }
	.aion-pensee-carte.is-swap { animation: none; }
	.is-style-carte:has(a:hover), .aion-piste-bouton:hover, .aion-piste-lien:hover { transform: none; }
}
