/* ============================================================
   IJUTM — MODERN SCHOLARLY JOURNAL THEME
   Unified Stable Build v2.3
   Includes masthead, account dropdown, compact homepage spacing,
   and high-contrast publisher footer
   ============================================================ */

:root {
    --ij-green: #0b6f47;
    --ij-green-dark: #075638;
    --ij-green-soft: #eaf4ef;

    --ij-blue: #1f5f8b;
    --ij-blue-dark: #174a6d;
    --ij-blue-soft: #eef5fa;

    --ij-navy: #152536;
    --ij-navy-dark: #0d1926;
    --ij-gold: #b9944a;

    --ij-text: #202a33;
    --ij-text-soft: #53606b;
    --ij-muted: #6d7780;

    --ij-border: #dde2e5;
    --ij-border-soft: #edf0f2;
    --ij-bg: #ffffff;
    --ij-bg-soft: #f7f8f8;
    --ij-warm: #f7f6f2;

    --ij-max-width: 1240px;
    --ij-serif: Georgia, "Times New Roman", Times, serif;
    --ij-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    --ij-shadow-sm: 0 2px 8px rgba(20,40,55,.05);
    --ij-shadow-md: 0 10px 30px rgba(15,35,50,.10);
}


/* ============================================================
   OJS DEFAULT PUBLIC CHROME
   ============================================================ */

html.ijutm-custom-ready .pkp_structure_head {
    display: none !important;
}

html.ijutm-custom-ready .pkp_structure_footer {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

html.ijutm-custom-ready .pkp_structure_footer .pkp_footer_content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html.ijutm-custom-ready .pkp_brand_footer,
html.ijutm-custom-ready .pkp_site_footer {
    display: none !important;
}


/* ============================================================
   GLOBAL
   ============================================================ */

body.ijutm-public-theme {
    margin: 0;
    background: var(--ij-bg);
    color: var(--ij-text);
    font-family: var(--ij-sans);
    font-size: 16px;
    line-height: 1.68;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.ijutm-public-theme a {
    color: var(--ij-blue);
}

body.ijutm-public-theme a:hover {
    color: var(--ij-green-dark);
}

body.ijutm-public-theme h1,
body.ijutm-public-theme h2,
body.ijutm-public-theme h3,
body.ijutm-public-theme h4,
body.ijutm-public-theme .page_title {
    color: var(--ij-navy);
    font-family: var(--ij-serif);
    font-weight: 700;
}


/* ============================================================
   HEADER SHELL
   ============================================================ */

.ijutm-publisher-header,
.ijutm-publisher-header * {
    box-sizing: border-box;
}

.ijutm-publisher-header {
    width: 100%;
    position: relative;
    z-index: 5000;
    background: #fff;
    color: var(--ij-text);
    font-family: var(--ij-sans);
}

.ijutm-shell {
    width: calc(100% - 40px);
    max-width: var(--ij-max-width);
    margin-left: auto;
    margin-right: auto;
}


/* ============================================================
   UTILITY STRIP
   ============================================================ */

.ijutm-utility {
    width: 100%;
    background: var(--ij-navy-dark);
    color: rgba(255,255,255,.84);
    font-size: 11.5px;
    line-height: 1;
}

.ijutm-utility-inner {
    min-height: 30px;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
}

.ijutm-utility-meta {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
}

.ijutm-utility-meta span {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
    color: rgba(255,255,255,.78);
}

.ijutm-utility-meta span + span::before {
    content: "";
    width: 3px;
    height: 3px;
    flex: 0 0 3px;
    margin: 0 10px;
    border-radius: 50%;
    background: var(--ij-gold);
}


/* ============================================================
   MASTHEAD — ROBUST DESKTOP GRID
   ============================================================ */

.ijutm-masthead {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid var(--ij-border-soft);
}

.ijutm-masthead-inner {
    min-height: 104px;
    padding-top: 14px;
    padding-bottom: 14px;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    column-gap: 34px !important;

    position: relative !important;
}

.ijutm-journal-identity {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;

    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 16px !important;

    position: static !important;
    float: none !important;

    color: inherit !important;
    text-decoration: none !important;
}

.ijutm-logo-box {
    width: 68px !important;
    height: 68px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

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

    background: #fff;
    border: 1px solid var(--ij-border);

    position: static !important;
    float: none !important;
}

.ijutm-logo-box img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
}

.ijutm-journal-title {
    display: block !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;

    position: static !important;
    float: none !important;
}

.ijutm-title-prefix {
    display: block !important;
    width: auto !important;
    max-width: none !important;

    margin: 0 0 2px !important;

    color: var(--ij-blue);

    font-family: var(--ij-serif);
    font-size: 20px !important;
    font-style: italic;
    font-weight: 500;
    line-height: 1.05 !important;

    white-space: nowrap !important;
}

.ijutm-title-main {
    display: block !important;
    width: auto !important;
    max-width: none !important;

    margin: 0 !important;

    color: var(--ij-navy);

    font-family: var(--ij-serif);
    font-size: clamp(31px, 2.7vw, 39px) !important;
    font-weight: 700;
    line-height: 1.03 !important;
    letter-spacing: -.022em;

    white-space: nowrap !important;
}

.ijutm-title-meta {
    display: block !important;
    width: auto !important;
    max-width: none !important;

    margin: 6px 0 0 !important;

    color: #74808a;

    font-family: var(--ij-sans);
    font-size: 12px !important;
    line-height: 1.25 !important;

    white-space: nowrap !important;
}


/* ============================================================
   MASTHEAD ACTIONS — FORCE NORMAL FLOW
   ============================================================ */

.ijutm-masthead-actions {
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;

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

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;

    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    float: none !important;
    transform: none !important;
    z-index: auto !important;
}

.ijutm-search-trigger {
    min-height: 38px !important;
    height: 38px !important;
    width: auto !important;

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

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    position: static !important;
    float: none !important;
    transform: none !important;

    background: #fff !important;
    border: 1px solid #cbd2d7 !important;
    border-radius: 2px !important;
    box-shadow: none !important;

    color: var(--ij-blue-dark) !important;

    font-family: var(--ij-sans);
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    cursor: pointer;
}

.ijutm-search-trigger:hover {
    background: var(--ij-blue-soft) !important;
    border-color: #9fb8c9 !important;
    color: var(--ij-blue) !important;
}

.ijutm-search-trigger svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}


/* ============================================================
   ACCOUNT BESIDE SEARCH
   ============================================================ */

.ijutm-account-slot {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;

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

    display: flex !important;
    align-items: center !important;

    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    float: none !important;
    transform: none !important;

    white-space: nowrap;
}

.ijutm-account-slot .pkp_navigation_user {
    width: auto !important;
    max-width: none !important;

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

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0 !important;

    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    float: none !important;
    transform: none !important;

    list-style: none !important;
}

.ijutm-account-slot .pkp_navigation_user > li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    float: none !important;
}

.ijutm-account-slot .pkp_navigation_user > li > a {
    min-height: 38px !important;
    height: 38px !important;

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

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #fff !important;
    border: 1px solid #cbd2d7 !important;
    border-radius: 2px !important;
    box-shadow: none !important;

    color: var(--ij-blue-dark) !important;

    font-family: var(--ij-sans);
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    text-decoration: none !important;
    text-shadow: none !important;

    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}

.ijutm-account-slot .pkp_navigation_user > li > a:hover,
.ijutm-account-slot .pkp_navigation_user > li > a:focus {
    background: var(--ij-blue-soft) !important;
    border-color: #9fb8c9 !important;
    color: var(--ij-blue) !important;
}

/* Account dropdown only */
.ijutm-account-slot .pkp_navigation_user ul {
    position: absolute !important;
    top: calc(100% + 7px) !important;
    right: 0 !important;
    left: auto !important;

    min-width: 205px !important;
    width: auto !important;

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

    list-style: none !important;

    background: #fff !important;
    border: 1px solid var(--ij-border) !important;
    border-top: 3px solid var(--ij-blue) !important;
    border-radius: 2px !important;

    box-shadow: var(--ij-shadow-md) !important;

    z-index: 9500 !important;
}

.ijutm-account-slot .pkp_navigation_user ul a {
    display: block !important;

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

    padding: 9px 10px !important;

    background: transparent !important;
    border: 0 !important;

    color: var(--ij-text) !important;

    font-family: var(--ij-sans);
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;

    text-decoration: none !important;
}

.ijutm-account-slot .pkp_navigation_user ul a:hover {
    background: var(--ij-blue-soft) !important;
    color: var(--ij-blue-dark) !important;
}

.ijutm-account-fallback {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.ijutm-account-fallback a {
    min-height: 38px;
    padding: 0 10px;

    display: inline-flex;
    align-items: center;

    background: #fff;
    border: 1px solid #cbd2d7;

    color: var(--ij-blue-dark) !important;

    font-size: 12.5px;
    font-weight: 600;

    text-decoration: none !important;
}


/* ============================================================
   SUBMIT BUTTON
   ============================================================ */

.ijutm-submit-button {
    min-height: 38px !important;
    height: 38px !important;
    width: auto !important;

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

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: static !important;
    float: none !important;
    transform: none !important;

    background: var(--ij-green) !important;
    border: 1px solid var(--ij-green) !important;
    border-radius: 2px !important;
    box-shadow: none !important;

    color: #fff !important;

    font-family: var(--ij-sans);
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    white-space: nowrap !important;
    text-decoration: none !important;
}

.ijutm-submit-button:hover {
    background: var(--ij-green-dark) !important;
    border-color: var(--ij-green-dark) !important;
    color: #fff !important;
}


/* ============================================================
   PRIMARY NAVIGATION
   ============================================================ */

.ijutm-navigation-bar {
    position: sticky;
    top: 0;
    z-index: 4500;

    width: 100%;

    background: #fff;

    border-top: 1px solid var(--ij-border-soft);
    border-bottom: 1px solid var(--ij-border);

    box-shadow: var(--ij-shadow-sm);
}

.ijutm-navigation-inner {
    min-height: 50px;
    display: flex;
    align-items: center;
}

.ijutm-primary-nav {
    min-height: 50px;
    display: flex;
    align-items: stretch;
}

.ijutm-primary-nav > a,
.ijutm-nav-dropdown > button {
    position: relative;

    min-height: 50px;
    padding: 0 13px;

    display: inline-flex;
    align-items: center;

    background: transparent;
    border: 0;

    color: #27333d !important;

    font-family: var(--ij-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .005em;

    white-space: nowrap;
    text-decoration: none !important;

    cursor: pointer;
}

.ijutm-primary-nav > a::after,
.ijutm-nav-dropdown > button::after {
    content: "";

    position: absolute;
    left: 13px;
    right: 13px;
    bottom: -1px;

    height: 2px;

    background: var(--ij-green);

    transform: scaleX(0);
    transform-origin: center;
    transition: transform .16s ease;
}

.ijutm-primary-nav > a:hover,
.ijutm-primary-nav > a.is-current,
.ijutm-nav-dropdown > button:hover,
.ijutm-nav-dropdown.is-open > button {
    color: var(--ij-blue-dark) !important;
}

.ijutm-primary-nav > a:hover::after,
.ijutm-primary-nav > a.is-current::after,
.ijutm-nav-dropdown > button:hover::after,
.ijutm-nav-dropdown.is-open > button::after {
    transform: scaleX(1);
}


/* ============================================================
   ABOUT DROPDOWN
   ============================================================ */

.ijutm-nav-dropdown {
    position: relative;
    display: flex;
}

.ijutm-nav-dropdown > button svg {
    width: 13px;
    height: 13px;
    margin-left: 6px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;

    transition: transform .16s ease;
}

.ijutm-nav-dropdown.is-open > button svg {
    transform: rotate(180deg);
}

.ijutm-dropdown-menu {
    display: none;

    position: absolute;
    top: calc(100% - 1px);
    left: 0;

    min-width: 235px;
    padding: 6px;

    background: #fff;

    border: 1px solid var(--ij-border);
    border-top: 3px solid var(--ij-blue);

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

    z-index: 8000;
}

.ijutm-nav-dropdown:hover .ijutm-dropdown-menu,
.ijutm-nav-dropdown:focus-within .ijutm-dropdown-menu,
.ijutm-nav-dropdown.is-open .ijutm-dropdown-menu {
    display: block;
}

.ijutm-dropdown-menu a {
    display: block;
    padding: 9px 10px;

    color: var(--ij-text) !important;

    font-size: 13px;
    line-height: 1.4;

    text-decoration: none !important;
}

.ijutm-dropdown-menu a:hover {
    background: var(--ij-blue-soft);
    color: var(--ij-blue-dark) !important;
}


/* ============================================================
   MOBILE MENU BUTTON
   ============================================================ */

.ijutm-mobile-menu-button {
    display: none;

    min-height: 40px;
    padding: 0 9px;

    align-items: center;
    gap: 6px;

    background: transparent;
    border: 1px solid var(--ij-border);

    color: var(--ij-navy);

    font-size: 13px;
    font-weight: 600;

    cursor: pointer;
}

.ijutm-mobile-menu-button svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}


/* ============================================================
   SEARCH OVERLAY
   ============================================================ */

.ijutm-search-overlay[hidden] {
    display: none !important;
}

.ijutm-search-overlay,
.ijutm-search-overlay * {
    box-sizing: border-box;
}

.ijutm-search-overlay {
    position: fixed;
    inset: 0;

    z-index: 12000;

    padding: 80px 20px;

    background: rgba(8,23,34,.76);
}

.ijutm-search-dialog {
    position: relative;

    max-width: 720px;
    margin: 0 auto;
    padding: 36px;

    background: #fff;

    border-top: 5px solid var(--ij-blue);

    box-shadow: 0 30px 80px rgba(0,0,0,.28);
}

.ijutm-search-kicker {
    display: block;
    margin-bottom: 6px;

    color: var(--ij-green);

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ijutm-search-dialog h2 {
    margin: 0 50px 5px 0;

    color: var(--ij-navy);

    font-family: var(--ij-serif);
    font-size: 30px;
    line-height: 1.15;
}

.ijutm-search-dialog p {
    margin: 0 0 22px;
    color: var(--ij-muted);
    font-size: 14px;
}

.ijutm-search-close {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 38px;
    height: 38px;

    background: transparent;
    border: 1px solid var(--ij-border);

    color: var(--ij-navy);
    font-size: 22px;

    cursor: pointer;
}

.ijutm-search-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.ijutm-search-form input {
    width: 100%;
    min-height: 50px;

    padding: 10px 13px;

    background: #fff;
    border: 1px solid #adb7bd;

    color: var(--ij-text);

    font-family: var(--ij-sans);
    font-size: 16px;
}

.ijutm-search-form input:focus {
    outline: 3px solid rgba(31,95,139,.13);
    border-color: var(--ij-blue);
}

.ijutm-search-form button {
    min-height: 50px;
    padding: 0 24px;

    background: var(--ij-green);
    border: 1px solid var(--ij-green);

    color: #fff;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
}


/* ============================================================
   OJS CONTENT
   ============================================================ */

body.ijutm-public-theme .pkp_structure_content {
    padding-top: 28px;
    padding-bottom: 44px;
}

body.ijutm-public-theme .page_title {
    margin-bottom: 24px;

    color: var(--ij-navy);

    font-size: clamp(29px, 3vw, 38px);
    line-height: 1.14;
    letter-spacing: -.018em;
}


/* Breadcrumbs */

body.ijutm-public-theme .cmp_breadcrumbs {
    margin-bottom: 23px;
    color: var(--ij-muted);
    font-size: 13px;
}

body.ijutm-public-theme .cmp_breadcrumbs a {
    color: var(--ij-blue);
    text-decoration: none;
}

body.ijutm-public-theme .cmp_breadcrumbs a:hover {
    color: var(--ij-green-dark);
    text-decoration: underline;
}


/* ============================================================
   ISSUE PAGE
   ============================================================ */

body.ijutm-public-theme .pkp_page_issue .heading {
    margin-bottom: 28px !important;
}

body.ijutm-public-theme .pkp_page_issue .sections {
    margin-top: 18px !important;
}

body.ijutm-public-theme .pkp_page_issue .section {
    margin-top: 21px !important;
}

body.ijutm-public-theme .pkp_page_issue .section > h2,
body.ijutm-public-theme .pkp_page_issue .section > .title {
    margin-top: 0 !important;
    margin-bottom: 15px !important;

    color: var(--ij-blue-dark);

    font-family: var(--ij-serif);
    font-size: 17px;
    font-weight: 400;
}


/* ============================================================
   ARTICLE LISTS
   ============================================================ */

body.ijutm-public-theme .obj_article_summary {
    margin: 0 !important;
    padding: 21px 0 !important;

    background: transparent !important;

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

    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

body.ijutm-public-theme .obj_article_summary:first-child {
    border-top: 1px solid var(--ij-border) !important;
}

body.ijutm-public-theme .obj_article_summary .title {
    margin-bottom: 7px;
}

body.ijutm-public-theme .obj_article_summary .title a {
    color: var(--ij-navy) !important;

    font-family: var(--ij-serif);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.28;

    text-decoration: none !important;
}

body.ijutm-public-theme .obj_article_summary .title a:hover {
    color: var(--ij-blue) !important;
}

body.ijutm-public-theme .obj_article_summary .authors {
    color: var(--ij-text-soft);
    font-size: 14px;
}

body.ijutm-public-theme .obj_article_summary .pages,
body.ijutm-public-theme .obj_article_summary .meta {
    color: var(--ij-muted);
    font-size: 13px;
}


/* PDF / HTML */

body.ijutm-public-theme .obj_article_summary .galleys_links {
    margin-top: 10px;
}

body.ijutm-public-theme .obj_article_summary .galleys_links a,
body.ijutm-public-theme .obj_galley_link {
    min-height: 30px;

    padding: 3px 10px !important;

    display: inline-flex !important;
    align-items: center;

    background: transparent !important;

    border: 1px solid var(--ij-green) !important;
    border-radius: 1px !important;

    box-shadow: none !important;

    color: var(--ij-green) !important;

    font-family: var(--ij-sans);
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;

    text-decoration: none !important;
}

body.ijutm-public-theme .obj_article_summary .galleys_links a:hover,
body.ijutm-public-theme .obj_galley_link:hover {
    background: var(--ij-green) !important;
    color: #fff !important;
}


/* ============================================================
   ARTICLE PAGE — REFINED TITLE
   ============================================================ */

body.ijutm-public-theme .pkp_page_article .page_title {
    max-width: 930px;

    color: var(--ij-navy);

    font-family: var(--ij-serif);
    font-size: clamp(28px, 2.65vw, 36px) !important;
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -.015em;
}

body.ijutm-public-theme .pkp_page_article .authors {
    color: var(--ij-text-soft);
}

body.ijutm-public-theme .pkp_page_article .abstract {
    margin: 28px 0;
    padding: 22px 26px;

    background: var(--ij-warm);

    border: 0;
    border-left: 4px solid var(--ij-green);

    border-radius: 0;
    box-shadow: none;
}

body.ijutm-public-theme .pkp_page_article .abstract h2 {
    margin-top: 0;
    color: var(--ij-blue-dark);
    font-size: 22px;
}

body.ijutm-public-theme .pkp_page_article .authors a,
body.ijutm-public-theme .pkp_page_article .doi a,
body.ijutm-public-theme .pkp_page_article .issue a {
    color: var(--ij-blue) !important;
}

body.ijutm-public-theme .pkp_page_article .authors a:hover,
body.ijutm-public-theme .pkp_page_article .doi a:hover,
body.ijutm-public-theme .pkp_page_article .issue a:hover {
    color: var(--ij-green-dark) !important;
}


/* ============================================================
   SIDEBAR
   ============================================================ */

body.ijutm-public-theme .pkp_structure_sidebar .pkp_block {
    margin-bottom: 20px;
    padding: 16px;

    background: #fff;

    border: 1px solid var(--ij-border);
    border-top: 3px solid var(--ij-green);

    border-radius: 0;
    box-shadow: none;
}

body.ijutm-public-theme .pkp_structure_sidebar .pkp_block .title {
    margin-bottom: 11px;

    color: var(--ij-blue-dark);

    font-family: var(--ij-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}


/* ============================================================
   FORMS
   ============================================================ */

body.ijutm-public-theme input[type="text"],
body.ijutm-public-theme input[type="email"],
body.ijutm-public-theme input[type="password"],
body.ijutm-public-theme input[type="search"],
body.ijutm-public-theme textarea,
body.ijutm-public-theme select {
    background: #fff;
    border: 1px solid #b8c1c6;
    border-radius: 1px;
    font-family: var(--ij-sans);
}

body.ijutm-public-theme input:focus,
body.ijutm-public-theme textarea:focus,
body.ijutm-public-theme select:focus {
    outline: 3px solid rgba(31,95,139,.11);
    border-color: var(--ij-blue);
}


/* ============================================================
   TABLES
   ============================================================ */

body.ijutm-public-theme table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    box-shadow: none;
}

body.ijutm-public-theme th {
    padding: 10px 12px;

    background: var(--ij-navy);
    border: 1px solid var(--ij-navy);

    color: #fff;

    font-family: var(--ij-sans);
    font-size: 13px;
    font-weight: 600;

    text-align: left;
}

body.ijutm-public-theme td {
    padding: 10px 12px;
    border: 1px solid var(--ij-border);
    vertical-align: top;
}


/* ============================================================
   FOOTER
   ============================================================ */

.ijutm-publisher-footer,
.ijutm-publisher-footer * {
    box-sizing: border-box;
}

.ijutm-publisher-footer {
    width: 100%;
    margin: 0;

    background: var(--ij-navy-dark);
    border-top: 4px solid var(--ij-green);

    color: rgba(255,255,255,.84);

    font-family: var(--ij-sans);
}

.ijutm-footer-inner {
    width: calc(100% - 40px);
    max-width: var(--ij-max-width);

    margin: 0 auto;
    padding: 24px 0 19px;

    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.2fr;
    gap: 30px;
}

.ijutm-footer-mark {
    color: #fff;

    font-family: var(--ij-serif);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.1;
}

.ijutm-footer-summary {
    max-width: 400px;
    margin: 7px 0 0;

    color: rgba(255,255,255,.76);

    font-size: 12.5px;
    line-height: 1.5;
}

.ijutm-footer-heading {
    margin: 0 0 9px;

    color: #fff;

    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ijutm-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ijutm-footer-links li {
    margin: 3px 0;
}

.ijutm-footer-links a {
    color: rgba(255,255,255,.82) !important;
    font-size: 12.5px;
    text-decoration: none !important;
}

.ijutm-footer-links a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}

.ijutm-footer-contact {
    color: rgba(255,255,255,.80);
    font-size: 12.5px;
    line-height: 1.5;
}

.ijutm-footer-contact a {
    color: #fff !important;
    text-decoration: none;
}

.ijutm-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.10);
}

.ijutm-footer-bottom-inner {
    width: calc(100% - 40px);
    max-width: var(--ij-max-width);

    min-height: 39px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    color: rgba(255,255,255,.64);
    font-size: 11px;
}


/* ============================================================
   TABLET — SWITCH BEFORE THE DESKTOP HEADER CAN CRAMP
   ============================================================ */

@media (max-width: 1180px) {

    .ijutm-masthead-inner {
        grid-template-columns: minmax(0, 1fr) max-content !important;
        column-gap: 18px !important;
    }

    .ijutm-title-prefix {
        font-size: 17px !important;
    }

    .ijutm-title-main {
        font-size: clamp(27px, 2.8vw, 34px) !important;
    }

    .ijutm-title-meta {
        font-size: 11px !important;
    }

    .ijutm-search-trigger span {
        display: none;
    }

    .ijutm-search-trigger {
        width: 38px !important;
        padding: 0 !important;
    }

    .ijutm-submit-button {
        padding: 0 12px !important;
    }

    .ijutm-mobile-menu-button {
        display: inline-flex;
    }

    .ijutm-navigation-inner {
        min-height: 48px;
    }

    .ijutm-primary-nav {
        display: none;

        position: absolute;
        left: 0;
        right: 0;
        top: 100%;

        min-height: auto;
        padding: 8px 20px 14px;

        background: #fff;
        border-bottom: 1px solid var(--ij-border);

        box-shadow: 0 15px 30px rgba(20,40,55,.10);
    }

    .ijutm-primary-nav.is-open {
        display: block;
    }

    .ijutm-primary-nav > a,
    .ijutm-nav-dropdown > button {
        width: 100%;
        min-height: 43px;
        padding: 0 8px;
        justify-content: flex-start;
        border-bottom: 1px solid var(--ij-border-soft);
    }

    .ijutm-primary-nav > a::after,
    .ijutm-nav-dropdown > button::after {
        display: none;
    }

    .ijutm-nav-dropdown {
        display: block;
    }

    .ijutm-dropdown-menu {
        position: static;
        min-width: 0;
        margin: 3px 0 8px 10px;
        padding: 3px 8px;

        border: 0;
        border-left: 3px solid var(--ij-blue);
        box-shadow: none;
    }

    .ijutm-footer-inner {
        grid-template-columns: 1fr 1fr;
    }
}


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

@media (max-width: 760px) {

    .ijutm-shell {
        width: calc(100% - 26px);
    }

    .ijutm-utility-meta span:nth-child(3),
    .ijutm-utility-meta span:nth-child(4) {
        display: none !important;
    }

    .ijutm-utility-meta span + span::before {
        margin: 0 7px;
    }

    .ijutm-masthead-inner {
        min-height: 84px;
        padding-top: 10px;
        padding-bottom: 10px;

        grid-template-columns: minmax(0, 1fr) auto !important;
        column-gap: 10px !important;
    }

    .ijutm-journal-identity {
        grid-template-columns: 50px minmax(0, 1fr) !important;
        column-gap: 9px !important;
    }

    .ijutm-logo-box {
        width: 50px !important;
        height: 50px !important;
    }

    .ijutm-title-prefix {
        font-size: 12.5px !important;
        white-space: normal !important;
    }

    .ijutm-title-main {
        font-size: clamp(19px, 5.7vw, 25px) !important;
        white-space: normal !important;
    }

    .ijutm-title-meta {
        display: none !important;
    }

    .ijutm-submit-button {
        display: none !important;
    }

    .ijutm-search-trigger {
        width: 35px !important;
        height: 35px !important;
        min-height: 35px !important;
    }

    .ijutm-account-slot .pkp_navigation_user > li > a {
        min-height: 35px !important;
        height: 35px !important;
        max-width: 105px;
        padding: 0 8px !important;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ijutm-footer-inner {
        width: calc(100% - 32px);
        padding: 21px 0 17px;
        grid-template-columns: 1fr;
        gap: 21px;
    }

    .ijutm-footer-bottom-inner {
        width: calc(100% - 32px);
        min-height: auto;
        padding: 8px 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
    }

    .ijutm-search-overlay {
        padding: 45px 13px;
    }

    .ijutm-search-dialog {
        padding: 27px 18px;
    }

    .ijutm-search-form {
        grid-template-columns: 1fr;
    }

    body.ijutm-public-theme .pkp_structure_content {
        padding-top: 24px;
    }

    body.ijutm-public-theme .pkp_page_article .page_title {
        font-size: clamp(26px, 7vw, 33px) !important;
    }
}


/* ============================================================
   ACCESSIBILITY
   ============================================================ */

.ijutm-publisher-header a:focus-visible,
.ijutm-publisher-header button:focus-visible,
.ijutm-publisher-footer a:focus-visible,
.ijutm-search-dialog button:focus-visible,
.ijutm-search-dialog input:focus-visible {
    outline: 3px solid rgba(31,95,139,.30);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .ijutm-publisher-header *,
    .ijutm-publisher-footer *,
    .ijutm-search-overlay * {
        transition: none !important;
        animation: none !important;
    }
}
/* ============================================================
   ACCOUNT DROPDOWN — CONTINUOUS HOVER BRIDGE
   ============================================================ */

.ijutm-account-slot .pkp_navigation_user > li {
    position: relative !important;
}

/* No dead gap between account button and dropdown */
.ijutm-account-slot .pkp_navigation_user > li > ul {
    top: calc(100% - 1px) !important;
    margin-top: 0 !important;
    padding-top: 7px !important;
    z-index: 9600 !important;
}

/* Invisible bridge keeps hover state alive while moving downward */
.ijutm-account-slot .pkp_navigation_user > li::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 10px;
    background: transparent;
    pointer-events: auto;
}

.ijutm-account-slot .pkp_navigation_user > li:hover > ul,
.ijutm-account-slot .pkp_navigation_user > li:focus-within > ul,
.ijutm-account-slot .pkp_navigation_user > li > ul:hover {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* ============================================================
   HOMEPAGE / ISSUE TOC — COMPACT VERTICAL RHYTHM
   ============================================================ */

body.ijutm-public-theme .pkp_page_index .homepage_about {
    margin-bottom: 32px !important;
}

body.ijutm-public-theme .pkp_page_index .current_issue {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.ijutm-public-theme .pkp_page_index .current_issue .obj_issue_toc .heading,
body.ijutm-public-theme .pkp_page_index .obj_issue_toc .heading {
    margin-bottom: 18px !important;
    padding-bottom: 0 !important;
}

body.ijutm-public-theme .pkp_page_index .current_issue .obj_issue_toc .published,
body.ijutm-public-theme .pkp_page_index .obj_issue_toc .published {
    margin-top: 10px !important;
    margin-bottom: 12px !important;
}

body.ijutm-public-theme .pkp_page_index .current_issue .obj_issue_toc .sections,
body.ijutm-public-theme .pkp_page_index .obj_issue_toc .sections {
    margin-top: 16px !important;
    padding-top: 0 !important;
}

body.ijutm-public-theme .pkp_page_index .current_issue .obj_issue_toc .section,
body.ijutm-public-theme .pkp_page_index .obj_issue_toc .section {
    margin-top: 16px !important;
    margin-bottom: 22px !important;
    padding-top: 0 !important;
}

body.ijutm-public-theme .pkp_page_index .obj_issue_toc .section > h2,
body.ijutm-public-theme .pkp_page_index .obj_issue_toc .section > .title,
body.ijutm-public-theme .pkp_page_index .current_issue .section > h2,
body.ijutm-public-theme .pkp_page_index .current_issue .section > .title {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding-top: 0 !important;
}

body.ijutm-public-theme .pkp_page_index .obj_issue_toc .articles,
body.ijutm-public-theme .pkp_page_index .obj_issue_toc .cmp_article_list {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.ijutm-public-theme .pkp_page_index .obj_article_summary {
    padding-top: 17px !important;
    padding-bottom: 17px !important;
}

/* Same compact rhythm on standalone issue pages */
body.ijutm-public-theme .pkp_page_issue .obj_issue_toc .heading {
    margin-bottom: 18px !important;
}

body.ijutm-public-theme .pkp_page_issue .obj_issue_toc .sections {
    margin-top: 16px !important;
}

body.ijutm-public-theme .pkp_page_issue .obj_issue_toc .section {
    margin-top: 16px !important;
    margin-bottom: 22px !important;
}


/* ============================================================
   FOOTER — HIGH CONTRAST, CLEAR JOURNAL DETAILS
   ============================================================ */

/* Override global heading rules inside the dark footer */
body.ijutm-public-theme .ijutm-publisher-footer {
    color: rgba(255,255,255,.84) !important;
}

body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-mark {
    color: #ffffff !important;
    font-size: 22px;
    letter-spacing: .01em;
}

body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-summary {
    color: rgba(255,255,255,.76) !important;
    font-size: 12.75px;
    line-height: 1.58;
}

body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-heading {
    color: #ffffff !important;
    font-family: var(--ij-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .11em;
    text-transform: uppercase;
}

body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-links a {
    color: rgba(255,255,255,.84) !important;
    font-size: 12.75px;
    line-height: 1.45;
}

body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-links a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-contact {
    color: rgba(255,255,255,.82) !important;
    font-size: 12.75px;
    line-height: 1.58;
}

body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-contact a {
    color: #ffffff !important;
    font-weight: 500;
}

body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-bottom-inner {
    color: rgba(255,255,255,.66) !important;
    font-size: 11px;
}

/* Slightly brighter divider for a cleaner professional finish */
body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-bottom {
    border-top-color: rgba(255,255,255,.16) !important;
}


/* ============================================================
   FINAL RESPONSIVE FOOTER LEGIBILITY
   ============================================================ */

@media (max-width: 760px) {
    body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-summary,
    body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-links a,
    body.ijutm-public-theme .ijutm-publisher-footer .ijutm-footer-contact {
        font-size: 13px;
    }
}
