/* Présentation Projet uniquement ; aucune grille métier. Utiliser dans t4hi-scope. */
.t4hi-project-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--t4hi-color-white);
  border-radius: var(--t4hi-radius-card);
  box-shadow: var(--t4hi-shadow-soft);
  transition: transform var(--t4hi-motion-duration) var(--t4hi-motion-easing), box-shadow var(--t4hi-motion-duration) var(--t4hi-motion-easing);
}
.t4hi-project-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--t4hi-radius-card) var(--t4hi-radius-card) 0 0;
}
.t4hi-project-card__domain {
  position: absolute;
  z-index: 1;
  left: var(--t4hi-space-3);
  bottom: var(--t4hi-space-3);
  max-width: calc(100% - 2 * var(--t4hi-space-3));
  background: var(--t4hi-color-white);
}
.t4hi-scope .t4hi-project-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.t4hi-project-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--t4hi-space-3);
  flex: 1;
  min-width: 0;
  padding: var(--t4hi-space-4);
  background: var(--t4hi-color-primary);
  color: var(--t4hi-color-white);
  border-radius: 0 0 var(--t4hi-radius-card) var(--t4hi-radius-card);
}
.t4hi-scope .t4hi-project-card__title,
.t4hi-scope .t4hi-project-card__summary { margin: 0; color: var(--t4hi-color-white); }
.t4hi-project-card__title,
.t4hi-project-card__summary { overflow-wrap: anywhere; }
.t4hi-project-card__meta { display: flex; flex-wrap: wrap; gap: var(--t4hi-space-2); }
.t4hi-project-card__link { margin-top: auto; }
/* Adaptations au fond sombre limitées à cette carte. */
.t4hi-project-card__meta .t4hi-badge--type {
  background: var(--t4hi-color-white);
  color: var(--t4hi-color-primary);
  border-color: var(--t4hi-color-white);
}
.t4hi-project-card__meta .t4hi-badge--status {
  background: transparent;
  color: var(--t4hi-color-white);
  border-color: var(--t4hi-color-white);
}
.t4hi-scope .t4hi-project-card a.t4hi-project-card__link:not(.button):not(.elementor-button):not([role="button"]) {
  color: var(--t4hi-color-white);
}
.t4hi-scope .t4hi-project-card a.t4hi-project-card__link:not(.button):not(.elementor-button):not([role="button"]):hover {
  color: var(--t4hi-color-background-soft);
  text-decoration-thickness: 2px;
}
.t4hi-scope .t4hi-project-card .t4hi-project-card__link:focus,
.t4hi-scope .t4hi-project-card .t4hi-project-card__link:focus-visible {
  outline-color: var(--t4hi-color-white);
}
@media (hover: hover) and (pointer: fine) {
  .t4hi-project-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--t4hi-shadow-soft), 0 8px 20px rgb(38 56 60 / 8%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .t4hi-project-card:hover { transform: none; }
}

/* Phase 2C.2 : propriétés communes aux trois nouvelles familles seulement. */
.t4hi-program-card,
.t4hi-action-card,
.t4hi-resource-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--t4hi-color-white);
  border-radius: var(--t4hi-radius-card);
  box-shadow: var(--t4hi-shadow-soft);
  overflow-wrap: anywhere;
  transition: transform var(--t4hi-motion-duration) var(--t4hi-motion-easing), box-shadow var(--t4hi-motion-duration) var(--t4hi-motion-easing);
}
.t4hi-program-card__media,
.t4hi-resource-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--t4hi-radius-card) var(--t4hi-radius-card) 0 0;
}
.t4hi-scope .t4hi-program-card__image,
.t4hi-scope .t4hi-resource-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.t4hi-program-card__body,
.t4hi-action-card__body,
.t4hi-resource-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--t4hi-space-3);
  flex: 1;
  min-width: 0;
  padding: var(--t4hi-space-4);
}
.t4hi-scope .t4hi-program-card__title,
.t4hi-scope .t4hi-action-card__title,
.t4hi-scope .t4hi-resource-card__title,
.t4hi-scope .t4hi-program-card__summary,
.t4hi-scope .t4hi-action-card__summary,
.t4hi-scope .t4hi-resource-card__summary { margin: 0; }
.t4hi-program-card__link,
.t4hi-action-card__link,
.t4hi-resource-card__link { margin-top: auto; }
/* Programme : corps clair et bandeau de synthèse optionnel. */
.t4hi-program-card__body {
  background: var(--t4hi-color-background-soft);
  border-top: 3px solid var(--t4hi-color-primary);
  border-radius: 0 0 var(--t4hi-radius-card) var(--t4hi-radius-card);
}
.t4hi-scope .t4hi-program-card__counts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--t4hi-space-3);
  width: 100%;
  list-style: none;
  margin: 0;
  padding: var(--t4hi-space-3) 0;
  border-block: 1px solid var(--t4hi-color-primary);
  color: var(--t4hi-color-primary);
  font-weight: var(--t4hi-weight-strong);
}
/* Action : date textuelle marquante, sans média décoratif supplémentaire. */
.t4hi-action-card__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--t4hi-space-3);
  padding: var(--t4hi-space-4);
  background: var(--t4hi-color-background-soft);
  border-radius: var(--t4hi-radius-card) var(--t4hi-radius-card) 0 0;
}
.t4hi-action-card__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
  min-width: 5rem;
  padding: var(--t4hi-space-2) var(--t4hi-space-3);
  background: var(--t4hi-color-primary);
  color: var(--t4hi-color-white);
  border-radius: var(--t4hi-radius-button);
  line-height: var(--t4hi-line-heading);
}
.t4hi-action-card__day { font-size: var(--t4hi-size-h2); font-weight: var(--t4hi-weight-display); }
.t4hi-action-card__details,
.t4hi-resource-card__details { display: grid; gap: var(--t4hi-space-2); width: 100%; margin: 0; }
.t4hi-action-card__details dt,
.t4hi-resource-card__details dt { color: var(--t4hi-color-primary); font-weight: var(--t4hi-weight-strong); }
.t4hi-action-card__details dd,
.t4hi-resource-card__details dd { margin: 0; }
/* Ressource : onglet documentaire et notice bibliographique distincte. */
.t4hi-resource-card__body { border-inline-start: 3px solid var(--t4hi-color-primary); border-end-start-radius: var(--t4hi-radius-card); }
.t4hi-resource-card__type { display: inline-flex; align-items: center; gap: var(--t4hi-space-2); color: var(--t4hi-color-primary); font-weight: var(--t4hi-weight-strong); }
.t4hi-resource-card__details { padding: var(--t4hi-space-3); background: var(--t4hi-color-background); border-radius: var(--t4hi-radius-button); }
@media (hover: hover) and (pointer: fine) {
  .t4hi-program-card:hover,
  .t4hi-action-card:hover,
  .t4hi-resource-card:hover { transform: translateY(-4px); box-shadow: var(--t4hi-shadow-soft), 0 8px 20px rgb(38 56 60 / 8%); }
}
@media (prefers-reduced-motion: reduce) {
  .t4hi-program-card:hover,
  .t4hi-action-card:hover,
  .t4hi-resource-card:hover { transform: none; }
}

/* Phase 2C.3 : personnes et organisations, sans changement des cartes éditoriales. */
.t4hi-member-card,
.t4hi-partner-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--t4hi-color-white);
  border-radius: var(--t4hi-radius-card);
  box-shadow: var(--t4hi-shadow-soft);
  overflow-wrap: anywhere;
  transition: transform var(--t4hi-motion-duration) var(--t4hi-motion-easing), box-shadow var(--t4hi-motion-duration) var(--t4hi-motion-easing);
}
.t4hi-member-card__portrait {
  position: relative;
  aspect-ratio: 5 / 4;
  margin: var(--t4hi-space-4) var(--t4hi-space-4) 0;
  overflow: hidden;
  border-radius: var(--t4hi-radius-card);
}
.t4hi-scope .t4hi-member-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.t4hi-partner-card__logo {
  position: relative;
  aspect-ratio: 5 / 3;
  margin: var(--t4hi-space-4) var(--t4hi-space-4) 0;
  background: var(--t4hi-color-background);
  overflow: hidden;
  border-radius: var(--t4hi-radius-card);
}
.t4hi-scope .t4hi-partner-card__image { display: block; width: 100%; height: 100%; padding: var(--t4hi-space-4); object-fit: contain; }
/* Centrer les fallbacks inchangés dans les fenêtres média moins hautes. */
.t4hi-member-card__portrait > .t4hi-fallback,
.t4hi-partner-card__logo > .t4hi-fallback {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.t4hi-member-card__body,
.t4hi-partner-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--t4hi-space-3); min-width: 0; padding: var(--t4hi-space-4); flex: 1; }
.t4hi-scope .t4hi-member-card__body > p,
.t4hi-scope .t4hi-partner-card__body > p,
.t4hi-scope .t4hi-member-card__name,
.t4hi-scope .t4hi-partner-card__name { margin: 0; }
.t4hi-member-card__role { color: var(--t4hi-color-primary); font-weight: var(--t4hi-weight-strong); padding: var(--t4hi-space-2) var(--t4hi-space-3); background: var(--t4hi-color-background-soft); border-inline-start: 3px solid var(--t4hi-color-primary); }
.t4hi-member-card__profession,
.t4hi-member-card__profile,
.t4hi-partner-card__acronym { color: var(--t4hi-color-text-muted); }
.t4hi-partner-card__type { font-weight: var(--t4hi-weight-strong); }
.t4hi-scope .t4hi-partner-card__acronym + .t4hi-partner-card__type,
.t4hi-scope .t4hi-partner-card__type + .t4hi-partner-card__territory {
  margin-top: calc(-1 * var(--t4hi-space-2));
}
.t4hi-scope .t4hi-member-card__expertises,
.t4hi-scope .t4hi-partner-card__territory { list-style: none; padding: 0; margin: 0; }
.t4hi-member-card__expertises { display: flex; flex-wrap: wrap; gap: var(--t4hi-space-2); max-width: 100%; }
.t4hi-member-card__expertises > li { min-width: 0; max-width: 100%; }
.t4hi-member-card__links,
.t4hi-partner-card__links { display: flex; flex-direction: column; align-items: flex-start; gap: var(--t4hi-space-2); margin-top: auto; max-width: 100%; }
.t4hi-member-card__external,
.t4hi-partner-card__external { display: inline-flex; align-items: center; gap: var(--t4hi-space-2); min-height: 44px; max-width: 100%; }
.t4hi-member-card__links { flex-direction: row; flex-wrap: wrap; column-gap: var(--t4hi-space-3); }
.t4hi-member-card__links > .t4hi-cta { flex-basis: 100%; }
.t4hi-member-card__external { font-weight: var(--t4hi-weight-body); }
@media (hover: hover) and (pointer: fine) {
  .t4hi-member-card:hover,
  .t4hi-partner-card:hover { transform: translateY(-4px); box-shadow: var(--t4hi-shadow-soft), 0 8px 20px rgb(38 56 60 / 8%); }
}
@media (prefers-reduced-motion: reduce) {
  .t4hi-member-card:hover,
  .t4hi-partner-card:hover { transform: none; }
}
