@font-face {
    font-family: 'MeineSchrift';
    src: url('fonts/GreatVibes.ttf') format('truetype');
    /*  font-weight: normal;
    font-style: normal;
    font-display: swap;   */
}
/* Das Hintergrund-Element */
.background-fix {
position: fixed; /* Klebt am Bildschirm */
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1; /* Schiebt das Bild hinter den Inhalt */
/* Bild-Einstellungen */
background-image: url("Hintergrundbilder/Hintergrundbild_Medien_Kika1.png");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
/* Optional: Abdunkeln, falls der Text weiß ist */
/* background-color: rgba(0, 0, 0, 0.4);
background-blend-mode: darken;   */
}
html, body { height: 100%; margin: 0; }
body {
    font-family: sans-serif;
    line-height: 1.0;
    /*  background-color: #FF00FF;  */
    /*background: url("Hintergrundbilder/Hintergrundbild_Medien_Kika1.png") repeat;*/
    /*   background-size: cover;
    min-height: 100vh;
    display: flex;
    flex-direction: column;   */
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
    /*    background-color: #f0f2f5;   */
    margin: 0;
}

.content {
    flex: 1; /* Nimmt allen freien Platz ein und dr?ckt den Footer nach unten */
}

h1, h2 { text-align: center; color: black; }

h2 { font-family: 'MeineSchrift', cursive; font-size: 2.4rem; margin-bottom: 10px; }

h3, p { color: black; }

/* GEMEINSAME BASIS-STRELES */
.container-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 50px;
    justify-content: flex-start; /* Boxen fangen links an, auch in neuen Zeilen */
    align-items: stretch;        /* Alle Boxen in einer Zeile gleich hoch */
}

.box {
    flex: 0 1 calc(25.000% - 20px); /* Nimmt max. 1/4 der Breite minus Gap */
    min-width: 280px;               /* Verhindert zu schmale Boxen auf Handy */

    /* Inhalt zentrieren */
    display: flex;
    flex-direction: column;         /* Inhalt untereinander */
    align-items: center;            /* Zentriert Button horizontal in der Box */
    /*  justify-content: center;   */     /* Zentriert Button vertikal in der Box */

    background: rgba(20, 0, 30, 0.3);
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    border: 1px solid #ddd;
    box-sizing: border-box;         /* WICHTIG: Padding wird nicht zur Breite addiert */
}

.box img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* VARIANTE 1: GLEICHE H?HE (Standard) */
.equal-height {
    align-items: stretch;
}

/* VARIANTE 2: INDIVIDUELLE H?HE */
.natural-height {
    align-items: flex-start;
}

/* RESPONSIVE DESIGN (Smartphone) */
@media (max-width: 600px) {
    .box {
        flex: 1 1 100%; /* Volle Breite auf dem Handy */
    }
    .container-wrapper {
        padding: 10px;
        gap: 10px;
    }
}

.btns a { background-color: #c6a64b; color: #2c0140; text-decoration: none; padding: 12px 25px; margin: 10px; border-radius: 8px; font-weight: bold; display: inline-block; transition: background 0.3s; }
.btns a:hover { background-color: #f7e7b6; }
.footer { background: transparent; padding: 30px 20px; text-align: center; position: relative; width: 100%; opacity: 0.6; }
.footer h2 { font-size: 1.6rem; margin-bottom: 15px; }