/* =========================================================
   JEPCS CUSTOM CSS
   Journal Homepage / Hero / Announcement / Insights / Sidebar
   ========================================================= */

:root {
    --jepcs-green: #16803a;
    --jepcs-green-dark: #116b31;
    --jepcs-text: #222222;
    --jepcs-muted: #646464;
    --jepcs-border: #d9d9d9;
    --jepcs-border-light: #e7e7e7;
    --jepcs-hero-bg: #4a4a4a;
}


/* =========================================================
   1. JEPCS FGCS-INSPIRED JOURNAL HERO
   ========================================================= */

.jepcs-hero {
    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    background: var(--jepcs-hero-bg);
    color: #ffffff;

    box-sizing: border-box;
}


/* Hero inner wrapper */

.jepcs-hero-inner {
    display: grid;

    grid-template-columns:
        minmax(165px, 215px)
        minmax(0, 1fr);

    gap: 42px;

    width: 100%;
    max-width: 1500px;

    margin: 0 auto;
    padding: 38px 55px;

    align-items: center;

    box-sizing: border-box;
}


/* =========================================================
   HERO COVER
   ========================================================= */

.jepcs-hero-cover {
    width: 100%;
    min-width: 0;
}

.jepcs-hero-cover img {
    display: block;

    width: 100%;
    max-width: 215px;
    height: auto;

    margin: 0;

    background: #ffffff;

    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.28);
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.jepcs-hero-content {
    min-width: 0;
}


/* Open Access badge */

.jepcs-hero-badge {
    display: inline-block;

    margin: 0 0 14px;
    padding: 5px 11px;

    border:
        1px solid rgba(255, 255, 255, 0.45);

    font-size: 0.85rem;
    line-height: 1.3;
    font-weight: 600;

    color: #ffffff;
}


/* Journal title */

.jepcs-hero-title {
    max-width: 1050px;

    margin: 0 0 14px;
    padding: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(2rem, 3vw, 2.75rem);

    line-height: 1.16;

    font-weight: 400;

    color: #ffffff;
}


/* Hero description */

.jepcs-hero-subtitle {
    max-width: 950px;

    margin: 0 0 27px;
    padding: 0;

    font-size: 1.06rem;
    line-height: 1.65;

    color: #eeeeee;

    text-align: justify;
    text-justify: inter-word;
}


/* =========================================================
   HERO METADATA
   ========================================================= */

.jepcs-hero-meta {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 25px;

    width: 100%;
    max-width: 1000px;

    margin: 0;
    padding: 0;
}


.jepcs-hero-item {
    min-width: 0;

    padding:
        2px
        8px
        3px
        15px;

    border-left:
        2px solid #89ce6d;
}


.jepcs-hero-meta-label {
    display: block;

    margin-bottom: 5px;

    font-size: 0.77rem;
    line-height: 1.3;

    font-weight: 500;

    text-transform: uppercase;
    letter-spacing: 0.045em;

    color: #cecece;
}


.jepcs-hero-meta-value {
    display: block;

    font-size: 0.98rem;
    line-height: 1.45;

    font-weight: 600;

    color: #ffffff;
}


/* Space between the two Editors-in-Chief */

.jepcs-hero-item
.jepcs-hero-meta-value
+ .jepcs-hero-meta-value {

    margin-top: 3px;
}


.jepcs-hero-meta-note {
    display: block;

    margin-top: 2px;

    font-size: 0.79rem;
    line-height: 1.4;

    color: #d7d7d7;
}


/* =========================================================
   2. HIDE OLD OJS HOMEPAGE IMAGE
   Hero replaces it
   ========================================================= */

.page_index_journal > .homepage_image {
    display: none !important;
}


/* =========================================================
   3. GLOBAL PAGE TEXT JUSTIFICATION
   ========================================================= */

/*
   Justifies actual reading content without affecting
   menus, headings, buttons and interface labels.
*/

.pkp_structure_main p {
    text-align: justify;
    text-justify: inter-word;
}


.pkp_structure_main .page p,
.pkp_structure_main .homepage_about p,
.pkp_structure_main .additional_content p {

    text-align: justify;
    text-justify: inter-word;
}


.pkp_structure_main .abstract,
.pkp_structure_main .abstract p,
.pkp_structure_main .description,
.pkp_structure_main .description p {

    text-align: justify;
    text-justify: inter-word;
}


/* Lists inside main journal pages */

.pkp_structure_main
.page
li {

    text-align: justify;
    text-justify: inter-word;
}


/* =========================================================
   4. HOMEPAGE ABOUT SECTION
   ========================================================= */

.page_index_journal .homepage_about {
    box-sizing: border-box;
}


.page_index_journal .homepage_about p {
    text-align: justify;
    text-justify: inter-word;
}


/* =========================================================
   5. ANNOUNCEMENT SECTION
   Actual OJS structure:
   section.cmp_announcements.highlight_first
   ========================================================= */

body.pkp_page_index
.page_index_journal
> section.cmp_announcements {

    display: block !important;

    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 10px 0 32px !important;
    padding: 0 !important;

    /*
       Keep only top and bottom separators.
    */

    border-top:
        1px solid var(--jepcs-border) !important;

    border-bottom:
        1px solid var(--jepcs-border) !important;

    border-left: 0 !important;
    border-right: 0 !important;

    background: #ffffff !important;

    box-sizing: border-box !important;

    overflow: hidden !important;
}


/* Hide generic Announcements heading if generated */

body.pkp_page_index
.page_index_journal
> section.cmp_announcements
> h2 {

    display: none !important;
}


/* =========================================================
   6. MAIN ANNOUNCEMENT
   ========================================================= */

body.pkp_page_index
.page_index_journal
> section.cmp_announcements
> .obj_announcement_summary {

    display: block !important;

    float: none !important;
    clear: both !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    /*
       IMPORTANT:
       Gives announcement proper left/right spacing.
    */

    padding:
        30px
        40px
        32px !important;

    margin: 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}


/* Inner announcement wrapper */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
.obj_announcement_summary_details {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}


/* =========================================================
   7. REMOVE ANNOUNCEMENT SECOND COLUMN
   This is what caused the small vertical line.
   ========================================================= */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
> .more {

    display: block !important;

    float: none !important;
    clear: both !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}


/* =========================================================
   REMOVE ANNOUNCEMENT STRUCTURAL PSEUDO-ELEMENTS
   ========================================================= */

body.pkp_page_index
.page_index_journal
section.cmp_announcements::before,

body.pkp_page_index
.page_index_journal
section.cmp_announcements::after,

body.pkp_page_index
.page_index_journal
section.cmp_announcements
> .more::before,

body.pkp_page_index
.page_index_journal
section.cmp_announcements
> .more::after,

body.pkp_page_index
.page_index_journal
section.cmp_announcements
> .obj_announcement_summary::before,

body.pkp_page_index
.page_index_journal
section.cmp_announcements
> .obj_announcement_summary::after {

    content: none !important;

    display: none !important;

    width: 0 !important;
    height: 0 !important;

    border: 0 !important;

    background: none !important;

    box-shadow: none !important;
}


/* Additional announcements if later added */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
> .more
> .obj_announcement_summary {

    display: block !important;

    float: none !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    padding:
        24px
        40px !important;

    border: 0 !important;

    border-top:
        1px solid var(--jepcs-border-light) !important;

    box-sizing: border-box !important;
}


/* =========================================================
   8. ANNOUNCEMENT TYPOGRAPHY
   ========================================================= */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
.obj_announcement_summary h2,

body.pkp_page_index
.page_index_journal
section.cmp_announcements
.obj_announcement_summary h3 {

    margin: 0 0 9px !important;
    padding: 0 !important;

    line-height: 1.3 !important;
}


/* Date */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
.obj_announcement_summary .date {

    margin: 0 0 22px !important;
    padding: 0 !important;
}


/* Summary */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
.obj_announcement_summary .summary {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    line-height: 1.65 !important;

    text-align: justify !important;
    text-justify: inter-word !important;
}


body.pkp_page_index
.page_index_journal
section.cmp_announcements
.obj_announcement_summary
.summary p {

    margin-top: 0 !important;
    margin-bottom: 18px !important;

    text-align: justify !important;
    text-justify: inter-word !important;
}


/* =========================================================
   9. ANNOUNCEMENT READ MORE
   ========================================================= */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
.read_more {

    display: inline-flex !important;

    align-items: center !important;

    width: auto !important;
    max-width: none !important;

    height: auto !important;

    margin: 20px 0 0 !important;
    padding: 0 !important;

    position: static !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    font-weight: 600 !important;

    line-height: 1.3 !important;

    text-decoration: none !important;

    text-align: left !important;
}


/* Remove original theme arrow */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
.read_more::before {

    content: none !important;

    display: none !important;

    width: 0 !important;
    height: 0 !important;

    border: 0 !important;

    background: none !important;
}


/* Clean arrow */

body.pkp_page_index
.page_index_journal
section.cmp_announcements
.read_more::after {

    content: "→" !important;

    display: inline-block !important;

    position: static !important;

    width: auto !important;
    height: auto !important;

    margin-left: 10px !important;
    padding: 0 !important;

    border: 0 !important;

    background: none !important;

    font-size: 1em !important;
    line-height: 1 !important;

    transform: none !important;
}


/* =========================================================
   10. REMOVE DEFAULT "INFORMATION" BLOCK
   On ALL frontend pages
   ========================================================= */

.pkp_structure_sidebar
.block_information {

    display: none !important;
}


/* Also hide if theme adds it under pkp_block */

.pkp_structure_sidebar
.pkp_block.block_information {

    display: none !important;
}


/* =========================================================
   11. REMOVE MAIN / SIDEBAR VERTICAL DIVIDER
   ========================================================= */

.pkp_structure_content.has_sidebar
> .pkp_structure_main::after {

    content: none !important;

    display: none !important;

    width: 0 !important;
    height: 0 !important;

    border: 0 !important;

    background: none !important;

    box-shadow: none !important;
}


.pkp_structure_content.has_sidebar
> .pkp_structure_main {

    border-right: 0 !important;

    box-shadow: none !important;
}


.pkp_structure_content.has_sidebar
> .pkp_structure_sidebar {

    border-left: 0 !important;

    box-shadow: none !important;
}


.pkp_structure_content.has_sidebar
> .pkp_structure_sidebar::before,

.pkp_structure_content.has_sidebar
> .pkp_structure_sidebar::after {

    content: none !important;

    display: none !important;

    border: 0 !important;

    background: none !important;
}


/* =========================================================
   12. DESKTOP MAIN + SIDEBAR WIDTH
   ========================================================= */

@media (min-width: 992px) {

    .pkp_structure_content.has_sidebar
    > .pkp_structure_main {

        width: 78% !important;
        max-width: 78% !important;

        box-sizing: border-box !important;
    }


    .pkp_structure_content.has_sidebar
    > .pkp_structure_sidebar {

        width: 22% !important;
        max-width: 22% !important;

        padding-left: 28px !important;
        padding-right: 20px !important;

        box-sizing: border-box !important;
    }
}


/* =========================================================
   13. JEPCS JOURNAL INSIGHTS
   ========================================================= */

.jepcs-insights {
    width: 100%;
    max-width: 100%;

    margin: 10px 0 40px;

    color: var(--jepcs-text);

    box-sizing: border-box;
}


.jepcs-insights * {
    box-sizing: border-box;
}


.jepcs-insights .ji-row {
    display: grid;

    grid-template-columns:
        minmax(210px, 28%)
        minmax(0, 1fr);

    gap: 34px;

    width: 100%;
    max-width: 100%;

    padding:
        34px
        10px;

    border-top:
        1px solid var(--jepcs-border);

    align-items: start;
}


.jepcs-insights
.ji-row:last-child {

    border-bottom:
        1px solid var(--jepcs-border);
}


.jepcs-insights
.ji-label {

    font-size: 1.55rem;
    line-height: 1.3;

    font-weight: 500;

    color: #202020;
}


.jepcs-insights
.ji-content {

    min-width: 0;
    max-width: 100%;

    font-size: 1.02rem;
    line-height: 1.6;

    overflow: hidden;

    text-align: justify;
    text-justify: inter-word;
}


.jepcs-insights
.ji-content p {

    margin-top: 0;
    margin-bottom: 14px;

    text-align: justify;
    text-justify: inter-word;
}


/* =========================================================
   SUBJECT AREAS
   ========================================================= */

.jepcs-insights
.ji-subject-list ul {

    margin: 0;

    padding-left: 1.35rem;

    columns: 2;

    column-gap: 42px;
}


.jepcs-insights
.ji-subject-list li {

    margin:
        0
        0
        8px;

    padding-left: 4px;

    break-inside: avoid;

    text-align: left;
}


/* =========================================================
   PUBLISHING OPTIONS
   ========================================================= */

.jepcs-insights
.ji-option {

    padding:
        0
        0
        2px
        22px;

    border-left:
        3px solid var(--jepcs-green);
}


.jepcs-insights
.ji-option h3 {

    margin: 0 0 10px;

    font-size: 1.15rem;

    color: #111111;
}


/* =========================================================
   PUBLISHING TIMELINE
   ========================================================= */

.jepcs-insights
.ji-metrics {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        28px
        20px;

    width: 100%;
    max-width: 100%;
}


.jepcs-insights
.ji-metric {

    min-width: 0;

    min-height: 118px;

    padding:
        6px
        10px
        8px
        18px;

    border-left:
        2px solid #555555;
}


.jepcs-insights
.ji-number {

    margin-bottom: 8px;

    font-size:
        clamp(1.55rem, 2.6vw, 2rem);

    line-height: 1.1;

    font-weight: 400;

    color: #1c1c1c;

    white-space: nowrap;
}


.jepcs-insights
.ji-caption {

    font-size: 0.96rem;

    line-height: 1.4;

    color: #333333;

    overflow-wrap: anywhere;

    text-align: left;
}


.jepcs-insights
.ji-indexing-row {

    min-height: 150px;
}


/* =========================================================
   14. COMPACT SIDEBAR JOURNAL INSIGHTS
   ========================================================= */

.jepcs-sidebar-insights {

    width: 100%;

    margin:
        0
        0
        28px;

    padding: 0;

    color: var(--jepcs-text);

    box-sizing: border-box;
}


.jepcs-sidebar-insights h2 {

    margin:
        0
        0
        16px;

    padding:
        0
        0
        9px;

    border-bottom:
        2px solid var(--jepcs-green);

    font-size: 1.18rem;
    line-height: 1.3;

    color: #333333;
}


.jepcs-sidebar-insights
.jsi-item {

    padding:
        11px
        0;

    border-bottom:
        1px solid var(--jepcs-border-light);
}


.jepcs-sidebar-insights
.jsi-label {

    display: block;

    margin-bottom: 3px;

    font-size: 0.74rem;
    line-height: 1.3;

    text-transform: uppercase;

    letter-spacing: 0.04em;

    color: #777777;
}


.jepcs-sidebar-insights
strong {

    display: block;

    font-size: 0.94rem;
    line-height: 1.4;

    font-weight: 600;

    color: #222222;
}


.jepcs-sidebar-insights
small {

    display: block;

    margin-top: 3px;

    font-size: 0.79rem;
    line-height: 1.35;

    color: #666666;
}


/* =========================================================
   15. MEDIUM SCREENS
   ========================================================= */

@media (max-width: 1050px) {

    .jepcs-insights
    .ji-metrics {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .jepcs-insights
    .ji-subject-list ul {

        columns: 1;
    }


    .jepcs-hero-inner {

        grid-template-columns:
            180px
            minmax(0, 1fr);

        gap: 30px;

        padding:
            32px
            34px;
    }


    .jepcs-hero-cover img {

        max-width: 180px;
    }


    .jepcs-hero-meta {

        gap: 18px;
    }
}


/* =========================================================
   16. TABLET
   ========================================================= */

@media (max-width: 991px) {

    .pkp_structure_content.has_sidebar
    > .pkp_structure_main,

    .pkp_structure_content.has_sidebar
    > .pkp_structure_sidebar {

        width: 100% !important;
        max-width: 100% !important;
    }


    .jepcs-hero-inner {

        grid-template-columns:
            170px
            minmax(0, 1fr);

        gap: 28px;

        padding:
            30px
            28px;
    }


    .jepcs-hero-cover img {

        max-width: 170px;
    }


    .jepcs-hero-meta {

        grid-template-columns: 1fr;

        gap: 14px;
    }
}


/* =========================================================
   17. MOBILE
   ========================================================= */

@media (max-width: 700px) {

    /* Hero */

    .jepcs-hero-inner {

        grid-template-columns: 1fr;

        gap: 24px;

        padding:
            25px
            20px;
    }


    .jepcs-hero-cover img {

        width: 165px;
        max-width: 165px;
    }


    .jepcs-hero-title {

        font-size: 1.7rem;
    }


    .jepcs-hero-subtitle {

        font-size: 1rem;

        text-align: left;
    }


    /* Announcement */

    body.pkp_page_index
    .page_index_journal
    > section.cmp_announcements
    > .obj_announcement_summary {

        padding:
            25px
            20px
            27px !important;
    }


    body.pkp_page_index
    .page_index_journal
    section.cmp_announcements
    > .more
    > .obj_announcement_summary {

        padding:
            22px
            20px !important;
    }


    /* Main page text */

    .pkp_structure_main p {

        text-align: left;
    }


    /* Journal Insights */

    .jepcs-insights
    .ji-row {

        grid-template-columns: 1fr;

        gap: 16px;

        padding:
            26px
            4px;
    }


    .jepcs-insights
    .ji-label {

        font-size: 1.35rem;
    }


    .jepcs-insights
    .ji-metrics {

        grid-template-columns: 1fr;
    }


    .jepcs-insights
    .ji-content,

    .jepcs-insights
    .ji-content p {

        text-align: left;
    }
}
/* =========================================================
   JEPCS COVER IN INNER-PAGE SIDEBAR
   ========================================================= */

.jepcs-sidebar-cover {
    width: 100%;
    margin: 32px 0 34px;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
}

.jepcs-sidebar-cover a {
    display: inline-block;
    width: 100%;
    max-width: 210px;
    text-decoration: none;
}

.jepcs-sidebar-cover img {
    display: block;

    width: 100%;
    max-width: 210px;
    height: auto;

    margin: 0 auto;

    background: #fff;

    box-shadow:
        0 4px 14px rgba(0, 0, 0, 0.14);

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.jepcs-sidebar-cover a:hover img,
.jepcs-sidebar-cover a:focus img {
    transform: translateY(-2px);

    box-shadow:
        0 7px 18px rgba(0, 0, 0, 0.20);
}


/* Keep Information block removed */

.pkp_structure_sidebar .block_information,
.pkp_structure_sidebar .pkp_block.block_information {
    display: none !important;
}


/* Inner pages:
   main content + useful cover sidebar
*/

@media (min-width: 992px) {

    .pkp_structure_content.has_sidebar
    > .pkp_structure_main {

        width: 78% !important;
        max-width: 78% !important;

        box-sizing: border-box !important;
    }

    .pkp_structure_content.has_sidebar
    > .pkp_structure_sidebar {

        width: 22% !important;
        max-width: 22% !important;

        padding:
            0
            25px !important;

        box-sizing: border-box !important;
    }
}


/* Tablet/mobile:
   cover moves underneath main content
*/

@media (max-width: 991px) {

    .jepcs-sidebar-cover {
        margin:
            28px
            0;
    }

    .jepcs-sidebar-cover a,
    .jepcs-sidebar-cover img {
        max-width: 175px;
    }
}

/* =========================================================
   JEPCS EDITORIAL TEAM
   ========================================================= */

.jepcs-editorial-team {
    width: 100%;
    box-sizing: border-box;
}

/* Main page title */
.jepcs-editorial-team > h1 {
    margin: 0 0 45px 0;
    font-size: 2.1rem;
    line-height: 1.2;
    font-weight: 700;
    color: #222;
}

/* Section heading */
.jepcs-editorial-section > h2 {
    margin: 0;
    padding: 0 0 22px 0;
    font-size: 1.55rem;
    line-height: 1.3;
    font-weight: 700;
    color: #222;
    border-bottom: 2px solid #b9b9b9;
}


/* Two editors side by side */
.jepcs-editorial-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 55px;
}


/* Individual editor */
.jepcs-editor-card {
    display: flex;
    align-items: flex-start;
    gap: 22px;

    padding: 42px 0 38px 0;

    border-bottom: 1px solid #cccccc;

    min-width: 0;
}


/* =========================================================
   EDITOR PHOTOGRAPH
   ========================================================= */

.jepcs-editor-photo {
    flex: 0 0 120px;
}

.jepcs-editor-photo img {
    display: block;

    width: 120px;
    height: 150px;

    object-fit: cover;
    object-position: center top;

    border: 1px solid #c7c7c7;

    background: #f5f5f5;
}


/* =========================================================
   TEXT
   ========================================================= */

.jepcs-editor-info {
    flex: 1;
    min-width: 0;
}


/* ONLY the name is bold and large */
.jepcs-editor-info h3 {
    margin: 0 0 7px 0;

    padding: 0;

    font-size: 1.45rem;
    line-height: 1.2;

    font-weight: 700;

    color: #222;
}


/* Editor-in-Chief */
.jepcs-editor-role {
    margin: 0 0 13px 0;

    font-size: 1rem;
    line-height: 1.45;

    font-weight: 400;

    color: #333;
}


/* University / affiliation */
.jepcs-editor-affiliation {
    margin: 0 0 14px 0;

    font-size: 0.98rem;
    line-height: 1.55;

    font-weight: 400;

    color: #333;
}


/* Email */
.jepcs-editor-email {
    margin: 0;

    font-size: 0.98rem;
    line-height: 1.5;

    font-weight: 400;

    color: #333;
}

.jepcs-editor-email a {
    font-weight: 400;

    color: #0073aa;

    text-decoration: none;
}

.jepcs-editor-email a:hover {
    text-decoration: underline;
}


/* =========================================================
   TEMPORARY MALE PROFILE PLACEHOLDER
   ========================================================= */

.jepcs-editor-placeholder {
    position: relative;

    flex: 0 0 120px;

    width: 120px;
    height: 150px;

    overflow: hidden;

    box-sizing: border-box;

    border: 1px solid #c7c7c7;

    background: #eeeeee;
}


/* Head */
.jepcs-placeholder-head {
    position: absolute;

    top: 24px;
    left: 50%;

    width: 52px;
    height: 58px;

    transform: translateX(-50%);

    border-radius: 50%;

    background: #9f9f9f;

    z-index: 2;
}


/* Shoulders/body */
.jepcs-placeholder-body {
    position: absolute;

    left: 50%;
    bottom: -6px;

    width: 108px;
    height: 78px;

    transform: translateX(-50%);

    border-radius: 52px 52px 0 0;

    background: #8d8d8d;
}


/* White shirt */
.jepcs-placeholder-shirt {
    position: absolute;

    top: 4px;
    left: 50%;

    width: 30px;
    height: 48px;

    transform: translateX(-50%);

    background: #eeeeee;

    clip-path: polygon(
        0 0,
        50% 30%,
        100% 0,
        78% 100%,
        22% 100%
    );
}


/* Tie */
.jepcs-placeholder-tie {
    position: absolute;

    top: 15px;
    left: 50%;

    width: 9px;
    height: 40px;

    transform: translateX(-50%);

    background: #666;

    clip-path: polygon(
        50% 0,
        100% 18%,
        72% 100%,
        28% 100%,
        0 18%
    );
}


/* =========================================================
   MOBILE / TABLET
   ========================================================= */

@media (max-width: 950px) {

    .jepcs-editorial-grid {
        grid-template-columns: 1fr;
    }

    .jepcs-editor-card {
        padding: 32px 0;
    }
}


@media (max-width: 600px) {

    .jepcs-editorial-team > h1 {
        font-size: 1.8rem;
        margin-bottom: 32px;
    }

    .jepcs-editorial-section > h2 {
        font-size: 1.35rem;
    }

    .jepcs-editor-card {
        gap: 17px;
    }

    .jepcs-editor-photo,
    .jepcs-editor-placeholder {
        flex-basis: 95px;
        width: 95px;
    }

    .jepcs-editor-photo img,
    .jepcs-editor-placeholder {
        width: 95px;
        height: 120px;
    }

    .jepcs-editor-info h3 {
        font-size: 1.25rem;
    }

    .jepcs-editor-role,
    .jepcs-editor-affiliation,
    .jepcs-editor-email {
        font-size: 0.92rem;
    }
}

/* =========================================================
   COMPACT JEPCS FOOTER
   ========================================================= */

/* Reduce overall footer size */
.pkp_structure_footer_wrapper {
    padding: 0 !important;
}

.pkp_structure_footer {
    padding: 0 !important;
    margin: 0 !important;
}

/* Reduce footer text spacing */
.pkp_footer_content {
    padding: 18px 30px !important;
    margin: 0 !important;
}

.pkp_footer_content p {
    margin: 0 0 7px 0 !important;
    line-height: 1.45 !important;
}

/* Remove large OJS / PKP branding block */
.pkp_brand_footer {
    display: none !important;
}

/* =========================================================
   JEPCS LINKEDIN SIDEBAR BLOCK
   ========================================================= */

.jepcs-linkedin-block {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #d8d8d8;
    text-align: center;
}

.jepcs-linkedin-title {
    margin-bottom: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #222;
}

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

.jepcs-linkedin-logo {
    display: block;
    width: 90px;
    height: auto;
    object-fit: contain;
    margin: 0 auto;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.jepcs-linkedin-block a:hover .jepcs-linkedin-logo {
    transform: scale(1.08);
    opacity: 0.85;
}