/* =========================================
   ZUKÜNFTIGE 1. KLASSEN
   ========================================= */

.zukuenftige-klassen-layout {
    width: calc(100% - 40px);
    max-width: 1100px;
    margin: 55px auto 70px;
}

.zukuenftige-klassen-block {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    color: #333333;
}


/* =========================================
   KARTEN
   ========================================= */

.zukuenftige-klassen-block .klassen-uebersicht {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.zukuenftige-klassen-block .klassen-karte {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    column-gap: 40px;

    padding: 32px;

    background: #ffffff;
    border-radius: 14px;

    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);

    overflow: hidden;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.zukuenftige-klassen-block .klassen-karte:hover {
    transform: translateY(-3px);
    box-shadow: 0 7px 20px rgba(0, 0, 0, 0.11);
}


/* =========================================
   TEXT
   ========================================= */

.zukuenftige-klassen-block .klassen-text h2 {
    margin: 0 0 10px;

    font-size: 27px;
    line-height: 1.25;
    font-weight: 600;

    color: #2868ad;
}

.zukuenftige-klassen-block .klassen-schwerpunkt {
    margin: 0 0 22px;

    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;

    color: #555555;
}

.zukuenftige-klassen-block .klassen-text h3 {
    margin: 22px 0 8px;

    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;

    color: #2868ad;
}

.zukuenftige-klassen-block .klassen-text ul {
    margin: 0;
    padding-left: 21px;
}

.zukuenftige-klassen-block .klassen-text li {
    margin: 0 0 5px;

    font-size: 16px;
    line-height: 1.5;

    color: #444444;
}


/* =========================================
   FOTOS
   ========================================= */

.zukuenftige-klassen-block .klassen-foto {
    align-self: start;
}

.zukuenftige-klassen-block .klassen-foto img {
    display: block;

    width: 100%;
    height: 280px;

    object-fit: cover;
    object-position: center top;

    border-radius: 10px;
}


/* =========================================
   ZITAT
   ========================================= */

.zukuenftige-klassen-block .klassen-zitat {
    grid-column: 1 / -1;

    margin-top: 27px;
    padding: 17px 21px;

    background: #eef7ff;
    border-radius: 9px;

    font-size: 15px;
    line-height: 1.55;
    font-style: italic;

    color: #555555;
}

.zukuenftige-klassen-block .klassen-zitat span {
    display: block;

    margin-top: 5px;

    font-style: normal;
    font-weight: 600;

    color: #2868ad;
}


/* =========================================
   TABLET / MOBIL
   ========================================= */

@media (max-width: 800px) {

    .zukuenftige-klassen-layout {
        width: calc(100% - 32px);
        margin-top: 40px;
        margin-bottom: 55px;
    }

    .zukuenftige-klassen-block .klassen-karte {
        grid-template-columns: 1fr;
        padding: 25px;
    }

    .zukuenftige-klassen-block .klassen-foto {
        margin-top: 25px;
    }

    .zukuenftige-klassen-block .klassen-foto img {
        width: 100%;
        height: auto;
        max-height: 400px;
        object-fit: cover;
    }

    .zukuenftige-klassen-block .klassen-zitat {
        grid-column: 1;
    }
}

@media (max-width: 600px) {

    .zukuenftige-klassen-block .klassen-text h2 {
        font-size: 23px;
    }

    .zukuenftige-klassen-block .klassen-text h3 {
        font-size: 17px;
    }

    .zukuenftige-klassen-block .klassen-text li {
        font-size: 15px;
    }
}