/* JCMM custom styles
   Last updated: 25 April 2026
   Layered on top of OJS Default Theme.
   Brand colour: #002C09 (logo deep green)
   Mid-green accent: #1F4D2D
*/

/* ==========================================================
   PRESERVED FROM PREVIOUS STYLESHEET
   ========================================================== */

/* Hide PKP brand link in the footer */
.pkp_brand_footer a {
    display: none;
}

/* Footer text centred and padded */
.pkp_footer_content {
    padding: 1rem;
    text-align: center;
}

/* Banner/logo max sizing */
@media (min-width: 992px) {
    .pkp_site_name .is_img img {
        max-height: 245px;
    }
}

.pkp_site_name_wrapper {
    max-height: 17.857rem;
}

/* Justify text in article details and main column prose */
.obj_article_details .abstract,
.obj_article_details .author_bios,
.obj_article_details .references,
.pkp_structure_main p {
    text-align: justify;
}

/* Headings in brand green */
h1 {
    display: block;
    font-size: 2.3em;
    margin: 0.67em 0;
    font-weight: bold;
    color: #002C09;
}

h2 {
    display: block;
    font-size: 2em;
    margin: 0.67em 0;
    font-weight: bold;
    color: #002C09;
}

/* Submit / form / search buttons in brand green */
.cmp_button,
.cmp_form .buttons button,
.page_lost_password .buttons button,
.page_search .submit button,
.block_make_submission a {
    display: inline-block;
    padding: 0 1em;
    background: #002C09;
    border: 1px solid rgba(0, 0, 0, 0.4);
    border-top-color: #bbb;
    border-radius: 3px;
    box-shadow: inset 0 -1em 1em rgb(0 0 0 / 10%);
    font-size: .93rem;
    line-height: calc(2.143rem - 2px);
    font-weight: 700;
    text-decoration: none;
    color: #FFFFFF;
}

/* Navigation and TOC spacing */
.pkp_navigation_primary > li:first-child a {
    margin-left: 1em;
}

.obj_issue_toc .sections:not(:first-child) {
    margin-top: -3rem;
}

.obj_issue_toc .articles {
    margin-top: calc(0.143rem + 0.43rem);
}

/* Sidebar block padding */
.pkp_block {
    padding: 10px 15px;
}

/* Issue cover images: rounded corners + soft shadow */
.obj_issue_summary .cover img,
.obj_issue_toc .cover img {
    border-radius: 5px;
    box-shadow: 1px 3px 7px 1px grey;
}

/* Sidebar block titles: brand green background, white text */
.pkp_block .title {
    background-color: #002C09;
    color: #FFFFFF;
    padding: 12px;
}


/* ==========================================================
   NEW RULES - JCMM REVAMP, APRIL 2026
   ========================================================== */

/* H3 in mid-green for hierarchy below H2 */
.page h3 {
    font-weight: 600;
    margin-top: 1.4em;
    margin-bottom: 0.4em;
    color: #1F4D2D;
}

/* H2 refinement: subtle border-bottom for visual structure on policy pages */
.page h2 {
    letter-spacing: -0.01em;
    padding-bottom: 0.4em;
    border-bottom: 1px solid #E2E6EB;
}

/* Readability: constrain main content measure on wide screens */
.page > .container > .row > main {
    max-width: 70ch;
}

/* Block quotes for editorial statements (Editorial Independence, About) */
.page blockquote {
    border-left: 3px solid #1F4D2D;
    background: #EBF1ED;
    padding: 0.8em 1.2em;
    margin: 1.2em 0;
    font-style: normal;
    color: #2A2F36;
}

/* Footer: brand green background, light text */
.pkp_structure_footer_wrapper {
    background: #002C09;
    color: #C5D2C8;
}

.pkp_structure_footer_wrapper a {
    color: #9FB7A7;
    text-decoration: underline;
}

.pkp_structure_footer_wrapper a:hover {
    color: #FFFFFF;
}

.pkp_structure_footer_wrapper h3 {
    color: #FFFFFF;
    margin-top: 0;
}

/* Indexing badges sidebar block */
.pkp_block.block_indexing_badges {
    text-align: center;
}

.pkp_block.block_indexing_badges .badge_row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6em;
    justify-content: center;
    margin-top: 0.6em;
}

.pkp_block.block_indexing_badges .badge_row a {
    display: inline-block;
    border: 1px solid #D6DAE0;
    border-radius: 4px;
    padding: 0.4em 0.8em;
    font-size: 0.85em;
    color: #1F4D2D;
    text-decoration: none;
    background: #FFFFFF;
}

.pkp_block.block_indexing_badges .badge_row a:hover {
    background: #002C09;
    color: #FFFFFF;
    border-color: #002C09;
}

/* Article list refinement on home and issue pages */
.obj_article_summary {
    border-bottom: 1px solid #E2E6EB;
    padding-bottom: 1em;
    margin-bottom: 1em;
}

.obj_article_summary .title {
    font-size: 1.05em;
    font-weight: 600;
    color: #1F4D2D;
}

/* Tables in policy pages */
.page table {
    border-collapse: collapse;
    width: 100%;
    margin: 1em 0;
    font-size: 0.95em;
}

.page table th,
.page table td {
    border: 1px solid #D6DAE0;
    padding: 0.5em 0.75em;
    text-align: left;
    vertical-align: top;
}

.page table th {
    background: #EBF1ED;
    font-weight: 600;
}

/* Lists: tighten spacing on long policy pages */
.page ul,
.page ol {
    margin: 0.6em 0 0.6em 1.5em;
}

.page li {
    margin-bottom: 0.3em;
}

/* Accessibility: visible focus indicators */
a:focus,
button:focus,
input:focus,
textarea:focus {
    outline: 2px solid #1F4D2D;
    outline-offset: 2px;
}

/* Footer: constrain content width while keeping background full-bleed */
.pkp_structure_footer_wrapper .pkp_footer_content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2em 1em;
    text-align: left;
}

/* Footer four-column grid: tighter, capped column width */
.pkp_structure_footer_wrapper .footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2em;
    max-width: 1100px;
    margin: 0 auto;
}

/* Print styles: clean output for archive copies */
@media print {
    .pkp_structure_sidebar,
    .pkp_structure_footer_wrapper,
    .cmp_navigation_primary,
    .cmp_navigation_user {
        display: none;
    }
    .page > .container > .row > main {
        max-width: none;
        width: 100%;
    }
}
