/**
 * Blueprint Routing v1 — Base Styles
 *
 * Search Results + 404 / System-Routes.
 * Minimal. Struktur vor Design — Design kommt später über Tokens.
 */

/* ---------------------------------------------------------------
 * Search (System-Route)
 *
 * Ergebnisliste nutzt .bp-archive-list + .bp-post-card (siehe unten).
 * Hier nur Search-spezifische Layout-Korrekturen für Hero/Empty.
 * ------------------------------------------------------------- */

.bp-search-empty {
    text-align: center;
    margin-top: 2rem;
    padding-bottom: 3rem;
}

.bp-search-empty .search-form {
    margin: 1.5rem 0;
}

/* ---------------------------------------------------------------
 * 404 (System-Route)
 *
 * Zentrierung ist defensiv: Grid nutzt .align-center (Foundation),
 * .bp-404__inner bündelt die Inhaltsgruppe visuell und kappt die
 * Maximalbreite. Das globale .search-form { display:flex } aus
 * main.css wird NICHT überschrieben — nur innerhalb .bp-404 werden
 * justify-content + Item-Breiten gescoped korrigiert.
 * ------------------------------------------------------------- */

.bp-404 {
    padding: 4rem 0;
}

.bp-404__inner {
    max-width: 620px;
    margin: 0 auto;
    text-align: center;
}

.bp-404 h1 {
    font-size: 4rem;
    margin-bottom: 0.5rem;
}

/* Search-Form im 404-Kontext explizit mittig ausrichten.
 * Das globale .search-form aus main.css hat display:flex ohne
 * justify-content (default flex-start) — deshalb hier override. */
.bp-404 .search-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 1.5rem auto;
}

/* Das <input class="search-field"> steckt im searchform.php in einem
 * <label>. Damit ist das <label> das Flex-Child, nicht das Input —
 * das globale .search-field { flex:1 } greift dort nicht.
 * Label als Flex-Item stabilisieren. */
.bp-404 .search-form > label {
    flex: 0 0 auto;
    margin: 0;
}

.bp-404 .search-field {
    width: 260px;
    max-width: 100%;
    box-sizing: border-box;
}

.bp-404 .search-submit {
    white-space: nowrap;
    margin: 0;
}

/* Shared utility for System-Routes (Search Empty / 404).
 * Scoped auf Routing-System — kein globales Utility. */
.bp-search-empty .text-center {
    text-align: center;
}

/* ---------------------------------------------------------------
 * Archive (home.php / archive.php / category.php)
 * ------------------------------------------------------------- */

.bp-archive-hero {
    margin-bottom: 2rem;
}

.bp-archive-description {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.bp-archive-list {
    padding-bottom: 3rem;
}

.bp-archive-empty {
    text-align: center;
    padding: 2rem 0;
}

/* ---------------------------------------------------------------
 * Post Card (templates/parts/post/card.php)
 * ------------------------------------------------------------- */

.bp-post-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.bp-post-card__media {
    margin-bottom: 1rem;
}

.bp-post-card__media img {
    display: block;
    width: 100%;
    height: auto;
}

.bp-post-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.bp-post-card__meta {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    opacity: 0.7;
}

.bp-post-card__title {
    margin-bottom: 0.75rem;
}

.bp-post-card__excerpt {
    margin-bottom: 1rem;
}

.bp-post-card__actions {
    margin-top: auto;
}
