.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --es-vert-vivant:#1B6E46; --es-vert-profond:#123D28; --es-jaune:#F5AD1F; --es-jaune-survol:#E39A0C; --es-fond:#FBF7EE; --es-encre:#15241B; --es-vert-pale:#E3EFE7; --es-jaune-pale:#FDEFCF; --es-framboise:#B8235A; --es-ardoise:#3A5A7A; --es-texte-doux:#4A5A50; --es-bordure:#DCD8CE; --es-bordure-champ:#6B776F; --es-blanc:#FFFFFF; --es-police-titre:Bricolage Grotesque; --es-police-texte:Lexend; --es-rayon-s:4px; --es-rayon-m:8px; --es-rayon-l:12px; --es-rayon-xl:16px; --es-conteneur:1200px; --es-lecture:720px; }
/* Start custom CSS *//* eSCIENCES — Blog et articles (charte V14.4)
   Emplacement : Elementor › Paramètres du site › CSS personnalisé (kit 8).
   Ne cible que les classes es-blog-* et es-article-* : aucun effet sur les autres pages.
   Copie de référence : docs/blog-css-kit.css */

/* Modèles du Theme Builder (article, rubrique) : pleine largeur, sans marge ajoutée */
.elementor-location-single:has(.es-blog-barre), .elementor-location-archive:has(.es-blog-barre) { padding: 0; }
body:has(.es-blog-barre) { background-color: var(--es-fond); }

/* Boucles : pas de marge interne héritée des blocs */
.es-blog-grille, .es-blog-grille > *, .es-blog-rubriques .e-collection-loop-layout { padding: 0; }
.e-collection-loop-base:has(> .es-blog-grille) { padding: 0; }

/* Cartes */
.es-blog-carte:focus-within { outline: 3px solid var(--es-vert-profond); outline-offset: 3px; }
.es-blog-carte .es-blog-titre-carte a { color: var(--es-vert-profond); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.es-blog-carte:hover .es-blog-titre-carte a { text-decoration-thickness: 2px; }
.es-blog-carte .es-blog-titre-carte a::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.es-blog-page .es-blog-carte .es-blog-titre-carte a:focus-visible { outline: none; }
.es-blog-carte .es-blog-titre-carte { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; overflow-wrap: anywhere; hyphens: auto; }
.es-blog-carte .es-blog-extrait { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.es-blog-carte .es-blog-extrait:empty { display: none; }
.es-blog-vignette img:not([src]), .es-blog-vignette img[src=""] { display: none; }
.es-blog-vignette img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }
/* Au survol ou au focus, le disque grossit légèrement (zoom choisi par Tommy le 25/10/2026, à la place du glissement) */
.es-blog-carte:hover .es-blog-disque, .es-blog-carte:focus-within .es-blog-disque { transform: scale(1.25); }

/* Rubrique de l'article (widget Infos de la publication) */
.es-blog-carte .elementor-widget-post-info { position: relative; z-index: 1; margin: 0; }
.es-blog-carte .elementor-widget-post-info ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.es-blog-carte .elementor-widget-post-info .elementor-icon-list-icon { display: none; }
.es-blog-carte .elementor-post-info__terms-list { font: 500 13px/1.3 var(--es-police-texte); color: var(--es-vert-profond); }
.es-blog-carte .elementor-post-info__terms-list-item { display: inline-block; padding: 3px 8px; border: 1px solid var(--es-vert-profond); border-radius: 4px; }
/* Dans une rubrique, l'étiquette répéterait le titre de la page : on la masque */
body.category:not(.category-blog) .es-blog-carte .elementor-widget-post-info { display: none; }

/* À la une : le premier article de la première page s'étale sur toute la largeur */
@media (min-width: 1025px) {
  .e-collection-loop-base:has(.e-pagination-prev-base[aria-disabled="true"]) .es-blog-une > :first-child { grid-column: 1 / -1; }
  .e-collection-loop-base:has(.e-pagination-prev-base[aria-disabled="true"]) .es-blog-une > :first-child .es-blog-carte { flex-direction: row; align-items: stretch; gap: 16px; padding-bottom: 28px; }
  .e-collection-loop-base:has(.e-pagination-prev-base[aria-disabled="true"]) .es-blog-une > :first-child .es-blog-vignette { flex: 0 0 58%; aspect-ratio: 16 / 10; }
  .e-collection-loop-base:has(.e-pagination-prev-base[aria-disabled="true"]) .es-blog-une > :first-child .es-blog-corps { justify-content: center; padding: 24px 32px 24px 40px; }
  .e-collection-loop-base:has(.e-pagination-prev-base[aria-disabled="true"]) .es-blog-une > :first-child .es-blog-titre-carte { font-size: 36px; line-height: 1.1; }
  .e-collection-loop-base:has(.e-pagination-prev-base[aria-disabled="true"]) .es-blog-une > :first-child .es-blog-extrait { font-size: 18px; -webkit-line-clamp: 4; }
  .e-collection-loop-base:has(.e-pagination-prev-base[aria-disabled="true"]) .es-blog-une > :first-child .es-blog-date { margin-top: 8px; }
}

/* Pagination : un bouton désactivé reste invisible, mais garde sa place */
.es-blog-page .e-pagination-prev-base[aria-disabled="true"], .es-blog-page .e-pagination-next-base[aria-disabled="true"] { visibility: hidden; }
.es-blog-page .e-pagination-base:not(:has(a:not([aria-disabled="true"]))) { display: none; }
.es-blog-bouton p { margin: 0; font: inherit; color: inherit; }

/* Liens et focus dans les barres vertes */
.es-blog-barre a { color: #fff; }
.es-blog-barre a:hover { color: var(--es-vert-pale); }
.es-blog-fil a { color: var(--es-vert-profond); text-decoration: underline; text-underline-offset: 3px; }
/* Sélecteurs renforcés : le style de base des liens Elementor (all: unset) supprime sinon l'anneau de focus */
.es-blog-page a:focus-visible, .es-blog-page .e-con a:focus-visible { outline: 3px solid var(--es-vert-profond); outline-offset: 3px; }
.es-blog-barre a:focus-visible, .es-blog-barre .e-con a:focus-visible { outline: 3px solid var(--es-jaune); outline-offset: 3px; border-radius: 4px; }

/* ---------- Modèle d'article ---------- */
/* Sans image mise en avant, le cadre d'ouverture (et son disque) disparaît ; il reste affiché dès qu'une image existe */
.elementor-location-single .es-blog-page > article > .e-con:has(> img:not([src])), .elementor-location-single .es-blog-page > article > .e-con:has(> img[src=""]) { display: none; }
.es-article-corps { font-family: var(--es-police-texte); font-size: 18px; line-height: 1.65; color: var(--es-encre); }
.es-article-corps :is(p, li, td, th, dd, dt, figcaption, blockquote, cite) { font-family: var(--es-police-texte); }
.es-article-corps :is(p, li, td, dd, dt) { color: var(--es-encre); font-size: inherit; line-height: inherit; }
.es-article-corps > * + *, .es-article-corps .elementor-widget-container > * + * { margin-top: 1.1em; }
.es-article-corps p { margin: 0; }
.es-article-corps p + p { margin-top: 1em; }
.es-article-corps h2 { font: 800 32px/1.15 var(--es-police-titre); color: var(--es-vert-profond); margin: 2em 0 0.5em; }
.es-article-corps h3 { font: 700 24px/1.2 var(--es-police-titre); color: var(--es-vert-profond); margin: 1.6em 0 0.4em; }
.es-article-corps h4 { font: 600 19px/1.3 var(--es-police-texte); color: var(--es-vert-profond); margin: 1.4em 0 0.3em; }
.es-article-corps a { color: var(--es-vert-profond); text-decoration: underline; text-underline-offset: 3px; }
.es-article-corps a:hover { color: var(--es-vert-vivant); text-decoration-thickness: 2px; }
.es-article-corps ul, .es-article-corps ol { padding-left: 1.4em; margin-left: 0; margin-right: 0; }
.es-article-corps li + li { margin-top: 0.35em; }
.es-article-corps li::marker { color: var(--es-vert-vivant); font-weight: 700; }
.es-article-corps strong { font-weight: 600; }
.es-article-corps figure { margin: 2em 0; padding: 0; background: none; }
/* Astra ajoute une ombre aux images des articles : la charte n'en veut pas */
.es-blog-page .es-article-corps figure, .es-blog-page .es-article-corps img, .es-blog-page .e-con img { box-shadow: none; }
.es-article-corps img { max-width: 100%; height: auto; border-radius: 16px; }
.es-article-corps figcaption, .es-article-corps .wp-element-caption { font-size: 14px; line-height: 1.4; color: var(--es-texte-doux); margin-top: 8px; text-align: left; }
.es-article-corps .alignwide, .es-article-corps .alignfull { max-width: none; }
.es-blog-page .es-article-corps blockquote, .es-blog-page .es-article-corps blockquote.wp-block-quote { margin: 2em 0; padding: 4px 0 4px 24px; border: 0; border-left: 4px solid var(--es-vert-vivant); background: none; font-size: 20px; font-style: normal; }
.es-article-corps blockquote p { font-size: inherit; font-style: normal; color: var(--es-vert-profond); }
.es-article-corps blockquote cite { display: block; margin-top: 8px; font-size: 14px; font-style: normal; color: var(--es-texte-doux); }
/* Citation mise en exergue (bloc « Citation en exergue ») : fond jaune pâle, grand guillemet vert vivant */
.es-blog-page .es-article-corps .wp-block-pullquote { position: relative; margin: 2.5em 0; padding: 32px 36px 32px 88px; background: var(--es-jaune-pale); border: 0; border-radius: 12px; text-align: left; }
.es-blog-page .es-article-corps .wp-block-pullquote::before { content: "«" / ""; position: absolute; left: 26px; top: 22px; font: 800 64px/1 var(--es-police-titre); color: var(--es-vert-vivant); }
.es-blog-page .es-article-corps .wp-block-pullquote blockquote { margin: 0; padding: 0; border: 0; background: none; }
/* Astra ajoute son propre guillemet gris : on le retire */
.es-blog-page .es-article-corps .wp-block-pullquote blockquote::before, .es-blog-page .es-article-corps .wp-block-pullquote blockquote::after { content: none; display: none; }
.es-blog-page .es-article-corps .wp-block-pullquote p { margin: 0; font: 700 26px/1.3 var(--es-police-titre); color: var(--es-vert-profond); }
.es-blog-page .es-article-corps .wp-block-pullquote cite { display: block; margin-top: 12px; font: 400 14px/1.4 var(--es-police-texte); color: var(--es-texte-doux); }
/* Chapô (extrait) dans un cadre vert pâle, sous le titre ; masqué s'il est vide */
.elementor-location-single .es-blog-page > article > header > p { margin-top: 24px; padding: 20px 24px; background: var(--es-vert-pale); border-radius: 12px; }
.elementor-location-single .es-blog-page > article > header > p:empty { display: none; }
/* Vidéo intégrée : légende discrète */
.es-article-corps .wp-block-embed figcaption { margin-top: 8px; }
.es-article-corps table { width: 100%; border-collapse: collapse; font-size: 16px; }
.es-article-corps th, .es-article-corps td { border: 1px solid var(--es-vert-profond); padding: 8px 12px; text-align: left; vertical-align: top; }
.es-article-corps thead th, .es-article-corps th { background: var(--es-vert-pale); color: var(--es-vert-profond); font-weight: 600; }
.es-article-corps thead { border-bottom: 0; }
.es-article-corps td { background: #fff; }
.es-article-corps .wp-block-table { overflow-x: auto; }
.es-article-corps hr, .es-article-corps .wp-block-separator { border: 0; border-top: 1px solid var(--es-bordure); margin: 2.5em 0; }
.es-article-corps .wp-block-button__link { background: var(--es-jaune); color: var(--es-encre); border: 2px solid var(--es-vert-profond); border-radius: 8px; min-height: 48px; padding: 10px 20px; font-weight: 600; text-decoration: none; }
.es-article-corps .wp-block-button__link:hover { background: var(--es-jaune-survol); color: var(--es-encre); }
.es-article-corps .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--es-vert-profond); }
.es-article-corps .wp-block-file { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.es-article-corps .wp-block-file .wp-block-file__button { background: var(--es-jaune); color: var(--es-encre); border: 2px solid var(--es-vert-profond); border-radius: 8px; padding: 8px 16px; font-weight: 600; text-decoration: none; }
.es-article-corps .wp-block-embed iframe, .es-article-corps iframe { max-width: 100%; border-radius: 12px; }
.es-article-corps .wp-block-embed__wrapper { position: relative; }
.es-article-corps code { font-size: 0.9em; background: var(--es-vert-pale); padding: 1px 6px; border-radius: 4px; }
.es-article-corps pre { background: var(--es-encre); color: #fff; padding: 16px 20px; border-radius: 8px; overflow-x: auto; font-size: 15px; }
.es-article-corps pre code { background: none; padding: 0; }

/* Encadrés : blocs Groupe avec un style « es-encadre-… » (Classe(s) CSS additionnelle(s)) */
.es-article-corps .es-chapo, .es-article-corps .es-chapo p { font-size: 21px; line-height: 1.55; color: var(--es-vert-profond); }
.es-article-corps .es-encadre { padding: 24px 28px; border-radius: 12px; }
.es-article-corps .es-encadre + .es-encadre { margin-top: 16px; }
.es-article-corps .es-encadre > :first-child { margin-top: 0; }
.es-article-corps .es-encadre h2, .es-article-corps .es-encadre h3 { margin-top: 0; font-size: 22px; }
.es-article-corps .es-encadre-question { background: var(--es-vert-pale); }
.es-article-corps .es-encadre-essai { background: #fff; border: 2px dashed var(--es-vert-profond); }
.es-article-corps .es-encadre-replique { background: var(--es-jaune-pale); }
.es-article-corps .es-encadre-info { background: #fff; border: 1px solid var(--es-bordure); border-left: 4px solid var(--es-ardoise); }
.es-article-corps .es-encadre-securite { background: #fff; border: 2px solid var(--es-framboise); }
.es-article-corps .es-encadre-securite > :first-child { color: var(--es-framboise); }
.es-article-corps .es-encadre-enseignant { background: #fff; border: 1px solid var(--es-bordure); }

/* Navigation entre articles (widget Navigation de publication) */
.es-article-suite .elementor-post-navigation { border: 0; padding: 0; gap: 24px; }
.es-article-suite .elementor-post-navigation__separator-wrapper { display: none; }
.es-article-suite .elementor-post-navigation a { display: block; padding: 16px 20px; border: 1px solid var(--es-bordure); border-radius: 12px; background: #fff; color: var(--es-vert-profond); text-decoration: none; min-height: 44px; }
.es-article-suite .elementor-post-navigation a:hover { border-color: var(--es-vert-profond); }
.es-article-suite .post-navigation__prev--label, .es-article-suite .post-navigation__next--label { display: block; font: 500 13px/1.4 var(--es-police-texte); text-transform: uppercase; letter-spacing: 0.06em; color: var(--es-texte-doux); }
.es-article-suite .post-navigation__prev--title, .es-article-suite .post-navigation__next--title { display: block; margin-top: 4px; font: 700 18px/1.3 var(--es-police-titre); color: var(--es-vert-profond); text-decoration: underline; text-underline-offset: 3px; }
.es-article-suite .elementor-post-navigation__link { width: 50%; }
.es-article-suite .elementor-post-navigation__link a .elementor-post-navigation__link__prev, .es-article-suite .elementor-post-navigation__link a .elementor-post-navigation__link__next { display: block; }
.es-article-suite .post-navigation__arrow-wrapper { display: none; }

/* Rubriques de l'article (Infos de la publication, en tête d'article) */
.es-article-meta .elementor-icon-list-icon { display: none; }
.es-article-meta ul { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0; padding: 0; list-style: none; }
.es-article-meta .elementor-icon-list-text, .es-article-meta .elementor-post-info__item { font: 400 15px/1.4 var(--es-police-texte); color: var(--es-texte-doux); }
.es-article-meta .elementor-post-info__terms-list-item { display: inline-block; padding: 3px 10px; border: 1px solid var(--es-vert-profond); border-radius: 4px; color: var(--es-vert-profond); font-weight: 500; text-decoration: none; }
.es-article-meta a.elementor-post-info__terms-list-item:hover { background: var(--es-vert-pale); }

@media (max-width: 767px) {
  .es-article-corps { font-size: 17px; }
  .es-article-corps h2 { font-size: 26px; }
  .es-article-corps h3 { font-size: 20px; }
  .es-article-corps .es-encadre { padding: 20px; }
  .es-blog-page .es-article-corps .wp-block-pullquote { padding: 24px 20px 24px 60px; }
  .es-blog-page .es-article-corps .wp-block-pullquote::before { left: 16px; top: 18px; font-size: 48px; }
  .es-blog-page .es-article-corps .wp-block-pullquote p { font-size: 21px; }
  .elementor-location-single .es-blog-page > article > header > p { padding: 16px 18px; }
  .es-article-suite .elementor-post-navigation { flex-direction: column; }
  .es-article-suite .elementor-post-navigation__link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .es-blog-disque, .es-blog-carte:hover .es-blog-disque, .es-blog-carte:focus-within .es-blog-disque { transition: none !important; transform: none !important; }
}/* End custom CSS */