/* Karten- und Kommentarstile fuer die Blog-Startseite. */
/* Diese Datei deckt Sortierung, Beitragskarten, Bilder und Kommentarformulare ab. */
.blogboard {
    max-width: 900px;
    padding: 1.35rem 1.5rem;
}

/* Oberer Listen- und Statusbereich. */
.blogboard-liste {
    margin-top: 1.5rem;
}

.blogboard-meldung,
.blogboard-fehler {
    margin-top: 1rem;
    padding: 0.8rem 1rem;
    border: 1px solid currentColor;
    background: rgba(0, 0, 0, 0.22);
}

.blogboard-meldung {
    color: var(--success);
}

.blogboard-fehler {
    color: var(--error);
}

/* Sortierformular fuer klassische Reihenfolge oder Aktivitaetslogik. */
.blog-sortierung-formular {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--line);
    background: rgba(0, 0, 0, 0.18);
}

/* Checkbox-Zeile innerhalb des Sortierpanels. */
.blog-sortierung-checkbox {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--text-soft);
}

.blog-sortierung-checkbox input {
    width: auto;
    margin: 0;
}

/* Einzelne Beitragskarte mit Meta-, Inhalts- und Kommentarbereich. */
.blog-eintrag {
    margin-top: 1rem;
    padding: 1.2rem;
    border: 1px solid var(--line);
    background: rgba(0, 0, 0, 0.18);
}

.blog-eintrag h3 {
    margin-bottom: 0.55rem;
}

/* Metaangaben wie Autor und Datum bleiben optisch im Hintergrund. */
.blog-meta {
    margin-bottom: 1rem;
    color: var(--text-soft);
    font-size: 0.95rem;
}

.blog-inhalt {
    white-space: normal;
    word-break: break-word;
}

.blog-admin-aktionen {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
}

.blog-loesch-formular {
    margin: 0;
}

.blog-loesch-formular button {
    background: rgba(132, 28, 28, 0.28);
    border-color: rgba(255, 140, 140, 0.35);
    color: #ffd7d7;
}

/* Eingebundene Blogbilder sollen mittig und begrenzt dargestellt werden. */
.blog-bild {
    margin-bottom: 1rem;
}

.blog-bild img {
    width: auto;
    max-width: min(100%, 680px);
    max-height: 460px;
    margin: 0 auto;
    border: 1px solid var(--line);
    border-radius: 0;
    object-fit: contain;
    object-position: center;
}

/* Kommentarbereich je Beitrag. */
.blog-kommentare {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px dashed var(--line);
}

/* Einzelne Kommentarbox innerhalb eines Beitrags. */
.blog-kommentar {
    margin-top: 0.85rem;
    padding: 0.9rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(127, 221, 177, 0.16);
}

.blog-kommentar-meta {
    margin: 0 0 0.6rem;
    font-size: 0.95rem;
    color: var(--text-soft);
}

.blog-kommentar-inhalt {
    word-break: break-word;
}

/* Kommentarformular mit automatisch aufklappendem Textfeld. */
.blog-kommentar-formular {
    margin-top: 1rem;
}

.blog-kommentar-formular label {
    display: block;
    margin-top: 0.7rem;
    font-weight: bold;
}

.blog-kommentar-formular textarea {
    min-height: 38px;
    height: 38px;
    margin-top: 0.4rem;
    resize: vertical;
    transition: height 0.15s ease;
}

.blog-kommentar-formular textarea:focus,
.blog-kommentar-formular textarea:not(:placeholder-shown) {
    min-height: 110px;
    height: 110px;
}

.blog-kommentar-formular button {
    margin-top: 0.85rem;
}
