/*
Theme Name: Inongo
Theme URI: https://inongo-ayile.com/
Author: Kimberley Poba Vanzi
Description: Thème sur mesure pour Inongo a yile, ressource pour apprendre l’omyènè.
Version: 1.0.4
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: inongo
*/

/* ---------- Polices (hébergées dans le thème) ---------- */
@font-face {
	font-family: "Bricolage Grotesque";
	src: url("assets/fonts/bricolage-grotesque.woff2") format("woff2-variations");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Literata";
	src: url("assets/fonts/literata.woff2") format("woff2-variations");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Literata";
	src: url("assets/fonts/literata-italic.woff2") format("woff2-variations");
	font-weight: 200 900;
	font-style: italic;
	font-display: swap;
}

/* ---------- Jetons ---------- */
:root {
	--lagune: #0E3A3D;
	--lagune-2: #164A4D;
	--fleuve: #0F5C5A;
	--fleuve-fonce: #0A3F3E;
	--sable: #F4EEE3;
	--sable-2: #E9DFCC;
	--sable-3: #E2D9C8;
	--ocre: #E2A54F;
	--ocre-texte: #8A5212;
	--encre: #14272C;
	--encre-2: #2E3F43;
	--encre-3: #3A4B4F;
	--gris: #4A5A5E;
	--bord: #B9AE99;
	--brume: #D9E3E0;
	--blanc: #FFFFFF;
	--fond: #FFFFFF;
	--surface: #F6F3EE;
	--filet: #E7E1D6;

	--titre: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;
	--texte: "Literata", Georgia, "Times New Roman", serif;

	--max: 1200px;
	--gouttiere: clamp(20px, 4vw, 32px);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--fond);
	color: var(--encre);
	font-family: var(--texte);
	font-size: 18px;
	line-height: 1.65;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--fleuve); }
a:hover { color: var(--fleuve-fonce); }
:focus-visible { outline: 3px solid var(--ocre); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--titre); letter-spacing: -0.015em; line-height: 1.15; color: inherit; }
.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:focus {
	position: fixed; top: 12px; left: 12px; z-index: 100; width: auto; height: auto; clip: auto;
	padding: 12px 20px; background: var(--ocre); color: var(--encre); border-radius: 999px;
	font-family: var(--titre); font-weight: 600;
}
.wrap { max-width: var(--max); margin: 0 auto; padding-left: var(--gouttiere); padding-right: var(--gouttiere); }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* ---------- Boutons ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px;
	border-radius: 999px; font-family: var(--titre); font-weight: 600; font-size: 17px; line-height: 1.2;
	text-decoration: none; border: 1.5px solid transparent; cursor: pointer; text-align: center;
}
.btn--sable { background: var(--sable); color: var(--lagune); }
.btn--sable:hover { background: var(--blanc); color: var(--lagune); }
.btn--contour { border-color: #7FA8A3; color: var(--sable); }
.btn--contour:hover { border-color: var(--sable); color: var(--sable); }
.btn--ocre { background: var(--ocre); color: var(--encre); min-height: 44px; padding: 0 20px; font-size: 16px; }
.btn--ocre:hover { background: #EDB86A; color: var(--encre); }
.btn--lagune { background: var(--lagune); color: var(--sable); }
.btn--lagune:hover { background: var(--fleuve); color: var(--sable); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- En-tête ---------- */
.site-header { background: var(--lagune); color: var(--sable); }
.site-header a { color: var(--sable); }
.site-header__bar {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding-top: 20px; padding-bottom: 20px;
}
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand__name { font-family: var(--titre); font-weight: 700; font-size: 22px; letter-spacing: -0.01em; }
.nav { display: flex; align-items: center; gap: 28px; font-family: var(--titre); font-size: 16px; }
.nav__list { display: flex; flex-wrap: wrap; gap: 8px 28px; list-style: none; margin: 0; padding: 0; }
.nav__list a { text-decoration: none; }
.nav__list a:hover,
.nav__list .current-menu-item > a,
.nav__list .current_page_item > a { color: var(--ocre); text-decoration: underline; text-underline-offset: 6px; }
.site-header .nav .btn--ocre { color: var(--encre); }
.site-header .btn--sable, .site-header .btn--sable:hover { color: var(--lagune); }
.site-header .verbe a { color: var(--fleuve); }
.nav-toggle {
	display: none; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1.5px solid #7FA8A3;
	background: transparent; color: var(--sable); font-family: var(--titre); font-weight: 600; font-size: 16px; cursor: pointer;
}
@media (max-width: 860px) {
	.site-header__bar { flex-wrap: wrap; }
	.nav-toggle { display: inline-flex; align-items: center; }
	.nav { display: none; width: 100%; flex-direction: column; align-items: flex-start; gap: 20px; padding: 8px 0 12px; }
	.nav[data-open="true"] { display: flex; }
	.nav__list { flex-direction: column; gap: 14px; font-size: 19px; }
}

/* ---------- Héros (accueil) ---------- */
.hero {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: 56px; align-items: center; padding-top: 72px; padding-bottom: 96px;
}
.hero__text { display: flex; flex-direction: column; gap: 24px; }
.hero__peuples { margin: 0; font-family: var(--titre); font-size: 15px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ocre); }
.hero__titre { margin: 0; font-weight: 700; font-size: clamp(40px, 5.2vw, 68px); line-height: 1.02; letter-spacing: -0.025em; }
.hero__intro { margin: 0; font-size: 20px; line-height: 1.6; color: var(--brume); max-width: 34em; }
.hero .btn-row { padding-top: 8px; }

/* Carte verbe */
.verbe {
	background: var(--fond); color: var(--encre); border-radius: 20px; padding: 32px;
	display: flex; flex-direction: column; gap: 20px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}
.verbe a { color: var(--fleuve); }
.verbe__entete { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.verbe__etiquette { margin: 0; font-family: var(--titre); font-size: 14px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ocre-texte); }
.verbe__aide { margin: 0; font-size: 15px; color: var(--gris); }
.verbe__infinitif { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.verbe__infinitif strong { font-family: var(--titre); font-weight: 700; font-size: 44px; letter-spacing: -0.02em; color: var(--lagune); }
.verbe__infinitif em { font-size: 22px; color: var(--gris); }
.verbe__temps { display: flex; flex-wrap: wrap; gap: 8px; }
.verbe__temps button {
	min-height: 44px; padding: 0 16px; border-radius: 999px; cursor: pointer;
	font-family: var(--titre); font-size: 15px; font-weight: 600;
	background: transparent; color: var(--lagune); border: 1.5px solid var(--bord);
}
.verbe__temps button[aria-pressed="true"] { background: var(--lagune); color: var(--sable); border-color: var(--lagune); }
.verbe__forme { background: var(--surface); border-radius: 14px; padding: 24px; display: flex; flex-direction: column; gap: 8px; min-height: 150px; }
.verbe__conjugue { margin: 0; font-family: var(--titre); font-size: 40px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.15; }
.verbe__conjugue mark { background: none; color: #B8661A; text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.verbe__fr { margin: 0; font-size: 20px; color: var(--encre-2); }
.verbe__note { margin: 0; font-size: 15px; line-height: 1.5; color: var(--gris); }
.verbe__lien { font-family: var(--titre); font-weight: 600; font-size: 16px; }

/* ---------- Sections ---------- */
.section { padding-top: 96px; padding-bottom: 96px; }
.section--serre { padding-top: 48px; }
.section__tete { display: flex; flex-direction: column; gap: 12px; max-width: 40em; margin-bottom: 40px; }
.section__tete--ligne { max-width: none; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: baseline; }
.section__titre { margin: 0; font-weight: 700; font-size: clamp(32px, 3.6vw, 44px); letter-spacing: -0.02em; line-height: 1.1; }
.section__intro { margin: 0; font-size: 19px; line-height: 1.6; color: var(--encre-3); }
.surtitre { margin: 0; font-family: var(--titre); font-size: 14px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ocre-texte); }
.lien-fort { font-family: var(--titre); font-weight: 600; font-size: 16px; }

/* Parcours */
.parcours { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 20px; }
.parcours__carte {
	display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 18px;
	background: var(--surface); border: 1px solid var(--surface); color: var(--encre); text-decoration: none;
}
.parcours__carte:hover { border-color: var(--fleuve); color: var(--encre); }
.parcours__num { font-family: var(--titre); font-size: 15px; font-weight: 700; color: var(--ocre-texte); }
.parcours__titre { font-family: var(--titre); font-weight: 700; font-size: 26px; }
.parcours__texte { font-size: 17px; line-height: 1.55; color: var(--encre-3); }

/* Grille d’articles */
.articles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 40px 28px; }
.carte { display: flex; flex-direction: column; gap: 14px; }
.carte__media {
	aspect-ratio: 16 / 10; border-radius: 16px; overflow: hidden; display: flex; align-items: flex-end;
	padding: 24px; text-decoration: none; background: var(--fleuve);
}
.carte__media img { width: 100%; height: 100%; object-fit: cover; }
.carte__media--image { padding: 0; }
.carte__media--1 { background: var(--fleuve); color: var(--sable); }
.carte__media--2 { background: var(--ocre); color: var(--encre); }
.carte__media--3 { background: var(--encre); color: var(--ocre); }
.carte__media span { font-family: var(--titre); font-weight: 700; font-size: 34px; letter-spacing: -0.02em; line-height: 1.05; }
.carte__cat { margin: 0; font-family: var(--titre); font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ocre-texte); }
.carte__titre { margin: 0; font-weight: 700; font-size: 24px; line-height: 1.2; }
.carte__titre a { color: var(--encre); text-decoration: none; }
.carte__titre a:hover { color: var(--fleuve); text-decoration: underline; }
.carte__extrait { margin: 0; font-size: 17px; line-height: 1.55; color: var(--encre-3); }

/* Livre */
.livre { background: var(--surface); }
.livre__grille {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	gap: 56px; align-items: center; padding-top: 88px; padding-bottom: 88px;
}
.livre__couverture-zone { display: flex; justify-content: center; }
.livre__couverture {
	width: 260px; aspect-ratio: 3 / 4; border-radius: 6px 14px 14px 6px; background: var(--lagune);
	box-shadow: 14px 18px 0 #C9B99C; padding: 32px 28px; display: flex; flex-direction: column; justify-content: space-between;
}
.livre__couverture-titre { font-family: var(--titre); font-weight: 700; font-size: 34px; line-height: 1.05; color: var(--sable); }
.livre__couverture-auteur { font-size: 14px; color: #B9CBC8; }
.livre__texte { display: flex; flex-direction: column; gap: 18px; }
.livre__texte p { margin: 0; }

/* Newsletter */
.newsletter {
	background: var(--fleuve); color: var(--sable); border-radius: 28px; padding: clamp(32px, 5vw, 64px);
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 40px; align-items: center;
}
.newsletter__texte { display: flex; flex-direction: column; gap: 16px; }
.newsletter__texte h2 { margin: 0; font-weight: 700; font-size: clamp(30px, 3.4vw, 40px); letter-spacing: -0.02em; line-height: 1.1; }
.newsletter__texte p { margin: 0; font-size: 19px; line-height: 1.6; color: #DCE8E5; }
.newsletter__form { display: flex; flex-direction: column; gap: 12px; }
.newsletter__mention { margin: 0; font-size: 15px; line-height: 1.5; color: #DCE8E5; }
.newsletter__mention a { color: var(--sable); }
.newsletter__vide { background: var(--fond); color: var(--encre); border-radius: 18px; padding: 24px; font-size: 16px; }

/* ---------- Pied de page ---------- */
.site-footer { border-top: 1px solid var(--filet); background: var(--surface); }
.site-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; padding-top: 40px; padding-bottom: 40px; }
.site-footer__nom { font-family: var(--titre); font-weight: 700; font-size: 18px; }
.site-footer ul { display: flex; flex-wrap: wrap; gap: 8px 24px; list-style: none; margin: 0; padding: 0; font-size: 16px; }
.site-footer__copy { font-size: 15px; color: var(--gris); }

/* ---------- Bandeau de titre (archives, pages) ---------- */
.bandeau { background: var(--lagune); color: var(--sable); }
.bandeau__inner { padding-top: 56px; padding-bottom: 72px; display: flex; flex-direction: column; gap: 16px; max-width: 900px; }
.bandeau h1 { margin: 0; font-weight: 700; font-size: clamp(36px, 4.6vw, 58px); line-height: 1.05; letter-spacing: -0.025em; }
.bandeau__desc, .bandeau__desc p { margin: 0; font-size: 19px; line-height: 1.6; color: var(--brume); }
.bandeau .surtitre { color: var(--ocre); }

/* ---------- Article ---------- */
.article { max-width: 760px; margin: 0 auto; padding: 72px var(--gouttiere) 48px; }
.article__tete { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
.article__tete h1 { margin: 0; font-weight: 700; font-size: clamp(34px, 4.4vw, 52px); line-height: 1.08; letter-spacing: -0.025em; }
.article__meta { margin: 0; font-size: 16px; color: var(--gris); }
.article__image { margin: 0 0 40px; border-radius: 18px; overflow: hidden; }
.article__image img { display: block; width: 100%; }

.contenu { font-size: 19px; line-height: 1.75; }
.contenu > * { margin-top: 0; margin-bottom: 1.2em; }
.contenu h2 { font-size: 32px; margin-top: 2em; margin-bottom: 0.6em; }
.contenu h3 { font-size: 24px; margin-top: 1.8em; margin-bottom: 0.5em; }
.contenu h4 { font-size: 20px; margin-top: 1.6em; margin-bottom: 0.4em; }
.contenu ul, .contenu ol { padding-left: 1.4em; }
.contenu li { margin-bottom: 0.4em; }
.contenu blockquote {
	margin-left: 0; margin-right: 0; padding: 24px 28px; border-radius: 16px; background: var(--surface); border-left: 4px solid var(--ocre);
	font-style: italic;
}
.contenu blockquote p:last-child { margin-bottom: 0; }
.contenu table {
	display: block; overflow-x: auto; width: 100%; border-collapse: collapse; font-size: 17px; line-height: 1.5;
	background: var(--fond); border: 1px solid var(--filet); border-radius: 14px;
}
.contenu th, .contenu td { padding: 12px 16px; border-bottom: 1px solid var(--filet); text-align: left; vertical-align: top; }
.contenu th { font-family: var(--titre); font-weight: 600; background: var(--surface); }
.contenu img { border-radius: 14px; }
.contenu figcaption { font-size: 15px; color: var(--gris); margin-top: 8px; }
.contenu code { font-size: 0.9em; background: var(--surface); padding: 2px 6px; border-radius: 6px; }
.contenu hr { border: 0; border-top: 1px solid var(--filet); margin: 2.5em 0; }
.contenu .wp-block-button__link { border-radius: 999px; background: var(--lagune); color: var(--sable); font-family: var(--titre); font-weight: 600; }
.alignwide { max-width: 1000px; }
.aligncenter { margin-left: auto; margin-right: auto; }

.article__nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; margin-top: 56px; }
.article__nav a {
	display: flex; flex-direction: column; gap: 6px; padding: 20px 24px; border-radius: 16px;
	background: var(--surface); border: 1px solid var(--surface); text-decoration: none; color: var(--encre);
}
.article__nav a:hover { border-color: var(--fleuve); color: var(--encre); }
.article__nav span { font-family: var(--titre); font-size: 14px; color: var(--ocre-texte); font-weight: 600; }
.article__nav strong { font-family: var(--titre); font-size: 19px; line-height: 1.3; }

/* Pagination */
.pagination { margin-top: 56px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--titre); font-weight: 600; }
.pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px;
	border-radius: 999px; border: 1.5px solid var(--bord); text-decoration: none; color: var(--lagune);
}
.pagination .page-numbers.current { background: var(--lagune); border-color: var(--lagune); color: var(--sable); }

/* Commentaires */
.commentaires { max-width: 760px; margin: 0 auto; padding: 0 var(--gouttiere) 48px; }
.commentaires h2 { font-size: 28px; }
.commentaires ol { list-style: none; padding: 0; }
.commentaires .comment-body { padding: 20px 24px; background: var(--surface); border-radius: 16px; margin-bottom: 16px; }
.commentaires .children { list-style: none; padding-left: 24px; }
.commentaires input[type="text"], .commentaires input[type="email"], .commentaires input[type="url"], .commentaires textarea, .recherche input[type="search"] {
	width: 100%; min-height: 48px; padding: 10px 16px; border-radius: 12px; border: 1.5px solid var(--bord);
	background: var(--blanc); font-family: var(--texte); font-size: 17px; color: var(--encre);
}
.commentaires label { display: block; font-family: var(--titre); font-weight: 600; font-size: 15px; margin-bottom: 6px; }
.commentaires .submit { min-height: 52px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--lagune); color: var(--sable); font-family: var(--titre); font-weight: 600; font-size: 17px; cursor: pointer; }

/* Recherche */
.recherche { display: flex; flex-wrap: wrap; gap: 12px; max-width: 560px; }
.recherche label { flex: 1 1 260px; }
.recherche button { min-height: 48px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--ocre); color: var(--encre); font-family: var(--titre); font-weight: 600; font-size: 16px; cursor: pointer; }

/* ---------- À propos ---------- */
.apropos-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 88px; }
.apropos-hero__visuel { display: flex; justify-content: center; }
.apropos-hero__visuel svg { width: min(100%, 400px); }
.histoire { max-width: 760px; margin: 0 auto; padding: 96px var(--gouttiere) 64px; display: flex; flex-direction: column; gap: 24px; }
.histoire h2 { margin: 0; font-weight: 700; font-size: 40px; letter-spacing: -0.02em; }
.histoire p { margin: 0; font-size: 20px; line-height: 1.75; }
.proverbe { margin: 16px 0 0; padding: 36px; border-radius: 18px; background: var(--surface); border-left: 6px solid var(--ocre); display: flex; flex-direction: column; gap: 14px; }
.proverbe p { margin: 0; }
.proverbe__mye { font-family: var(--titre); font-weight: 700; font-size: 32px; line-height: 1.2; letter-spacing: -0.01em; color: var(--lagune); }
.proverbe__fr { font-size: 22px; line-height: 1.5; font-style: italic; }
.proverbe__sens { font-size: 17px !important; line-height: 1.6 !important; color: var(--encre-3); }
.parler { background: var(--surface); }
.parler__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 48px; align-items: start; padding-top: 88px; padding-bottom: 88px; }
.parler__texte { display: flex; flex-direction: column; gap: 18px; }
.parler__texte h2 { margin: 0; font-weight: 700; font-size: 36px; letter-spacing: -0.02em; }
.parler__texte p { margin: 0; font-size: 19px; line-height: 1.7; color: var(--encre-2); }
.parlers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.parlers div { padding: 24px; border-radius: 16px; display: flex; flex-direction: column; gap: 6px; }
.parlers strong { font-family: var(--titre); font-weight: 700; font-size: 24px; }
.parlers span { font-size: 15px; }
.parlers .p-lagune { background: var(--lagune); color: var(--sable); }
.parlers .p-lagune span { color: #B9CBC8; }
.parlers .p-fleuve { background: var(--fleuve); color: var(--sable); }
.parlers .p-fleuve span { color: #CFE0DC; }
.parlers .p-sable { background: var(--ocre); color: var(--encre); }
.parlers .p-sable span { color: var(--encre-2); }
.demarche { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 28px; }
.demarche div { display: flex; flex-direction: column; gap: 12px; }
.demarche h3 { margin: 0; font-weight: 700; font-size: 24px; }
.demarche p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--encre-3); }

/* ---------- Divers ---------- */
.vide { padding: 96px 0; display: flex; flex-direction: column; gap: 20px; max-width: 640px; }
.vide h2 { margin: 0; font-size: 32px; }
.vide p { margin: 0; font-size: 19px; }


/* ---------- Ancien design Elementor ----------
   Elementor applique encore sa typographie globale (titres roses en majuscules)
   à toutes les pages. Ce bloc rétablit les titres du thème. */
body[class*="elementor-kit-"] h1, body[class*="elementor-kit-"] h2, body[class*="elementor-kit-"] h3, body[class*="elementor-kit-"] h4, body[class*="elementor-kit-"] h5, body[class*="elementor-kit-"] h6 {
	font-family: var(--titre); text-transform: none; letter-spacing: -0.015em; line-height: 1.15; color: inherit; font-style: normal;
}
body[class*="elementor-kit-"] .contenu h2, body[class*="elementor-kit-"] .contenu h3, body[class*="elementor-kit-"] .contenu h4,
body[class*="elementor-kit-"] .contenu .elementor-heading-title {
	font-family: var(--titre); text-transform: none; letter-spacing: -0.015em; line-height: 1.2; color: var(--encre); font-weight: 700; font-style: normal;
}
body[class*="elementor-kit-"] .contenu h2.elementor-heading-title { font-size: 32px; }
body[class*="elementor-kit-"] .contenu h3.elementor-heading-title { font-size: 24px; }
body[class*="elementor-kit-"] .contenu h4.elementor-heading-title { font-size: 20px; }
body[class*="elementor-kit-"] .hero__titre { margin: 0; font-weight: 700; font-size: clamp(40px, 5.2vw, 68px); line-height: 1.02; letter-spacing: -0.025em; }
body[class*="elementor-kit-"] .section__titre { margin: 0; font-weight: 700; font-size: clamp(32px, 3.6vw, 44px); letter-spacing: -0.02em; line-height: 1.1; }
body[class*="elementor-kit-"] .parcours__titre { font-family: var(--titre); font-weight: 700; font-size: 26px; }
body[class*="elementor-kit-"] .carte__titre { margin: 0; font-weight: 700; font-size: 24px; line-height: 1.2; }
body[class*="elementor-kit-"] .carte__titre a { color: var(--encre); text-decoration: none; }
body[class*="elementor-kit-"] .carte__titre a:hover { color: var(--fleuve); text-decoration: underline; }
body[class*="elementor-kit-"] .newsletter__texte h2 { margin: 0; font-weight: 700; font-size: clamp(30px, 3.4vw, 40px); letter-spacing: -0.02em; line-height: 1.1; }
body[class*="elementor-kit-"] .bandeau h1 { margin: 0; font-weight: 700; font-size: clamp(36px, 4.6vw, 58px); line-height: 1.05; letter-spacing: -0.025em; }
body[class*="elementor-kit-"] .article__tete h1 { margin: 0; font-weight: 700; font-size: clamp(34px, 4.4vw, 52px); line-height: 1.08; letter-spacing: -0.025em; }
body[class*="elementor-kit-"] .contenu h2 { font-size: 32px; margin-top: 2em; margin-bottom: 0.6em; }
body[class*="elementor-kit-"] .contenu h3 { font-size: 24px; margin-top: 1.8em; margin-bottom: 0.5em; }
body[class*="elementor-kit-"] .contenu h4 { font-size: 20px; margin-top: 1.6em; margin-bottom: 0.4em; }
body[class*="elementor-kit-"] .commentaires h2 { font-size: 28px; }
body[class*="elementor-kit-"] .histoire h2 { margin: 0; font-weight: 700; font-size: 40px; letter-spacing: -0.02em; }
body[class*="elementor-kit-"] .proverbe__mye { font-family: var(--titre); font-weight: 700; font-size: 32px; line-height: 1.2; letter-spacing: -0.01em; color: var(--lagune); }
body[class*="elementor-kit-"] .parler__texte h2 { margin: 0; font-weight: 700; font-size: 36px; letter-spacing: -0.02em; }
body[class*="elementor-kit-"] .demarche h3 { margin: 0; font-weight: 700; font-size: 24px; }
body[class*="elementor-kit-"] .vide h2 { margin: 0; font-size: 32px; }
