
/* Our Team Grid v1.4.1 – Theme-independent via CSS variables */
.our-team-grid{
    display:grid;
    grid-template-columns:repeat(var(--ot-cols-desktop, 4), 1fr);
    gap:var(--ot-gap, 44px);
    margin:60px 0;
}

.team-card.subtle{
    background:var(--ot-card-bg, #fff);
    border:var(--ot-border-width, 1px) solid var(--ot-border-color, rgba(15,23,42,.08));
    border-radius:var(--ot-radius, 16px);
    overflow:hidden;
    text-align:center;
}

.team-img{
    position:relative;
    overflow:hidden;
}

.team-img img,
.team-placeholder{
    width:100%;
    object-fit:cover;
    display:block;
    background:#e5e7eb;
    transition:transform .6s ease, filter .6s ease;
}

.team-img::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 65%, rgba(0,0,0,var(--ot-hover-gradient-opacity, .20)));
    opacity:0;
    transition:.35s ease;
    pointer-events:none;
}

.team-card.subtle:hover .team-img::after{
    opacity: calc(var(--ot-hover-gradient-enabled, 1) * 1);
}

.team-card.subtle:hover .team-img img{
    transform: scale(calc(1 + ( (var(--ot-hover-scale, 1.04) - 1) * var(--ot-hover-zoom-enabled, 1) )));
    filter: brightness(calc(1 - (0.06 * var(--ot-hover-zoom-enabled, 1))));
}

.team-content{
    padding:16px 20px 30px;
}

.team-name{
    margin:0;
    font-size:20px;
    font-weight:700;
    color:var(--ot-name-color, #2563eb);
}

.team-role{
    display:inline-block;
    margin-top:8px;
    padding:6px 16px;
    background:var(--ot-role-bg, #67e8f9);
    color:var(--ot-role-color, #0f172a);
    border-radius:999px;
    font-size:14px;
}

.team-socials{
    margin-top:18px;
    display:flex;
    justify-content:center;
    gap:14px;
}

.team-socials a{
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--ot-social-bg, #2563eb);
    color:var(--ot-social-color, #fff);
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.25s;
}

.team-socials a:hover{
    background:var(--ot-social-hover-bg, #1e40af);
}

.team-socials .dashicons{
    font-size:18px;
    width:18px;
    height:18px;
    line-height:18px;
}

/* Responsive */
@media(max-width:1024px){
    .our-team-grid{ grid-template-columns:repeat(var(--ot-cols-tablet, 2), 1fr); }
}
@media(max-width:600px){
    .our-team-grid{ grid-template-columns:repeat(var(--ot-cols-mobile, 1), 1fr); }
}
