/*
 * CNVM — habillage propre au site (en plus de theme/blocs/blocs-valides.css).
 * Repères DA : vert billet #0E5A4A, surligneur #FFD84A, papier #FBFAF7, Inter Tight / Domine.
 * Mode clair uniquement. Mobile = 1 colonne, marges 16px mini, overflow-x: clip partout.
 */

/* ===================== Pilules & étiquettes ===================== */
.cnvm-pilule {
	display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: 0 1rem;
	border-radius: 999px; font: 700 14px/1 var(--sb-titre); text-decoration: none; border: 1.5px solid transparent;
	background: none; cursor: pointer;
}
.cnvm-etiquette { display: inline-block; font: 700 12px/1 var(--sb-titre); letter-spacing: .06em; text-transform: uppercase; padding: .5rem .8rem; margin: 0 0 1rem; }
.cnvm-surligneur {
	background: var(--cnvm-jaune); color: var(--sb-encre);
	clip-path: polygon(1% 8%, 101% 0%, 99% 94%, 0% 100%);
	transform: rotate(-.6deg);
}

/* ===================== En-tête ===================== */
.cnvm-entete { position: sticky; top: 0; z-index: 50; }
.cnvm-bande-marque { background: var(--sb-accent); border-bottom: 4px solid var(--sb-accent-fort); }
.cnvm-bande-marque-in { display: flex; align-items: center; gap: 1rem; min-height: 72px; padding-block: .5rem; }
.cnvm-pilule-menu { color: #fff; border-color: rgba(255,255,255,.55); }
.cnvm-recherche { flex: 0 1 220px; }
.cnvm-recherche input { width: 100%; min-height: 40px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.12); color: #fff; padding: 0 1rem; font: 500 14px var(--sb-titre); }
.cnvm-recherche input::placeholder { color: rgba(255,255,255,.8); }
.cnvm-logo-lien { margin-inline: auto; display: flex; align-items: center; gap: .75rem; text-decoration: none; }
.cnvm-logo-separateur { width: 1px; height: 22px; background: rgba(255,255,255,.35); }
.cnvm-logo-baseline { font: italic 400 13px/1.25 var(--sb-lecture); color: rgba(255,255,255,.85); }
.cnvm-bande-droite { display: flex; align-items: center; gap: .9rem; margin-left: auto; }
.cnvm-pilule-jaune { background: var(--cnvm-jaune); color: var(--sb-encre); white-space: nowrap; }
.cnvm-pilule-texte-courte { display: none; }
.cnvm-lien-ecrire { color: #fff; font: 700 14px var(--sb-titre); text-decoration: none; white-space: nowrap; }

.cnvm-nav { background: var(--sb-fond); overflow-x: auto; scrollbar-width: none; }
.cnvm-nav::-webkit-scrollbar { display: none; }
.cnvm-nav-in { display: flex; align-items: stretch; gap: .25rem; min-height: 56px; }
.cnvm-nav-accueil, .cnvm-nav-item {
	display: flex; align-items: center; gap: .45rem; flex: 0 0 auto; padding: 0 .9rem; text-decoration: none;
	color: var(--sb-encre); font: 700 15px var(--sb-titre); border-bottom: 4px solid transparent; white-space: nowrap;
}
.cnvm-nav-item { color: var(--rub, var(--sb-encre)); }
.cnvm-nav-item svg, .cnvm-nav-accueil svg { color: var(--rub, var(--sb-doux)); }
.cnvm-nav-item.est-actif, .cnvm-nav-accueil.est-actif { border-color: var(--rub, var(--sb-accent)); }

.cnvm-essentiel { background: var(--cnvm-carte); border-bottom: 1px solid var(--sb-filet); }
.cnvm-essentiel-in { display: flex; align-items: center; gap: 1.25rem; padding-block: .6rem; overflow-x: auto; }
.cnvm-essentiel-date { flex: 0 0 auto; font: 800 13px/1.3 var(--sb-titre); color: var(--sb-encre); margin: 0; }
.cnvm-essentiel-date span { color: var(--sb-accent); }
.cnvm-essentiel-label { flex: 0 0 auto; font: 800 13px var(--sb-titre); color: var(--sb-accent); text-transform: uppercase; letter-spacing: .05em; margin: 0; }
.cnvm-essentiel-liste { list-style: none; display: flex; gap: 1rem; margin: 0; padding: 0; }
.cnvm-essentiel-liste a { display: flex; align-items: center; gap: .55rem; text-decoration: none; min-width: 160px; }
.cnvm-essentiel-vignette { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 40px; }
.cnvm-essentiel-vignette.cnvm-sans-photo { background: var(--sb-surf); display: inline-block; }
.cnvm-essentiel-liste span:last-child { font: 600 14px/1.3 var(--sb-lecture); color: var(--sb-encre); }

@media (max-width: 760px) {
	.cnvm-bande-marque-in { min-height: 56px; flex-wrap: nowrap; }
	.cnvm-recherche, .cnvm-logo-baseline, .cnvm-lien-ecrire { display: none; }
	.cnvm-logo-separateur { display: none; }
	/* Pilule "☰ Rubriques" : la barre, déjà en défilement horizontal, passe en liste
	   verticale complète le temps que la pilule est activée (accessibilité clavier). */
	.cnvm-nav--etendu .cnvm-nav-in { flex-direction: column; align-items: stretch; overflow: visible; }
	.cnvm-nav--etendu .cnvm-nav-accueil, .cnvm-nav--etendu .cnvm-nav-item { border-bottom: 1px solid var(--sb-filet); border-left: 4px solid transparent; min-height: 48px; }
	.cnvm-nav--etendu .cnvm-nav-item.est-actif, .cnvm-nav--etendu .cnvm-nav-accueil.est-actif { border-left-color: var(--rub, var(--sb-accent)); border-bottom-color: var(--sb-filet); }
}
/* La pilule jaune "Ce qui change en [mois]" passait sur 3 lignes et serrait le logo sous
   600px : en dessous de ce seuil elle se réduit au seul nom du mois. */
@media (max-width: 600px) {
	.cnvm-pilule-jaune { padding: 0 .65rem; }
	.cnvm-pilule-texte-longue { display: none; }
	.cnvm-pilule-texte-courte { display: inline; }
}

/* ===================== Cartes (gabarit unique) ===================== */
.cnvm-grille { display: grid; gap: 1.5rem; }
.cnvm-grille-2 { grid-template-columns: repeat(2, 1fr); margin-top: 1.5rem; }
.cnvm-grille-3 { grid-template-columns: repeat(3, 1fr); }
.cnvm-grille-4 { grid-template-columns: repeat(4, 1fr); }
.cnvm-grille-chiffres { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1px; background: rgba(255,255,255,.18); }

.cnvm-carte { background: var(--cnvm-carte); border-radius: var(--sb-rayon); overflow: hidden; box-shadow: var(--sb-ombre); }
.cnvm-carte a { display: block; text-decoration: none; color: inherit; height: 100%; }
.cnvm-carte-photo { position: relative; aspect-ratio: 3/2; overflow: hidden; }
.cnvm-carte-photo img { width: 100%; height: 100%; object-fit: cover; }
.cnvm-carte--sans-photo { border-top: 4px solid var(--rub, var(--sb-accent)); }
.cnvm-etape { position: absolute; top: 10px; left: 10px; background: var(--cnvm-jaune); color: var(--sb-encre); font: 800 11px var(--sb-titre); padding: .3rem .6rem; border-radius: 999px; }
.cnvm-carte-surtitre { font: 700 11.5px var(--sb-titre); letter-spacing: .07em; text-transform: uppercase; margin: .9rem 1rem 0; }
.cnvm-carte-titre { font: 700 18px/1.3 var(--sb-lecture); color: var(--sb-encre); margin: .35rem 1rem 0; }
.cnvm-carte-meta { font: 500 12.5px var(--sb-titre); color: var(--sb-doux); margin: .5rem 1rem 1rem; }

@media (max-width: 980px) { .cnvm-grille-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) {
	.cnvm-grille-2, .cnvm-grille-3, .cnvm-grille-4 { grid-template-columns: 1fr; }
	.cnvm-grille-chiffres { grid-template-columns: repeat(2, 1fr); }
}

/* Carrousel horizontal mobile (rangées de rubrique — procédé Capital, DA §1) */
@media (max-width: 760px) {
	.cnvm-carrousel-mobile { display: flex; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1rem; padding-bottom: .5rem; margin-inline: -16px; padding-inline: 16px; }
	.cnvm-carrousel-mobile .cnvm-carte { flex: 0 0 78%; scroll-snap-align: start; }
}

/* ===================== La une (hero, R-0554/R-0555) ===================== */
.cnvm-une-section { background: var(--cnvm-carte); padding-block: 2rem; }
.cnvm-une-grille { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 2.5rem; align-items: stretch; }
.cnvm-une-corps { display: grid; grid-template-columns: 1.15fr 1fr; gap: 2rem; align-items: center; }
.cnvm-une-texte { min-width: 0; }
.cnvm-une-photo-lien { display: block; text-decoration: none; }
.cnvm-une-photo { aspect-ratio: 3/2; border-radius: var(--sb-rayon); overflow: hidden; }
.cnvm-une-photo img { width: 100%; height: 100%; object-fit: cover; }
.cnvm-une-titre { font: 700 clamp(26px,3vw,38px)/1.12 var(--sb-lecture); letter-spacing: -.01em; margin: .5rem 0 0; text-wrap: balance; }
.cnvm-une-titre a { color: inherit; text-decoration: none; }
.cnvm-une-chapo { font: 400 17px/1.5 var(--sb-lecture); color: var(--sb-doux); margin: .75rem 0 0; max-width: 46em; }
.cnvm-une-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--sb-filet); }
.cnvm-une-auteur { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; color: var(--sb-encre); font: 700 13.5px var(--sb-titre); }
.cnvm-une-auteur .sb-avatar { width: 32px; height: 32px; flex: 0 0 32px; }
.cnvm-une-infos { font: 500 13px var(--sb-titre); color: var(--sb-doux); }
@media (max-width: 760px) { .cnvm-une-corps { grid-template-columns: 1fr; } .cnvm-une-photo-lien { order: -1; } }

/* La colonne de droite (chiffre + fil) s'étire pour finir à la même hauteur que la une :
   pas de grand blanc sous l'une des deux colonnes. */
.cnvm-une-colonne { display: flex; flex-direction: column; gap: 1.25rem; height: 100%; }
.cnvm-onglets { flex: 1; display: flex; flex-direction: column; }
.cnvm-onglet-corps[hidden] { display: none; }
.cnvm-onglet-corps:not([hidden]) { flex: 1; display: flex; flex-direction: column; }
.cnvm-fil-liste { flex: 1; }

.cnvm-tuile-chiffre { display: block; background: var(--sb-accent); color: #fff; border-radius: var(--sb-rayon); padding: 1.25rem 1.4rem; text-decoration: none; }
.cnvm-tuile-chiffre .sb-kicker { color: rgba(255,255,255,.8); }
.cnvm-chiffre-valeur { font: 900 clamp(34px,4vw,52px)/1.05 var(--sb-titre); letter-spacing: -.03em; font-variant-numeric: tabular-nums; margin: .3rem 0 0; }
.cnvm-chiffre-label { font: 600 14px/1.4 var(--sb-lecture); color: rgba(255,255,255,.9); margin: .3rem 0 0; }
.cnvm-chiffre-source { font: 500 11.5px var(--sb-titre); color: rgba(255,255,255,.85); margin: .6rem 0 0; }

.cnvm-onglets { background: var(--cnvm-carte); border: 1px solid var(--sb-filet); border-radius: var(--sb-rayon); box-shadow: var(--sb-ombre); padding: 1.1rem 1.1rem .4rem; }
.cnvm-onglets-tetes { display: flex; gap: .5rem; margin-bottom: .6rem; }
.cnvm-onglet-tete { background: none; border: 0; border-bottom: 3px solid transparent; font: 800 14px var(--sb-titre); color: var(--sb-doux); padding: .4rem .2rem; cursor: pointer; }
.cnvm-onglet-tete.est-actif { color: var(--sb-encre); border-color: var(--sb-accent); }
.cnvm-fil-liste { list-style: none; margin: 0; padding: 0; }
.cnvm-fil-liste li { border-top: 1px solid var(--sb-filet); }
.cnvm-fil-liste li:first-child { border-top: 0; }
.cnvm-fil-liste a { display: block; padding: .7rem 0; text-decoration: none; }
/* Trait court horizontal (24×3px, procédé Notre Temps) posé AVANT la date, sur la même
   ligne — jamais une barre verticale collée au texte (confondue avec un crochet). */
.cnvm-fil-date { display: flex; align-items: center; gap: .5rem; font: 700 11.5px var(--sb-titre); letter-spacing: .04em; margin-bottom: .2rem; }
.cnvm-trait { display: inline-block; width: 24px; height: 3px; flex: 0 0 auto; background: currentColor; }
.cnvm-fil-titre { display: block; font: 600 15px/1.4 var(--sb-lecture); color: var(--sb-encre); }
.cnvm-onglets .cnvm-pilule { border: 1px solid var(--sb-encre); color: var(--sb-encre); margin: .75rem auto 1rem; display: flex; width: fit-content; }

@media (max-width: 980px) { .cnvm-une-grille { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .cnvm-grille-2 { grid-template-columns: 1fr; } }

/* ===================== Ce qui change / Le dossier (fond lin) ===================== */
.cnvm-bande-lin { background: var(--sb-surf); padding-block: 2.5rem; }
.cnvm-frise { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.cnvm-frise-carte { display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; background: var(--cnvm-carte); border-radius: var(--sb-rayon); box-shadow: var(--sb-ombre); padding: 1.1rem 1.25rem; }
.cnvm-frise-pastille { display: inline-flex; align-items: center; justify-content: center; padding: .35rem .75rem; border-radius: 999px; background: var(--cnvm-jaune); color: var(--sb-encre); font: 900 13px var(--sb-titre); white-space: nowrap; }
.cnvm-frise-texte { font: 600 15px/1.4 var(--sb-lecture); color: var(--sb-encre); }
.cnvm-frise-lire { margin-top: auto; font: 700 13px var(--sb-titre); color: var(--sb-accent); text-decoration: none; }
@media (max-width: 760px) {
	.cnvm-frise { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 82%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; margin-inline: -16px; padding-inline: 16px; }
	.cnvm-frise-carte { scroll-snap-align: start; }
}

.cnvm-dossier-titre { font: 700 26px/1.2 var(--sb-lecture); margin: 0 0 1.25rem; }
.cnvm-dossier-grille { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1.5rem; }
.cnvm-dossier-grande a { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.25rem; align-items: center; text-decoration: none; color: inherit; background: var(--cnvm-carte); border-radius: var(--sb-rayon); overflow: hidden; box-shadow: var(--sb-ombre); }
.cnvm-dossier-photo { aspect-ratio: 16/9; }
.cnvm-dossier-photo img { width: 100%; height: 100%; object-fit: cover; }
.cnvm-dossier-texte { padding: 1rem 1.25rem 1rem 0; }
.cnvm-dossier-chapo { font: 400 15px/1.55 var(--sb-lecture); color: var(--sb-doux); margin: .5rem 0 0; }
.cnvm-dossier-petites { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.cnvm-dossier-petites a { display: flex; align-items: center; gap: .85rem; text-decoration: none; color: var(--sb-encre); background: var(--cnvm-carte); border-radius: var(--sb-rayon); padding: .6rem; box-shadow: var(--sb-ombre); }
.cnvm-dossier-vignette-boite { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 8px; overflow: hidden; }
.cnvm-dossier-vignette-boite img { width: 100%; height: 100%; object-fit: cover; }
.cnvm-dossier-petites span { font: 600 15px/1.35 var(--sb-lecture); }

@media (max-width: 760px) {
	.cnvm-dossier-grille { grid-template-columns: 1fr; }
	.cnvm-dossier-grande a { grid-template-columns: 1fr; }
	.cnvm-dossier-texte { padding: .25rem 1rem 1rem; }
}

/* ===================== Bande vert plein — chiffres du mois ===================== */
/* Grille du nombre réel de tuiles (auto-fit, cf. .cnvm-grille-chiffres) : le "gap" de 1px
   sur fond clair semi-transparent dessine seul les liserés entre tuiles, quel que soit
   leur nombre (2, 3 ou 4) — jamais de bordure fixe qui suppose un nombre de colonnes. */
.cnvm-bande-vert { background: var(--sb-accent); color: #fff; padding-block: 2.5rem; }
.cnvm-bande-vert .cnvm-tuile-chiffre--petite { background: var(--sb-accent); padding: 1rem 1.25rem; border-radius: 0; }

/* ===================== Rangées de rubrique ===================== */
.cnvm-rangee-rubrique { padding-block: 2.5rem; }
.cnvm-fond-papier { background: var(--sb-fond); }
.cnvm-fond-carte { background: var(--cnvm-carte); }
.cnvm-rangee-tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; border-top: 4px solid var(--rub); padding-top: 1rem; margin-bottom: 1.5rem; }
.cnvm-rangee-titre { display: flex; align-items: center; gap: .6rem; font: 900 clamp(22px,2.2vw,30px) var(--sb-titre); letter-spacing: -.02em; color: var(--sb-encre); margin: 0; }
.cnvm-rangee-titre svg { color: var(--rub); }
.cnvm-rangee-titre-simple { font: 900 26px var(--sb-titre); margin: 0 0 1.25rem; }
.cnvm-pastilles { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
.cnvm-pastilles a { display: inline-block; padding: .4rem .85rem; border-radius: 999px; border: 1px solid var(--sb-filet); font: 700 12.5px var(--sb-titre); text-decoration: none; }
.cnvm-pastilles--bandeau a { border-color: rgba(255,255,255,.5); color: #fff; }
.cnvm-voir-plus { text-align: center; margin: 1.75rem 0 0; }
.cnvm-voir-plus .cnvm-pilule { border: 1px solid var(--rub); color: var(--rub); }

/* ===================== Nos guides de référence ===================== */
.cnvm-liste-guides { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem 2.5rem; }
.cnvm-liste-guides a { display: flex; align-items: center; gap: 1rem; text-decoration: none; padding: .9rem 0; border-top: 1px solid var(--sb-filet); }
.cnvm-liste-guides li:nth-child(-n+2) a { border-top: 0; }
.cnvm-guide-numero { font: 900 clamp(24px,2.4vw,32px) var(--sb-titre); color: var(--sb-accent-2); flex: 0 0 auto; }
.cnvm-guide-vignette { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 8px; overflow: hidden; }
.cnvm-guide-vignette img { width: 100%; height: 100%; object-fit: cover; }
.cnvm-guide-corps { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.cnvm-guide-corps .cnvm-carte-surtitre { margin: 0; }
.cnvm-guide-corps .cnvm-carte-titre { margin: 0; }
@media (max-width: 760px) { .cnvm-liste-guides { grid-template-columns: 1fr; } .cnvm-liste-guides li:nth-child(2) a { border-top: 1px solid var(--sb-filet); } }

/* ===================== Qui écrit CNVM ===================== */
.cnvm-qui-ecrit { background: var(--cnvm-carte); border-top: 1px solid var(--sb-filet); padding-block: 2.25rem; }
.cnvm-qui-ecrit-grille { display: flex; flex-wrap: wrap; gap: 1.75rem; margin: .9rem 0 1.5rem; }
.cnvm-qui-ecrit-auteur { display: flex; align-items: center; gap: .85rem; }
.cnvm-qui-ecrit-auteur .sb-avatar { width: 56px; height: 56px; flex: 0 0 56px; }
.cnvm-qui-ecrit-nom { display: block; font: 700 15px var(--sb-titre); color: var(--sb-encre); text-decoration: none; }
.cnvm-qui-ecrit-nom:hover { text-decoration: underline; }
.cnvm-qui-ecrit-role { margin: .1rem 0 0; font: 500 13px var(--sb-lecture); color: var(--sb-doux); }
.cnvm-qui-ecrit-texte { font: 400 15.5px/1.6 var(--sb-lecture); color: var(--sb-doux); margin: .5rem 0; max-width: 60em; }
.cnvm-qui-ecrit-liens a { color: var(--sb-accent); font: 700 14px var(--sb-titre); text-decoration: none; }

/* ===================== Encart maison (pub) ===================== */
.sba-pub-maison { background: var(--cnvm-carte); border: 1px solid var(--sb-filet); border-top: 4px solid var(--sb-rub, var(--sb-accent)); border-radius: var(--sb-rayon); box-shadow: var(--sb-ombre); padding: 1.1rem 1.25rem; }
.sba-pub-titre { font: 700 17px/1.3 var(--sb-lecture); margin: .5rem 0 .4rem; }
.sba-pub-texte { font: 400 14.5px/1.55 var(--sb-lecture); color: var(--sb-doux); margin: 0 0 1rem; }
.sba-pub-bouton { display: inline-block; font: 700 14px var(--sb-titre); color: #fff; background: var(--sb-accent); padding: .6rem 1.1rem; border-radius: 999px; text-decoration: none; }

/* ===================== Bandeau de rubrique ===================== */
.cnvm-bandeau-rubrique { background: var(--rub); color: #fff; padding-top: 2rem; }
.cnvm-bandeau-rubrique-in { display: grid; grid-template-columns: 1fr 320px; gap: 2rem; align-items: center; padding-bottom: 1.5rem; }
.cnvm-bandeau-ariane { color: var(--sb-doux); font: 600 13px var(--sb-titre); margin-bottom: 1rem; }
.cnvm-bandeau-ariane a { color: var(--sb-accent); text-decoration: none; }
.cnvm-bandeau-rubrique .cnvm-bandeau-ariane { color: rgba(255,255,255,.85); }
.cnvm-bandeau-rubrique .cnvm-bandeau-ariane a { color: #fff; }
.cnvm-bandeau-picto { display: inline-flex; width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.18); align-items: center; justify-content: center; margin-bottom: .75rem; }
.cnvm-bandeau-titre { font: 900 clamp(30px,4vw,48px) var(--sb-titre); letter-spacing: -.02em; margin: 0; color: #fff; }
.cnvm-bandeau-chapo { font: 400 17px/1.5 var(--sb-lecture); color: rgba(255,255,255,.9); margin: .75rem 0 0; max-width: 48em; }
.cnvm-bandeau-recent { display: block; text-decoration: none; color: #fff; }
.cnvm-bandeau-photo { aspect-ratio: 3/2; border-radius: var(--sb-rayon); overflow: hidden; margin-bottom: .5rem; }
.cnvm-bandeau-photo img { width: 100%; height: 100%; object-fit: cover; }
.cnvm-bandeau-recent span { font: 600 14px/1.35 var(--sb-lecture); }
@media (max-width: 760px) { .cnvm-bandeau-rubrique-in { grid-template-columns: 1fr; } .cnvm-bandeau-rubrique { padding-top: 1.5rem; } }

.cnvm-bandeau-simple { background: var(--sb-surf); padding-block: 2rem; }
.cnvm-bandeau-titre-simple { font: 900 28px var(--sb-titre); margin: .4rem 0 1rem; }

/* ===================== Corps de rubrique / auteur / recherche ===================== */
.cnvm-rubrique-corps { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 2.5rem; padding-block: 2.5rem; align-items: start; }
.cnvm-rubrique-corps--seul { grid-template-columns: minmax(0,1fr); }
.cnvm-rubrique-aside { display: grid; gap: 1.25rem; position: sticky; top: calc(var(--sb-haut-collant) + 20px); }
.cnvm-vide { font: 400 16px/1.6 var(--sb-lecture); color: var(--sb-doux); }
.cnvm-charger-plus-zone { text-align: center; margin: 2rem 0 0; }
.cnvm-bouton-plus { border: 1px solid var(--sb-encre); color: var(--sb-encre); margin-inline: auto; }
@media (max-width: 980px) { .cnvm-rubrique-corps { grid-template-columns: 1fr; } .cnvm-rubrique-aside { position: static; } }

/* ===================== Auteur ===================== */
.cnvm-bandeau-auteur { background: var(--sb-surf); padding-block: 2.5rem; }
.cnvm-bandeau-auteur-in { display: flex; align-items: center; gap: 1.5rem; }
.cnvm-bandeau-auteur-in .sb-avatar { width: 110px; height: 110px; flex: 0 0 110px; }
.cnvm-auteur-nom { font: 900 32px var(--sb-titre); margin: 0 0 .3rem; }
.cnvm-auteur-role { font: 600 14px var(--sb-titre); color: var(--sb-accent); margin: 0 0 .6rem; }
.cnvm-auteur-bio { font: 400 16px/1.6 var(--sb-lecture); color: var(--sb-encre); margin: 0 0 .5rem; max-width: 60em; }
.cnvm-auteur-methode { font: 500 13.5px var(--sb-titre); color: var(--sb-doux); }
.cnvm-auteur-methode a { color: var(--sb-accent); }
@media (max-width: 760px) { .cnvm-bandeau-auteur-in { flex-direction: column; align-items: flex-start; } }

/* ===================== Pages annexes ===================== */
.cnvm-page-entete { padding-block: 2rem 1.5rem; }
.cnvm-page-titre { font: 900 clamp(28px,3.4vw,40px) var(--sb-titre); margin: .4rem 0 0; }
.cnvm-apropos .cnvm-page-titre, .cnvm-page .cnvm-page-titre { max-width: 720px; margin-left: auto; margin-right: auto; }
.cnvm-page-chapo { font: 400 18px/1.5 var(--sb-lecture); color: var(--sb-doux); margin: .75rem 0 0; max-width: 60em; }
.cnvm-page-photo { aspect-ratio: 16/9; border-radius: var(--sb-rayon); overflow: hidden; margin-bottom: 2rem; }
.cnvm-page-photo img { width: 100%; height: 100%; object-fit: cover; }
.cnvm-page-corps { max-width: 720px; padding-bottom: 3rem; }
.cnvm-page-corps p { font: 400 17px/1.7 var(--sb-lecture); }
.cnvm-page-corps .chapo { font: 400 19px/1.55 var(--sb-lecture); color: var(--sb-doux); margin-bottom: 1.75rem; }
.cnvm-page-corps h2 { font: 800 24px var(--sb-titre); letter-spacing: -.01em; color: var(--sb-encre); margin: 2.2rem 0 .9rem; padding-top: 1.1rem; border-top: 1px solid var(--sb-filet); }
.cnvm-page-corps h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.cnvm-page--etroite { padding-block: 3rem; }
.cnvm-page--etroite .sb-cadre { max-width: 720px; }
.cnvm-page-texte { font: 400 16px/1.6 var(--sb-lecture); color: var(--sb-doux); }

/* ===================== Page À propos ===================== */
.cnvm-apropos-section { padding-block: 2.5rem; }
.cnvm-qui-ecrit-grille--large { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1.25rem; }
@media (max-width: 900px) { .cnvm-qui-ecrit-grille--large { grid-template-columns: 1fr; } }
.cnvm-apropos-auteur { display: grid; grid-template-columns: 56px 1fr; gap: 0 1rem; align-items: start; background: var(--cnvm-carte); border-radius: var(--sb-rayon); box-shadow: var(--sb-ombre); padding: 1.25rem; }
.cnvm-apropos-auteur .sb-avatar { grid-row: 1 / 3; width: 56px; height: 56px; }
.cnvm-apropos-auteur .cnvm-qui-ecrit-nom { align-self: end; }
.cnvm-apropos-bio { grid-column: 1 / -1; margin-top: .9rem !important; margin: .35rem 0 0; font: 400 15px/1.6 var(--sb-lecture); color: var(--sb-encre); }

.cnvm-apropos-rubriques { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .9rem; }
@media (max-width: 1100px) { .cnvm-apropos-rubriques { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .cnvm-apropos-rubriques { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cnvm-apropos-tuile { display: flex; flex-direction: column; gap: .5rem; text-decoration: none; background: var(--cnvm-carte); border-top: 4px solid var(--rub); border-radius: var(--sb-rayon); box-shadow: var(--sb-ombre); padding: 1.1rem 1.2rem; }
.cnvm-apropos-tuile-picto { color: var(--rub); }
.cnvm-apropos-tuile-nom { font: 800 17px var(--sb-titre); color: var(--sb-encre); }
.cnvm-apropos-tuile-chapo { font: 400 14px/1.5 var(--sb-lecture); color: var(--sb-doux); }

.cnvm-methode-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin: 1rem 0 1.5rem; }
.cnvm-methode-etape { background: var(--sb-surf); border-radius: var(--sb-rayon); padding: 1.25rem 1.3rem; }
.cnvm-methode-coche { display: inline-flex; color: var(--sb-accent); margin-bottom: .5rem; }
.cnvm-methode-etape h3 { font: 800 16px var(--sb-titre); margin: 0 0 .4rem; color: var(--sb-encre); }
.cnvm-methode-etape p { font: 400 14.5px/1.55 var(--sb-lecture); color: var(--sb-doux); margin: 0; }
.cnvm-apropos-liens { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (max-width: 760px) { .cnvm-methode-grille { grid-template-columns: 1fr; } }

/* ===================== Contact ===================== */
.cnvm-contact-grille { display: grid; grid-template-columns: minmax(0,620px) 300px; gap: 2.5rem; align-items: start; padding-bottom: 3rem; }
.cnvm-formulaire { display: grid; gap: 1rem; background: var(--cnvm-carte); border: 1px solid var(--sb-filet); border-radius: var(--sb-rayon); padding: 1.5rem; box-shadow: var(--sb-ombre); overflow: visible; }
.cnvm-champ { display: grid; gap: .35rem; margin: 0; }
.cnvm-champ label { font: 700 13px var(--sb-titre); color: var(--sb-encre); }
.cnvm-champ input, .cnvm-champ select, .cnvm-champ textarea { font: 400 15px var(--sb-lecture); padding: .7rem .8rem; border: 1px solid var(--sb-filet); border-radius: 8px; background: var(--sb-fond); color: var(--sb-encre); resize: vertical; }
.cnvm-champ-rgpd label { display: flex; gap: .6rem; font: 400 13.5px/1.5 var(--sb-lecture); align-items: flex-start; }
.cnvm-champ-leurre { position: absolute; left: -9999px; }
.cnvm-pilule-envoyer { background: var(--sb-accent); color: #fff; border: 0; width: fit-content; min-height: 46px; padding: 0 1.4rem; }
.cnvm-contact-confirmation { background: var(--sb-surf2); border-radius: var(--sb-rayon); padding: 1.5rem; }
@media (max-width: 980px) { .cnvm-contact-grille { grid-template-columns: 1fr; } }

/* ===================== Fil d'Ariane de l'en-tête d'article (bloc figé) ===================== */
/* Override d'habillage uniquement (sélecteur du bloc figé, valeurs libres) : espacement
   entre "Accueil" et la rubrique, aucun soulignement par défaut. Couleurs déjà conformes
   AA sur les 7 teintes de rubrique (DA §3, colonne "Ariane"). */
.sb-article-ariane { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.sb-article-ariane a { text-decoration: none; }
.sb-article-ariane a:hover { text-decoration: underline; }

/* ===================== Bandeau cookies (R-0469, adapté de cslp06) ===================== */
.sb-cookies { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 80; background: var(--sb-fond); border: 1px solid var(--sb-filet); box-shadow: 0 6px 24px rgba(0,0,0,.18); max-width: 900px; margin: 0 auto; font-size: 13px; border-radius: var(--sb-rayon); }
.sb-cookies-corps { display: flex; align-items: center; gap: 18px; padding: 14px 18px; flex-wrap: wrap; }
.sb-cookies-txt { margin: 0; flex: 1 1 320px; line-height: 1.5; color: var(--sb-encre); }
.sb-cookies-txt a { color: var(--sb-accent); text-decoration: underline; }
.sb-cookies-boutons { display: flex; gap: 10px; flex-shrink: 0; }
.sb-cookies-boutons button { min-height: 40px; padding: 8px 18px; font: 700 13px var(--sb-titre); border: 1px solid var(--sb-encre); background: transparent; color: var(--sb-encre); border-radius: 999px; cursor: pointer; }
.sb-cookies-accepter { background: var(--sb-encre) !important; color: var(--sb-fond) !important; }
@media (max-width: 760px) {
	/* Ne masque jamais la nav basse mobile (.sb-nav-mobile, ~66px + zone de sécurité). */
	.sb-cookies { bottom: calc(66px + env(safe-area-inset-bottom) + 10px); left: 10px; right: 10px; }
	.sb-cookies-corps { flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 14px; }
	.sb-cookies-txt { flex: none; }
	.sb-cookies-boutons { justify-content: stretch; }
	.sb-cookies-boutons button { flex: 1; }
}

/* ===================== Régie de pubs maison — DANS les articles uniquement =====================
   Porté de reference-cslp06/pub-cookies-css-et-insertion.txt. Autonome à dessein : les couleurs
   sont des variables LOCALES posées sur .re (pas les --sb-* du thème) — l'annonceur garde SA
   propre identité visuelle, jamais celle du journal (R-0486). Seuls les formats réellement
   utilisés sur CNVM sont activés (300x600 colonne d'article, texte-large/360x300 dans le corps) ;
   les autres classes de format restent portées pour que ce bloc soit copiable tel quel ailleurs. */
.sb-pub { display: flex; justify-content: center; margin: 26px 0; }
.sb-pub .re { --lin:#F4F1EA; --nuit:#1F2D4D; --cuivre-2:#8C3F12; --sable:#F2C48D; --brume:#E3E8F0; --ok:#2F6B4F;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Verdana,Arial,sans-serif; background: var(--lin); color: var(--nuit);
	overflow: hidden; position: relative; border: 1px solid var(--brume); display: flex; text-decoration: none !important; max-width: 100%; border-radius: var(--sb-rayon); }
.sb-pub .re__img { object-fit: cover; flex-shrink: 0; }
.sb-pub .re__body { display: flex; flex-direction: column; gap: 6px; }
.sb-pub .re__kicker { font-size: 10px; letter-spacing: .04em; color: var(--cuivre-2); font-weight: 700; text-transform: uppercase; }
.sb-pub .re__head { font-weight: 800; color: var(--nuit); line-height: 1.15; letter-spacing: -.01em; }
.sb-pub .re__sub { color: var(--nuit); opacity: .85; line-height: 1.35; }
.sb-pub .re__cta { background: var(--cuivre-2); color: #fff; font-weight: 700; text-align: center; border-radius: 6px; line-height: 1.15; }
.sb-pub .re__disc { color: var(--nuit); opacity: .7; line-height: 1.3; }
.sb-pub .re__bul { list-style: none; color: var(--nuit); line-height: 1.35; margin: 0; padding: 0; }
.sb-pub .re__bul li { padding-left: 1.1em; position: relative; }
.sb-pub .re__bul li::before { content: "✓"; position: absolute; left: 0; color: var(--ok); font-weight: 700; }
.sb-pub .f300x250 { flex-direction: column; }
.sb-pub .f300x250 .re__body { padding: 10px 12px 12px; flex: 1; }
.sb-pub .f300x250 .re__head { font-size: 17px; }
.sb-pub .f300x250 .re__cta { font-size: 14px; padding: 9px 10px; margin-top: auto; }
.sb-pub .f300x250 .re__disc { font-size: 10px; text-align: center; }
.sb-pub .f300x600 { flex-direction: column; }
.sb-pub .f300x600 .re__body { padding: 13px 18px 12px; flex: 1; }
.sb-pub .f300x600 .re__head { font-size: 22px; }
.sb-pub .f300x600 .re__sub { font-size: 14px; }
.sb-pub .f300x600 .re__bul { font-size: 13px; display: flex; flex-direction: column; gap: 5px; margin-top: 2px; }
.sb-pub .f300x600 .re__cta { font-size: 16px; padding: 12px 12px; margin-top: auto; }
.sb-pub .f300x600 .re__disc { font-size: 11px; text-align: center; }
.sb-pub .f728x90 { align-items: center; }
.sb-pub .f728x90 .re__body { padding: 0 14px; justify-content: center; gap: 3px; flex: 1; min-width: 0; }
.sb-pub .f728x90 .re__head { font-size: 19px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sb-pub .f728x90 .re__sub { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sb-pub .f728x90 .re__cta { font-size: 15px; padding: 0 22px; height: 44px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin: 0 16px 0 0; white-space: nowrap; }
.sb-pub .fmobile { flex-direction: column; }
.sb-pub .fmobile .re__body { padding: 12px 16px 14px; flex: 1; }
.sb-pub .fmobile .re__head { font-size: 19px; }
.sb-pub .fmobile .re__sub { font-size: 13px; }
.sb-pub .fmobile .re__cta { font-size: 16px; padding: 12px 10px; margin-top: auto; }
.sb-pub .fmobile .re__disc { font-size: 11px; text-align: center; }
/* Correction 05/10 (L-261001-058400) : hauteur fixe 300px + overflow:hidden du conteneur .re coupait le bouton quand le texte de l accroche depassait — meme traitement que .ftexte (hauteur libre). */
.sb-pub .fmobile { height: auto !important; min-height: 300px; }
.sb-pub .fcarte { flex-direction: column; width: 100%; }
.sb-pub .fcarte .re__body { padding: 10px 12px 12px; flex: 1; }
.sb-pub .fcarte .re__head { font-size: 17px; }
.sb-pub .fcarte .re__cta { font-size: 14px; padding: 9px 10px; margin-top: auto; }
.sb-pub .fcarte .re__disc { font-size: 10px; text-align: center; }
/* Encart natif largeur-texte (corps d'article) : mêmes marges que les paragraphes, image
   ~35% à gauche, accroche + bouton à droite. Mobile : bascule sur la carte 360x300. */
.sb-pub-texte-large { display: flex; margin: 28px 0; }
.sb-pub .ftexte { flex-direction: row; align-items: stretch; height: auto !important; min-height: 150px; width: 100%; }
.sb-pub .ftexte .re__img { width: 35%; max-width: 230px; height: 100%; flex: 0 0 35%; object-fit: cover; }
.sb-pub .ftexte .re__body { flex: 1; padding: 12px 20px; justify-content: center; gap: 4px; min-width: 0; }
.sb-pub .ftexte .re__kicker { font-size: 11px; letter-spacing: .06em; }
.sb-pub .ftexte .re__sub { font-size: 14px; line-height: 1.45; color: #3c3f46; margin: 2px 0 6px; }
.sb-pub .ftexte .re__disc { font-size: 12px; color: #565A64; }
.sb-pub .ftexte .re__head { font-size: 16px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sb-pub .ftexte .re__bul { display: none; }
.sb-pub .ftexte .re__cta { align-self: flex-start; font-size: 13px; padding: 8px 16px; margin-top: 6px; border-radius: 4px; }
.sb-pub-360x300 { display: none; }
@media (max-width: 760px) {
	.sb-pub-texte-large { display: none; }
	.sb-pub-360x300 { display: flex; margin: 20px 0; }
	.sb-pub { margin-inline: 0; }
}

/* ===================== Utilitaires ===================== */
.cnvm-vide, .cnvm-page-texte, .cnvm-page-corps, .cnvm-une-chapo, .cnvm-dossier-chapo, .cnvm-qui-ecrit-texte, .cnvm-auteur-bio, .cnvm-bandeau-chapo, .cnvm-page-chapo { overflow-wrap: anywhere; }

/* Rythme vertical (RE-0240) et en-tête d'article détaché du menu (RE-0242). */
.cnvm-rangee-sec { padding-top: 2.25rem; }
.sb-article { margin-top: 20px; }
img.cnvm-logo { display: block; height: 30px; width: auto; }
/* Bandeau cookies mobile compact (constat pages annexes : il masquait le bas du formulaire de contact). */
@media (max-width: 600px) {
	.sb-cookies { font-size: 12px; }
	.sb-cookies-corps { flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; }
	.sb-cookies-txt { flex: 1 1 100%; line-height: 1.4; }
	.sb-cookies-boutons { flex: 1 1 100%; gap: 8px; }
	.sb-cookies-boutons button { min-height: 44px; padding: 6px 12px; font-size: 13px; }
}
body:has(.cnvm-champ) .sb-cookies { bottom: auto; top: 12px; }
@media (max-width: 600px) { body:has(.cnvm-champ) .sb-cookies { top: 64px; } }

/* ===================== Retours Mathias 05/10/2026 (R-1900→R-1904) ===================== */
/* Article : gouttière serrée entre le texte et la barre latérale (le texte occupe toute sa colonne). */
@media (min-width: 981px) {
	.sb-art-corps:not(.sb-art-corps--seul) { --sb-aside-largeur: 340px; gap: 40px; }
	.sb-art-corps:not(.sb-art-corps--seul) .sb-art-principal { max-width: none; }
}
.sb-art-aside-pub .sb-pub { margin: 0; }
/* Article : « À lire ensuite » ne touche jamais le pied de page. */
.sb-article-suite { padding-bottom: clamp(48px, 5vw, 72px); }
.sb-article-commentaires:empty { display: none; }
/* Rubrique : les pastilles de sous-thèmes ont leur marge sous le bandeau. */
.cnvm-pastilles--bandeau { padding-bottom: 1.75rem; }
.cnvm-pastilles--bandeau a { background: rgba(255,255,255,.1); transition: background .15s, color .15s; }
.cnvm-pastilles--bandeau a:hover { background: #fff; color: var(--rub); }

/* ===================== Page À propos v2 (05/10/2026, R-1905/R-1796) ===================== */
.cnvm-ap-h2 { font: 900 clamp(26px,2.6vw,36px)/1.1 var(--sb-titre); letter-spacing: -.02em; color: var(--sb-encre); margin: .35rem 0 1.75rem; }
.cnvm-ap-texte p { font: 400 17px/1.7 var(--sb-lecture); color: var(--sb-encre); margin: 0 0 1rem; }

.cnvm-ap-hero { background: var(--sb-accent); color: #fff; padding-block: clamp(2.5rem,5vw,4.5rem); position: relative; overflow: hidden; }
.cnvm-ap-hero::after { content: "CNVM"; position: absolute; right: -2vw; bottom: -.18em; font: 900 clamp(120px,19vw,300px)/1 var(--sb-titre); letter-spacing: -.05em; color: rgba(255,255,255,.05); pointer-events: none; }
.cnvm-ap-hero-grille { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: clamp(2rem,4vw,4rem); align-items: center; position: relative; z-index: 1; }
.cnvm-ap-hero .cnvm-bandeau-ariane { color: rgba(255,255,255,.8); }
.cnvm-ap-hero .cnvm-bandeau-ariane a { color: #fff; }
.cnvm-ap-titre { margin: 0; font: 900 clamp(40px,5.6vw,76px)/.98 var(--sb-titre); letter-spacing: -.035em; color: #fff; }
.cnvm-ap-mot { display: block; }
.cnvm-ap-mot b { color: var(--cnvm-jaune); font-weight: 900; }
.cnvm-ap-chapo { font: 400 clamp(17px,1.4vw,20px)/1.55 var(--sb-lecture); color: rgba(255,255,255,.92); margin: 1.5rem 0 0; max-width: 34em; }
.cnvm-ap-chiffres { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.18); border-radius: 18px; overflow: hidden; }
.cnvm-ap-chiffres li { background: rgba(9,63,52,.55); padding: 1.4rem 1.3rem; display: flex; flex-direction: column; gap: .35rem; }
.cnvm-ap-chiffres strong { font: 900 clamp(34px,3.4vw,48px)/1 var(--sb-titre); letter-spacing: -.03em; color: var(--cnvm-jaune); }
.cnvm-ap-chiffres strong.cnvm-ap-chiffre-date { font-size: clamp(20px,1.8vw,26px); line-height: 1.15; padding-top: .35rem; }
.cnvm-ap-chiffres span { font: 600 14px/1.35 var(--sb-titre); color: rgba(255,255,255,.88); }

.cnvm-ap-pourquoi, .cnvm-ap-verbes, .cnvm-ap-redaction, .cnvm-ap-rubriques, .cnvm-ap-independance { padding-block: clamp(2.75rem,5vw,4.5rem); }
.cnvm-ap-deux { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.cnvm-ap-accroche { font: 700 clamp(24px,2.4vw,32px)/1.3 var(--sb-lecture); color: var(--sb-encre); margin: .5rem 0 0; }
.cnvm-ap-accroche mark { background: linear-gradient(transparent 58%, var(--cnvm-jaune) 58%); color: inherit; padding: 0 .1em; }
.cnvm-ap-pourquoi .cnvm-ap-texte { padding-top: 2rem; }

.cnvm-ap-verbes { background: var(--sb-surf); }
.cnvm-ap-verbes-grille { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
.cnvm-ap-verbe { background: var(--cnvm-carte); border-radius: 18px; box-shadow: var(--sb-ombre); padding: 1.6rem 1.6rem 1.75rem; position: relative; overflow: hidden; }
.cnvm-ap-lettre { display: inline-flex; align-items: center; justify-content: center; min-width: 64px; height: 64px; padding: 0 .6rem; border-radius: 16px; background: var(--cnvm-jaune); color: var(--sb-accent-fort); font: 900 32px/1 var(--sb-titre); letter-spacing: -.04em; margin-bottom: 1.1rem; }
.cnvm-ap-verbe h3 { font: 800 22px/1.2 var(--sb-titre); margin: 0 0 .5rem; color: var(--sb-encre); }
.cnvm-ap-verbe p { font: 400 16px/1.6 var(--sb-lecture); color: var(--sb-doux); margin: 0; }

.cnvm-ap-auteurs { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
.cnvm-ap-auteur { display: flex; flex-direction: column; align-items: flex-start; background: var(--cnvm-carte); border-radius: 18px; box-shadow: var(--sb-ombre); padding: 0 1.6rem 1.6rem; border-top: 5px solid var(--rub); }
.cnvm-ap-portrait { display: block; width: 100%; margin: 0 -1.6rem 1.25rem; width: calc(100% + 3.2rem); aspect-ratio: 4 / 3; background: color-mix(in srgb, var(--rub) 14%, #fff); display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
.cnvm-ap-portrait .sb-avatar { width: 72%; height: auto; aspect-ratio: 1; border-radius: 50% 50% 0 0; border: 0; box-shadow: none; background: #fff; object-fit: cover; }
.cnvm-ap-portrait .sb-avatar-symbole { display: grid; }
.cnvm-ap-auteur-nom { font: 800 22px/1.2 var(--sb-titre); margin: 0; }
.cnvm-ap-auteur-nom a { color: var(--sb-encre); text-decoration: none; }
.cnvm-ap-auteur-nom a:hover { color: var(--rub); }
.cnvm-ap-auteur-role { font: 700 13.5px/1.4 var(--sb-titre); color: var(--rub); margin: .3rem 0 0; }
.cnvm-ap-auteur-spec { font: 600 13px/1.4 var(--sb-titre); color: var(--sb-doux); margin: .2rem 0 0; }
.cnvm-ap-auteur-bio { font: 400 15.5px/1.65 var(--sb-lecture); color: var(--sb-encre); margin: 1rem 0 1.25rem; }
.cnvm-ap-auteur-lien { margin-top: auto; display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: 0 1.1rem; border-radius: 999px; background: var(--sb-encre); color: #fff; font: 700 14px var(--sb-titre); text-decoration: none; }
.cnvm-ap-auteur-lien:hover { background: var(--rub); }

.cnvm-ap-rubriques { background: var(--sb-surf); }
.cnvm-apropos-tuile { transition: transform .15s, box-shadow .15s; }
.cnvm-apropos-tuile:hover { transform: translateY(-2px); box-shadow: var(--sb-ombre-haut); }
.cnvm-apropos-tuile-nb { margin-top: auto; font: 700 12.5px var(--sb-titre); color: var(--rub); }

.cnvm-ap-methode { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.cnvm-ap-methode li { display: flex; gap: 1rem; align-items: flex-start; background: var(--cnvm-carte); border: 1px solid var(--sb-filet); border-radius: 14px; padding: 1.1rem 1.25rem; }
.cnvm-ap-methode .cnvm-methode-coche { margin: .1rem 0 0; }
.cnvm-ap-methode h3 { font: 800 17px var(--sb-titre); margin: 0 0 .25rem; color: var(--sb-encre); }
.cnvm-ap-methode p { font: 400 15px/1.55 var(--sb-lecture); color: var(--sb-doux); margin: 0; }
.cnvm-ap-methode li.cnvm-ap-methode-lien { background: none; border: 0; padding: .25rem 0 0; }
.cnvm-ap-methode-lien a { font: 700 15px var(--sb-titre); color: var(--sb-accent); }

.cnvm-ap-appel { padding-block: 0 clamp(3rem,5vw,4.5rem); }
.cnvm-ap-appel-in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2rem; flex-wrap: wrap; background: var(--sb-encre); color: #fff; border-radius: 22px; padding: clamp(1.75rem,3vw,2.5rem) clamp(1.5rem,3.5vw,3rem); }
.cnvm-ap-appel-titre { font: 900 clamp(22px,2.2vw,30px)/1.2 var(--sb-titre); letter-spacing: -.02em; margin: 0; color: #fff; }
.cnvm-ap-appel-texte { font: 400 16px/1.5 var(--sb-lecture); color: rgba(255,255,255,.8); margin: .4rem 0 0; }
.cnvm-ap-appel-bouton { min-height: 52px; padding: 0 1.6rem; font-size: 16px; display: inline-flex; align-items: center; gap: .4rem; text-decoration: none; }

@media (max-width: 980px) {
	.cnvm-ap-hero-grille, .cnvm-ap-deux { grid-template-columns: 1fr; }
	.cnvm-ap-pourquoi .cnvm-ap-texte { padding-top: 0; }
	.cnvm-ap-verbes-grille, .cnvm-ap-auteurs { grid-template-columns: 1fr; }
	.cnvm-ap-portrait { aspect-ratio: 16 / 9; }
	.cnvm-ap-portrait .sb-avatar { width: auto; height: 92%; }
}

/* Barre latérale d'article : une seule pile collante sommaire + pub (R-1907, 05/10/2026). */
@media (min-width: 761px) { .sb-art-aside { display: block; } }
.sb-art-aside .re__img { width: 100%; object-fit: cover; }
.sb-colle-pile { position: sticky; display: flex; flex-direction: column; gap: 20px; }
.sb-colle-pile.sb-pile-libre { position: static; height: 100%; }
.sb-colle-pile.sb-pile-libre .sb-art-aside-pub { position: sticky; }
.sb-art-aside .sb-pub-300x600 .re { width: 100% !important; }
.sb-colle-pile.sb-pile-compacte .sb-pub-300x600 .re { height: auto !important; }
.sb-colle-pile.sb-pile-compacte .re__img { height: 120px; width: 100%; }
.sb-colle-pile.sb-pile-compacte .re__bul { display: none; }
