/* ==========================================================
   OJS 3.5 - FINAL NEXORA STYLESHEET v9
   - Uploaded Journal/Page Header Logo becomes the full-width header
   - User/Register/Login navigation is anchored at the far-right of the navigation bar
   - Desktop navigation overlaps the lower edge of the uploaded header and scales fluidly
   - Navigation and body use the same fluid centered guide
   - Responsive tablet/mobile navigation
   - Sidebar and Custom Block Manager cards styled consistently
   ========================================================== */


:root {
  --nexora-navy: #102856;
  --nexora-navy-2: #1a315f;
  --nexora-blue: #315986;
  --nexora-green: #68ad7a;
  --nexora-green-dark: #28744f;
  --nexora-charcoal: #555d61;
  --nexora-paper: #ffffff;
  --nexora-page: #f6f7f9;
  --nexora-ink: #23262a;
  --nexora-muted: #68717b;
  --nexora-line: #e5e8ee;
  --nexora-warm-line: #eadfd2;
  --nexora-warm-text: #8a4c20;
  --nexora-shadow: 0 8px 26px rgba(22, 35, 63, 0.10);
  --nexora-shadow-soft: 0 3px 14px rgba(22, 35, 63, 0.08);
  --nexora-radius: 18px;
  --nexora-container: 1330px;
  --nexora-desktop-width: 81%;
}

/* ===== 1. HEADER CONTAINER ===== */
.pkp_structure_head {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Remove decorative layers from previous/custom themes */
.pkp_structure_head::before,
.pkp_structure_head::after {
    content: none !important;
    display: none !important;
}

/* Make OJS header wrapper full width */
.pkp_head_wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ===== 2. UPLOADED LOGO = FULL HEADER ===== */
.pkp_site_name_wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.pkp_site_name {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    line-height: 0 !important;
}

.pkp_site_name > a,
.pkp_site_name > a.is_img,
.pkp_site_name .is_img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    line-height: 0 !important;
}

/* The actual uploaded logo/header image */
.pkp_site_name img,
.pkp_site_name .is_img img,
.pkp_site_name a.is_img img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
    object-position: center top !important;
    filter: none !important;
}

/* ===== 3. REGISTER + LOGIN - TOP RIGHT, ALIGNED TO BODY GUIDE ===== */
@media (min-width: 992px) {
    .pkp_navigation_user_wrapper {
        position: absolute !important;
        z-index: 1000 !important;
        top: 18px !important;
        right: calc((100vw - min(var(--nexora-container), 81vw)) / 2 + 28px) !important;
        left: auto !important;
        bottom: auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        background: transparent !important;
        border: 0 !important;
    }

    .pkp_navigation_user {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .pkp_navigation_user > li {
        position: relative !important;
        display: block !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pkp_navigation_user > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 108px !important;
        min-height: 42px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 10px 20px !important;
        border: 1px solid rgba(0,0,0,.13) !important;
        border-radius: 10px !important;
        background: rgba(255,255,255,.96) !important;
        box-shadow: 0 3px 10px rgba(0,0,0,.16) !important;
        color: #151515 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap !important;
        transition: transform .16s ease, box-shadow .16s ease, background .16s ease !important;
    }

    .pkp_navigation_user > li > a:hover,
    .pkp_navigation_user > li > a:focus {
        background: #ffffff !important;
        color: #102856 !important;
        box-shadow: 0 5px 14px rgba(0,0,0,.22) !important;
        transform: translateY(-1px) !important;
        outline: none !important;
    }
}

/* ============================================================
   3) PRIMARY NAVIGATION — WHITE BAR
   ============================================================ */

@media (min-width: 992px) {
  .pkp_site_nav_menu {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    display: flex !important;
    align-items: stretch;

    /* Narrow centered guide matching the reference; same guide as the body */
    width: min(var(--nexora-container), var(--nexora-desktop-width)) !important;
    max-width: var(--nexora-container) !important;
    min-height: 56px;
    box-sizing: border-box !important;

    margin: -50px auto 0 !important;
    /* Less negative than v4 = navbar sits slightly lower than before. */
    padding: 0 18px !important;

    border: 1px solid #e2e5eb;
    border-radius: 0;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 4px 14px rgba(20, 34, 58, .15);
  }

  .pkp_navigation_primary_wrapper {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 !important;
  }

  .pkp_navigation_primary {
    display: flex !important;
    align-items: stretch;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .pkp_navigation_primary > li {
    display: flex !important;
    align-items: stretch;
    margin: 0 !important;
  }

  .pkp_navigation_primary > li > a {
    display: flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 0 !important;
    color: var(--nexora-navy) !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 56px !important;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: color .15s ease, background-color .15s ease;
  }

  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary > li > a:focus {
    outline: none !important;
    background: #f3f6fb !important;
    color: var(--nexora-green-dark) !important;
  }

  .pkp_navigation_primary > li > a::before {
    margin-right: 7px;
    color: var(--nexora-navy);
    font-family: FontAwesome;
    font-weight: normal;
    opacity: .95;
  }

  /* familiar icons on common OJS menu labels/positions */
  .pkp_navigation_primary > li:nth-child(1) > a::before { content: "\f015"; }
  .pkp_navigation_primary > li:nth-child(2) > a::before { content: "\f05a"; }
  .pkp_navigation_primary > li:nth-child(3) > a::before { content: "\f15c"; }
  .pkp_navigation_primary > li:nth-child(4) > a::before { content: "\f15b"; }

  .pkp_navigation_primary ul,
  .pkp_navigation_primary .dropdown-menu {
    z-index: 10050 !important;
    min-width: 235px;
    margin: 0 !important;
    padding: 7px 0 !important;
    border: 1px solid #dfe4ec !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 12px 26px rgba(16,40,86,.18) !important;
  }

  .pkp_navigation_primary ul a,
  .pkp_navigation_primary .dropdown-menu a {
    padding: 10px 15px !important;
    border: 0 !important;
    color: #26344d !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35 !important;
    text-transform: none;
  }

  .pkp_navigation_primary ul a:hover,
  .pkp_navigation_primary ul a:focus,
  .pkp_navigation_primary .dropdown-menu a:hover,
  .pkp_navigation_primary .dropdown-menu a:focus {
    background: #f1f5fb !important;
    color: var(--nexora-green-dark) !important;
  }

  .pkp_navigation_search_wrapper {
    display: flex;
    align-items: center;
    float: none !important;
    flex: 0 0 auto;
    margin: 0 6px 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .pkp_navigation_search_wrapper a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 135px;
    margin: 0 !important;
    padding: 10px 20px !important;
    border: 0 !important;
    border-radius: 14px;
    background: #e3e9fa !important;
    color: var(--nexora-green-dark) !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  .pkp_navigation_search_wrapper a:hover,
  .pkp_navigation_search_wrapper a:focus {
    outline: none !important;
    background: #d7e1f7 !important;
    color: var(--nexora-navy) !important;
  }
}

/* ============================================================
   4) PAGE WIDTH / MAIN COLUMN
   Navigation, main content and sidebar share one centered guide.
   ============================================================ */

.pkp_structure_content {
  /* Same horizontal line as the desktop navigation bar */
  width: min(var(--nexora-container), var(--nexora-desktop-width)) !important;
  max-width: var(--nexora-container) !important;
  box-sizing: border-box !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-top: 30px !important;
  padding-bottom: 40px !important;
}

.pkp_structure_main {
  color: var(--nexora-ink);
}

/* generic inner pages */
.pkp_structure_main > .page:not(.page_index_journal),
.pkp_structure_main > .page_article,
.pkp_structure_main > .page_issue,
.pkp_structure_main > .page_issue_archive,
.pkp_structure_main > .page_search,
.pkp_structure_main > .page_login,
.pkp_structure_main > .page_register,
.pkp_structure_main > .page_about {
  padding: 26px 28px 32px;
  border: 1px solid #e1e5ec;
  border-radius: var(--nexora-radius);
  background: #fff;
  box-shadow: var(--nexora-shadow-soft);
}

/* ============================================================
   5) HOMEPAGE SECTIONS / CARDS
   ============================================================ */

.pkp_structure_main .page_index_journal > .homepage_image {
  overflow: hidden;
  margin: 0 0 24px;
  border-radius: var(--nexora-radius);
  box-shadow: var(--nexora-shadow-soft);
}

.pkp_structure_main .page_index_journal > .homepage_image img {
  display: block;
  width: 100%;
  height: auto;
}

.pkp_structure_main .page_index_journal > .homepage_about,
.pkp_structure_main .page_index_journal > .cmp_announcements,
.pkp_structure_main .page_index_journal > .latest_articles,
.pkp_structure_main .page_index_journal > .current_issue,
.pkp_structure_main .page_index_journal > .additional_content {
  margin: 0 0 26px !important;
  padding: 25px 28px 30px !important;
  border: 1px solid #dde2ec !important;
  border-radius: var(--nexora-radius) !important;
  background: #fff !important;
  box-shadow: var(--nexora-shadow-soft) !important;
}

/* Heading style like "About the Journal" in reference */
.pkp_structure_main .homepage_about > h2,
.pkp_structure_main .cmp_announcements > h2,
.pkp_structure_main .latest_articles > h2,
.pkp_structure_main .current_issue > h2,
.pkp_structure_main .additional_content > h2,
.pkp_structure_main .page > h1 {
  position: relative;
  margin: 0 0 24px !important;
  padding: 0 0 16px !important;
  border: 0 !important;
  color: #24272b;
  font-size: clamp(22px, 1.65vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.pkp_structure_main .homepage_about > h2::after,
.pkp_structure_main .cmp_announcements > h2::after,
.pkp_structure_main .latest_articles > h2::after,
.pkp_structure_main .current_issue > h2::after,
.pkp_structure_main .additional_content > h2::after,
.pkp_structure_main .page > h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(100%, 560px);
  height: 4px;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--nexora-blue) 0 28%, #edf0f5 28% 100%);
}

/* Homepage description text */
.pkp_structure_main .homepage_about,
.pkp_structure_main .homepage_about p,
.pkp_structure_main .additional_content,
.pkp_structure_main .additional_content p {
  font-size: 16px;
  line-height: 1.72;
}

/* Tables placed inside About/Additional Home Content */
.pkp_structure_main .homepage_about table,
.pkp_structure_main .additional_content table {
  width: 100% !important;
  max-width: 100%;
  margin: 6px 0 14px;
  border-collapse: collapse !important;
  border-spacing: 0;
  background: transparent;
}

.pkp_structure_main .homepage_about table td,
.pkp_structure_main .homepage_about table th,
.pkp_structure_main .additional_content table td,
.pkp_structure_main .additional_content table th {
  padding: 8px 8px !important;
  border: 0 !important;
  border-bottom: 1px dashed var(--nexora-warm-line) !important;
  color: #2f3338;
  font-size: 15.5px;
  line-height: 1.45;
  vertical-align: top;
}

.pkp_structure_main .homepage_about table th,
.pkp_structure_main .homepage_about table td:first-child,
.pkp_structure_main .additional_content table th,
.pkp_structure_main .additional_content table td:first-child {
  width: 28%;
  color: #25272a;
  font-weight: 800;
}

.pkp_structure_main .homepage_about table a,
.pkp_structure_main .additional_content table a {
  color: var(--nexora-warm-text);
  font-weight: 500;
  text-decoration: none;
}

.pkp_structure_main .homepage_about table a:hover,
.pkp_structure_main .additional_content table a:hover {
  color: var(--nexora-green-dark);
  text-decoration: underline;
}

.pkp_structure_main .homepage_about img,
.pkp_structure_main .additional_content img {
  max-width: 100%;
  height: auto;
}

/* ============================================================
   6) ANNOUNCEMENTS
   ============================================================ */

.pkp_structure_main .cmp_announcements .obj_announcement_summary {
  margin: 0;
  padding: 18px 0;
  border-top: 1px solid var(--nexora-line);
}

.pkp_structure_main .cmp_announcements .obj_announcement_summary:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.pkp_structure_main .obj_announcement_summary h3,
.pkp_structure_main .obj_announcement_summary h3 a {
  color: var(--nexora-navy) !important;
  font-weight: 800;
  text-decoration: none;
}

.pkp_structure_main .obj_announcement_summary h3 a:hover {
  color: var(--nexora-green-dark) !important;
}

/* ============================================================
   7) CURRENT ISSUE / ARTICLE LIST
   ============================================================ */

.pkp_structure_main .current_issue_title {
  margin: -8px 0 18px;
  color: var(--nexora-muted);
  font-size: 16px;
  font-weight: 700;
}

.pkp_structure_main .obj_issue_toc .heading {
  margin-bottom: 20px;
}

.pkp_structure_main .obj_issue_toc .cover img {
  border-radius: 4px;
  box-shadow: 0 10px 26px rgba(20,30,50,.18);
}

.pkp_structure_main .obj_issue_toc .section > h2,
.pkp_structure_main .obj_issue_toc .section > h3 {
  margin: 24px 0 12px !important;
  padding: 11px 14px !important;
  border-left: 5px solid var(--nexora-green);
  border-radius: 5px;
  background: #f4f6f9;
  color: var(--nexora-navy);
  font-size: 18px !important;
  font-weight: 800 !important;
}

.pkp_structure_main .cmp_article_list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pkp_structure_main .cmp_article_list > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.pkp_structure_main .obj_article_summary {
  margin: 0 !important;
  padding: 21px 4px !important;
  border-top: 1px solid var(--nexora-line) !important;
}

.pkp_structure_main .cmp_article_list > li:first-child .obj_article_summary {
  border-top: 0 !important;
}

.pkp_structure_main .obj_article_summary .title,
.pkp_structure_main .obj_article_summary .title a {
  color: var(--nexora-navy) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}

.pkp_structure_main .obj_article_summary .title a:hover {
  color: var(--nexora-green-dark) !important;
}

.pkp_structure_main .obj_article_summary .authors,
.pkp_structure_main .obj_article_summary .pages,
.pkp_structure_main .obj_article_summary .meta {
  color: #646d78;
  line-height: 1.55;
}

.pkp_structure_main .obj_galley_link,
.pkp_structure_main a.obj_galley_link,
.pkp_structure_main .obj_article_summary .galleys_links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  padding: 7px 13px !important;
  border: 1px solid var(--nexora-navy) !important;
  border-radius: 6px !important;
  background: var(--nexora-navy) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.pkp_structure_main .obj_galley_link:hover,
.pkp_structure_main a.obj_galley_link:hover,
.pkp_structure_main .obj_article_summary .galleys_links a:hover {
  border-color: var(--nexora-green-dark) !important;
  background: var(--nexora-green-dark) !important;
  transform: translateY(-1px);
}

.pkp_structure_main .current_issue > .read_more,
.pkp_structure_main a.read_more {
  display: inline-block;
  margin-top: 18px;
  padding: 10px 18px;
  border-radius: 8px;
  background: #eef2f8;
  color: var(--nexora-navy) !important;
  font-weight: 800;
  text-decoration: none !important;
}

.pkp_structure_main .current_issue > .read_more:hover,
.pkp_structure_main a.read_more:hover {
  background: var(--nexora-navy);
  color: #fff !important;
}

/* ============================================================
   8) ARTICLE DETAIL PAGE
   ============================================================ */

.pkp_structure_main .obj_article_details .page_title,
.pkp_structure_main .obj_article_details h1 {
  color: #202733;
  font-size: clamp(25px, 2.1vw, 36px) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.pkp_structure_main .obj_article_details .authors,
.pkp_structure_main .obj_article_details .author {
  color: #46505e;
}

.pkp_structure_main .obj_article_details .abstract,
.pkp_structure_main .obj_article_details .item {
  line-height: 1.72;
}

.pkp_structure_main .obj_article_details .abstract h2,
.pkp_structure_main .obj_article_details .item > h2,
.pkp_structure_main .obj_article_details .item > h3 {
  color: var(--nexora-navy);
  font-weight: 800;
}

/* ============================================================
   9) BREADCRUMBS
   ============================================================ */

.pkp_structure_main .cmp_breadcrumbs {
  margin: 0 0 20px !important;
  padding: 9px 13px !important;
  border: 1px solid #e2e7ef;
  border-radius: 8px;
  background: #f7f9fc;
  color: #6e7782;
  font-size: 13px;
}

.pkp_structure_main .cmp_breadcrumbs a {
  color: var(--nexora-navy) !important;
  font-weight: 700;
  text-decoration: none !important;
}

.pkp_structure_main .cmp_breadcrumbs a:hover {
  color: var(--nexora-green-dark) !important;
}

/* ============================================================
   10) FORMS / LOGIN / REGISTER / SEARCH
   ============================================================ */

.pkp_structure_main .cmp_form input[type="text"],
.pkp_structure_main .cmp_form input[type="email"],
.pkp_structure_main .cmp_form input[type="password"],
.pkp_structure_main .cmp_form input[type="url"],
.pkp_structure_main .cmp_form input[type="search"],
.pkp_structure_main .cmp_form select,
.pkp_structure_main .cmp_form textarea,
.pkp_structure_main .page_search input[type="text"],
.pkp_structure_main .page_search input[type="search"] {
  width: 100%;
  max-width: 100%;
  padding: 11px 13px;
  border: 1px solid #ccd3de;
  border-radius: 7px;
  background: #fff;
  color: #222;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.03);
}

.pkp_structure_main .cmp_form input:focus,
.pkp_structure_main .cmp_form select:focus,
.pkp_structure_main .cmp_form textarea:focus,
.pkp_structure_main .page_search input:focus {
  outline: 0;
  border-color: var(--nexora-blue);
  box-shadow: 0 0 0 3px rgba(49,89,134,.13);
}

.pkp_structure_main button.submit,
.pkp_structure_main .cmp_button,
.pkp_structure_main input[type="submit"] {
  padding: 10px 18px !important;
  border: 1px solid var(--nexora-navy) !important;
  border-radius: 7px !important;
  background: var(--nexora-navy) !important;
  color: #fff !important;
  font-weight: 800 !important;
  cursor: pointer;
}

.pkp_structure_main button.submit:hover,
.pkp_structure_main .cmp_button:hover,
.pkp_structure_main input[type="submit"]:hover {
  border-color: var(--nexora-green-dark) !important;
  background: var(--nexora-green-dark) !important;
}

/* ============================================================
   11) PAGINATION
   ============================================================ */

.pkp_structure_main .cmp_pagination {
  margin-top: 24px;
}

.pkp_structure_main .cmp_pagination a {
  border-radius: 6px;
  color: var(--nexora-navy) !important;
  font-weight: 700;
  text-decoration: none !important;
}

/* ============================================================
   12) FOOTER
   ============================================================ */

.pkp_structure_footer {
  margin-top: 18px;
  border-top: 5px solid var(--nexora-green);
  background: var(--nexora-navy) !important;
}

.pkp_structure_footer .pkp_footer_content {
  width: min(var(--nexora-container), var(--nexora-desktop-width));
  max-width: none !important;
  margin: 0 auto;
  padding: 34px 0;
  color: rgba(255,255,255,.92);
  line-height: 1.65;
}

.pkp_structure_footer .pkp_footer_content a {
  color: #dce8ff !important;
}

.pkp_structure_footer .pkp_footer_content a:hover {
  color: #fff !important;
}

/* ============================================================
   13) SIDEBAR — NEXORA CARDS
   Works with standard OJS blocks and Custom Block Manager HTML.
   ============================================================ */

@media (min-width: 992px) {
  /* Force the visual order regardless of the HTML order used by OJS/theme. */
  .pkp_structure_content.has_sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    grid-template-areas: "main sidebar" !important;
    column-gap: 24px !important;
    align-items: start !important;
    direction: ltr !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    grid-area: main !important;
    order: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    direction: ltr !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    grid-area: sidebar !important;
    order: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    direction: ltr !important;
  }
}

.pkp_structure_sidebar {
  box-sizing: border-box !important;
}

.pkp_structure_sidebar .pkp_block,
.pkp_structure_sidebar .nexora-sidebar-card {
  overflow: hidden;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 1px solid #dde2e9 !important;
  border-radius: 2px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(22,35,63,.07) !important;
  color: var(--nexora-ink);
}

/* Standard OJS block title + custom HTML card title */
.pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_sidebar .pkp_block .title,
.pkp_structure_sidebar .nexora-sidebar-card__title {
  display: flex !important;
  align-items: center;
  min-height: 56px;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe3e9 !important;
  background: linear-gradient(180deg, #fafafa 0%, #ececec 100%) !important;
  color: #245a89 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
  letter-spacing: .01em;
}

.pkp_structure_sidebar .pkp_block > .title::before,
.pkp_structure_sidebar .pkp_block .title::before,
.pkp_structure_sidebar .nexora-sidebar-card__title::before {
  content: "✹";
  display: inline-block;
  margin-right: 8px;
  color: var(--nexora-navy);
  font-size: 14px;
  line-height: 1;
}

.pkp_structure_sidebar .pkp_block > .content,
.pkp_structure_sidebar .pkp_block .content,
.pkp_structure_sidebar .nexora-sidebar-card__body {
  box-sizing: border-box;
  padding: 22px 18px 24px !important;
  color: #4d5662;
  font-size: 14.5px;
  line-height: 1.65;
}

.pkp_structure_sidebar .pkp_block img,
.pkp_structure_sidebar .nexora-sidebar-card img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  margin-left: auto;
  margin-right: auto;
}

.pkp_structure_sidebar .pkp_block p,
.pkp_structure_sidebar .nexora-sidebar-card p {
  margin-top: 0;
}

.pkp_structure_sidebar .pkp_block a,
.pkp_structure_sidebar .nexora-sidebar-card a {
  color: var(--nexora-navy);
  font-weight: 700;
  text-decoration: none !important;
}

.pkp_structure_sidebar .pkp_block a:hover,
.pkp_structure_sidebar .nexora-sidebar-card a:hover {
  color: var(--nexora-green-dark);
}

.pkp_structure_sidebar .nexora-sidebar-card__image {
  display: block;
  width: 100%;
  margin: 0 auto 18px;
}

.pkp_structure_sidebar .nexora-sidebar-card__lead {
  margin: 0 0 4px !important;
  color: var(--nexora-warm-text);
  font-size: 16px;
  font-weight: 800;
  text-align: center;
}

.pkp_structure_sidebar .nexora-sidebar-card__text {
  margin: 0 0 16px !important;
  text-align: center;
}

.pkp_structure_sidebar .nexora-sidebar-card__button,
.pkp_structure_sidebar a.nexora-sidebar-card__button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  margin: 12px 0 0 !important;
  padding: 11px 14px !important;
  border: 1px solid #b9bec7 !important;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #fff 0%, #f1f1f1 100%) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.12) !important;
  color: #51555a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-align: center;
  text-decoration: none !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.pkp_structure_sidebar .nexora-sidebar-card__button:hover,
.pkp_structure_sidebar a.nexora-sidebar-card__button:hover {
  border-color: var(--nexora-blue) !important;
  box-shadow: 0 4px 10px rgba(16,40,86,.15) !important;
  color: var(--nexora-navy) !important;
  transform: translateY(-1px);
}

.pkp_structure_sidebar .nexora-sidebar-links {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pkp_structure_sidebar .nexora-sidebar-links li {
  margin: 0 !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #edf0f4;
}

.pkp_structure_sidebar .nexora-sidebar-links li:last-child {
  border-bottom: 0;
  padding-bottom: 0 !important;
}

.pkp_structure_sidebar .nexora-sidebar-links li:first-child {
  padding-top: 0 !important;
}

/* ============================================================
   14) TABLET + MOBILE
   OJS keeps primary menu, search and user menu inside .pkp_site_nav_menu.
   We preserve the built-in toggle behavior and only restyle the panel.
   ============================================================ */

@media (max-width: 991px) {
  .pkp_structure_head,
  .pkp_head_wrapper,
  .pkp_site_name_wrapper,
  .pkp_site_name {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .pkp_structure_head::before,
  .pkp_structure_head::after {
    content: none !important;
    display: none !important;
  }

  .pkp_site_name {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    overflow: hidden !important;
    line-height: 0 !important;
  }

  .pkp_site_name > a,
  .pkp_site_name > a.is_img,
  .pkp_site_name .is_img,
  .pkp_site_name img,
  .pkp_site_name .is_img img,
  .pkp_site_name a.is_img img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  /* Hamburger floats over the lower-right corner of uploaded header image */
  .pkp_site_nav_toggle {
    position: absolute !important;
    z-index: 10020 !important;
    top: auto !important;
    right: 14px !important;
    bottom: 12px !important;
    left: auto !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border: 1px solid rgba(16,40,86,.18) !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.18) !important;
    color: var(--nexora-navy) !important;
  }

  /* Dropdown panel; JS/OJS still decides when it opens/closes */
  .pkp_site_nav_menu {
    z-index: 10010 !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    width: calc(100% - 28px) !important;
    max-width: 760px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 14px 16px 18px !important;
    transform: translateX(-50%) !important;
    border: 1px solid #dfe4ec !important;
    border-radius: 0 0 14px 14px !important;
    background: rgba(255,255,255,.99) !important;
    box-shadow: 0 14px 28px rgba(16,40,86,.18) !important;
  }

  .pkp_navigation_primary_row,
  .pkp_navigation_primary_wrapper,
  .pkp_navigation_primary,
  .pkp_navigation_user_wrapper,
  .pkp_navigation_user {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  .pkp_navigation_primary,
  .pkp_navigation_user {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .pkp_navigation_primary > li,
  .pkp_navigation_user > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .pkp_navigation_primary > li > a,
  .pkp_navigation_primary ul a,
  .pkp_navigation_user > li > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 11px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    background: transparent !important;
    color: var(--nexora-navy) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
  }

  .pkp_navigation_primary > li > a:hover,
  .pkp_navigation_primary ul a:hover,
  .pkp_navigation_user > li > a:hover {
    background: #f4f7fb !important;
    color: var(--nexora-green-dark) !important;
  }

  .pkp_navigation_primary ul,
  .pkp_navigation_primary .dropdown-menu {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f8fafc !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .pkp_navigation_search_wrapper {
    float: none !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #e4e8ee !important;
  }

  .pkp_navigation_search_wrapper a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 44px;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #e5ebf9 !important;
    color: var(--nexora-green-dark) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  .pkp_navigation_user_wrapper {
    position: static !important;
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    transform: none !important;
    border-top: 1px solid #e4e8ee !important;
    text-align: left !important;
  }

  .pkp_structure_content {
    width: calc(100% - 28px) !important;
    max-width: 940px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 20px !important;
    padding-bottom: 30px !important;
  }

  /* On tablet/mobile, always render main content first and sidebar below it,
     even when a theme outputs the sidebar earlier in the DOM. */
  .pkp_structure_content.has_sidebar {
    display: flex !important;
    flex-direction: column !important;
    width: calc(100% - 28px) !important;
    max-width: 940px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 20px !important;
    padding-bottom: 30px !important;
    direction: ltr !important;
  }

  .pkp_structure_main,
  .pkp_structure_sidebar,
  .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    direction: ltr !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    order: 1 !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    order: 2 !important;
    margin-top: 24px !important;
  }

  .pkp_structure_main > .page:not(.page_index_journal),
  .pkp_structure_main > .page_article,
  .pkp_structure_main > .page_issue,
  .pkp_structure_main > .page_issue_archive,
  .pkp_structure_main > .page_search,
  .pkp_structure_main > .page_login,
  .pkp_structure_main > .page_register,
  .pkp_structure_main > .page_about,
  .pkp_structure_main .page_index_journal > .homepage_about,
  .pkp_structure_main .page_index_journal > .cmp_announcements,
  .pkp_structure_main .page_index_journal > .latest_articles,
  .pkp_structure_main .page_index_journal > .current_issue,
  .pkp_structure_main .page_index_journal > .additional_content {
    padding: 20px 18px 24px !important;
    border-radius: 13px !important;
  }

  .pkp_structure_main .homepage_about table,
  .pkp_structure_main .additional_content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .pkp_structure_footer .pkp_footer_content {
    width: calc(100% - 36px) !important;
    padding: 28px 0 !important;
  }
}

/* Tablet: keep a little more breathing room */
@media (min-width: 768px) and (max-width: 991px) {
  .pkp_site_nav_toggle {
    right: 22px !important;
    bottom: 16px !important;
  }

  .pkp_site_nav_menu {
    width: calc(100% - 48px) !important;
  }

  .pkp_structure_content,
  .pkp_structure_content.has_sidebar {
    width: calc(100% - 48px) !important;
  }

  .pkp_structure_sidebar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 20px;
  }

  .pkp_structure_sidebar .pkp_block,
  .pkp_structure_sidebar .nexora-sidebar-card {
    margin-bottom: 0 !important;
  }
}

/* Phone */
@media (max-width: 600px) {
  .pkp_site_nav_toggle {
    right: 10px !important;
    bottom: 8px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 9px !important;
  }

  .pkp_site_nav_menu {
    width: calc(100% - 16px) !important;
    padding: 12px 12px 16px !important;
  }

  .pkp_structure_content,
  .pkp_structure_content.has_sidebar {
    width: calc(100% - 18px) !important;
    padding-top: 14px !important;
  }

  .pkp_structure_main .homepage_about > h2,
  .pkp_structure_main .cmp_announcements > h2,
  .pkp_structure_main .latest_articles > h2,
  .pkp_structure_main .current_issue > h2,
  .pkp_structure_main .additional_content > h2,
  .pkp_structure_main .page > h1 {
    font-size: 22px !important;
  }

  .pkp_structure_main .homepage_about table td,
  .pkp_structure_main .homepage_about table th,
  .pkp_structure_main .additional_content table td,
  .pkp_structure_main .additional_content table th {
    min-width: 145px;
    font-size: 14px;
  }

  .pkp_structure_sidebar .pkp_block > .title,
  .pkp_structure_sidebar .pkp_block .title,
  .pkp_structure_sidebar .nexora-sidebar-card__title {
    min-height: 50px;
    padding: 12px 15px !important;
    font-size: 15px !important;
  }

  .pkp_structure_sidebar .pkp_block > .content,
  .pkp_structure_sidebar .pkp_block .content,
  .pkp_structure_sidebar .nexora-sidebar-card__body {
    padding: 18px 15px 20px !important;
  }
}

/* ============================================================
   15) FINAL SAFETY OVERRIDES
   ============================================================ */

.pkp_site_name img,
.pkp_site_name .is_img img,
.pkp_site_name a.is_img img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
}

@media (min-width: 992px) {
  .pkp_head_wrapper {
    padding-top: 0 !important;
  }

  .pkp_site_nav_menu,
  .pkp_structure_content {
    width: min(var(--nexora-container), var(--nexora-desktop-width)) !important;
    max-width: var(--nexora-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .pkp_site_nav_menu {
    position: relative !important;
    z-index: 900 !important;
    margin-top: -50px !important;
  }

  .pkp_navigation_user_wrapper {
    top: 18px !important;
    right: calc((100vw - min(var(--nexora-container), 81vw)) / 2 + 28px) !important;
    left: auto !important;
  }
}

/* ============================================================
   15) NEXORA v7 — FLUID RESPONSIVE DESKTOP LAYOUT
   Fixes the v6 fixed 736px shell. The composition remains centered
   and Sawwa-inspired, but scales with the browser viewport.
   ============================================================ */

:root {
  --nexora-fluid-max: 1500px;
  --nexora-fluid-width: 84vw;
  --nexora-fluid-sidebar: clamp(255px, 23vw, 340px);
  --nexora-fluid-gap: clamp(16px, 1.5vw, 24px);
  --nexora-fluid-pad: clamp(14px, 1.25vw, 22px);
  --nexora-nav-height: 50px;
}

/* Prevent the Default Theme outer page wrapper from locking the site
   to a narrow fixed desktop width. */
.pkp_structure_page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f7f8fa !important;
  box-shadow: none !important;
}

html,
body {
  width: 100% !important;
  max-width: none !important;
  overflow-x: hidden !important;
  background: #f7f8fa !important;
}

/* Header must be allowed to use the full browser width. */
.pkp_structure_head,
.pkp_head_wrapper,
.pkp_site_name_wrapper,
.pkp_site_name,
.pkp_site_name > a,
.pkp_site_name > a.is_img,
.pkp_site_name .is_img {
  width: 100% !important;
  max-width: none !important;
}

.pkp_site_name img,
.pkp_site_name .is_img img,
.pkp_site_name a.is_img img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}

/* ---------- DESKTOP: 1200px and wider ---------- */
@media (min-width: 1200px) {
  .pkp_navigation_user_wrapper {
    top: clamp(10px, 1.1vw, 20px) !important;
    right: max(24px, calc((100vw - min(var(--nexora-fluid-max), var(--nexora-fluid-width))) / 2 + 18px)) !important;
  }

  .pkp_navigation_user {
    gap: 10px !important;
  }

  .pkp_navigation_user > li > a {
    min-width: 92px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 7px 16px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  /* Navigation and page body use exactly the same horizontal guide. */
  .pkp_site_nav_menu {
    width: min(var(--nexora-fluid-max), var(--nexora-fluid-width)) !important;
    max-width: var(--nexora-fluid-max) !important;
    min-height: var(--nexora-nav-height) !important;
    height: var(--nexora-nav-height) !important;
    margin: calc(-1 * var(--nexora-nav-height)) auto 0 !important;
    padding: 0 clamp(12px, 1vw, 20px) !important;
    box-sizing: border-box !important;
    border: 1px solid #dde2ea !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 3px 10px rgba(20,34,58,.13) !important;
  }

  .pkp_navigation_primary_wrapper {
    min-height: 48px !important;
    height: 48px !important;
  }

  .pkp_navigation_primary > li > a {
    height: 48px !important;
    padding: 0 clamp(12px, 1.25vw, 22px) !important;
    font-size: clamp(11px, .78vw, 13px) !important;
    line-height: 48px !important;
    font-weight: 800 !important;
  }

  .pkp_navigation_primary > li > a::before {
    margin-right: 6px !important;
    font-size: 11px !important;
  }

  .pkp_navigation_primary ul,
  .pkp_navigation_primary .dropdown-menu {
    min-width: 190px !important;
    padding: 6px 0 !important;
    border-radius: 5px !important;
  }

  .pkp_navigation_primary ul a,
  .pkp_navigation_primary .dropdown-menu a {
    padding: 9px 12px !important;
    font-size: 12px !important;
  }

  .pkp_navigation_search_wrapper {
    height: 48px !important;
    margin-left: auto !important;
  }

  .pkp_navigation_search_wrapper a {
    min-width: 94px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 7px 14px !important;
    border-radius: 16px !important;
    font-size: 12px !important;
    line-height: 16px !important;
  }

  .pkp_structure_content,
  .pkp_structure_content.has_sidebar {
    width: min(var(--nexora-fluid-max), var(--nexora-fluid-width)) !important;
    max-width: var(--nexora-fluid-max) !important;
    min-height: 640px !important;
    margin: 0 auto !important;
    padding: var(--nexora-fluid-pad) !important;
    box-sizing: border-box !important;
    border-right: 1px solid #e0e4ea !important;
    border-left: 1px solid #e0e4ea !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.055) !important;
  }

  .pkp_structure_content.has_sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--nexora-fluid-sidebar) !important;
    grid-template-areas: "main sidebar" !important;
    column-gap: var(--nexora-fluid-gap) !important;
    align-items: start !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    grid-area: main !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    grid-area: sidebar !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_structure_main {
    font-size: clamp(13px, .86vw, 15px) !important;
    line-height: 1.6 !important;
  }

  .pkp_structure_main > .page:not(.page_index_journal),
  .pkp_structure_main > .page_article,
  .pkp_structure_main > .page_issue,
  .pkp_structure_main > .page_issue_archive,
  .pkp_structure_main > .page_search,
  .pkp_structure_main > .page_login,
  .pkp_structure_main > .page_register,
  .pkp_structure_main > .page_about,
  .pkp_structure_main .page_index_journal > .homepage_about,
  .pkp_structure_main .page_index_journal > .cmp_announcements,
  .pkp_structure_main .page_index_journal > .latest_articles,
  .pkp_structure_main .page_index_journal > .current_issue,
  .pkp_structure_main .page_index_journal > .additional_content {
    margin: 0 0 18px !important;
    padding: clamp(18px, 1.45vw, 26px) !important;
    border: 1px solid #dfe4eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(22,35,63,.085) !important;
  }

  .pkp_structure_main .homepage_about > h2,
  .pkp_structure_main .cmp_announcements > h2,
  .pkp_structure_main .latest_articles > h2,
  .pkp_structure_main .current_issue > h2,
  .pkp_structure_main .additional_content > h2,
  .pkp_structure_main .page > h1 {
    margin: 0 0 16px !important;
    padding: 0 0 11px !important;
    font-size: clamp(17px, 1.15vw, 21px) !important;
    line-height: 1.25 !important;
  }

  .pkp_structure_main .homepage_about,
  .pkp_structure_main .homepage_about p,
  .pkp_structure_main .additional_content,
  .pkp_structure_main .additional_content p {
    font-size: clamp(13px, .86vw, 15px) !important;
    line-height: 1.65 !important;
  }

  .pkp_structure_main .homepage_about table td,
  .pkp_structure_main .homepage_about table th,
  .pkp_structure_main .additional_content table td,
  .pkp_structure_main .additional_content table th {
    padding: 6px 8px !important;
    font-size: clamp(12px, .8vw, 14px) !important;
    line-height: 1.45 !important;
  }

  .pkp_structure_sidebar {
    font-size: clamp(12px, .78vw, 14px) !important;
    line-height: 1.5 !important;
  }

  .pkp_structure_sidebar .pkp_block,
  .pkp_structure_sidebar .nexora-sidebar-card {
    margin: 0 0 16px !important;
    border-radius: 2px !important;
    box-shadow: 0 2px 8px rgba(22,35,63,.07) !important;
  }

  .pkp_structure_sidebar .pkp_block > .title,
  .pkp_structure_sidebar .pkp_block .title,
  .pkp_structure_sidebar .nexora-sidebar-card__title {
    min-height: 42px !important;
    padding: 11px 14px !important;
    font-size: clamp(11px, .75vw, 13px) !important;
    line-height: 1.3 !important;
  }

  .pkp_structure_sidebar .pkp_block > .content,
  .pkp_structure_sidebar .pkp_block .content,
  .pkp_structure_sidebar .nexora-sidebar-card__body {
    padding: 14px !important;
    font-size: clamp(12px, .78vw, 14px) !important;
    line-height: 1.55 !important;
  }

  .pkp_structure_sidebar .nexora-sidebar-links li {
    min-height: 40px !important;
    padding: 11px 14px !important;
    margin: 0 -14px !important;
  }

  .pkp_structure_footer .pkp_footer_content {
    width: min(var(--nexora-fluid-max), var(--nexora-fluid-width)) !important;
    max-width: var(--nexora-fluid-max) !important;
    margin: 0 auto !important;
    padding: 24px 0 !important;
  }
}

/* ---------- COMPACT DESKTOP / 14-inch typical widths ---------- */
@media (min-width: 992px) and (max-width: 1199px) {
  .pkp_navigation_user_wrapper {
    top: 10px !important;
    right: 28px !important;
  }

  .pkp_navigation_user > li > a {
    min-width: 78px !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 6px 12px !important;
    font-size: 11px !important;
  }

  .pkp_site_nav_menu,
  .pkp_structure_content,
  .pkp_structure_content.has_sidebar,
  .pkp_structure_footer .pkp_footer_content {
    width: calc(100% - 40px) !important;
    max-width: none !important;
  }

  .pkp_site_nav_menu {
    min-height: 46px !important;
    height: 46px !important;
    margin-top: -46px !important;
    padding: 0 12px !important;
  }

  .pkp_navigation_primary_wrapper,
  .pkp_navigation_search_wrapper {
    min-height: 44px !important;
    height: 44px !important;
  }

  .pkp_navigation_primary > li > a {
    height: 44px !important;
    padding: 0 11px !important;
    font-size: 11px !important;
    line-height: 44px !important;
  }

  .pkp_navigation_search_wrapper a {
    min-width: 82px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 6px 11px !important;
    font-size: 11px !important;
  }

  .pkp_structure_content,
  .pkp_structure_content.has_sidebar {
    padding: 16px !important;
  }

  .pkp_structure_content.has_sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(235px, 26vw, 285px) !important;
    grid-template-areas: "main sidebar" !important;
    column-gap: 16px !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    grid-area: main !important;
    min-width: 0 !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    grid-area: sidebar !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .pkp_structure_main {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  .pkp_structure_sidebar {
    font-size: 12px !important;
  }
}

/* ---------- TABLET ---------- */
@media (min-width: 768px) and (max-width: 991px) {
  .pkp_structure_page {
    width: 100% !important;
  }

  .pkp_structure_content,
  .pkp_structure_content.has_sidebar {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  .pkp_structure_content.has_sidebar {
    display: flex !important;
    flex-direction: column !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    order: 1 !important;
    width: 100% !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    order: 2 !important;
    width: 100% !important;
    max-width: none !important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {
  .pkp_structure_page {
    width: 100% !important;
  }

  .pkp_structure_content,
  .pkp_structure_content.has_sidebar {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  .pkp_structure_content.has_sidebar {
    display: flex !important;
    flex-direction: column !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    order: 1 !important;
    width: 100% !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    order: 2 !important;
    width: 100% !important;
    max-width: none !important;
  }
}
/* ============================================================
   16) NEXORA v8 — FINAL LAYOUT STABILITY FIXES
   - Sidebar cards are forced inside the body/grid boundary
   - User/account menu becomes part of navbar at the far-right
   - Footer outer width matches the body width
   ============================================================ */

/* ------------------------------------------------------------
   A. GLOBAL BOX-SIZING SAFETY FOR BODY + SIDEBAR
   ------------------------------------------------------------ */
.pkp_structure_content,
.pkp_structure_content *,
.pkp_structure_sidebar,
.pkp_structure_sidebar * {
  box-sizing: border-box !important;
}

/* Do not allow sidebar content to create a wider intrinsic column. */
.pkp_structure_sidebar,
.pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  align-self: start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* Every block must stay inside the sidebar column. */
.pkp_structure_sidebar .pkp_block,
.pkp_structure_sidebar .nexora-sidebar-card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: hidden !important;
}

/* Prevent content, widgets or plugin HTML from pushing the card outside. */
.pkp_structure_sidebar .pkp_block > .content,
.pkp_structure_sidebar .pkp_block .content,
.pkp_structure_sidebar .nexora-sidebar-card__body,
.pkp_structure_sidebar ul,
.pkp_structure_sidebar ol,
.pkp_structure_sidebar table,
.pkp_structure_sidebar form,
.pkp_structure_sidebar iframe,
.pkp_structure_sidebar video,
.pkp_structure_sidebar canvas {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.pkp_structure_sidebar img,
.pkp_structure_sidebar svg {
  max-width: 100% !important;
  height: auto !important;
}

.pkp_structure_sidebar a,
.pkp_structure_sidebar p,
.pkp_structure_sidebar li,
.pkp_structure_sidebar span {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
}

/* ------------------------------------------------------------
   B. DESKTOP ACCOUNT / REGISTER / LOGIN INSIDE NAVBAR
   ------------------------------------------------------------ */
@media (min-width: 992px) {

  /* Navbar becomes the single stable flex row. */
  .pkp_site_nav_menu {
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
  }

  /* Main menu + search use the available space. */
  .pkp_navigation_primary_row {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pkp_navigation_primary_wrapper {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  /*
   * Important:
   * cancel all previous absolute/top-right header positioning.
   * The user menu now sits naturally at the far-right of navbar.
   */
  .pkp_navigation_user_wrapper {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;

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

    margin: 0 0 0 clamp(8px, .8vw, 14px) !important;
    padding: 0 !important;

    transform: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: 10020 !important;
  }

  .pkp_navigation_user {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;

    width: auto !important;
    max-width: none !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .pkp_navigation_user > li {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Logged-in account button and Register/Login buttons. */
  .pkp_navigation_user > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 32px !important;
    height: 32px !important;

    margin: 0 !important;
    padding: 0 clamp(11px, .85vw, 15px) !important;

    border: 1px solid #d9dee7 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 2px 7px rgba(16,40,86,.10) !important;

    color: var(--nexora-navy) !important;
    font-size: clamp(10.5px, .72vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 30px !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    transform: none !important;
  }

  .pkp_navigation_user > li > a:hover,
  .pkp_navigation_user > li > a:focus {
    border-color: #c9d3e2 !important;
    background: #f5f8fc !important;
    color: var(--nexora-green-dark) !important;
    box-shadow: 0 3px 9px rgba(16,40,86,.13) !important;
    transform: none !important;
  }

  /* User dropdown opens from the right edge, never outside the body. */
  .pkp_navigation_user ul,
  .pkp_navigation_user .dropdown-menu {
    position: absolute !important;
    z-index: 10100 !important;
    top: calc(100% - 2px) !important;
    right: 0 !important;
    left: auto !important;

    width: max-content !important;
    min-width: 190px !important;
    max-width: min(280px, 75vw) !important;

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

    border: 1px solid #dfe4ec !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: 0 12px 26px rgba(16,40,86,.18) !important;
  }

  .pkp_navigation_user ul a,
  .pkp_navigation_user .dropdown-menu a {
    display: block !important;
    width: 100% !important;
    padding: 9px 12px !important;
    color: #26344d !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }
}

/* Search must remain immediately before user/account area on desktop. */
@media (min-width: 992px) {
  .pkp_navigation_search_wrapper {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

/* ------------------------------------------------------------
   C. DESKTOP GRID: HARD BOUNDARY FOR SIDEBAR
   ------------------------------------------------------------ */
@media (min-width: 1200px) {
  .pkp_structure_content.has_sidebar {
    overflow: hidden !important;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(255px, var(--nexora-fluid-sidebar)) !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .pkp_structure_content.has_sidebar {
    overflow: hidden !important;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(230px, clamp(235px, 26vw, 285px)) !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* ------------------------------------------------------------
   D. FOOTER = SAME OUTER WIDTH AS BODY
   ------------------------------------------------------------ */
.pkp_structure_footer {
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
}

.pkp_structure_footer .pkp_footer_content {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: clamp(16px, 1.4vw, 24px) !important;
  padding-right: clamp(16px, 1.4vw, 24px) !important;
}

@media (min-width: 1200px) {
  .pkp_structure_footer {
    width: min(var(--nexora-fluid-max), var(--nexora-fluid-width)) !important;
    max-width: var(--nexora-fluid-max) !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .pkp_structure_footer {
    width: calc(100% - 40px) !important;
    max-width: none !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .pkp_structure_footer {
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }
}

@media (max-width: 767px) {
  .pkp_structure_footer {
    width: calc(100% - 20px) !important;
    max-width: none !important;
  }
}

/* ------------------------------------------------------------
   E. TABLET / MOBILE SAFETY
   Account remains inside the OJS collapsible menu on small screens.
   ------------------------------------------------------------ */
@media (max-width: 991px) {
  .pkp_structure_sidebar,
  .pkp_structure_sidebar .pkp_block,
  .pkp_structure_sidebar .nexora-sidebar-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .pkp_structure_footer .pkp_footer_content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* ============================================================
   17) NEXORA v9 — TRUE FLUID SIDEBAR
   Sidebar width is derived from the BODY width, not the viewport.
   This prevents blocks from escaping the right guide on different
   resolutions, zoom levels, laptops and external monitors.
   ============================================================ */

:root {
  --nexora-sidebar-gap: clamp(12px, 1.35vw, 22px);
}

/* The two columns must always calculate from the available inner width. */
.pkp_structure_content.has_sidebar {
  min-width: 0 !important;
}

.pkp_structure_content.has_sidebar > .pkp_structure_main,
.pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Strong reset for every direct sidebar block, including plugin blocks. */
.pkp_structure_content.has_sidebar > .pkp_structure_sidebar > *,
.pkp_structure_sidebar > .pkp_block,
.pkp_structure_sidebar > .nexora-sidebar-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  transform: none !important;
}

/* Inner content can shrink instead of forcing the sidebar wider. */
.pkp_structure_sidebar .pkp_block *,
.pkp_structure_sidebar .nexora-sidebar-card * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.pkp_structure_sidebar table {
  table-layout: fixed !important;
  width: 100% !important;
}

.pkp_structure_sidebar input,
.pkp_structure_sidebar select,
.pkp_structure_sidebar textarea,
.pkp_structure_sidebar button {
  max-width: 100% !important;
}

.pkp_structure_sidebar iframe,
.pkp_structure_sidebar object,
.pkp_structure_sidebar embed,
.pkp_structure_sidebar video {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* ---------- LARGE + NORMAL DESKTOP ---------- */
@media (min-width: 1200px) {
  .pkp_structure_content.has_sidebar {
    display: grid !important;

    /* 74 / 26 approximately, calculated from BODY inner width. */
    grid-template-columns: minmax(0, 2.85fr) minmax(0, 1fr) !important;
    grid-template-areas: "main sidebar" !important;
    column-gap: var(--nexora-sidebar-gap) !important;
    align-items: start !important;
    overflow: hidden !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main {
    grid-area: main !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    grid-area: sidebar !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    overflow-x: hidden !important;
  }
}

/* ---------- COMPACT DESKTOP / COMMON 14-INCH VIEWPORTS ---------- */
@media (min-width: 992px) and (max-width: 1199px) {
  .pkp_structure_content.has_sidebar {
    display: grid !important;

    /* Slightly wider sidebar, but still percentage-like and fluid. */
    grid-template-columns: minmax(0, 2.55fr) minmax(0, 1fr) !important;
    grid-template-areas: "main sidebar" !important;
    column-gap: clamp(12px, 1.25vw, 16px) !important;
    align-items: start !important;
    overflow: hidden !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }
}

/* ---------- TABLET ---------- */
@media (min-width: 768px) and (max-width: 991px) {
  .pkp_structure_content.has_sidebar {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(12px, 2vw, 18px) !important;
    margin-top: 20px !important;
    overflow: hidden !important;
  }

  .pkp_structure_sidebar .pkp_block,
  .pkp_structure_sidebar .nexora-sidebar-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {
  .pkp_structure_content.has_sidebar {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_main,
  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
    display: block !important;
    margin-top: 18px !important;
    overflow: hidden !important;
  }

  .pkp_structure_sidebar .pkp_block,
  .pkp_structure_sidebar .nexora-sidebar-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 14px !important;
  }
}

/* Last line of defense: no visual element may cross the sidebar guide. */
.pkp_structure_sidebar {
  contain: inline-size !important;
  overflow-x: clip !important;
}

@supports not (overflow: clip) {
  .pkp_structure_sidebar {
    overflow-x: hidden !important;
  }
}



/* ============================================================
   NEXORA v10 FINAL OVERRIDE
   True fluid sidebar containment
   ============================================================ */

:root {
    --nexora-v10-main: 74%;
    --nexora-v10-sidebar: 26%;
}

@media (min-width: 992px) {

    .pkp_structure_content.has_sidebar {
        display: grid !important;
        grid-template-columns:
            minmax(0, var(--nexora-v10-main))
            minmax(0, var(--nexora-v10-sidebar)) !important;
        grid-template-areas:
            "main sidebar" !important;
        gap: clamp(12px, 1.2vw, 24px) !important;
        width: min(1500px, 84vw) !important;
        max-width: 1500px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .pkp_structure_content.has_sidebar > .pkp_structure_main {
        grid-area: main !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
        grid-area: sidebar !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .pkp_structure_sidebar .pkp_block,
    .pkp_structure_sidebar .nexora-sidebar-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .pkp_structure_sidebar img,
    .pkp_structure_sidebar table,
    .pkp_structure_sidebar iframe,
    .pkp_structure_sidebar video,
    .pkp_structure_sidebar canvas {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        box-sizing: border-box !important;
    }

    .pkp_structure_sidebar * {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {

    .pkp_structure_content.has_sidebar {
        display: flex !important;
        flex-direction: column !important;
        width: calc(100% - 32px) !important;
    }

    .pkp_structure_content.has_sidebar > .pkp_structure_main,
    .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767px) {

    .pkp_structure_content.has_sidebar {
        display: flex !important;
        flex-direction: column !important;
        width: calc(100% - 20px) !important;
    }

    .pkp_structure_content.has_sidebar > .pkp_structure_main,
    .pkp_structure_content.has_sidebar > .pkp_structure_sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }
}



/* ============================================================
   NEXORA JOURNAL DESCRIPTION PREMIUM MODULE
   OJS 3.5
   Replaces/enhances existing homepage_about journal description
   ============================================================ */


/* Main Journal Description Card */
.pkp_structure_main .homepage_about {
    padding: 30px 34px !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    border: 1px solid #dde2ec !important;
    box-shadow: 0 8px 26px rgba(22,35,63,.10) !important;
}


/* Journal title */
.pkp_structure_main .homepage_about > h2 {
    font-size: clamp(24px,2vw,34px) !important;
    color: #102856 !important;
    font-weight: 800 !important;
    margin-bottom: 28px !important;
}


/* Journal profile layout */
.journal-profile {
    display:flex;
    gap:40px;
    align-items:flex-start;
    margin-bottom:35px;
}


.journal-cover {
    width:260px;
    flex-shrink:0;
}


.journal-cover img {
    width:100%;
    height:auto;
    border-radius:8px;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
}


.journal-meta {
    flex:1;
    border-left:5px solid #68ad7a;
    padding-left:25px;
}


.journal-meta table {
    width:100%;
    border-collapse:collapse;
}


.journal-meta td {
    padding:9px 8px !important;
    border-bottom:1px dashed #eadfd2 !important;
    font-size:15px;
    line-height:1.5;
}


.journal-meta td:first-child {
    width:28%;
    font-weight:800;
    color:#23262a;
}


.journal-meta a {
    color:#28744f !important;
    font-weight:700;
}


/* Description text */
.journal-description,
.journal-description p,
.pkp_structure_main .homepage_about p {
    font-size:16px !important;
    line-height:1.8 !important;
    text-align:justify;
    color:#555d61;
}


/* Accreditation / Indexing Cards */
.badge-container {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}


.badge-card {
    width:160px;
    padding:15px;
    border:1px solid #dde2ec;
    border-radius:14px;
    text-align:center;
    background:#fff;
    box-shadow:0 4px 14px rgba(22,35,63,.08);
}


.badge-card img {
    height:70px;
    max-width:100%;
    object-fit:contain;
}


.badge-card p {
    text-align:center;
    font-size:14px !important;
    font-weight:700;
}


/* Journal information buttons */
.journal-menu {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}


.journal-menu a {
    display:block;
    padding:13px;
    border-radius:10px;
    background:#102856;
    color:white !important;
    text-align:center;
    font-weight:800;
    text-decoration:none !important;
}


.journal-menu a:hover {
    background:#28744f;
}


/* Recommended tools */
.tools {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}


.tools img {
    height:45px;
    padding:5px;
    border:1px solid #ddd;
    border-radius:6px;
}


/* Responsive */
@media(max-width:768px){

    .journal-profile {
        display:block;
    }

    .journal-cover {
        width:220px;
        margin:0 auto 25px;
    }

    .journal-meta {
        border-left:0;
        border-top:4px solid #68ad7a;
        padding-left:0;
        padding-top:20px;
    }

    .journal-menu {
        grid-template-columns:1fr;
    }

}



/* ============================================================
   FIX: MAIN CONTENT - SIDEBAR SPACING MANUSCRIPT THEME
   Added override
   ============================================================ */

@media (min-width: 992px) {

  .pkp_structure_content.has_sidebar {
      grid-template-columns: minmax(0, 1fr) 300px !important;
      column-gap: 45px !important;
      align-items: start !important;
  }

  .pkp_structure_sidebar {
      border-left: 0 !important;
      padding-left: 0 !important;
      margin-left: 0 !important;
  }

  .pkp_structure_sidebar .pkp_block,
  .pkp_structure_sidebar .nexora-sidebar-card {
      margin-left: 5px !important;
  }

  .pkp_structure_sidebar::before {
      display: none !important;
      content: none !important;
  }

}

/* ============================================================
   RECOMMENDED TOOLS - CENTER LOGOS & BLUE BRAND STYLE
   ============================================================ */

.tools {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
    width:100%;
}

.tools a,
.tools .tool-item {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    padding:8px 18px;
    border:1px solid #d9e2f2;
    border-radius:10px;
    background:#ffffff;
    box-shadow:0 3px 10px rgba(16,40,86,.08);
}

.tools img {
    height:45px;
    width:auto;
    padding:5px;
    object-fit:contain;
    filter:none;
}

/* Replace non-blue visual accents with Nexora blue tones */
.tools a,
.tools .tool-item {
    color:#102856 !important;
}

.tools a:hover,
.tools .tool-item:hover {
    border-color:#315986;
    background:#f1f6ff;
}

.tools svg,
.tools i {
    color:#315986 !important;
}

/* ============================================================
   FINAL COLOR + RECOMMENDED TOOLS ALIGNMENT FIX
   ============================================================ */

/* Replace remaining green accents with Nexora blue */
.pkp_navigation_search_wrapper a,
.pkp_navigation_search_wrapper a:hover,
.cmp_search button,
button.search,
input[type="submit"].search {
    color: #102856 !important;
}

.pkp_navigation_search_wrapper a {
    background: #e3e9fa !important;
    border-color: #315986 !important;
}

.pkp_navigation_search_wrapper a:hover,
.cmp_search button:hover,
button.search:hover {
    background: #315986 !important;
    color: #ffffff !important;
}

/* Remove green lines / accents */
.pkp_structure_footer,
.pkp_structure_footer::before {
    border-color: #315986 !important;
}

/* Recommended Tools: center logo inside each box */
.tools,
.recommended-tools,
.recommended_tools {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    text-align: center !important;
    flex-wrap: wrap;
}

.tools a,
.tools .tool-item,
.recommended-tools a,
.recommended_tools a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    min-height: 64px;
}

.tools img,
.recommended-tools img,
.recommended_tools img {
    display: block !important;
    margin: auto !important;
    max-height: 42px !important;
    object-fit: contain !important;
}
