/* ========================================
   TEAM CARD IMPROVEMENTS V4 - Button volle Breite
   Füge diese Styles zu main.css hinzu (ersetze bestehende .team-card Styles)
======================================== */

/* Basis Team Card - gilt für front-page UND team-page */
.team-card {
    background: var(--white);
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--gray-200);
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
}

.team-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-xl);
    border-color: var(--petrol-main);
}

.team-photo {
    height: 220px;
    background: linear-gradient(135deg, var(--petrol-light), var(--petrol-main));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-4xl);
    color: var(--white);
    font-weight: 700;
    flex-shrink: 0;
}

/* Wenn Bild vorhanden ist */
.team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-info {
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* Name & Rolle mit Grid für einheitliche Höhen */
.team-header {
    display: grid;
    grid-template-rows: minmax(2.8em, auto) minmax(1.8em, auto);
    gap: 0.3rem;
    margin-bottom: var(--space-2);
}

.team-name {
    font-size: var(--text-xl);
    color: var(--petrol-dark);
    line-height: 1.4;
    /* Erlaubt Umbruch, aber mindestens 2 Zeilen Höhe */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.team-role {
    font-size: var(--text-sm);
    color: var(--accent-orange);
    font-weight: 600;
    line-height: 1.3;
    /* Erlaubt Umbruch, mindestens 1 Zeile Höhe */
}

.team-meta {
    font-size: var(--text-xs);
    color: var(--gray-600);
    margin-bottom: var(--space-2);
    line-height: 1.4;
}

.team-job {
    font-size: var(--text-xs);
    color: var(--gray-600);
    margin-bottom: var(--space-2);
    line-height: 1.4;
}

/* Bio Container mit Expand-Funktionalität */
.team-bio-wrapper {
    margin-bottom: var(--space-2);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.team-bio {
    color: var(--gray-600);
    line-height: 1.6;
    font-size: var(--text-sm);
    margin: 0 0 var(--space-3) 0;
}

/* Collapsed State */
.team-bio.is-collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Expand Button - VOLLE BREITE */
.team-bio-toggle {
    /* Button-Basis */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    
    /* Größe - VOLLE BREITE */
    width: 100%;
    padding: var(--space-2) var(--space-4);
    min-height: 36px;
    
    /* Farben - Petrol mit weißer Schrift */
    background: var(--petrol-main);
    color: var(--white);
    border: none;
    border-radius: var(--radius-md);
    
    /* Text */
    font-size: var(--text-sm);
    font-weight: 600;
    text-align: center;
    
    /* Interaktion */
    cursor: pointer;
    transition: all 0.2s ease;
    
    /* Layout */
    margin-top: auto; /* Pusht Button nach unten */
    
    /* Schatten für Tiefe */
    box-shadow: 0 2px 4px rgba(0, 137, 168, 0.2);
}

.team-bio-toggle:hover {
    background: var(--petrol-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 137, 168, 0.3);
}

.team-bio-toggle:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0, 137, 168, 0.2);
}

.team-bio-toggle:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 137, 168, 0.3);
}

/* Icon im Button */
.team-bio-toggle::after {
    content: '▼';
    display: inline-block;
    font-size: var(--text-xs);
    transition: transform 0.3s ease;
    margin-left: var(--space-1);
}

.team-bio-toggle.is-expanded::after {
    transform: rotate(180deg);
}

.team-tagline {
    margin-top: var(--space-2);
    padding-top: var(--space-2);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: var(--petrol-main);
    border-top: 1px solid var(--gray-100);
}

/* ========================================
   ALTERNATIVE BUTTON-STYLES (Optional)
======================================== */

/* Option 1: Outline-Button (auskommentiert, aktiviere bei Bedarf) */
/*
.team-bio-toggle {
    background: transparent;
    color: var(--petrol-main);
    border: 2px solid var(--petrol-main);
    box-shadow: none;
}

.team-bio-toggle:hover {
    background: var(--petrol-main);
    color: var(--white);
    box-shadow: 0 2px 4px rgba(0, 137, 168, 0.2);
}
*/

/* Option 2: Gray-Button (auskommentiert, aktiviere bei Bedarf) */
/*
.team-bio-toggle {
    background: var(--gray-100);
    color: var(--gray-700);
    border: 1px solid var(--gray-300);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.team-bio-toggle:hover {
    background: var(--gray-200);
    border-color: var(--gray-400);
}
*/

/* Option 3: Orange-Button (auskommentiert, aktiviere bei Bedarf) */
/*
.team-bio-toggle {
    background: var(--accent-orange);
    color: var(--white);
    box-shadow: 0 2px 4px rgba(255, 107, 53, 0.2);
}

.team-bio-toggle:hover {
    background: #e55a28;
    box-shadow: 0 4px 8px rgba(255, 107, 53, 0.3);
}
*/

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

@media (max-width: 768px) {
    .team-photo {
        height: 200px;
        font-size: var(--text-3xl);
    }
    
    .team-header {
        grid-template-rows: minmax(2.5em, auto) minmax(1.6em, auto);
    }
    
    .team-name {
        font-size: var(--text-lg);
    }
    
    /* Button bleibt volle Breite */
    .team-bio-toggle {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .team-photo {
        height: 180px;
    }
    
    .team-info {
        padding: var(--space-3);
    }
    
    .team-bio-toggle {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-xs);
    }
}