/* --- Header-Bereich --- */
.galerie-header { 
    margin-bottom: 30px; 
    text-align: center; 
    background: rgba(58, 57, 57, 0.8); 
    backdrop-filter: blur(5px); 
    border-radius: 10px; 
    padding: 25px; 
    /* Ausrichtung analog zum Grid */
    max-width: 1200px; 
    margin-left: auto; 
    margin-right: auto; 
    box-sizing: border-box;
}

.galerie-header h1 { 
    color: #ffffff !important; 
    margin: 0; 
}

.galerie-tags { 
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center; 
    gap: 10px; 
    padding-top: 15px; 
}

.galerie-tags a { 
    padding: 8px 16px; 
    background: rgba(255, 255, 255, 0.1); 
    border-radius: 20px; 
    text-decoration: none; 
    color: #fff; 
    transition: 0.3s; 
}

.galerie-tags a.active { 
    background: rgba(255, 255, 255, 0.3); 
    font-weight: bold; 
}

/* --- Grid-Struktur --- */
.zh-galerie { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 35px; 
    padding: 0 15px !important; 
    max-width: 1200px; 
    margin: 0 auto; 
    box-sizing: border-box; 
}

/* --- Mobile Anpassung --- */
@media screen and (max-width: 767px) {
    .galerie-header { margin-left: 15px; margin-right: 15px; }
    .zh-galerie { 
        grid-template-columns: repeat(3, 1fr) !important; 
    }
    .zh-kachel { padding: 4px !important; }
    .zh-text-box p { display: none !important; }
}

/* --- Kachel-Design --- */
.zh-kachel {
    display: flex; 
    flex-direction: column; 
    background: rgb(255 255 255 / .3) !important; !important;
    
    backdrop-filter: blur(10px) !important; 
    border-radius: 12px !important; 
    padding: 8px !important; 
    transition: 0.3s !important; 
    min-width: 0;
}

.zh-kachel:hover { 
    transform: translateY(-5px); 
    background: rgba(255, 255, 255, 0.25) !important; 
}

.zh-kachel img { 
    width: 100%; 
    aspect-ratio: 1 / 1; 
    object-fit: cover; 
    display: block; 
    border-radius: 6px; 
}

/* --- Text-Box --- */
.zh-text-box { 
    background: rgb(11, 0, 0); 
    color: #fff; 
    padding: 8px; 
    margin-top: 8px; 
    border-radius: 6px; 
}

.zh-text-box h3 { 
    margin: 0; 
    font-size: 0.9em; 
    font-family: 'Courier New', Courier, monospace; /* HIER die Courier-Schriftart */
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

.zh-text-box p { 
    margin: 4px 0 0 0; 
    font-size: 0.7em; 
    color: #ccc; 
}