/**
 * Team Standort Grid — Kopfzeile und Karussell
 *
 * Die Karten selbst kommen aus person-card.css (gemeinsame Komponente
 * BEW\Team_Card). Hier steht nur, was um sie herum liegt: Überschrift
 * mit Akzentlinie, Schräg-Button rechts und die seitenweise Blätterung.
 *
 * Das Karussell blättert ganze Seiten, keine einzelnen Karten — jede
 * Seite ist ein eigenes .bew-person-grid. So bleibt das Spaltenraster
 * aus den Elementor-Controls unangetastet.
 */

.bew-tlg {
    width: 100%;
}

/* =========================================
   KOPFZEILE
   ========================================= */

.bew-tlg__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px 40px;
    flex-wrap: wrap;
}

.bew-tlg__heading {
    margin: 0;
}

.bew-tlg__rule {
    display: block;
}

/* ── Schräg-Button ──
   Zwilling des Seiten-Buttons (.slanted-button im Theme-Custom-CSS, Post 164):
   `line-height: 1` hält ihn flach — ohne das baut die Zeilenhöhe des Fließtexts
   rund 8 px zusätzliche Höhe auf und der Button wirkt klobig. Die Schräge und
   ihr Geradelaufen beim Überfahren kommen aus dem Control `cta_slant`, die
   Übergangskurve hier ist dieselbe wie im Theme. */
.bew-tlg__cta {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    line-height: 1;
    text-decoration: none;
    border: 0;
    border-radius: 0;
    transition: background-color 0.25s ease,
                color 0.25s ease,
                clip-path 650ms cubic-bezier(.16, 1, .3, 1),
                -webkit-clip-path 650ms cubic-bezier(.16, 1, .3, 1);
    will-change: clip-path;
}

.bew-tlg__cta:hover,
.bew-tlg__cta:focus {
    text-decoration: none;
}

/* =========================================
   KARUSSELL

   Nativer Scroll-Container mit Snap: funktioniert auch ohne JS,
   das Skript setzt nur die Punkte und den Sprung beim Klick.
   ========================================= */

.bew-tlg__viewport {
    overflow: hidden;
}

.bew-tlg__track {
    display: flex;
}

.bew-tlg__page {
    flex: 0 0 100%;
    min-width: 100%;
}

.bew-tlg--carousel .bew-tlg__viewport {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.bew-tlg--carousel .bew-tlg__viewport::-webkit-scrollbar {
    display: none;
}

.bew-tlg--carousel .bew-tlg__page {
    scroll-snap-align: start;
}

/* ── Punkte ── */
.bew-tlg__dots {
    display: none;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.bew-tlg--carousel .bew-tlg__dots {
    display: flex;
}

.bew-tlg__dot {
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color: #D8DDE7;
    cursor: pointer;
    transition: background-color 0.25s ease, width 0.25s ease;
}

.bew-tlg__dot.is-active {
    background-color: #1F3566;
}

/* =========================================
   RESPONSIVE
   Unter 1024 px wird nicht geblättert, sondern gestapelt —
   sonst versteckt das Karussell auf schmalen Geräten Karten
   hinter einer Geste, die dort niemand erwartet.
   ========================================= */

@media (max-width: 1024px) {
    .bew-tlg--carousel .bew-tlg__viewport {
        overflow: visible;
        scroll-snap-type: none;
    }

    .bew-tlg__track {
        display: block;
    }

    .bew-tlg__page + .bew-tlg__page {
        margin-top: var(--tlg-page-gap, 24px);
    }

    .bew-tlg--carousel .bew-tlg__dots {
        display: none;
    }
}

@media (max-width: 767px) {
    .bew-tlg__head {
        flex-direction: column;
        align-items: stretch;
    }

    .bew-tlg__cta {
        align-self: flex-start;
    }
}
