/* =====================================================================
   e-Globulo — feuille de style front
   Intégration fidèle au wireframe PC (canvas 1920, contenu 1290 centré),
   déclinée responsive (tablette/mobile : empilement une colonne).
   Mapping polices (créa → site) : Freight → Gotham ; Rift → Bebas Neue.
   ===================================================================== */

/* =========================== POLICES (auto-hébergées) ================ */
/* Aucun chargement depuis un tiers. TODO Bebas Neue : fichiers à ajouter
   dans assets/fonts/ (remplace Rift pour chiffres/mots-clés en capitales). */

@font-face { font-family:"Gotham"; src:url("../fonts/Gotham-Light.otf") format("opentype");       font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"Gotham"; src:url("../fonts/Gotham-Book.otf") format("opentype");        font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Gotham"; src:url("../fonts/Gotham-BookItalic.otf") format("opentype");  font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:"Gotham"; src:url("../fonts/Gotham-Medium.otf") format("opentype");      font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Gotham"; src:url("../fonts/Gotham_Italic.otf") format("opentype");      font-weight:500; font-style:italic; font-display:swap; }
@font-face { font-family:"Gotham"; src:url("../fonts/Gotham-Bold.otf") format("opentype");        font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Gotham"; src:url("../fonts/Gotham_Bold_Italic.ttf") format("truetype"); font-weight:700; font-style:italic; font-display:swap; }
@font-face { font-family:"Gotham"; src:url("../fonts/Gotham-Black.otf") format("opentype");       font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:"Gotham"; src:url("../fonts/Gotham-Ultra.otf") format("opentype");       font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:"Kalista Script"; src:url("../fonts/Kalista_Script_Bold.otf") format("opentype"); font-weight:700; font-style:normal; font-display:swap; }
/* Bebas Neue — remplace Rift (chiffres/mots-clés en capitales), auto-hébergée. */
@font-face { font-family:"Bebas Neue"; src:url("../fonts/BebasNeue-Regular.ttf") format("truetype"); font-weight:400; font-style:normal; font-display:swap; }

/* =========================== TOKENS ================================== */
:root {
	/* Marque */
	--efs-navy:#03326C; --efs-red:#E3051B; --efs-white:#FFFFFF; --efs-paper:#F6F4EF; --efs-ink:#1A1A1A;
	/* Gris */
	--gray-900:#1A1A1A; --gray-800:#2B2B2B; --gray-700:#444444; --gray-600:#5C5C5C; --gray-500:#7A7A7A;
	--gray-400:#A3A3A3; --gray-300:#C8C8C8; --gray-200:#E0E0E0; --gray-100:#EFEFEF; --gray-050:#F8F8F8;
	/* Accents / rubriques */
	--accent-lagon:#4BBDCF; --accent-blue:#0069B4; --accent-yellow:#FCBC00;
	--rub-dossier:#E3051B; --rub-projets:#5553D3; --rub-quoi-de-neuf:#FF8035; --rub-pratique:#4BBDCF; --rub-hsedd-rh:#F2A900;
	/* Évolution N-1 (chiffres clés) */
	--evo-positive:#17AF28; --evo-negative:#F36403;

	/* Typos — mapping appliqué : Freight→Gotham, Rift→Bebas Neue */
	--font-display:"Gotham","Helvetica Neue",Arial,sans-serif;
	--font-sans:"Gotham","Helvetica Neue",Arial,sans-serif;
	--font-body:"Gotham","Helvetica Neue",Arial,sans-serif;
	--font-serif:"Gotham","Helvetica Neue",Arial,sans-serif;         /* ex-Freight → Gotham */
	--font-condensed:"Bebas Neue","Oswald","Arial Narrow",sans-serif; /* ex-Rift → Bebas Neue */
	--font-script:"Kalista Script","Snell Roundhand",cursive;

	/* Rayons / ombres (wireframe : orthogonal, arrondi réservé aux pills) */
	--r-xs:2px; --r-sm:4px; --r-md:8px; --r-lg:14px; --r-pill:999px;
	--shadow-card:0 4px 12px rgba(0,0,0,.15);

	/* Grille : contenu 1290 centré, gouttières fluides */
	--wrap:1290px;
	--gutter:clamp(16px,4vw,40px);
	--section-gap:clamp(40px,5vw,72px);
}

/* =========================== RESET / BASE ============================ */
*,*::before,*::after { box-sizing:border-box; }
html { font-family:var(--font-body); color:var(--gray-900); text-size-adjust:100%; }
body { margin:0; background:var(--efs-white); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color:var(--efs-red); text-decoration:none; }
button { font-family:inherit; cursor:pointer; }
p { margin:0 0 14px; line-height:1.6; }

/* Focus visible (RGAA/WCAG AA) */
:focus-visible { outline:3px solid var(--efs-navy); outline-offset:2px; }

/* Lien d'évitement */
.eg-skip-link { position:absolute; left:-9999px; top:0; z-index:1000; background:var(--efs-navy); color:#fff; padding:.75rem 1rem; }
.eg-skip-link:focus { left:0; }

/* Conteneur centré */
.eg-wrap { max-width:calc(var(--wrap) + 2*var(--gutter)); margin-inline:auto; padding-inline:var(--gutter); }

/* Colonnes natives (rangées de l'accueil) — filet de sécurité : fonctionne
   même si le CSS de base de WordPress n'est pas chargé. Les largeurs viennent
   du style inline flex-basis posé par le bloc core/column. */
.eg-edition > .wp-block-columns {
	display:flex; flex-wrap:nowrap; align-items:stretch;
	gap:clamp(20px,3vw,40px);
	max-width:calc(var(--wrap) + 2*var(--gutter));
	margin:0 auto var(--section-gap);
	padding-inline:var(--gutter);
}
/* Les colonnes honorent leur flex-basis inline (largeurs) et peuvent rétrécir
   pour tenir sur une ligne (pas de passage à la ligne qui les mettrait pleine largeur). */
.eg-edition > .wp-block-columns > .wp-block-column { flex:1 1 auto; min-width:0; }
@media (max-width:781px) {
	.eg-edition > .wp-block-columns { flex-wrap:wrap; }
	.eg-edition > .wp-block-columns > .wp-block-column { flex-basis:100% !important; }
}

/* Eyebrow générique (petites capitales espacées, filet navy) */
.eg-eyebrow {
	font-family:var(--font-sans); font-weight:700; font-size:13px; letter-spacing:.16em;
	text-transform:uppercase; color:var(--gray-600); margin:0;
}
.eg-eyebrow--rule { border-top:1px solid var(--efs-navy); padding-top:10px; }

/* Pastille de rubrique (couleur pilotée par --pill) */
.eg-pill {
	display:inline-flex; align-items:center; gap:.5em; padding:7px 16px; border-radius:var(--r-pill);
	font-family:var(--font-sans); font-weight:700; font-size:12px; letter-spacing:.06em;
	text-transform:uppercase; color:#fff; background:var(--pill,var(--efs-navy));
}

/* Bouton contour rouge (Lire l'article / Accéder au dossier) */
.eg-btn-outline {
	display:inline-flex; align-items:center; gap:10px; padding:6px 16px; border:1px solid var(--efs-red);
	color:var(--efs-red); font-family:var(--font-sans); font-weight:500; font-size:13px;
	letter-spacing:.1em; text-transform:uppercase; transition:background-color .2s ease,color .2s ease;
}
.eg-btn-outline:hover { background:var(--efs-red); color:#fff; }

/* Ligne méta d'article : « Mars 2026 ● 12 min » */
.eg-meta {
	font-family:var(--font-sans); font-weight:600; font-size:13px; letter-spacing:.06em;
	text-transform:uppercase; color:var(--gray-600); display:flex; align-items:center; gap:8px;
}
.eg-meta svg { height:1em; width:auto; fill:currentColor; }
.eg-meta__dot { color:var(--efs-red); font-size:9px; }

/* =========================== HEADER ================================= */
.eg-header { padding-block:clamp(20px,3vw,40px) 0; }
.eg-header__inner {
	max-width:calc(var(--wrap) + 2*var(--gutter)); margin-inline:auto; padding-inline:var(--gutter);
	display:grid; grid-template-columns:auto 1fr; gap:24px 32px; align-items:center;
}
.eg-header__logo { grid-row:1 / span 2; }
.eg-header__logo img { height:clamp(64px,7vw,113px); width:auto; }
.eg-header__meta { align-self:end; }
.eg-header__tagline { font-family:var(--font-sans); font-weight:500; font-size:clamp(16px,1.6vw,20px); line-height:1.2; color:var(--efs-navy); margin:0; }
.eg-header__numero { font-family:var(--font-sans); font-weight:400; font-size:16px; color:var(--gray-600); margin:6px 0 0; }
.eg-header__nav { grid-column:2; align-self:start; }

/* Pills de navigation */
.eg-pills { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:14px; }
.eg-pills a {
	display:inline-flex; align-items:center; padding:6px 16px; border:1.5px solid var(--efs-navy);
	border-radius:var(--r-pill); color:var(--efs-navy); font-family:var(--font-sans); font-weight:600;
	font-size:12px; letter-spacing:.5px; text-transform:uppercase; white-space:nowrap;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.eg-pills a:hover,
.eg-pills a:focus-visible { background:var(--pill,var(--efs-navy)); border-color:var(--pill,var(--efs-navy)); color:var(--pill-fg,#fff); }

/* Barre sticky au scroll (goutte + pills) */
.eg-sticky {
	position:fixed; inset:0 0 auto 0; z-index:60; height:76px; background:#fff;
	box-shadow:0 3px 16px rgba(3,50,108,.10); border-bottom:1px solid var(--gray-200);
	display:flex; align-items:center; justify-content:space-between; gap:24px;
	padding-inline:var(--gutter); transform:translateY(-100%); opacity:0; pointer-events:none;
	transition:transform .3s ease,opacity .3s ease;
}
.eg-sticky.is-visible { transform:none; opacity:1; pointer-events:auto; }
.eg-sticky__inner { max-width:var(--wrap); margin-inline:auto; width:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.eg-sticky__drop { width:22px; height:auto; flex-shrink:0; }
.eg-sticky .eg-pills { flex-wrap:nowrap; }

/* =========================== FOOTER ================================= */
.eg-footer { background:var(--efs-navy); color:#fff; margin-top:var(--section-gap); padding-block:64px 40px; }
.eg-footer__top {
	max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter);
	display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px;
}
.eg-footer__wordmark { height:67px; width:auto; }
.eg-footer__motto { font-family:var(--font-script); font-weight:700; font-size:clamp(32px,4vw,58px); color:#fff; text-align:center; margin:0; }
.eg-footer__efs { height:clamp(96px,9vw,171px); width:auto; justify-self:end; }
.eg-footer__editions {
	display:block; max-width:var(--wrap); margin:32px auto 0; padding-inline:var(--gutter);
	font-family:var(--font-sans); font-weight:700; font-size:15px; color:#fff;
}
.eg-footer__editions:hover { text-decoration:underline; }
.eg-footer__cols {
	max-width:var(--wrap); margin:24px auto 0; padding-inline:var(--gutter);
	display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap;
}
.eg-footer__adresse { font-family:var(--font-sans); font-weight:500; font-size:15px; line-height:1.6; color:#cdd9ec; margin:0; max-width:730px; }
.eg-footer__reseaux { text-align:right; }
.eg-footer__reseaux p { font-family:var(--font-sans); font-weight:500; font-size:15px; color:#cdd9ec; margin:0; text-transform:uppercase; }
.eg-footer__reseaux strong { color:#fff; }
.eg-footer__reseaux-liens { display:flex; gap:12px; margin-top:14px; justify-content:flex-end; }
.eg-footer__reseaux-liens a { width:36px; height:36px; border-radius:var(--r-pill); background:#fff; display:flex; align-items:center; justify-content:center; }
.eg-footer__reseaux-liens svg { fill:var(--efs-navy); }
.eg-footer__divider { max-width:var(--wrap); margin:32px auto 0; height:1px; background:rgba(255,255,255,.2); }
.eg-footer__legal {
	max-width:var(--wrap); margin:24px auto 0; padding-inline:var(--gutter);
	display:flex; justify-content:center; gap:32px; font-family:var(--font-sans); font-weight:600; font-size:14px;
}
.eg-footer__legal a { color:#fff; text-decoration:underline; }

/* =========================== HERO / DOSSIER ========================= */
.eg-hero { max-width:calc(var(--wrap) + 2*var(--gutter)); margin:24px auto var(--section-gap); padding-inline:var(--gutter); }
.eg-hero__link { display:block; position:relative; border-radius:var(--r-xs); overflow:hidden; background:#b6babf; }
.eg-hero__img { width:100%; aspect-ratio:1290/628; object-fit:cover; }
.eg-hero__content {
	position:absolute; left:0; right:0; bottom:clamp(24px,5%,64px);
	display:flex; flex-direction:column; align-items:center; gap:22px; text-align:center; padding-inline:clamp(20px,5vw,60px);
}
.eg-hero__pill { background:var(--efs-red); font-size:13px; font-weight:700; padding:7px 16px; }
.eg-hero__titre { font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3.6vw,40px); line-height:1.08; letter-spacing:-.01em; color:#000; max-width:900px; margin:0; }
.eg-hero__btn {
	display:inline-flex; align-items:center; gap:10px; padding:6px 18px; border:1px solid #fff; color:#fff;
	font-family:var(--font-sans); font-weight:700; font-size:14px; letter-spacing:.06em; text-transform:uppercase;
	transition:background-color .2s ease,color .2s ease;
}
.eg-hero__btn:hover { background:#fff; color:var(--efs-navy); }

/* =========================== SURVOL IMAGES ========================= */
/* Zoom léger au survol. Classe .eg-media-zoom réutilisable sur les cartes. */
.eg-media-zoom { overflow:hidden; }
.eg-hero__link,
.eg-breves__thumb { overflow:hidden; }
.eg-media-zoom img, .eg-media-zoom .eg-hero__img,
.eg-hero__img,
.eg-breves__thumb img {
	transition:transform .5s ease;
}
.eg-media-zoom:hover img, .eg-media-zoom:hover .eg-hero__img,
.eg-hero__link:hover .eg-hero__img,
.eg-breves__thumb:hover img {
	transform:scale(1.05);
}
/* NB : le zoom au survol (léger, déclenché par l'utilisateur) reste actif même
   en « réduire les animations ». Le garde-fou prefers-reduced-motion sera
   appliqué aux animations automatiques (chiffres clés, apparitions au scroll). */

/* =========================== ÉDITO ================================= */
.eg-edito { background:#fff; border-bottom:4px solid var(--efs-red); box-shadow:var(--shadow-card); padding:32px; height:100%; }
.eg-edito__label { font-family:var(--font-display); font-weight:300; font-size:clamp(40px,5vw,58px); line-height:1; color:var(--efs-navy); margin:0 0 22px; }
.eg-edito__texte { font-family:var(--font-body); font-size:15px; line-height:1.5; color:#333; }
.eg-edito__texte p { margin:0 0 14px; }
.eg-edito__texte p:last-child { margin-bottom:0; }
.eg-edito__signature { display:flex; align-items:center; gap:16px; margin-top:24px; }
.eg-edito__signature-photo { width:64px; height:64px; border-radius:50%; object-fit:cover; flex-shrink:0; background:#b6babf; }
.eg-edito__signature-nom { font-family:var(--font-sans); font-weight:700; font-size:14px; line-height:1.2; color:var(--efs-ink); margin:0; }
.eg-edito__signature-fonction { font-family:var(--font-sans); font-weight:600; font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:var(--gray-600); margin:8px 0 0; }

/* =========================== ACTUALITÉ EN BREF ===================== */
.eg-breves { display:flex; flex-direction:column; height:100%; }
.eg-breves__layout { display:flex; gap:clamp(20px,3vw,50px); align-items:stretch; flex:1 1 auto; }
/* Vignettes : bande verticale à gauche (desktop), horizontale au-dessus (mobile) */
.eg-breves__thumbs { display:flex; flex-direction:column; gap:15px; width:176px; flex-shrink:0; }
.eg-breves__thumb { padding:0; margin:0; border:0; background:none; cursor:pointer; display:block; line-height:0; }
.eg-breves__thumb img,
.eg-breves__thumb-placeholder { width:176px; height:130px; object-fit:cover; border-radius:var(--r-xs); background:#b6babf; display:block; border:3px solid transparent; box-sizing:border-box; transition:transform .5s ease,border-color .2s ease,opacity .2s ease; }
.eg-breves__thumb[aria-selected="false"] { opacity:.75; }
.eg-breves__thumb[aria-selected="true"] img,
.eg-breves__thumb[aria-selected="true"] .eg-breves__thumb-placeholder { border-color:var(--efs-navy); }

/* Contenu : min-width:0 pour autoriser le retour à la ligne dans le flex ;
   colonne flex pour pouvoir coller la pagination en bas du bloc. */
.eg-breves__content { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.eg-breves__content > .eg-eyebrow { margin:0 0 18px; }
.eg-breves__panels { flex:1 1 auto; }
.eg-breves__panel[hidden] { display:none; }
.eg-breves__titre { font-family:var(--font-display); font-weight:700; font-size:clamp(22px,2.2vw,28px); line-height:1.08; color:var(--efs-navy); margin:0 0 14px; }
.eg-breves__panel .eg-meta { margin-bottom:14px; }
.eg-breves__texte { font-family:var(--font-body); font-size:15px; line-height:1.5; color:#333; }
.eg-breves__texte p { margin:0 0 12px; }
.eg-breves__texte p:last-child { margin-bottom:0; }
.eg-breves__pager { display:flex; gap:18px; margin-top:auto; padding-top:20px; } /* collé en bas du bloc */
.eg-breves__page { font-family:var(--font-display); font-weight:700; font-size:18px; color:var(--gray-400); background:none; border:0; padding:0; cursor:pointer; }
.eg-breves__page.is-active { color:var(--efs-red); text-decoration:underline; }

@media (max-width:1023px) {
	.eg-breves__layout { flex-direction:column; }
	.eg-breves__thumbs { flex-direction:row; width:100%; overflow-x:auto; }
	.eg-breves__thumb img,
	.eg-breves__thumb-placeholder { width:130px; height:96px; }
}

/* =========================== VOS RÉUSSITES ========================= */
.eg-reussites { background:var(--efs-navy); color:#fff; padding:clamp(40px,5vw,56px) var(--gutter); margin-bottom:var(--section-gap); }
.eg-reussites > * { max-width:var(--wrap); margin-inline:auto; }
.eg-reussites__head { text-align:center; margin-bottom:40px; }
.eg-eyebrow--light { color:#fff; letter-spacing:.18em; }
.eg-reussites__titre { font-family:var(--font-display); font-weight:900; font-size:clamp(26px,3vw,32px); line-height:1.1; color:#fff; margin:14px 0 0; }
.eg-reussites__photos { display:flex; justify-content:center; align-items:center; gap:26px; flex-wrap:wrap; margin-bottom:44px; }
.eg-reussites__photo { padding:0; margin:0; border:0; background:none; cursor:pointer; border-radius:50%; line-height:0; }
.eg-reussites__photo img,
.eg-reussites__photo-placeholder { width:120px; height:120px; border-radius:50%; object-fit:cover; background:#b6babf; display:block; border:3px solid transparent; box-sizing:border-box; transition:width .3s ease,height .3s ease,border-color .3s ease,filter .3s ease; }
.eg-reussites__photo[aria-selected="true"] img,
.eg-reussites__photo[aria-selected="true"] .eg-reussites__photo-placeholder { width:157px; height:157px; border-color:#fff; }
.eg-reussites__photo[aria-selected="false"] img,
.eg-reussites__photo[aria-selected="false"] .eg-reussites__photo-placeholder { filter:grayscale(1) opacity(.55); }
/* Panneaux superposés dans la même cellule : le bloc prend la hauteur du plus
   grand et ne bouge plus au changement d'interview (dimension figée). */
.eg-reussites__panels { display:grid; }
.eg-reussites__panel { grid-area:1 / 1; display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,48px); align-items:start; visibility:hidden; opacity:0; transition:opacity .3s ease; }
.eg-reussites__panel.is-active { visibility:visible; opacity:1; }
.eg-reussites__item-titre { font-family:var(--font-display); font-weight:700; font-size:24px; line-height:1.15; color:#fff; margin:0 0 12px; }
.eg-reussites__sous-titre { font-family:var(--font-sans); font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-lagon); margin:0 0 16px; }
.eg-reussites__byline { margin-top:24px; }
.eg-reussites__quote { width:auto; height:30px; fill:#fff; display:block; margin-bottom:10px; }
.eg-reussites__nom { display:block; font-family:var(--font-sans); font-weight:700; font-size:14px; color:#fff; }
.eg-reussites__fonction { display:block; font-family:var(--font-sans); font-weight:600; font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:#fff; margin-top:8px; }
.eg-reussites__texte { font-family:var(--font-body); font-size:15px; line-height:1.6; color:#fff; }
.eg-reussites__texte p { margin:0 0 12px; }
.eg-reussites__texte p:last-child { margin-bottom:0; }

@media (max-width:767px) {
	.eg-reussites__panel { grid-template-columns:1fr; }
	.eg-reussites__photo img,
	.eg-reussites__photo-placeholder { width:88px; height:88px; }
	.eg-reussites__photo[aria-selected="true"] img,
	.eg-reussites__photo[aria-selected="true"] .eg-reussites__photo-placeholder { width:110px; height:110px; }
}

/* =========================== PORTRAIT DÉCALÉ ======================= */
.eg-portrait { background:#6d757f; color:#fff; border-radius:var(--r-lg); padding:24px; text-align:center; height:100%; }
.eg-portrait__video { position:relative; aspect-ratio:16/9; border-radius:var(--r-xs); overflow:hidden; margin-bottom:20px; background:#2c2c30; }
.eg-portrait__video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.eg-portrait__video-placeholder { display:block; width:100%; height:100%; }
.eg-portrait__label { color:#fff; margin:0 0 12px; }
.eg-portrait__nom { font-family:var(--font-sans); font-weight:700; font-size:16px; color:#fff; margin:0; }
.eg-portrait__poste { font-family:var(--font-sans); font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#e2e6ec; margin:6px 0 0; }
.eg-quote { width:auto; height:22px; fill:currentColor; margin:0 auto 8px; display:block; }

/* =========================== RÉSEAUX SOCIAUX ======================= */
.eg-reseaux { background:var(--efs-navy); color:#fff; padding:clamp(40px,5vw,56px) var(--gutter); margin-bottom:var(--section-gap); }
.eg-reseaux__inner { max-width:var(--wrap); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:clamp(24px,4vw,56px); align-items:center; }
.eg-reseaux__titre { font-family:var(--font-display); font-weight:700; font-size:28px; line-height:1.1; color:#fff; margin:16px 0 0; }
.eg-reseaux__accroche { font-family:var(--font-body); font-weight:500; font-size:16px; line-height:1.5; color:#fff; margin:18px 0 0; }
.eg-reseaux__pictos { display:flex; gap:12px; margin-top:24px; flex-wrap:wrap; }
.eg-reseaux__pictos a { width:40px; height:40px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
.eg-reseaux__pictos svg { fill:var(--efs-navy); }
.eg-reseaux__visuels { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.eg-reseaux__visuel { border-radius:var(--r-xs); overflow:hidden; }
.eg-reseaux__visuel img,
.eg-reseaux__visuel-placeholder { width:100%; aspect-ratio:4/5; object-fit:cover; background:#b6babf; display:block; }
@media (max-width:900px) {
	.eg-reseaux__inner { grid-template-columns:1fr; }
	.eg-reseaux__visuels { grid-template-columns:repeat(2,1fr); }
}

/* =========================== CHIFFRES CLÉS ========================= */
.eg-chiffres { background:var(--gray-100); border-radius:var(--r-lg); padding:clamp(28px,3vw,46px) 32px; height:100%; }
.eg-chiffres > .eg-eyebrow { margin:0 0 20px; }
.eg-chiffres__slides { display:grid; }
.eg-chiffres__slide { grid-area:1 / 1; visibility:hidden; opacity:0; transition:opacity .3s ease; }
.eg-chiffres__slide.is-active { visibility:visible; opacity:1; }
.eg-chiffres__titre { font-family:var(--font-display); font-weight:700; font-size:22px; line-height:1.1; color:var(--efs-navy); text-transform:uppercase; margin:0 0 28px; }
.eg-chiffres__stats { display:flex; flex-direction:column; gap:36px; }
.eg-chiffres__stat { display:flex; flex-direction:column; gap:16px; }
.eg-chiffres__stat-top { display:flex; align-items:center; gap:18px; }
.eg-chiffres__icon { width:56px; height:56px; border-radius:50%; background:#e7f0fb; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.eg-chiffres__icon img { width:32px; height:32px; object-fit:contain; }
.eg-chiffres__valeur { font-family:var(--font-condensed); font-weight:400; font-size:62px; line-height:.9; color:var(--efs-red); letter-spacing:.01em; }
.eg-chiffres__stat-bottom { border-left:1px solid var(--gray-400); padding-left:18px; }
.eg-chiffres__descriptif { font-family:var(--font-sans); font-weight:700; font-size:17px; line-height:1.3; color:var(--efs-navy); margin:0 0 8px; }
.eg-chiffres__evolution { font-family:var(--font-sans); font-style:italic; font-size:13px; line-height:1.45; margin:0; }
.eg-chiffres__evolution--positive { color:var(--evo-positive); }
.eg-chiffres__evolution--negative { color:var(--evo-negative); }
.eg-chiffres__nav { display:flex; justify-content:center; gap:16px; margin-top:24px; }
.eg-chiffres__prev,
.eg-chiffres__next { width:44px; height:44px; border-radius:50%; border:1px solid var(--gray-700); background:none; color:var(--gray-700); font-size:22px; line-height:1; cursor:pointer; }

/* =========================== CARTES PUSH =========================== */
/* TODO formats d'image par rubrique : à caler sur le webdesign (P&P ~367×301,
   Quoi de neuf ~442×488 portrait, C'est pratique ~443×321). 4/3 par défaut. */
.eg-card { display:flex; flex-direction:column; height:100%; }
.eg-card__media { position:relative; border-radius:var(--r-xs); overflow:hidden; margin-bottom:16px; }
.eg-card__media img,
.eg-card__media-placeholder { width:100%; aspect-ratio:4/3; object-fit:cover; background:#b6babf; display:block; }
/* Photos plus courtes pour Dossier et Quoi de neuf docteur (TODO : ratios
   définitifs à caler sur la DA). */
.eg-card--dossier .eg-card__media img,
.eg-card--dossier .eg-card__media-placeholder,
.eg-card--quoi-de-neuf-docteur .eg-card__media img,
.eg-card--quoi-de-neuf-docteur .eg-card__media-placeholder { aspect-ratio:16/9; }
.eg-card__pill { position:absolute; left:14px; top:14px; }
.eg-card__sous-entree { font-family:var(--font-sans); font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; border-top:1px solid var(--efs-navy); padding-top:9px; margin:0 0 12px; }
.eg-card__titre { font-family:var(--font-display); font-weight:700; font-size:clamp(22px,2.2vw,26px); line-height:1.1; color:var(--efs-navy); margin:0 0 12px; }
.eg-card .eg-meta { margin-bottom:12px; }
.eg-card__chapo { font-family:var(--font-body); font-size:15px; line-height:1.5; color:#333; margin:0 0 18px; }
.eg-card__btn { align-self:flex-start; margin-top:auto; }

/* =========================== LA PAUSE GLOBULO ====================== */
.eg-pause { max-width:480px; margin:0 auto var(--section-gap); border-radius:var(--r-md); box-shadow:var(--shadow-card); overflow:hidden; background:#fff; }
/* Dans une rangée (à côté de Quoi de neuf docteur) : même hauteur que la colonne. */
.eg-edition .wp-block-column .eg-pause { height:100%; margin-block:0; }
.eg-pause__header { background:var(--accent-yellow); padding:18px 26px; }
.eg-pause__header .eg-eyebrow { color:var(--gray-700); margin:0 0 6px; }
.eg-pause__intitule { font-family:var(--font-display); font-weight:900; font-size:19px; line-height:1.2; color:#fff; margin:0; }
.eg-pause__stepper { padding:24px 26px 28px; }
.eg-pause__step { display:none; }
.eg-pause__step.is-active { display:block; }
.eg-pause__progress { font-family:var(--font-sans); font-weight:700; font-size:13px; letter-spacing:.06em; color:var(--efs-red); margin:0 0 12px; }
.eg-pause__question { font-family:var(--font-display); font-weight:700; font-size:24px; line-height:1.1; color:#000; margin:0 0 12px; }
.eg-pause__description { font-size:14px; line-height:1.45; color:#444; margin:0 0 20px; }
.eg-pause__reponses { display:flex; flex-direction:column; gap:12px; }
.eg-pause__reponse { position:relative; overflow:hidden; border:1px solid var(--gray-300); border-radius:6px; padding:14px 16px; text-align:left; font-family:var(--font-sans); font-weight:600; font-size:15px; color:var(--efs-navy); background:#fff; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.eg-pause__reponse-barre { position:absolute; inset:0 auto 0 0; width:0; background:var(--accent-lagon); opacity:.28; transition:width .5s ease; z-index:0; }
.eg-pause__reponse-label, .eg-pause__reponse-pct { position:relative; z-index:1; }
.eg-pause__reponse-pct { font-weight:700; }
.eg-pause__reponse.is-revealed { cursor:default; }
.eg-pause__reponse.is-chosen { border-color:var(--efs-navy); }
.eg-pause__reponse.is-correct { border-color:var(--evo-positive); }
.eg-pause__reponse.is-correct .eg-pause__reponse-barre { background:var(--evo-positive); }
.eg-pause__nav { margin-top:20px; text-align:center; }
.eg-pause__next { padding:10px 24px; border:1px solid var(--efs-navy); background:none; color:var(--efs-navy); font-family:var(--font-sans); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; }
.eg-pause__visuel img { width:100%; display:block; }

/* =========================== LE SAVIEZ-VOUS ======================== */
.eg-saviez { background:#E94F3E; color:#fff; border-radius:var(--r-xs); margin:0 auto var(--section-gap); }
.eg-saviez__inner { max-width:var(--wrap); margin-inline:auto; padding:28px 40px; display:flex; gap:40px; align-items:center; }
.eg-saviez__mark { width:229px; height:175px; flex-shrink:0; background:#fff; }
.eg-saviez__content { flex:1; min-width:0; }
.eg-saviez__content :where(p,h2,h3,li,a) { color:#fff; }
.eg-saviez__mark-txt { font-family:var(--font-display); font-weight:900; font-size:24px; color:#fff; margin:0 0 12px; }
@media (max-width:767px){ .eg-saviez__inner { flex-direction:column; text-align:center; } }

/* =========================== ENCART RESTITUTION ==================== */
.eg-restitution { margin:0 auto var(--section-gap); }
.eg-restitution__inner { max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter); }
.eg-restitution--edit { border:1px dashed var(--gray-300); border-radius:6px; padding:12px; }
.eg-restitution__state { font-size:12px; font-weight:700; color:var(--gray-600); margin:0 0 10px; }

/* =========================== CTA =================================== */
.eg-cta { max-width:calc(var(--wrap) + 2*var(--gutter)); margin:0 auto var(--section-gap); padding-inline:var(--gutter); text-align:center; }
.eg-cta__divider { height:1px; background:var(--gray-700); margin:0 0 44px; }
.eg-cta__titre { font-family:var(--font-display); font-weight:700; font-size:clamp(26px,3vw,34px); line-height:1.1; color:#000; margin:0; }
.eg-cta__texte { font-family:var(--font-body); font-size:18px; line-height:1.55; color:var(--gray-700); margin:24px auto 0; max-width:760px; }
.eg-cta__btn { display:inline-flex; align-items:center; gap:10px; margin-top:34px; padding:15px 34px; border:1px solid var(--gray-400); color:var(--gray-700); font-family:var(--font-sans); font-weight:700; font-size:14px; letter-spacing:.08em; text-transform:uppercase; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.eg-cta__btn:hover { background:var(--efs-navy); color:#fff; border-color:var(--efs-navy); }

/* =========================== ARTICLE =============================== */
.eg-article { max-width:calc(var(--wrap) + 2*var(--gutter)); margin:24px auto 0; padding:0 var(--gutter) 64px; }
.eg-article__header { text-align:center; margin-bottom:24px; }
.eg-article__pill { margin-bottom:16px; }
.eg-article__titre { font-family:var(--font-display); font-weight:800; font-size:clamp(30px,4vw,48px); line-height:1.1; color:var(--efs-navy); margin:16px 0 12px; }
.eg-article-meta-ligne { justify-content:center; }
.eg-article__hero { margin:24px 0; border-radius:var(--r-xs); overflow:hidden; }
.eg-article__hero img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.eg-article__layout { display:grid; grid-template-columns:1fr; gap:48px; margin-top:32px; }
@media (min-width:900px){ .eg-article__layout { grid-template-columns:minmax(0,2fr) minmax(0,1fr); } }
.eg-article__body { font-family:var(--font-body); font-size:16px; line-height:1.65; color:var(--gray-700); }
.eg-article__body h2 { font-family:var(--font-display); font-weight:700; font-size:26px; color:var(--efs-navy); margin:40px 0 12px; }
.eg-article__body h3 { font-family:var(--font-display); font-weight:700; font-size:20px; color:var(--efs-navy); margin:28px 0 10px; }
.eg-article__body p { margin:0 0 18px; }
.eg-article__body img { border-radius:var(--r-xs); cursor:zoom-in; }
.eg-article__body blockquote { border-left:3px solid var(--efs-red); padding-left:26px; margin:32px 0; font-family:var(--font-body); font-weight:600; font-size:19px; color:var(--efs-navy); }
.eg-article__body blockquote p { margin:0; }

.eg-a-retenir { background:#fff; box-shadow:var(--shadow-card); border-bottom:3px solid var(--efs-red); padding:28px 30px; margin:0 0 32px; }
.eg-a-retenir__label { font-family:var(--font-sans); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--efs-navy); margin:0 0 14px; }
.eg-a-retenir__liste ul { margin:0; padding-left:20px; color:var(--efs-red); font-weight:700; }
.eg-a-retenir__liste li { margin-bottom:8px; }

.eg-chiffre-encart { background:var(--gray-050); border-radius:var(--r-md); padding:20px 24px; margin:24px 0; }
.eg-chiffre-encart__valeur { font-family:var(--font-condensed); font-weight:400; font-size:44px; line-height:1; color:var(--efs-red); display:block; }
.eg-chiffre-encart__descriptif { font-family:var(--font-sans); font-weight:700; font-size:15px; color:var(--efs-navy); margin:8px 0 0; }
.eg-chiffre-encart__evolution { font-style:italic; font-size:13px; margin:6px 0 0; }
.eg-chiffre-encart__evolution--positive { color:var(--evo-positive); }
.eg-chiffre-encart__evolution--negative { color:var(--evo-negative); }

.eg-aside__bloc { margin-bottom:40px; }
.eg-aside__label { font-family:var(--font-sans); font-weight:700; font-size:13px; letter-spacing:.11em; text-transform:uppercase; color:var(--gray-900); margin:0 0 16px; }
.eg-aside__personne { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.eg-aside__personne-photo { width:48px; height:48px; border-radius:50%; object-fit:cover; background:#b6babf; flex-shrink:0; }
.eg-aside__personne-nom { display:block; font-family:var(--font-sans); font-weight:600; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--gray-600); }
.eg-aside__personne-poste { display:block; font-size:12px; color:var(--gray-400); }
.eg-aside__lies { list-style:none; margin:0; padding:0; }
.eg-aside__lie a { display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--gray-200); }
.eg-aside__lie-img { width:78px; height:62px; object-fit:cover; border-radius:var(--r-xs); flex-shrink:0; background:#b6babf; }
.eg-aside__lie-titre { font-family:var(--font-sans); font-size:12px; line-height:1.45; color:var(--gray-600); }

.eg-selecteur-double { display:inline-flex; border:1px solid var(--pill,var(--efs-navy)); border-radius:var(--r-pill); overflow:hidden; margin-bottom:8px; }
.eg-selecteur-double__item { padding:8px 18px; font-family:var(--font-sans); font-weight:600; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--pill,var(--efs-navy)); }
.eg-selecteur-double__item.is-active { background:var(--pill,var(--efs-navy)); color:#fff; }

.eg-progress { position:fixed; left:0; bottom:0; width:100%; height:4px; background:rgba(3,50,108,.12); z-index:70; }
.eg-progress__bar { display:block; height:100%; width:0; background:var(--efs-red); transition:width .1s linear; }

.eg-article-navigation { display:flex; justify-content:space-between; gap:24px; margin-top:48px; padding-top:24px; border-top:1px solid var(--gray-200); font-family:var(--font-sans); font-weight:600; font-size:14px; }
.eg-article-navigation a { color:var(--efs-navy); }
.eg-article-navigation__next { text-align:right; margin-left:auto; }

/* =========================== RESPONSIVE ============================= */
@media (max-width:1023px) {
	.eg-header__inner { grid-template-columns:auto 1fr; }
	.eg-footer__top { grid-template-columns:1fr; justify-items:center; text-align:center; }
	.eg-footer__efs { justify-self:center; }
	.eg-footer__cols { flex-direction:column; text-align:center; }
	.eg-footer__reseaux { text-align:center; }
	.eg-footer__reseaux-liens { justify-content:center; }
}

@media (max-width:640px) {
	:root { --gutter:16px; }
	.eg-header__inner { grid-template-columns:1fr; }
	.eg-header__logo { grid-row:auto; }
	.eg-header__nav { grid-column:1; }
	.eg-pills { gap:8px; }
}
