/* BMCJ homepage: native announcements before About in .bmcj_home_columns.
 * Append after the existing journal stylesheet. No changes to other pages,
 * the OJS submission sidebar, current issue, or additional homepage content.
 */
.pkp_page_index .page_index_journal > .bmcj_home_columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    padding: 30px 0;
}

.pkp_page_index .bmcj_home_columns > * {
    min-width: 0;
}

.pkp_page_index .bmcj_home_columns > :only-child {
    grid-column: 1 / -1;
}

.pkp_page_index .bmcj_home_columns > .homepage_about {
    padding: 0;
}

.pkp_page_index .bmcj_home_columns > .homepage_about > h2:first-of-type {
    margin-top: 0;
}

.pkp_page_index .bmcj_home_columns > .cmp_announcements {
    margin: 0;
    padding: 0;
    border: 1px solid #e2e2e2;
    border-radius: 2px;
    background: #f7f7f5;
}

.pkp_page_index .bmcj_home_columns > .cmp_announcements::before,
.pkp_page_index .bmcj_home_columns > .cmp_announcements::after,
.pkp_page_index .bmcj_home_columns .cmp_announcements > .obj_announcement_summary::before,
.pkp_page_index .bmcj_home_columns .cmp_announcements > .more::before {
    content: none;
}

/* Override the default theme's 65% featured / 35% more-announcements split. */
.pkp_page_index .bmcj_home_columns .cmp_announcements > .obj_announcement_summary {
    display: block;
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.pkp_page_index .bmcj_home_columns .obj_announcement_summary_image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
}

.pkp_page_index .bmcj_home_columns .obj_announcement_summary_details {
    min-width: 0;
    padding: 18px;
    overflow-wrap: anywhere;
}

.pkp_page_index .bmcj_home_columns .obj_announcement_summary_details > h3 {
    margin: 0 0 8px;
    font-size: 1.15rem;
    line-height: 1.4;
    letter-spacing: normal;
}

.pkp_page_index .bmcj_home_columns .obj_announcement_summary .date {
    color: #595959;
}

.pkp_page_index .bmcj_home_columns .obj_announcement_summary .summary {
    margin-top: 14px;
}

/* A narrow callout needs natural spacing instead of justified body text. */
.pkp_page_index .bmcj_home_columns .obj_announcement_summary .summary p {
    margin: 0 0 12px;
    text-align: left;
    line-height: 1.6;
    hyphens: none;
}

.pkp_page_index .bmcj_home_columns .obj_announcement_summary .summary p:last-child {
    margin-bottom: 0;
}

.pkp_page_index .bmcj_home_columns .cmp_announcements > .more {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
}

/* The native template leaves whitespace in .more, so :empty alone is
 * insufficient. Without :has support this element still occupies no space.
 * Future announcement links remain visible when OJS supplies them.
 */
.pkp_page_index .bmcj_home_columns .cmp_announcements > .more:not(:has(> .obj_announcement_summary)) {
    display: none;
}

.pkp_page_index .bmcj_home_columns .cmp_announcements > .more > .obj_announcement_summary {
    margin: 0;
    padding: 18px;
    border-top: 1px solid #e2e2e2;
}

.pkp_page_index .bmcj_home_columns .cmp_announcements a:focus-visible {
    outline: 2px solid #006798;
    outline-offset: 3px;
}

@media (min-width: 1200px) {
    .pkp_page_index .page_index_journal > .bmcj_home_columns {
        grid-template-columns: 240px minmax(0, 1fr);
    }
}
