/* ══════════════════════════════════════════════════
   Team Cards – Frontend Styles
   Hover: icon expands → name + designation appear
   ══════════════════════════════════════════════════ */

/* ── Grid ───────────────────────────────────────── */
.tc-grid {
    display: grid;
    grid-template-columns: repeat(var(--tc-cols, 4), 1fr);
    gap: 28px 20px;
    padding: 24px 0;
}

@media (max-width: 900px) { .tc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .tc-grid { grid-template-columns: 1fr 1fr; gap: 16px; } }

/* ── Card ───────────────────────────────────────── */
.tc-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ── Photo ──────────────────────────────────────── */
.tc-photo-wrap {
    width: 100%;
    aspect-ratio: 3 / 4;
    border-radius: 16px;
    overflow: hidden;
    background: #e8eef5;
}

.tc-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform .4s ease;
}

.tc-card:hover .tc-photo {
    transform: scale(1.03);
}

/* ── Badge (the orange pill) ─────────────────────── */
.tc-badge {
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 0;                          /* gap controlled by padding/width transitions */
    background: #F47C20;
    border-radius: 100px;
    padding: 8px 10px;
    box-shadow: 0 4px 18px rgba(0,0,0,.18);
    cursor: default;
    white-space: nowrap;
    overflow: hidden;

    /* Transition: width & padding expand on hover */
    max-width: 44px;
    transition:
        max-width   .45s cubic-bezier(.4,0,.2,1),
        padding     .45s cubic-bezier(.4,0,.2,1),
        border-radius .45s ease;
}

.tc-card:hover .tc-badge {
    max-width: 260px;
    padding: 8px 14px 8px 10px;
}

/* ── Icon ───────────────────────────────────────── */
.tc-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    background: rgba(255,255,255,.25);
    border-radius: 50%;
    color: #fff;
    transition: background .3s;
}

.tc-icon svg {
    width: 15px;
    height: 15px;
}

.tc-card:hover .tc-icon {
    background: rgba(255,255,255,.35);
}

/* ── Text info ──────────────────────────────────── */
.tc-info {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    color: #fff;
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    transition:
        opacity   .3s ease .18s,
        max-width .45s cubic-bezier(.4,0,.2,1);
}

.tc-card:hover .tc-info {
    opacity: 1;
    max-width: 200px;
    margin-left: 8px;
}

.tc-name {
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: .01em;
}

.tc-desig {
    font-size: 11px;
    font-weight: 400;
    opacity: .88;
}
