/*
 * Growth Ex Machina — styles du thème enfant (socle).
 * Les choix de marque (couleurs, typographies, composants) arriveront avec le système de design ;
 * ici seulement les règles structurelles exigées par la spec : largeur de lecture 680 px,
 * tableaux lisibles, blocs du Socle GEO.
 */

:root {
	--exm-lecture: 680px;
	--exm-encre: #14161a;
	--exm-gris: #5b6068;
	--exm-trait: #e3e5e8;
	--exm-fond-doux: #f6f7f8;
	--exm-accent: #1a7efb; /* provisoire, remplacé par le système de design */
}

/* Largeur de lecture des contenus rédigés */
.single .entry-content > :not(.alignwide):not(.alignfull):not(.exm-large),
.page .entry-content > :not(.alignwide):not(.alignfull):not(.exm-large) {
	max-width: var(--exm-lecture);
	margin-left: auto;
	margin-right: auto;
}

/* Encadré « En bref » / « Points clés » : sous le H1, extractible */
.exm-en-bref {
	border-left: 4px solid var(--exm-accent);
	background: var(--exm-fond-doux);
	padding: 1rem 1.25rem;
	margin: 1.5rem auto 2rem;
	font-size: 1.05em;
	line-height: 1.55;
}
.exm-en-bref strong { display: block; font-size: 0.8em; letter-spacing: 0.04em; text-transform: uppercase; color: var(--exm-gris); margin-bottom: 0.35rem; }

/* Méta : auteur + date de mise à jour */
.exm-meta { color: var(--exm-gris); font-size: 0.9em; display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; margin: 0.5rem 0 0; }

/* Chiffres clés */
.exm-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1rem; margin: 2rem 0; }
.exm-chiffre { border: 1px solid var(--exm-trait); border-radius: 8px; padding: 1rem; }
.exm-chiffre__valeur { font-size: 2rem; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.exm-chiffre__libelle { color: var(--exm-gris); font-size: 0.9em; margin-top: 0.25rem; }
.exm-chiffre__source { font-size: 0.8em; color: var(--exm-gris); margin-top: 0.5rem; }

/* FAQ en accordéon natif (details/summary : lisible sans JavaScript) */
.exm-faq details { border-top: 1px solid var(--exm-trait); padding: 0.75rem 0; }
.exm-faq details:last-child { border-bottom: 1px solid var(--exm-trait); }
.exm-faq summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.exm-faq summary::-webkit-details-marker { display: none; }
.exm-faq summary::after { content: "+"; color: var(--exm-gris); }
.exm-faq details[open] summary::after { content: "–"; }
.exm-faq .exm-faq__reponse { padding-top: 0.5rem; color: var(--exm-encre); }

/* Sources */
.exm-sources { font-size: 0.9em; color: var(--exm-gris); border-top: 1px solid var(--exm-trait); padding-top: 1rem; margin-top: 2rem; }
.exm-sources ol { padding-left: 1.25rem; }

/* Encart auteur */
.exm-auteur { display: flex; gap: 1rem; align-items: center; border: 1px solid var(--exm-trait); border-radius: 8px; padding: 1rem; margin: 2rem 0; }
.exm-auteur img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
.exm-auteur__nom { font-weight: 700; }
.exm-auteur__fonction { color: var(--exm-gris); font-size: 0.9em; }

/* Tableaux : toujours des tableaux HTML, lisibles sur mobile */
.entry-content table { width: 100%; border-collapse: collapse; font-size: 0.95em; }
.entry-content th, .entry-content td { border: 1px solid var(--exm-trait); padding: 0.6rem 0.75rem; text-align: left; vertical-align: top; }
.entry-content th { background: var(--exm-fond-doux); }
.exm-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Mention de transparence IA */
.exm-mention-ia { font-size: 0.85em; color: var(--exm-gris); margin-top: 1rem; }

/* Fil d'Ariane */
.exm-ariane { font-size: 0.85em; color: var(--exm-gris); margin-bottom: 1rem; }
.exm-ariane a { color: inherit; }
