.zahlen-grid-container {
    display: grid;
    /* Auf großen Bildschirmen: 3 gleich große Spalten */
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 900px;
    margin: 30px auto;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Eine einzelne Spalte (Einer, Zehner oder Hunderter) */
.zahlen-spalte {
    background-color: #ffffff;
    border: 1px solid #d3c5a3;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* Die braune Überschrift jeder Spalte */
.zahlen-spalte h4 {
    background-color: #1c86ee;
    color: white;
    margin: 0;
    padding: 15px;
    text-align: center;
    font-size: 1.1em;
}

/* Eine einzelne Zeile (z.B. "1 - Alpha") */
.zahlen-zeile {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid #e0d8c3;
}

.zahlen-zeile:last-child {
    border-bottom: none;
}

/* Die Zebra-Musterung (jede 2. Zeile hellgrau) */
.zahlen-zeile:nth-child(even) {
    background-color: #f2f2f2;
}

.zahlen-zeile:hover {
    background-color: #e9e5dc;
}

/* Styling der Zeichen */
.zeile-zahl {
    font-weight: bold;
    width: 40px;
    color: #333;
}

.zeile-zeichen {
    font-weight: bold;
    color: #1c86ee;
    font-size: 1.3em;
    width: 30px;
}

.zeile-name {
    color: #444;
}

/* Wenn der Bildschirm schmaler als 768px wird, ordne die Spalten untereinander an */
@media (max-width: 768px) {
    .zahlen-grid-container {
        grid-template-columns: 1fr; /* Nur noch 1 Spalte, die 100% Breite einnimmt */
    }
}