    /* ---------- Grid container ---------- */
    .bhist-events-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
        align-items: stretch;
    }
    @media (max-width: 880px) { .bhist-events-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 560px) { .bhist-events-grid { grid-template-columns: 1fr; } }

    /* ---------- Card base ----------
       Whole card is one <a>; goat overlay sits between photo and body
       via z-index so its bottom is hidden behind the body block. */
    .bhist-card {
        position: relative;
        background: var(--awb-color1);
        border-radius: 24px;
        overflow: hidden;
        text-decoration: none;
        color: inherit;
        display: flex; flex-direction: column;
        transition: transform .2s, box-shadow .2s;
        box-shadow: 0 2px 12px rgba(0,0,0,.05);
        border: 1px solid rgba(0,0,0,.06);
    }
    /* Photo container hosts the goat overlay. Critter art is a uniform 283x325 canvas
       with the grip line baked at a constant Y (~85% down) and transparent padding +
       dangling feet below it, so we seat the GRIP line on the photo seam (bottom:-1.4rem
       drops the canvas until the grip meets the seam; feet hang into the body area where
       the body's higher z-index covers them). Anchoring the canvas bottom instead would
       leave the animal floating above the seam. ONE rule fits all six (no offset map);
       the per-critter --<slug> class is a nudge hook, needs no CSS. */
    .bhist-card--grid .bhist-card__photo { position: relative; }
    .bhist-card__goat {
        position: absolute;
        bottom: -1.4rem;
        right: 1rem;
        width: 7.5rem;
        height: auto;
        z-index: 2;
        pointer-events: none;
        user-select: none;
    }
    .bhist-card__body { position: relative; z-index: 3; }
    .bhist-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,.10); }
    .bhist-card__body { padding: 1.25rem 1.5rem 1.5rem; display: flex; flex-direction: column; flex: 1; gap: .35rem; }
    .bhist-card__date { font-family: Oswald, sans-serif; font-weight: 600; letter-spacing: .25em; text-transform: uppercase; font-size: 12px; color: var(--awb-color5); }
    .bhist-card__title { font-family: Oswald, sans-serif; font-weight: 700; font-size: 1.35rem; line-height: 1.2; margin: .1rem 0 .2rem; color: var(--awb-color5); }
    .bhist-card__meta { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 13px; color: var(--awb-color6); }
    .bhist-card__excerpt {
        font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: .95rem; line-height: 1.5; margin: 0;
        color: var(--awb-color7);
        display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
    }
    .bhist-card__cta {
        margin-top: auto; display: inline-block; align-self: flex-start;
        background: var(--awb-color5); color: var(--awb-color1);
        font-family: "Open Sans", sans-serif; font-weight: 400; font-size: 13px; line-height: 16px;
        letter-spacing: normal; text-transform: none;
        padding: 11px 23px; border-radius: 999px; text-decoration: none;
        transition: background .2s;
    }
    .bhist-card__cta:hover { background: var(--awb-color4); }

    /* ---------- Card photo ---------- */
    .bhist-card--grid .bhist-card__photo {
        display: block; width: 100%; aspect-ratio: 1/1;
        background-size: cover; background-position: center;
        background-color: var(--awb-color2);
    }

    /* ---------- Single-card wrapper (solo invocation, e.g. half-column rows) ---------- */
    .bhist-events-card { display: block; }

    /* ============================================================
     * /veranstaltungen/ EM Pro list-item styling (used by the child-theme
     * event_list_item_format.php override).
     * ============================================================ */
    .bhist-list { display: flex; flex-direction: column; gap: 1rem; max-width: 980px; margin: 0 auto; }
    .bhist-list-item {
        display: grid;
        grid-template-columns: 88px 180px 1fr auto;
        align-items: center;
        gap: 1.5rem;
        background: var(--awb-color1);
        border: 1px solid rgba(0,0,0,.06);
        border-left: 4px solid var(--awb-color5);
        border-radius: 14px;
        padding: 1.25rem 1.5rem 1.25rem 1rem;
        transition: transform .2s, box-shadow .2s, border-left-color .2s, background .15s;
    }
    .bhist-list-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 28px rgba(0,0,0,.08);
        border-left-color: var(--awb-color4);
    }
    .bhist-list-item__stamp {
        display: flex; flex-direction: column; align-items: center; justify-content: center;
        text-align: center; line-height: 1; padding: .25rem 0;
    }
    .bhist-list-item__day {
        font-family: var(--h1_typography-font-family, 'Oswald', sans-serif);
        font-weight: 700; font-size: 2.6rem; color: var(--awb-color5);
    }
    .bhist-list-item__month {
        font-family: Oswald, sans-serif; font-weight: 600;
        font-size: 13px; letter-spacing: .25em; text-transform: uppercase;
        color: var(--awb-color5);
    }
    .bhist-list-item__photo {
        display: block; width: 100%; height: 120px;
        background-size: cover; background-position: center;
        background-color: var(--awb-color2);
        border-radius: 10px;
    }
    .bhist-list-item__photo--placeholder { opacity: .6; }
    .bhist-list-item__body { display: flex; flex-direction: column; gap: .3rem; }
    .bhist-list-item__title { font-family: Oswald, sans-serif; font-weight: 700; font-size: 1.15rem; color: var(--awb-color5); margin: 0; }
    .bhist-list-item__title a { color: inherit; text-decoration: none; }
    .bhist-list-item__title a:hover { text-decoration: underline; }
    .bhist-list-item__meta { font-family: 'Open Sans', sans-serif; font-size: 13px; color: var(--awb-color6); display: flex; flex-wrap: wrap; gap: 1.2rem; }
    .bhist-list-item__excerpt { font-family: 'Open Sans', sans-serif; font-size: .95rem; line-height: 1.5; color: var(--awb-color7); margin: 0; }
    .bhist-list-item__cta {
        background: var(--awb-color5); color: #fff;
        font-family: Oswald, sans-serif; font-weight: 600; font-size: 12px;
        letter-spacing: .2em; text-transform: uppercase;
        padding: .55rem 1.1rem; border-radius: 999px; text-decoration: none;
        display: inline-flex; align-items: center; gap: .5rem;
        transition: background .2s;
    }
    .bhist-list-item__cta:hover { background: var(--awb-color4); }
    .bhist-list-item__cta-arrow { transition: transform .2s; }
    .bhist-list-item__cta:hover .bhist-list-item__cta-arrow { transform: translateX(3px); }
    @media (max-width: 800px) {
        .bhist-list-item { grid-template-areas: "photo photo" "stamp body" "cta cta"; grid-template-columns: 88px 1fr; }
        .bhist-list-item__stamp { grid-area: stamp; }
        .bhist-list-item__photo { grid-area: photo; height: 200px; }
        .bhist-list-item__body { grid-area: body; }
        .bhist-list-item__cta { grid-area: cta; justify-self: start; }
    }

/* Keep the approved critter seam while avoiding a square empty photo area. */
.bhist-card--grid .bhist-card__photo--placeholder { aspect-ratio: auto; height: 9rem; }
