/* grille */
.fo-team-wrap .fo-team-grid{
  display:grid;
  gap:var(--gap,24px);
  grid-template-columns:repeat(var(--cols,3), minmax(0,1fr));
}
@media (max-width:1024px){
  .fo-team-wrap .fo-team-grid{ grid-template-columns:repeat(var(--cols-t,2), minmax(0,1fr)); }
}
@media (max-width:640px){
  .fo-team-wrap .fo-team-grid{ grid-template-columns:repeat(var(--cols-m,1), minmax(0,1fr)); }
}

/* carte base */
.fo-team-wrap .team-member{
  position:relative;background:#fff;border-radius:12px;overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.fo-team-wrap .team-member .ph{ aspect-ratio:5/6; background:#eee; }

.fo-team-wrap .team-member--image-container{ display:flex; justify-content:center; }
.fo-team-wrap .team-member--image-wrapper{ position:relative; width:100%; }
.fo-team-wrap .team-member--image{ display:block; width:100%; height:auto; object-fit:cover; }

/* hover effects */
.fo-team-wrap.hover-effect--zoom-in  .team-member--image-wrapper:hover img{ transform:scale(1.06); transition:transform .35s ease; }
.fo-team-wrap.hover-effect--zoom-out .team-member--image-wrapper:hover img{ transform:scale(.94); transition:transform .35s ease; }
.fo-team-wrap.hover-effect--scale    .team-member--image{ transform:scale(1.02); transition:transform .35s ease; }
.fo-team-wrap.hover-effect--grayscale .team-member--image{ filter:grayscale(1); }
.fo-team-wrap.hover-effect--blur      .team-member--image{ filter:blur(1px); }
.fo-team-wrap.hover-effect--bright    .team-member--image{ filter:brightness(1.15); }
.fo-team-wrap.hover-effect--sepia     .team-member--image{ filter:sepia(1); }
.fo-team-wrap.hover-effect--translate .team-member--image-wrapper:hover img{ transform:translateY(-4px); transition:transform .35s ease; }

/* equal/custom height */
.fo-team-wrap.equal-height--yes.card-layout--creative .team-member--image{ height:var(--custom-card-height,520px); object-fit:cover; }
.fo-team-wrap.card-layout--standard .team-member--image{ height:var(--image-custom-height,auto); object-fit:cover; }
.fo-team-wrap.card-layout--social-overlay .team-member--image{ height:var(--image-custom-height,auto); object-fit:cover; }

/* contenu commun */
.fo-team-wrap .team-member--content{ position:relative; padding:14px 16px 18px; text-align:var(--content-alignment,left); }
.fo-team-wrap.content-alignment--left  { --content-alignment:left; }
.fo-team-wrap.content-alignment--center{ --content-alignment:center; }
.fo-team-wrap.content-alignment--right { --content-alignment:right; }
.fo-team-wrap .team-member--name{ margin:0 0 6px; font-weight:800; font-size:1.1rem; }
.fo-team-wrap .team-member--name a{ color:inherit; text-decoration:none; }
.fo-team-wrap .team-member--position{ color:#ef4444; font-weight:800; letter-spacing:.06em; text-transform:uppercase; font-size:.80rem; margin-bottom:8px; }
.fo-team-wrap .team-member--description{ color:#333; font-size:.95rem; }

/* social icons (par défaut inline sous le contenu) */
.fo-team-wrap .social-icons-wrapper{ display:flex; gap:10px; margin-top:10px; }
.fo-team-wrap .team-member--social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:999px; background:#37c7c9; box-shadow:0 2px 8px rgba(0,0,0,.15);
}

/* watermark commun (layouts non creative) */
.fo-team-wrap .team-member--watermark{
  position:absolute; left:12px; bottom:10px; opacity:.07; font-weight:900; font-size:1.8rem; pointer-events:none; line-height:1;
}

/* ===== LAYOUT CREATIVE ===== */
.fo-team-wrap.card-layout--creative .creative-card{ position:relative; display:grid; grid-template-rows:auto 1fr; }
.fo-team-wrap.card-layout--creative .creative-card .media{ position:relative; }
.fo-team-wrap.card-layout--creative .creative-card .media .img-link img{ width:100%; height:var(--custom-card-height,520px); object-fit:cover; display:block; }

/* icônes flottantes sur la photo */
.fo-team-wrap.card-layout--creative .social-icons-wrapper.is-float{
  position:absolute; left:12px; bottom:12px; display:flex; gap:10px; z-index:3;
}
/* watermark géant en bas gauche sur la photo */
.fo-team-wrap.card-layout--creative .wm{
  position:absolute; left:16px; bottom:8px; opacity:.07; font-weight:900; font-size:2.2rem; line-height:1; pointer-events:none; color:#000;
}

/* bloc contenu avec rôle vertical à droite */
.fo-team-wrap.card-layout--creative .creative-card .content{
  position:relative; padding:14px 16px 18px;
}
.fo-team-wrap.card-layout--creative .role-vertical{
  position:absolute; right:8px; top:0; writing-mode:vertical-rl; text-orientation:mixed;
  text-transform:uppercase; font-weight:800; letter-spacing:.06em; color:#ef4444; font-size:.82rem;
}
.fo-team-wrap.card-layout--creative .social-icons-wrapper.is-inline{ margin-top:12px; }


