    .page_title{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 22px;
    position:relative;
    padding-bottom:10px;
}
 
.page_title::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}

    .additional_content {
        background-color: #f6f6f6;
    }

    .has_sidebar {
        background-color: #f6f6f6;
    }

    .custom-footer {
        background: #14275c;
        color: #fff;
        padding: 60px 0 20px;
    }

    .footer-container {
        max-width: 1300px;
        margin: auto;
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 50px;
    }

    .footer-column h3,
    .footer-column h4 {
        color: #fff;
        margin-bottom: 20px;
    }

    .footer-column p {
        color: #d4d8e4;
        line-height: 1.8;
    }

    .footer-column ul {
        list-style: none;
        padding: 0;
    }

    .footer-column li {
        margin: 12px 0;
    }

    .footer-column a {
        color: #d4d8e4;
        text-decoration: none;
    }

    .footer-column a:hover {
        color: #ffffff;
    }

    .footer-logo {
        width: 180px;
    }

    .badge {
        display: inline-block;
        padding: 8px 18px;
        margin: 8px 5px 0 0;
        border-radius: 5px;
        background: #1b8b46;
        color: #fff;
    }

    .footer-bottom {
        margin-top: 50px;
        border-top: 1px solid rgba(255, 255, 255, .15);
        text-align: center;
        padding-top: 20px;
        color: #d4d8e4;
    }

    .pkp_structure_content,
    .pkp_structure_footer {
        width: 100%;
        margin-top: 1px;
    }

    .pkp_structure_sidebar {
        /* position: sticky; */
        top: 20px;
        align-self: flex-start;
        width: 340px !important; 
    }



    

  /* ============================================
    MODERN SIDEBAR DESIGN - JITP
    ============================================ */

    /* Sidebar Blocks */
    .block_web_feed,
    .block_information {
        background: linear-gradient(135deg, #1f5d91 0%, #17466d 100%);
        border-radius: 15px;
        margin-right: 35px;
        margin-bottom: 20px;
        padding: 22px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
        transition: all 0.35s ease;
        overflow: hidden;
        position: relative;
    }

    /* Remove fixed height so content fits naturally */
    .block_web_feed,
    .block_information {
        height: auto;
        min-height: 210px;
    }

    /* Animated Glow */
    .block_web_feed::before,
    .block_information::before {
        content: "";
        position: absolute;
        top: -80%;
        left: -60%;
        width: 220%;
        height: 220%;
        background: rgba(255, 255, 255, 0.05);
        transform: rotate(25deg);
        transition: 0.6s;
    }

    /* Card Hover */
    .block_web_feed:hover,
    .block_information:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
    }

    .block_web_feed:hover::before,
    .block_information:hover::before {
        left: 120%;
    }

    /* Sidebar Titles */
    .pkp_block h2,
    .pkp_block .title {
        color: #ffffff;
        font-size: 22px;
        font-weight: 700;
        margin-bottom: 18px;
        position: relative;
        padding-bottom: 10px;
    }

    .pkp_block h2::after,
    .pkp_block .title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 45px;
        height: 3px;
        background: #ffc107;
        border-radius: 10px;
    }

    /* List */
    .pkp_block ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    /* List Items */
    .pkp_block ul li {
        margin-bottom: 12px;
        transition: all .3s ease;
    }

    /* Links */
    .pkp_block ul li a {
        color: #ffffff;
        text-decoration: none;
        font-size: 15px;
        font-weight: 500;
        display: block;
        padding: 10px 15px;
        border-radius: 8px;
        transition: all .35s ease;
        position: relative;
    }

    /* Arrow */
    .pkp_block ul li a::before {
        content: "➜";
        color: #ffc107;
        margin-right: 10px;
        transition: .3s;
    }

    /* Link Hover */
    .pkp_block ul li a:hover {
        background: rgba(255, 255, 255, 0.15);
        color: #ffd54f;
        transform: translateX(10px);
        padding-left: 20px;
    }

    /* Arrow Animation */
    .pkp_block ul li a:hover::before {
        margin-right: 15px;
    }

    /* RSS Icons */
    .block_web_feed img {
        transition: .35s;
        border-radius: 4px;
    }

    .block_web_feed img:hover {
        transform: scale(1.15) rotate(-5deg);
    }

    /* Sidebar Animation */
    .block_web_feed,
    .block_information {
        animation: fadeInUp .7s ease;
    }

    /* ============================================
        GLOBAL OVERFLOW SAFETY NET
        Prevents any fixed-width image, badge, or embedded
        widget (RSS/ATOM badges, visitor-counter flag widget,
        Indexing logos) from forcing horizontal scroll on any
        screen size.

        NOTE: the earlier "body{overflow-x:hidden}" rule that
        used to live here has been removed — it was clipping
        the header's admin dropdown menu (Dashboard/View
        Profile/Administration/Logout) any time it rendered
        near the right edge of the page. The max-width fixes
        below are the real, targeted fix for horizontal
        scroll and don't have that side effect.
        ============================================ */

    .pkp_structure_sidebar,
    .pkp_structure_sidebar *{
        max-width: 100%;
        box-sizing: border-box;
    }

    .pkp_structure_sidebar img,
    .pkp_structure_sidebar iframe,
    .pkp_structure_sidebar svg,
    .pkp_structure_sidebar embed{
        max-width: 100% !important;
        height: auto !important;
    }

    /* ============================================
        RESPONSIVE FIX — TABLET (768px – 991px)
        CSS Grid, 2 columns. Grid keeps items in strict
        source order per row (Latest Publications +
        Information in row 1, visitor counter + Indexing
        in row 2), with each row's height matched — so the
        two columns line up cleanly instead of drifting out
        of alignment like a masonry layout would.
        ============================================ */

    @media (min-width: 768px) and (max-width: 991px) {

        .pkp_structure_content{
            display: flex;
            flex-direction: column;
        }

        .pkp_structure_main{
            width: 100% !important;
            order: 1;
        }

        .pkp_structure_sidebar{
            position: static !important;
            width: 100% !important;
            max-width: 100% !important;
            margin-top: 30px;
            order: 2;

            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            align-items: stretch;
        }

        .pkp_structure_sidebar > div{
            margin: 0 !important;
            width: 100%;
        }

        .block_web_feed,
        .block_information{
            margin-right: 0;
            width: 100%;
        }

        /* Keep the "visitor counter" block (3rd sidebar item)
           at its real/natural height instead of stretching to
           match its taller row partner ("Indexing") */
        .pkp_structure_sidebar > div:nth-child(3){
            align-self: start;
        }

    }

    /* ============================================
        RESPONSIVE FIX — MOBILE (max-width: 767px)
        Single column stack, full width.
        ============================================ */

    @media (max-width: 767px) {

        .pkp_structure_content{
            display: flex;
            flex-direction: column;
        }

        .pkp_structure_main{
            width: 100% !important;
            order: 1;
        }

        .pkp_structure_sidebar{
            position: static !important;
            width: 100% !important;
            max-width: 100% !important;
            margin-top: 25px;
            order: 2;
        }

        .block_web_feed,
        .block_information{
            margin-right: 0;
            width: 100%;
            padding: 18px;
            min-height: auto;
        }

        .pkp_block h2,
        .pkp_block .title{
            font-size: 19px;
        }

        .pkp_block ul li a{
            font-size: 14px;
            padding: 9px 12px;
        }

    }

    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

/* =========================================
   DESKTOP — CONTENT + SIDEBAR ALIGNMENT
   ========================================= */
@media (min-width: 1025px) {

    .pkp_structure_content.has_sidebar {
        max-width: 1240px; /* 860px main + 380px sidebar */
        margin-left: auto;
        margin-right: auto;

        display: flex;
        align-items: flex-start;
        gap: 30px;
    }

    .pkp_structure_main {
        float: none !important;
        width: 860px;
        flex: 1 1 860px;
        min-width: 0;
    }

    .pkp_structure_sidebar.left {
        float: none !important;
        width: 350px;
    }
}

    /* Homepage */

    .home-welcome h1 {
        font-size: 25px;
        color: #1f5d91;
        margin-bottom: 20px;
        /* text-align: center; */
    }

    .home-welcome p {
        font-size: 15px;
        line-height: 1.7;
        color: #555;
    }

    .home-welcome h2,
    section h2 {
        color: #1f5d91;
        font-size: 30px;
        margin: 0 0 20px;
        font-weight: 700;
    }

    /* Feature Grid */

    .journal-features {

        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

        gap: 25px;

        margin-top: 30px;

    }

    .feature {

        background: #f5f3f3;

        padding: 25px;

        border-radius: 12px;

        /* box-shadow: 0 10px 25px rgba(0, 0, 0, .08); */

        transition: .35s;

        border-top: 5px solid #ffc107;

    }

    .feature:hover {

        transform: translateY(-8px);

        box-shadow: 0 20px 40px rgba(0, 0, 0, .15);

    }

    .feature h3 {

        color: #1f5d91;

        margin-bottom: 12px;

    }

    /* Current Issue */

    .issue-box {

        background: #f5f3f3;

        padding: 30px;

        border-left: 6px solid #1f5d91;

        border-radius: 12px;

        box-shadow: 0 5px 20px rgba(0, 0, 0, .08);

    }

    /* Article */

    .article-box {

        background: #f5f3f3;

        padding: 25px;

        border-radius: 12px;

        box-shadow: 0 10px 30px rgba(0, 0, 0, .08);

        transition: .3s;

    }

    .article-box:hover {

        transform: translateY(-6px);

    }

    .article-type {

        display: inline-block;

        margin-top: 15px;

        background: #1f5d91;

        color: white;

        padding: 8px 18px;

        border-radius: 30px;

        font-size: 14px;

    }

    hr {
        margin: 30px 0;
        border: 0;
        border-top: 1px solid #e8e8e8;
    }

    section p,
    .home-welcome p {
        margin-bottom: 15px;
    }

    .home-welcome {
        margin-top: 10px;
    }

    .home-welcome h1 {
        margin-top: 0;
    }


    .page_about h1{
        color:#0f4c81;
        font-size:35px;
        font-weight:700;
    }

    .page_about p{
        line-height:1.9;
        font-size:17px;
        color:#555;
    }

    .page_about ul{
        margin-top:20px;
    }

    .page_about li{
        margin-bottom:10px;
    }

   /* =========================================================
   JITP CONTACT PAGE
   ========================================================= */

/* Main contact container */
.page_contact .contact_section {
    max-width: 1000px;
    margin: 50px auto 80px;
    padding: 0 20px;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;

    box-sizing: border-box;
    width: 100%;
}

/* Clear OJS clearfix */
.page_contact .contact_section::before,
.page_contact .contact_section::after {
    display: none !important;
    content: none !important;
}

/* Contact cards */
.page_contact .contact_section .contact {
    float: none !important;
    width: auto !important;
    min-width: 0;

    display: block;

    background: #ffffff;
    border: 1px solid #e3e9e7;
    border-top: 5px solid #17466d;
    border-radius: 12px;

    padding: 30px;

    box-sizing: border-box;

    box-shadow: 0 6px 20px rgba(11, 35, 30, 0.07);

    margin: 0 !important;

    transition: all 0.25s ease;
}

/* Hover */
.page_contact .contact_section .contact:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(11, 35, 30, 0.11);
}

/* Heading */
.page_contact .contact_section .contact h2 {
    margin: 0 0 24px;
    padding-bottom: 12px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.3;

    color: #16232b;

    border-bottom: 1px solid #eef1ee;
}

/* Name */
.page_contact .contact_section .contact .name {
    font-size: 17px;
    font-weight: 600;
    color: #16232b;

    margin: 0 0 22px;
}

/* Phone */
.page_contact .contact_section .contact .phone {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 0 0 15px;

    font-size: 15px;
}

.page_contact .contact_section .contact .phone .label {
    min-width: 55px;

    font-weight: 600;
    color: #17466d;
}

.page_contact .contact_section .contact .phone .value {
    color: #5f6b73;
}

/* Email */
.page_contact .contact_section .contact .email {
    font-size: 15px;
    color: #5f6b73;

    word-break: break-word;
}

.page_contact .contact_section .contact .email a {
    color: #17466d;
    text-decoration: none;
    font-weight: 500;
}

.page_contact .contact_section .contact .email a:hover {
    text-decoration: underline;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 767px) {

    .page_contact .contact_section {
        grid-template-columns: 1fr !important;
        gap: 22px !important;

        margin: 40px auto 60px;
        padding: 0 18px;
    }

    .page_contact .contact_section .contact {
        float: none !important;
        width: 100% !important;

        padding: 26px;
    }

    .page_contact .contact_section .contact h2 {
        font-size: 23px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .page_contact .contact_section {
        display: grid !important;
        grid-template-columns: 1fr !important;

        padding: 0 15px;
        margin-top: 30px;
    }

    .page_contact .contact_section .contact {
        width: 100% !important;
        padding: 22px;
    }

    .page_contact .contact_section .contact h2 {
        font-size: 21px;
    }

    .page_contact .contact_section .contact .name {
        font-size: 16px;
    }

    .page_contact .contact_section .contact .phone {
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
    }

    .page_contact .contact_section .contact .phone .label {
        min-width: auto;
    }
}

.obj_issue_toc{
    background: #f5f3f3;
    padding: 25px;
    border-radius: 12px;
    /* box-shadow: 0 10px 20px rgba(0, 0, 0, .08); */
    transition: .3s;
}



/* Visitor Counter Block */
#customblock-visitor-counter{
    background: linear-gradient(135deg,#1f5d91 0%,#17466d 100%);
    border-radius:15px;
    margin-right:35px;
    margin-bottom:20px;
    padding:22px;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
    transition:all .35s ease;
    position:relative;
    overflow:hidden;
}

/* Glow effect */
#customblock-visitor-counter::before{
    content:"";
    position:absolute;
    top:-80%;
    left:-60%;
    width:220%;
    height:220%;
    background:rgba(255,255,255,.05);
    transform:rotate(25deg);
    transition:.6s;
}

/* Hover */
#customblock-visitor-counter:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.25);
}

#customblock-visitor-counter:hover::before{
    left:120%;
}

/* Title */
#customblock-visitor-counter .title,
#customblock-visitor-counter h2,
#customblock-visitor-counter h3{
    color:#fff;
    font-size:22px;
    font-weight:700;
    margin-bottom:18px;
    position:relative;
    padding-bottom:10px;
}

#customblock-visitor-counter .title::after,
#customblock-visitor-counter h2::after,
#customblock-visitor-counter h3::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:45px;
    height:3px;
    background:#ffc107;
    border-radius:10px;
}

/* Counter alignment */
#customblock-visitor-counter .content{
    text-align:center;
}

/* Counter image */
#customblock-visitor-counter img{
    max-width:100%;
    height:auto;
    background:#fff;
    border-radius:10px;
    padding:8px;
}





/* =========================================
   INDEXING BLOCK
========================================= */

#customblock-test-index{
    background: linear-gradient(135deg,#1f5d91 0%,#17466d 100%);
    border-radius:15px;
    margin-right:35px;
    margin-bottom:20px;
    padding:22px;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
    transition:.35s ease;
    overflow:hidden;
    position:relative;
}

/* Glow Effect */
#customblock-test-index::before{
    content:"";
    position:absolute;
    top:-80%;
    left:-60%;
    width:220%;
    height:220%;
    background:rgba(255,255,255,.05);
    transform:rotate(25deg);
    transition:.6s;
}

#customblock-test-index:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.25);
}

#customblock-test-index:hover::before{
    left:120%;
}

/* Heading */
#customblock-test-index .title{
    color:#fff;
    font-size:22px;
    font-weight:700;
    margin-bottom:18px;
    position:relative;
    padding-bottom:10px;
}

#customblock-test-index .title::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:45px;
    height:3px;
    background:#ffc107;
    border-radius:10px;
}

/* Images */
#customblock-test-index img{
    display:block;
    width:100%;
    max-width:220px;
    margin:0 auto 18px;
    padding:12px;
    background:#fff;
    border-radius:12px;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
    transition:.35s;
}

#customblock-test-index img:hover{
    transform:translateY(-5px) scale(1.03);
}

/* Links */
#customblock-test-index a{
    display:block;
    text-align:center;
    margin-bottom:16px;
}




/* ===========================================================
   JITP VISION & MISSION — scoped to .jitp-about-section
   =========================================================== */

.jitp-about-section,
.jitp-about-section *{
    box-sizing:border-box;
}

.jitp-about-section{
    max-width:1100px;
    margin:0 auto;
    padding:20px 0 40px;
}

.jitp-about-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 18px;
    position:relative;
    padding-bottom:10px;
}

.jitp-about-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}

/* ---------- Our Vision ---------- */

.jitp-vision-block{
    background:#f5f3f3;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:32px 36px;
    margin-bottom:45px;
}

.jitp-vision-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0 0 14px;
}

.jitp-vision-text:last-child{
    margin-bottom:0;
}

/* ---------- Our Mission ---------- */

.jitp-mission-block{
    margin-bottom:10px;
}

.jitp-mission-intro{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0 0 30px;
}

.jitp-commit-heading{
    color:#17466d;
    font-size:19px;
    font-weight:700;
    margin:0 0 20px;
}

.jitp-commit-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
}

.jitp-commit-card{
    display:flex;
    align-items:flex-start;
    gap:14px;
    /* background:#ffffff; */
    border:1px solid #f5f3f3;
    border-radius:12px;
    padding:20px 22px;
    box-shadow:0 6px 18px rgba(0,0,0,.05);
    transition:transform .25s ease, box-shadow .25s ease;
}

.jitp-commit-card:hover{
    transform:translateY(-5px);
    box-shadow:0 14px 28px rgba(0,0,0,.1);
}

.jitp-commit-icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#1f5d91;
    color:#fff;
    font-size:16px;
    font-weight:700;
}

.jitp-commit-title{
    font-size:15.5px;
    font-weight:700;
    color:#1f5d91;
    margin-bottom:5px;
    line-height:1.4;
}

.jitp-commit-text{
    font-size:14px;
    color:#666;
    line-height:1.6;
}

/* ---------- Responsive ---------- */

@media (max-width:767px){

    .jitp-about-heading{
        font-size:23px;
    }

    .jitp-vision-block{
        padding:24px 22px;
    }

    .jitp-vision-text,
    .jitp-mission-intro{
        font-size:15px;
    }

    .jitp-commit-grid{
        grid-template-columns:1fr;
    }

    .jitp-commit-card{
        padding:18px;
    }
}





/* ===========================================================
   JITP AIM & SCOPE — scoped to .jitp-aimscope-section
   =========================================================== */
 
.jitp-aimscope-section,
.jitp-aimscope-section *{
    box-sizing:border-box;
}
 
.jitp-aimscope-section{
    max-width:1100px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-aimscope-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 18px;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-aimscope-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
/* ---------- Our Aim ---------- */
 
.jitp-aim-block{
    background:#f5f3f3;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:32px 36px;
    margin-bottom:45px;
}
 
.jitp-aim-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0;
}
 
/* ---------- Our Scope ---------- */
 
.jitp-scope-block{
    margin-bottom:10px;
}
 
.jitp-scope-intro{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0 0 28px;
}
 
.jitp-areas-heading{
    color:#17466d;
    font-size:19px;
    font-weight:700;
    margin:0 0 18px;
}
 
.jitp-areas-grid{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:28px;
}
 
.jitp-area-tag{
    display:inline-flex;
    align-items:center;
    background:#ffffff;
    border:1.5px solid #1f5d91;
    color:#1f5d91;
    font-size:14.5px;
    font-weight:600;
    padding:10px 18px;
    border-radius:30px;
    transition:.25s ease;
    cursor:default;
}
 
.jitp-area-tag:hover{
    background:#1f5d91;
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 8px 18px rgba(31,93,145,.25);
}
 
.jitp-scope-closing{
    font-size:15.5px;
    line-height:1.8;
    color:#666;
    font-style:italic;
    border-top:1px solid #e3e3e3;
    padding-top:22px;
    margin:0;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-aimscope-heading{
        font-size:23px;
    }
 
    .jitp-aim-block{
        padding:24px 22px;
    }
 
    .jitp-aim-text,
    .jitp-scope-intro{
        font-size:15px;
    }
 
    .jitp-area-tag{
        font-size:13.5px;
        padding:9px 15px;
    }
}




/* ===========================================================
   JITP AREAS OF INTEREST + ARTICLE CATEGORIES
   scoped to .jitp-interest-section
   =========================================================== */
 
.jitp-interest-section,
.jitp-interest-section *{
    box-sizing:border-box;
}
 
.jitp-interest-section{
    max-width:1200px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-interest-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 26px!important;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-interest-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
.jitp-categories-heading{
    margin-top:50px;
}
 
/* ---------- Areas of Interest grid ---------- */
 
.jitp-interest-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
    gap:22px;
    margin-bottom:30px;
}
 
.jitp-interest-card{
    background:#f5f3f3;
    border-top:4px solid #1f5d91;
    border-radius:10px;
    padding:24px 26px;
    box-shadow:0 8px 22px rgba(0,0,0,.07);
    transition:transform .25s ease, box-shadow .25s ease;
}
 
.jitp-interest-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 32px rgba(0,0,0,.12);
}
 
.jitp-interest-card-title{
    color:#1f5d91;
    font-size:17px;
    font-weight:700;
    margin:0 0 14px;
    line-height:1.4;
}
 
.jitp-interest-list{
    margin:0;
    padding:0;
    list-style:none;
}
 
.jitp-interest-list li{
    position:relative;
    padding-left:20px;
    margin-bottom:9px;
    font-size:14.5px;
    line-height:1.6;
    color:#555;
}
 
.jitp-interest-list li:last-child{
    margin-bottom:0;
}
 
.jitp-interest-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ffc107;
}
 
.jitp-interest-note{
    font-size:15px;
    line-height:1.8;
    color:#555;
    font-style:italic;
    background:#eeeff0;
    border-left:5px solid #ffc107;
    border-radius:8px;
    padding:18px 24px;
    margin:10px 0 0;
}
 
/* ---------- Article Categories table ---------- */
 
.jitp-table-wrap{
    overflow-x:auto;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}
 
.jitp-categories-table{
    width:100%;
    border-collapse:collapse;
    min-width:600px;
    background:#fff;
}
 
.jitp-categories-table thead th{
    background:#1f5d91;
    color:#fff;
    text-align:left;
    font-size:15px;
    font-weight:700;
    padding:16px 22px;
}
 
.jitp-categories-table thead th:first-child{
    width:220px;
}
 
.jitp-categories-table tbody td{
    padding:16px 22px;
    font-size:14.5px;
    line-height:1.6;
    color:#444;
    border-bottom:1px solid #eee;
}
 
.jitp-categories-table tbody tr:last-child td{
    border-bottom:0;
}
 
.jitp-categories-table tbody tr:nth-child(even){
    background:#f6f7f8;
}
 
.jitp-categories-table tbody tr:hover{
    background:#eaf1f8;
}
 
.jitp-type-cell{
    font-weight:700;
    color:#1f5d91;
    white-space:nowrap;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-interest-heading{
        font-size:23px;
    }
 
    .jitp-interest-grid{
        grid-template-columns:1fr;
        gap:16px;
    }
 
    .jitp-interest-card{
        padding:20px 20px;
    }
 
    .jitp-type-cell{
        white-space:normal;
    }
}




/* ===========================================================
   JITP ARCHIVING POLICY — scoped to .jitp-archive-section
   =========================================================== */
 
.jitp-archive-section,
.jitp-archive-section *{
    box-sizing:border-box;
}
 
.jitp-archive-section{
    max-width:1100px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-archive-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 22px;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-archive-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
/* ---------- Intro ---------- */
 
.jitp-archive-intro-block{
    background:#eeeff0;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:26px 32px;
    margin-bottom:35px;
}
 
.jitp-archive-intro-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0;
}
 
/* ---------- Core principles (vertical list) ---------- */
 
.jitp-archive-principles{
    display:flex;
    flex-direction:column;
    gap:22px;
    margin-bottom:40px;
}
 
.jitp-archive-principle{
    display:flex;
    align-items:flex-start;
    gap:20px;
    /* background:#ffffff; */
    border:1px solid #e6e6e6;
    border-radius:12px;
    padding:24px 26px;
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    transition:transform .25s ease, box-shadow .25s ease;
}
 
.jitp-archive-principle:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 28px rgba(0,0,0,.1);
}
 
.jitp-archive-icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#1f5d91;
    font-size:22px;
}
 
.jitp-archive-principle-title{
    color:#1f5d91;
    font-size:17.5px;
    font-weight:700;
    margin:0 0 8px;
}
 
.jitp-archive-principle-text{
    font-size:15px;
    line-height:1.75;
    color:#555;
    margin:0;
}
 
/* ---------- Additional policies grid ---------- */
 
.jitp-archive-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:20px;
}
 
.jitp-archive-card{
    background:#f6f7f8;
    border-top:4px solid #ffc107;
    border-radius:10px;
    padding:22px 24px;
    transition:transform .25s ease, box-shadow .25s ease;
}
 
.jitp-archive-card:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 26px rgba(0,0,0,.1);
    background:#ffffff;
}
 
.jitp-archive-card-title{
    color:#17466d;
    font-size:15.5px;
    font-weight:700;
    margin-bottom:8px;
    line-height:1.4;
}
 
.jitp-archive-card-text{
    font-size:14px;
    line-height:1.65;
    color:#666;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-archive-heading{
        font-size:23px;
    }
 
    .jitp-archive-intro-block{
        padding:22px 22px;
    }
 
    .jitp-archive-principle{
        flex-direction:column;
        gap:14px;
        padding:20px;
    }
 
    .jitp-archive-grid{
        grid-template-columns:1fr;
    }
 
}




/* ===========================================================
   JITP PRIVACY STATEMENT — scoped to .jitp-privacy-section
   =========================================================== */
 
.jitp-privacy-section,
.jitp-privacy-section *{
    box-sizing:border-box;
}
 
.jitp-privacy-section{
    max-width:900px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-privacy-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 22px;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-privacy-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
/* ---------- Intro ---------- */
 
.jitp-privacy-intro-block{
    background:#eeeff0;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:26px 32px;
    margin-bottom:35px;
}
 
.jitp-privacy-intro-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0;
}
 
/* ---------- Numbered section list ---------- */
 
.jitp-privacy-list{
    display:flex;
    flex-direction:column;
    gap:0;
}
 
.jitp-privacy-item{
    display:flex;
    gap:22px;
    padding:28px 0;
    border-bottom:1px solid #e6e6e6;
}
 
.jitp-privacy-item:last-child{
    border-bottom:0;
    padding-bottom:0;
}
 
.jitp-privacy-num{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#1f5d91;
    color:#fff;
    font-size:16px;
    font-weight:700;
}
 
.jitp-privacy-body{
    flex:1;
}
 
.jitp-privacy-item-title{
    color:#1f5d91;
    font-size:18.5px;
    font-weight:700;
    margin:0 0 12px;
}
 
.jitp-privacy-text{
    font-size:15px;
    line-height:1.8;
    color:#555;
    margin:0 0 12px;
}
 
.jitp-privacy-text:last-child{
    margin-bottom:0;
}
 
.jitp-privacy-bullets{
    margin:0 0 14px;
    padding:0;
    list-style:none;
}
 
.jitp-privacy-bullets li{
    position:relative;
    padding-left:20px;
    margin-bottom:10px;
    font-size:14.5px;
    line-height:1.7;
    color:#555;
}
 
.jitp-privacy-bullets li:last-child{
    margin-bottom:0;
}
 
.jitp-privacy-bullets li::before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ffc107;
}
 
.jitp-privacy-bullets li strong{
    color:#17466d;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-privacy-heading{
        font-size:23px;
    }
 
    .jitp-privacy-intro-block{
        padding:22px 22px;
    }
 
    .jitp-privacy-item{
        gap:14px;
    }
 
    .jitp-privacy-num{
        width:32px;
        height:32px;
        font-size:14px;
    }
 
    .jitp-privacy-item-title{
        font-size:17px;
    }
}
 



/* ===========================================================
   JITP PEER REVIEW PROCESS — scoped to .jitp-review-section
   =========================================================== */
 
.jitp-review-section,
.jitp-review-section *{
    box-sizing:border-box;
}
 
.jitp-review-section{
    max-width:1000px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-review-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 22px;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-review-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
/* ---------- Intro ---------- */
 
.jitp-review-intro-block{
    background:#eeeff0;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:26px 32px;
    margin-bottom:32px;
}
 
.jitp-review-intro-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0;
}
 
/* ---------- Subheadings ---------- */
 
.jitp-review-subheading{
    color:#17466d;
    font-size:19px;
    font-weight:700;
    margin:0 0 18px;
}
 
/* ---------- Checklist ---------- */
 
.jitp-review-bullets{
    margin:0 0 26px;
    padding:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:12px;
}
 
.jitp-review-bullets li{
    position:relative;
    padding:14px 20px 14px 46px;
    background:#f6f7f8;
    border-radius:8px;
    font-size:15px;
    line-height:1.6;
    color:#444;
}
 
.jitp-review-bullets li::before{
    content:"\2713";
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    width:20px;
    height:20px;
    border-radius:50%;
    background:#1f5d91;
    color:#fff;
    font-size:12px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}
 
.jitp-review-note{
    font-size:15px;
    line-height:1.8;
    color:#555;
    font-style:italic;
    border-left:5px solid #ffc107;
    background:#eeeff0;
    border-radius:8px;
    padding:16px 22px;
    margin:0 0 36px;
}
 
/* ---------- Outcomes table ---------- */
 
.jitp-review-table-wrap{
    overflow-x:auto;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    margin-bottom:30px;
}
 
.jitp-review-table{
    width:100%;
    border-collapse:collapse;
    min-width:600px;
    background:#fff;
}
 
.jitp-review-table thead th{
    background:#1f5d91;
    color:#fff;
    text-align:left;
    font-size:15px;
    font-weight:700;
    padding:16px 22px;
}
 
.jitp-review-table thead th:first-child{
    width:260px;
}
 
.jitp-review-table tbody td{
    padding:16px 22px;
    font-size:14.5px;
    line-height:1.6;
    color:#444;
    border-bottom:1px solid #eee;
}
 
.jitp-review-table tbody tr:last-child td{
    border-bottom:0;
}
 
.jitp-review-table tbody tr:nth-child(even){
    background:#f6f7f8;
}
 
.jitp-review-table tbody tr:hover{
    background:#eaf1f8;
}
 
.jitp-decision-cell{
    font-weight:700;
    color:#1f5d91;
}
 
/* ---------- Closing note ---------- */
 
.jitp-review-closing{
    font-size:15px;
    line-height:1.8;
    color:#555;
    margin:0;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-review-heading{
        font-size:23px;
    }
 
    .jitp-review-intro-block{
        padding:22px 22px;
    }
 
    .jitp-review-subheading{
        font-size:17px;
    }
 
    .jitp-decision-cell{
        white-space:normal;
    }
}




/* ===========================================================
   JITP APC PAGE — scoped to .jitp-apc-section
   =========================================================== */
 
.jitp-apc-section,
.jitp-apc-section *{
    box-sizing:border-box;
}
 
.jitp-apc-section{
    max-width:1000px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-apc-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 22px;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-apc-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
/* ---------- Intro ---------- */
 
.jitp-apc-intro-block{
    background:#eeeff0;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:26px 32px;
    margin-bottom:26px;
}
 
.jitp-apc-intro-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0;
}
 
/* ---------- Body text ---------- */
 
.jitp-apc-text{
    font-size:15.5px;
    line-height:1.85;
    color:#555;
    margin:0 0 18px;
}
 
.jitp-apc-note{
    font-size:15px;
    line-height:1.8;
    color:#555;
    font-style:italic;
    border-left:5px solid #ffc107;
    background:#eeeff0;
    border-radius:8px;
    padding:18px 24px;
    margin:10px 0 30px;
}
 
/* ---------- Table ---------- */
 
.jitp-apc-table-wrap{
    overflow-x:auto;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}
 
.jitp-apc-table{
    width:100%;
    border-collapse:collapse;
    min-width:560px;
    background:#fff;
}
 
.jitp-apc-table thead th{
    background:#1f5d91;
    color:#fff;
    text-align:left;
    font-size:15px;
    font-weight:700;
    padding:16px 22px;
}
 
.jitp-apc-table thead th:first-child{
    width:260px;
}
 
.jitp-apc-table tbody td{
    padding:16px 22px;
    font-size:14.5px;
    line-height:1.6;
    color:#444;
    border-bottom:1px solid #eee;
}
 
.jitp-apc-table tbody tr:last-child td{
    border-bottom:0;
}
 
.jitp-apc-table tbody tr:nth-child(even){
    background:#f6f7f8;
}
 
.jitp-apc-table tbody tr:hover{
    background:#eaf1f8;
}
 
.jitp-apc-cat-cell{
    font-weight:700;
    color:#1f5d91;
}
 
.jitp-apc-badge{
    display:inline-block;
    padding:5px 14px;
    border-radius:20px;
    font-size:13px;
    font-weight:700;
}
 
.jitp-apc-badge-free{
    background:#e3f5e9;
    color:#1b8b46;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-apc-heading{
        font-size:23px;
    }
 
    .jitp-apc-intro-block{
        padding:22px 22px;
    }
 
    .jitp-apc-cat-cell{
        white-space:normal;
    }
}


/* ===========================================================
   JITP PUBLICATION ETHICS — scoped to .jitp-ethics-section
   =========================================================== */
 
.jitp-ethics-section,
.jitp-ethics-section *{
    box-sizing:border-box;
}
 
.jitp-ethics-section{
    max-width:1000px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-ethics-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 22px;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-ethics-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
/* ---------- Intro ---------- */
 
.jitp-ethics-intro-block{
    background:#eeeff0;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:26px 32px;
    margin-bottom:30px;
}
 
.jitp-ethics-intro-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0;
}
 
/* ---------- Checklist ---------- */
 
.jitp-ethics-list{
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:14px;
}
 
.jitp-ethics-list li{
    position:relative;
    padding:18px 24px 18px 58px;
    background:#f6f7f8;
    border-radius:10px;
    font-size:15.5px;
    line-height:1.75;
    color:#444;
    transition:background .25s ease, transform .25s ease;
}
 
.jitp-ethics-list li:hover{
    background:#eaf1f8;
    transform:translateX(4px);
}
 
.jitp-ethics-list li::before{
    content:"\2713";
    position:absolute;
    left:20px;
    top:20px;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#1f5d91;
    color:#fff;
    font-size:13px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-ethics-heading{
        font-size:23px;
    }
 
    .jitp-ethics-intro-block{
        padding:22px 22px;
    }
 
    .jitp-ethics-list li{
        padding:16px 18px 16px 52px;
        font-size:14.5px;
    }
 
    .jitp-ethics-list li::before{
        left:16px;
        top:16px;
    }
}





/* ===========================================================
   JITP HOW TO SUBMIT — scoped to .jitp-submit-section
   =========================================================== */
 
.jitp-submit-section,
.jitp-submit-section *{
    box-sizing:border-box;
}
 
.jitp-submit-section{
    max-width:1000px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-submit-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 22px;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-submit-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
.jitp-submit-subheading{
    color:#17466d;
    font-size:19px;
    font-weight:700;
    margin:0 0 16px;
}
 
.jitp-checklist-heading{
    margin-top:45px;
}
 
/* ---------- Intro ---------- */
 
.jitp-submit-intro-block{
    background:#eeeff0;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:26px 32px;
    margin-bottom:38px;
}
 
.jitp-submit-intro-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0 0 14px;
}
 
.jitp-submit-intro-text:last-child{
    margin-bottom:0;
}
 
/* ---------- Step flow ---------- */
 
.jitp-steps{
    position:relative;
    margin-bottom:10px;
}
 
.jitp-step{
    position:relative;
    display:flex;
    gap:22px;
    padding-bottom:32px;
}
 
.jitp-step::before{
    /* connecting line */
    content:"";
    position:absolute;
    left:20px;
    top:44px;
    bottom:0;
    width:2px;
    background:#dbe3ea;
}
 
.jitp-step-last::before{
    display:none;
}
 
.jitp-step-num{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#1f5d91;
    color:#fff;
    font-size:17px;
    font-weight:700;
    z-index:1;
}
 
.jitp-step-body{
    background:#fff;
    border:1px solid #e6e6e6;
    border-radius:10px;
    padding:16px 22px;
    flex:1;
    box-shadow:0 4px 14px rgba(0,0,0,.05);
    transition:transform .2s ease, box-shadow .2s ease;
}
 
.jitp-step-body:hover{
    transform:translateX(4px);
    box-shadow:0 8px 20px rgba(0,0,0,.1);
}
 
.jitp-step-title{
    color:#1f5d91;
    font-size:16.5px;
    font-weight:700;
    margin:0 0 6px;
}
 
.jitp-step-text{
    font-size:14.5px;
    line-height:1.65;
    color:#555;
    margin:0;
}
 
/* ---------- Checklist ---------- */
 
.jitp-submit-checklist-intro{
    font-size:15.5px;
    line-height:1.8;
    color:#555;
    margin:0 0 18px;
}
 
.jitp-checklist{
    margin:0 0 40px;
    padding:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:10px;
}
 
.jitp-checklist li{
    position:relative;
    padding:13px 18px 13px 44px;
    background:#f6f7f8;
    border-radius:8px;
    font-size:14.5px;
    line-height:1.65;
    color:#444;
}
 
.jitp-checklist li::before{
    content:"\2713";
    position:absolute;
    left:14px;
    top:13px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#1f5d91;
    color:#fff;
    font-size:11px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}
 
/* ---------- Closing notes ---------- */
 
.jitp-note{
    border-radius:10px;
    padding:20px 26px;
    margin-bottom:18px;
}
 
.jitp-note-title{
    font-size:15.5px;
    font-weight:700;
    margin-bottom:8px;
}
 
.jitp-note-text{
    font-size:14.5px;
    line-height:1.75;
    margin:0;
}
 
.jitp-note-blue{
    background:#eaf1f8;
    border-left:5px solid #1f5d91;
}
 
.jitp-note-blue .jitp-note-title{
    color:#1f5d91;
}
 
.jitp-note-blue .jitp-note-text{
    color:#3a5a72;
}
 
.jitp-note-grey{
    background:#f2f2f2;
    border-left:5px solid #999;
}
 
.jitp-note-grey .jitp-note-title{
    color:#555;
}
 
.jitp-note-grey .jitp-note-text{
    color:#666;
}
 
.jitp-note-gold{
    background:#fff8e6;
    border-left:5px solid #ffc107;
}
 
.jitp-note-gold .jitp-note-title{
    color:#a67c00;
}
 
.jitp-note-gold .jitp-note-text{
    color:#7a5c00;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-submit-heading{
        font-size:23px;
    }
 
    .jitp-submit-intro-block{
        padding:22px 22px;
    }
 
    .jitp-step{
        gap:14px;
    }
 
    .jitp-step-num{
        width:34px;
        height:34px;
        font-size:14px;
    }
 
    .jitp-step::before{
        left:16px;
    }
 
    .jitp-note{
        padding:18px 20px;
    }
}



/* ===========================================================
   JITP OPEN ACCESS POLICY — scoped to .jitp-oa-section
   =========================================================== */
 
.jitp-oa-section,
.jitp-oa-section *{
    box-sizing:border-box;
}
 
.jitp-oa-section{
    max-width:1050px;
    margin:0 auto;
    padding:20px 0 40px;
}
 
.jitp-oa-heading{
    color:#1f5d91;
    font-size:28px;
    font-weight:700;
    margin:0 0 22px;
    position:relative;
    padding-bottom:10px;
}
 
.jitp-oa-heading::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:4px;
    background:#ffc107;
    border-radius:10px;
}
 
/* ---------- Intro & body text ---------- */
 
.jitp-oa-intro-block{
    background:#eeeff0;
    border-left:6px solid #1f5d91;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    padding:26px 32px;
    margin-bottom:26px;
}
 
.jitp-oa-intro-text{
    font-size:16px;
    line-height:1.85;
    color:#444;
    margin:0;
}
 
.jitp-oa-text{
    font-size:15.5px;
    line-height:1.85;
    color:#555;
    margin:0 0 16px;
}
 
/* ---------- Two-column benefits ---------- */
 
.jitp-oa-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin:36px 0 34px;
}
 
.jitp-oa-col{
    background:#fff;
    border-radius:14px;
    box-shadow:0 10px 28px rgba(0,0,0,.08);
    overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease;
}
 
.jitp-oa-col:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 36px rgba(0,0,0,.13);
}
 
.jitp-oa-col-header{
    display:flex;
    align-items:center;
    gap:12px;
    padding:22px 26px;
}
 
.jitp-oa-col-header h3{
    margin:0;
    font-size:18px;
    font-weight:700;
    color:#fff;
}
 
.jitp-oa-col-icon{
    font-size:24px;
}
 
.jitp-oa-col-header-blue{
    background:#1f5d91;
}
 
.jitp-oa-col-header-gold{
    background:#ffc107;
}
 
.jitp-oa-list{
    margin:0;
    padding:22px 26px;
    list-style:none;
}
 
.jitp-oa-list li{
    position:relative;
    padding-left:22px;
    margin-bottom:13px;
    font-size:14.5px;
    line-height:1.65;
    color:#555;
}
 
.jitp-oa-list li:last-child{
    margin-bottom:0;
}
 
.jitp-oa-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ffc107;
}
 
/* ---------- Closing ---------- */
 
.jitp-oa-closing{
    font-size:15.5px;
    line-height:1.85;
    color:#555;
    font-style:italic;
    border-top:1px solid #e3e3e3;
    padding-top:24px;
    margin:0;
}
 
/* ---------- Responsive ---------- */
 
@media (max-width:767px){
 
    .jitp-oa-heading{
        font-size:23px;
    }
 
    .jitp-oa-intro-block{
        padding:22px 22px;
    }
 
    .jitp-oa-columns{
        grid-template-columns:1fr;
        gap:20px;
        margin:28px 0;
    }
 
    .jitp-oa-col-header{
        padding:18px 20px;
    }
 
    .jitp-oa-list{
        padding:18px 20px;
    }
}



/* =========================================================
   JITP - CURRENT ISSUE / DYNAMIC ISSUE SECTION
   ========================================================= */

.page_homepage .current_issue {
    max-width: 1100px;
    margin: 70px auto;
    padding: 45px 40px;
    background: #ffffff;
    border: 1px solid #e3e9ee;
    border-radius: 12px;
    box-shadow: 0 6px 22px rgba(23, 70, 109, 0.07);
    box-sizing: border-box;
}


/* Section heading */
.page_homepage .current_issue > h2 {
    margin: 0 0 8px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.3;
    color: #17466d;

    font-weight: 700;
}


/* Small blue line below heading */
.page_homepage .current_issue > h2::after {
    content: "";
    display: block;

    width: 55px;
    height: 3px;

    margin-top: 12px;

    background: #1f5d91;
    border-radius: 3px;
}


/* Issue title */
.page_homepage .current_issue .current_issue_title {
    margin: 25px 0 20px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.45;

    color: #17466d;
}


/* Issue content */
.page_homepage .current_issue .obj_issue_toc {
    margin-top: 10px;
}


/* Description */
.page_homepage .current_issue .heading .description {
    margin: 0 0 18px;
}

.page_homepage .current_issue .heading .description p {
    margin: 0;

    font-size: 15px;
    line-height: 1.7;
    color: #5c6b77;
}


/* Published information */
.page_homepage .current_issue .published {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 28px;

    font-size: 14px;
}

.page_homepage .current_issue .published .label {
    font-weight: 600;
    color: #17466d;
}

.page_homepage .current_issue .published .value {
    color: #6b7780;
}


/* =========================================================
   ARTICLES
   ========================================================= */

.page_homepage .current_issue .sections {
    margin-top: 10px;
}


/* Articles heading */
.page_homepage .current_issue .section > h3 {
    margin: 0 0 12px;

    font-size: 18px;
    font-weight: 700;

    color: #17466d;
}


/* Article list */
.page_homepage .current_issue .cmp_article_list.articles {
    list-style: none;

    margin: 0;
    padding: 0;

    border-top: 1px solid #e5ebef;
}


/* Individual article */
.page_homepage .current_issue .cmp_article_list.articles > li {
    margin: 0;
    padding: 17px 5px;

    border-bottom: 1px solid #e5ebef;
}


/* Article title */
.page_homepage .current_issue .obj_article_summary .title {
    margin: 0;

    font-size: 16px;
    line-height: 1.5;
}

.page_homepage .current_issue .obj_article_summary .title a {
    color: #17466d;
    text-decoration: none;
    font-weight: 600;

    transition: color 0.2s ease;
}

.page_homepage .current_issue .obj_article_summary .title a:hover {
    color: #1f5d91;
    text-decoration: underline;
}


/* Author */
.page_homepage .current_issue .obj_article_summary .meta {
    margin-top: 6px;
}

.page_homepage .current_issue .obj_article_summary .authors {
    font-size: 13.5px;
    color: #6b7780;
}


/* Hide empty galley area */
.page_homepage .current_issue .galleys_links:empty {
    display: none;
}


/* =========================================================
   VIEW ALL ISSUES BUTTON
   ========================================================= */

.page_homepage .current_issue > .read_more {
    display: inline-block;

    margin-top: 28px;
    padding: 11px 22px;

    background: #17466d;
    color: #ffffff;

    border-radius: 5px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition: background 0.2s ease;
}

.page_homepage .current_issue > .read_more:hover {
    background: #1f5d91;
    color: #ffffff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 767px) {

    .page_homepage .current_issue {
        margin: 50px 20px;
        padding: 32px 25px;
    }

    .page_homepage .current_issue > h2 {
        font-size: 27px;
    }

    .page_homepage .current_issue .current_issue_title {
        font-size: 20px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .page_homepage .current_issue {
        margin: 35px 15px;
        padding: 26px 20px;

        border-radius: 9px;
    }

    .page_homepage .current_issue > h2 {
        font-size: 24px;
    }

    .page_homepage .current_issue .current_issue_title {
        font-size: 18px;
    }

    .page_homepage .current_issue .heading .description p {
        font-size: 14px;
    }

    .page_homepage .current_issue .published {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .page_homepage .current_issue .cmp_article_list.articles > li {
        padding: 14px 2px;
    }

    .page_homepage .current_issue .obj_article_summary .title {
        font-size: 15px;
    }

    .page_homepage .current_issue > .read_more {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}

/* =========================================================
   JITP SEARCH PAGE
   ========================================================= */

.page_search {
    max-width: 1100px;
    margin: 50px auto 80px;
    padding: 0 30px;
    box-sizing: border-box;
    color: #263746;
}


/* =========================================================
   BREADCRUMBS
   ========================================================= */

.page_search .cmp_breadcrumbs {
    margin-bottom: 25px;
}

.page_search .cmp_breadcrumbs ol {
    display: flex;
    align-items: center;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.page_search .cmp_breadcrumbs a {
    color: #1f5d91;
    text-decoration: none;
}

.page_search .cmp_breadcrumbs a:hover {
    text-decoration: underline;
}

.page_search .cmp_breadcrumbs .separator {
    color: #9aa8b3;
}


/* =========================================================
   PAGE TITLE
   ========================================================= */

.page_search > h1 {
    font-size: 34px;
    line-height: 1.2;
    color: #17466d;
    margin: 0 0 30px;
    font-weight: 700;
    position: relative;
    padding-bottom: 14px;
}

.page_search > h1::after {
    content: "";
    display: block;
    width: 55px;
    height: 4px;
    background: #f2b900;
    border-radius: 4px;
    margin-top: 12px;
}


/* =========================================================
   MAIN SEARCH BOX
   ========================================================= */

.page_search .cmp_form {
    margin: 0;
}

.page_search .search_input {
    display: flex !important;
    width: 100% !important;
    margin: 0 0 25px !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.page_search .search_input input.query {
    width: 100% !important;
    height: 54px !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;

    border: 1px solid #d5e0e8 !important;
    border-radius: 8px !important;

    background: #ffffff !important;
    color: #263746 !important;

    font-size: 16px !important;
    box-shadow: 0 3px 12px rgba(23, 70, 109, 0.05) !important;
}

.page_search .search_input input.query::placeholder {
    color: #8a98a5;
}

.page_search .search_input input.query:focus {
    outline: none !important;
    border-color: #1f5d91 !important;
    box-shadow: 0 0 0 3px rgba(31, 93, 145, 0.10) !important;
}


/* =========================================================
   ADVANCED FILTERS CONTAINER
   ========================================================= */

.page_search .search_advanced {
    width: 100% !important;
    margin: 0 !important;
    padding: 30px !important;

    box-sizing: border-box !important;

    border: 1px solid #dbe4ea !important;
    border-radius: 12px !important;

    background: #f8fafc !important;

    display: block !important;
}


/* Advanced Filters title */

.page_search .search_advanced > legend {
    display: block !important;

    width: auto !important;

    padding: 0 10px !important;
    margin: 0 0 25px 0 !important;

    color: #17466d !important;
    font-size: 20px !important;
    font-weight: 700 !important;

    background: #f8fafc !important;
}


/* =========================================================
   DATE RANGE
   ========================================================= */

.page_search .date_range {
    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    gap: 25px !important;

    width: 100% !important;

    margin: 0 0 25px !important;
}


/* Published After / Before boxes */

.page_search .date_range > .from,
.page_search .date_range > .to {
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Nested fieldsets */

.page_search .date_range fieldset {
    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 22px !important;

    box-sizing: border-box !important;

    border: 1px solid #d7e1e8 !important;
    border-radius: 9px !important;

    background: #ffffff !important;
}


/* Nested fieldset legends */

.page_search .date_range fieldset > legend {
    display: block !important;

    width: auto !important;

    margin: 0 0 18px !important;
    padding: 0 8px !important;

    color: #17466d !important;

    font-size: 17px !important;
    font-weight: 700 !important;

    background: #ffffff !important;
}


/* =========================================================
   DATE LABELS + SELECTS
   ========================================================= */

/* Prevent OJS's default inline/float behavior */

.page_search .date_range fieldset label {
    display: block !important;

    width: 100% !important;

    margin: 0 0 7px !important;
    padding: 0 !important;

    color: #526574 !important;

    font-size: 13px !important;
    font-weight: 600 !important;
}


/* Selects */

.page_search .date_range fieldset select {
    display: block !important;

    width: 100% !important;
    height: 44px !important;

    margin: 0 0 16px !important;

    padding: 0 12px !important;

    box-sizing: border-box !important;

    border: 1px solid #ccd9e2 !important;
    border-radius: 7px !important;

    background: #ffffff !important;

    color: #334756 !important;

    font-size: 14px !important;
}


/* Last select */

.page_search .date_range fieldset select:last-child {
    margin-bottom: 0 !important;
}

.page_search .date_range fieldset select:focus {
    outline: none !important;

    border-color: #1f5d91 !important;

    box-shadow: 0 0 0 3px rgba(31, 93, 145, 0.08) !important;
}


/* =========================================================
   AUTHOR
   ========================================================= */

.page_search .author {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    display: block !important;
    float: none !important;
}


/* Author label */

.page_search .author > .label {
    display: block !important;

    width: 100% !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    color: #17466d !important;

    font-size: 15px !important;
    font-weight: 700 !important;
}


/* Author input */

.page_search .author input {
    display: block !important;

    width: 100% !important;
    height: 48px !important;

    padding: 0 14px !important;

    box-sizing: border-box !important;

    border: 1px solid #ccd9e2 !important;
    border-radius: 7px !important;

    background: #ffffff !important;

    font-size: 15px !important;
    color: #263746 !important;
}

.page_search .author input:focus {
    outline: none !important;

    border-color: #1f5d91 !important;

    box-shadow: 0 0 0 3px rgba(31, 93, 145, 0.08) !important;
}


/* =========================================================
   SEARCH BUTTON
   ========================================================= */

.page_search .submit {
    margin-top: 25px !important;
}

.page_search .submit button.submit {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-width: 130px !important;
    height: 46px !important;

    padding: 0 25px !important;

    border: none !important;
    border-radius: 6px !important;

    background: #17466d !important;
    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 600 !important;

    cursor: pointer !important;

    transition: background 0.2s ease, transform 0.2s ease !important;
}

.page_search .submit button.submit:hover {
    background: #1f5d91 !important;
    transform: translateY(-1px);
}


/* =========================================================
   SEARCH RESULTS / NO RESULTS
   ========================================================= */

.page_search .search_results {
    margin: 35px 0 0 !important;
    padding: 0 !important;
}

.page_search .cmp_notification.notice {
    margin-top: 30px !important;

    padding: 18px 20px !important;

    border: 1px solid #dbe4ea !important;
    border-left: 4px solid #1f5d91 !important;

    border-radius: 7px !important;

    background: #f5f8fa !important;

    color: #526574 !important;

    font-size: 15px !important;
}


/* =========================================================
   REMOVE OJS FLOAT/WIDTH INTERFERENCE
   ========================================================= */

.page_search .search_advanced *,
.page_search .date_range *,
.page_search .author * {
    box-sizing: border-box;
}

.page_search .search_advanced .from,
.page_search .search_advanced .to,
.page_search .search_advanced .author {
    float: none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 768px) {

    .page_search {
        margin: 35px auto 60px;
        padding: 0 20px;
    }

    .page_search > h1 {
        font-size: 30px;
    }

    .page_search .search_advanced {
        padding: 24px !important;
    }

    .page_search .date_range {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .page_search {
        margin: 25px auto 45px;
        padding: 0 15px;
    }

    .page_search > h1 {
        font-size: 27px;
    }

    .page_search .search_advanced {
        padding: 18px !important;
    }

    .page_search .date_range fieldset {
        padding: 18px !important;
    }

    .page_search .search_input input.query {
        height: 50px !important;
    }

    .page_search .submit button.submit {
        width: 100% !important;
    }

}

/* =========================================================
   JITP LOGIN PAGE
   ========================================================= */

.page_login {
    max-width: 760px;
    margin: 50px auto 80px;
    padding: 0 25px;
    box-sizing: border-box;
}

/* Breadcrumbs */
.page_login .cmp_breadcrumbs {
    margin-bottom: 30px;
}

.page_login .cmp_breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page_login .cmp_breadcrumbs li {
    font-size: 14px;
    color: #6b7280;
}

.page_login .cmp_breadcrumbs a {
    color: #17466d;
    text-decoration: none;
}

.page_login .cmp_breadcrumbs a:hover {
    color: #1f5d91;
}

.page_login .cmp_breadcrumbs .separator {
    margin: 0 3px;
    color: #9ca3af;
}

/* Page title */
.page_login > h1 {
    margin: 0 0 12px;
    color: #17466d;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
}

/* Required fields text */
.page_login > p {
    margin: 0 0 28px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
}

.page_login .required {
    color: #d64545;
}

/* Login form */
.page_login form.login {
    width: 100%;
    margin: 0;
    padding: 35px;
    background: #ffffff;
    border: 1px solid #e1e7ec;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(23, 70, 109, 0.08);
    box-sizing: border-box;
}

/* Remove unnecessary fieldset styling */
.page_login form.login .fields {
    margin: 0;
    padding: 0;
    border: 0;
}

/* Username and password blocks */
.page_login form.login .username,
.page_login form.login .password {
    margin: 0 0 22px;
}

/* Labels */
.page_login form.login .username label,
.page_login form.login .password label {
    display: block;
    margin: 0;
}

.page_login form.login .label {
    display: block;
    margin-bottom: 8px;
    color: #17466d;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}

/* Required star */
.page_login form.login .label .required {
    display: inline;
    margin-left: 3px;
}

/* Inputs */
.page_login form.login input[type="text"],
.page_login form.login input[type="password"] {
    display: block;
    width: 100%;
    height: 48px;
    padding: 0 14px;
    box-sizing: border-box;

    background: #ffffff;
    border: 1px solid #ccd7e0;
    border-radius: 7px;

    color: #1f2937;
    font-size: 15px;

    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

/* Input focus */
.page_login form.login input[type="text"]:focus,
.page_login form.login input[type="password"]:focus {
    border-color: #1f5d91;
    box-shadow: 0 0 0 3px rgba(31, 93, 145, 0.12);
}

/* Forgot password */
.page_login form.login .password a {
    display: inline-block;
    margin-top: 9px;

    color: #1f5d91;
    font-size: 13.5px;
    text-decoration: none;
}

.page_login form.login .password a:hover {
    text-decoration: underline;
}

/* Remember me */
.page_login form.login .remember {
    margin: 5px 0 28px;
}

.page_login form.login .remember label {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
}

.page_login form.login .remember input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #17466d;
}

.page_login form.login .remember .label {
    display: inline;
    margin: 0;
    color: #475569;
    font-size: 14px;
    font-weight: 400;
}

/* Buttons */
.page_login form.login .buttons {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
}

/* Login button */
.page_login form.login .buttons button.submit {
    min-width: 120px;
    padding: 12px 25px;

    background: #17466d;
    border: 1px solid #17466d;
    border-radius: 6px;

    color: #ffffff;
    font-size: 15px;
    font-weight: 600;

    cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}

.page_login form.login .buttons button.submit:hover {
    background: #1f5d91;
    border-color: #1f5d91;
}

/* Register button/link */
.page_login form.login .buttons a.register {
    display: inline-block;
    padding: 12px 22px;

    background: #ffffff;
    border: 1px solid #17466d;
    border-radius: 6px;

    color: #17466d;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;

    transition: all .2s ease;
}

.page_login form.login .buttons a.register:hover {
    background: #17466d;
    color: #ffffff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 767px) {

    .page_login {
        margin: 40px auto 60px;
        padding: 0 20px;
    }

    .page_login > h1 {
        font-size: 28px;
    }

    .page_login form.login {
        padding: 28px 24px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .page_login {
        margin: 30px auto 50px;
        padding: 0 15px;
    }

    .page_login > h1 {
        font-size: 26px;
    }

    .page_login form.login {
        padding: 24px 18px;
        border-radius: 10px;
    }

    .page_login form.login .buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .page_login form.login .buttons button.submit,
    .page_login form.login .buttons a.register {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}
.page_login .login {
    max-width: 40em;
}


/* =========================================================
   JITP REGISTER PAGE
   White + Blue | Clean OJS Styling
   ========================================================= */

.page_register {
    max-width: 900px;
    margin: 0 auto;
    padding: 45px 30px 80px;
    box-sizing: border-box;
    color: #17466d;
}

/* Breadcrumbs */
.page_register .cmp_breadcrumbs {
    margin-bottom: 30px;
}

.page_register .cmp_breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.page_register .cmp_breadcrumbs a {
    color: #1f5d91;
    text-decoration: none;
}

.page_register .cmp_breadcrumbs a:hover {
    text-decoration: underline;
}

.page_register .cmp_breadcrumbs .separator {
    color: #9aa8b5;
}

.page_register .cmp_breadcrumbs .current {
    color: #687887;
}


/* Page heading */
.page_register > h1 {
    margin: 0 0 12px;
    color: #17466d;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.25;
}

.page_register > p {
    margin: 0 0 30px;
    color: #667788;
    font-size: 15px;
    line-height: 1.6;
}


/* =========================================================
   REGISTER FORM
   ========================================================= */

.page_register .cmp_form {
    width: 100%;
    background: #ffffff;
    border: 1px solid #dce5ec;
    border-radius: 12px;
    padding: 35px 40px;
    box-sizing: border-box;
    box-shadow: 0 6px 20px rgba(23, 70, 109, 0.07);
}


/* Remove unwanted OJS spacing */
.page_register .fields {
    margin: 0;
    padding: 0;
    border: 0;
}

.page_register .fields > div {
    margin: 0 0 22px;
}


/* Section legends */
.page_register fieldset legend {
    color: #17466d;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 24px;
    padding: 0;
}


/* Labels */
.page_register .label {
    display: block;
    margin-bottom: 8px;
    color: #17466d;
    font-size: 14px;
    font-weight: 600;
}

.page_register .required {
    color: #c0392b;
}


/* Inputs */
.page_register input[type="text"],
.page_register input[type="email"],
.page_register input[type="password"],
.page_register input[type="tel"],
.page_register input[type="url"],
.page_register input[type="number"],
.page_register select,
.page_register textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 14px;
    box-sizing: border-box;

    border: 1px solid #ccd9e4;
    border-radius: 7px;

    background: #ffffff;
    color: #263746;

    font-size: 15px;
    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


/* Textarea */
.page_register textarea {
    min-height: 120px;
    resize: vertical;
}


/* Focus */
.page_register input:focus,
.page_register select:focus,
.page_register textarea:focus {
    border-color: #1f5d91;
    box-shadow: 0 0 0 3px rgba(31, 93, 145, 0.10);
}


/* =========================================================
   TWO-COLUMN FORM FIELDS
   ========================================================= */

.page_register .fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    row-gap: 0;
}


/* Keep full-width elements */
.page_register .fields > .username,
.page_register .fields > .password,
.page_register .fields > .email,
.page_register .fields > .affiliation,
.page_register .fields > .country,
.page_register .fields > .interests,
.page_register .fields > .privacy,
.page_register .fields > .buttons {
    grid-column: 1 / -1;
}


/* =========================================================
   CHECKBOXES
   ========================================================= */

.page_register .checkbox {
    margin-top: 5px;
}

.page_register .checkbox label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    cursor: pointer;
}

.page_register input[type="checkbox"] {
    width: 17px;
    height: 17px;
    margin-top: 2px;
    accent-color: #1f5d91;
}

.page_register .checkbox .label {
    margin: 0;
    color: #526575;
    font-weight: 400;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.page_register .buttons {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 10px;
    padding-top: 15px;
    border-top: 1px solid #e7edf2;
}

.page_register button.submit,
.page_register .submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 45px;
    padding: 10px 28px;

    border: 0;
    border-radius: 6px;

    background: #17466d;
    color: #ffffff;

    font-size: 15px;
    font-weight: 600;

    cursor: pointer;
    text-decoration: none;

    transition:
        background .2s ease,
        transform .2s ease;
}

.page_register button.submit:hover,
.page_register .submit:hover {
    background: #1f5d91;
    transform: translateY(-1px);
}


/* =========================================================
   LINKS
   ========================================================= */

.page_register a {
    color: #1f5d91;
}

.page_register a:hover {
    color: #17466d;
}


/* =========================================================
   OJS SCREEN READER
   ========================================================= */

.page_register .pkp_screen_reader {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

    .page_register {
        padding: 35px 20px 60px;
    }

    .page_register > h1 {
        font-size: 29px;
    }

    .page_register .cmp_form {
        padding: 28px 25px;
    }

    .page_register .fields {
        grid-template-columns: 1fr;
    }

    .page_register .fields > div {
        grid-column: 1 / -1;
    }
}


@media (max-width: 480px) {

    .page_register {
        padding: 25px 15px 50px;
    }

    .page_register > h1 {
        font-size: 26px;
    }

    .page_register .cmp_form {
        padding: 22px 18px;
        border-radius: 9px;
    }

    .page_register .buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .page_register button.submit,
    .page_register .submit {
        width: 100%;
    }
}


/* =========================================================
   JITP — ABOUT THE JOURNAL
   ========================================================= */

.jitp-about {
    max-width: 1080px;
    margin: 0 auto 80px;
    padding: 0 30px;
    box-sizing: border-box;
}

/* Small section label */

.jitp-about-heading > span {
    display: block;
    margin-bottom: 12px;
    color: #1f5d91;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* Main About heading */

.jitp-about-heading h2 {
    margin: 0 0 28px;
    max-width: 800px;
    color: #17466d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1.25;
}

/* Paragraphs */

.jitp-about > p {
    max-width: 1000px;
    margin: 0 0 20px;
    color: #4b6072;
    font-size: 16px;
    line-height: 1.85;
}

/* Why JITP section */

.jitp-about-subsection {
    margin-top: 55px;
    padding-top: 40px;
    border-top: 1px solid #dce5ec;
}

.jitp-about-subsection h2 {
    margin: 0 0 22px;
    color: #17466d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
}

.jitp-about-subsection p {
    max-width: 1000px;
    margin: 0 0 20px;
    color: #4b6072;
    font-size: 16px;
    line-height: 1.85;
}

.jitp-about strong {
    color: #17466d;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .jitp-about {
        padding: 0 20px;
        margin-bottom: 55px;
    }

    .jitp-about-heading h2 {
        font-size: 27px;
    }

    .jitp-about-subsection {
        margin-top: 40px;
        padding-top: 30px;
    }

    .jitp-about-subsection h2 {
        font-size: 25px;
    }

    .jitp-about > p,
    .jitp-about-subsection p {
        font-size: 15px;
        line-height: 1.75;
    }
}

/* =========================================================
   JITP — WHY PUBLISH WITH US
   ========================================================= */

.jitp-publish {
    max-width: 1120px;
    margin: 80px auto;
    padding: 0 30px;
    box-sizing: border-box;
}


/* Section heading */

.jitp-publish-heading {
    max-width: 850px;
    margin-bottom: 45px;
}

.jitp-publish-heading > span {
    display: block;
    margin-bottom: 12px;

    color: #1f5d91;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.jitp-publish-heading h2 {
    margin: 0 0 18px;
    color: #17466d;
    /* font-family: Georgia, "Times New Roman", serif; */
    font-size: 22px;
    line-height: 1.25;
}

.jitp-publish-heading p {
    margin: 0;

    color: #536779;
    font-size: 16px;
    line-height: 1.8;
}


/* Benefits grid */

.jitp-publish-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}


/* Individual benefit */

.jitp-publish-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 16px;
    padding: 25px 22px;
    border: 1px solid #e1e8ee;
    border-radius: 8px;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.jitp-publish-item:hover {
    transform: translateY(-3px);

    border-color: #c7d9e7;

    box-shadow: 0 8px 22px rgba(23, 70, 109, .08);
}


/* Number */

.jitp-publish-number {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #edf4f9;
    color: #1f5d91;

    border-radius: 50%;

    font-size: 12px;
    font-weight: 700;
}


/* Benefit title */

.jitp-publish-item h3 {
    margin: 2px 0 9px;

    color: #17466d;

    font-size: 17px;
    line-height: 1.35;
}


/* Benefit text */

.jitp-publish-item p {
    margin: 0;

    color: #5c6f7f;

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 950px) {

    .jitp-publish-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .jitp-publish {
        margin: 55px auto;
        padding: 0 20px;
    }

    .jitp-publish-heading {
        margin-bottom: 32px;
    }

    .jitp-publish-heading h2 {
        font-size: 28px;
    }

    .jitp-publish-heading p {
        font-size: 15px;
        line-height: 1.75;
    }

    .jitp-publish-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .jitp-publish-item {
        padding: 22px 18px;
    }

}

