/* ============================================================
   AAPAM AJPAM PROFESSIONAL OJS THEME
   African Journal of Public Administration & Management
   Designed for OJS 3.x / Default theme family

   Brand direction:
   - AAPAM-inspired African green
   - Clean scholarly editorial interface
   - Strong journal identity
   - Accessible contrast and responsive layout
   ============================================================ */

:root {
    --aapam-green: #16823A;
    --aapam-green-dark: #0B5D2A;
    --aapam-green-deep: #073F1D;
    --aapam-green-light: #EEF7F0;
    --aapam-green-pale: #F7FBF8;
    --aapam-gold: #D6A62C;
    --aapam-gold-light: #F4E4AD;
    --aapam-ink: #24332A;
    --aapam-muted: #64736A;
    --aapam-border: #D9E6DC;
    --aapam-white: #FFFFFF;
    --aapam-shadow: 0 8px 28px rgba(7, 63, 29, .08);
}

/* ---------- Base ---------- */

html { scroll-behavior: smooth; }

body {
    color: var(--aapam-ink);
    background: #fff;
    font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
    line-height: 1.65;
}

body,
.pkp_structure_page {
    min-height: 100vh;
}

a {
    color: var(--aapam-green);
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

a:hover,
a:focus {
    color: var(--aapam-green-dark);
}

/* ---------- Accessibility ---------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--aapam-gold);
    outline-offset: 2px;
}

/* ---------- Top institutional strip ---------- */

.pkp_structure_head {
    background: #fff;
    border-bottom: 4px solid var(--aapam-green);
}

.pkp_head_wrapper {
    padding-top: 1.1rem;
    padding-bottom: .9rem;
}

/* A slim institutional identity line */
.pkp_head_wrapper:before {
    content: "AFRICAN ASSOCIATION FOR PUBLIC ADMINISTRATION AND MANAGEMENT";
    display: block;
    margin-bottom: .55rem;
    color: var(--aapam-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* ---------- Journal name ---------- */

.pkp_site_name {
    margin: .25rem 0 .8rem;
}

.pkp_site_name a {
    color: var(--aapam-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    font-size: clamp(1.55rem, 3vw, 2.45rem);
    line-height: 1.15;
    letter-spacing: -.02em;
}

.pkp_site_name a:hover {
    color: var(--aapam-green);
}

/* If a journal logo is uploaded through OJS, make it crisp */
.pkp_site_name img {
    max-height: 92px;
    width: auto;
    object-fit: contain;
}

/* ---------- Navigation ---------- */

.pkp_navigation_primary_row {
    border-top: 1px solid var(--aapam-border);
    background: #fff;
}

.pkp_navigation_primary > li > a {
    padding: .9rem .85rem;
    color: var(--aapam-green-dark);
    font-weight: 650;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_primary > li > a[aria-expanded="true"] {
    color: #fff;
    background: var(--aapam-green);
}

.pkp_navigation_search_wrapper {
    margin-left: .5rem;
}

.pkp_search button {
    color: var(--aapam-green-dark);
}

/* ---------- Main content ---------- */

.pkp_structure_main {
    background: #fff;
}

.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4 {
    color: var(--aapam-green-dark);
    font-family: Georgia, "Times New Roman", serif;
}

.pkp_structure_main h1 {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.pkp_structure_main h2 {
    font-size: 1.65rem;
}

/* ---------- Home page introduction ---------- */

.homepage_about,
.page_index_journal .about {
    margin: 1rem 0 2rem;
    padding: 1.6rem 1.8rem;
    background: linear-gradient(135deg, var(--aapam-green-pale), #fff);
    border-left: 5px solid var(--aapam-green);
    border-radius: 0 8px 8px 0;
    box-shadow: var(--aapam-shadow);
}

/* ---------- Current issue ---------- */

.page_index_journal .current_issue {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 5px solid var(--aapam-green);
}

.current_issue_title {
    color: var(--aapam-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.9rem;
    font-weight: 700;
}

.current_issue .description {
    color: var(--aapam-muted);
}

/* ---------- Issue cards ---------- */

.obj_issue_summary {
    margin-bottom: 1.5rem;
    padding: 1.25rem;
    background: #fff;
    border: 1px solid var(--aapam-border);
    border-top: 4px solid var(--aapam-green);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(7,63,29,.05);
}

.obj_issue_summary:hover {
    box-shadow: var(--aapam-shadow);
}

.obj_issue_summary .title a {
    color: var(--aapam-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

/* ---------- Article listings ---------- */

.obj_article_summary {
    padding: 1.15rem 0;
    border-bottom: 1px solid var(--aapam-border);
}

.obj_article_summary .title a {
    color: var(--aapam-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.18rem;
    font-weight: 700;
}

.obj_article_summary .title a:hover {
    color: var(--aapam-green);
}

.obj_article_summary .authors {
    color: var(--aapam-muted);
    font-size: .92rem;
}

/* ---------- Article page ---------- */

.obj_article_details .title {
    color: var(--aapam-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

.obj_article_details .author {
    color: var(--aapam-muted);
}

.obj_article_details .item {
    border-top-color: var(--aapam-border);
}

.obj_article_details .item > h2 {
    color: var(--aapam-green-dark);
}

/* DOI / citation metadata */

.obj_article_details .doi {
    padding: .65rem .9rem;
    background: var(--aapam-green-pale);
    border-left: 3px solid var(--aapam-green);
    border-radius: 3px;
}

/* ---------- Sidebar ---------- */

.pkp_block {
    margin-bottom: 1.5rem;
    padding-top: .9rem;
    border-top: 4px solid var(--aapam-green);
}

.pkp_block .title {
    color: var(--aapam-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

.pkp_block .content {
    color: var(--aapam-ink);
}

.pkp_block .content a {
    color: var(--aapam-green);
}

/* ---------- Buttons ---------- */

.cmp_button,
.pkp_button,
button,
input[type="submit"],
input[type="button"] {
    min-height: 42px;
    padding: .65rem 1rem;
    color: #fff;
    background: var(--aapam-green);
    border: 1px solid var(--aapam-green);
    border-radius: 4px;
    font-weight: 650;
}

.cmp_button:hover,
.cmp_button:focus,
.pkp_button:hover,
.pkp_button:focus,
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:focus {
    color: #fff;
    background: var(--aapam-green-dark);
    border-color: var(--aapam-green-dark);
}

.cmp_button_wire,
.pkp_button_wire {
    color: var(--aapam-green-dark);
    background: #fff;
    border-color: var(--aapam-green);
}

.cmp_button_wire:hover,
.pkp_button_wire:hover {
    color: #fff;
    background: var(--aapam-green);
}

/* ---------- Forms ---------- */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
    border: 1px solid #C8D8CD;
    border-radius: 4px;
    background: #fff;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border-color: var(--aapam-green);
    box-shadow: 0 0 0 3px rgba(22,130,58,.12);
}

/* ---------- Tables ---------- */

.cmp_table th {
    color: #fff;
    background: var(--aapam-green-dark);
}

.cmp_table tr:nth-child(even) {
    background: var(--aapam-green-pale);
}

/* ---------- Announcements ---------- */

.obj_announcement_summary {
    margin-bottom: 1.25rem;
    padding: 1rem 1.15rem;
    background: var(--aapam-green-pale);
    border-left: 4px solid var(--aapam-green);
    border-radius: 0 5px 5px 0;
}

.obj_announcement_summary .title a {
    color: var(--aapam-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

/* ---------- Search results ---------- */

.search_results .title a {
    color: var(--aapam-green-dark);
    font-weight: 700;
}

/* ---------- Registration / login ---------- */

.page_register .pkp_form,
.page_login .pkp_form {
    padding: 1.5rem;
    background: var(--aapam-green-pale);
    border: 1px solid var(--aapam-border);
    border-radius: 6px;
}

/* ---------- Footer ---------- */

.pkp_structure_footer {
    margin-top: 3rem;
    color: #fff;
    background: var(--aapam-green-deep);
    border-top: 6px solid var(--aapam-gold);
}

.pkp_structure_footer a {
    color: #fff;
}

.pkp_structure_footer a:hover,
.pkp_structure_footer a:focus {
    color: var(--aapam-gold-light);
}

.pkp_footer_content {
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.pkp_brand_footer {
    padding: 1.25rem 0 1.75rem;
    text-align: center;
}

.pkp_brand_footer img {
    display: none !important;
}

.pkp_brand_footer a {
    display: inline-block;
    text-decoration: none;
}

.pkp_brand_footer a::after {
    content: "AAPAM Journal Management Platform";
    display: inline-block;
    padding: .55rem 1rem;
    color: #fff;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 4px;
    font-size: .9rem;
    font-weight: 650;
    letter-spacing: .02em;
}

/* ---------- AAPAM gold accents ---------- */

.galleys_links a,
.pdf-galley-link {
    border-left: 3px solid var(--aapam-gold);
}

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
    .pkp_site_name a {
        font-size: 1.75rem;
    }

    .pkp_navigation_primary > li > a {
        padding: .7rem;
    }
}

@media (max-width: 600px) {
    .pkp_head_wrapper {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .pkp_head_wrapper:before {
        font-size: .6rem;
        letter-spacing: .08em;
    }

    .pkp_site_name a {
        font-size: 1.45rem;
    }

    .obj_issue_summary {
        padding: 1rem;
    }

    .homepage_about,
    .page_index_journal .about {
        padding: 1.1rem;
    }
}

/* ============================================================
   OPTIONAL HOMEPAGE COMPONENTS
   Add these classes through a Custom Block / HTML block where
   supported by the OJS installation.
   ============================================================ */

.aapam-hero {
    position: relative;
    margin: 0 0 2rem;
    padding: 2.5rem 2rem;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(120deg, var(--aapam-green-deep), var(--aapam-green));
    border-radius: 0 0 10px 10px;
}

.aapam-hero::after {
    content: "AJPAM";
    position: absolute;
    right: 2rem;
    bottom: -1rem;
    color: rgba(255,255,255,.08);
    font-family: Georgia, serif;
    font-size: 7rem;
    font-weight: 700;
}

.aapam-hero h1,
.aapam-hero h2 {
    position: relative;
    z-index: 1;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
}

.aapam-hero p {
    position: relative;
    z-index: 1;
    max-width: 760px;
    color: rgba(255,255,255,.92);
}

.aapam-section-title {
    margin: 2rem 0 1rem;
    padding-bottom: .5rem;
    color: var(--aapam-green-dark);
    font-family: Georgia, serif;
    border-bottom: 2px solid var(--aapam-gold);
}

.aapam-feature-card {
    padding: 1.25rem;
    background: #fff;
    border: 1px solid var(--aapam-border);
    border-top: 4px solid var(--aapam-green);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(7,63,29,.05);
}

.aapam-feature-card h3 {
    margin-top: 0;
    color: var(--aapam-green-dark);
    font-family: Georgia, serif;
}

.aapam-feature-card a {
    font-weight: 700;
}

.aapam-callout {
    padding: 1rem 1.25rem;
    background: var(--aapam-green-light);
    border-left: 5px solid var(--aapam-gold);
    border-radius: 0 5px 5px 0;
}

/* Print */

@media print {
    .pkp_navigation_primary_row,
    .pkp_navigation_user_wrapper,
    .pkp_structure_footer {
        display: none !important;
    }

    a {
        color: #000;
    }
}


/* =====================================================
   AJPAM – Remove duplicate journal title from header
   Keep the journal title in the main homepage content
   ===================================================== */

.page_index_journal .pkp_site_name {
    display: none !important;
}

.page_index_journal .pkp_site_name_wrapper {
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}