/* Global OJS layout - border lines and content positioning */

/* Outer container - flex layout with sidebar */
.pkp_structure_content {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-left: 1px solid #ddd !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}
/* Kill clearfix pseudo-elements that break flex */
.pkp_structure_content:before,
.pkp_structure_content:after {
    display: none !important;
    content: none !important;
}

/* Main area - no padding so horizontal lines reach vertical borders */
.pkp_structure_main {
    float: none !important;
    flex: 1 1 0% !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    min-width: 0;
    overflow: hidden !important;
}

/* Disable default pseudo-element borders */
.pkp_structure_main:before,
.pkp_structure_main:after {
    display: none !important;
}

/* Article page: full-height right vertical line */
.pkp_page_article .pkp_structure_main:after {
    display: block !important;
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    right: 280px !important;
    bottom: 0 !important;
    width: 1px !important;
    background: #ddd !important;
    z-index: 1 !important;
}

/* Global sidebar styles */
.global_page_sidebar {
    flex: 0 0 280px !important;
    width: 280px !important;
    padding: 15px 25px 15px 35px;
    box-sizing: border-box;
    border-left: 1px solid #ddd;
}
.global_page_sidebar .sidebar_section {
    margin-bottom: 25px;
}
.global_page_sidebar .sidebar_section .label {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
}
.global_page_sidebar .sidebar_section ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.global_page_sidebar .sidebar_section ul li {
    margin-bottom: 6px;
}
.global_page_sidebar .sidebar_section ul li a {
    color: #007ab2;
    text-decoration: none;
}
.global_page_sidebar .sidebar_section ul li a:hover {
    text-decoration: underline;
}
.global_page_sidebar .make_submission_btn {
    display: inline-block;
    padding: 8px 20px;
    border: 1px solid #006798;
    color: #006798;
    text-decoration: none;
    font-weight: bold;
    background: transparent;
}
.global_page_sidebar .make_submission_btn:hover {
    background: #006798;
    color: #fff;
}
.global_page_sidebar .indexing_logos {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
}
.global_page_sidebar .indexing_logos a {
    display: block;
}
.global_page_sidebar .indexing_logos img {
    max-width: 140px;
    height: auto;
}

/* Hide default OJS sidebar (we use our own) */
.pkp_structure_sidebar {
    display: none !important;
}

/* Reset negative margins */
.pkp_page_index .homepage_image,
.pkp_page_index .additional_content {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Breadcrumb - add left padding since main has no padding */
.cmp_breadcrumbs {
    padding-top: 15px !important;
    padding-left: 20px !important;
}

/* Page-level headings and content need left padding */
.pkp_structure_main > .page,
.pkp_structure_main > .page_index_journal {
    padding: 0 20px !important;
}
/* Article page: no padding on .page wrapper (handled by inner elements) */
.pkp_page_article .pkp_structure_main > .page {
    padding: 0 !important;
}

/* Elements with horizontal border lines extend full width via negative margins */
.page_issue_archive .issues_archive {
    margin-left: -20px !important;
    margin-right: -20px !important;
}
.page_issue_archive .issues_archive > li {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.obj_issue_toc .galleys,
.obj_issue_toc .section {
    margin-left: -20px !important;
    margin-right: -20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}
/* Announcements on homepage */
.cmp_announcements.cmp_announcements {
    margin-left: -20px !important;
    margin-right: -20px !important;
}
.cmp_announcements.cmp_announcements > li {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
/* Current issue section on homepage */
.pkp_page_index .current_issue {
    margin-left: -20px !important;
    margin-right: -20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Hide issue-level Published date (each article shows its own) */
.obj_issue_toc .published {
    display: none !important;
}

/* Reduce gap between issue title and Articles section */
.obj_issue_toc .heading {
    margin-bottom: 0 !important;
}
.obj_issue_toc .sections {
    margin-top: 0 !important;
}
.obj_issue_toc .issue_description,
.obj_issue_toc .cover,
.current_issue .current_issue_title {
    margin-bottom: 10px !important;
}

/* ===== Mobile responsive ===== */
@media screen and (max-width: 767px) {
    /* Stack main + sidebar vertically */
    .pkp_structure_content {
        flex-wrap: wrap !important;
        border-left: none !important;
    }
    .pkp_structure_main {
        flex: 1 1 100% !important;
        width: 100% !important;
        overflow: visible !important;
    }
    /* Hide the vertical line on article page */
    .pkp_page_article .pkp_structure_main:after {
        display: none !important;
    }
    .global_page_sidebar {
        flex: 1 1 100% !important;
        width: 100% !important;
        border-left: none !important;
        border-top: 1px solid #ddd;
        padding: 15px 20px;
    }
}