/* ==================================================
   CONTENT CSS
   ==================================================

   Zweck:
   Diese Datei steuert ausschließlich den Inhaltsbereich.

   Hier stehen:
   - feste Contentbreite
   - Content-Hintergrund
   - Abstand oben/unten und links/rechts
   - Grid-System
   - Kacheloptik
   - Kachelabstände
   - Schriftgrößen und Zeilenabstände im Content

   Wichtige Werte:
   - width: 1200px = feste Seitenbreite
   - padding: 50px 20px = 50px oben/unten, 20px links/rechts
   - gap: 20px = Abstand zwischen Kacheln innerhalb eines Grids
   - margin-bottom: 50px = Abstand zwischen Grid-Blöcken
================================================== */

/* ==================================================
   CONTENT: Hauptbereich
   --------------------------------------------------
   Türkisfarbene Inhaltsfläche unterhalb des Headers.

   Auswirkungen:
   - width: 1200px setzt die feste Breite.
   - margin: 0 auto zentriert den Content.
   - background bestimmt die Grundfarbe hinter den Kacheln.
   - padding: 50px 20px bedeutet:
     50px Abstand oben/unten
     20px Abstand links/rechts
================================================== */

.site-main {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    background: var(--color-main-bg);
    padding: 50px 20px;
}

/* ==================================================
   CONTENT: Section
   --------------------------------------------------
   Eine Section ist ein Inhaltsabschnitt.

   Auswirkungen:
   - padding: 0, weil der Hauptabstand bereits in .site-main steht.
   - margin-bottom: 50px steuert den Abstand zur nächsten Section darunter.
   - Die letzte Section bekommt keinen unteren Abstand, damit der Content unten sauber endet.
================================================== */

.content-section {
    padding: 0;
    margin-bottom: 50px;
}

.content-section:last-child {
    margin-bottom: 0;
}

/* ==================================================
   GRID: Grundsystem für Kachel-Reihen
   --------------------------------------------------
   Jedes .grid ist eine eigene Kachelreihe innerhalb einer Section.

   Auswirkungen:
   - gap: 20px steuert den Abstand zwischen Kacheln innerhalb derselben Grid-Reihe.
   - Der Abstand zwischen mehreren Grid-Blöcken wird über .content-section gesteuert.
================================================== */

.grid {
    display: grid;
    gap: 20px;
}

/* ==================================================
   GRID: Spaltenaufteilungen
   --------------------------------------------------
   Diese Klassen definieren, wie viele Spalten eine Kachelreihe hat.

   Auswirkungen:
   - grid-1 = eine volle Spalte
   - grid-2 = zwei gleich große Spalten
   - grid-3 = drei gleich große Spalten
   - grid-70-30 = großer linker, kleiner rechter Bereich
   - grid-30-70 = kleiner linker, großer rechter Bereich
================================================== */
.grid {
    align-items: stretch;
}
.card-image {
    padding: 0;
    overflow: hidden;
    height: 100%;
}

.card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.grid-1 {
    grid-template-columns: 1fr;
}

.grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-70-30 {
    grid-template-columns: 7fr 3fr;
}

.grid-30-70 {
    grid-template-columns: 3fr 7fr;
}

/* ==================================================
   CARD: Kachel-Design
   --------------------------------------------------
   Gestaltung aller Kacheln.

   Auswirkungen:
   - padding ist der Innenabstand der Kachel.
   - background ist die transparente Kachelfläche.
   - der letzte rgba-Wert steuert die Deckkraft:
     0.12 = sehr transparent
     0.35 = mittel transparent
     0.72 = deutlich deckender
   - border ist der Rahmen.
   - border-radius rundet die Ecken.
   - transition aktiviert den Hover-Effekt.
================================================== */

.card {
    padding: 24px;
    background: rgba(98, 106, 127, 0.12);
    border: 1px solid var(--color-dark-blue);
    border-radius: 5px;
    color: #ffffff;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

/* ==================================================
   CARD: Hover-Effekt
   --------------------------------------------------
   Bewegung und leichte Abdunklung beim Überfahren.

   Auswirkungen:
   - translateY(-2px) hebt die Kachel optisch 2px an.
   - background macht die Kachel beim Hover etwas deckender.
================================================== */

.card:hover {
    transform: translateY(-2px);
    background: rgb(255, 214, 102);
}

/* ==================================================
   CARD: H2 Überschrift
   --------------------------------------------------
   Hauptüberschrift innerhalb einer Kachel.

   Auswirkungen:
   - font-size steuert die Größe der H2.
   - line-height steuert den Zeilenabstand bei Umbruch.
   - margin-bottom steuert den Abstand zum folgenden Text.
   - text-align: center zentriert die Überschrift.
   - text-shadow verbessert die Lesbarkeit.
================================================== */

.card h2 {
    margin-bottom: 16px;
    font-size: 2.2rem;
    line-height: 1.25;
    font-weight: 600;
    color: #203665;
    text-align: center;
    text-shadow: 0 2px 10px rgba(137, 135, 135, 0.676);
}

/* ==================================================
   CARD: H3 Überschrift
   --------------------------------------------------
   Kleinere Zwischenüberschrift innerhalb einer Kachel.

   Auswirkungen:
   - font-size steuert die Größe der H3.
   - line-height steuert den Zeilenabstand.
   - margin-bottom steuert den Abstand zum folgenden Text.
================================================== */

.card h3 {
    margin-bottom: 14px;
    font-size: 1.75rem;
    line-height: 1.3;
    font-weight: 500;
    color: #203665;
    text-align: center;
}

/* ==================================================
   CARD: Absatztext
   --------------------------------------------------
   Normaler Fließtext innerhalb einer Kachel.

   Auswirkungen:
   - font-size steuert die Textgröße.
   - line-height steuert den Zeilenabstand.
   - margin-bottom steuert den Abstand zwischen Absätzen.
   - text-align: center zentriert den Text.
================================================== */

.card p {
    margin-bottom: 1px;
    font-size: 1.25rem;
    line-height: 1.25;
    color: var(--color-text);
    text-align: center;
}

.card p:last-child {
    margin-bottom: 0;
}

/* ==================================================
   CARD: Bildkacheln
   --------------------------------------------------
   Kacheln mit Bild und Textbereich.

   Auswirkungen:
   - .card-image entfernt den Innenabstand um das Bild.
   - .card-body setzt den Innenabstand für den Text unter dem Bild.
================================================== */

.card-image {
    padding: 0;
    overflow: hidden;
}

.card-image img {
    width: 100%;
    object-fit: cover;
}

.card-image img[alt*="16 zu 9"] {
    aspect-ratio: 16 / 9;
}

.card-image img[alt*="21 zu 9"] {
    aspect-ratio: 21 / 9;
}

.card-body {
    padding: 24px;
}

/* ==================================================
   CONTENT: Gelbe Akzentfläche
   ==================================================

   Zweck:
   Gibt einzelnen Content-Bereichen eine warme,
   helle Akzentfläche.

   Verwendung im HTML:
   <section class="content-section content-section-accent-yellow">

   Wirkung:
   - hebt eine Kachelgruppe sichtbar hervor
   - wirkt wärmer als Blau/Cyan
   - bleibt durch Transparenz passend zum bestehenden Design
================================================== */

.content-section-accent-yellow {
    padding: 24px;
    border-radius: 5px;
    background: rgb(255, 214, 102);
}

.content-section-accent-yellow .card {
    background: rgba(255, 255, 255, 0.24);
    border-color: rgba(32, 54, 101, 0.35);
}

.content-section-accent-yellow .card h2,
.content-section-accent-yellow .card h3 {
    color: #203665;
    text-shadow: none;
}

.content-section-accent-yellow .card p {
    color: #203665;
}

/* ==================================================
   CONTENT: Gelbe Einzelkachel
   ==================================================

   Zweck:
   Färbt nur einzelne Kacheln gelb ein.

   Verwendung:
   <article class="card card-accent-yellow">

   Wichtig:
   Die Section bleibt unverändert.
   Nur die jeweilige Card bekommt die Akzentfarbe.
================================================== */

.card-accent-yellow {
    background: #FFF7DA;
    border-color: rgba(32, 54, 101, 0.35);
}

.card-accent-yellow h2,
.card-accent-yellow h3 {
    color: #203665;
    text-shadow: none;
}

.card-accent-yellow p {
    color: #203665;
}

/* ==================================================
   CONTENT: Buttons in Karten
================================================== */

.content-button-center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 28px;
}

.content-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 46px;
    padding: 12px 24px;
    border: 1px solid #203665;
    border-radius: 5px;
    background: #203665;
    color: #ffffff;
    font-family: var(--font-main);
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.content-button:hover {
    background: #2FA84F;
   border: 1px solid #203665;
    color: #ffffff;
}

/* ==================================================
   CONTENT: Listen / Bullet Points
================================================== */

.card ul,
.card ol {
    margin: 16px 0 0 0;
    padding-left: 28px;
    color: #203665;
    font-size: 1.25rem;
    line-height: 1.25;
    text-align: left;
}

.card ul {
    list-style-type: disc;
}

.card ol {
    list-style-type: decimal;
}

.card li {
    margin-bottom: 8px;
}

.card li:last-child {
    margin-bottom: 0;
}

/* ==================================================
   CONTENT: Bildwechsel per Hover
   ==================================================

   Zweck:
   Zeigt in einer Kachel ein Standardbild.
   Beim Hover wird ein zweites Bild eingeblendet.

   Verwendung:
   <article class="card card-hover-image">
       <div class="hover-image-wrap">
           <img class="hover-image hover-image-default">
           <img class="hover-image hover-image-active">
       </div>
   </article>
================================================== */

.card-hover-image {
    padding: 0;
    overflow: hidden;
}

.hover-image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 5px;
    background: #ffffff;
}

.hover-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.hover-image-default {
    opacity: 1;
    transform: scale(1);
    z-index: 1;
}

.hover-image-active {
    opacity: 0;
    transform: scale(1.02);
    z-index: 2;
}

.card-hover-image:hover .hover-image-default {
    opacity: 0;
    transform: scale(1.02);
}

.card-hover-image:hover .hover-image-active {
    opacity: 1;
    transform: scale(1);
}
/* ==================================================
   CONTENT: Responsive
   --------------------------------------------------
   Auf kleineren Screens werden alle Grids einspaltig.

   Auswirkungen:
   - width: 100% nutzt die verfügbare Breite.
   - padding: 40px 20px reduziert oben/unten den Abstand.
   - alle Mehrspalten-Grids werden zu einer Spalte.
================================================== */

@media (max-width: 900px) {
    .site-main {
        width: 100%;
        padding: 40px 20px;
    }

    .grid-2,
    .grid-3,
    .grid-70-30,
    .grid-30-70 {
        grid-template-columns: 1fr;
    }
}
