/* CORE FONTS SETUP */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ==========================================================
   IJESE HEADER CSS — LARGER LOGO + PROPORTIONAL TITLE
========================================================== */

/* 1. MAIN NAVBAR */
#headerNavigationContainer {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
    border-bottom: 4px solid #0f3d91 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
    padding: 0 !important;
}

/* 2. TOP USER NAV */
#navigationUser {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 5px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    float: right !important;
}

#navigationUser li a {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #0f3d91 !important;
    padding: 4px 12px !important;
}

/* 3. NAVBAR HEADER */
#headerNavigationContainer .navbar-header {
    float: none !important;
    width: 100% !important;
}

/* 4. SITE HEADER WRAPPER — logo + text in one row */
.site-header-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    padding: 14px 8px 14px 0 !important;
    gap: 20px !important;
    box-sizing: border-box !important;
}

/* 5. LOGO — increased to 110px */
.navbar-brand-logo {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    height: auto !important;
}

.navbar-brand-logo img.journal-logo {
    height: 110px !important;
    width: 110px !important;
    max-height: 110px !important;
    max-width: 110px !important;
    display: block !important;
    position: static !important;
    top: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
}

/* 6. TEXT BLOCK — fills remaining width */
.journal-text-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* 7. TITLE WRAPPER */
.site-name {
    width: 100% !important;
}

/* 8. TITLE — scaled up to match 110px logo */
.journal-title-link {
    display: block !important;
    font-size: clamp(18px, 2.6vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #0f3d91 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    letter-spacing: -0.3px !important;
}

.journal-title-link:hover {
    color: #0a2d6e !important;
    text-decoration: none !important;
}

/* 9. SUBTITLE */
.journal-subtitle {
    font-size: 14px !important;
    color: #475569 !important;
    font-weight: 500 !important;
    margin-top: 6px !important;
    white-space: nowrap !important;
    display: block !important;
    letter-spacing: 0.2px !important;
}

/* 10. NAV BAR — flex row, thin, search inline */
#nav-menu {
    background: #0f3d91 !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
}

/* 11. NAV LINKS */
#main-navigation {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    list-style: none !important;
    align-items: center !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
}

#main-navigation > li > a {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 12px !important;
    display: block !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
}

#main-navigation > li > a:hover,
#main-navigation > li > a:focus {
    background: rgba(255,255,255,0.15) !important;
    color: #ffffff !important;
}

/* 12. DROPDOWN */
#main-navigation .dropdown-menu {
    background: #0f3d91 !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 0 !important;
    padding: 4px 0 !important;
    top: 100% !important;
}

#main-navigation .dropdown-menu li a {
    color: #ffffff !important;
    font-size: 13px !important;
    padding: 7px 16px !important;
}

#main-navigation .dropdown-menu li a:hover {
    background: rgba(255,255,255,0.15) !important;
}

/* 13. SEARCH — inline on the right of nav bar */
.pull-md-right {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    padding: 0 !important;
}

.navbar-form {
    display: flex !important;
    align-items: center !important;
    padding: 5px 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.navbar-form .form-group {
    margin: 0 !important;
}

.navbar-form .form-control {
    height: 30px !important;
    font-size: 13px !important;
    width: 160px !important;
    border-radius: 4px 0 0 4px !important;
    padding: 4px 8px !important;
}

.navbar-form .btn {
    height: 30px !important;
    background: #ffffff !important;
    color: #0f3d91 !important;
    border: none !important;
    border-radius: 0 4px 4px 0 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 0 12px !important;
    line-height: 30px !important;
}

.navbar-form .btn:hover {
    background: #e2e8f0 !important;
}

/* 14. MOBILE ADJUSTMENTS */
@media (max-width: 991px) {
    .site-header-wrapper {
        flex-wrap: wrap !important;
        padding: 10px 12px !important;
        gap: 12px !important;
    }

    .navbar-brand-logo img.journal-logo {
        height: 72px !important;
        width: 72px !important;
        max-height: 72px !important;
        max-width: 72px !important;
    }

    .journal-title-link {
        font-size: clamp(15px, 4vw, 22px) !important;
        white-space: normal !important;
    }

    .journal-subtitle {
        font-size: 12px !important;
        white-space: normal !important;
    }

    #nav-menu {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    #main-navigation {
        flex-direction: column !important;
        width: 100% !important;
    }

    #main-navigation > li {
        width: 100% !important;
    }

    #main-navigation > li > a {
        border-top: 1px solid rgba(255,255,255,0.1) !important;
        padding: 10px 14px !important;
    }

    .pull-md-right {
        width: 100% !important;
        padding: 8px 14px !important;
    }

    .navbar-form .form-control {
        width: 100% !important;
    }
}


body,
html,
.pkp_page,
.pkp_structure_main,
.pkp_navigation_primary,
.pkp_block,
.pkp_block_content,
.pkp_page_content,
input,
textarea,
select,
button {
    font-family: 'Inter', sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600;
}

/* ==========================================================
   15. CONTENT TYPE DECORATION & SUBHEADING COLORS
========================================================== */
.pkp_page_content h3,
.entry_content h3,
.page_about h3,
h3 {
    color: #0f3d91 !important;
    font-weight: 700 !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* Optional: Sets list label components and strong highlights to matching blue */
.pkp_page_content ul li strong,
.pkp_page_content ol li strong {
    color: #0f3d91;
}

/* ==========================================================
   MOBILE FIXES — CONTENT, SIDEBAR, READABILITY
========================================================== */

/* ── SIDEBAR: stack below main content on mobile ── */
@media (max-width: 991px) {
    .col-md-8,
    .col-sm-8,
    .col-md-9,
    .col-sm-9 {
        width: 100% !important;
        float: none !important;
    }
    .col-md-4,
    .col-sm-4,
    .col-md-3,
    .col-sm-3 {
        width: 100% !important;
        float: none !important;
        margin-top: 2rem !important;
    }
}

/* ── BODY TEXT: readable on small screens ── */
@media (max-width: 767px) {
    body, p, li, td {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }
    h1 { font-size: 22px !important; }
    h2 { font-size: 19px !important; }
    /* h3 already handled above by your existing rules */
}

/* ── CONTAINER PADDING: stop content touching screen edges ── */
@media (max-width: 767px) {
    .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ── ARTICLE LIST: spacing between articles on homepage ── */
@media (max-width: 767px) {
    .obj_article_summary {
        margin-bottom: 1.8rem !important;
        padding-bottom: 1.2rem !important;
        border-bottom: 1px solid #e2e8f0 !important;
    }
    .obj_article_summary .title a {
        font-size: 15px !important;
        line-height: 1.6 !important;
        display: block !important;
    }
    .obj_article_summary .authors {
        font-size: 13px !important;
        color: #475569 !important;
    }
}

/* ── PDF / GALLEY LINKS: bigger tap area ── */
.galley-link,
a.galley-link,
.obj_galley_link a,
ul.galleys_links a {
    display: inline-block !important;
    padding: 6px 14px !important;
    min-height: 36px !important;
    line-height: 24px !important;
    border-radius: 4px !important;
}

/* ── ISSUE COVER IMAGE: don't overflow on phones ── */
@media (max-width: 767px) {
    .obj_issue_summary img,
    .current_issue img {
        max-width: 100% !important;
        height: auto !important;
    }
}

/* ── TABLES IN ARTICLE PAGES: horizontal scroll instead of overflow ── */
@media (max-width: 767px) {
    .pkp_page_content table,
    .entry_content table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        font-size: 13px !important;
    }
}

/* ── ABSTRACT PAGE: author affiliations + metadata ── */
@media (max-width: 767px) {
    .obj_article_details .authors,
    .obj_article_details .article-meta {
        font-size: 13px !important;
    }
    .obj_article_details .abstract {
        font-size: 15px !important;
        line-height: 1.8 !important;
    }
}


/* Hide toggle button on desktop */
@media (min-width: 768px) {
    .navbar-toggle {
        display: none !important;
    }
}

/* Hide skip links visually (still available to screen readers) */
.sr-only,
#accessibility-nav {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
}

/* ==========================================================
   ISSUE PAGE: hide the "Current Issue" heading
   (breadcrumb above still shows the issue name)
========================================================== */
.page_issue > h1 {
    display: none !important;
}

/* ==========================================================
   REGISTER PAGE: align and format form fields
========================================================== */

/* Form container */
.page_register form,
form#register,
form.cmp_form.register {
    max-width: 700px !important;
    margin: 0 auto !important;
    padding: 10px 0 !important;
}

/* Remove odd fieldset borders/padding */
.page_register fieldset {
    border: none !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}

.page_register legend {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f3d91 !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding-bottom: 6px !important;
    margin-bottom: 16px !important;
    width: 100% !important;
}

/* Each field row: label above input */
.page_register .form-group,
.page_register .form_row,
.page_register .fields > div {
    display: block !important;
    margin-bottom: 16px !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
}

.page_register label {
    display: block !important;
    float: none !important;
    width: 100% !important;
    text-align: left !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #1e293b !important;
    margin-bottom: 6px !important;
}

/* All inputs the same width and height */
.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 select,
.page_register textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: #fff !important;
    float: none !important;
    margin: 0 !important;
}

.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 select {
    height: 42px !important;
}

.page_register input:focus,
.page_register select:focus,
.page_register textarea:focus {
    outline: none !important;
    border-color: #0f3d91 !important;
    box-shadow: 0 0 0 3px rgba(15, 61, 145, 0.15) !important;
}

/* Checkboxes/radios stay inline with their text */
.page_register input[type="checkbox"],
.page_register input[type="radio"] {
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    margin-right: 8px !important;
}

.page_register .checkbox label,
.page_register .radio label,
.page_register label.checkbox {
    display: inline !important;
    font-weight: 400 !important;
}

/* Buttons */
.page_register .buttons,
.page_register .form-actions {
    margin-top: 20px !important;
}

.page_register button[type="submit"],
.page_register input[type="submit"],
.page_register .submit {
    background: #0f3d91 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 24px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.page_register button[type="submit"]:hover,
.page_register input[type="submit"]:hover {
    background: #0a2d6e !important;
}

/* ==========================================================
   LOGIN PAGE STYLING
========================================================== */

/* Breadcrumb: horizontal, no numbers */
.cmp_breadcrumbs ol,
.page_login ol:first-of-type {
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 16px 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
}
.cmp_breadcrumbs li:not(:last-child)::after {
    content: "›";
    margin-left: 8px;
    color: #94a3b8;
}
.cmp_breadcrumbs a { color: #0f3d91 !important; text-decoration: none !important; }
.cmp_breadcrumbs a:hover { text-decoration: underline !important; }

/* Login card */
.page_login form,
form#login,
form.cmp_form.login {
    max-width: 420px !important;
    margin: 30px auto !important;
    padding: 28px 30px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 4px solid #0f3d91 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
}

.page_login fieldset {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Labels above inputs */
.page_login label,
.page_login label .label {
    display: block !important;
    width: 100% !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 6px !important;
}

.page_login .required { color: #dc2626 !important; margin-left: 3px; }

/* Inputs: same width and height */
.page_login input[type="text"],
.page_login input[type="password"],
.page_login input[type="email"] {
    display: block !important;
    width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    margin: 0 0 16px 0 !important;
    background: #fff !important;
}

.page_login input[type="text"]:focus,
.page_login input[type="password"]:focus {
    outline: none !important;
    border-color: #0f3d91 !important;
    box-shadow: 0 0 0 3px rgba(15, 61, 145, 0.15) !important;
}

/* Forgot password link */
.page_login a[href*="lostPassword"] {
    display: inline-block !important;
    font-size: 13px !important;
    color: #0f3d91 !important;
    margin-bottom: 14px !important;
}

/* Keep me logged in */
.page_login input[type="checkbox"] {
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    margin: 0 8px 0 0 !important;
    vertical-align: middle !important;
}
.page_login .remember label,
.page_login label:has(input[type="checkbox"]) {
    display: flex !important;
    align-items: center !important;
    font-weight: 400 !important;
    margin-bottom: 18px !important;
}

/* Login button + Register link on one row */
.page_login button[type="submit"],
.page_login input[type="submit"] {
    background: #0f3d91 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-right: 14px !important;
}
.page_login button[type="submit"]:hover,
.page_login input[type="submit"]:hover { background: #0a2d6e !important; }

.page_login a[href*="register"] {
    color: #0f3d91 !important;
    font-weight: 600 !important;
}

/* Sidebar blocks (Information, Make a Submission) */
.pkp_block .title,
.pkp_block h2,
.pkp_block h3 {
    font-size: 18px !important;
    color: #0f3d91 !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding-bottom: 6px !important;
    margin-top: 28px !important;
}
.pkp_block ul { list-style: none !important; padding-left: 0 !important; }
.pkp_block li { margin-bottom: 6px !important; }
.pkp_block a { color: #0f3d91 !important; text-decoration: none !important; }
.pkp_block a:hover { text-decoration: underline !important; }

/* Mobile */
@media (max-width: 767px) {
    .page_login form,
    form#login { padding: 20px !important; margin: 16px 0 !important; }
}

/* ==========================================================
   RESET PASSWORD + LOGIN + REGISTER: shared form styling
========================================================== */

/* Form card */
.page_lost_password form,
.page_login form,
.page_register form,
form#login,
form#register,
form.lost_password,
form.cmp_form {
    max-width: 440px !important;
    margin: 24px auto !important;
    padding: 28px 30px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 4px solid #0f3d91 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
}

/* Register form needs more room */
.page_register form,
form#register {
    max-width: 700px !important;
}

/* Intro text above the reset form */
.page_lost_password p,
.page_lost_password form > p {
    font-size: 15px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-bottom: 18px !important;
}

.page_lost_password fieldset,
.page_login fieldset,
.page_register fieldset {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Labels above inputs */
.page_lost_password label,
.page_login label,
.page_register label,
form.cmp_form label {
    display: block !important;
    width: 100% !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 6px !important;
}

/* Inputs */
.page_lost_password input[type="text"],
.page_lost_password input[type="email"],
.page_login input[type="text"],
.page_login input[type="password"],
.page_register input[type="text"],
.page_register input[type="email"],
.page_register input[type="password"],
.page_register select,
form.cmp_form input[type="text"],
form.cmp_form input[type="email"],
form.cmp_form input[type="password"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 42px !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    margin: 0 0 16px 0 !important;
    background: #fff !important;
}

.page_lost_password input:focus,
.page_login input:focus,
.page_register input:focus,
form.cmp_form input:focus {
    outline: none !important;
    border-color: #0f3d91 !important;
    box-shadow: 0 0 0 3px rgba(15, 61, 145, 0.15) !important;
}

/* Checkboxes stay inline */
.page_login input[type="checkbox"],
.page_register input[type="checkbox"] {
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    margin: 0 8px 0 0 !important;
    vertical-align: middle !important;
}

/* Buttons */
.page_lost_password button,
.page_lost_password input[type="submit"],
.page_login button,
.page_login input[type="submit"],
.page_register button,
.page_register input[type="submit"],
form.cmp_form button,
form.cmp_form input[type="submit"] {
    background: #0f3d91 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 26px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-right: 14px !important;
    transition: background 0.2s !important;
}

.page_lost_password button:hover,
.page_lost_password input[type="submit"]:hover,
.page_login button:hover,
.page_register button:hover,
form.cmp_form button:hover {
    background: #0a2d6e !important;
}

/* Links inside the forms */
.page_lost_password form a,
.page_login form a,
.page_register form a,
form.cmp_form a {
    color: #0f3d91 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.page_lost_password form a:hover,
.page_login form a:hover,
.page_register form a:hover,
form.cmp_form a:hover {
    text-decoration: underline !important;
}

/* Mobile */
@media (max-width: 767px) {
    .page_lost_password form,
    .page_login form,
    .page_register form,
    form.cmp_form {
        padding: 20px !important;
        margin: 16px 0 !important;
    }
}

/* ==========================================================
   COMMON CONTENT PAGE FORMATTING (applies to all static pages)
========================================================== */

.pkp_structure_main .page,
.pkp_page_content,
.entry_content {
    line-height: 1.75 !important;
    color: #1e293b !important;
}

/* Headings */
.pkp_structure_main .page h2,
.pkp_page_content h2,
.entry_content h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0f3d91 !important;
    margin: 36px 0 14px !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid #e2e8f0 !important;
}

.pkp_structure_main .page h3,
.pkp_page_content h3,
.entry_content h3 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0f3d91 !important;
    margin: 22px 0 6px !important;
    padding-left: 10px !important;
    border-left: 4px solid #0f3d91 !important;
}

/* Paragraphs (also overrides align="justify") */
.pkp_structure_main .page p,
.pkp_page_content p,
.entry_content p {
    font-size: 16px !important;
    margin: 0 0 14px !important;
    text-align: left !important;
}

.pkp_structure_main .page strong,
.pkp_page_content strong,
.entry_content strong {
    color: #0f3d91 !important;
    font-weight: 600 !important;
}

/* Divider lines */
.pkp_structure_main .page hr,
.pkp_page_content hr,
.entry_content hr {
    border: none !important;
    border-top: 1px solid #e2e8f0 !important;
    margin: 28px 0 !important;
}

/* Lists */
.pkp_structure_main .page ul,
.pkp_page_content ul,
.entry_content ul {
    margin: 0 0 16px !important;
    padding-left: 22px !important;
}

.pkp_structure_main .page ul li,
.pkp_page_content ul li,
.entry_content ul li {
    margin-bottom: 8px !important;
}

.pkp_structure_main .page ul li::marker,
.pkp_page_content ul li::marker,
.entry_content ul li::marker {
    color: #0f3d91 !important;
}

/* Links */
.pkp_structure_main .page p a,
.pkp_structure_main .page li a,
.pkp_page_content p a,
.pkp_page_content li a,
.entry_content p a,
.entry_content li a {
    color: #0f3d91 !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* Tables */
.pkp_structure_main .page table,
.pkp_page_content table,
.entry_content table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin: 10px 0 20px !important;
    font-size: 15px !important;
}

.pkp_structure_main .page table th,
.pkp_page_content table th,
.entry_content table th {
    background: #0f3d91 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-align: left !important;
    padding: 12px 16px !important;
    border: none !important;
}

.pkp_structure_main .page table td,
.pkp_page_content table td,
.entry_content table td {
    padding: 11px 16px !important;
    border: none !important;
    border-top: 1px solid #e2e8f0 !important;
    vertical-align: top !important;
}

.pkp_structure_main .page table td:first-child,
.pkp_page_content table td:first-child,
.entry_content table td:first-child {
    width: 30% !important;
    font-weight: 600 !important;
    color: #0f3d91 !important;
    background: #f1f5f9 !important;
}

.pkp_structure_main .page table tr:nth-child(even) td:last-child,
.pkp_page_content table tr:nth-child(even) td:last-child,
.entry_content table tr:nth-child(even) td:last-child {
    background: #f8fafc !important;
}

/* Mobile */
@media (max-width: 767px) {
    .pkp_structure_main .page h2,
    .pkp_page_content h2,
    .entry_content h2 { font-size: 19px !important; }

    .pkp_structure_main .page h3,
    .pkp_page_content h3,
    .entry_content h3 { font-size: 16px !important; }

    .pkp_structure_main .page table th,
    .pkp_structure_main .page table td,
    .pkp_page_content table th,
    .pkp_page_content table td,
    .entry_content table th,
    .entry_content table td {
        padding: 9px 10px !important;
        font-size: 14px !important;
    }
}

/* Fix: keep mobile scrolling and font size for content pages */
@media (max-width: 767px) {
    .pkp_structure_main .page table,
    .pkp_page_content table,
    .entry_content table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .pkp_structure_main .page p,
    .pkp_structure_main .page li,
    .pkp_page_content p,
    .pkp_page_content li,
    .entry_content p,
    .entry_content li {
        font-size: 15px !important;
    }
}