/* ==========================================================================
   SEP — TROMBINOSCOPE (compact)
   ========================================================================== */

.sep-team-page{
  --sep-team-radius: 14px;
  --sep-team-border: rgba(0,0,0,.10);
  --sep-team-shadow: 0 10px 26px rgba(0,0,0,.08);
  --sep-team-muted: rgba(0,0,0,.68);

  --sep-avatar: 78px;           /* TAILLE FIXE PHOTO */
  --sep-pad: .85rem;            /* card compact */
  --sep-tag-radius: 999px;
  --sep-tag-pad-y: .18rem;
  --sep-tag-pad-x: .55rem;
  --sep-tag-font: .78rem;
}

/* Hero */
.sep-team-hero{ margin: 0 0 .8rem 0; }
.sep-team-title{ margin: 0 0 .25rem 0; line-height: 1.15; }
.sep-team-lead{ margin: 0; color: var(--sep-team-muted); max-width: 75ch; }

/* Card compact */
.sep-team-card--compact{
  height: 100%;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--sep-team-border);
  border-radius: var(--sep-team-radius);
  box-shadow: var(--sep-team-shadow);
  padding: var(--sep-pad);
}

/* Head: avatar + identité */
.sep-team-head{
  display: grid;
  grid-template-columns: var(--sep-avatar) 1fr auto;
  gap: .75rem;
  align-items: start;
}

/* Avatar fixe, recadrage propre */
.sep-team-avatar{
  width: var(--sep-avatar);
  height: var(--sep-avatar);
  margin: 0;
  border-radius: 50%;
  overflow: hidden;
  background: rgba(0,0,0,.05);
  border: 1px solid rgba(0,0,0,.06);
}
.sep-team-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Nom + rôle */
.sep-team-name{
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.2;
}
.sep-team-surname{ letter-spacing: .03em; }
.sep-team-role{
  margin: .15rem 0 .35rem 0;
  font-weight: 600;
  color: rgba(0,0,0,.72);
  font-size: .92rem;
}

/* Pastilles (fonctions) */
.sep-team-tags{
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .35rem;
}
.sep-tag{
  display: inline-flex;
  align-items: center;
  border-radius: var(--sep-tag-radius);
  padding: var(--sep-tag-pad-y) var(--sep-tag-pad-x);
  font-size: var(--sep-tag-font);
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  white-space: nowrap;
}

/* Catégories de pastilles (visuellement distinctes) */
.sep-tag--asso{ background: rgba(0, 90, 200, .07); }
.sep-tag--conf{ background: rgba(160, 80, 200, .08); }
.sep-tag--site{ background: rgba(0, 140, 90, .08); }

/* Badge “Contact” */
.sep-team-contact-flag{
  justify-self: end;
  font-size: .75rem;
  font-weight: 700;
  border-radius: 999px;
  padding: .25rem .55rem;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255, 200, 0, .22);
}

/* Pitch (optionnel) : compact et limité */
.sep-team-pitch{
  margin: .6rem 0 0 0;
  color: var(--sep-team-muted);
  font-size: .92rem;

  display: -webkit-box;
  -webkit-line-clamp: 2;      /* max 2 lignes */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Actions */
.sep-team-actions{ margin-top: .65rem; }

/* Mobile : on peut laisser identique, ou passer en 2 colonnes */
@media (max-width: 420px){
  .sep-team-head{
    grid-template-columns: var(--sep-avatar) 1fr;
  }
  .sep-team-contact-flag{ grid-column: 2; justify-self: start; margin-top: .35rem; }
}