/* ==========================================================================
   Contenu composé de blocs — page.php, singular.php, les deux fiches
   --------------------------------------------------------------------------
   Le gabarit n'écrit aucune section : les blocs `helios/*` rendent leur propre
   `<section>` pleine largeur, et les blocs de cœur autorisés (paragraphe,
   titre, liste, citation, image — allowlist du Lot 4) tombent directement dans
   `.entry-content`.

   Le prototype n'a pas de page de texte libre — la maquette ne compose que des
   sections — donc rien à porter ici : c'est une décision de ce lot, prise pour
   qu'un paragraphe ne coure pas sur 1440px.

   DEUX CONTEXTES, et c'est tout l'enjeu de cette feuille :

   • `.entry-content` ENFANT DIRECT DE <main> (page, filet singulier, carrières)
     porte lui-même la largeur de page : il doit poser le wrap ET la gouttière.
   • `.entry-content` DANS UNE COLONNE de grille (étude de cas, fiche
     d'expertise) est déjà dans un `.wrap` qui a posé la gouttière : y ajouter
     un padding décalerait le texte de 56px de plus que les titres voisins.
     Mesuré au navigateur avant correction : h2 à 112px au lieu de 56px.

   D'où le préfixe `main >` sur tout ce qui touche à la largeur de page.
   La mesure de lecture (820px) est celle des chapôs du prototype
   (`.arch__d` 680px, `.tl__d` 760px, `.res__d` 720px) portée à un corps long.
   ========================================================================== */

/* --- ce qui vaut dans les deux contextes -------------------------------- */
.entry-content > p,
.entry-content > ul,
.entry-content > ol{font-size:16.5px;line-height:1.75;color:var(--body);}
.entry-content > h2{font-size:clamp(26px,3.2vw,42px);font-weight:800;line-height:1.08;letter-spacing:-.018em;}
.entry-content > h3{font-size:22px;font-weight:800;letter-spacing:-.01em;}

/* Colonne de lecture. Dans une colonne de grille, un `max-width` suffit. */
.entry-content > p,
.entry-content > h2,
.entry-content > h3,
.entry-content > h4,
.entry-content > ul,
.entry-content > ol,
.entry-content > blockquote{max-width:820px;}

/* Rythme vertical : la marge vit sur le conteneur, pas sur chaque bloc — un
   `<section>` de bloc apporte déjà son propre padding. */
.entry-content > *{margin-top:0;margin-bottom:0;}
.entry-content > * + *{margin-top:clamp(18px,2vw,28px);}
.entry-content > * + section{margin-top:clamp(32px,4vw,56px);}
.entry-content > section + *{margin-top:clamp(32px,4vw,56px);}
.entry-content > section + section{margin-top:0;}

.entry-content blockquote{border-left:3px solid var(--orange);padding-top:4px;padding-bottom:4px;padding-left:clamp(18px,2.6vw,36px);}
.entry-content blockquote p{margin:0 0 16px;font-size:clamp(18px,1.8vw,26px);font-weight:700;line-height:1.4;letter-spacing:-.012em;color:var(--ink);}
.entry-content blockquote cite{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--secondaire);font-style:normal;font-weight:400;}
.entry-content img{display:block;height:auto;max-width:100%;}
.entry-content figure{margin:0;}
.entry-content figcaption{margin-top:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--secondaire);}

/* --- pleine largeur : le contenu EST la page ---------------------------- */
main > .entry-content{padding:clamp(52px,7vw,104px) 0;}
main > .entry-content:has(> section:first-child){padding-top:0;}
main > .entry-content:has(> section:last-child){padding-bottom:0;}

main > .entry-content > *{max-width:var(--wrap);margin-left:auto;margin-right:auto;}
/* La gouttière est posée sur tout SAUF les sections. Corrigé au Lot 7bis :
   la remettre à zéro sur `section` — ce que faisait la ligne suivante —
   l'emportait aussi sur le `padding:… var(--pad)` que `.section` porte
   elle-même (spécificité 0-1-2 contre 0-1-0). Les blocs de l'accueil n'en
   souffraient pas : ils posent leur padding sur une classe à eux. Une
   section de page interne, elle, sortait collée aux bords — `.wrap` à 1440
   au lieu de 1388 à 1500px de large, mesuré au navigateur contre
   `a-propos.html`. `:not(section)` cible la même chose sans écraser. */
main > .entry-content > *:not(section){padding-left:var(--pad);padding-right:var(--pad);}
main > .entry-content > section{max-width:none;margin-top:0;}
main > .entry-content > * + section{margin-top:clamp(32px,4vw,56px);}
main > .entry-content > section + *{margin-top:clamp(32px,4vw,56px);}
/* Ajout Lot 7bis : DEUX sections qui se suivent sont COLLÉES. Chacune porte
   déjà sa gouttière verticale, et le rythme d'une page interne est fait de
   fonds qui alternent sans interstice (`a-propos.html`). Sans cette ligne, le
   sélecteur `* + section` ci-dessus — où `*` vaut aussi pour une section —
   glissait 56 px de blanc entre le gris et le sombre, et `.section--flush-top`
   ne collait plus à rien. Écrit après la ligne qu'il corrige : même
   spécificité, l'ordre tranche. */
main > .entry-content > section + section{margin-top:0;}

/* Le texte reste ALIGNÉ À GAUCHE sur le wrap, comme les sections de blocs qui
   l'encadrent : centrer la colonne la décrochait du sommaire d'ancres et des
   titres de section (vérifié au navigateur à 1440px). Le plafond passe donc
   par le padding droit, calculé sur la largeur utile et jamais inférieur à la
   gouttière. */
main > .entry-content > p,
main > .entry-content > h2,
main > .entry-content > h3,
main > .entry-content > h4,
main > .entry-content > ul,
main > .entry-content > ol,
main > .entry-content > blockquote{max-width:var(--wrap);padding-right:max(var(--pad),calc(min(100%,var(--wrap)) - 820px - var(--pad)));}
