/*
Theme Name: Le Décodeur Immobilier
Description: Thème enfant de Twenty Twenty-Five aux couleurs de la charte du Décodeur Immobilier (direction « A, la page »).
Author: Guillaume Le Bricon
Template: twentytwentyfive
Version: 1.0.32
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: ledecodeur
*/

/* ==========================================================================
   1. Gabarit : en-tête, contenu, pied de page
   ========================================================================== */

/* En-tête : logo à gauche, menu et bouton Commander à droite, filet en dessous */
.site-entete { border-bottom: 1px solid var(--wp--preset--color--trait); padding-top: var(--wp--preset--spacing--30); padding-bottom: var(--wp--preset--spacing--30); }
.site-entete .wp-block-navigation { font-size: 1rem; gap: var(--wp--preset--spacing--40); }
.site-entete .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--encre); }
.site-entete .wp-block-navigation a:hover { text-decoration: underline; }
.site-entete .wp-block-buttons, .site-entete .wp-block-button, .site-entete .wp-block-button__link { width: auto; }
.site-entete .wp-block-button__link { min-height: 44px; padding: 0.625rem 1.25rem; }
p:has(> .ldi-logo) { margin: 0; line-height: 0; }
.ldi-logo { display: inline-flex; align-items: center; line-height: 0; }
.ldi-logo svg, .ldi-logo img { height: 40px; width: auto; display: block; }
.wp-block-image.ldi-logo { margin: 0; }
.site-pied .ldi-logo svg, .site-pied .ldi-logo img { height: 36px; }

/* Contenu : respiration sous l'en-tête et avant le pied de page */
.site-contenu { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--60); }
.site-contenu > .ariane { margin-bottom: var(--wp--preset--spacing--40); }
.ariane p { margin: 0; }
.ariane .separator { padding: 0 0.15em; }
.guide-meta { font-size: var(--wp--preset--font-size--petit); color: var(--wp--preset--color--lichen); margin-top: var(--wp--preset--spacing--20); }
.guide-meta a { color: inherit; }
.encadre-auteur { border-top: 1.5px solid var(--wp--preset--color--vert); padding-top: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--60); font-size: var(--wp--preset--font-size--petit); }

/* Pied de page : vert plein, logo et signature à gauche, liens à droite */
.site-pied { background: var(--wp--preset--color--vert); color: var(--wp--preset--color--velin); padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); margin-top: 0; font-size: var(--wp--preset--font-size--petit); }
.site-pied a { color: var(--wp--preset--color--velin); }
.site-pied p { margin: 0; }
.site-pied-grille { gap: var(--wp--preset--spacing--40); }
.site-signature { margin-top: var(--wp--preset--spacing--30) !important; }
.site-pied-liens { text-align: right; }
.site-pied-liens p + p { margin-top: 0.5rem; }
@media (max-width: 760px) {
  .site-pied-liens { text-align: left; }
}

/* Lecteurs d'écran uniquement */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

/* ==========================================================================
   2. Composants de la charte (copie de style-additionnel.css du design system)
   ========================================================================== */


/* Focus clavier : toujours visible, vert sur fond clair, vélin sur fond vert */
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--wp--preset--color--vert);
  outline-offset: 3px;
}
.bande :focus-visible, .site-pied :focus-visible { outline-color: var(--wp--preset--color--velin); }
.bande .encadre :focus-visible { outline-color: var(--wp--preset--color--vert); }

/* Liens : souligné fin, épaissi au survol */
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }

/* Boutons : hauteur minimale 48 px ; pleine largeur sur mobile */
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--velin); color: var(--wp--preset--color--vert); }
.bande .wp-block-button__link { background: var(--wp--preset--color--velin); border-color: var(--wp--preset--color--velin); color: var(--wp--preset--color--vert); }
.bande .wp-block-button__link:hover { background: var(--wp--preset--color--fond); border-color: var(--wp--preset--color--fond); }
.bande .encadre .wp-block-button__link { background: var(--wp--preset--color--vert); border-color: var(--wp--preset--color--vert); color: var(--wp--preset--color--velin); }

/* Surtitre : petites capitales espacées (classe « surtitre » sur un paragraphe) */
.surtitre { font-size: var(--wp--preset--font-size--surtitre); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--lichen); }
.bande .surtitre { color: var(--wp--preset--color--velin); }

/* Mention sous un champ email (classe « consentement ») */
.consentement { font-size: var(--wp--preset--font-size--legende); line-height: 1.45; color: var(--wp--preset--color--lichen); }
.consentement a { color: inherit; }

/* Bande verte : une seule par page, pour la commande (groupe pleine largeur, classe « bande ») */
.bande { background: var(--wp--preset--color--vert); color: var(--wp--preset--color--velin); }
.bande :where(h1, h2, h3, a:not(.wp-block-button__link)) { color: var(--wp--preset--color--velin); }

/* Encadrés (groupe + classe) */
.encadre { background: var(--wp--preset--color--velin); border-radius: 12px; padding: var(--wp--preset--spacing--50); }
.encadre-trait { background: var(--wp--preset--color--fond); border: 1.5px solid var(--wp--preset--color--vert); border-radius: 12px; padding: var(--wp--preset--spacing--50); }
.encadre-avenir { background: var(--wp--preset--color--fond); border: 1px solid var(--wp--preset--color--trait); border-top: 3px solid var(--wp--preset--color--laiton); border-radius: 12px; padding: var(--wp--preset--spacing--50); }
.emplacement { border: 1.5px dashed var(--wp--preset--color--trait-fort); border-radius: 12px; background: var(--wp--preset--color--fond-chaud); color: var(--wp--preset--color--lichen); font-size: var(--wp--preset--font-size--legende); text-align: center; padding: var(--wp--preset--spacing--30); }

/* Colonne à filet (colonne ou groupe + classe « col-filet ») */
.col-filet { border-top: 1.5px solid var(--wp--preset--color--vert); padding-top: var(--wp--preset--spacing--40); }

/* Liste à filets (liste + classe « filets ») */
.filets { list-style: none; padding-left: 0; }
.filets > li { border-top: 1px solid var(--wp--preset--color--trait); padding: var(--wp--preset--spacing--30) 0; }
.filets > li:last-child { border-bottom: 1px solid var(--wp--preset--color--trait); }

/* Liste de liens vers les guides (liste + classe « liste-liens ») */
.liste-liens { list-style: none; padding-left: 0; }
.liste-liens > li { border-top: 1px solid var(--wp--preset--color--trait); }
.liste-liens > li:last-child { border-bottom: 1px solid var(--wp--preset--color--trait); }
.liste-liens > li > a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: var(--wp--preset--spacing--30) 0; font-weight: 500; text-decoration: none; }
.liste-liens > li > a::after { content: "→"; flex: none; }
.liste-liens > li > a:hover { text-decoration: underline; }

/* Onglets « document par document » (bloc Navigation + classe « onglets ») */
.onglets { border-bottom: 1.5px solid var(--wp--preset--color--vert); }
.onglets .wp-block-navigation__container { gap: 6px !important; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.onglets .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1.5px solid var(--wp--preset--color--vert); border-bottom: 0; border-radius: 8px 8px 0 0; background: var(--wp--preset--color--fond); color: var(--wp--preset--color--vert); font-size: var(--wp--preset--font-size--petit); text-decoration: none; white-space: nowrap; }
.onglets .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--velin); }
.onglets .current-menu-item > .wp-block-navigation-item__content { background: var(--wp--preset--color--vert); color: var(--wp--preset--color--velin); }

/* Fil d'Ariane (bloc ou extension, classe « ariane ») */
.ariane { font-size: var(--wp--preset--font-size--legende); color: var(--wp--preset--color--lichen); }
.ariane a { color: inherit; }

/* Questions fréquentes : bloc Détails, signe + qui tourne */
.wp-block-details + .wp-block-details { border-top: 0; }
.wp-block-details summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; cursor: pointer; font-weight: 500; color: var(--wp--preset--color--vert); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; flex: none; font-size: 1.5rem; font-weight: 400; line-height: 1; transition: transform 0.2s ease; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }

/* Composant « traduction » (groupe + classe « trad » contenant trois groupes : trad-doc, trad-fleche, trad-sens) */
.trad { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1rem; align-items: stretch; }
.trad-doc { background: var(--wp--preset--color--fond-chaud); border: 1px solid var(--wp--preset--color--trait); border-radius: 12px; padding: var(--wp--preset--spacing--40); }
.trad-sens { background: var(--wp--preset--color--velin); border-radius: 12px; padding: var(--wp--preset--spacing--40); }
.trad-fleche { align-self: center; color: var(--wp--preset--color--vert); font-size: 1.5rem; }

/* Extrait annoté (bloc HTML personnalisé) : repères numérotés carrés, jamais ronds */
.extrait { background: var(--wp--preset--color--fond); border: 1px solid var(--wp--preset--color--trait-fort); padding: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--petit); }
.repere { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 4px; background: var(--wp--preset--color--vert); color: var(--wp--preset--color--velin); font-size: 0.8125rem; font-weight: 600; line-height: 1; }

/* Visionneuse de pages (bloc Galerie + classe « visionneuse », images avec « Agrandir au clic ») */
.wp-block-gallery.visionneuse { display: flex !important; flex-wrap: nowrap !important; gap: var(--wp--preset--spacing--40) !important; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; }
.wp-block-gallery.visionneuse > .wp-block-image { flex: 0 0 260px !important; width: 260px !important; scroll-snap-align: start; }
.wp-block-gallery.visionneuse img { border: 1px solid var(--wp--preset--color--trait); transition: transform 0.2s ease; }
.wp-block-gallery.visionneuse > .wp-block-image:hover img { transform: translateY(-4px); }
.wp-block-gallery.visionneuse figcaption { position: static !important; background: none !important; color: var(--wp--preset--color--encre) !important; padding: 0.75rem 0 0 !important; font-size: var(--wp--preset--font-size--petit) !important; text-align: left !important; }

/* Pages de rapport (image + classe « page-rapport ») */
.page-rapport img { border: 1px solid var(--wp--preset--color--trait); }

/* Maison en mots (bloc HTML personnalisé, SVG en ligne) */
.maison { max-width: 380px; margin-left: auto; }
.maison-guide { width: 200px; flex: none; }

@media (prefers-reduced-motion: reduce) {
  .wp-block-gallery.visionneuse img, .wp-block-details summary::after { transition: none; }
  .wp-block-gallery.visionneuse > .wp-block-image:hover img { transform: none; }
}

@media (max-width: 760px) {
  .wp-block-button, .wp-block-button__link { width: 100%; }
  .encadre, .encadre-trait, .encadre-avenir { padding: var(--wp--preset--spacing--40); }
  .trad { grid-template-columns: minmax(0, 1fr); }
  .trad-fleche { justify-self: center; transform: rotate(90deg); }
  .wp-block-gallery.visionneuse > .wp-block-image { flex-basis: 72% !important; width: 72% !important; }
  .maison { max-width: 200px; margin: 0 auto; }
  .maison-guide { width: 140px; }
}

/* ==========================================================================
   3. Compléments du thème enfant
   ========================================================================== */

/* La bande verte respire ; le contenu qui suit l'éloigne du pied de page */
.bande { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); margin-top: var(--wp--preset--spacing--60) !important; margin-bottom: var(--wp--preset--spacing--60) !important; }
.encadre, .encadre-trait, .encadre-avenir, .emplacement { margin-top: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--40); }
.emplacement { text-align: left; }
.emplacement p { margin: 0.25rem 0; }
.emplacement strong { color: var(--wp--preset--color--vert); }
.onglets { margin-bottom: var(--wp--preset--spacing--50); }
.site-entete .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) {
  .site-entete .wp-block-buttons { display: none; }
  .ldi-logo svg, .ldi-logo img { height: 34px; }
}
/* Lien « Commander » du menu : seulement dans le menu mobile ouvert */
.wp-block-navigation__responsive-container:not(.is-menu-open) .lien-mobile { display: none; }
/* Menu mobile ouvert : liens alignés à gauche, en grand */
.site-entete .wp-block-navigation__responsive-container.is-menu-open { padding: var(--wp--custom--marge); }
.site-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.site-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; }
.site-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: var(--wp--preset--font-size--titre-3); }

/* Formulaires Fluent Forms aux couleurs de la charte */
.ldi-formulaire .ff-el-input--label label { font-weight: 500; color: var(--wp--preset--color--encre); }
.ldi-formulaire .ff-el-form-control { border: 1.5px solid var(--wp--preset--color--trait-fort); border-radius: 8px; padding: 0.75rem 0.875rem; font: inherit; font-size: 1rem; color: var(--wp--preset--color--encre); background: rgba(31, 58, 50, 0.06); }
.ldi-formulaire .ff-el-form-control:focus { border-color: var(--wp--preset--color--vert); outline: 3px solid var(--wp--preset--color--vert); outline-offset: 2px; box-shadow: none; }
.ldi-formulaire .ff-el-form-check label { font-size: var(--wp--preset--font-size--petit); }
.ldi-formulaire .ff-btn-submit { border-radius: 999px !important; min-height: 48px; padding: 0.875rem 1.5rem !important; font: inherit; font-size: 1rem; font-weight: 500; background: var(--wp--preset--color--vert) !important; color: var(--wp--preset--color--velin) !important; border: 0; }
.ldi-formulaire .ff-btn-submit:hover { background: var(--wp--preset--color--vert-survol) !important; }
.ldi-formulaire .error, .ldi-formulaire .text-danger { color: #8A2B1E; font-size: var(--wp--preset--font-size--legende); }
.ff-message-success { border: 1.5px solid var(--wp--preset--color--vert); border-radius: 12px; background: var(--wp--preset--color--velin); padding: var(--wp--preset--spacing--40); box-shadow: none; }

/* Formulaire d'inscription MailerLite ([ldi_inscription]) */
.ldi-inscription { margin-top: var(--wp--preset--spacing--30); }
.ldi-inscription-ligne { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: stretch; }
.ldi-inscription .ml-form-fieldRow { flex: 1 1 16rem; }
.ldi-inscription .ml-form-embedSubmit { flex: 0 0 auto; }
.ldi-inscription input[type="email"] { width: 100%; box-sizing: border-box; min-height: 48px; border: 1.5px solid var(--wp--preset--color--lichen); border-radius: 8px; padding: 0.75rem 0.875rem; font: inherit; font-size: 1rem; color: var(--wp--preset--color--encre); background: rgba(31, 58, 50, 0.06); }
.ldi-inscription input[type="email"]:focus { outline: 3px solid var(--wp--preset--color--vert); outline-offset: 2px; border-color: var(--wp--preset--color--vert); }
.ldi-inscription .wp-element-button { min-height: 48px; cursor: pointer; }
.ldi-inscription .consentement { margin-top: 0.75rem; }
.ldi-inscription .ml-error input { border-color: #8A2B1E !important; }
.ldi-inscription .row-success p { margin: 0 0 0.5rem; }
.ldi-inscription .ml-form-embedSubmitLoad { display: inline-block; width: 18px; height: 18px; border: 3px solid var(--wp--preset--color--velin); border-right-color: transparent; border-radius: 50%; animation: ldi-tourne 1s linear infinite; }
@keyframes ldi-tourne { to { transform: rotate(360deg); } }
@media (max-width: 760px) { .ldi-inscription .ml-form-embedSubmit, .ldi-inscription .wp-element-button { width: 100%; } }

/* En-tête de l'accueil : texte à gauche, maison en mots à droite */
.ldi-hero { gap: var(--wp--preset--spacing--60); margin-bottom: var(--wp--preset--spacing--60); }
.ldi-hero .maison { margin-left: auto; }
@media (max-width: 781px) { .ldi-hero .maison { margin: var(--wp--preset--spacing--40) auto 0; } }

/* Respiration entre les sections du contenu : chaque grand titre (H2) et chaque
   encadré de premier niveau ouvrent une nouvelle section, avec un vrai blanc avant. */
.wp-block-post-content > h2.wp-block-heading { margin-top: var(--wp--preset--spacing--60); }
.wp-block-post-content > .surtitre + h2.wp-block-heading,
.wp-block-post-content > h2.wp-block-heading:first-child { margin-top: var(--wp--preset--spacing--20); }
.wp-block-post-content > .encadre,
.wp-block-post-content > .encadre-trait,
.wp-block-post-content > .encadre-avenir { margin-top: var(--wp--preset--spacing--60) !important; }

/* En-tête des guides : titre à gauche, petite maison en mots à droite (au-dessus sur mobile) */
.guide-entete { gap: var(--wp--preset--spacing--40); flex-wrap: wrap-reverse !important; }
.guide-entete > .wp-block-post-title { flex: 1 1 420px; min-width: 0; margin: 0; }
.guide-entete p:has(> .maison-guide) { margin: 0; line-height: 0; flex: none; }
.guide-entete { align-items: center !important; margin-bottom: var(--wp--preset--spacing--40) !important; }

/* Maison en mots : plaques des diagnostics, visibles seulement sur le document surligné */
.maison .plaque, .maison-guide .plaque { fill: none; }
.doc.surligne .plaque { fill: var(--wp--preset--color--vert); }
.doc.surligne text { fill: var(--wp--preset--color--velin); font-weight: 600; }

/* Guides : espacements resserrés (7 oct. 2026) — avant un H2 ou un encadré, 32 à 48 px au lieu de 48 à 72 px. */
.single-post .wp-block-post-content > h2.wp-block-heading,
.single-post .wp-block-post-content > .encadre,
.single-post .wp-block-post-content > .encadre-trait,
.single-post .wp-block-post-content > .encadre-avenir { margin-top: var(--wp--preset--spacing--50) !important; }
.single-post .wp-block-post-content > h3.wp-block-heading { margin-top: var(--wp--preset--spacing--40); }
/* Chapô des guides : un cran au-dessus du texte courant (la classe n'était reliée à aucune taille). */
.wp-block-post-content > p.chapo { font-size: var(--wp--preset--font-size--chapo); line-height: 1.55; }

/* Guides (articles) : tailles de texte réduites, le reste du site garde la charte d'origine (7 oct. 2026). */
body.single-post {
	--wp--preset--font-size--texte: clamp(1rem, 0.95rem + 0.25vw, 1.0625rem);
	--wp--preset--font-size--chapo: clamp(1.0625rem, 1rem + 0.3vw, 1.125rem);
	--wp--preset--font-size--titre-3: clamp(1.125rem, 1.05rem + 0.4vw, 1.25rem);
	--wp--preset--font-size--titre-2: clamp(1.5rem, 1.35rem + 0.75vw, 1.75rem);
}
.single-post .wp-block-post-content { line-height: 1.6; }

/* Guides : encadrés moins rembourrés (20 px en haut et en bas, 24 px sur les côtés). */
.single-post .wp-block-post-content .encadre,
.single-post .wp-block-post-content .encadre-trait,
.single-post .wp-block-post-content .encadre-avenir { padding: 1.25rem 1.5rem; }

/* Guides : listes des encadrés rapprochées du bord (puces à environ 8 px du bord intérieur). */
.single-post .wp-block-post-content .encadre ul.wp-block-list,
.single-post .wp-block-post-content .encadre ol.wp-block-list,
.single-post .wp-block-post-content .encadre-trait ul.wp-block-list { padding-left: 1.4rem; }

/* Composant « traduction » répété : un blanc entre deux paires, pour qu'on voie qui va avec qui (13 oct. 2026). */
.trad + .trad { margin-top: var(--wp--preset--spacing--50) !important; }
.trad .trad-fleche { margin: 0; }

/* 13 oct. 2026 (Guillaume) — encadrés beige moins rembourrés partout, comme dans les guides. */
.encadre, .encadre-trait, .encadre-avenir { padding: 1.25rem 1.5rem; }
.encadre ul.wp-block-list, .encadre ol.wp-block-list, .encadre-trait ul.wp-block-list { padding-left: 1.4rem; }
@media (max-width: 760px) { .encadre, .encadre-trait, .encadre-avenir { padding: 1rem 1.25rem; } }

/* Traduction : les deux cases de même hauteur (plus de marge de flux sur les enfants), rembourrage resserré. */
.trad > * { margin: 0 !important; }
.trad-doc, .trad-sens { padding: 1rem 1.25rem; }
.trad-doc > *, .trad-sens > * { margin: 0; }

/* Cartes « document par document » (groupe .cartes contenant des groupes .carte) : grille de deux,
   cartes de même hauteur, lien « Lire le guide » en pied ; une carte seule en dernier prend toute la largeur. */
.cartes { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cartes > * { margin: 0 !important; max-width: none !important; }
.carte { display: flex !important; flex-direction: column; background: var(--wp--preset--color--fond); border: 1px solid var(--wp--preset--color--trait); border-top: 3px solid var(--wp--preset--color--vert); border-radius: 12px; padding: 1rem 1.25rem; }
.carte > * { margin: 0 !important; }
.carte > h3.wp-block-heading { margin-bottom: 0.5rem !important; }
.carte > .carte-lien { margin-top: auto !important; padding-top: 0.75rem; font-weight: 500; }
.carte > .carte-lien a { text-decoration: none; }
.carte > .carte-lien a::after { content: " →"; }
.carte > .carte-lien a:hover { text-decoration: underline; }
.cartes > .carte:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 760px) { .cartes { grid-template-columns: minmax(0, 1fr); } }
.encadre > :first-child, .encadre-trait > :first-child, .encadre-avenir > :first-child { margin-top: 0 !important; }
.encadre > :last-child, .encadre-trait > :last-child, .encadre-avenir > :last-child { margin-bottom: 0 !important; }

/* 13 oct. 2026 (Guillaume) — moins de blanc avant les encadrés de premier niveau, pages et guides (24 à 32 px au lieu de 48 à 72). */
.wp-block-post-content > .encadre,
.wp-block-post-content > .encadre-trait,
.wp-block-post-content > .encadre-avenir,
.single-post .wp-block-post-content > .encadre,
.single-post .wp-block-post-content > .encadre-trait,
.single-post .wp-block-post-content > .encadre-avenir { margin-top: var(--wp--preset--spacing--40) !important; }

/* Citations de clients (page de l'offre), 13 oct. 2026 : sobres, au corps du texte */
.wp-block-post-content .wp-block-quote { font-size: var(--wp--preset--font-size--texte); font-family: inherit; font-style: italic; line-height: 1.6; border-left: 3px solid var(--wp--preset--color--vert); padding: 0 0 0 var(--wp--preset--spacing--40); margin-block: var(--wp--preset--spacing--50); }
.wp-block-post-content .wp-block-quote p { font-size: inherit; font-weight: 400; letter-spacing: normal; margin: 0; }
.wp-block-post-content .wp-block-quote cite { display: block; margin-top: 0.5rem; font-style: normal; font-size: var(--wp--preset--font-size--petit); color: var(--wp--preset--color--lichen); }

/* Tableau des durées de validité (page de l'outil), 15 oct. 2026 : en fiches sur petit écran */
@media (max-width: 600px) {
	.tableau-validite table, .tableau-validite tbody, .tableau-validite tr, .tableau-validite td { display: block; width: auto; }
	.tableau-validite thead { display: none; }
	.tableau-validite tr { border-top: 1px solid var(--wp--preset--color--trait-fort); padding: 0.75rem 0; }
	.tableau-validite td { border: 0; padding: 0.15rem 0; }
	.tableau-validite td:first-child { font-weight: 600; color: var(--wp--preset--color--vert); }
	.tableau-validite td:nth-child(2)::before { content: "Obligatoire quand : "; color: var(--wp--preset--color--lichen); }
	.tableau-validite td:nth-child(3)::before { content: "Durée : "; color: var(--wp--preset--color--lichen); }
	.tableau-validite td:nth-child(4)::before { content: "À savoir : "; color: var(--wp--preset--color--lichen); }
	.tableau-validite td:empty { display: none; }
}

/* Médaillon portrait (page de l'analyse, 15 oct. 2026) : photo ronde flottant à gauche du texte */
.is-layout-constrained > .medaillon { float: left; width: 120px; margin: 0.3rem 1.5rem 0.75rem max(0px, calc((100% - var(--wp--style--global--content-size, 720px)) / 2)) !important; }
.medaillon .wp-block-image { margin: 0 !important; }
.medaillon img { display: block; width: 120px !important; height: 120px; border-radius: 50%; object-fit: cover; }
.wp-block-post-content > h2 { clear: both; }
@media (max-width: 600px) {
	.is-layout-constrained > .medaillon { width: 96px; margin-right: 1rem !important; }
	.medaillon img { width: 96px !important; height: 96px; }
}

/* Page Guide gratuit (15 oct. 2026) : médaillon et signature dans la colonne de la maquette */
.ldi-hero .wp-block-column { display: flow-root; }
.ldi-hero .wp-block-column > .medaillon { float: left; margin: 0.3rem 1.25rem 0.5rem 0 !important; }

/* Aperçu du guide à côté du formulaire d'inscription (15 oct. 2026) */
.ldi-inscription-avec-apercu { display: flex; gap: 1.5rem; align-items: center; }
.ldi-inscription-formulaire { flex: 1; min-width: 0; }
.ldi-apercu-guide { flex: 0 0 170px; display: block; text-decoration: none; text-align: center; }
.ldi-apercu-guide img { display: block; width: 100%; height: auto; transition: transform .2s ease; }
.ldi-apercu-guide:hover img { transform: rotate(-2deg) scale(1.03); }
.ldi-apercu-guide span { display: block; margin-top: .4rem; font-size: var(--wp--preset--font-size--small, .9rem); text-decoration: underline; }
@media (max-width: 600px) { .ldi-inscription-avec-apercu { flex-direction: column; align-items: stretch; } .ldi-apercu-guide { flex-basis: auto; max-width: 220px; margin: 0 auto; } }
@media (prefers-reduced-motion: reduce) { .ldi-apercu-guide img { transition: none; } }

/* Téléchargement libre du guide, sous le formulaire (15 oct. 2026) */
.ldi-telechargement-libre { margin-top: .5rem; font-size: var(--wp--preset--font-size--small, .9rem); color: var(--wp--preset--color--lichen); }

/* 16 oct. 2026 — Accueil à deux offres : deux cartes, la signature au milieu (au-dessus de la carte 2 sur mobile). */
.moments { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0 1rem; align-items: stretch; margin-block: var(--wp--preset--spacing--50) !important; }
.moments > * { margin: 0 !important; max-width: none !important; }
.moments .carte ul.wp-block-list { padding-left: 1.2rem; margin: 0.75rem 0 !important; }
.moments .carte ul.wp-block-list li { margin: 0.2rem 0; }
.carte-avenir { border-top-color: var(--wp--preset--color--laiton) !important; }
.carte > .carte-pied { margin-top: auto !important; padding-top: 0.75rem; border-top: 1px solid var(--wp--preset--color--trait); }
.carte-pied > * { margin: 0 !important; }
.carte-pied > .carte-lien { margin-top: 0.4rem !important; font-weight: 500; }
.carte-pied > .carte-lien a { text-decoration: none; }
.carte-pied > .carte-lien a::after { content: " →"; }
.carte-pied > .carte-lien a:hover { text-decoration: underline; }
.carte-pied form, .carte-pied .ml-form-embedContainer { margin-top: 0.5rem; }
.moment-signature { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; color: var(--wp--preset--color--lichen); font-size: var(--wp--preset--font-size--legende); letter-spacing: 0.08em; text-transform: uppercase; }
.moment-signature::before, .moment-signature::after { content: ""; flex: 1; width: 1px; background: var(--wp--preset--color--trait-fort); }
@media (max-width: 760px) {
  .moments { grid-template-columns: minmax(0, 1fr); }
  .moment-signature { flex-direction: row; padding: 0.75rem 0; }
  .moment-signature::before, .moment-signature::after { width: auto; height: 1px; }
}
/* Bandeau des documents lus */
.bandeau-docs { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.bandeau-docs span { border: 1px solid var(--wp--preset--color--trait-fort); border-radius: 999px; padding: 0.2rem 0.8rem; font-size: var(--wp--preset--font-size--legende); color: var(--wp--preset--color--vert); }
/* Guides en deux colonnes sur l'accueil */
.guides-deux { gap: var(--wp--preset--spacing--50) !important; }
.lien-suite a { font-weight: 500; text-decoration: none; }
.lien-suite a::after { content: " →"; }
/* Formulaire d'attente compact dans la carte 2 : champ et bouton sur une ligne */
@media (min-width: 761px) { .carte-pied .ldi-inscription-ligne { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 0.5rem; align-items: stretch; } }
.carte-pied .ldi-inscription-ligne .ml-form-fieldRow { flex: 1 1 auto; min-width: 0; margin: 0; }
.carte-pied .ldi-inscription-ligne input[type="email"] { width: 100%; }
.carte-pied .ml-form-embedSubmit { flex: none; margin: 0; }
.carte-pied .consentement { margin: 0.4rem 0 0 !important; font-size: 0.75rem; line-height: 1.4; }
/* Cartes de l'accueil plus larges que la colonne de texte ; libellé de la signature sur trois lignes */
.wp-block-post-content > .moments { max-width: var(--wp--style--global--wide-size, 1100px) !important; margin-left: auto !important; margin-right: auto !important; }
.moment-signature span { max-width: 6.5rem; text-align: center; line-height: 1.35; }
@media (max-width: 760px) { .moment-signature span { max-width: none; } }
/* Fonds teintés très légers : vert pour l'analyse avant achat, laiton pour la seconde offre (pas de fond plein : la seule bande verte reste celle de la commande) */
.moments > .carte { background: color-mix(in srgb, var(--wp--preset--color--vert) 6%, #fff); border-color: color-mix(in srgb, var(--wp--preset--color--vert) 18%, #fff); }
.moments > .carte-avenir { background: color-mix(in srgb, var(--wp--preset--color--laiton) 9%, #fff); border-color: color-mix(in srgb, var(--wp--preset--color--laiton) 25%, #fff); }
.moments .carte-pied { border-top-color: rgba(0,0,0,0.08); }
.moments .carte-avenir input[type="email"] { background: #fff; }
/* Bandeau des documents : les étiquettes qui ont leur guide sont des liens, sans soulignement ; seul le survol les trahit */
.bandeau-docs a { border: 1px solid var(--wp--preset--color--trait-fort); border-radius: 999px; padding: 0.2rem 0.8rem; font-size: var(--wp--preset--font-size--legende); color: var(--wp--preset--color--vert); text-decoration: none; transition: background-color .15s, border-color .15s; }
.bandeau-docs a:hover, .bandeau-docs a:focus-visible { background: var(--wp--preset--color--vert); border-color: var(--wp--preset--color--vert); color: var(--wp--preset--color--velin); }
#vous-venez-d-acheter { scroll-margin-top: 6rem; }

/* ==========================================================================
   Passe visuelle (16 oct. 2026, validée sur la planche « Passe visuelle du site ») :
   les listes deviennent des cartes, des frises, des colonnes. Le texte ne change pas.
   Copie avant changement : style.css.avant-2026-10-16-passe-visuelle
   ========================================================================== */

/* Composant élargi à 840 px (960 avant le 16 oct. 2026) dans une page (classe « large » sur une liste ou un groupe) */
.is-layout-constrained > .large { max-width: min(840px, 100%) !important; }

/* Liste en cartes (liste + « liste-cartes », options : deux, filet, douce, teintee, mots) ;
   le premier <strong> d'un élément devient le titre de la carte */
ul.liste-cartes, ol.liste-cartes { list-style: none; padding-left: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.liste-cartes.deux { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.liste-cartes > li { margin: 0; background: var(--wp--preset--color--fond); border: 1px solid var(--wp--preset--color--trait); border-radius: 12px; padding: 1.25rem 1.5rem; font-size: 1.0625rem; line-height: 1.55; }
.liste-cartes > li > strong:first-child { display: block; margin-bottom: 0.4rem; color: var(--wp--preset--color--vert); font-size: 1.125rem; font-weight: 600; line-height: 1.3; }
.liste-cartes.filet > li { border-top: 3px solid var(--wp--preset--color--vert); }
.liste-cartes.douce > li { background: var(--wp--preset--color--fond-chaud); border-color: transparent; }
.liste-cartes.teintee > li { background: rgba(31, 58, 50, 0.06); border: 0; border-top: 3px solid var(--wp--preset--color--vert); }
.liste-cartes.deux > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.liste-cartes.mots { gap: 2.5rem; }
.liste-cartes.mots > li { background: none; border: 0; border-top: 2px solid var(--wp--preset--color--vert); border-radius: 0; padding: 1.25rem 0 0; }
.liste-cartes.mots > li > strong:first-child { font-size: 1.5rem; margin-bottom: 0.6rem; }
@media (max-width: 760px) {
  ul.liste-cartes, ol.liste-cartes, .liste-cartes.deux { grid-template-columns: minmax(0, 1fr); }
  .liste-cartes > li { padding: 1rem 1.25rem; }
  .liste-cartes.mots { gap: 1.5rem; }
}

/* Petits pictogrammes au trait, réservés aux trois limites des diagnostics (page de l'analyse) */
.liste-limites > li::before { content: ""; display: block; width: 36px; height: 36px; margin-bottom: 0.75rem; background: center / contain no-repeat; }
.liste-limites > li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%231F3A32' stroke-width='1.8'%3E%3Cpath d='M9 4h13l6 6v22H9z'/%3E%3Cpath d='M22 4v6h6'/%3E%3Cpath d='M13 17h11M13 22h11M13 27h7'/%3E%3C/svg%3E"); }
.liste-limites > li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%231F3A32' stroke-width='1.8'%3E%3Crect x='3' y='6' width='11' height='14' rx='1'/%3E%3Crect x='22' y='4' width='11' height='14' rx='1'/%3E%3Crect x='12' y='20' width='11' height='13' rx='1'/%3E%3Cpath d='M14 13l8-2M17 20l2-2' stroke-dasharray='2 2'/%3E%3C/svg%3E"); }
.liste-limites > li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='%231F3A32' stroke-width='1.8'%3E%3Crect x='3' y='13' width='30' height='10' rx='1'/%3E%3Cpath d='M8 13v4M13 13v6M18 13v4M23 13v6M28 13v4'/%3E%3C/svg%3E"); }

/* Frise d'étapes numérotées (liste numérotée + « frise ») : une seule par page */
ol.frise { list-style: none; padding-left: 0; counter-reset: etape; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; position: relative; text-align: center; }
ol.frise::before { content: ""; position: absolute; top: 28px; left: 16.66%; right: 16.66%; border-top: 2px dashed var(--wp--preset--color--trait-fort); }
ol.frise > li { counter-increment: etape; position: relative; display: block; margin: 0; font-size: 1.0625rem; line-height: 1.55; color: var(--wp--preset--color--lichen); }
ol.frise > li::before { content: counter(etape); position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 0 auto 1rem; border-radius: 50%; background: var(--wp--preset--color--vert); color: var(--wp--preset--color--velin); font-size: 1.5rem; font-weight: 600; }
ol.frise > li > strong:first-child { display: block; margin-bottom: 0.4rem; color: var(--wp--preset--color--vert); font-size: 1.1875rem; font-weight: 600; }
@media (max-width: 760px) {
  ol.frise { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; text-align: left; }
  ol.frise::before { top: 28px; bottom: 28px; left: 27px; right: auto; border-top: 0; border-left: 2px dashed var(--wp--preset--color--trait-fort); }
  ol.frise > li { padding-left: 72px; min-height: 56px; }
  ol.frise > li::before { position: absolute; left: 0; top: 0; margin: 0; }
}

/* Bandeau de repères chiffrés (liste + « reperes ») : le premier <strong> est le chiffre */
ul.reperes { list-style: none; padding-left: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--wp--preset--color--trait); border-bottom: 1px solid var(--wp--preset--color--trait); }
ul.reperes > li { margin: 0; padding: 1.25rem; border-right: 1px solid var(--wp--preset--color--trait); font-size: var(--wp--preset--font-size--petit); line-height: 1.4; color: var(--wp--preset--color--lichen); }
ul.reperes > li:last-child { border-right: 0; }
ul.reperes > li > strong:first-child { display: block; margin-bottom: 0.25rem; color: var(--wp--preset--color--vert); font-size: 2rem; font-weight: 600; line-height: 1.1; }
ul.reperes small { font-size: 1rem; font-weight: 500; }
@media (max-width: 760px) {
  ul.reperes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  ul.reperes > li { padding: 1rem 0.75rem; }
  ul.reperes > li:nth-child(2) { border-right: 0; }
  ul.reperes > li:nth-child(-n+2) { border-bottom: 1px solid var(--wp--preset--color--trait); }
  ul.reperes > li > strong:first-child { font-size: 1.625rem; }
}

/* Sommaire numéroté 01, 02… (liste numérotée + « sommaire ») */
ol.sommaire { list-style: none; padding-left: 0; counter-reset: sommaire; }
ol.sommaire > li { counter-increment: sommaire; position: relative; margin: 0; padding: 0.9rem 0 0.9rem 2.75rem; border-top: 1px solid var(--wp--preset--color--trait); line-height: 1.55; }
ol.sommaire > li:last-child { border-bottom: 1px solid var(--wp--preset--color--trait); }
ol.sommaire > li::before { content: counter(sommaire, decimal-leading-zero); position: absolute; left: 0; top: 0.9rem; font-weight: 600; color: var(--wp--preset--color--lichen); }

/* Pastilles du code couleur du rapport (seul endroit du site où apparaissent rouge, orange, vert) */
.pastilles { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.6rem; }
.pastille { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.3rem 0.8rem; border-radius: 999px; font-size: var(--wp--preset--font-size--petit); line-height: 1.3; }
.pastille::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; }
.pastille-rouge { background: #F7E3E0; } .pastille-rouge::before { background: #B23A2E; }
.pastille-orange { background: #F8EBD8; } .pastille-orange::before { background: #C77A1A; }
.pastille-vert { background: #E3EDE6; } .pastille-vert::before { background: #3F7A55; }

/* Ce que vous recevez : vignette du rapport à gauche, sommaire à droite (groupe « recevoir large ») */
.recevoir { display: grid !important; grid-template-columns: 280px minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.recevoir > * { margin: 0 !important; }
.recevoir .wp-block-image img { border: 1px solid var(--wp--preset--color--trait); border-radius: 8px; }
.recevoir .legende { margin-top: 0.5rem !important; }
@media (max-width: 760px) { .recevoir { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } .recevoir .wp-block-image { max-width: 220px; } }

/* Phrase forte centrée (paragraphe + « phrase-forte ») */
p.phrase-forte { text-align: center; font-size: var(--wp--preset--font-size--titre-3); font-weight: 600; color: var(--wp--preset--color--vert); }

/* Cas exclus (groupe « exclus » : une phrase en gras puis une liste « liste-croix ») */
.exclus { border: 1px solid var(--wp--preset--color--trait); border-radius: 12px; padding: 1.25rem 1.5rem; }
.exclus > * { margin: 0 !important; }
.exclus > * + * { margin-top: 0.75rem !important; }
ul.liste-croix { list-style: none; padding-left: 0; }
ul.liste-croix > li { position: relative; padding-left: 1.75rem; }
ul.liste-croix > li + li { margin-top: 0.5rem; }
ul.liste-croix > li::before { content: ""; position: absolute; left: 0; top: 0.35em; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%234E6259' stroke-width='2'%3E%3Cpath d='M2 2l10 10M12 2L2 12'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 760px) { .exclus { padding: 1rem 1.25rem; } }
/* Mobile : on resserre, pour que les cartes n'allongent pas la page */
@media (max-width: 760px) {
  .liste-limites > li { position: relative; padding-left: 4rem; }
  .liste-limites > li::before { position: absolute; left: 1.25rem; top: 1rem; width: 28px; height: 28px; margin: 0; }
  ul.liste-cartes, ol.liste-cartes { gap: 0.75rem; }
  .liste-cartes > li { font-size: 1rem; }
  .recevoir .wp-block-image { max-width: 160px; }
  ul.reperes > li { padding: 0.75rem 0.75rem; }
}

/* Chronologie (liste numérotée + « chronologie ») : points reliés, sans numéro ; le premier <strong> est la date.
   Utilisée sur À propos. Verticale sur mobile. */
ol.chronologie { list-style: none; padding-left: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; position: relative; text-align: center; }
ol.chronologie::before { content: ""; position: absolute; top: 9px; left: 10%; right: 10%; border-top: 2px solid var(--wp--preset--color--trait); }
ol.chronologie > li { position: relative; margin: 0; font-size: var(--wp--preset--font-size--petit); line-height: 1.45; color: var(--wp--preset--color--lichen); }
ol.chronologie > li::before { content: ""; position: relative; z-index: 1; display: block; box-sizing: border-box; width: 20px; height: 20px; margin: 0 auto 0.75rem; border-radius: 50%; background: var(--wp--preset--color--fond); border: 3px solid var(--wp--preset--color--vert); }
ol.chronologie > li:last-child::before { background: var(--wp--preset--color--vert); }
ol.chronologie > li > strong:first-child { display: block; margin-bottom: 0.25rem; color: var(--wp--preset--color--vert); font-size: 1.125rem; font-weight: 600; }
@media (max-width: 760px) {
  ol.chronologie { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; text-align: left; }
  ol.chronologie::before { top: 10px; bottom: 10px; left: 9px; right: auto; border-top: 0; border-left: 2px solid var(--wp--preset--color--trait); }
  ol.chronologie > li { padding-left: 2.25rem; }
  ol.chronologie > li::before { position: absolute; left: 0; top: 0.15rem; margin: 0; }
}

/* Citation d'un document (citation + « citation-dpe ») : extrait sur fond chaud, plaque verte « DPE » */
.wp-block-post-content .wp-block-quote.citation-dpe { border: 1px solid var(--wp--preset--color--trait); background: var(--wp--preset--color--fond-chaud); border-radius: 12px; padding: 1.25rem 1.5rem; font-style: normal; font-size: var(--wp--preset--font-size--chapo); line-height: 1.45; color: var(--wp--preset--color--vert); }
.wp-block-post-content .wp-block-quote.citation-dpe::before { content: "DPE"; display: inline-block; margin-bottom: 0.6rem; padding: 0.15rem 0.5rem; border-radius: 4px; background: var(--wp--preset--color--vert); color: var(--wp--preset--color--velin); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em; line-height: 1.4; }

/* Cartes par trois (groupe « cartes trois ») ; un bouton en pied de carte se cale en bas */
.cartes.trois { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cartes.trois > .carte:last-child:nth-child(odd) { grid-column: auto; }
.carte > .wp-block-buttons { margin-top: auto !important; padding-top: 0.75rem; }
.carte > p + p { margin-top: 0.4rem !important; }
.carte > p:first-child strong { color: var(--wp--preset--color--vert); font-size: 1.125rem; }
@media (max-width: 760px) { .cartes.trois { grid-template-columns: minmax(0, 1fr); } }
/* La carte qui mène à la commande est teintée, comme la carte 1 de l'accueil */
.cartes.trois > .carte:first-child { background: rgba(31, 58, 50, 0.06); }

/* Guides en bandeaux (groupe « cartes bandeaux large ») : une carte par ligne, pleine largeur, peu haute.
   Quand la carte contient une image (mini-photo 4:3 en noir et blanc), elle se place à gauche. */
.cartes.bandeaux { grid-template-columns: minmax(0, 1fr); gap: 0.875rem; }
.cartes.bandeaux .carte > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.cartes.bandeaux .carte:has(> .wp-block-image) { display: grid !important; grid-template-columns: 132px minmax(0, 1fr); column-gap: 1.75rem; align-items: center; padding: 1rem 1.5rem 1rem 1rem; }
.cartes.bandeaux .carte:has(> .wp-block-image) > .wp-block-image { grid-row: 1 / span 3; }
.cartes.bandeaux .carte:has(> .wp-block-image) > :not(.wp-block-image) { grid-column: 2; }
.cartes.bandeaux .carte > .wp-block-image img { width: 132px; height: 99px; object-fit: cover; border-radius: 8px; }
@media (max-width: 760px) {
  .cartes.bandeaux .carte:has(> .wp-block-image) { grid-template-columns: 88px minmax(0, 1fr); column-gap: 1rem; align-items: start; }
  .cartes.bandeaux .carte > .wp-block-image img { width: 88px; height: 66px; }
}

/* Frise à textes longs (« frise gauche ») : ronds et texte calés à gauche, plus lisibles que centrés */
ol.frise.gauche { text-align: left; }
ol.frise.gauche::before { left: 28px; right: calc((100% - 4rem) / 3 - 28px); }
ol.frise.gauche > li::before { margin: 0 0 1rem; }
/* Un blanc après une frise, quand ce qui suit n'est pas un titre */
ol.frise + p, ol.frise + .wp-block-group { margin-top: var(--wp--preset--spacing--50) !important; }
@media (max-width: 760px) {
  ol.frise.gauche::before { left: 27px; right: auto; }
  ol.frise.gauche > li::before { margin: 0; }
}

/* ==========================================================================
   Rythme vertical (16 oct. 2026, demande de Guillaume : « un peu trop collé partout »).
   Trois paliers, du plus serré au plus large :
   1. texte suivi de texte : 1,1 em (≈ 21 px sur les pages, 18 px dans les guides) ;
   2. un objet (image, boutons, encadré, cartes, liste élargie, tableau) : 24 px avant, 32 à 48 px après ;
   3. un nouveau titre : H3 32 à 48 px, H2 48 à 72 px (inchangé).
   Un titre reste près de ce qu'il annonce, et le surtitre près de son titre.
   Copie avant changement : style.css.avant-2026-10-16-rythme
   ========================================================================== */
body .wp-block-post-content > * + :not(.wp-block-details) { margin-block-start: 1.1em; }
body .wp-block-post-content > :is(figure, .wp-block-image, .wp-block-buttons, .wp-block-group, .wp-block-table, .wp-block-gallery, .large, .wp-block-columns) { margin-block-start: var(--wp--preset--spacing--40); }
body .wp-block-post-content > :is(figure, .wp-block-image, .wp-block-group, .wp-block-table, .wp-block-gallery, .large, .wp-block-columns) + * { margin-block-start: var(--wp--preset--spacing--50); }
body .wp-block-post-content > .wp-block-buttons + * { margin-block-start: var(--wp--preset--spacing--40); }
body .wp-block-post-content > .wp-block-details + :not(.wp-block-details) { margin-block-start: var(--wp--preset--spacing--40); }
body .wp-block-post-content > h3.wp-block-heading { margin-block-start: var(--wp--preset--spacing--50); }
body .wp-block-post-content > :is(h2, h3) + * { margin-block-start: 1.1rem; }
body .wp-block-post-content > :is(h2, h3) + :is(.large, .wp-block-group, figure, .wp-block-image) { margin-block-start: var(--wp--preset--spacing--40); }
body .wp-block-post-content > .surtitre:not(:first-child) { margin-block-start: var(--wp--preset--spacing--60); }
body .wp-block-post-content > .surtitre + :is(h1, h2, h3) { margin-block-start: 0.4rem !important; }
body .wp-block-post-content > .chapo + .wp-block-buttons { margin-block-start: var(--wp--preset--spacing--40); }
/* Dans les cartes et encadrés, deux paragraphes ne se collent pas non plus */
.encadre > * + *, .encadre-trait > * + *, .encadre-avenir > * + * { margin-block-start: 0.8em; }
/* Le médaillon flotte à côté du texte : le paragraphe qui suit reste à sa hauteur */
body .wp-block-post-content > .medaillon + * { margin-block-start: 0; }
/* Les titres H2 et les citations gardent leur blanc d'origine (règles ci-dessus plus fortes sinon) */
body .wp-block-post-content > h2.wp-block-heading { margin-block-start: var(--wp--preset--spacing--60); }
body .wp-block-post-content > h2.wp-block-heading:first-child { margin-block-start: var(--wp--preset--spacing--20); }
body .wp-block-post-content > .wp-block-quote { margin-block-start: var(--wp--preset--spacing--50); margin-block-end: var(--wp--preset--spacing--50); }
body.single-post .wp-block-post-content > h2.wp-block-heading { margin-block-start: var(--wp--preset--spacing--50); }

/* Sections à fond chaud (groupe pleine largeur « section-chaude ») : alternent avec les sections blanches
   pour séparer les blocs de l'accueil. Le vert plein reste réservé à la bande de commande. */
body .wp-block-post-content > .section-chaude { background: var(--wp--preset--color--fond-chaud); padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); margin-block-start: var(--wp--preset--spacing--60) !important; }
body .wp-block-post-content > .section-chaude + * { margin-block-start: var(--wp--preset--spacing--60); }
body .wp-block-post-content > .section-chaude + .bande { margin-top: 0 !important; }
.section-chaude > :first-child { margin-block-start: 0 !important; }
.section-chaude > * + * { margin-block-start: 1.1rem; }
.section-chaude > h2.wp-block-heading { margin-block-start: var(--wp--preset--spacing--60); }
.section-chaude > .surtitre + h2.wp-block-heading { margin-block-start: 0.4rem; }
.section-chaude > :is(.large, .cartes, .wp-block-group) { margin-block-start: var(--wp--preset--spacing--40); }
.section-chaude .carte { background: rgba(31, 58, 50, 0.06); }
/* Accueil : titres centrés dans la section des documents et des trois étapes */
.section-chaude:has(> .frise) > h2.wp-block-heading { text-align: center; }
.section-chaude:has(> .frise) > .bandeau-docs { justify-content: center; text-align: center; }
/* Accueil : l'encadré de l'outil gratuit se détache (teinte verte légère) et respire après « Lire mon histoire » */
body .wp-block-post-content > .lien-suite + .encadre-trait { margin-block-start: var(--wp--preset--spacing--50) !important; background: rgba(31, 58, 50, 0.06); border-color: transparent; }
/* Partout : l'encadré à filet (« Et dans votre dossier ? », outil gratuit, engagements) prend la teinte verte légère
   au lieu du blanc bordé, et tous les encadrés respirent davantage dans le texte */
.encadre-trait { background: rgba(31, 58, 50, 0.06); border-color: transparent; }
body .wp-block-post-content > :is(.encadre, .encadre-trait, .encadre-avenir, .exclus) { margin-block-start: var(--wp--preset--spacing--50) !important; }
body .wp-block-post-content > :is(.encadre, .encadre-trait, .encadre-avenir, .exclus) + * { margin-block-start: var(--wp--preset--spacing--50); }
.exclus { background: var(--wp--preset--color--fond-chaud); border-color: transparent; }
body.single-post .wp-block-post-content > :is(.encadre, .encadre-trait, .encadre-avenir) { margin-block-start: var(--wp--preset--spacing--50) !important; }
body .wp-block-post-content > .ldi-dc { margin-block-start: var(--wp--preset--spacing--50); }

/* ESSAI 16 oct. 2026 — tailles des guides appliquées à tout le site (pour revenir : supprimer ce bloc). */
body {
	--wp--preset--font-size--texte: clamp(1rem, 0.95rem + 0.25vw, 1.0625rem);
	--wp--preset--font-size--chapo: clamp(1.0625rem, 1rem + 0.3vw, 1.125rem);
	--wp--preset--font-size--titre-3: clamp(1.125rem, 1.05rem + 0.4vw, 1.25rem);
	--wp--preset--font-size--titre-2: clamp(1.5rem, 1.35rem + 0.75vw, 1.75rem);
	--wp--preset--font-size--titre-1: clamp(2rem, 1.7rem + 1.4vw, 2.625rem);
}
.wp-block-post-content { line-height: 1.6; }
.liste-cartes > li, ol.frise > li { font-size: 1rem; }
.liste-cartes > li > strong:first-child, ol.chronologie > li > strong:first-child { font-size: 1.0625rem; }
ol.frise > li > strong:first-child { font-size: 1.125rem; }
.liste-cartes.mots > li > strong:first-child { font-size: 1.3125rem; }
ul.reperes > li > strong:first-child { font-size: 1.75rem; }
/* Accueil : la phrase sous le titre garde sa taille d'origine (20 px), c'est la première chose lue */
.ldi-hero p.chapo { font-size: 1.25rem; line-height: 1.5; }
/* Un titre suivi du portrait rond : un blanc entre le titre et le portrait comme le texte */
body .wp-block-post-content > h2 + .medaillon, body .wp-block-post-content > h2 + .medaillon + p { margin-block-start: 1.25rem !important; }
/* Liste à croix sur deux colonnes (« liste-croix deux-colonnes »), pour une longue liste de limites */
ul.liste-croix.deux-colonnes { column-count: 2; column-gap: 2.5rem; }
ul.liste-croix.deux-colonnes > li { break-inside: avoid; margin-block-end: 0.6rem; }
ul.liste-croix.deux-colonnes > li + li { margin-top: 0; }
@media (max-width: 760px) { ul.liste-croix.deux-colonnes { column-count: 1; } }

/* 16 oct. 2026 : boutons des cartes alignés en bas (À propos, « Et vous, où en êtes-vous ? ») */
.carte > .wp-block-buttons { margin-top: auto !important; padding-top: 0.75rem; }

/* 16 oct. 2026 : bandeau de repères centré entre le bouton et le titre suivant, fond uni léger */
ul.reperes { margin-top: 2.5rem !important; background: rgba(31, 58, 50, 0.06); }
ul.reperes + * { margin-top: 2.5rem !important; }

/* 16 oct. 2026 : en-tête sur fond chaud (essai, retirer cette ligne pour revenir au blanc) */
.site-entete { background: var(--wp--preset--color--fond-chaud); }
