/*
==========================================================================
TEAM CARDS
==========================================================================
*/

/* TEAM CARDS -- GRID */

#team-members {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.team-data-wrapper {
    flex: 0 0 calc( var( --rw-team-width-desktop, 25% ) - 20px );
    margin: 10px;
    transition: 0.3s;
}


/* TEAM CARDS -- IMAGE */

.team-image {
    overflow: hidden;
}

.team-image,
.team-info-cont {
    position: relative;
    aspect-ratio: var( --rw-team-aspect-ratio, 4/3 );
    border-radius: var( --rw-team-border-radius, 15px ) var( --rw-team-border-radius, 15px ) 0 0;
    transition-duration: 500ms;
}

.team-image img {
    object-fit: cover;
    object-position: center;
    border-radius: var( --rw-team-border-radius, 15px ) var( --rw-team-border-radius, 15px ) 0 0;
    aspect-ratio: var( --rw-team-aspect-ratio, 4/3 );
    width: 100%;
    transition-duration: 500ms;
}

.team-image.single-team-img.team-post-img {
    border-radius: var( --rw-team-border-radius, 15px ) var( --rw-team-border-radius, 15px );
}


/* TEAM CARDS -- FALLBACK IMAGE */

.team-image.team-fallback-img {
    background: var( --rw-team-fallback-bg, #f0f1f5 );
    border-radius: var( --rw-team-border-radius, 15px ) var( --rw-team-border-radius, 15px ) 0 0;
}

.team-image.team-fallback-img img {
    width: 65%;
    margin: auto;
    display: flex;
    height: 100%;
    object-fit: contain;
    text-align: center;
    aspect-ratio: var( --rw-team-aspect-ratio, 4/3 );
    filter: var( --rw-team-fallback-logo-filter, none );
}


/* TEAM CARDS -- HOVER */

.team-image:hover img {
    transform: scale( 1.05 );
}

.team-image:hover:after {
    position: absolute;
    inset: 0;
    content: "";
    background: var( --rw-team-hover-overlay, rgba( 22, 37, 79, 0.3 ) );
    border-radius: var( --rw-team-border-radius, 15px ) var( --rw-team-border-radius, 15px ) 0 0;
}

.single.single-team .team-image.single-team-img.team-post-img .team-arrow {
    display: none;
}

#team-single-col .team-image.single-team-img:after {
    display: none;
}


/* TEAM CARDS -- ARROW */

.team-arrow {
    font-size: var( --rw-team-arrow-icon-size, 16px );
    position: absolute;
    bottom: 22px;
    right: 22px;
    height: var( --rw-team-arrow-size, 40px );
    width: var( --rw-team-arrow-size, 40px );
    background: transparent;
    border: 1px solid var( --rw-team-arrow-border-color, #ffffff );
    border-radius: var( --rw-team-arrow-radius, 50% );
    display: flex;
    align-items: center;
    justify-content: center;
    color: var( --rw-team-arrow-color, #ffffff );
    z-index: 8;
    opacity: 0;
    transition: 0.3s;
}

.team-image:hover .team-arrow {
    opacity: 1;
}


/* TEAM CARDS -- CONTENT */

.team-content-wrapper {
    position: relative;
    padding: 25px 25px 15px 0;
}


/* TEAM CARDS -- NAME */

.team-data-name {
    margin-bottom: 0;
    text-transform: var( --rw-team-name-transform, capitalize );
    font-weight: var( --rw-team-name-weight, 600 );
    font-size: var( --rw-team-name-font-size, inherit );
    letter-spacing: var( --rw-team-name-letter-spacing, normal );
    color: inherit;
}

.team-data-name a:hover {
    color: var( --rw-team-name-color-hover );
}


/* TEAM CARDS -- TITLE */

.team-title-all {
    margin-bottom: 0;
    text-transform: var( --rw-team-title-transform, capitalize );
    font-weight: var( --rw-team-title-weight, 400 );
    font-size: var( --rw-team-title-font-size, inherit );
    letter-spacing: var( --rw-team-title-letter-spacing, normal );
    color: var(--rw-team-name-text-title-color, inherit);
}

.team-title-module-single p:last-child {
    margin-bottom: 0;
}


/* TEAM CARDS -- SOCIAL */

.team-card-social {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
    margin-top: 12px;
}


/*
==========================================================================
TEAM SOCIAL LINKS — SHARED
==========================================================================
*/

.team-links {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: var( --rw-team-social-radius, 50% );
    background: var( --rw-team-social-bg, #ffffff );
    color: var( --rw-team-social-icon-color ) !important;
    text-decoration: none;
    transition: background 0.3s, border-color 0.3s, color 0.3s;
}

.team-links:hover {
    background: var( --rw-team-social-bg-hover );
    border-color: var( --rw-team-social-border-hover );
    color: var( --rw-team-social-icon-color-hover ) !important;
}

.team-links i {
    line-height: 1;
    pointer-events: none;
}

/* Card sizing */
.team-card-social .team-links {
    width: var( --rw-team-social-card-btn-size, 32px );
    height: var( --rw-team-social-card-btn-size, 32px );
    font-size: var( --rw-team-social-card-icon-size, 14px );
    border: var( --rw-team-social-card-border-width, 2px ) solid var( --rw-team-social-border-color );
}

/* Single sizing */
.team-single-social .team-links {
    width: var( --rw-team-social-single-btn-size, 38px );
    height: var( --rw-team-social-single-btn-size, 38px );
    font-size: var( --rw-team-social-single-icon-size, 16px );
    border: var( --rw-team-social-single-border-width, 2px ) solid var( --rw-team-social-border-color );
}


/*
==========================================================================
TEAM SINGLE
==========================================================================
*/

/* TEAM SINGLE -- LAYOUT */

.team-single-wrapper {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

.team-single-image-col {
    flex: 0 0 30%;
    max-width: 30%;
}

.team-single-content-col .rw-btns {
    margin-top: 30px;
}

.team-single-image-col .team-image {
    border-radius: var( --rw-team-border-radius, 15px );
    aspect-ratio: var( --rw-team-aspect-ratio, 4/3 );
}

.team-single-image-col .team-image img {
    border-radius: var( --rw-team-border-radius, 15px );
}

.team-single-content-col {
    flex: 1;
    min-width: 0;
}

.team-single-image-col .team-image:hover img {
    transform: none;
}

.team-single-image-col .team-image:hover:after {
    display: none;
}


/* TEAM SINGLE -- HEADER ROW */

.team-single-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.team-single-identity {
    flex: 1;
    min-width: 0;
}


/* TEAM SINGLE -- NAME */

.team-single-name {
    margin-bottom: 4px;
    text-transform: var( --rw-team-single-name-transform, capitalize );
    font-weight: var( --rw-team-single-name-weight, 600 );
    font-size: var( --rw-team-single-name-font-size, inherit );
    letter-spacing: var( --rw-team-single-name-letter-spacing, normal );
}


/* TEAM SINGLE -- TITLE */

.team-single-title {
    margin-bottom: 0;
    text-transform: var( --rw-team-single-title-transform, capitalize );
    font-weight: var( --rw-team-single-title-weight, 400 );
    font-size: var( --rw-team-single-title-font-size, inherit );
    letter-spacing: var( --rw-team-single-title-letter-spacing, normal );
    color: var(--rw-team-single-text-title-color);
}


/* TEAM SINGLE -- SOCIAL */

.team-single-social {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
    padding-top: 6px;
}


/* TEAM SINGLE -- BIO */

.team-single-bio {
    line-height: 1.7;
}

.team-single-bio p:last-child {
    margin-bottom: 0;
}


/*
==========================================================================
TEAM RESPONSIVE
==========================================================================
*/

@media screen and ( max-width: 1200px ) {
    .team-data-wrapper {
        flex: 0 0 calc( var( --rw-team-width-tablet, 50% ) - 20px );
    }
}

@media screen and ( max-width: 768px ) {
    .team-data-wrapper {
        flex: 0 0 calc( var( --rw-team-width-mobile, 100% ) - 20px );
    }

    .team-single-social {
        justify-content: flex-start;
        padding-top: 0;
    }

    .team-single-wrapper {
        flex-direction: column;
        gap: 24px;
    }

    .team-single-image-col {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .team-single-header {
        flex-direction: column;
        gap: 16px;
    }
}