/* =========================================================================
   FUN — Team Cards widget
   /wp-content/themes/<child>/assets/css/fun-team-cards.css

   Self-contained. Class prefix "ftc". Every colour/size here is a sensible
   default; the widget's Elementor Style controls override via inline
   selectors on {{WRAPPER}}.
   ====================================================================== */

.ftc{ position:relative; }

.ftc-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);   /* overridden by Columns control */
  gap:28px;
}

/* ------------------------------------------------------------- CARD */
.ftc-card{ display:flex; flex-direction:column; }

.ftc-card__media{
  position:relative;
  height:340px;                            /* overridden by Image height */
  border-radius:16px;
  overflow:hidden;
  background:#EDF3FA;
  isolation:isolate;
}

.ftc-card__img{
  width:100%; height:100% !important; object-fit:cover; object-position:center top;
  display:block;
  transition:transform .5s cubic-bezier(.4,0,.2,1), filter .4s ease;
}
.ftc-card:hover .ftc-card__img{ transform:scale(1.045); }

.ftc-card__ph{
  position:absolute; inset:0;
  background:linear-gradient(150deg,#14508F,#2E6BAE);
}

/* ------------------------------------------------------------- ICONS */
.ftc-icons{
  position:absolute; right:14px; bottom:14px; z-index:3;
  display:flex; gap:8px;
}
.ftc-icon{
  width:38px; height:38px; flex:0 0 auto;
  display:grid; place-items:center;
  border-radius:50%;
  background:#ffffff; color:#16212C;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  transition:background-color .18s ease, color .18s ease, transform .18s ease;
}
.ftc-icon svg{ width:17px; height:17px; }
.ftc-icon:hover{ background:#F47B20; color:#fff; transform:translateY(-2px); }

/* ------------------------------------------------------------- HOVER MASK
   Irises open from the chosen corner using clip-path, covering the IMAGE
   ONLY. Name/position below the image are never touched. */
.ftc-card__mask{
  position:absolute; inset:0; z-index:2;
  background:rgba(20,80,143,.94);
  clip-path:circle(0% at 100% 100%);
  transition:clip-path .55s cubic-bezier(.65,0,.35,1);
  display:flex; align-items:flex-end;
}
.ftc-card[data-origin="bottom-left"] .ftc-card__mask{ clip-path:circle(0% at 0% 100%); }
.ftc-card[data-origin="center"] .ftc-card__mask{ clip-path:circle(0% at 50% 50%); }
.ftc-card[data-origin="top"] .ftc-card__mask{ clip-path:circle(0% at 50% 0%); }

.ftc-card:hover .ftc-card__mask,
.ftc-card.is-open .ftc-card__mask{ clip-path:circle(145% at 100% 100%); }
.ftc-card[data-origin="bottom-left"]:hover .ftc-card__mask,
.ftc-card[data-origin="bottom-left"].is-open .ftc-card__mask{ clip-path:circle(145% at 0% 100%); }
.ftc-card[data-origin="center"]:hover .ftc-card__mask,
.ftc-card[data-origin="center"].is-open .ftc-card__mask{ clip-path:circle(145% at 50% 50%); }
.ftc-card[data-origin="top"]:hover .ftc-card__mask,
.ftc-card[data-origin="top"].is-open .ftc-card__mask{ clip-path:circle(145% at 50% 0%); }

.ftc-card__mask-inner{
  padding:26px;
  opacity:0; transform:translateY(10px);
  transition:opacity .35s ease .12s, transform .35s ease .12s;
}
.ftc-card:hover .ftc-card__mask-inner,
.ftc-card.is-open .ftc-card__mask-inner{ opacity:1; transform:translateY(0); }

.ftc-card__mask-role{
  display:block; margin-bottom:8px;
  font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.ftc-card__bio{
  margin:0; font-size:14.5px; line-height:1.6; color:#fff;
}

/* Icons stay above the mask and remain usable while it's open */
.ftc-icons{ pointer-events:auto; }

/* ------------------------------------------------------------- NAME/ROLE */
.ftc-card__body{ padding-top:18px; }
.ftc-card__name{
  margin:0 0 4px; font-size:19px; line-height:1.25; font-weight:700; color:#16212C;
}
.ftc-card__role{
  margin:0; font-size:14px; line-height:1.4; color:#5C6976;
}

/* ------------------------------------------------------------- RESPONSIVE */
@media (max-width:1024px){
  .ftc-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .ftc-grid{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce){
  .ftc-card__img,.ftc-card__mask,.ftc-card__mask-inner,.ftc-icon{ transition:none !important; }
}
