/* EI Avatar Grid v1.0.14 — front-end only, deliberately uses unique class names. */
.ei-avatar-grid-front{
  --ei-ag-cols:var(--ei-ag-desktop-cols,4);
  width:min(100%,var(--ei-ag-max,1180px))!important;
  max-width:var(--ei-ag-max,1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  clear:both!important;
}
.ei-avatar-grid-front,
.ei-avatar-grid-front *{box-sizing:border-box!important}

/* Float is a compatibility fallback for Thrive/Theme rules that force the parent back to display:block. */
.ei-avatar-grid-front>.ei-avatar-grid-front__item{
  float:left!important;
  clear:none!important;
  width:calc(100% / var(--ei-ag-cols))!important;
  min-width:0!important;
  max-width:calc(100% / var(--ei-ag-cols))!important;
  margin:0!important;
  padding:0 calc(var(--ei-ag-gap,24px) / 2) var(--ei-ag-gap,24px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  text-decoration:none!important;
  color:inherit!important;
  outline:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  transition:transform .24s ease,filter .24s ease;
}

.ei-avatar-grid-front__portrait{
  display:block!important;
  width:100%!important;
  max-width:var(--ei-ag-avatar-size,110px)!important;
  aspect-ratio:1/1!important;
  margin:0 auto!important;
  padding:var(--ei-ag-ring,8px)!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,var(--ei-ag-ring-1,#f8c86a),var(--ei-ag-ring-2,#b6781f))!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.65),0 4px 10px rgba(91,54,8,.16)!important;
  overflow:hidden!important;
  line-height:0!important;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.ei-avatar-grid-front__image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  max-width:none!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  border:3px solid rgba(255,255,255,.72)!important;
  background:#fff!important;
  transition:transform .28s ease;
}
.ei-avatar-grid-front__placeholder{display:flex!important;align-items:center!important;justify-content:center!important;font-size:42px!important;color:#777!important}
.ei-avatar-grid-front__title{
  display:block!important;
  width:100%!important;
  margin:18px 0 0!important;
  padding:0!important;
  color:var(--ei-ag-title,#3f3f3f)!important;
  font-size:var(--ei-ag-title-size,15px)!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
.ei-avatar-grid-front__subtitle{
  display:block!important;
  width:100%!important;
  margin:9px 0 0!important;
  padding:0!important;
  color:var(--ei-ag-subtitle,#444)!important;
  font-size:var(--ei-ag-subtitle-size,11px)!important;
  font-weight:500!important;
  line-height:1.45!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
.ei-avatar-grid-front>.ei-avatar-grid-front__item:focus-visible .ei-avatar-grid-front__portrait{outline:3px solid rgba(37,99,235,.42)!important;outline-offset:4px!important}
.ei-avatar-grid-front--hover-lift .ei-avatar-grid-front__item:hover,
.ei-avatar-grid-front--hover-lift_zoom .ei-avatar-grid-front__item:hover{transform:translateY(-7px)}
.ei-avatar-grid-front--hover-zoom .ei-avatar-grid-front__item:hover .ei-avatar-grid-front__image,
.ei-avatar-grid-front--hover-lift_zoom .ei-avatar-grid-front__item:hover .ei-avatar-grid-front__image{transform:scale(1.06)}
.ei-avatar-grid-front--hover-glow .ei-avatar-grid-front__item:hover .ei-avatar-grid-front__portrait{box-shadow:0 0 0 4px rgba(248,200,106,.24),0 10px 28px rgba(182,120,31,.38)!important}
.ei-avatar-grid-front--ring-off .ei-avatar-grid-front__portrait{padding:0!important;background:none!important;box-shadow:none!important}
.ei-avatar-grid-front--ring-off .ei-avatar-grid-front__image{border:0!important;background:transparent!important}
.ei-avatar-grid-front--ring-off.ei-avatar-grid-front--hover-glow .ei-avatar-grid-front__item:hover .ei-avatar-grid-front__portrait{box-shadow:0 10px 28px rgba(15,23,42,.18)!important}
.ei-ag-notice{padding:12px 14px;border:1px solid #dcdcde;background:#fff;border-radius:8px}
.ei-avatar-grid-front--mobile-only{display:none!important}

/* Desktop row starts. */
.ei-avatar-grid-front--desktop-cols-2>.ei-avatar-grid-front__item:nth-child(2n+1),
.ei-avatar-grid-front--desktop-cols-3>.ei-avatar-grid-front__item:nth-child(3n+1),
.ei-avatar-grid-front--desktop-cols-4>.ei-avatar-grid-front__item:nth-child(4n+1),
.ei-avatar-grid-front--desktop-cols-5>.ei-avatar-grid-front__item:nth-child(5n+1),
.ei-avatar-grid-front--desktop-cols-6>.ei-avatar-grid-front__item:nth-child(6n+1),
.ei-avatar-grid-front--desktop-cols-7>.ei-avatar-grid-front__item:nth-child(7n+1),
.ei-avatar-grid-front--desktop-cols-8>.ei-avatar-grid-front__item:nth-child(8n+1){clear:left!important}

@media(max-width:1023px){
  .ei-avatar-grid-front{--ei-ag-cols:var(--ei-ag-tablet-cols,4)}
  .ei-avatar-grid-front>.ei-avatar-grid-front__item{clear:none!important}
  .ei-avatar-grid-front--tablet-cols-2>.ei-avatar-grid-front__item:nth-child(2n+1),
  .ei-avatar-grid-front--tablet-cols-3>.ei-avatar-grid-front__item:nth-child(3n+1),
  .ei-avatar-grid-front--tablet-cols-4>.ei-avatar-grid-front__item:nth-child(4n+1),
  .ei-avatar-grid-front--tablet-cols-5>.ei-avatar-grid-front__item:nth-child(5n+1),
  .ei-avatar-grid-front--tablet-cols-6>.ei-avatar-grid-front__item:nth-child(6n+1){clear:left!important}
}

@media(max-width:767px){
  .ei-avatar-grid-front{
    --ei-ag-cols:var(--ei-ag-mobile-cols,3);
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
  }
  .ei-avatar-grid-front--mobile-only{display:block!important}
  .ei-avatar-grid-front>.ei-avatar-grid-front__item{
    clear:none!important;
    width:calc(100% / var(--ei-ag-cols))!important;
    max-width:calc(100% / var(--ei-ag-cols))!important;
    padding:0 4px 22px!important;
  }
  .ei-avatar-grid-front--mobile-cols-2>.ei-avatar-grid-front__item:nth-child(2n+1),
  .ei-avatar-grid-front--mobile-cols-3>.ei-avatar-grid-front__item:nth-child(3n+1),
  .ei-avatar-grid-front--mobile-cols-4>.ei-avatar-grid-front__item:nth-child(4n+1){clear:left!important}
  .ei-avatar-grid-front__portrait{width:100%!important;max-width:none!important;padding:max(3px,calc(var(--ei-ag-ring,8px) * .6))!important}
  .ei-avatar-grid-front--ring-off .ei-avatar-grid-front__portrait{padding:0!important}
  .ei-avatar-grid-front__image{border-width:2px!important}
  .ei-avatar-grid-front__title{margin-top:8px!important;font-size:clamp(11px,3.2vw,15px)!important;line-height:1.25!important}
  .ei-avatar-grid-front__subtitle{margin-top:3px!important;font-size:clamp(8px,2.5vw,11px)!important;line-height:1.3!important}
  .ei-avatar-grid-front--hover-lift .ei-avatar-grid-front__item:hover,
  .ei-avatar-grid-front--hover-lift_zoom .ei-avatar-grid-front__item:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){.ei-avatar-grid-front__item,.ei-avatar-grid-front__portrait,.ei-avatar-grid-front__image{transition:none!important}}

/* v1.0.9: reset theme/WooCommerce image masks and keep avatars compact on wide mobile/tablet layouts. */
.ei-avatar-grid-front table,.ei-avatar-grid-front tbody,.ei-avatar-grid-front tr,.ei-avatar-grid-front td{background:transparent!important;border:0!important;box-shadow:none!important;clip-path:none!important;-webkit-clip-path:none!important;mask:none!important;-webkit-mask:none!important}
.ei-avatar-grid-front__portrait{width:100%!important;max-width:var(--ei-ag-avatar-size,110px)!important;clip-path:none!important;-webkit-clip-path:none!important;mask:none!important;-webkit-mask:none!important}
.ei-avatar-grid-front__image{clip-path:none!important;-webkit-clip-path:none!important;mask:none!important;-webkit-mask:none!important;transform:none!important}
@media(max-width:767px){.ei-avatar-grid-front__portrait{max-width:var(--ei-ag-avatar-size,110px)!important}}

/* v1.0.9: actual-device safeguard. iPad/iPhone Safari may use a desktop viewport. */
.ei-avatar-grid-front table .ei-avatar-grid-front__portrait{width:100%!important;max-width:var(--ei-ag-avatar-size,110px)!important;height:auto!important;aspect-ratio:1/1!important;border-radius:9999px!important;clip-path:circle(50%)!important;-webkit-clip-path:circle(50%)!important;overflow:hidden!important;contain:layout paint!important}
.ei-avatar-grid-front table .ei-avatar-grid-front__image{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:9999px!important;clip-path:circle(50%)!important;-webkit-clip-path:circle(50%)!important}


/* v1.0.10: iOS Safari fix — do not size the image from a percentage height.
   The image keeps its intrinsic square ratio, so real iPhone/iPad Safari cannot collapse it into a thin ellipse. */
.ei-avatar-grid-front table .ei-avatar-grid-front__portrait{
  display:block!important;
  width:calc(100% - 8px)!important;
  max-width:var(--ei-ag-avatar-size,110px)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  margin:0 auto!important;
  overflow:visible!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  contain:none!important;
}
.ei-avatar-grid-front table .ei-avatar-grid-front__image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  object-fit:contain!important;
  border-radius:50%!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  contain:none!important;
}
.ei-avatar-grid-front--ring-on table .ei-avatar-grid-front__portrait{
  padding:4px!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.ei-avatar-grid-front--ring-off table .ei-avatar-grid-front__portrait{
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* v1.0.12: true device-specific column rendering.
   The shortcode now outputs separate fixed-layout tables for desktop, tablet and mobile,
   preventing Thrive/theme rules from forcing the mobile three-column table on desktop. */
.ei-avatar-grid-front__viewport{display:none!important}
.ei-avatar-grid-front__viewport--desktop{display:table!important}
.ei-avatar-grid-front__viewport--tablet,
.ei-avatar-grid-front__viewport--mobile{display:none!important}

@media (min-width:768px) and (max-width:1023px){
  .ei-avatar-grid-front__viewport--desktop,
  .ei-avatar-grid-front__viewport--mobile{display:none!important}
  .ei-avatar-grid-front__viewport--tablet{display:table!important}
}

@media (max-width:767px){
  .ei-avatar-grid-front__viewport--desktop,
  .ei-avatar-grid-front__viewport--tablet{display:none!important}
  .ei-avatar-grid-front__viewport--mobile{display:table!important}
}
