.team-member-flip-container {
    perspective: 1000px;
    width: 100%;
    display: block;
    position: relative;
}

.team-member-flip-card {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* Creates 1:1 aspect ratio */
    transition: transform 0.6s;
    transform-style: preserve-3d;
    display: block;
    height: 0; /* Height is controlled by padding-bottom */
    overflow: visible;
}

.team-member-flip-container:hover .team-member-flip-card {
    transform: translateY(-4px) scale(1.05);
}

.team-member-flip-card-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.team-member-flip-container:hover .team-member-flip-card-inner {
    transform: rotateY(180deg);
}

.team-member-flip-card-front,
.team-member-flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
}

.team-member-flip-card-front {
    background-color: #fff;
}

.team-member-flip-card-front img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    min-width: 100%;
    min-height: 100%;
}

.team-member-flip-card-back {
    background-color: #333333;
    color: white;
    transform: rotateY(180deg);
    display: flex;
    align-items: center;
    justify-content: center;
}

.team-member-bio {
    padding: 20px;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow-y: auto;
    line-height: 1.6;
}

@media (max-width: 1200px) {
    .team-member-bio {
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    .team-member-flip-container {
        touch-action: manipulation;
        width: 100%;
        max-width: 100%;
        /* Min-height will be set by JavaScript */
    }
    
    /* Ensure proper height calculation on mobile - using padding-bottom trick */
    .team-member-flip-card {
        width: 100%;
        padding-bottom: 100%; /* Maintains 1:1 aspect ratio */
        height: 0;
    }
    
    /* Enable tap to flip on mobile */
    .team-member-flip-container:active .team-member-flip-card-inner,
    .team-member-flip-container:focus-within .team-member-flip-card-inner {
        transform: rotateY(180deg);
    }
    
    /* Keep the lift and scale effect on tap */
    .team-member-flip-container:active .team-member-flip-card {
        transform: translateY(-4px) scale(1.05);
    }
    
    /* Ensure images maintain aspect ratio on mobile */
    .team-member-flip-card-front,
    .team-member-flip-card-back {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    
    .team-member-flip-card-front img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}