/* ==========================================================================
   DIVERS — Publications, Projets, Partenaires, Axes de recherche, Membres
   ========================================================================== */

/* ---------------------------------------------------------------- MEMBRES */

.emi-membres-page {
  font-family: var(--font-sans);
  max-width: var(--container-max);
  margin: 0 auto;
}

/* En-tête de sous-section (permanents / associés) */
.emi-membres-cat {
  margin-bottom: var(--space-12);
}

.emi-membres-cat-title {
  font-family: var(--font-serif) !important;
  font-size: var(--text-3xl) !important;
  color: var(--clr-navy-800) !important;
  font-weight: var(--fw-semibold) !important;
  margin: 0 0 var(--space-2) !important;
  padding-bottom: var(--space-3) !important;
  border-bottom: 2px solid var(--clr-stone) !important;
  position: relative;
}

.emi-membres-cat-title::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px;
  height: 2px;
  background: var(--clr-gold-700);
}

.emi-membres-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-8);
}

/* Carte membre (listing) */
.emi-membre-card {
  background: var(--clr-white);
  border: 1px solid var(--clr-stone);
  border-radius: var(--radius-xl);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: all var(--transition-slow);
}

.emi-membre-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-card-hover);
  border-color: var(--clr-gold-700);
}

.emi-membre-card-photo {
  width: 100%;
  aspect-ratio: 1;
  background: linear-gradient(135deg, var(--clr-navy-700), var(--clr-navy-500));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-white);
  font-family: var(--font-serif);
  font-size: 48px;
  font-weight: var(--fw-semibold);
  background-size: cover;
  background-position: center;
}

.emi-membre-card-body {
  padding: var(--space-5);
}

.emi-membre-card-name {
  font-family: var(--font-serif) !important;
  font-size: var(--text-lg) !important;
  font-weight: var(--fw-semibold) !important;
  color: var(--clr-navy-800) !important;
  margin: 0 0 var(--space-1) !important;
  line-height: var(--leading-snug) !important;
}

.emi-membre-card-title {
  font-size: var(--text-xs) !important;
  color: var(--clr-ink-muted) !important;
  margin: 0 0 var(--space-3) !important;
  line-height: var(--leading-snug) !important;
}

.emi-membre-card-axes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
}

.emi-membre-card-axe {
  font-size: 10px;
  background: var(--clr-navy-050);
  color: var(--clr-navy-700);
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-weight: var(--fw-medium);
}

/* Associés — style légèrement différencié */
.emi-membre-card.associe .emi-membre-card-photo {
  background: linear-gradient(135deg, var(--clr-navy-600), var(--clr-navy-400));
}

.emi-membre-card.associe {
  border-style: dashed;
  border-color: var(--clr-stone-dark);
  opacity: 0.85;
}

.emi-membre-card.associe:hover {
  opacity: 1;
  border-style: solid;
}

/* -------------------------------------------------------------- PUBLICATIONS */

.emi-pub-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.emi-pub-item {
  padding: var(--space-6) 0 !important;
  border-bottom: 1px solid var(--clr-stone) !important;
  margin: 0 !important;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-5);
  align-items: start;
}

.emi-pub-item:last-child { border-bottom: none !important; }

.emi-pub-year {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: var(--fw-bold);
  color: var(--clr-gold-700);
  line-height: 1;
  min-width: 52px;
  text-align: center;
  padding-top: 2px;
}

.emi-pub-title {
  font-size: var(--text-base) !important;
  font-weight: var(--fw-semibold) !important;
  color: var(--clr-navy-800) !important;
  margin: 0 0 var(--space-1) !important;
  line-height: var(--leading-snug) !important;
}

.emi-pub-authors {
  font-size: var(--text-sm) !important;
  color: var(--clr-ink-mid) !important;
  margin: 0 0 var(--space-2) !important;
  font-style: italic;
}

.emi-pub-source {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  font-weight: var(--fw-semibold);
  color: var(--clr-navy-700);
}

.emi-pub-type {
  display: inline-block;
  background: var(--clr-navy-050);
  color: var(--clr-navy-700);
  font-size: 10px;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ------------------------------------------------------------ PROJETS */

.emi-proj-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--space-6);
}

.emi-proj-card {
  background: var(--clr-white);
  border: 1px solid var(--clr-stone);
  border-radius: var(--radius-xl);
  overflow: hidden;
  transition: all var(--transition-slow);
  display: flex;
  flex-direction: column;
}

.emi-proj-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--clr-gold-700);
}

.emi-proj-top {
  padding: var(--space-6);
  background: linear-gradient(135deg, var(--clr-cream) 0%, var(--clr-white) 100%);
  border-bottom: 1px solid var(--clr-stone);
}

.emi-proj-tag {
  display: inline-block;
  background: var(--clr-navy-050);
  color: var(--clr-navy-700);
  font-size: 10px;
  padding: 3px 10px;
  border-radius: var(--radius-full);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: var(--space-3);
}

.emi-proj-title {
  font-family: var(--font-serif) !important;
  font-size: var(--text-xl) !important;
  color: var(--clr-navy-800) !important;
  font-weight: var(--fw-semibold) !important;
  margin: 0 0 var(--space-2) !important;
  line-height: var(--leading-snug) !important;
}

.emi-proj-status {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--text-xs);
  font-weight: var(--fw-semibold);
  color: var(--clr-gold-700);
}

.emi-proj-status::before {
  content: '';
  width: 6px;
  height: 6px;
  background: currentColor;
  border-radius: 50%;
}

.emi-proj-body { padding: var(--space-5) var(--space-6); flex: 1; }

.emi-proj-desc {
  font-size: var(--text-sm) !important;
  color: var(--clr-ink-mid) !important;
  line-height: var(--leading-loose) !important;
  margin: 0 0 var(--space-5) !important;
}

.emi-proj-meta { display: flex; flex-direction: column; gap: var(--space-2); }

.emi-proj-meta-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  font-size: var(--text-xs);
}

.emi-proj-meta-lab {
  color: var(--clr-ink-faint);
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  min-width: 80px;
  flex-shrink: 0;
}

.emi-proj-meta-val { color: var(--clr-ink-mid); }

.emi-proj-period {
  font-size: var(--text-xs);
  color: var(--clr-gold-700);
  font-weight: var(--fw-semibold);
  margin-bottom: var(--space-2);
}

/* --------------------------------------------------------------- PARTENAIRES */

.emi-part-section { margin-bottom: var(--space-12); }

.emi-part-cat-title {
  font-family: var(--font-sans) !important;
  font-size: var(--text-xs) !important;
  color: var(--clr-ink-muted) !important;
  font-weight: var(--fw-bold) !important;
  text-transform: uppercase !important;
  letter-spacing: var(--tracking-widest) !important;
  margin: 0 0 var(--space-6) !important;
  padding-bottom: var(--space-2) !important;
  border-bottom: 1px solid var(--clr-stone) !important;
}

.emi-part-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--space-4);
}

.emi-part-card {
  background: var(--clr-white);
  border: 1px solid var(--clr-stone);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  text-align: center;
  transition: all var(--transition-base);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.emi-part-card:hover {
  box-shadow: var(--shadow-sm);
  border-color: var(--clr-gold-700);
}

.emi-part-icon {
  width: 52px;
  height: 52px;
  background: var(--clr-cream);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.emi-part-name {
  font-size: var(--text-sm) !important;
  font-weight: var(--fw-semibold) !important;
  color: var(--clr-navy-800) !important;
  margin: 0 !important;
  line-height: var(--leading-snug) !important;
}

.emi-part-type {
  font-size: 10px !important;
  color: var(--clr-ink-faint) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important;
}

/* -------------------------------------------------------- AXES DE RECHERCHE */

.emi-struct-hero {
  background: linear-gradient(135deg, var(--clr-navy-800) 0%, var(--clr-navy-700) 100%);
  padding: var(--space-16) var(--space-10);
  border-radius: var(--radius-2xl);
  color: var(--clr-white);
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-bottom: var(--space-12);
}

.emi-struct-hero::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(0, 126, 164,0.12) 0%, transparent 70%);
  border-radius: 50%;
}

.emi-struct-hero-eyebrow {
  display: block;
  font-size: var(--text-xs) !important;
  color: var(--clr-gold-400) !important;
  text-transform: uppercase !important;
  letter-spacing: var(--tracking-widest) !important;
  font-weight: var(--fw-bold) !important;
  margin: 0 0 var(--space-3) !important;
  position: relative;
  z-index: 1;
}

.emi-struct-hero-title {
  font-family: var(--font-serif) !important;
  font-size: var(--text-5xl) !important;
  color: var(--clr-white) !important;
  font-weight: var(--fw-semibold) !important;
  margin: 0 0 var(--space-5) !important;
  letter-spacing: var(--tracking-tight) !important;
  position: relative;
  z-index: 1;
}

.emi-struct-hero-desc {
  font-size: var(--text-lg) !important;
  color: rgba(255,255,255,0.8) !important;
  margin: 0 auto !important;
  max-width: 600px;
  line-height: var(--leading-loose) !important;
  position: relative;
  z-index: 1;
}

.emi-struct-accent {
  width: 60px;
  height: 3px;
  background: var(--clr-gold-700);
  border-radius: var(--radius-full);
  margin: var(--space-6) auto 0;
  position: relative;
  z-index: 1;
}

.emi-struct-stats {
  display: flex;
  justify-content: center;
  gap: var(--space-8);
  margin-top: var(--space-10);
  position: relative;
  z-index: 1;
}

.emi-struct-stat { text-align: center; }

.emi-struct-stat-num {
  font-family: var(--font-serif);
  font-size: var(--text-4xl);
  font-weight: var(--fw-bold);
  color: var(--clr-gold-400);
  line-height: 1;
  letter-spacing: -0.04em;
}

.emi-struct-stat-lab {
  font-size: var(--text-xs);
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wider);
  font-weight: var(--fw-medium);
  margin-top: var(--space-1);
}

.emi-struct-section { margin-bottom: var(--space-10); }

.emi-struct-section-h {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: 0 0 var(--space-5) !important;
  padding: 0 !important;
  border: none !important;
}

.emi-struct-section-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, var(--clr-navy-700), var(--clr-navy-600));
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-white);
  font-size: 18px;
  flex-shrink: 0;
}

.emi-struct-section-title {
  font-family: var(--font-serif) !important;
  font-size: var(--text-2xl) !important;
  color: var(--clr-navy-800) !important;
  font-weight: var(--fw-semibold) !important;
  margin: 0 !important;
}

.emi-struct-section-sub {
  font-size: var(--text-sm) !important;
  color: var(--clr-ink-muted) !important;
  margin: var(--space-1) 0 0 !important;
}

/* @media */
@media (max-width: 640px) {
  .emi-struct-hero { padding: var(--space-10) var(--space-5); }
  .emi-struct-hero-title { font-size: var(--text-4xl) !important; }
  .emi-struct-stats { flex-direction: column; gap: var(--space-5); }
  .emi-pub-item { grid-template-columns: 1fr; gap: 0; }
  .emi-pub-year { display: inline-block; margin-bottom: var(--space-2); }
  .emi-membres-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
}

/* ==========================================================================
   REDESIGN PAGES STRUCTURÉES (Publications, Axes, Projets…) — identité FSJES.
   Préfixe `body` : bat le CSS Customizer fantôme (post 4170) qui aplatissait
   ces pages en rendu générique.
   ========================================================================== */

body .emi-struct { max-width: 1000px; margin: 0 auto; }

/* — Héro : teal profond + halo orange, typographie soignée — */
body .emi-struct-hero {
  background: linear-gradient(135deg, #063b49 0%, #0b6e87 55%, #007ea4 100%) !important;
  border-radius: var(--radius-2xl) !important;
  padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px) !important;
  color: #fff !important; text-align: center; position: relative; overflow: hidden;
  box-shadow: var(--shadow-xl); margin-bottom: 0 !important;
}
body .emi-struct-hero::before {
  content: ''; position: absolute; top: -100px; right: -90px; width: 380px; height: 380px;
  background: radial-gradient(circle, rgba(247,148,29,0.20) 0%, transparent 70%); border-radius: 50%;
}
body .emi-struct-hero-eyebrow {
  color: #ffd6a6 !important; text-transform: uppercase; letter-spacing: 0.16em;
  font-weight: 700; font-size: var(--text-xs) !important; position: relative; z-index: 1;
  margin: 0 0 12px !important; display: block;
}
body .emi-struct-hero-title {
  font-family: var(--font-sans) !important; font-weight: 800 !important; color: #fff !important;
  font-size: clamp(2rem, 4vw, 3rem) !important; letter-spacing: -0.02em;
  margin: 0 0 16px !important; position: relative; z-index: 1;
}
body .emi-struct-hero-desc {
  color: rgba(255,255,255,0.85) !important; max-width: 620px; margin: 0 auto !important;
  line-height: 1.8 !important; position: relative; z-index: 1; font-size: var(--text-lg) !important;
}
body .emi-struct-accent {
  width: 64px; height: 3px; background: #f7941d !important; border-radius: 99px;
  margin: 22px auto 0 !important; position: relative; z-index: 1;
}
/* Stats : carte blanche flottante qui chevauche le bas du héro (lisible sur blanc) */
body .emi-struct-stats {
  display: flex; justify-content: center; align-items: stretch;
  gap: clamp(8px, 3vw, 28px); flex-wrap: wrap;
  position: relative; z-index: 2;
  width: calc(100% - 48px); max-width: 760px;
  margin: -42px auto var(--space-12); padding: 22px clamp(16px, 3vw, 32px);
  background: #fff; border: 1px solid var(--clr-stone);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-lg);
}
body .emi-struct-stat {
  text-align: center; min-width: 96px; flex: 1;
  padding: 0 clamp(8px, 2vw, 18px);
}
body .emi-struct-stat + .emi-struct-stat { border-left: 1px solid var(--clr-stone); }
body .emi-struct-stat-num {
  font-family: var(--font-sans); font-weight: 800; font-size: var(--text-4xl);
  color: var(--clr-navy-800) !important; line-height: 1; letter-spacing: -0.03em;
}
body .emi-struct-stat-lab {
  font-size: var(--text-xs); color: var(--clr-ink-muted) !important;
  text-transform: uppercase; letter-spacing: 0.08em; margin-top: 6px;
  display: block; font-weight: 600;
}

/* — En-têtes de section : pastille teal + titre — */
body .emi-struct-section { margin-bottom: var(--space-12); }
body .emi-struct-section-h { display: flex; align-items: center; gap: 16px; margin: 0 0 var(--space-6) !important; padding: 0 !important; border: none !important; }
body .emi-struct-section-icon {
  width: 46px; height: 46px; border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #007ea4, #0b6e87) !important; color: #fff !important;
  display: flex; align-items: center; justify-content: center; font-size: 19px;
  flex-shrink: 0; box-shadow: var(--shadow-sm);
}
body .emi-struct-section-title { font-family: var(--font-sans) !important; font-weight: 700 !important; color: var(--clr-ink) !important; font-size: var(--text-2xl) !important; margin: 0 !important; }
body .emi-struct-section-sub { font-size: var(--text-sm) !important; color: var(--clr-ink-muted) !important; margin: 2px 0 0 !important; }

/* — Publications en CARTES (au lieu de simples lignes) — */
body .emi-pub-list { list-style: none !important; padding: 0 !important; margin: 0 !important; display: grid; gap: 14px; }
body .emi-pub-item {
  display: block !important; padding: 20px 24px !important; margin: 0 !important;
  background: #fff; border: 1px solid var(--clr-stone) !important;
  border-left: 4px solid var(--clr-navy-800) !important; border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
  transition: transform .25s var(--ease-out-quart), box-shadow .25s var(--ease-out-quart), border-color .25s ease;
}
body .emi-pub-item:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); border-left-color: var(--clr-gold-700) !important; }
body .emi-pub-item br { display: none; }
body .emi-pub-type {
  display: inline-block; background: var(--clr-navy-050) !important; color: var(--clr-navy-700) !important;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em;
  padding: 4px 11px; border-radius: var(--radius-full); margin: 0 0 11px !important;
}
body .emi-pub-title { font-size: var(--text-lg) !important; font-weight: 700 !important; color: var(--clr-ink) !important; line-height: 1.35 !important; margin: 0 0 7px !important; }
body .emi-pub-authors { font-size: var(--text-sm) !important; color: var(--clr-ink-mid) !important; font-style: italic; margin: 0 0 7px !important; }
body .emi-pub-source { font-size: var(--text-xs) !important; color: var(--clr-navy-700) !important; font-weight: 600 !important; display: block; }
body .emi-pub-source strong { color: var(--clr-ink) !important; }

@media (max-width: 640px) {
  body .emi-struct-stats {
    margin-top: -24px; gap: 0 8px; padding: 18px 12px;
    display: grid; grid-template-columns: 1fr 1fr;
  }
  body .emi-struct-stat { padding: 12px 8px; }
  body .emi-struct-stat + .emi-struct-stat { border-left: none; }
  body .emi-struct-stat:nth-child(even) { border-left: 1px solid var(--clr-stone); }
  body .emi-struct-stat:nth-child(n+3) { border-top: 1px solid var(--clr-stone); }
  body .emi-struct-stat-num { font-size: var(--text-3xl); }
  body .emi-pub-item { padding: 18px 18px !important; }
}

/* ==========================================================================
   PROJETS DE RECHERCHE — cartes premium (au-delà du style « liste »).
   Préfixe `body` : bat le CSS Customizer fantôme.
   ========================================================================== */

body .emi-proj-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 22px;
}

body .emi-proj-card {
  position: relative; background: #fff;
  border: 1px solid var(--clr-stone) !important; border-radius: var(--radius-xl) !important;
  overflow: hidden; display: flex; flex-direction: column;
  box-shadow: var(--shadow-sm);
  transition: transform .3s var(--ease-out-quart), box-shadow .3s var(--ease-out-quart), border-color .3s ease;
}
/* barre d'accent signature teal→orange en haut de chaque carte */
body .emi-proj-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; z-index: 2;
  background: linear-gradient(90deg, #007ea4 0%, #007ea4 66%, #f7941d 66%, #f7941d 100%);
  transition: height .3s ease;
}
body .emi-proj-card:hover {
  transform: translateY(-6px); box-shadow: var(--shadow-2xl); border-color: transparent !important;
}
body .emi-proj-card:hover::before { height: 6px; }

/* en-tête : statut animé + période */
body .emi-proj-top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 22px 0 !important; background: none !important; border: none !important;
}
body .emi-proj-status {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 5px 12px; border-radius: 99px;
}
body .emi-proj-status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
body .emi-proj-status.actif { background: rgba(0,126,164,.10); color: #0b6e87 !important; }
body .emi-proj-status.actif::before { background: #007ea4; animation: emi-proj-pulse 2s ease-in-out infinite; }
body .emi-proj-status.termine { background: var(--clr-linen); color: var(--clr-ink-muted) !important; }
body .emi-proj-status.termine::before { background: var(--clr-ink-faint); }
@keyframes emi-proj-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(0,126,164,.45); }
  50%     { box-shadow: 0 0 0 5px rgba(0,126,164,0); }
}
body .emi-proj-period { font-size: 12px; font-weight: 600; color: var(--clr-ink-muted); font-variant-numeric: tabular-nums; }

/* corps */
body .emi-proj-body { padding: 16px 22px 22px !important; display: flex; flex-direction: column; flex: 1; }
body .emi-proj-tag {
  align-self: flex-start; background: var(--clr-gold-100) !important; color: #b5660b !important;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 4px 11px; border-radius: 99px; margin: 0 0 12px !important;
}
body .emi-proj-title {
  font-size: var(--text-lg) !important; font-weight: 700 !important; color: var(--clr-ink) !important;
  line-height: 1.32 !important; margin: 0 0 10px !important; transition: color .2s ease;
}
body .emi-proj-card:hover .emi-proj-title { color: var(--clr-navy-800) !important; }
body .emi-proj-desc {
  font-size: var(--text-sm) !important; color: var(--clr-ink-mid) !important;
  line-height: 1.65 !important; margin: 0 0 16px !important; flex: 1;
}
/* méta (coordinateur, partenaires) */
body .emi-proj-meta { border-top: 1px dashed var(--clr-stone-dark); padding-top: 14px; display: grid; gap: 7px; }
body .emi-proj-meta-row { display: flex; gap: 8px; font-size: var(--text-xs); line-height: 1.5; }
body .emi-proj-meta-lab { color: var(--clr-navy-700) !important; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; flex-shrink: 0; }
body .emi-proj-meta-val { color: var(--clr-ink-mid) !important; }

@media (max-width: 640px) {
  body .emi-proj-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ==========================================================================
   À PROPOS — HUB (2 cartes), PRÉSENTATION (valeurs), MOT DU DIRECTEUR
   ========================================================================== */

/* Hub À propos */
.emi-about-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 980px; margin: 0 auto; }
.emi-about-card {
  display: flex; flex-direction: column; align-items: flex-start;
  background: #fff; border: 1px solid var(--clr-stone); border-radius: var(--radius-2xl);
  padding: 36px 34px; text-decoration: none !important; position: relative; overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .3s var(--ease-out-quart), box-shadow .3s var(--ease-out-quart), border-color .3s ease;
}
.emi-about-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #007ea4 66%, #f7941d 66%); }
.emi-about-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-2xl); border-color: transparent; }
.emi-about-card-icon { width: 60px; height: 60px; border-radius: var(--radius-xl); display: flex; align-items: center; justify-content: center; font-size: 28px; margin-bottom: 20px; background: linear-gradient(135deg, #e6f2f6, #fff6ea); }
.emi-about-card-title { font-family: var(--font-sans); font-size: var(--text-2xl); font-weight: 700; color: var(--clr-ink); margin: 0 0 10px; }
.emi-about-card-desc { font-size: var(--text-base); color: var(--clr-ink-muted); line-height: 1.7; margin: 0 0 20px; flex: 1; }
.emi-about-card-go { font-size: var(--text-sm); font-weight: 700; color: var(--clr-navy-700); text-transform: uppercase; letter-spacing: .06em; display: inline-flex; align-items: center; gap: 6px; transition: gap .25s ease, color .25s ease; }
.emi-about-card:hover .emi-about-card-go { color: var(--clr-gold-700); gap: 12px; }
@media (max-width: 720px) { .emi-about-cards { grid-template-columns: 1fr; } }

/* Présentation — valeurs, établissement, lead/quote */
.emi-pres-lead { font-size: var(--text-lg); color: var(--clr-ink-mid); line-height: 1.8; margin: 0 0 16px; }
.emi-pres-p { font-size: var(--text-base); color: var(--clr-ink-mid); line-height: 1.8; margin: 0 0 14px; }
.emi-pres-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 4px; }
.emi-pres-card { background: #fff; border: 1px solid var(--clr-stone); border-left: 3px solid var(--clr-navy-800); border-radius: var(--radius-lg); padding: 20px 22px; transition: transform .25s var(--ease-out-quart), box-shadow .25s, border-color .25s; }
.emi-pres-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-left-color: var(--clr-gold-700); }
.emi-pres-card-t { font-family: var(--font-sans); font-size: var(--text-base); font-weight: 700; color: var(--clr-navy-800); margin: 0 0 6px; }
.emi-pres-card-d { font-size: var(--text-sm); color: var(--clr-ink-mid); line-height: 1.6; margin: 0; }
.emi-pres-dl { display: grid; border: 1px solid var(--clr-stone); border-radius: var(--radius-lg); overflow: hidden; max-width: 640px; }
.emi-pres-dl-row { display: grid; grid-template-columns: 200px 1fr; gap: 16px; padding: 14px 20px; border-bottom: 1px solid var(--clr-stone); }
.emi-pres-dl-row:last-child { border-bottom: none; }
.emi-pres-dl-row:nth-child(odd) { background: var(--clr-cream); }
.emi-pres-dl-k { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--clr-navy-700); }
.emi-pres-dl-v { font-size: var(--text-sm); color: var(--clr-ink); }
.emi-pres-quote { font-size: var(--text-lg); font-style: italic; color: var(--clr-navy-800); border-left: 4px solid var(--clr-gold-700); background: var(--wash-cool); padding: 18px 22px; border-radius: 0 var(--radius-md) var(--radius-md) 0; margin: 8px 0; }

/* Mot du Directeur */
.emi-mot { max-width: 980px; margin: 0 auto; }
.emi-mot-hero {
  display: grid; grid-template-columns: 230px 1fr; gap: clamp(24px, 4vw, 48px); align-items: center;
  background: linear-gradient(135deg, #063b49, #0b6e87 55%, #007ea4); border-radius: var(--radius-2xl);
  padding: clamp(30px, 4vw, 48px); color: #fff; position: relative; overflow: hidden; box-shadow: var(--shadow-xl);
}
.emi-mot-hero::after { content: ''; position: absolute; top: -100px; right: -90px; width: 360px; height: 360px; background: radial-gradient(circle, rgba(247,148,29,.20), transparent 70%); }
.emi-mot-photo img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--radius-xl); box-shadow: 0 20px 44px rgba(0,0,0,.34), 0 0 0 4px rgba(255,255,255,.92); position: relative; z-index: 1; display: block; }
.emi-mot-intro { position: relative; z-index: 1; }
.emi-mot-eyebrow { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .16em; color: #ffd6a6; margin: 0 0 12px; }
.emi-mot-title { font-family: var(--font-sans); font-size: clamp(1.7rem, 3.5vw, 2.6rem); font-weight: 800; color: #fff; line-height: 1.12; letter-spacing: -.02em; margin: 0 0 14px; }
.emi-mot-lead { font-size: var(--text-lg); color: rgba(255,255,255,.88); line-height: 1.7; margin: 0; }
.emi-mot-body { padding: clamp(28px, 4vw, 40px) clamp(2px, 2vw, 30px); }
.emi-mot-p { font-size: var(--text-base); color: var(--clr-ink-mid); line-height: 1.85; margin: 0 0 16px; }
.emi-mot-p strong { color: var(--clr-navy-800); font-weight: 700; }
.emi-mot-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 24px 0; }
.emi-mot-pillar { background: #fff; border: 1px solid var(--clr-stone); border-top: 3px solid var(--clr-navy-800); border-radius: var(--radius-lg); padding: 22px 20px; }
.emi-mot-pillar-n { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: 700; color: var(--clr-gold-700); letter-spacing: .08em; }
.emi-mot-pillar-t { font-size: var(--text-base); font-weight: 700; color: var(--clr-ink); margin: 6px 0 8px; }
.emi-mot-pillar-d { font-size: var(--text-sm); color: var(--clr-ink-muted); line-height: 1.6; margin: 0; }
.emi-mot-quote { font-size: var(--text-xl); font-style: italic; font-weight: 600; color: var(--clr-navy-800); text-align: center; padding: 24px; margin: 24px 0; border-top: 2px solid var(--clr-stone); border-bottom: 2px solid var(--clr-stone); }
.emi-mot-sign { margin-top: 24px; padding-top: 16px; border-top: 3px solid var(--clr-gold-700); display: inline-flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.emi-mot-sign-id { order: 1; }
.emi-mot-name { font-size: var(--text-lg); font-weight: 700; color: var(--clr-navy-800); margin: 0; }
.emi-mot-role { font-size: var(--text-sm); color: var(--clr-ink-muted); margin: 4px 0 0; }
@media (max-width: 680px) { .emi-mot-hero { grid-template-columns: 1fr; } .emi-mot-photo { max-width: 200px; } .emi-mot-pillars { grid-template-columns: 1fr; } }

/* ==========================================================================
   À PROPOS — révision « éditoriale » (moins générique) : héro aligné gauche
   avec vraie photo, badges numérotés (plus d'émojis), cartes à photo.
   ========================================================================== */

/* Héro éditorial, aligné à gauche, vraie photo en fond */
.emi-ap .emi-struct-hero {
  text-align: left !important;
  background:
    linear-gradient(110deg, rgba(6,59,73,.95) 0%, rgba(11,110,135,.84) 52%, rgba(0,126,164,.62) 100%),
    url('/wp-content/uploads/2026/03/research-center-crop.jpg') !important;
  background-size: cover !important; background-position: center !important;
}
.emi-ap .emi-struct-hero-desc { margin: 0 !important; max-width: 640px; }
.emi-ap .emi-struct-accent { margin: 22px 0 0 !important; }

/* Badge de section numéroté (remplace les émojis) */
.emi-ap .emi-struct-section-icon {
  font-family: var(--font-sans); font-weight: 800; font-size: 15px;
  letter-spacing: 0.02em; font-variant-numeric: tabular-nums;
}

/* Cartes du hub avec vraie photo */
.emi-about-card { padding: 0 !important; }
.emi-about-card-media { width: 100%; height: 210px; overflow: hidden; position: relative; }
.emi-about-card-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .6s var(--ease-out-quart); }
/* Photo du directeur (portrait plein-pied) — recentrer sur le visage */
.emi-about-card-media img[src*="photo-doyen"] { object-position: center 15%; }
.emi-about-card:hover .emi-about-card-media img { transform: scale(1.06); }
.emi-about-card-body { padding: 26px 30px 30px; display: flex; flex-direction: column; align-items: flex-start; }
.emi-about-card-kicker { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--clr-navy-700); display: block; margin-bottom: 8px; }

/* Image feature (photo large dans la présentation) */
.emi-ap-figure { margin: 6px 0 10px; border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-md); }
.emi-ap-figure img { width: 100%; display: block; }

/* Mission/vie : liste éditoriale numérotée (alternative aux cartes uniformes) */
.emi-ap-list { list-style: none; margin: 0; padding: 0; counter-reset: apl; }
.emi-ap-list li {
  counter-increment: apl; position: relative;
  padding: 18px 0 18px 56px; border-top: 1px solid var(--clr-stone);
}
.emi-ap-list li:first-child { border-top: none; }
.emi-ap-list li::before {
  content: counter(apl, decimal-leading-zero); position: absolute; left: 0; top: 18px;
  font-family: var(--font-sans); font-weight: 800; font-size: 15px; color: var(--clr-gold-700);
  font-variant-numeric: tabular-nums;
}
.emi-ap-list-t { font-family: var(--font-sans); font-weight: 700; font-size: var(--text-base); color: var(--clr-ink); margin: 0 0 3px; }
.emi-ap-list-d { font-size: var(--text-sm); color: var(--clr-ink-mid); line-height: 1.6; margin: 0; }

/* ==========================================================================
   DOCTORANT — fiche mise en avant (photo + sujet + encadrants).
   Classes dédiées (ne touche pas au CSS .emi-mbr-*).
   ========================================================================== */
.emi-doc-card {
  grid-column: 1 / -1; max-width: 720px;
  display: grid; grid-template-columns: 180px 1fr; gap: 24px; align-items: center;
  background: #fff; border: 1px solid var(--clr-stone); border-radius: var(--radius-xl);
  overflow: hidden; box-shadow: var(--shadow-sm);
  transition: transform .25s var(--ease-out-quart), box-shadow .25s var(--ease-out-quart);
}
.emi-doc-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.emi-doc-card-photo { position: relative; aspect-ratio: 3/4; height: 100%; }
.emi-doc-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.emi-doc-card-badge {
  position: absolute; top: 12px; left: 12px;
  background: rgba(0,126,164,.92); color: #fff; font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em; padding: 4px 11px; border-radius: 99px;
}
.emi-doc-card-body { padding: 18px 28px 18px 0; }
.emi-doc-card-role { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--clr-gold-700); margin: 0 0 6px; }
.emi-doc-card-name { font-family: var(--font-sans); font-size: var(--text-xl); font-weight: 700; color: var(--clr-ink); margin: 0 0 10px; line-height: 1.2; }
.emi-doc-card-subject { font-size: var(--text-sm); font-style: italic; color: var(--clr-ink-mid); line-height: 1.6; margin: 0 0 14px; }
.emi-doc-card-sup { display: flex; flex-direction: column; gap: 3px; border-top: 1px dashed var(--clr-stone-dark); padding-top: 12px; }
.emi-doc-card-sup-lab { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--clr-navy-700); }
.emi-doc-card-sup-val { font-size: var(--text-sm); color: var(--clr-ink-mid); }
.emi-doc-card-sup-val a { color: var(--clr-navy-800); text-decoration: none; font-weight: 600; }
.emi-doc-card-sup-val a:hover { color: var(--clr-gold-700); text-decoration: underline; }
@media (max-width: 560px) {
  .emi-doc-card { grid-template-columns: 1fr; }
  .emi-doc-card-photo { max-width: 200px; aspect-ratio: 1/1; }
  .emi-doc-card-body { padding: 0 22px 22px; }
}

/* Signature manuscrite du directeur (Mot du Directeur) */
.emi-mot-sign-img { order: 2; width: 200px; height: auto; margin: 0; mix-blend-mode: multiply; flex-shrink: 0; }

/* ==========================================================================
   PAGE MEMBRES — onglets (Permanents / Associés / Doctorants), CSS pur.
   ========================================================================== */
.emi-mtabs { max-width: var(--container-max-wide); margin: 0 auto; }
.emi-mtab-radio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.emi-mtabs-nav {
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center;
  padding: 6px; margin: 0 auto var(--space-12);
  background: var(--clr-cream); border: 1px solid var(--clr-stone);
  border-radius: var(--radius-full); width: fit-content; max-width: 100%;
}
.emi-mtab-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 22px; border-radius: var(--radius-full);
  font-family: var(--font-sans); font-size: var(--text-sm); font-weight: 700;
  color: var(--clr-ink-mid); cursor: pointer; white-space: nowrap;
  transition: color .2s ease, background .2s ease;
}
.emi-mtab-btn .n {
  font-size: 11px; font-weight: 700; line-height: 1;
  background: var(--clr-stone); color: var(--clr-ink-mid);
  padding: 3px 8px; border-radius: 99px;
}
.emi-mtab-btn:hover { color: var(--clr-navy-800); }

.emi-mtab-panel { display: none; }

/* onglet actif */
#mtab-perm:checked ~ .emi-mtabs-nav label[for="mtab-perm"],
#mtab-asso:checked ~ .emi-mtabs-nav label[for="mtab-asso"],
#mtab-doc:checked  ~ .emi-mtabs-nav label[for="mtab-doc"] {
  background: linear-gradient(135deg, #007ea4, #0b6e87); color: #fff;
  box-shadow: var(--shadow-sm);
}
#mtab-perm:checked ~ .emi-mtabs-nav label[for="mtab-perm"] .n,
#mtab-asso:checked ~ .emi-mtabs-nav label[for="mtab-asso"] .n,
#mtab-doc:checked  ~ .emi-mtabs-nav label[for="mtab-doc"] .n {
  background: rgba(255,255,255,0.26); color: #fff;
}
/* panneau visible */
#mtab-perm:checked ~ .emi-mtab-panel[data-p="perm"],
#mtab-asso:checked ~ .emi-mtab-panel[data-p="asso"],
#mtab-doc:checked  ~ .emi-mtab-panel[data-p="doc"] {
  display: block; animation: emi-fin-rise .5s var(--ease-out-quart) both;
}
/* dans la page à onglets, on neutralise la marge basse des grilles */
.emi-mtab-panel .emi-mbr-section-head { margin-top: 0; }
