/* =====================================================================
   WeVo - Team-Seite (/ansprechpartner)
   ===================================================================== */

.team-section { padding: 3rem 0 4rem; background: #fff; }

.team-intro { max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }
.team-intro .kicker {
    text-transform: uppercase; letter-spacing: .12em;
    color: var(--wv-green, #00733b); font-weight: 600;
    margin: 0 0 .35rem; font-size: .85rem;
}
.team-intro h1 { font-size: clamp(1.7rem, 3.5vw, 2.4rem); margin: 0 0 1rem; line-height: 1.2; }
.team-intro p { color: var(--wv-muted, #5d6770); line-height: 1.55; }

/* Gruppen pro Abteilung */
.team-group { margin-bottom: 3rem; }
.team-group__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 0 0 1.5rem;
    border-bottom: 1px solid var(--wv-border, #e1e5e8);
    padding-bottom: .75rem;
}
.team-group__title {
    display: inline-block;
    padding: .55rem 1rem;
    margin: 0;
    color: #fff;
    background: #395e57;             /* Default: bg-green (Geschaeftsfuehrung) */
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .95rem;
    font-weight: 700;
}
.team-group__company {
    color: var(--wv-muted, #5d6770);
    font-size: .95rem;
    font-weight: 500;
    text-align: right;
}
@media (max-width: 600px) {
    .team-group__head { gap: .35rem; }
    .team-group__company { font-size: .85rem; width: 100%; text-align: left; }
}
/* Echte CI-Farben aus styles.css (.bg-* Klassen) */
.team-group--geschaeftsfuehrung .team-group__title { background: #395e57; }     /* bg-green */
.team-group--tiefbau .team-group__title            { background: #afca00; color: #1a2226; } /* bg-tiefbau (gelbgruen) */
.team-group--entsorgung .team-group__title         { background: #ef7c00; }     /* bg-entsorgung */
.team-group--kanalsanierung .team-group__title     { background: #00b0eb; }     /* bg-kanal */
.team-group--energie .team-group__title            { background: #b51b26; }     /* bg-energie */
.team-group--verwaltung .team-group__title         { background: #395e57; }     /* wie GF, neutrales Petrol */
.team-group--werkstatt .team-group__title          { background: #5d6770; }
.team-group--it-buero .team-group__title           { background: #3f5b7f; }

/* Karten-Grid */
.team-grid {
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: 1.25rem;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.team-card {
    background: var(--wv-sand, #f2eee5);
    border: 1px solid var(--wv-border, #e1e5e8);
    border-radius: 12px;
    padding: 1.5rem 1.25rem 1.25rem;
    text-align: center;
    box-shadow: 0 2px 8px rgba(20,30,40,.04);
}

.team-card__photo {
    width: 120px; height: 120px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    border: 3px solid #fff;
    box-shadow: 0 4px 16px rgba(20,30,40,.08);
    display: grid; place-items: center;
}
.team-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.team-card__placeholder {
    width: 100%; height: 100%; display: grid; place-items: center;
    background: var(--wv-green, #00733b); color: #fff;
    font-size: 2.5rem; font-weight: 700; text-transform: uppercase;
}

.team-card__name { margin: 0 0 .25rem; font-size: 1.05rem; }
.team-card__role { margin: 0 0 .5rem; color: var(--wv-green-d, #005c2f); font-size: .9rem; font-weight: 600; }
.team-card__bio  { margin: .5rem 0 .75rem; color: var(--wv-muted, #5d6770); font-size: .85rem; line-height: 1.5; }

.team-card__contact { display: flex; flex-direction: column; gap: .35rem; margin-top: .75rem; font-size: .85rem; }
.team-card__contact a { color: var(--wv-text, #1a2226); text-decoration: none; }
.team-card__contact a:hover { color: var(--wv-green-d); text-decoration: underline; }
.team-card__email { word-break: break-word; }

@media (max-width: 600px) {
    .team-section { padding: 1.5rem 0 2.5rem; }
    .team-intro { margin-bottom: 1.75rem; }
    .team-group { margin-bottom: 2rem; }
    .team-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; }
    .team-card { padding: 1.25rem 1rem; }
    .team-card__photo { width: 96px; height: 96px; }
}

/* ---- Initiativ-CTA am Ende der Team-Seite ---- */
.team-cta {
    margin-top: 2rem;
    border-radius: var(--wv-radius, 12px);
    background:
        linear-gradient(135deg, rgba(0,115,59,.92), rgba(57,94,87,.92)),
        url('../image/leistung/wevo-tiefbau.jpg') center/cover no-repeat;
    color: #fff;
    padding: 2.5rem 1.5rem;
}
.team-cta__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.team-cta h2 { color: #fff; font-size: clamp(1.4rem, 3vw, 1.9rem); margin: 0 0 .5rem; }
.team-cta p  { color: rgba(255,255,255,.92); margin: 0 auto 1.5rem; max-width: 560px; line-height: 1.55; }
.team-cta__buttons { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; }
.team-cta__buttons .btn-outline {
    border-color: #fff; color: #fff;
}
.team-cta__buttons .btn-outline:hover {
    background: #fff; color: var(--wv-green-d, #005c2f);
}
@media (max-width: 600px) {
    .team-cta { padding: 1.75rem 1.25rem; }
    .team-cta__buttons { flex-direction: column; }
    .team-cta__buttons .button-dreieck,
    .team-cta__buttons .btn-outline { width: 100%; text-align: center; }
}
