/* ============================================================
   ============================================================
   UMPO JOURNAL — MODERN CURRENT ISSUE V2
   OJS 3.3.0.21
   Tailwind-inspired / Standalone CSS
   ============================================================

   FEATURES
   ------------------------------------------------------------
   ✓ Full-width Current Issue
   ✓ Hide sidebar ONLY on Current Issue
   ✓ Modern academic article cards
   ✓ DOI
   ✓ Author
   ✓ Affiliation
   ✓ Statistics area
   ✓ Article Details
   ✓ PDF button
   ✓ Responsive
   ✓ No external CSS framework
   ✓ No template modification
   ✓ Safe scoped selectors
   ============================================================ */


/* ============================================================
   01. DESIGN TOKENS
   ============================================================ */

:root {

    --umpo-blue-600: #2563eb;
    --umpo-blue-700: #1d4ed8;
    --umpo-blue-800: #1e40af;

    --umpo-slate-50: #f8fafc;
    --umpo-slate-100: #f1f5f9;
    --umpo-slate-200: #e2e8f0;
    --umpo-slate-300: #cbd5e1;
    --umpo-slate-400: #94a3b8;
    --umpo-slate-500: #64748b;
    --umpo-slate-600: #475569;
    --umpo-slate-700: #334155;
    --umpo-slate-800: #1e293b;
    --umpo-slate-900: #0f172a;

    --umpo-white: #ffffff;

    --umpo-radius-sm: 6px;
    --umpo-radius-md: 8px;
    --umpo-radius-lg: 12px;

    --umpo-shadow-sm:
        0 1px 2px rgba(15, 23, 42, .04);

    --umpo-shadow-md:
        0 8px 24px rgba(15, 23, 42, .07);

    --umpo-shadow-lg:
        0 16px 40px rgba(15, 23, 42, .09);

    --umpo-transition:
        all .2s cubic-bezier(.4, 0, .2, 1);
}


/* ============================================================
   02. CURRENT ISSUE — FULL WIDTH
   ============================================================ */

/*
 * Hanya halaman homepage journal.
 * Tidak mempengaruhi halaman artikel.
 */

.page_index_journal .current_issue {

    width: 100%;

    max-width: 100%;

    margin-top: 3.5rem;

    padding: 0;
}


/* ============================================================
   03. REMOVE SIDEBAR FROM CURRENT ISSUE
   ============================================================ */

/*
 * Sidebar hanya disembunyikan pada homepage journal.
 */

.page_index_journal .pkp_structure_sidebar {

    display: none !important;
}


/*
 * Main content menjadi full width.
 */

.page_index_journal .pkp_structure_main {

    width: 100% !important;

    max-width: 100% !important;

    flex: 0 0 100% !important;

    padding-left: 0 !important;

    padding-right: 0 !important;
}


/*
 * Beberapa theme menggunakan grid/flex wrapper.
 */

.page_index_journal .pkp_structure_main_wrapper {

    display: block !important;

    width: 100% !important;

    max-width: 100% !important;
}


/* ============================================================
   04. CURRENT ISSUE HEADER
   ============================================================ */

.page_index_journal
.current_issue > h2 {

    margin: 0;

    color: var(--umpo-slate-900);

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 2rem;

    line-height: 1.2;

    font-weight: 800;

    letter-spacing: -.035em;
}


/* ============================================================
   05. ISSUE TITLE
   ============================================================ */

.page_index_journal
.current_issue
.current_issue_title {

    margin-top: .65rem;

    margin-bottom: 0;

    color: var(--umpo-slate-500);

    font-size: .9rem;

    line-height: 1.5;

    font-weight: 600;
}


/* ============================================================
   06. ISSUE DESCRIPTION / PUBLISHED
   ============================================================ */

.page_index_journal
.current_issue
.obj_issue_toc {

    margin: 0;

    padding: 0;
}


.page_index_journal
.current_issue
.obj_issue_toc .description {

    margin-top: .5rem;

    color: var(--umpo-slate-500);

    font-size: .8rem;

    line-height: 1.6;
}


/* ============================================================
   07. SECTION HEADER
   ============================================================ */

.page_index_journal
.current_issue
.obj_issue_toc .section {

    margin-top: 2.75rem;

    padding: 0;
}


/*
 * ARTICLE
 */

.page_index_journal
.current_issue
.obj_issue_toc
.section > h3 {

    margin: 0 0 1rem;

    padding: 0;

    border: 0;

    color: var(--umpo-slate-500);

    font-size: .7rem;

    line-height: 1rem;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .14em;
}


/* ============================================================
   08. ARTICLE LIST
   ============================================================ */

.page_index_journal
.current_issue
.cmp_article_list.articles {

    display: flex;

    flex-direction: column;

    gap: 1rem;

    width: 100%;

    margin: 0;

    padding: 0;

    list-style: none;
}


/* ============================================================
   09. ARTICLE CARD
   ============================================================ */

.page_index_journal
.current_issue
.obj_article_summary {

    position: relative;

    width: 100%;

    box-sizing: border-box;

    margin: 0;

    padding: 1.5rem 1.75rem 1.25rem;

    background: var(--umpo-white);

    border:
        1px solid
        var(--umpo-slate-200);

    border-radius:
        var(--umpo-radius-lg);

    box-shadow:
        var(--umpo-shadow-sm);

    transition:
        var(--umpo-transition);
}


/*
 * Hover effect.
 */

.page_index_journal
.current_issue
.obj_article_summary:hover {

    border-color:
        var(--umpo-slate-300);

    box-shadow:
        var(--umpo-shadow-md);

    transform:
        translateY(-2px);
}


/*
 * Accent line.
 */

.page_index_journal
.current_issue
.obj_article_summary::before {

    content: "";

    position: absolute;

    left: -1px;

    top: 18px;

    bottom: 18px;

    width: 3px;

    background:
        var(--umpo-blue-600);

    border-radius:
        0 4px 4px 0;
}


/* ============================================================
   10. ARTICLE TITLE
   ============================================================ */

.page_index_journal
.current_issue
.obj_article_summary
.title {

    margin: 0;

    padding: 0;

    border: 0;

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 1.08rem;

    line-height: 1.55;

    font-weight: 750;

    letter-spacing: -.012em;
}


/*
 * Link.
 */

.page_index_journal
.current_issue
.obj_article_summary
.title a {

    display: block;

    color: var(--umpo-slate-900);

    text-decoration: none;

    transition:
        color .15s ease;
}


/*
 * Hover.
 */

.page_index_journal
.current_issue
.obj_article_summary
.title a:hover {

    color:
        var(--umpo-blue-600);

    text-decoration: none;
}


/* ============================================================
   11. ARTICLE META
   ============================================================ */

.page_index_journal
.current_issue
.obj_article_summary
.meta {

    display: flex;

    align-items: flex-start;

    flex-wrap: wrap;

    gap: .5rem 1.25rem;

    margin-top: .8rem;

    color: var(--umpo-slate-500);

    font-size: .78rem;

    line-height: 1.6;
}


/* ============================================================
   12. AUTHOR
   ============================================================ */

.page_index_journal
.current_issue
.obj_article_summary
.authors {

    flex: 1;

    min-width: 0;

    color: var(--umpo-slate-600);

    font-size: .78rem;

    font-weight: 500;

    line-height: 1.6;
}


/* ============================================================
   13. PAGE RANGE
   ============================================================ */

.page_index_journal
.current_issue
.obj_article_summary
.pages {

    flex: 0 0 auto;

    color: var(--umpo-slate-400);

    font-size: .72rem;

    font-weight: 700;

    white-space: nowrap;
}


/* ============================================================
   14. HIDE DEFAULT PUBLISHED
   ============================================================ */

.page_index_journal
.current_issue
.obj_article_summary
.published {

    display: none !important;
}


/* ============================================================
   15. METADATA PANEL
   ============================================================ */

.umpo-article-extra {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: .55rem 1.25rem;

    margin-top: 1rem;

    padding-top: .9rem;

    border-top:
        1px solid
        var(--umpo-slate-100);

    color: var(--umpo-slate-500);

    font-size: .72rem;

    line-height: 1.6;
}


/* ============================================================
   16. METADATA ITEM
   ============================================================ */

.umpo-article-extra-item {

    display: inline-flex;

    align-items: center;

    gap: .4rem;

    min-width: 0;
}


/* ============================================================
   17. METADATA LABEL
   ============================================================ */

.umpo-article-extra-label {

    color: var(--umpo-slate-400);

    font-size: .65rem;

    line-height: 1;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .06em;
}


/* ============================================================
   18. METADATA VALUE
   ============================================================ */

.umpo-article-extra-value {

    color: var(--umpo-slate-600);

    font-weight: 600;
}


/* ============================================================
   19. DOI
   ============================================================ */

.umpo-doi {

    color:
        var(--umpo-blue-600);

    font-weight: 600;

    text-decoration: none;

    word-break: break-word;

    transition:
        color .15s ease;
}


.umpo-doi:hover {

    color:
        var(--umpo-blue-700);

    text-decoration: underline;
}


/* ============================================================
   20. AFFILIATION
   ============================================================ */

.umpo-affiliation {

    flex-basis: 100%;

    display: flex;

    align-items: flex-start;

    gap: .4rem;

    color: var(--umpo-slate-500);

    font-size: .72rem;

    line-height: 1.6;
}


/* ============================================================
   21. STATISTICS
   ============================================================ */

.umpo-stat {

    display: inline-flex;

    align-items: center;

    gap: .35rem;

    color: var(--umpo-slate-600);

    font-weight: 600;
}


/*
 * Small statistic icon.
 */

.umpo-stat-icon {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 18px;

    height: 18px;

    color: var(--umpo-slate-400);

    font-size: .8rem;
}


/* ============================================================
   22. ARTICLE DETAILS LINK
   ============================================================ */

.umpo-details-link {

    margin-left: auto;

    color:
        var(--umpo-blue-600);

    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    transition:
        color .15s ease;
}


.umpo-details-link:hover {

    color:
        var(--umpo-blue-700);

    text-decoration: none;
}


/* ============================================================
   23. GALLEY AREA
   ============================================================ */

.page_index_journal
.current_issue
.obj_article_summary
.galleys_links {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: .5rem;

    margin-top: 1rem;

    padding-top: .9rem;

    border-top:
        1px solid
        var(--umpo-slate-100);
}


/* ============================================================
   24. PDF BUTTON
   ============================================================ */

.page_index_journal
.current_issue
.obj_article_summary
.galleys_links a {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 2.25rem;

    padding:
        .5rem
        .85rem;

    background:
        var(--umpo-blue-600);

    color: #fff !important;

    border:
        1px solid
        var(--umpo-blue-600);

    border-radius:
        var(--umpo-radius-sm);

    font-size: .72rem;

    line-height: 1;

    font-weight: 750;

    text-decoration: none !important;

    transition:
        var(--umpo-transition);
}


.page_index_journal
.current_issue
.obj_article_summary
.galleys_links a:hover {

    background:
        var(--umpo-blue-700);

    border-color:
        var(--umpo-blue-700);

    transform:
        translateY(-1px);
}


/* ============================================================
   25. LOADING
   ============================================================ */

.umpo-loading {

    color:
        var(--umpo-slate-400);

    font-size: .7rem;

    font-style: italic;
}


/* ============================================================
   26. EMPTY / ERROR STATE
   ============================================================ */

.umpo-metadata-error {

    color:
        var(--umpo-slate-400);

    font-size: .7rem;
}


/* ============================================================
   27. READ MORE / ARCHIVE
   ============================================================ */

.page_index_journal
.current_issue
.read_more {

    display: inline-flex;

    align-items: center;

    margin-top: 1.5rem;

    padding:
        .6rem
        .9rem;

    color:
        var(--umpo-slate-700);

    background:
        var(--umpo-white);

    border:
        1px solid
        var(--umpo-slate-200);

    border-radius:
        var(--umpo-radius-sm);

    font-size: .75rem;

    font-weight: 700;

    text-decoration: none;

    transition:
        var(--umpo-transition);
}


.page_index_journal
.current_issue
.read_more:hover {

    background:
        var(--umpo-slate-50);

    border-color:
        var(--umpo-slate-300);

    text-decoration: none;
}


/* ============================================================
   28. MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .page_index_journal
    .current_issue {

        margin-top: 2rem;
    }


    .page_index_journal
    .current_issue > h2 {

        font-size: 1.55rem;

        line-height: 1.25;
    }


    .page_index_journal
    .current_issue
    .obj_article_summary {

        padding:
            1.15rem
            1rem
            1rem;

        border-radius:
            var(--umpo-radius-md);
    }


    .page_index_journal
    .current_issue
    .obj_article_summary::before {

        top: 14px;

        bottom: 14px;
    }


    .page_index_journal
    .current_issue
    .obj_article_summary
    .title {

        font-size: 1rem;

        line-height: 1.55;
    }


    .page_index_journal
    .current_issue
    .obj_article_summary
    .meta {

        display: block;

        margin-top: .65rem;
    }


    .page_index_journal
    .current_issue
    .obj_article_summary
    .pages {

        display: block;

        margin-top: .25rem;
    }


    .umpo-article-extra {

        display: block;

        margin-top: .85rem;

        padding-top: .75rem;
    }


    .umpo-article-extra-item {

        margin:
            0 .75rem .45rem 0;
    }


    .umpo-affiliation {

        display: flex;

        margin-top: .2rem;
    }


    .umpo-details-link {

        display: block;

        margin-top: .5rem;

        margin-left: 0;
    }


    .page_index_journal
    .current_issue
    .obj_article_summary
    .galleys_links {

        justify-content: flex-start;

        margin-top: .75rem;
    }

}


/* ============================================================
   29. EXTRA SMALL SCREEN
   ============================================================ */

@media (max-width: 400px) {

    .page_index_journal
    .current_issue
    .obj_article_summary {

        padding:
            1rem
            .85rem;
    }


    .umpo-details-link {

        width: 100%;
    }

}