/* LeBoursier Alumni v2 — également compatible avec le modèle v1.
 * Le sélecteur .lbal-root fait primer le correctif sur ses anciens styles intégrés.
 * Aucun style global et aucun recadrage du portrait dans le corps de la fiche.
 */
#lb-alumni.lbal-root .lbal-breadcrumb { padding-top:18px; }
#lb-alumni.lbal-root .lbal-header { padding:24px 0 22px; gap:12px; }
#lb-alumni.lbal-root .lbal-title h1 { font-size:clamp(40px,5.4vw,64px); line-height:1.04; }
#lb-alumni.lbal-root .lbal-chapo :is(p,.elementor-widget-container) { font-size:20px; line-height:1.55; }
#lb-alumni.lbal-root .lbal-facts { padding-top:5px; gap:18px; }
#lb-alumni.lbal-root .lbal-reading { padding-top:24px; }
#lb-alumni.lbal-root .lbal-body p { margin-bottom:18px; }
#lb-alumni.lbal-root .lbal-body p:last-child { margin-bottom:0; }
#lb-alumni.lbal-root .lbal-body blockquote {
  /* Un contexte de formatage distinct empêche le fond de couvrir la photo flottante. */
  display:flow-root; position:static; float:none; clear:none;
  width:auto; max-width:100%; min-width:0;
  margin:0 0 18px; padding:16px 20px;
  border:0; border-left:3px solid var(--lb-yellow,#ede54a);
  background:#eeece2; box-shadow:none; transform:none;
  font:400 18px/1.6 var(--lb-serif,Georgia,serif);
  overflow-wrap:anywhere;
}
#lb-alumni.lbal-root .lbal-body blockquote :is(p,li) {
  font-size:18px; line-height:1.6; font-style:normal; letter-spacing:0;
}
#lb-alumni.lbal-root .lbal-body blockquote p { margin:0 0 12px; }
#lb-alumni.lbal-root .lbal-body blockquote p:last-child { margin-bottom:0; }
#lb-alumni.lbal-root .lbal-body blockquote cite { display:block; margin-top:10px; font:400 12px/1.5 var(--lb-sans,Arial,sans-serif); }
#lb-alumni.lbal-root .lbal-signoff { margin:20px auto 30px; }
#lb-alumni.lbal-root .lbal-related { padding:24px 0 30px; gap:18px; }
#lb-alumni.lbal-root .lbal-related-title h2 { font-size:32px; }
#lb-alumni.lbal-root .lbal-cards .elementor-posts-container { gap:24px; }
#lb-alumni.lbal-root .lbal-cards .elementor-post__thumbnail__link { margin-bottom:12px; }
#lb-alumni.lbal-root .lbal-cards .elementor-post__title { font-size:23px; }
#lb-alumni.lbal-root .lbal-next { margin-bottom:30px; padding:20px 24px; }
@media(max-width:1024px) {
  #lb-alumni.lbal-root .lbal-title h1 { font-size:52px; }
}
@media(max-width:767px) {
  #lb-alumni.lbal-root .lbal-breadcrumb { padding-top:12px; }
  #lb-alumni.lbal-root .lbal-header { padding:18px 0; gap:10px; }
  #lb-alumni.lbal-root .lbal-title h1 { font-size:clamp(34px,9.3vw,46px); line-height:1.06; }
  #lb-alumni.lbal-root .lbal-chapo :is(p,.elementor-widget-container) { font-size:18px; line-height:1.6; }
  #lb-alumni.lbal-root .lbal-facts { padding-top:3px; gap:12px 9px; }
  #lb-alumni.lbal-root .lbal-reading { padding-top:18px; }
  #lb-alumni.lbal-root .lbal-body > .elementor-widget-container > figure.wp-block-image:first-child {
    float:none; width:100%; max-width:440px; margin:0 auto 16px;
  }
  #lb-alumni.lbal-root .lbal-body blockquote {
    width:100%; margin:0 0 18px; padding:13px 15px;
    font-size:16px; line-height:1.6;
  }
  #lb-alumni.lbal-root .lbal-body blockquote :is(p,li) { font-size:16px; line-height:1.6; }
  #lb-alumni.lbal-root .lbal-body blockquote cite { font-size:12px; }
  #lb-alumni.lbal-root .lbal-signoff { margin:18px auto 24px; }
  #lb-alumni.lbal-root .lbal-related { padding:20px 0 24px; gap:16px; }
  #lb-alumni.lbal-root .lbal-related-title h2 { font-size:28px; }
  #lb-alumni.lbal-root .lbal-cards .elementor-posts-container { grid-template-columns:minmax(0,1fr); gap:24px; }
  #lb-alumni.lbal-root .lbal-next { padding:18px; margin-bottom:24px; }
}

/* Cartes du code court : rendu complet, sans dépendance au widget Publications. */
.lbal-direct-cards { width:100%; min-width:0; }
.lbal-direct-cards .elementor-posts-container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lbal-direct-cards .elementor-post { display:flex; flex-direction:column; min-width:0; padding:0; margin:0; background:none; border:0; box-shadow:none; }
.lbal-direct-cards .elementor-post__thumbnail__link { display:block; width:100%; aspect-ratio:4/5; overflow:hidden; margin:0 0 12px; background:#e4e3d9; }
.lbal-direct-cards .elementor-post__thumbnail { position:relative; width:100%; height:100%; aspect-ratio:4/5; }
.lbal-direct-cards .elementor-post__thumbnail img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 28%; }
.lbal-direct-cards .elementor-post__text { display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.lbal-direct-cards .elementor-post__title { font:500 23px/1.18 var(--lb-sans,Arial,sans-serif); letter-spacing:-.025em; margin:0 0 8px; overflow-wrap:anywhere; }
.lbal-direct-cards .elementor-post__title a { color:inherit; text-decoration:none; }
.lbal-direct-cards .elementor-post__title a:hover { text-decoration:underline; }
.lbal-direct-cards .elementor-post__read-more { display:inline-flex; align-items:center; min-height:44px; margin-top:auto; font:500 12px/1.5 var(--lb-sans,Arial,sans-serif); color:inherit; text-decoration:underline; text-underline-offset:4px; }
.lbal-direct-cards .lbal-photo-empty { display:flex; align-items:center; justify-content:center; height:100%; font:400 14px/1.5 var(--lb-sans,Arial,sans-serif); color:#62655d; }
@media(max-width:1024px) { .lbal-direct-cards .elementor-posts-container { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .lbal-direct-cards .elementor-posts-container { grid-template-columns:minmax(0,1fr); } }

/* Cartes compactes 2.2 : photo, nom, pays, bourse, formation, lien. */
.lbal-direct-cards .elementor-post__thumbnail__link,
#lb-alumni.lbal-root .lbal-direct-cards .elementor-post__thumbnail__link { margin-bottom:10px; }
.lbal-direct-cards .elementor-post__text,
#lb-alumni.lbal-root .lbal-direct-cards .elementor-post__text { gap:0; padding:0; }
.lbal-direct-cards .elementor-post__title,
#lb-alumni.lbal-root .lbal-direct-cards .elementor-post__title { margin:0 0 5px; font-size:21px; line-height:1.2; }
.lbal-direct-cards .elementor-post__text .lbal-card-country,
#lb-alumni.lbal-root .lbal-direct-cards .elementor-post__text .lbal-card-country { margin:0 0 3px; padding:0; font:400 12px/1.45 var(--lb-sans,Arial,sans-serif); color:var(--lb-muted,#62655d); }
.lbal-direct-cards .elementor-post__text :is(.lbal-card-award,.lbal-card-course),
#lb-alumni.lbal-root .lbal-direct-cards .elementor-post__text :is(.lbal-card-award,.lbal-card-course) { margin:0 0 3px; padding:0; font:400 13px/1.4 var(--lb-sans,Arial,sans-serif); color:inherit; overflow-wrap:anywhere; }
.lbal-direct-cards .elementor-post__read-more,
#lb-alumni.lbal-root .lbal-direct-cards .elementor-post__read-more { min-height:44px; padding:5px 0 0; margin:2px 0 0; font-size:12px; line-height:1.4; }
