/* BNU MAIN PORTAL ONLY — scoped to .page_index_site; individual journal pages excluded. */

/* ============================================
   BNU JOURNALS - FINAL PROFESSIONAL THEME
   Main OJS Journal Portal Homepage Only
   Full Width Header Banner
   ============================================ */


/* ============================================
   1. GENERAL WEBSITE
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site) {
    background: #f3f5f8 !important;
    color: #263445 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}


/* ============================================
   2. MAIN HEADER
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_head {
    background: #0b131c !important;
    border-top: 3px solid #d5a653 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}


/* ============================================
   3. REMOVE OJS HEADER WIDTH RESTRICTIONS
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_head_wrapper {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    position: relative !important;
}


/* ============================================
   4. FULL WIDTH BNU BANNER
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name_wrapper {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 0 !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name a,
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name .is_img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

/* Actual banner image */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name img,
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name .is_img img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
}


/* ============================================
   5. USER NAVIGATION - LOGIN / REGISTER
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_user_wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 25px !important;
    background: #101d2a !important;
    box-sizing: border-box !important;
    z-index: 10 !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_user > li > a {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_user > li > a:hover {
    color: #e6b66c !important;
}


/* ============================================
   6. PRIMARY NAVIGATION BAR
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_primary_wrapper {
    width: 100% !important;
    max-width: none !important;
    background: #102c4b !important;
    border-bottom: 3px solid #d5a653 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 8px 25px !important;
    box-sizing: border-box !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_primary > li > a {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color .2s ease;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_primary > li > a:hover,
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_primary > li > a:focus {
    color: #f0bd72 !important;
}

/* Dropdown navigation */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_primary ul {
    background: #153654 !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_navigation_primary ul a {
    color: #ffffff !important;
}


/* ============================================
   7. MAIN CONTENT AREA
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_content {
    background: #f3f5f8 !important;
    background-image: none !important;
    padding: 35px 0 60px !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_main {
    background: #ffffff !important;
    color: #263445 !important;
    border: 1px solid #e4e8ed !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    padding: 30px !important;
}


/* ============================================
   8. HEADINGS AND PARAGRAPHS
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_main h1,
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_main h2 {
    color: #173755 !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_main h1 {
    font-size: clamp(25px, 3vw, 36px);
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_main p {
    color: #3c4959 !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
}


/* ============================================
   9. JOURNAL LIST CARDS
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals {
    margin-top: 30px !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals > li {
    background: #f9fbfd !important;
    border: 1px solid #dce4ec !important;
    border-left: 4px solid #d5a653 !important;
    border-radius: 10px !important;
    padding: 25px !important;
    margin-bottom: 22px !important;
    box-shadow: 0 5px 18px rgba(0,0,0,.05);
    transition: transform .2s ease,
                box-shadow .2s ease;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals > li:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0,0,0,.10);
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals h3,
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals h3 a {
    color: #173b5d !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals h3 a:hover {
    color: #b98a43 !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals p {
    color: #4b5969 !important;
}


/* ============================================
   10. LINKS AND BUTTONS
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_main a {
    color: #17618a;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals .links a {
    display: inline-block !important;
    background: #153b60 !important;
    color: #ffffff !important;
    padding: 11px 22px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-top: 12px !important;
    transition: background .2s ease;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.journals .links a:hover {
    background: #b88a44 !important;
    color: #ffffff !important;
}


/* ============================================
   11. FOOTER
   ============================================ */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_footer_wrapper {
    background: #0b131c !important;
    border-top: 3px solid #d5a653 !important;
    color: #e1e7ed !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_footer {
    padding: 35px 25px !important;
}

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_footer a {
    color: #e8bb78 !important;
}


/* ============================================
   12. MOBILE RESPONSIVE
   ============================================ */

@media (max-width: 768px) {

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_head_wrapper {
        width: 100% !important;
        padding: 0 !important;
    }

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_site_name_wrapper,
    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_site_name {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_site_name img {
        width: 100% !important;
        max-height: none !important;
        height: auto !important;
    }

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_navigation_user_wrapper {
        padding: 8px 12px !important;
    }

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_navigation_primary_wrapper {
        padding: 8px 12px !important;
    }

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_structure_content {
        padding: 20px 0 35px !important;
    }

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_structure_main {
        padding: 18px !important;
    }

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .journals > li {
        padding: 18px !important;
    }

    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .journals h3 a {
        font-size: 19px !important;
    }
}

/* =====================================
   BNU FINAL HEADER - NO CROPPING
   ===================================== */

body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_structure_head {
    background: #000 !important;
    border-top: 3px solid #d5a653 !important;
}

/* Header container */
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_head_wrapper {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Logo outer containers */
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name_wrapper,
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    overflow: visible !important;
}

/* Logo link */
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name a,
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name .is_img {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* ACTUAL IMAGE - FIX ZOOM */
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name img,
body.pkp_page_index.pkp_op_index:has(.page_index_site)
.pkp_site_name .is_img img {
    display: block !important;
    width: auto !important;
    max-width: min(100%, 520px) !important;
    height: auto !important;
    max-height: 190px !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_site_name img,
    body.pkp_page_index.pkp_op_index:has(.page_index_site)
    .pkp_site_name .is_img img {
        max-width: 90% !important;
        max-height: 120px !important;
    }
}
