:root {
  --ijccse-primary: #002b55;
  --ijccse-primary-dark: #00203f;
  --ijccse-link: #00589b;
  --ijccse-primary-rgb: 0, 43, 85;
  --ijccse-primary-dark-rgb: 0, 32, 63;
  --ijccse-link-rgb: 0, 88, 155;
  --ijccse-link-hover: #003e70;
  --ijccse-topbar: #34404c;
  --ijccse-ink: #313b45;
  --ijccse-text: #555f67;
  --ijccse-muted: #7b838a;
  --ijccse-line: #d7d7d7;
  --ijccse-soft: #efefef;
  --ijccse-soft-2: #e5e5e5;
  --ijccse-paper: #fff;
  --ijccse-ink-strong: #102842;
  --ijccse-link-deep: #00477d;
  --ijccse-link-hover-strong: #003f70;
  --ijccse-link-title: #004b83;
  --ijccse-hero: #0b3566;
  --ijccse-band-dark: #001b33;
  --ijccse-button-dark: #001f40;
  --ijccse-shell: 1180px;
  --ijccse-nav-height: 52px;
}

* { box-sizing: border-box; }
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
body {
  margin: 0;
  background: #fff;
  color: var(--ijccse-text);
  font-family: 'Source Sans Pro', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.42;
}
a { color: var(--ijccse-link); text-decoration: none; }
a:hover, a:focus { color: var(--ijccse-link-hover); text-decoration: none; }
img { max-width: 100%; height: auto; }

.ijccse-shell {
  width: min(calc(100% - 32px), var(--ijccse-shell));
  margin-inline: auto;
}

/* Reset parent-theme dimensions */
.pkp_structure_page,
.pkp_structure_head,
.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_sidebar,
.pkp_structure_footer_wrapper,
.pkp_structure_footer { max-width: none !important; }

.pkp_structure_page { width: 100%; margin: 0; padding: 0; background: #fff; }

/* Top utility bar */
.ijccse-utility-bar {
  width: 100%;
  min-height: 38px;
  background: var(--ijccse-topbar);
  color: #fff;
  font-size: 11px;
  line-height: 1.2;
}
.ijccse-utility-inner {
  min-height: 38px;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto auto;
  align-items: center;
  gap: 18px;
}
.ijccse-utility-title {
  min-width: 0;
  color: #fff;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ijccse-utility-title strong { font-weight: 600; }
.ijccse-utility-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding-left: 10px;
  border-left: 1px solid rgba(255,255,255,.55);
  color: #dfe7ee;
}
.ijccse-utility-meta b { color: #fff; font-weight: 700; }
.ijccse-utility-user { min-width: 120px; align-self: stretch; }
.ijccse-user-menu,
.ijccse-user-menu-mobile { list-style: none; margin: 0 !important; padding: 0 !important; }
.ijccse-user-menu { height: 100%; display: flex; align-items: stretch; }
.ijccse-user-menu > li { display: flex; align-items: stretch; margin: 0 !important; }
.ijccse-user-menu > li > a {
  min-width: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px !important;
  color: #fff !important;
  background: rgba(255,255,255,.08);
  border-left: 1px solid rgba(255,255,255,.12);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
}
.ijccse-user-menu > li > a:hover { background: rgba(255,255,255,.16); }

/* Large journal banner */
.ijccse-hero-shell {
  position: relative;
  height: 252px;
  overflow: hidden;
  background: #edf0f2;
}
.ijccse-hero-shell--compact { height: 132px; background: #f3f4f5; border-bottom: 1px solid #e4e5e6; }
.ijccse-hero-media,
.ijccse-hero-media img,
.ijccse-hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.ijccse-hero-media img { object-fit: cover; object-position: center; }
.ijccse-hero-overlay {
  background: linear-gradient(90deg, rgba(255,255,255,.38) 0%, rgba(255,255,255,.1) 46%, rgba(0,25,50,.08) 100%);
}
.ijccse-brand-panel {
  position: absolute;
  z-index: 2;
  top: 20px;
  left: 24px;
  max-width: min(64%, 760px);
}
.ijccse-hero-shell--compact .ijccse-brand-panel { top: 18px; }
.pkp_site_name_wrapper,
.pkp_site_name {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pkp_site_name a { text-decoration: none !important; }
.pkp_site_name img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 690px);
  max-height: 155px;
  object-fit: contain;
  object-position: left center;
}
.ijccse-hero-shell--compact .pkp_site_name img { max-height: 92px; }
.ijccse-wordmark {
  display: block;
  color: var(--ijccse-ink) !important;
  font-size: clamp(2rem, 3.2vw, 3.3rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.025em;
  text-transform: uppercase;
  text-shadow: 0 1px 1px rgba(255,255,255,.65);
}

/* Search strip over the lower part of the banner */
.ijccse-hero-search {
  position: absolute;
  z-index: 3;
  left: 24px;
  right: 42%;
  bottom: 32px;
  height: 42px;
  display: grid;
  grid-template-columns: 1fr 42px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.8);
}
.ijccse-hero-shell--compact .ijccse-hero-search { display: none; }
.ijccse-hero-search input {
  width: 100%;
  min-width: 0;
  padding: 0 13px;
  border: 0;
  outline: 0;
  color: #29333c;
  background: transparent;
  font: inherit;
}
.ijccse-hero-search input::placeholder { color: transparent; }
.ijccse-hero-search button {
  position: relative;
  border: 0;
  background: rgba(38,45,52,.92);
  cursor: pointer;
}
.ijccse-hero-search button span,
.ijccse-mobile-search span {
  position: absolute;
  width: 17px;
  height: 17px;
  border: 1.7px solid #fff;
  border-radius: 50%;
  top: 10px;
  left: 11px;
}
.ijccse-hero-search button span::after,
.ijccse-mobile-search span::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 1.7px;
  background: #fff;
  transform: rotate(45deg);
  right: -6px;
  bottom: -3px;
}
.ijccse-advanced-search {
  position: absolute;
  left: 0;
  top: calc(100% + 7px);
  color: var(--ijccse-ink) !important;
  font-size: 13px;
}

/* White sticky navigation like the reference */
.ijccse-nav-shell {
  position: sticky;
  top: 0;
  z-index: 1040;
  width: 100%;
  min-height: var(--ijccse-nav-height);
  background: #fff;
  border-bottom: 1px solid #ececec;
  box-shadow: none;
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease;
  will-change: transform;
}
.ijccse-nav-shell.is-hidden { transform: translateY(calc(-100% - 2px)); }
.ijccse-nav-shell.is-scrolled { box-shadow: 0 5px 16px rgba(0,0,0,.12); }
.ijccse-nav-inner { min-height: var(--ijccse-nav-height); }
.ijccse-desktop-nav { min-height: var(--ijccse-nav-height); }
.pkp_navigation_primary.ijccse-desktop-menu {
  width: 100%;
  min-height: var(--ijccse-nav-height);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.ijccse-desktop-menu > li {
  position: relative;
  flex: 1 1 auto;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ijccse-desktop-menu > li:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 14px;
  bottom: 14px;
  width: 1px;
  background: #858585;
}
.ijccse-desktop-menu > li > a {
  width: 100%;
  min-height: var(--ijccse-nav-height);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px !important;
  color: #111 !important;
  background: transparent !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
}
.ijccse-desktop-menu > li > a:hover,
.ijccse-desktop-menu > li > a:focus { color: var(--ijccse-link) !important; }
.ijccse-desktop-menu .dropdown-toggle::after { margin-left: .45rem; }
.ijccse-desktop-menu .dropdown-menu {
  min-width: 250px;
  margin: 0 !important;
  padding: 0;
  border: 1px solid #d2d2d2;
  border-radius: 0;
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
}
.ijccse-desktop-menu .dropdown-item {
  padding: 10px 14px;
  color: #272727 !important;
  background: #fff;
  white-space: normal;
  font-size: 13px;
  border-bottom: 1px solid #ededed;
}
.ijccse-desktop-menu .dropdown-item:hover { color: #fff !important; background: var(--ijccse-primary); }

/* Mobile navigation */
.ijccse-mobile-bar { min-height: 52px; align-items: center; justify-content: space-between; }
.ijccse-menu-button,
.ijccse-mobile-search { color: #111; background: transparent; border: 0; }
.ijccse-menu-button { display: inline-flex; align-items: center; gap: 10px; padding: 0; font-weight: 700; }
.ijccse-hamburger { width: 24px; display: inline-flex; flex-direction: column; gap: 4px; }
.ijccse-hamburger i { display: block; height: 2px; background: #222; }
.ijccse-mobile-search { position: relative; width: 38px; height: 38px; }
.ijccse-mobile-search span { border-color: #222; top: 8px; left: 7px; }
.ijccse-mobile-search span::after { background: #222; }
.ijccse-offcanvas { width: min(360px, 90vw) !important; }
.ijccse-offcanvas .offcanvas-header { border-bottom: 1px solid #ddd; }
.ijccse-mobile-menu { list-style: none; margin: 0 !important; padding: 0 !important; }
.ijccse-mobile-menu > li { border-bottom: 1px solid #e7e7e7; }
.ijccse-mobile-menu a { display: block; padding: 12px 4px; color: #222 !important; font-weight: 600; }
.ijccse-mobile-menu .dropdown-menu { position: static !important; transform: none !important; border: 0; box-shadow: none; padding-left: 14px; }
.ijccse-mobile-user { margin-top: 24px; padding-top: 18px; border-top: 1px solid #ddd; }
.ijccse-user-menu-mobile a { display: block; padding: 9px 0; }

/* Main layout: reference-style 70/30 columns */
.pkp_structure_content {
  display: grid !important;
  grid-template-columns: minmax(0, 1.95fr) minmax(300px, .95fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px !important;
  margin-bottom: 50px !important;
  padding: 0 !important;
}
.pkp_structure_content:not(.has_sidebar) { grid-template-columns: minmax(0, 1fr); }
.pkp_structure_main { width: 100% !important; min-width: 0; padding: 0 !important; }
.pkp_structure_sidebar { width: 100% !important; padding: 0 !important; }

/* Homepage intro block */
.ijccse-home { padding: 0 !important; }
.ijccse-home-highlights { margin-bottom: 14px; }
.ijccse-about-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  min-height: 210px;
  margin: 0 0 10px !important;
  padding: 18px 22px !important;
  background: linear-gradient(90deg, #eeeeee 0%, #f5f5f5 84%, rgba(255,255,255,.92) 100%);
  border: 0 !important;
}
.ijccse-about-cover { width: 125px; }
.ijccse-about-cover img { width: 125px; max-height: 190px; object-fit: contain; box-shadow: 0 1px 4px rgba(0,0,0,.16); }
.ijccse-about-text { position: relative; min-width: 0; padding-bottom: 26px; }
.ijccse-journal-description {
  color: #5c6267;
  font-size: 16px;
  line-height: 1.35;
  text-align: left;
  max-height: 158px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 76%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 76%, transparent 100%);
}
.ijccse-journal-description p { margin: 0 0 8px; }
.ijccse-journal-description strong { color: #134b7e; font-weight: 600; }
.ijccse-read-more {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 14px;
  font-weight: 600;
}

/* Current issue */
.ijccse-home-announcements:empty { display: none; }
.ijccse-section-strip {
  margin: 8px 0 17px;
  padding: 7px 22px;
  background: #e7e7e7;
  color: #555;
  font-size: 17px;
  font-weight: 300;
  text-transform: uppercase;
}
.ijccse-issue-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 14px;
  padding: 0 22px;
}
.ijccse-current-issue .current_issue_title {
  margin: 0 !important;
  color: #5b5f62;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
}
.ijccse-archive-link { flex: 0 0 auto; font-size: 13px; }
.ijccse-issue-frame { padding: 0; border: 0; }
.obj_issue_toc { margin: 0 !important; padding: 0 !important; }
.obj_issue_toc .heading {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  margin: 0 22px 14px !important;
  padding: 0 !important;
  border: 0 !important;
}
.obj_issue_toc .heading .cover { flex: 0 0 105px; width: 105px; margin: 0 !important; }
.obj_issue_toc .heading .cover img { width: 105px; max-height: 155px; object-fit: contain; }
.obj_issue_toc .heading .description { color: #666; font-size: 14px; }
.obj_issue_toc .galleys { margin: 0 22px 14px !important; }
.obj_issue_toc .galleys h3 { display: none; }
.obj_issue_toc .galleys_links { list-style: none; display: flex; gap: 8px; margin: 0 !important; padding: 0 !important; }
.obj_issue_toc .galleys_links a,
.obj_galley_link { color: var(--ijccse-link) !important; font-weight: 700; }
.obj_issue_toc .sections { margin: 0 !important; }
.obj_issue_toc .section { margin: 0 0 18px !important; }
.obj_issue_toc .section > h3 {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  margin: 0 0 7px !important;
  padding: 5px 16px 5px 22px !important;
  color: #fff;
  background: #666;
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
}
.obj_issue_toc .section > h3::after {
  content: '›';
  width: 17px;
  height: 17px;
  margin-left: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #666;
  background: #fff;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
}
.obj_issue_toc .articles,
.cmp_article_list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.obj_issue_toc .articles > li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.obj_article_summary {
  margin: 0 !important;
  padding: 10px 22px 12px !important;
  border-bottom: 1px solid #e7e7e7 !important;
}
.obj_article_summary .title { margin-bottom: 5px !important; }
.obj_article_summary .title a { color: var(--ijccse-link-title, #004b83) !important; font-size: 15px; font-weight: 700; line-height: 1.27; }
.obj_article_summary .meta { color: #656565; font-size: 13px; font-style: italic; }
.obj_article_summary .authors { color: #6c6c6c; font-size: 13px; font-style: italic; }
.obj_article_summary .pages { color: #777; font-size: 12px; }
.obj_article_summary .galleys_links { margin-top: 6px !important; }
.obj_article_summary .galleys_links a { font-size: 13px; font-weight: 700; }

/* Sidebar: flat grey blocks */
.pkp_structure_sidebar .pkp_block {
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: #eee;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_sidebar .pkp_block > h2,
.pkp_structure_sidebar .pkp_block > h3 {
  margin: 0 !important;
  padding: 10px 18px !important;
  color: #555 !important;
  background: #ececec;
  border-bottom: 1px solid #fff;
  font-size: 17px !important;
  font-weight: 300 !important;
  line-height: 1.2;
  text-transform: uppercase;
}
.pkp_structure_sidebar .pkp_block .content { padding: 0 !important; }
.pkp_structure_sidebar .pkp_block:not(.block_custom) ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.pkp_structure_sidebar .pkp_block:not(.block_custom) li { margin: 0 !important; border-bottom: 1px solid #fff; }
.pkp_structure_sidebar .pkp_block:not(.block_custom) li:last-child { border-bottom: 0; }
.pkp_structure_sidebar .pkp_block:not(.block_custom) li > a {
  display: block;
  padding: 12px 18px;
  color: #222 !important;
  font-size: 15px;
  text-decoration: none !important;
}
.pkp_structure_sidebar .pkp_block:not(.block_custom) li > a:hover { background: #dedede; color: var(--ijccse-link) !important; }
.pkp_structure_sidebar .pkp_block.block_make_submission a {
  display: block;
  padding: 14px 18px 14px 64px !important;
  color: #202020 !important;
  background: #e3e3e3 !important;
  border-radius: 0 !important;
  font-size: 15px;
  font-weight: 700;
  position: relative;
}
.pkp_structure_sidebar .pkp_block.block_make_submission a::before {
  content: '⇧';
  position: absolute;
  inset: 0 auto 0 0;
  width: 47px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #6a6a6a;
  font-size: 28px;
  font-weight: 300;
}
.pkp_structure_sidebar img { max-width: 100%; height: auto; }
.pkp_structure_sidebar .pkp_block:not(.block_custom) .content > p,
.pkp_structure_sidebar .pkp_block:not(.block_custom) .content > div { margin: 0; padding: 10px 12px; }

/* General pages */
.page { padding: 6px 0 20px !important; }
.page h1,
.page h2,
.page h3 { color: #4c555d; font-family: 'Source Sans Pro', Arial, sans-serif; }
.page h1 { font-size: 28px; font-weight: 600; }
.page h2 { font-size: 23px; font-weight: 600; }
.page h3 { font-size: 18px; font-weight: 600; }
.page-header { margin: 0 0 18px !important; padding: 0 0 8px !important; border-bottom: 1px solid #ddd !important; }

/* Article */
.ijccse-article-breadcrumbs { margin-bottom: 12px; font-size: 13px; }
.ijccse-article-shell { padding: 0; }
.obj_article_details .page_title { color: #38434d !important; font-size: 28px !important; font-weight: 600 !important; line-height: 1.2 !important; }
.obj_article_details .authors { margin-top: 12px !important; }
.obj_article_details .abstract,
.obj_article_details .item.abstract { text-align: justify; }
.obj_article_details .keywords { font-style: italic; }
.obj_article_details .galleys_links a,
.obj_article_details .galley-link { border-radius: 0 !important; background: var(--ijccse-primary) !important; color: #fff !important; }

/* Announcements */
.cmp_announcements { margin: 12px 0 !important; }
.cmp_announcements > h2 { padding: 7px 18px; background: #e7e7e7; font-size: 17px; font-weight: 300; text-transform: uppercase; }

/* Footer */
.ijccse-footer {
  margin-top: 0 !important;
  background: var(--ijccse-topbar) !important;
  color: #dfe4e8;
  border: 0 !important;
}
.ijccse-footer .pkp_structure_footer { width: min(calc(100% - 32px), var(--ijccse-shell)) !important; margin: 0 auto !important; padding: 24px 0 !important; }
.ijccse-footer-grid { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ijccse-footer-mark { color: #fff; font-size: 21px; font-weight: 700; }
.ijccse-footer a { color: #fff !important; }
.pkp_brand_footer img { max-height: 45px; width: auto; }

/* Responsive */
@media (min-width: 1400px) {
  :root { --ijccse-shell: 1280px; }
}

@media (max-width: 991.98px) {
  .ijccse-utility-inner { grid-template-columns: 1fr auto; }
  .ijccse-utility-meta { display: none; }
  .ijccse-hero-shell { height: 210px; }
  .ijccse-brand-panel { left: 18px; top: 18px; max-width: calc(100% - 36px); }
  .pkp_site_name img { max-height: 115px; }
  .ijccse-hero-search { left: 18px; right: 18px; bottom: 28px; }
  .pkp_structure_content { grid-template-columns: 1fr !important; gap: 22px; }
  .pkp_structure_sidebar { max-width: none; }
}

@media (max-width: 767.98px) {
  :root { --ijccse-shell: 100%; }
  .ijccse-shell { width: 100%; padding-left: 14px; padding-right: 14px; }
  .ijccse-utility-title { font-size: 10px; }
  .ijccse-utility-user { min-width: auto; }
  .ijccse-user-menu > li > a { min-width: 70px; padding: 0 8px !important; font-size: 12px; }
  .ijccse-hero-shell { width: 100%; height: 172px; padding: 0; }
  .ijccse-hero-shell--compact { height: 105px; }
  .ijccse-brand-panel { left: 14px; right: 14px; top: 14px; max-width: none; }
  .pkp_site_name img { max-height: 88px; }
  .ijccse-wordmark { font-size: 1.7rem; }
  .ijccse-hero-search { left: 14px; right: 14px; bottom: 25px; height: 38px; }
  .ijccse-advanced-search { font-size: 11px; }
  .ijccse-nav-inner { padding-left: 14px; padding-right: 14px; }
  .pkp_structure_content { width: 100%; margin-top: 12px !important; padding: 0 14px !important; }
  .ijccse-about-panel { grid-template-columns: 82px minmax(0,1fr); gap: 12px; padding: 12px !important; min-height: 160px; }
  .ijccse-about-cover { width: 82px; }
  .ijccse-about-cover img { width: 82px; max-height: 125px; }
  .ijccse-journal-description { max-height: 112px; font-size: 13px; }
  .ijccse-section-strip { padding: 7px 12px; font-size: 15px; }
  .ijccse-issue-heading-row { align-items: flex-start; padding: 0 12px; }
  .ijccse-current-issue .current_issue_title { font-size: 21px; }
  .obj_issue_toc .heading { margin-inline: 12px !important; }
  .obj_article_summary { padding-inline: 12px !important; }
  .ijccse-footer .pkp_structure_footer { padding-inline: 14px !important; }
  .ijccse-footer-grid { align-items: flex-start; flex-direction: column; }
}


/* v1.4.1 layout hard reset: neutralize Default Theme desktop floats/borders.
   OJS Default Theme gives .pkp_structure_main/.sidebar fixed widths and pseudo
   borders at desktop breakpoints; the IJCCSE layout owns these dimensions. */
.pkp_structure_content {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-start !important;
  gap: 18px !important;
  position: relative !important;
}
.pkp_structure_content > .pkp_structure_main {
  position: relative !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 69% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pkp_structure_content > .pkp_structure_sidebar {
  position: relative !important;
  float: none !important;
  clear: none !important;
  width: 31% !important;
  max-width: 360px !important;
  min-width: 290px !important;
  flex: 0 0 31% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pkp_structure_content:not(.has_sidebar) > .pkp_structure_main {
  flex: 1 1 100% !important;
  width: 100% !important;
}
.pkp_structure_main::before,
.pkp_structure_main::after {
  content: none !important;
  display: none !important;
}
.page_index_journal,
.ijccse-home {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* A composed fallback banner when no Homepage Image has been uploaded. */
.ijccse-hero-shell--compact {
  height: 190px;
  background:
    linear-gradient(115deg, rgba(255,255,255,.96) 0 54%, rgba(255,255,255,.76) 54% 65%, rgba(var(--ijccse-primary-rgb, 0, 43, 85), .16) 65% 100%),
    repeating-linear-gradient(132deg, transparent 0 30px, rgba(var(--ijccse-primary-rgb, 0, 43, 85), .08) 31px 33px),
    linear-gradient(90deg, #f3f4f5 0%, #e8edf1 68%, #cad7e2 100%);
  border-bottom: 0;
}
.ijccse-hero-shell--compact .ijccse-brand-panel {
  top: 35px;
  max-width: min(72%, 820px);
}
.ijccse-hero-shell--compact .ijccse-wordmark {
  font-size: clamp(2.1rem, 3vw, 3.15rem);
  line-height: 1.04;
}

@media (max-width: 991.98px) {
  .pkp_structure_content {
    flex-direction: column !important;
  }
  .pkp_structure_content > .pkp_structure_main,
  .pkp_structure_content > .pkp_structure_sidebar {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
}

@media print {
  .ijccse-utility-bar,
  .ijccse-hero-search,
  .ijccse-nav-shell,
  .pkp_structure_sidebar,
  .ijccse-footer { display: none !important; }
  .pkp_structure_content { display: block !important; width: 100% !important; }
}


/* ==========================================================================\n   v1.5.0 — full-width responsive layout + fixed navigation + locale switch\n   ========================================================================== */
:root {
  --ijccse-page-gutter: clamp(14px, 2.2vw, 42px);
  --ijccse-nav-height: 54px;
}

/* The journal now uses the complete browser width. No centered max-width shell. */
.ijccse-shell,
.ijccse-footer .pkp_structure_footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--ijccse-page-gutter) !important;
  padding-right: var(--ijccse-page-gutter) !important;
}

.ijccse-utility-inner,
.ijccse-nav-inner,
.pkp_structure_content,
.ijccse-footer .pkp_structure_footer {
  max-width: none !important;
}

.ijccse-hero-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Full-width desktop work area: large main column and proportional sidebar. */
.pkp_structure_content {
  width: 100% !important;
  max-width: none !important;
  padding-left: var(--ijccse-page-gutter) !important;
  padding-right: var(--ijccse-page-gutter) !important;
  gap: clamp(18px, 2vw, 34px) !important;
}
.pkp_structure_content > .pkp_structure_main {
  flex: 1 1 72% !important;
}
.pkp_structure_content > .pkp_structure_sidebar {
  flex: 0 1 28% !important;
  width: 28% !important;
  max-width: 440px !important;
  min-width: 300px !important;
}

/* Utility bar mirrors the AST reference: title/ISSN/account/language in one row. */
.ijccse-utility-inner {
  grid-template-columns: minmax(240px, 1fr) auto auto auto;
  column-gap: 0;
}
.ijccse-language-switch {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 104px;
  padding: 0 14px;
  border-left: 1px solid rgba(255,255,255,.23);
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
}
.ijccse-locale-link {
  color: #dce8f3 !important;
  text-decoration: none !important;
  transition: color .15s ease;
}
.ijccse-locale-link:hover,
.ijccse-locale-link:focus,
.ijccse-locale-link.is-active {
  color: #fff !important;
}
.ijccse-locale-link.is-active {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
.ijccse-language-divider { color: rgba(255,255,255,.55); }

/* Persistent navigation. JS promotes it to fixed once its original position reaches the viewport. */
.ijccse-nav-shell {
  position: relative !important;
  top: auto !important;
  left: auto;
  right: auto;
  transform: none !important;
  width: 100%;
  z-index: 1040;
}
.ijccse-nav-shell.is-hidden { transform: none !important; }
.ijccse-nav-shell.is-fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}
.ijccse-head.ijccse-has-fixed-nav {
  padding-bottom: var(--ijccse-nav-height);
}

/* Large monitors */
@media (min-width: 1600px) {
  :root { --ijccse-page-gutter: clamp(32px, 3vw, 72px); }
  .pkp_structure_content > .pkp_structure_sidebar {
    max-width: 500px !important;
  }
  .ijccse-desktop-menu > li > a { font-size: 14px; }
}

/* Tablets / smaller notebooks */
@media (min-width: 992px) and (max-width: 1199.98px) {
  :root { --ijccse-page-gutter: 22px; }
  .ijccse-utility-title { font-size: 11px; }
  .ijccse-utility-meta { font-size: 10px; }
  .ijccse-language-switch { min-width: 88px; padding-inline: 8px; }
  .ijccse-desktop-menu > li > a { padding-inline: 10px !important; font-size: 11px; }
  .pkp_structure_content > .pkp_structure_main { flex-basis: 68% !important; }
  .pkp_structure_content > .pkp_structure_sidebar {
    flex-basis: 32% !important;
    width: 32% !important;
    min-width: 270px !important;
  }
}

/* Tablets: one content column, sidebar follows the journal content. */
@media (max-width: 991.98px) {
  :root { --ijccse-page-gutter: 18px; }
  .ijccse-utility-inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }
  .ijccse-utility-meta { display: none; }
  .ijccse-language-switch { min-width: 92px; }
  .pkp_structure_content {
    flex-direction: column !important;
    padding-left: var(--ijccse-page-gutter) !important;
    padding-right: var(--ijccse-page-gutter) !important;
  }
  .pkp_structure_content > .pkp_structure_main,
  .pkp_structure_content > .pkp_structure_sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }
}

/* Phones */
@media (max-width: 767.98px) {
  :root {
    --ijccse-page-gutter: 14px;
    --ijccse-nav-height: 52px;
  }
  .ijccse-shell,
  .ijccse-footer .pkp_structure_footer {
    padding-left: var(--ijccse-page-gutter) !important;
    padding-right: var(--ijccse-page-gutter) !important;
  }
  .ijccse-utility-bar { min-height: 36px; }
  .ijccse-utility-inner {
    min-height: 36px;
    grid-template-columns: minmax(0,1fr) auto;
  }
  .ijccse-language-switch {
    order: 2;
    min-width: auto;
    padding: 0 6px 0 10px;
    font-size: 11px;
  }
  .ijccse-utility-user { display: none; }
  .ijccse-utility-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 8px;
  }
  .ijccse-hero-shell { min-height: 150px; }
  .ijccse-brand-panel { max-width: calc(100% - 28px); }
  .ijccse-wordmark { font-size: clamp(1.45rem, 7vw, 2rem); }
  .ijccse-about-panel {
    grid-template-columns: 74px minmax(0, 1fr);
  }
  .ijccse-about-cover,
  .ijccse-about-cover img { width: 74px; }
  .ijccse-issue-heading-row {
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 479.98px) {
  .ijccse-hero-shell { min-height: 132px; }
  .ijccse-hero-search { display: none; }
  .ijccse-about-panel {
    display: block;
  }
  .ijccse-about-cover {
    float: left;
    margin: 0 12px 8px 0;
  }
  .obj_issue_toc .heading {
    display: block;
  }
  .obj_issue_toc .heading .cover {
    width: 88px;
    margin: 0 12px 8px 0 !important;
    float: left;
  }
}


/* ========================================================================== 
   v1.5.1 — persistent floating navigation, locale in nav, 3-column logo grid
   ========================================================================== */

/* Locale switch was moved out of the utility bar into the floating menu. */
.ijccse-utility-inner {
  grid-template-columns: minmax(240px, 1fr) auto auto !important;
}
.ijccse-utility-bar .ijccse-language-switch { display: none !important; }

/* Use native sticky positioning first; fixed is added by JS as a robust
   fallback when parent OJS styles interfere with sticky positioning. */
.ijccse-nav-shell {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 5000 !important;
  width: 100% !important;
  background: #fff !important;
  transform: none !important;
}
.ijccse-nav-shell.is-fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 5000 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.14) !important;
}
.ijccse-nav-shell.is-hidden { transform: none !important; }
.ijccse-head.ijccse-has-fixed-nav { padding-bottom: var(--ijccse-nav-height) !important; }

.ijccse-nav-inner {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
}
.ijccse-desktop-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.ijccse-floating-language {
  flex: 0 0 auto;
  min-width: 112px;
  min-height: var(--ijccse-nav-height);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 16px;
  border-left: 1px solid #d1d1d1;
  background: var(--ijccse-topbar);
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
}
.ijccse-floating-language .ijccse-locale-link {
  color: #d8e7f2 !important;
  text-decoration: none !important;
}
.ijccse-floating-language .ijccse-locale-link:hover,
.ijccse-floating-language .ijccse-locale-link:focus,
.ijccse-floating-language .ijccse-locale-link.is-active {
  color: #fff !important;
}
.ijccse-floating-language .ijccse-locale-link.is-active {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
.ijccse-floating-language .ijccse-language-divider {
  color: rgba(255,255,255,.55);
}
.ijccse-floating-language--mobile { display: none; }

/* Sidebar custom blocks use the native OJS single-column document flow. */

@media (max-width: 991.98px) {
  .ijccse-nav-inner { display: block !important; }
  .ijccse-mobile-bar {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
  }
  .ijccse-floating-language--mobile {
    min-width: auto;
    min-height: var(--ijccse-nav-height);
    display: flex !important;
    padding: 0 10px;
    border-left: 0;
    background: transparent;
    font-size: 11px;
  }
  .ijccse-floating-language--mobile .ijccse-locale-link { color: var(--ijccse-primary) !important; }
  .ijccse-floating-language--mobile .ijccse-locale-link.is-active,
  .ijccse-floating-language--mobile .ijccse-locale-link:hover { color: var(--ijccse-link) !important; }
  .ijccse-floating-language--mobile .ijccse-language-divider { color: #9ba1a6; }
}

@media (max-width: 420px) {
  .ijccse-mobile-bar { grid-template-columns: 1fr auto; }
  .ijccse-mobile-search { display: none; }
}


/* ========================================================================== 
   v1.5.2 — ISSN + authentication in sticky header, compact right sidebar
   ========================================================================== */

/* The legacy utility strip now carries only the journal name. */
.ijccse-utility-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.ijccse-utility-meta,
.ijccse-utility-user { display: none !important; }

/* Right side of the persistent navigation: ISSNs, user menu and locale. */
.ijccse-floating-tools {
  flex: 0 0 auto;
  align-items: stretch;
  margin-left: auto;
  background: var(--ijccse-topbar);
  min-height: var(--ijccse-nav-height);
}
.ijccse-floating-issn {
  min-width: 175px;
  padding: 6px 12px 5px;
  border-left: 1px solid rgba(255,255,255,.22);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  color: #fff;
  font-size: 9px;
  line-height: 1.15;
  white-space: nowrap;
}
.ijccse-floating-issn b { font-weight: 700; }

.ijccse-floating-user {
  display: flex;
  align-items: stretch;
  min-width: 92px;
  border-left: 1px solid rgba(255,255,255,.22);
}
.ijccse-floating-user .ijccse-user-menu {
  width: 100%;
  min-height: var(--ijccse-nav-height);
}
.ijccse-floating-user .ijccse-user-menu > li,
.ijccse-floating-user .ijccse-user-menu > li > a {
  min-height: var(--ijccse-nav-height);
}
.ijccse-floating-user .ijccse-user-menu > li > a {
  min-width: 92px;
  padding: 0 12px !important;
  justify-content: center;
  font-size: 11px;
  background: rgba(255,255,255,.08);
}
.ijccse-floating-language {
  min-width: 96px;
  padding: 0 12px;
}

/* More room for journal content; compact AST-like right column. */
.pkp_structure_content > .pkp_structure_main {
  flex: 1 1 76% !important;
}
.pkp_structure_content > .pkp_structure_sidebar {
  flex: 0 1 24% !important;
  width: 24% !important;
  max-width: 360px !important;
  min-width: 250px !important;
}
.pkp_structure_sidebar .pkp_block {
  margin-bottom: 9px !important;
}
.pkp_structure_sidebar .pkp_block > .title,
.pkp_structure_sidebar .pkp_block > h2,
.pkp_structure_sidebar .pkp_block > h3 {
  padding: 7px 12px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
}
.pkp_structure_sidebar .pkp_block:not(.block_custom) li > a {
  padding: 8px 12px !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}
.pkp_structure_sidebar .pkp_block.block_make_submission a {
  padding: 10px 12px 10px 48px !important;
  font-size: 12px !important;
}
.pkp_structure_sidebar .pkp_block.block_make_submission a::before {
  width: 38px !important;
  font-size: 22px !important;
}
.pkp_structure_sidebar .pkp_block:not(.block_custom) .content > p,
.pkp_structure_sidebar .pkp_block:not(.block_custom) .content > div {
  padding: 7px 9px !important;
  font-size: 12px;
}

@media (min-width: 992px) and (max-width: 1250px) {
  .ijccse-floating-issn { min-width: 150px; padding-inline: 8px; font-size: 8px; }
  .ijccse-floating-user { min-width: 78px; }
  .ijccse-floating-user .ijccse-user-menu > li > a { min-width: 78px; padding-inline: 8px !important; font-size: 10px; }
  .ijccse-floating-language { min-width: 82px; padding-inline: 8px; font-size: 10px; }
  .pkp_structure_content > .pkp_structure_sidebar {
    flex-basis: 26% !important;
    width: 26% !important;
    max-width: 330px !important;
    min-width: 235px !important;
  }
}

@media (max-width: 991.98px) {
  .ijccse-floating-tools { display: none !important; }
  .ijccse-mobile-bar {
    grid-template-columns: 1fr auto auto auto !important;
  }
  .ijccse-floating-user--mobile {
    display: flex !important;
    min-width: auto;
    border: 0;
    align-items: center;
  }
  .ijccse-floating-user--mobile .ijccse-user-menu {
    min-height: auto;
    display: flex;
    align-items: center;
  }
  .ijccse-floating-user--mobile .ijccse-user-menu > li,
  .ijccse-floating-user--mobile .ijccse-user-menu > li > a {
    min-height: auto;
  }
  .ijccse-floating-user--mobile .ijccse-user-menu > li > a {
    min-width: auto;
    padding: 6px 8px !important;
    color: var(--ijccse-primary) !important;
    background: transparent !important;
    font-size: 10px;
  }
  .pkp_structure_content > .pkp_structure_sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

@media (max-width: 575.98px) {
  .ijccse-mobile-bar { grid-template-columns: 1fr auto auto !important; }
  .ijccse-mobile-search { display: none !important; }
  .ijccse-floating-user--mobile .ijccse-user-menu > li > a { font-size: 9px; padding-inline: 5px !important; }
  .ijccse-floating-language--mobile { padding-inline: 5px !important; }
}


/* ==========================================================================
   v1.5.6.17 — clean two-block topbar: title LEFT, controls RIGHT
   ========================================================================== */
:root {
  --ijccse-reference-navbar-height: 58px;
  --ijccse-nav-height: 50px;
}

.ijccse-topbar {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 5200 !important;
  width: 100% !important;
  height: var(--ijccse-reference-navbar-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ijccse-primary) !important;
  border: 0 !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.18) !important;
}

.ijccse-head {
  padding-top: var(--ijccse-reference-navbar-height) !important;
}

.ijccse-topbar-container {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 var(--ijccse-page-gutter) !important;
}

.ijccse-topbar-row {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-topbar-left {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.ijccse-topbar-title {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 24px 0 0 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.ijccse-topbar-right {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
}

.ijccse-topbar-issn {
  flex: 0 0 205px !important;
  width: 205px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 5px 14px !important;
  border-left: 1px solid rgba(255,255,255,.22) !important;
  color: #fff !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.ijccse-topbar-issn a {
  color: #8ec8ff !important;
  text-decoration: none !important;
}

.ijccse-topbar-issn a:hover,
.ijccse-topbar-issn a:focus {
  color: #fff !important;
  text-decoration: underline !important;
}

.ijccse-topbar-login {
  flex: 0 0 auto !important;
  width: auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-left: 1px solid rgba(255,255,255,.22) !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
}

.ijccse-topbar-login-link + .ijccse-topbar-login-link {
  border-left: 1px solid rgba(255,255,255,.18) !important;
}

.ijccse-topbar-register-link {
  min-width: 132px !important;
}

.ijccse-topbar-login-link {
  min-width: 104px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  color: #fff !important;
  background: rgba(255,255,255,.05) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.ijccse-topbar-login-link:hover,
.ijccse-topbar-login-link:focus {
  color: #fff !important;
  background: rgba(255,255,255,.14) !important;
}

.ijccse-topbar-login-link .fa {
  width: 18px !important;
  font-size: 17px !important;
  text-align: center !important;
}

.ijccse-topbar-language {
  flex: 0 0 118px !important;
  width: 118px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-left: 1px solid rgba(255,255,255,.22) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.ijccse-topbar-language a {
  color: #d9e6f1 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.ijccse-topbar-language a:hover,
.ijccse-topbar-language a:focus,
.ijccse-topbar-language a.current {
  color: #fff !important;
}

.ijccse-topbar-language a.current {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Primary OJS menu, fixed immediately below the topbar. */
.ijccse-nav-shell,
.ijccse-nav-shell.is-fixed {
  position: sticky !important;
  top: var(--ijccse-reference-navbar-height) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 5100 !important;
  width: 100% !important;
  min-height: var(--ijccse-nav-height) !important;
  background: var(--ijccse-primary) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  border-bottom: 1px solid rgba(0,0,0,.18) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.15) !important;
  transform: none !important;
}

.ijccse-nav-shell.is-hidden {
  transform: none !important;
}

.ijccse-head.ijccse-has-fixed-nav {
  padding-bottom: 0 !important;
}

.ijccse-nav-inner {
  min-height: var(--ijccse-nav-height) !important;
  padding-left: var(--ijccse-page-gutter) !important;
  padding-right: var(--ijccse-page-gutter) !important;
}

.ijccse-desktop-nav {
  width: 100% !important;
  min-height: var(--ijccse-nav-height) !important;
}

.pkp_navigation_primary.ijccse-desktop-menu {
  min-height: var(--ijccse-nav-height) !important;
}

.ijccse-desktop-menu > li:not(:last-child)::after {
  background: rgba(255,255,255,.28) !important;
  top: 12px !important;
  bottom: 12px !important;
}

.ijccse-desktop-menu > li > a {
  min-height: var(--ijccse-nav-height) !important;
  color: #fff !important;
  background: transparent !important;
  font-size: 12px !important;
}

.ijccse-desktop-menu > li > a:hover,
.ijccse-desktop-menu > li > a:focus,
.ijccse-desktop-menu > li.is-active > a,
.ijccse-desktop-menu > li > a[aria-current="page"] {
  color: #fff !important;
  background: rgba(255,255,255,.14) !important;
}

.ijccse-desktop-menu > li.is-active > a::before,
.ijccse-desktop-menu > li > a[aria-current="page"]::before {
  content: '' !important;
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 0 !important;
  height: 3px !important;
  background: #fff !important;
}

.ijccse-desktop-menu .dropdown-menu {
  border-top: 3px solid var(--ijccse-link) !important;
}

.ijccse-desktop-menu .dropdown-item.is-active,
.ijccse-desktop-menu .dropdown-item[aria-current="page"] {
  color: #fff !important;
  background: var(--ijccse-link) !important;
}

.ijccse-floating-tools {
  display: none !important;
}

@media (max-width: 991.98px) {
  :root {
    --ijccse-reference-navbar-height: 42px;
    --ijccse-nav-height: 50px;
  }

  .ijccse-topbar-title {
    padding-right: 10px !important;
    font-size: 10px !important;
  }

  .ijccse-topbar-issn,
  .ijccse-topbar-login {
    display: none !important;
  }

  .ijccse-topbar-language {
    flex-basis: 92px !important;
    width: 92px !important;
    padding: 0 8px !important;
  }

  .ijccse-topbar-language,
  .ijccse-topbar-language a {
    font-size: 12px !important;
  }

  .ijccse-mobile-bar {
    min-height: var(--ijccse-nav-height) !important;
    color: #fff !important;
  }

  .ijccse-menu-button,
  .ijccse-mobile-search {
    color: #fff !important;
  }

  .ijccse-hamburger i {
    background: #fff !important;
  }

  .ijccse-mobile-search span {
    border-color: #fff !important;
  }

  .ijccse-mobile-search span::after {
    background: #fff !important;
  }
}


/* ==========================================================================
   v1.5.6.19 — reference header: compact utility bar + masthead + white nav
   ========================================================================== */
:root {
  --ijccse-reference-navbar-height: 30px;
  --ijccse-masthead-height: 118px;
  --ijccse-nav-height: 48px;
  --ijccse-header-orange: #e9762b;
}

.ijccse-head {
  padding-top: var(--ijccse-reference-navbar-height) !important;
  background: #fff !important;
}

/* Utility bar */
.ijccse-topbar {
  height: var(--ijccse-reference-navbar-height) !important;
  min-height: var(--ijccse-reference-navbar-height) !important;
  background: var(--ijccse-primary) !important;
}

.ijccse-topbar-container,
.ijccse-topbar-row {
  height: 100% !important;
  min-height: 0 !important;
}

.ijccse-topbar-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.ijccse-topbar-meta {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  min-width: 0 !important;
  color: #d9e6f1 !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.ijccse-topbar-meta a {
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.ijccse-topbar-meta a:hover,
.ijccse-topbar-meta a:focus {
  text-decoration: underline !important;
}

.ijccse-topbar-right {
  height: 100% !important;
  display: flex !important;
  align-items: stretch !important;
  margin-left: auto !important;
}

.ijccse-topbar-login,
.ijccse-topbar-language {
  height: 100% !important;
  min-height: 0 !important;
  border-left: 0 !important;
}

.ijccse-topbar-login-link {
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 10px !important;
  gap: 5px !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 600 !important;
}

.ijccse-topbar-login-link .fa {
  display: none !important;
}

.ijccse-topbar-language {
  width: auto !important;
  min-width: 0 !important;
  flex-basis: auto !important;
  padding: 0 0 0 10px !important;
  gap: 8px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
}

.ijccse-topbar-language::before {
  content: "|" !important;
  color: rgba(255,255,255,.45) !important;
  margin-right: 1px !important;
}

.ijccse-topbar-language a {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
}

.ijccse-topbar-language > span {
  color: rgba(255,255,255,.45) !important;
}

/* Masthead */
.masthead {
  width: 100% !important;
  min-height: var(--ijccse-masthead-height) !important;
  background: #fff !important;
  border-bottom: 1px solid #e5eaf0 !important;
}

.masthead-inner {
  min-height: var(--ijccse-masthead-height) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 36px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.brand-lockup {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  color: var(--ijccse-primary) !important;
  text-decoration: none !important;
}

.brand-lockup:hover,
.brand-lockup:focus {
  color: var(--ijccse-primary) !important;
  text-decoration: none !important;
}

.brand-mark {
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  display: grid !important;
  place-items: center !important;
  background: var(--ijccse-primary) !important;
  border: 4px solid var(--ijccse-primary) !important;
  box-shadow: inset 0 0 0 2px var(--ijccse-header-orange) !important;
}

.brand-mark span {
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
}

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

.brand-kicker,
.brand-title,
.brand-subtitle {
  margin: 0 !important;
}

.brand-kicker {
  margin-bottom: 6px !important;
  color: #4d83b6 !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.brand-title {
  width: 100% !important;
  max-width: none !important;
  color: var(--ijccse-primary) !important;
  font-size: clamp(21px, 2vw, 31px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
}

.brand-subtitle {
  margin-top: 8px !important;
  color: #72808e !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.masthead-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.search-field {
  width: 235px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  background: #fff !important;
  border: 1px solid #d9e1e8 !important;
  border-radius: 2px !important;
}

.search-field svg {
  flex: 0 0 16px !important;
  color: #8ca0b2 !important;
}

.search-field input {
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #33495d !important;
  font-size: 11px !important;
  box-shadow: none !important;
}

.search-field input::placeholder {
  color: #8192a3 !important;
  opacity: 1 !important;
}

.outline-button {
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 0 15px !important;
  border: 1px solid #d9e1e8 !important;
  border-radius: 2px !important;
  background: #fff !important;
  color: var(--ijccse-primary) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.outline-button:hover,
.outline-button:focus {
  border-color: #aebdcb !important;
  background: #f8fafc !important;
  color: var(--ijccse-primary) !important;
  text-decoration: none !important;
}

/* Primary navigation: white band with orange baseline, as in the reference */
.ijccse-nav-shell,
.ijccse-nav-shell.is-fixed {
  position: sticky !important;
  top: var(--ijccse-reference-navbar-height) !important;
  min-height: var(--ijccse-nav-height) !important;
  background: #fff !important;
  border-top: 0 !important;
  border-bottom: 3px solid var(--ijccse-header-orange) !important;
  box-shadow: none !important;
}

.ijccse-nav-inner,
.ijccse-desktop-nav,
.pkp_navigation_primary.ijccse-desktop-menu {
  min-height: var(--ijccse-nav-height) !important;
}

.pkp_navigation_primary.ijccse-desktop-menu {
  width: auto !important;
  justify-content: flex-start !important;
}

.ijccse-desktop-menu > li {
  flex: 0 0 auto !important;
}

.ijccse-desktop-menu > li:not(:last-child)::after {
  display: none !important;
}

.ijccse-desktop-menu > li > a {
  min-height: var(--ijccse-nav-height) !important;
  padding: 0 20px !important;
  color: #526b82 !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

.ijccse-desktop-menu > li:first-child > a {
  padding-left: 0 !important;
}

.ijccse-desktop-menu > li > a:hover,
.ijccse-desktop-menu > li > a:focus,
.ijccse-desktop-menu > li.is-active > a,
.ijccse-desktop-menu > li > a[aria-current="page"] {
  color: var(--ijccse-primary) !important;
  background: transparent !important;
}

.ijccse-desktop-menu > li.is-active > a::before,
.ijccse-desktop-menu > li > a[aria-current="page"]::before {
  left: 0 !important;
  right: 0 !important;
  bottom: -3px !important;
  height: 3px !important;
  background: var(--ijccse-link) !important;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
  .masthead-inner {
    gap: 22px !important;
  }

  .brand-lockup {
    gap: 18px !important;
  }

  .brand-mark {
    flex-basis: 52px !important;
    width: 52px !important;
    height: 52px !important;
  }

  .brand-title {
    font-size: 23px !important;
  }

  .search-field {
    width: 205px !important;
  }
}

@media (max-width: 991.98px) {
  :root {
    --ijccse-reference-navbar-height: 32px;
    --ijccse-masthead-height: 94px;
  }

  .ijccse-topbar-meta {
    gap: 10px !important;
    font-size: 8px !important;
  }

  .ijccse-topbar-login-link,
  .ijccse-topbar-language,
  .ijccse-topbar-language a {
    font-size: 8px !important;
  }

  .masthead-inner {
    min-height: var(--ijccse-masthead-height) !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .brand-lockup {
    gap: 14px !important;
  }

  .brand-mark {
    flex-basis: 46px !important;
    width: 46px !important;
    height: 46px !important;
  }

  .brand-mark span {
    font-size: 14px !important;
  }

  .brand-kicker {
    font-size: 7px !important;
  }

  .brand-title {
    font-size: 18px !important;
  }

  .brand-subtitle {
    font-size: 9px !important;
  }

  .masthead-actions {
    display: none !important;
  }

  .ijccse-nav-shell,
  .ijccse-nav-shell.is-fixed {
    top: var(--ijccse-reference-navbar-height) !important;
  }
}

@media (max-width: 575.98px) {
  .ijccse-topbar-meta span:nth-child(2) {
    display: none !important;
  }

  .ijccse-topbar-login {
    display: none !important;
  }

  .brand-title {
    font-size: 16px !important;
  }

  .brand-subtitle {
    display: none !important;
  }
}


/* ==========================================================================
   v1.5.6.20 — inverted dark corporate header
   ========================================================================== */
:root {
  --ijccse-header-dark: #001b33;
  --ijccse-header-dark-soft: #002b55;
}

/* Replace white header surfaces with the corporate blue-black. */
.masthead,
.ijccse-nav-shell,
.ijccse-nav-shell.is-fixed {
  background: var(--ijccse-header-dark) !important;
}

/* Keep the utility bar in the same dark family. */
.ijccse-topbar {
  background: var(--ijccse-header-dark-soft) !important;
}

/* Replace blue/grey masthead typography with white. */
.brand-lockup,
.brand-lockup:hover,
.brand-lockup:focus,
.brand-kicker,
.brand-title,
.brand-subtitle {
  color: #fff !important;
}

.brand-subtitle {
  color: rgba(255,255,255,.72) !important;
}

.brand-kicker {
  color: rgba(255,255,255,.82) !important;
}

/* Invert the monogram mark: blue becomes white, white becomes corporate blue-black. */
.brand-mark {
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: inset 0 0 0 2px var(--ijccse-header-orange) !important;
}

.brand-mark span {
  color: var(--ijccse-header-dark) !important;
}

/* Search and submission actions on the dark masthead. */
.search-field,
.outline-button {
  background: transparent !important;
  border-color: rgba(255,255,255,.55) !important;
}

.search-field svg,
.search-field input,
.outline-button {
  color: #fff !important;
}

.search-field input::placeholder {
  color: rgba(255,255,255,.70) !important;
}

.search-field:focus-within,
.outline-button:hover,
.outline-button:focus {
  background: rgba(255,255,255,.08) !important;
  border-color: #fff !important;
  color: #fff !important;
}

/* Primary menu: blue text becomes white on the blue-black band. */
.ijccse-desktop-menu > li > a {
  color: #fff !important;
}

.ijccse-desktop-menu > li > a:hover,
.ijccse-desktop-menu > li > a:focus,
.ijccse-desktop-menu > li.is-active > a,
.ijccse-desktop-menu > li > a[aria-current="page"] {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
}

.ijccse-desktop-menu > li.is-active > a::before,
.ijccse-desktop-menu > li > a[aria-current="page"]::before {
  background: var(--ijccse-header-orange) !important;
}

/* Mobile header/navigation follows the same inversion. */
@media (max-width: 991.98px) {
  .ijccse-mobile-bar,
  .ijccse-menu-button,
  .ijccse-mobile-search {
    color: #fff !important;
  }

  .ijccse-hamburger i,
  .ijccse-mobile-search span::after {
    background: #fff !important;
  }

  .ijccse-mobile-search span {
    border-color: #fff !important;
  }
}


/* ==========================================================================
   v1.5.6.21 — typography from Publishing House ASV / Journal IJCCSE preset
   Source: asvtheme/styles/journalIjccse-site.css
   ========================================================================== */
:root {
  --ijccse-asv-font: "Source Sans Pro", Calibri, Candara, Arial, sans-serif;
  --ijccse-asv-base-size: 15px;
  --ijccse-asv-line-height: 1.42857143;
}

/* ASV IJCCSE base typography */
body,
button,
input,
select,
textarea {
  font-family: var(--ijccse-asv-font) !important;
}

body {
  font-size: var(--ijccse-asv-base-size) !important;
  line-height: var(--ijccse-asv-line-height) !important;
}

/* Original ASV IJCCSE heading scale */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--ijccse-asv-font) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
}

h1, .h1 { font-size: 39px; }
h2, .h2 { font-size: 32px; }
h3, .h3 { font-size: 26px; }
h4, .h4 { font-size: 19px; }
h5, .h5 { font-size: 15px; }
h6, .h6 { font-size: 13px; }

/* Header follows the same ASV IJCCSE type system. */
.ijccse-head,
.ijccse-head a,
.ijccse-head button,
.ijccse-head input {
  font-family: var(--ijccse-asv-font) !important;
}

.brand-title {
  font-family: var(--ijccse-asv-font) !important;
  font-size: 2.7vw !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}

.brand-kicker {
  font-family: var(--ijccse-asv-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

.brand-subtitle {
  font-family: var(--ijccse-asv-font) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: var(--ijccse-asv-line-height) !important;
}

.search-field input,
.outline-button,
.ijccse-desktop-menu > li > a {
  font-family: var(--ijccse-asv-font) !important;
  font-size: 15px !important;
  line-height: var(--ijccse-asv-line-height) !important;
}

.ijccse-desktop-menu > li > a {
  font-weight: 700 !important;
  letter-spacing: normal !important;
}

.ijccse-topbar-meta,
.ijccse-topbar-login-link,
.ijccse-topbar-language,
.ijccse-topbar-language a {
  font-family: var(--ijccse-asv-font) !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
}

@media (max-width: 991.98px) {
  .brand-title {
    font-size: 2.7vw !important;
  }

  .brand-kicker {
    font-size: 13px !important;
  }

  .brand-subtitle,
  .search-field input,
  .outline-button,
  .ijccse-desktop-menu > li > a {
    font-size: 15px !important;
  }

  .ijccse-topbar-meta,
  .ijccse-topbar-login-link,
  .ijccse-topbar-language,
  .ijccse-topbar-language a {
    font-size: 13px !important;
  }
}


/* ==========================================================================
   v1.5.6.22 — restore service menu from IJCCSE 1.5.6.18
   ========================================================================== */
:root {
  --ijccse-reference-navbar-height: 58px;
}

.ijccse-head {
  padding-top: var(--ijccse-reference-navbar-height) !important;
}

.ijccse-topbar {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 5200 !important;
  width: 100% !important;
  height: var(--ijccse-reference-navbar-height) !important;
  min-height: var(--ijccse-reference-navbar-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ijccse-primary) !important;
  border: 0 !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.18) !important;
}

.ijccse-topbar-container {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 var(--ijccse-page-gutter) !important;
}

.ijccse-topbar-row {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-topbar-left {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.ijccse-topbar-title {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 24px 0 0 !important;
  color: #fff !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.ijccse-topbar-right {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
}

.ijccse-topbar-issn {
  flex: 0 0 205px !important;
  width: 205px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 5px 14px !important;
  border-left: 1px solid rgba(255,255,255,.22) !important;
  color: #fff !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.ijccse-topbar-issn a {
  color: #8ec8ff !important;
  font-size: 9px !important;
  text-decoration: none !important;
}

.ijccse-topbar-issn a:hover,
.ijccse-topbar-issn a:focus {
  color: #fff !important;
  text-decoration: underline !important;
}

.ijccse-topbar-login {
  flex: 0 0 auto !important;
  width: auto !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-left: 1px solid rgba(255,255,255,.22) !important;
}

.ijccse-topbar-login-link {
  min-width: 104px !important;
  height: 100% !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: #fff !important;
  background: rgba(255,255,255,.05) !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.ijccse-topbar-login-link:hover,
.ijccse-topbar-login-link:focus {
  color: #fff !important;
  background: rgba(255,255,255,.14) !important;
}

.ijccse-topbar-login-link .fa {
  display: inline-block !important;
  width: 18px !important;
  font-size: 17px !important;
  text-align: center !important;
}

.ijccse-topbar-language {
  flex: 0 0 118px !important;
  width: 118px !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-left: 1px solid rgba(255,255,255,.22) !important;
  color: #fff !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.ijccse-topbar-language::before {
  content: none !important;
}

.ijccse-topbar-language a {
  color: #d9e6f1 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}

.ijccse-topbar-language > span {
  color: #fff !important;
}

.ijccse-topbar-language a:hover,
.ijccse-topbar-language a:focus,
.ijccse-topbar-language a.current {
  color: #fff !important;
}

.ijccse-topbar-language a.current {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.ijccse-nav-shell,
.ijccse-nav-shell.is-fixed {
  top: var(--ijccse-reference-navbar-height) !important;
}

@media (max-width: 991.98px) {
  :root {
    --ijccse-reference-navbar-height: 42px;
  }

  .ijccse-topbar-title {
    padding-right: 10px !important;
    font-size: 10px !important;
  }

  .ijccse-topbar-issn,
  .ijccse-topbar-login {
    display: none !important;
  }

  .ijccse-topbar-language {
    flex: 0 0 92px !important;
    width: 92px !important;
    padding: 0 8px !important;
  }

  .ijccse-topbar-language,
  .ijccse-topbar-language a {
    font-size: 12px !important;
  }
}


/* ==========================================================================
   v1.5.6.23 — ASV logo in masthead
   ========================================================================== */
.brand-mark {
  overflow: hidden !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.brand-mark-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.brand-mark span {
  display: none !important;
}


/* ==========================================================================
   v1.5.6.24 — top-align ASV masthead logo and render it white
   ========================================================================== */
.brand-mark {
  align-self: flex-start !important;
  margin-top: 0 !important;
}

.brand-mark-image {
  filter: brightness(0) invert(1) !important;
}


/* ==========================================================================
   v1.5.6.25 — primary navigation highlighting + persistent sticky behavior
   ========================================================================== */
.ijccse-nav-shell {
  position: sticky !important;
  top: var(--ijccse-reference-navbar-height) !important;
  z-index: 5100 !important;
  transform: none !important;
}

.ijccse-nav-shell.is-fixed {
  position: fixed !important;
  top: var(--ijccse-reference-navbar-height) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 5100 !important;
  transform: none !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.18) !important;
}

.ijccse-nav-shell.is-hidden {
  transform: none !important;
}

.ijccse-head.ijccse-has-fixed-nav {
  padding-bottom: var(--ijccse-nav-height) !important;
}

/* Equal left/right visual padding on the first item ("About"). */
.ijccse-desktop-menu > li:first-child > a {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Visible link highlighting on hover/focus and on the current OJS route. */
.ijccse-desktop-menu > li > a {
  transition: background-color .16s ease, color .16s ease !important;
}

.ijccse-desktop-menu > li > a:hover,
.ijccse-desktop-menu > li > a:focus {
  color: #fff !important;
  background: rgba(255,255,255,.10) !important;
}

.ijccse-desktop-menu > li.is-active > a,
.ijccse-desktop-menu > li > a[aria-current="page"] {
  color: #fff !important;
  background: rgba(255,255,255,.15) !important;
}

.ijccse-desktop-menu > li.is-active > a::before,
.ijccse-desktop-menu > li > a[aria-current="page"]::before {
  left: 0 !important;
  right: 0 !important;
  bottom: -3px !important;
  height: 3px !important;
  background: var(--ijccse-header-orange) !important;
}


/* ==========================================================================
   v1.5.6.26 — readable scholarly navigation + OJS advanced-search button
   ========================================================================== */
.ijccse-desktop-nav {
  display: flex !important;
  align-items: stretch !important;
}

.pkp_navigation_primary.ijccse-desktop-menu {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

.ijccse-desktop-menu > li > a {
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.ijccse-desktop-menu .dropdown-item {
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.ijccse-nav-search {
  flex: 0 0 var(--ijccse-nav-height) !important;
  width: var(--ijccse-nav-height) !important;
  min-width: var(--ijccse-nav-height) !important;
  min-height: var(--ijccse-nav-height) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  color: #fff !important;
  background: transparent !important;
  border-left: 1px solid rgba(255,255,255,.24) !important;
  text-decoration: none !important;
  transition: background-color .16s ease, color .16s ease !important;
}

.ijccse-nav-search:hover,
.ijccse-nav-search:focus {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  outline: none !important;
}

.ijccse-nav-search:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.85) !important;
}

.ijccse-nav-search svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

@media (min-width: 1600px) {
  .ijccse-desktop-menu > li > a {
    font-size: 15px !important;
  }
}


/* ==========================================================================
   v1.5.6.27 — expandable homepage about block
   Keep the 1.5.6.26 visual design; only double the collapsed height and add
   in-place expand/collapse behavior.
   ========================================================================== */
.ijccse-about-panel {
  min-height: 420px !important;
}

.ijccse-journal-description {
  max-height: 316px !important;
}

.ijccse-about-panel.is-expanded .ijccse-journal-description {
  max-height: none !important;
  overflow: visible !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.ijccse-description-toggle {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--ijccse-link) !important;
  font-family: inherit !important;
  line-height: inherit !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.ijccse-description-toggle:hover,
.ijccse-description-toggle:focus {
  color: var(--ijccse-primary) !important;
  text-decoration: underline !important;
}

.ijccse-description-toggle:focus-visible {
  outline: 2px solid var(--ijccse-link) !important;
  outline-offset: 3px !important;
}

@media (max-width: 991.98px) {
  .ijccse-about-panel {
    min-height: 320px !important;
  }

  .ijccse-journal-description {
    max-height: 224px !important;
  }
}

@media (max-width: 479.98px) {
  .ijccse-about-panel {
    min-height: 320px !important;
  }

  .ijccse-journal-description {
    max-height: 224px !important;
  }
}


/* ==========================================================================
   v1.5.6.28 — homepage description cover
   ========================================================================== */
.ijccse-about-panel .descriptionCover {
  height: 180px !important;
  width: auto !important;
  max-height: none !important;
  float: left !important;
  margin-right: 20px !important;
  margin-bottom: 20px !important;
}

/* ==========================================================================
   v1.5.6.31 — reusable images with the exact 1.5.6.29 visual system
   No theme colour or typography variables are overridden here.
   ========================================================================== */

/* OJS Page Header Logo: preserve the uploaded artwork itself while keeping
   the 1.5.6.29 masthead palette and typography unchanged. */
.brand-mark.brand-mark--uploaded {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 58px !important;
  max-width: 180px !important;
  height: 64px !important;
  padding: 0 !important;
}

.brand-mark--uploaded .brand-mark-image {
  width: auto !important;
  max-width: 180px !important;
  height: auto !important;
  max-height: 64px !important;
  object-fit: contain !important;
  object-position: left top !important;
  filter: none !important;
}

/* Homepage Image now lives inside the Journal Summary description. */
.ijccse-journal-description .ijccse-homepage-image {
  float: left !important;
  width: auto !important;
  max-width: 180px !important;
  margin: 0 20px 16px 0 !important;
}

.ijccse-journal-description .ijccse-homepage-image img {
  display: block !important;
  width: auto !important;
  max-width: 180px !important;
  max-height: 220px !important;
  object-fit: contain !important;
}

.ijccse-about-panel.is-expanded .ijccse-journal-description::after,
.ijccse-journal-description::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

@media (max-width: 575.98px) {
  .brand-mark.brand-mark--uploaded {
    max-width: 112px !important;
    height: 48px !important;
  }

  .brand-mark--uploaded .brand-mark-image {
    max-width: 112px !important;
    max-height: 48px !important;
  }

  .ijccse-journal-description .ijccse-homepage-image {
    max-width: 110px !important;
    margin-right: 12px !important;
    margin-bottom: 10px !important;
  }

  .ijccse-journal-description .ijccse-homepage-image img {
    max-width: 110px !important;
    max-height: 160px !important;
  }
}

/* ==========================================================================
   v1.5.6.32 — compact current-issue feature on the homepage
   Uses OJS issue metadata and links; article cards remain on the issue page.
   Keeps the IJCCSE 1.5.6.29 colours and Source Sans Pro typography.
   ========================================================================== */

.ijccse-current-issue {
  margin: 20px 0 26px !important;
}

.ijccse-current-issue .issue-feature {
  --ijccse-issue-gutter: 30px;
  margin: 0 !important;
  padding: 27px var(--ijccse-issue-gutter) 18px !important;
  background: #fff !important;
  border-top: 5px solid var(--ijccse-primary) !important;
  border-bottom: 3px solid var(--ijccse-primary) !important;
}

.ijccse-current-issue .issue-heading-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr) !important;
  gap: 34px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 0 30px !important;
}

.ijccse-current-issue .issue-heading-main {
  min-width: 0 !important;
}

.ijccse-current-issue .issue-heading-row.issue-heading-row--single {
  grid-template-columns: minmax(0, 1fr) !important;
}

.ijccse-current-issue .issue-label {
  margin: 0 0 13px !important;
  color: var(--ijccse-header-orange, #e9762b) !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.ijccse-current-issue .issue-number {
  margin: 0 0 9px !important;
  padding: 0 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 31px !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.ijccse-current-issue .issue-number a {
  color: var(--ijccse-primary) !important;
  text-decoration: none !important;
}

.ijccse-current-issue .issue-number a:hover,
.ijccse-current-issue .issue-number a:focus {
  color: var(--ijccse-link) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.ijccse-current-issue .issue-date {
  color: #74889a !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

.ijccse-current-issue .issue-description {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 1px 0 1px 18px !important;
  border-left: 2px solid #d9e3ec !important;
  color: #6f8294 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
}

.ijccse-current-issue .issue-description p {
  margin: 0 0 7px !important;
}

.ijccse-current-issue .issue-description p:last-child {
  margin-bottom: 0 !important;
}


.ijccse-current-issue .issue-description[data-ijccse-issue-description] {
  position: relative !important;
}

.ijccse-current-issue .issue-description-text {
  position: relative !important;
  max-height: var(--ijccse-home-issue-description-height, 160px) !important;
  overflow: hidden !important;
}

.ijccse-current-issue .issue-description-text::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  bottom: 0 !important;
  height: 30px !important;
  pointer-events: none !important;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.98)) !important;
  display: none !important;
}

.ijccse-current-issue .issue-description.has-overflow .issue-description-text::after {
  display: block !important;
}

.ijccse-current-issue .issue-description.is-expanded .issue-description-text {
  max-height: none !important;
  overflow: visible !important;
}

.ijccse-current-issue .issue-description.is-expanded .issue-description-text::after {
  display: none !important;
}

.ijccse-current-issue .issue-description-toggle {
  width: 26px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: right !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 3px !important;
  color: #5f7690 !important;
  background: transparent !important;
  cursor: pointer !important;
  opacity: .82 !important;
  transition: color .15s ease, background-color .15s ease, opacity .15s ease !important;
}

.ijccse-current-issue .issue-description-toggle[hidden] {
  display: none !important;
}

.ijccse-current-issue .issue-description-toggle:hover,
.ijccse-current-issue .issue-description-toggle:focus-visible {
  color: var(--ijccse-link, #00589b) !important;
  background: rgba(var(--ijccse-link-rgb, 0, 88, 155), .07) !important;
  opacity: 1 !important;
  outline: none !important;
}

.ijccse-current-issue .issue-description-toggle svg {
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transition: transform .18s ease !important;
}

.ijccse-current-issue .issue-description.is-expanded .issue-description-toggle svg {
  transform: rotate(180deg) !important;
}

.ijccse-current-issue .issue-description::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

.ijccse-current-issue .article-list {
  box-sizing: border-box !important;
  width: calc(100% + (2 * var(--ijccse-issue-gutter))) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: calc(var(--ijccse-issue-gutter) * -1) !important;
  margin-right: calc(var(--ijccse-issue-gutter) * -1) !important;
  padding: 0 !important;
}

.ijccse-current-issue .article-list-header {
  padding-left: var(--ijccse-issue-gutter) !important;
  padding-right: var(--ijccse-issue-gutter) !important;
}

.ijccse-current-issue .ijccse-home-issue-toc,
.ijccse-current-issue .ijccse-home-issue-toc > .obj_issue_toc,
.ijccse-current-issue .ijccse-home-issue-toc .sections,
.ijccse-current-issue .ijccse-home-issue-toc .section,
.ijccse-current-issue .ijccse-home-issue-toc .cmp_article_list {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.ijccse-current-issue .article-list-header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 0 0 12px !important;
  border-bottom: 0 !important;
}

.ijccse-current-issue .article-list-header h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ijccse-primary) !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

.ijccse-current-issue .article-list-header h2 a {
  color: var(--ijccse-primary) !important;
  text-decoration: none !important;
}

.ijccse-current-issue .article-list-header h2 a:hover,
.ijccse-current-issue .article-list-header h2 a:focus {
  color: var(--ijccse-link) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.ijccse-current-issue .issue-feature-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px 15px !important;
  min-width: 0 !important;
  color: #74889a !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  text-align: right !important;
}

.ijccse-current-issue .issue-feature-galleys {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px 8px !important;
}

.ijccse-current-issue .issue-feature-galleys-label {
  color: #74889a !important;
}

.ijccse-current-issue .issue-feature-galleys .galleys_links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ijccse-current-issue .issue-feature-galleys .galleys_links li {
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-current-issue .issue-feature-galleys .obj_galley_link,
.ijccse-current-issue .issue-archive-link {
  color: var(--ijccse-link) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.ijccse-current-issue .issue-feature-galleys .obj_galley_link:hover,
.ijccse-current-issue .issue-feature-galleys .obj_galley_link:focus,
.ijccse-current-issue .issue-archive-link:hover,
.ijccse-current-issue .issue-archive-link:focus {
  color: var(--ijccse-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

@media (max-width: 991.98px) {
  .ijccse-current-issue .issue-feature {
    --ijccse-issue-gutter: 22px;
    padding: 23px var(--ijccse-issue-gutter) 16px !important;
  }

  .ijccse-current-issue .issue-heading-row {
    grid-template-columns: minmax(0, 1fr) minmax(220px, .85fr) !important;
    gap: 24px !important;
    padding-bottom: 25px !important;
  }

  .ijccse-current-issue .issue-number {
    font-size: 27px !important;
  }

  .ijccse-current-issue .article-list-header h2 {
    font-size: 22px !important;
  }
}

@media (max-width: 767.98px) {
  .ijccse-current-issue .issue-heading-row {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .ijccse-current-issue .issue-description {
    padding: 12px 0 0 !important;
    border-left: 0 !important;
    border-top: 2px solid #d9e3ec !important;
  }

  .ijccse-current-issue .article-list-header {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .ijccse-current-issue .issue-feature-actions,
  .ijccse-current-issue .issue-feature-galleys {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

@media (max-width: 479.98px) {
  .ijccse-current-issue {
    margin-top: 14px !important;
  }

  .ijccse-current-issue .issue-feature {
    --ijccse-issue-gutter: 14px;
    padding: 19px var(--ijccse-issue-gutter) 14px !important;
    border-top-width: 4px !important;
  }

  .ijccse-current-issue .issue-label {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .ijccse-current-issue .issue-number {
    font-size: 23px !important;
  }

  .ijccse-current-issue .issue-date,
  .ijccse-current-issue .issue-description {
    font-size: 13px !important;
  }

  .ijccse-current-issue .article-list-header h2 {
    font-size: 20px !important;
  }
}

/* ==========================================================================
   v1.5.6.37 — native OJS issue TOC styled as homepage article cards
   Rendering stays in frontend/objects/issue_toc.tpl and article_summary.tpl.
   ========================================================================== */

.ijccse-home-issue-toc {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 3px solid var(--ijccse-primary) !important;
}

.ijccse-home-issue-toc > .obj_issue_toc {
  margin: 0 !important;
  padding: 0 !important;
}

/* Issue metadata and full-issue galley are already shown in the custom
   issue-feature header, so suppress only their duplicate native output. */
.ijccse-home-issue-toc > .obj_issue_toc > .heading,
.ijccse-home-issue-toc > .obj_issue_toc > .galleys {
  display: none !important;
}

.ijccse-home-issue-toc .obj_issue_toc .sections,
.ijccse-home-issue-toc .obj_issue_toc .section {
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-home-issue-toc .obj_issue_toc .section {
  border: 0 !important;
}

.ijccse-home-issue-toc .obj_issue_toc .section > h3 {
  display: block !important;
  min-height: 0 !important;
  margin: 20px 0 0 !important;
  padding: 0 0 10px !important;
  color: #367fc6 !important;
  background: transparent !important;
  border: 0 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.ijccse-home-issue-toc .obj_issue_toc .section > h3::after {
  content: none !important;
  display: none !important;
}

.ijccse-home-issue-toc .obj_issue_toc .articles,
.ijccse-home-issue-toc .cmp_article_list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ijccse-home-issue-toc .obj_issue_toc .articles > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.ijccse-home-issue-toc .obj_article_summary {
  position: relative !important;
  margin: 0 !important;
  padding: 22px 0 23px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #d8e1e8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ijccse-home-issue-toc .obj_issue_toc .section:last-child .articles > li:last-child .obj_article_summary {
  border-bottom: 0 !important;
}

.ijccse-home-issue-toc .obj_article_summary .cover {
  display: none !important;
}

.ijccse-home-issue-toc .obj_article_summary .title {
  margin: 0 0 7px !important;
  padding: 0 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.26 !important;
  letter-spacing: 0 !important;
}

.ijccse-home-issue-toc .obj_article_summary .title a {
  color: var(--ijccse-primary) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
}

.ijccse-home-issue-toc .obj_article_summary .title a:hover,
.ijccse-home-issue-toc .obj_article_summary .title a:focus {
  color: var(--ijccse-link) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.ijccse-home-issue-toc .obj_article_summary .title .subtitle {
  display: block !important;
  margin-top: 3px !important;
  color: #49677f !important;
  font-size: .88em !important;
  font-weight: 400 !important;
}

.ijccse-home-issue-toc .obj_article_summary .meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 16px !important;
  margin: 0 !important;
  color: #8093a3 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1.4 !important;
}

.ijccse-home-issue-toc .obj_article_summary .authors {
  flex: 1 1 100% !important;
  margin: 0 !important;
  color: #667e92 !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

.ijccse-home-issue-toc .obj_article_summary .pages {
  position: relative !important;
  margin: 3px 0 0 !important;
  padding-left: 20px !important;
  color: #8093a3 !important;
  font-size: 12px !important;
  font-style: normal !important;
}

.ijccse-home-issue-toc .obj_article_summary .pages::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  width: 14px !important;
  height: 14px !important;
  opacity: .82 !important;
  background:
    linear-gradient(#8093a3,#8093a3) 3px 3px / 8px 1px no-repeat,
    linear-gradient(#8093a3,#8093a3) 3px 6px / 8px 1px no-repeat,
    linear-gradient(#8093a3,#8093a3) 3px 9px / 6px 1px no-repeat;
  border: 1px solid #8093a3 !important;
  border-radius: 1px !important;
}

.ijccse-home-issue-toc .obj_article_summary .published {
  margin: 3px 0 0 !important;
  color: #8093a3 !important;
  font-size: 12px !important;
}

.ijccse-home-issue-toc .obj_article_summary .galleys_links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ijccse-home-issue-toc .obj_article_summary .galleys_links li {
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-home-issue-toc .obj_article_summary .galleys_links a,
.ijccse-home-issue-toc .obj_article_summary .obj_galley_link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 4px 10px !important;
  color: var(--ijccse-link) !important;
  background: #f4f7fa !important;
  border: 1px solid #d8e1e8 !important;
  border-radius: 2px !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.ijccse-home-issue-toc .obj_article_summary .galleys_links a:hover,
.ijccse-home-issue-toc .obj_article_summary .galleys_links a:focus,
.ijccse-home-issue-toc .obj_article_summary .obj_galley_link:hover,
.ijccse-home-issue-toc .obj_article_summary .obj_galley_link:focus {
  color: #fff !important;
  background: var(--ijccse-primary) !important;
  border-color: var(--ijccse-primary) !important;
}

@media (max-width: 767.98px) {
  .ijccse-home-issue-toc .obj_article_summary {
    padding: 19px 0 20px !important;
  }

  .ijccse-home-issue-toc .obj_article_summary .title {
    font-size: 19px !important;
  }
}

@media (max-width: 479.98px) {
  .ijccse-home-issue-toc .obj_issue_toc .section > h3 {
    margin-top: 16px !important;
  }

  .ijccse-home-issue-toc .obj_article_summary {
    padding: 16px 0 17px !important;
  }

  .ijccse-home-issue-toc .obj_article_summary .title {
    font-size: 17px !important;
  }
}

/* ==========================================================================
   v1.5.6.40 — homepage article cards: DOI + animated hover
   Based on the repository-native OJS article_summary.tpl markup.
   ========================================================================== */

/* "Articles in this issue" is already shown above the cards. */
.ijccse-home-issue-toc .obj_issue_toc .section > h3 {
  display: none !important;
}

.ijccse-home-issue-toc .obj_issue_toc .section {
  margin: 0 !important;
}

.ijccse-home-issue-toc .obj_issue_toc .articles {
  display: grid !important;
  gap: 10px !important;
  padding: 12px 0 0 !important;
}

.ijccse-home-issue-toc .obj_issue_toc .articles > li {
  overflow: visible !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card {
  position: relative !important;
  margin: 0 !important;
  padding: 20px 22px 21px !important;
  background: #fff !important;
  border: 1px solid #e1e7ec !important;
  border-left: 3px solid transparent !important;
  border-radius: 2px !important;
  box-shadow: 0 1px 3px rgba(var(--ijccse-primary-rgb, 0, 43, 85), .06) !important;
  transform: translate3d(0,0,0) !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    border-color .22s ease !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card:hover,
.ijccse-home-issue-toc .ijccse-home-article-card:focus-within {
  background: #f9fbfd !important;
  border-color: #d2dde7 !important;
  border-left-color: var(--ijccse-link) !important;
  box-shadow: 0 9px 24px rgba(var(--ijccse-primary-rgb, 0, 43, 85), .16) !important;
  transform: translate3d(7px, -2px, 0) !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .article-type {
  margin: 0 0 9px !important;
  color: #367fc6 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.26 !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .title a {
  color: var(--ijccse-primary) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
  transition: color .18s ease !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card:hover .title a,
.ijccse-home-issue-toc .ijccse-home-article-card:focus-within .title a {
  color: var(--ijccse-link) !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px 18px !important;
  margin: 0 0 13px !important;
  color: #8093a3 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1.4 !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .authors {
  flex: 1 1 100% !important;
  margin: 0 0 2px !important;
  color: #667e92 !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .pages,
.ijccse-home-issue-toc .ijccse-home-article-card .doi {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 16px !important;
  margin: 0 !important;
  color: #8093a3 !important;
  font-size: 12px !important;
  font-style: normal !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .pages {
  padding-left: 20px !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .pages::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  width: 14px !important;
  height: 14px !important;
  opacity: .82 !important;
  background:
    linear-gradient(#8093a3,#8093a3) 3px 3px / 8px 1px no-repeat,
    linear-gradient(#8093a3,#8093a3) 3px 6px / 8px 1px no-repeat,
    linear-gradient(#8093a3,#8093a3) 3px 9px / 6px 1px no-repeat;
  border: 1px solid #8093a3 !important;
  border-radius: 1px !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .doi::before {
  content: "◎" !important;
  display: inline-block !important;
  margin-right: 5px !important;
  color: #8093a3 !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .doi-label {
  margin-right: 4px !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .doi a {
  color: #8093a3 !important;
  text-decoration: none !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .doi a:hover,
.ijccse-home-issue-toc .ijccse-home-article-card .doi a:focus {
  color: var(--ijccse-link) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .article-read-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #367fc6 !important;
  background: transparent !important;
  border: 0 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card .article-read-more-arrow {
  display: inline-block !important;
  transition: transform .18s ease !important;
}

.ijccse-home-issue-toc .ijccse-home-article-card:hover .article-read-more-arrow,
.ijccse-home-issue-toc .ijccse-home-article-card:focus-within .article-read-more-arrow {
  transform: translateX(4px) !important;
}

@media (prefers-reduced-motion: reduce) {
  .ijccse-home-issue-toc .ijccse-home-article-card,
  .ijccse-home-issue-toc .ijccse-home-article-card .article-read-more-arrow {
    transition: none !important;
  }

  .ijccse-home-issue-toc .ijccse-home-article-card:hover,
  .ijccse-home-issue-toc .ijccse-home-article-card:focus-within {
    transform: none !important;
  }
}

@media (max-width: 767.98px) {
  .ijccse-home-issue-toc .ijccse-home-article-card {
    padding: 17px 16px 18px !important;
  }

  .ijccse-home-issue-toc .ijccse-home-article-card:hover,
  .ijccse-home-issue-toc .ijccse-home-article-card:focus-within {
    transform: translate3d(3px, -1px, 0) !important;
  }

  .ijccse-home-issue-toc .ijccse-home-article-card .title {
    font-size: 19px !important;
  }
}

/* ==========================================================================
   v1.5.6.41 — article-list spans the full pkp_structure_main width
   ========================================================================== */

.pkp_structure_main .ijccse-current-issue,
.pkp_structure_main .ijccse-current-issue .issue-feature {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.pkp_structure_main .ijccse-current-issue .article-list {
  align-self: stretch !important;
}

/* ==========================================================================
   v1.5.6.42 — full-width configurable indexing / visibility panel
   ========================================================================== */

.ijccse-indexing-panel {
  width: 100% !important;
  max-width: none !important;
  margin: 34px 0 0 !important;
  padding: 30px 0 43px !important;
  background: #fff !important;
  border-top: 1px solid #d7e0e8 !important;
}

.ijccse-indexing-panel .ij-container {
  box-sizing: border-box !important;
}

.ijccse-indexing-panel .eyebrow {
  margin: 0 !important;
  color: #367fc6 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.ijccse-indexing-panel .serif {
  margin: 7px 0 24px !important;
  padding: 0 !important;
  color: var(--ijccse-primary) !important;
  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-size: 1.65rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.ijccse-indexing-panel .logo-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-indexing-panel .logo-block {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 106px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 18px 22px !important;
  color: var(--ijccse-primary) !important;
  background: #fbfcfd !important;
  border: 1px solid #d5dee7 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  text-decoration: none !important;
  transform: translateY(0) !important;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease !important;
}

.ijccse-indexing-panel a.logo-block:hover,
.ijccse-indexing-panel a.logo-block:focus {
  color: var(--ijccse-primary) !important;
  background: #f4f8fb !important;
  border-color: #bccbd8 !important;
  box-shadow: 0 7px 20px rgba(var(--ijccse-primary-rgb, 0, 43, 85), .10) !important;
  transform: translateY(-3px) !important;
  text-decoration: none !important;
}

.ijccse-indexing-panel .logo-block strong {
  display: block !important;
  color: var(--ijccse-primary) !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .08em !important;
}

.ijccse-indexing-panel .logo-block span {
  display: block !important;
  color: #7a8e9f !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

@media (max-width: 767.98px) {
  .ijccse-indexing-panel {
    margin-top: 26px !important;
    padding: 25px 0 32px !important;
  }

  .ijccse-indexing-panel .serif {
    margin-bottom: 18px !important;
    font-size: 1.4rem !important;
  }

  .ijccse-indexing-panel .logo-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ijccse-indexing-panel .logo-block {
    min-height: 88px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ijccse-indexing-panel .logo-block {
    transition: none !important;
  }

  .ijccse-indexing-panel a.logo-block:hover,
  .ijccse-indexing-panel a.logo-block:focus {
    transform: none !important;
  }
}

/* ==========================================================================
   v1.5.6.43 — uploaded logos + second configurable homepage panel
   ========================================================================== */

.ijccse-configurable-panel .logo-block-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: min(180px, 82%) !important;
  max-height: 48px !important;
  margin: 0 0 3px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.ijccse-configurable-panel .logo-block:has(.logo-block-image) {
  min-height: 126px !important;
}

.ijccse-custom-panel {
  margin-top: 0 !important;
  border-top: 1px solid #d7e0e8 !important;
  background: #f9fbfc !important;
}

.ijccse-custom-panel .logo-block {
  background: #fff !important;
}

.ijccse-custom-panel a.logo-block:hover,
.ijccse-custom-panel a.logo-block:focus {
  background: #f4f8fb !important;
}

@media (max-width: 767.98px) {
  .ijccse-configurable-panel .logo-block-image {
    max-height: 42px !important;
  }

  .ijccse-configurable-panel .logo-block:has(.logo-block-image) {
    min-height: 108px !important;
  }
}

/* ==========================================================================
   v1.5.6.44 — Custom Block Manager-style homepage content block
   ========================================================================== */

.ijccse-custom-content-panel {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 34px 0 40px !important;
  background: #fff !important;
  border-top: 1px solid #d7e0e8 !important;
}

.ijccse-custom-content-inner {
  box-sizing: border-box !important;
}

.ijccse-custom-content-panel h2 {
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: var(--ijccse-primary) !important;
  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-size: 1.65rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.ijccse-custom-content {
  color: var(--ijccse-text) !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.ijccse-custom-content > :first-child {
  margin-top: 0 !important;
}

.ijccse-custom-content > :last-child {
  margin-bottom: 0 !important;
}

.ijccse-custom-content img {
  max-width: 100% !important;
  height: auto !important;
}

.ijccse-custom-content table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
}

.ijccse-custom-content a {
  color: var(--ijccse-link) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.ijccse-custom-content a:hover,
.ijccse-custom-content a:focus {
  color: var(--ijccse-primary) !important;
}

@media (max-width: 767.98px) {
  .ijccse-custom-content-panel {
    padding: 27px 0 31px !important;
  }

  .ijccse-custom-content-panel h2 {
    margin-bottom: 14px !important;
    font-size: 1.4rem !important;
  }

  .ijccse-custom-content {
    font-size: 14px !important;
  }
}

/* ==========================================================================
   v1.5.6.50 — expanded About, four-card issue preview, native sidebar flow
   ========================================================================== */

/* Journal summary is open on first load; the existing Collapse control can
   still close it interactively. */
.ijccse-about-panel.is-expanded .ijccse-journal-description {
  max-height: none !important;
  overflow: visible !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Current issue: show four article cards initially, then let JS reveal all. */
.ijccse-issue-cards-toggle-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 17px var(--ijccse-issue-gutter) 5px !important;
}

.ijccse-issue-cards-toggle-wrap[hidden],
.ijccse-issue-cards-toggle[hidden] {
  display: none !important;
}

.ijccse-issue-cards-toggle {
  min-width: 116px !important;
  min-height: 36px !important;
  padding: 7px 18px !important;
  color: var(--ijccse-link) !important;
  background: #fff !important;
  border: 1px solid #cbd8e3 !important;
  border-radius: 2px !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  transition:
    color .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease !important;
}

.ijccse-issue-cards-toggle:hover,
.ijccse-issue-cards-toggle:focus {
  color: #fff !important;
  background: var(--ijccse-primary) !important;
  border-color: var(--ijccse-primary) !important;
  box-shadow: 0 5px 14px rgba(var(--ijccse-primary-rgb, 0, 43, 85), .14) !important;
  transform: translateY(-1px) !important;
}

.ijccse-issue-cards-toggle:focus-visible {
  outline: 2px solid var(--ijccse-link) !important;
  outline-offset: 3px !important;
}

.ijccse-home-issue-toc [hidden] {
  display: none !important;
}

/*
 * Sidebar image layout is no longer changed globally.
 * Each IJCCSE sidebar block owns its own CSS rules.
 */

@media (prefers-reduced-motion: reduce) {
  .ijccse-issue-cards-toggle {
    transition: none !important;
  }

  .ijccse-issue-cards-toggle:hover,
  .ijccse-issue-cards-toggle:focus {
    transform: none !important;
  }
}

/* ==========================================================================
   v1.5.6.51 — theme-managed OJS sidebar blocks
   ========================================================================== */

/* Restore the established IJCCSE sidebar dimensions used before the
   three-column custom-block experiment. */
.pkp_structure_content > .pkp_structure_sidebar {
  flex: 0 1 28% !important;
  width: 28% !important;
  max-width: 440px !important;
  min-width: 300px !important;
}

/* Theme-managed blocks intentionally use the same public markup contract as
   Custom Block Manager: .pkp_block.block_custom > .title + .content. */
.pkp_structure_sidebar .pkp_block.block_custom {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.pkp_structure_sidebar .pkp_block.block_custom .content {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 12px !important;
  background: transparent !important;
}

.pkp_structure_sidebar .pkp_block.block_custom .content > p,
.pkp_structure_sidebar .pkp_block.block_custom .content > div,
.pkp_structure_sidebar .pkp_block.block_custom .content > section,
.pkp_structure_sidebar .pkp_block.block_custom .content > figure {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.pkp_structure_sidebar .pkp_block.block_custom .content > :last-child {
  margin-bottom: 0 !important;
}

.pkp_structure_sidebar .pkp_block.block_custom .content img {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
}

.pkp_structure_sidebar .pkp_block.block_custom .content table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
}

@media (max-width: 991.98px) {
  .pkp_structure_content > .pkp_structure_sidebar {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

/* ==========================================================================
   v1.5.6.58 — independent Sidebar CSS ownership
   ========================================================================== */

/*
 * Sidebar 1–8 layout rules are intentionally NOT defined in the base theme.
 * Each theme-managed block is styled only by its own editable CSS option:
 * #customblock-ijccse-sidebar-N
 */

/* ==========================================================================
   v1.5.6.62 — hard fallback grids for live Sidebar 3 and Sidebar 4 markup
   ========================================================================== */

/* --------------------------------------------------------------------------
   Sidebar 3 — INDEXING
   Live markup: .content > p > a > img
   3 logos per row, final text line centred across all columns.
   -------------------------------------------------------------------------- */

#customblock-ijccse-sidebar-3 .content {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  justify-items: center !important;
  column-gap: 10px !important;
  row-gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 12px !important;
  text-align: center !important;
}

#customblock-ijccse-sidebar-3 .content > p {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

#customblock-ijccse-sidebar-3 .content > p:has(img) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 64px !important;
}

#customblock-ijccse-sidebar-3 .content > p:has(img) > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

#customblock-ijccse-sidebar-3 .content > p:has(img) img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 72px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Empty TinyMCE paragraph between Google Scholar and EBSCO */
#customblock-ijccse-sidebar-3 .content > p:not(:has(img)):not(:last-child) {
  display: none !important;
}

/* Final note: "* не является рекламой" */
#customblock-ijccse-sidebar-3 .content > p:last-child:not(:has(img)) {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

/* --------------------------------------------------------------------------
   Sidebar 4
   Live TinyMCE markup: .content > p > a > img
   2 logos per row. If the final logo is alone, centre it.
   -------------------------------------------------------------------------- */

#customblock-ijccse-sidebar-4 .content {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  justify-items: center !important;
  column-gap: 14px !important;
  row-gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 14px !important;
  text-align: center !important;
}

#customblock-ijccse-sidebar-4 .content > p {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

#customblock-ijccse-sidebar-4 .content > p:has(img) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

#customblock-ijccse-sidebar-4 .content > p:has(img) > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

#customblock-ijccse-sidebar-4 .content > p:has(img) img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 84px !important;
  margin: 0 auto 6px !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Odd last logo: centre it across the full two-column row. */
#customblock-ijccse-sidebar-4 .content > p:has(img):last-child:nth-child(odd),
#customblock-ijccse-sidebar-4 .content > p:has(img):last-of-type:nth-of-type(odd) {
  grid-column: 1 / -1 !important;
  width: calc((100% - 14px) / 2) !important;
  justify-self: center !important;
}

/* Optional text-only line under the logo grid. */
#customblock-ijccse-sidebar-4 .content > p:last-child:not(:has(img)) {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

/* Also support the optional .cards markup in Sidebar 4. */
#customblock-ijccse-sidebar-4 .cards-wrap {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#customblock-ijccse-sidebar-4 .cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  justify-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#customblock-ijccse-sidebar-4 .card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

#customblock-ijccse-sidebar-4 .card:last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
  width: calc((100% - 14px) / 2) !important;
  justify-self: center !important;
}

@media (max-width: 420px) {
  #customblock-ijccse-sidebar-3 .content {
    column-gap: 6px !important;
    row-gap: 9px !important;
    padding: 8px !important;
  }

  #customblock-ijccse-sidebar-3 .content > p:has(img) img {
    max-height: 58px !important;
  }

  #customblock-ijccse-sidebar-4 .content {
    column-gap: 8px !important;
    row-gap: 10px !important;
    padding: 8px !important;
  }

  #customblock-ijccse-sidebar-4 .content > p:has(img) img {
    max-height: 68px !important;
  }
}

/* ==========================================================================
   v1.5.6.64 — institutional four-column footer
   ========================================================================== */

.ijccse-footer-v2 {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ijccse-topbar, #06264d) !important;
  border: 0 !important;
  color: #cbd8e5 !important;
}

.ijccse-footer-v2 .ijccse-footer-container {
  box-sizing: border-box !important;
  width: min(calc(100% - 40px), 1240px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 38px 0 24px !important;
}

.ijccse-footer-v2 .ijccse-footer-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(150px, 1fr)) !important;
  column-gap: clamp(36px, 5vw, 82px) !important;
  row-gap: 30px !important;
  align-items: start !important;
}

.ijccse-footer-v2 .ijccse-footer-column {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-heading {
  margin: 0 0 15px !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.ijccse-footer-v2 .ijccse-footer-journal-name,
.ijccse-footer-v2 .ijccse-footer-publisher {
  max-width: 360px !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: #c3d3e2 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Arial, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.52 !important;
}

.ijccse-footer-v2 .ijccse-footer-publisher {
  margin-bottom: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-extra {
  max-width: 360px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: #aebfd0 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Arial, sans-serif) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.ijccse-footer-v2 .ijccse-footer-extra > :first-child {
  margin-top: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-extra > :last-child {
  margin-bottom: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-links {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ijccse-footer-v2 .ijccse-footer-links li {
  display: block !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: #b9ccdc !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Arial, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

.ijccse-footer-v2 .ijccse-footer-links li:last-child {
  margin-bottom: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-links a,
.ijccse-footer-v2 .ijccse-footer-extra a {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #a9c7e1 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
  text-underline-offset: 3px !important;
}

.ijccse-footer-v2 .ijccse-footer-links a:hover,
.ijccse-footer-v2 .ijccse-footer-links a:focus,
.ijccse-footer-v2 .ijccse-footer-extra a:hover,
.ijccse-footer-v2 .ijccse-footer-extra a:focus {
  color: #fff !important;
  text-decoration: underline !important;
}

.ijccse-footer-v2 .ijccse-footer-contact-list a {
  overflow-wrap: anywhere !important;
}

.ijccse-footer-v2 .ijccse-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 30px 0 0 !important;
  padding: 17px 0 0 !important;
  border-top: 1px solid rgba(203, 216, 229, .20) !important;
  color: #88a6bf !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Arial, sans-serif) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

.ijccse-footer-v2 .ijccse-footer-copyright {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-ojs {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #88a6bf !important;
  background: transparent !important;
  border: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
}

.ijccse-footer-v2 .ijccse-footer-ojs:hover,
.ijccse-footer-v2 .ijccse-footer-ojs:focus {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

@media (max-width: 991.98px) {
  .ijccse-footer-v2 .ijccse-footer-container {
    width: min(calc(100% - 36px), 900px) !important;
    padding-top: 32px !important;
  }

  .ijccse-footer-v2 .ijccse-footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 48px !important;
    row-gap: 28px !important;
  }

  .ijccse-footer-v2 .ijccse-footer-journal-name,
  .ijccse-footer-v2 .ijccse-footer-publisher,
  .ijccse-footer-v2 .ijccse-footer-extra {
    max-width: none !important;
  }
}

@media (max-width: 575.98px) {
  .ijccse-footer-v2 .ijccse-footer-container {
    width: calc(100% - 28px) !important;
    padding: 28px 0 20px !important;
  }

  .ijccse-footer-v2 .ijccse-footer-columns {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .ijccse-footer-v2 .ijccse-footer-heading {
    margin-bottom: 10px !important;
    font-size: 17px !important;
  }

  .ijccse-footer-v2 .ijccse-footer-bottom {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 7px !important;
    margin-top: 25px !important;
  }
}

/* ==========================================================================
   v1.5.6.65 — swapped header bands + full-width footer/contact/platform block
   ========================================================================== */

/* Swap the service and primary-menu colours.
   Before: service #002b55, main menu #001b33.
   Now:    service #001b33, main menu #002b55. */
.ijccse-topbar {
  background: var(--ijccse-band-dark, #001b33) !important;
}

.ijccse-nav-shell,
.ijccse-nav-shell.is-fixed {
  background: var(--ijccse-primary, #002b55) !important;
}

/* Keep navigation-owned utility cells on the same main-menu band. */
.ijccse-nav-shell .ijccse-floating-tools,
.ijccse-nav-shell .ijccse-floating-issn,
.ijccse-nav-shell .ijccse-floating-user,
.ijccse-nav-shell .ijccse-floating-language,
.ijccse-nav-shell .ijccse-nav-search {
  background: var(--ijccse-primary, #002b55) !important;
}

/* Footer uses the current main-menu colour and fills the complete viewport width. */
.ijccse-footer-v2 {
  width: 100% !important;
  max-width: none !important;
  background: var(--ijccse-primary, #002b55) !important;
}

.ijccse-footer-v2 .ijccse-footer-container {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 38px var(--ijccse-page-gutter) 24px !important;
}

/* Give the contact column enough room for the complete OJS address and URLs. */
.ijccse-footer-v2 .ijccse-footer-columns {
  grid-template-columns:
    minmax(260px, 1.25fr)
    minmax(150px, .75fr)
    minmax(180px, .85fr)
    minmax(330px, 1.35fr) !important;
  column-gap: clamp(28px, 3.4vw, 66px) !important;
}

.ijccse-footer-v2 .ijccse-footer-contact-list li {
  margin-bottom: 7px !important;
}

.ijccse-footer-v2 .ijccse-footer-contact-label {
  display: inline !important;
  color: #fff !important;
  font-weight: 600 !important;
}

.ijccse-footer-v2 .ijccse-footer-address > span:last-child {
  display: inline !important;
}

.ijccse-footer-v2 .ijccse-footer-contact-list .ijccse-footer-issn {
  margin-top: 10px !important;
}

.ijccse-footer-v2 .ijccse-footer-contact-list .ijccse-footer-issn + .ijccse-footer-issn {
  margin-top: 0 !important;
}

/* Editable platform block in the bottom row. */
.ijccse-footer-v2 .ijccse-footer-platform-content {
  flex: 0 1 560px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  color: #a9c7e1 !important;
  text-align: left !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-logo-slot {
  box-sizing: border-box !important;
  flex: 0 0 25px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 25px !important;
  height: 25px !important;
  min-width: 25px !important;
  min-height: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-logo {
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  max-width: 25px !important;
  max-height: 25px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-text {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-caption {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  text-align: left !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-text p,
.ijccse-footer-v2 .ijccse-footer-platform-text div {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-content a {
  color: #c9def0 !important;
  text-decoration: none !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-content a:hover,
.ijccse-footer-v2 .ijccse-footer-platform-content a:focus {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-default {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  max-width: 100% !important;
  color: #a9c7e1 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-default > a:first-child {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-default img {
  display: block !important;
  width: auto !important;
  height: 30px !important;
  max-width: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
}

.ijccse-footer-v2 .ijccse-footer-platform-default span {
  display: block !important;
  min-width: 0 !important;
}

@media (max-width: 1199.98px) {
  .ijccse-footer-v2 .ijccse-footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 48px !important;
    row-gap: 30px !important;
  }
}

@media (max-width: 991.98px) {
  .ijccse-footer-v2 .ijccse-footer-container {
    width: 100% !important;
    max-width: none !important;
    padding: 32px var(--ijccse-page-gutter) 22px !important;
  }

  .ijccse-footer-v2 .ijccse-footer-bottom {
    align-items: flex-start !important;
  }

  .ijccse-footer-v2 .ijccse-footer-platform-content {
    flex-basis: 440px !important;
  }
}

@media (max-width: 575.98px) {
  .ijccse-footer-v2 .ijccse-footer-container {
    width: 100% !important;
    padding: 28px var(--ijccse-page-gutter) 20px !important;
  }

  .ijccse-footer-v2 .ijccse-footer-columns {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .ijccse-footer-v2 .ijccse-footer-platform-content {
    flex: 0 1 auto !important;
    width: 100% !important;
    text-align: left !important;
  }

  .ijccse-footer-v2 .ijccse-footer-platform-default {
    justify-content: flex-start !important;
  }
}

/* ==========================================================================
   v1.5.6.69 — remove inherited read-more pseudo-arrow + unify header/menu blue
   ========================================================================== */

/* Match the upper journal header/service bar to the primary navigation band. */
.ijccse-topbar {
  background: var(--ijccse-primary, #002b55) !important;
}

/* Suppress the inherited Bootstrap/OJS FontAwesome chevron after "Read article".
   The theme-owned inline arrow remains controlled separately by .article-read-more-arrow. */
.pkp_page_index .current_issue .read_more::after {
  content: none !important;
  display: none !important;
}

/* ==========================================================================
   v1.5.6.70 — editable footer column content
   ========================================================================== */

.ijccse-footer-v2 .ijccse-footer-manual-content {
  min-width: 0 !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  color: #b9ccdc !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Arial, sans-serif) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

.ijccse-footer-v2 .ijccse-footer-manual-content > :first-child {
  margin-top: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-manual-content > :last-child {
  margin-bottom: 0 !important;
}

.ijccse-footer-v2 .ijccse-footer-manual-content a {
  color: #a9c7e1 !important;
  text-decoration: none !important;
}

.ijccse-footer-v2 .ijccse-footer-manual-content a:hover,
.ijccse-footer-v2 .ijccse-footer-manual-content a:focus {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.ijccse-footer-v2 .ijccse-footer-manual-content img {
  max-width: 100% !important;
  height: auto !important;
}


/* ==========================================================================
   v1.5.6.73 — theme-aligned Sidebar cards
   ========================================================================== */

/*
 * Bring the theme-managed OJS Custom Block Manager wrappers into the same
 * visual language as the IJCCSE interface: white card, fine blue-grey border,
 * dark navy typography and restrained spacing. Content-specific logo grids
 * remain owned by the existing per-block CSS and are not changed here.
 */
.pkp_structure_sidebar
  :is(
    #customblock-ijccse-sidebar-1,
    #customblock-ijccse-sidebar-2,
    #customblock-ijccse-sidebar-3,
    #customblock-ijccse-sidebar-4,
    #customblock-ijccse-sidebar-5,
    #customblock-ijccse-sidebar-6,
    #customblock-ijccse-sidebar-7,
    #customblock-ijccse-sidebar-8
  ).pkp_block.block_custom {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: var(--ijccse-ink-strong, #102842) !important;
  background: #fff !important;
  border: 1px solid #d9e3eb !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.pkp_structure_sidebar
  :is(
    #customblock-ijccse-sidebar-1,
    #customblock-ijccse-sidebar-2,
    #customblock-ijccse-sidebar-3,
    #customblock-ijccse-sidebar-4,
    #customblock-ijccse-sidebar-5,
    #customblock-ijccse-sidebar-6,
    #customblock-ijccse-sidebar-7,
    #customblock-ijccse-sidebar-8
  ).pkp_block.block_custom > .title {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 18px 20px 10px !important;
  color: var(--ijccse-ink-strong, #102842) !important;
  background: #fff !important;
  border: 0 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}

.pkp_structure_sidebar
  :is(
    #customblock-ijccse-sidebar-1,
    #customblock-ijccse-sidebar-2,
    #customblock-ijccse-sidebar-3,
    #customblock-ijccse-sidebar-4,
    #customblock-ijccse-sidebar-5,
    #customblock-ijccse-sidebar-6,
    #customblock-ijccse-sidebar-7,
    #customblock-ijccse-sidebar-8
  ).pkp_block.block_custom > .content {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  color: var(--ijccse-ink-strong, #102842) !important;
  background: #fff !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Calibri, Candara, Arial, sans-serif) !important;
}

/* Text-oriented Sidebar blocks use the reference card's 20px inner gutter.
   Logo/grid blocks 1, 3 and 4 retain their specialised editable grid padding. */
.pkp_structure_sidebar
  :is(
    #customblock-ijccse-sidebar-2,
    #customblock-ijccse-sidebar-5,
    #customblock-ijccse-sidebar-6,
    #customblock-ijccse-sidebar-7,
    #customblock-ijccse-sidebar-8
  ).pkp_block.block_custom > .content {
  padding: 0 20px 20px !important;
  text-align: left !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.pkp_structure_sidebar
  :is(
    #customblock-ijccse-sidebar-1,
    #customblock-ijccse-sidebar-3,
    #customblock-ijccse-sidebar-4
  ).pkp_block.block_custom > .content {
  border-top: 0 !important;
}

/* If the OJS block title is intentionally hidden, content starts with the
   same top inset as the reference <section class="side-block"> card. */
.pkp_structure_sidebar
  :is(
    #customblock-ijccse-sidebar-2,
    #customblock-ijccse-sidebar-5,
    #customblock-ijccse-sidebar-6,
    #customblock-ijccse-sidebar-7,
    #customblock-ijccse-sidebar-8
  ).pkp_block.block_custom > .title.pkp_screen_reader + .content {
  padding-top: 20px !important;
}

/* Custom Block Manager content is administrator-authored HTML.
 * Invaris owns the outer card/title shell only; typography, alignment,
 * lists, links and inline formatting inside .content remain author-controlled. */

@media (max-width: 991.98px) {
  .pkp_structure_sidebar
    [id^="customblock-ijccse-sidebar-"].pkp_block.block_custom {
    margin-bottom: 14px !important;
  }
}


/* ==========================================================================
   v1.5.6.92 — native OJS authenticated user dropdown in service bar
   ========================================================================== */

.ijccse-topbar,
.ijccse-topbar-container,
.ijccse-topbar-row,
.ijccse-topbar-right,
.ijccse-topbar-login,
.ijccse-topbar-user-nav {
  overflow: visible !important;
}

.ijccse-topbar-login {
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
}

.ijccse-topbar-user-nav {
  position: relative !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-topbar-user-menu {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ijccse-topbar-user-menu > li {
  position: relative !important;
  height: 100% !important;
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ijccse-topbar-user-menu > li > a {
  height: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Arial, sans-serif) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.ijccse-topbar-user-menu > li > a:hover,
.ijccse-topbar-user-menu > li > a:focus,
.ijccse-topbar-user-menu > li.show > a {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
}

.ijccse-topbar-user-menu > li > a.dropdown-toggle::after {
  margin-left: 2px !important;
  border-top-color: rgba(255,255,255,.85) !important;
}

.ijccse-topbar-user-menu .task_count,
.ijccse-topbar-user-menu .badge {
  box-sizing: border-box !important;
  min-width: 17px !important;
  height: 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 2px !important;
  padding: 0 5px !important;
  color: #fff !important;
  background: var(--ijccse-header-orange, #ef6a24) !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 17px !important;
}

.ijccse-topbar-user-menu > li > .dropdown-menu {
  z-index: 6200 !important;
  min-width: 225px !important;
  margin: 0 !important;
  padding: 5px 0 !important;
  background: #fff !important;
  border: 1px solid #d9e3eb !important;
  border-top: 3px solid var(--ijccse-primary, #002b55) !important;
  border-radius: 0 !important;
  box-shadow: 0 10px 24px rgba(var(--ijccse-primary-dark-rgb, 0, 32, 63), .16) !important;
}

.ijccse-topbar-user-menu > li > .dropdown-menu > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ijccse-topbar-user-menu > li > .dropdown-menu .dropdown-item {
  width: 100% !important;
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  color: var(--ijccse-ink-strong, #102842) !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f4 !important;
  font-family: var(--ijccse-asv-font, "Source Sans Pro", Arial, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  white-space: normal !important;
}

.ijccse-topbar-user-menu > li > .dropdown-menu > li:last-child .dropdown-item {
  border-bottom: 0 !important;
}

.ijccse-topbar-user-menu > li > .dropdown-menu .dropdown-item:hover,
.ijccse-topbar-user-menu > li > .dropdown-menu .dropdown-item:focus {
  color: var(--ijccse-primary, #002b55) !important;
  background: #f4f7f9 !important;
}

.ijccse-topbar-user-menu > li > .dropdown-menu .task_count,
.ijccse-topbar-user-menu > li > .dropdown-menu .badge {
  margin-left: auto !important;
}

@media (max-width: 991.98px) {
  .ijccse-topbar-user-nav {
    display: none !important;
  }
}


/* ==========================================================================
   v1.5.6.123 — authoritative mobile shell
   Keep mobile visibility/layout independent from Bootstrap utility order.
   ========================================================================== */
@media (max-width: 991.98px) {
  .ijccse-desktop-nav,
  .ijccse-floating-tools {
    display: none !important;
  }

  .ijccse-mobile-bar {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: var(--ijccse-nav-height, 50px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ijccse-floating-user--mobile {
    display: none !important;
  }

  .ijccse-topbar-issn,
  .ijccse-topbar-login,
  .ijccse-topbar-user-nav {
    display: none !important;
  }

  .ijccse-topbar-right {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .ijccse-topbar-language {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    padding-left: 8px !important;
  }

  .ijccse-nav-inner {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .masthead-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 12px !important;
  }

  .brand-lockup,
  .brand-copy {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .brand-title {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .pkp_structure_content,
  .pkp_structure_content.has_sidebar {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

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

  .pkp_structure_sidebar {
    margin-top: 24px !important;
  }

  .ijccse-offcanvas {
    z-index: 6800 !important;
    width: min(340px, 88vw) !important;
    max-width: 88vw !important;
    color: var(--ijccse-ink-strong, #102842) !important;
    background: #fff !important;
    box-shadow: 12px 0 30px rgba(var(--ijccse-primary-dark-rgb, 0, 32, 63), .18) !important;
  }

  .offcanvas-backdrop {
    z-index: 6790 !important;
  }

  .ijccse-offcanvas .offcanvas-header {
    min-height: 58px !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid #d9e3eb !important;
  }

  .ijccse-offcanvas .offcanvas-title {
    min-width: 0 !important;
    color: var(--ijccse-primary, #002b55) !important;
    font-family: var(--ijccse-asv-font, "Source Sans Pro", Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
  }

  .ijccse-offcanvas .offcanvas-body {
    padding: 10px 18px 24px !important;
    overflow-y: auto !important;
  }

  .ijccse-offcanvas .ijccse-mobile-menu,
  .ijccse-offcanvas .ijccse-user-menu-mobile {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .ijccse-offcanvas .ijccse-mobile-menu > li,
  .ijccse-offcanvas .ijccse-user-menu-mobile > li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #e7edf2 !important;
  }

  .ijccse-offcanvas .ijccse-mobile-menu > li > a,
  .ijccse-offcanvas .ijccse-user-menu-mobile > li > a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 10px 2px !important;
    color: var(--ijccse-ink-strong, #102842) !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }

  .ijccse-offcanvas .dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 6px 14px !important;
    transform: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .ijccse-offcanvas .dropdown-menu .dropdown-item {
    min-height: 40px !important;
    padding: 9px 4px !important;
    color: #526b82 !important;
    background: transparent !important;
    white-space: normal !important;
  }

  .ijccse-mobile-user {
    margin-top: 18px !important;
    padding-top: 10px !important;
    border-top: 2px solid #eef3f6 !important;
  }
}

@media (max-width: 575.98px) {
  .ijccse-topbar-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .ijccse-topbar-title {
    padding-right: 8px !important;
    font-size: 9px !important;
  }

  .ijccse-topbar-language {
    padding-left: 6px !important;
    gap: 5px !important;
  }

  .ijccse-topbar-language,
  .ijccse-topbar-language a {
    font-size: 9px !important;
  }

  .masthead-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .brand-lockup {
    gap: 10px !important;
  }

  .brand-mark {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
  }

  .brand-title {
    font-size: 16px !important;
    line-height: 1.08 !important;
  }

  .ijccse-nav-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .ijccse-menu-button {
    min-width: 0 !important;
    font-size: 13px !important;
  }

  .ijccse-offcanvas {
    width: min(320px, 90vw) !important;
    max-width: 90vw !important;
  }
}


/* Neutral placeholder for an unconfigured indexing/resource card. */
.ijccse-indexing-panel .ijccse-indexing-placeholder {
  display: flex !important;
  width: 46px !important;
  height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 3px !important;
  border: 1px dashed #aebdca !important;
  color: #8295a6 !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
}


/* ==========================================================================
   v1.5.6.155 — unified full-width orange heading rule
   Matches the approved Sidebar heading accent: #ef6a24.
   ========================================================================== */
:root {
  --ijccse-heading-accent: #ef6a24;
}

.pkp_structure_main .page_title,
.obj_article_details .page_title,
.cmp_announcements > h2 {
  box-sizing: border-box;
  width: 100%;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--ijccse-heading-accent) !important;
}

.pkp_structure_main .page_title::after,
.obj_article_details .page_title::after,
.cmp_announcements > h2::after {
  content: none !important;
  display: none !important;
}


/* ==========================================================================
   v1.5.6.156 — secondary content heading separators
   ========================================================================== */
/* Rich-text/static OJS pages use h2/h3 for internal section headings.
   Keep the page title orange; subordinate headings receive the neutral rule. */
.pkp_structure_main .page_title ~ h2,
.pkp_structure_main .page_title ~ h3,
.pkp_structure_main .page_title ~ * h2,
.pkp_structure_main .page_title ~ * h3 {
  box-sizing: border-box;
  width: 100%;
  padding-bottom: 8px;
  border-bottom: 1px solid #d9e3eb;
}

/* Preserve components whose h2/h3 headings have their own established UI. */
.pkp_structure_main .obj_issue_toc h2,
.pkp_structure_main .obj_issue_toc h3,
.pkp_structure_main .obj_article_details h2,
.pkp_structure_main .obj_article_details h3,
.pkp_structure_main .cmp_announcements h2,
.pkp_structure_main .cmp_announcements h3 {
  border-bottom: revert;
}


/* ==========================================================================
   v1.5.6.185 — phone navigation visibility and compact Sidebar cleanup
   ========================================================================== */
@media (max-width: 575.98px) {
  .ijccse-mobile-bar {
    grid-template-columns: minmax(0, 1fr) auto auto auto !important;
  }

  .ijccse-floating-user--mobile {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    border: 0 !important;
  }

  .ijccse-floating-user--mobile .ijccse-user-menu {
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ijccse-floating-user--mobile .ijccse-user-menu > li,
  .ijccse-floating-user--mobile .ijccse-user-menu > li > a {
    min-height: auto !important;
  }

  .ijccse-floating-user--mobile .ijccse-user-menu > li > a,
  .ijccse-floating-language--mobile .ijccse-locale-link,
  .ijccse-floating-language--mobile .ijccse-locale-link.is-active,
  .ijccse-floating-language--mobile .ijccse-locale-link:hover,
  .ijccse-floating-language--mobile .ijccse-locale-link:focus {
    color: #fff !important;
  }

  .ijccse-floating-user--mobile .ijccse-user-menu > li > a {
    padding: 6px 5px !important;
    background: transparent !important;
    font-size: 9px !important;
  }

  .ijccse-floating-language--mobile {
    padding-inline: 5px !important;
  }

  .ijccse-floating-language--mobile .ijccse-language-divider {
    color: rgba(255,255,255,.6) !important;
  }

  .ijccse-mobile-search {
    color: #fff !important;
  }

  .ijccse-mobile-search span {
    border-color: #fff !important;
  }

  .ijccse-mobile-search span::after {
    background: #fff !important;
  }

  .pkp_structure_sidebar #customblock-ijccse-sidebar-3,
  .pkp_structure_sidebar .block_keyword_cloud,
  .pkp_structure_sidebar [id*="sponsor" i],
  .pkp_structure_sidebar [class*="sponsor" i] {
    display: none !important;
  }
}


/* ==========================================================================
   Structured Sidebar logo grids — theme-owned markup
   ========================================================================== */

.pkp_structure_sidebar .pkp_block.block_custom .content > .ijccse-logo-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-column: 1 / -1 !important;
  align-items: start !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 14px !important;
  text-align: center !important;
}

.pkp_structure_sidebar .ijccse-logo-grid--cols-1 { grid-template-columns: 1fr !important; }
.pkp_structure_sidebar .ijccse-logo-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.pkp_structure_sidebar .ijccse-logo-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.pkp_structure_sidebar .ijccse-logo-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.pkp_structure_sidebar .ijccse-logo-grid__item {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.pkp_structure_sidebar .ijccse-logo-grid__link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

.pkp_structure_sidebar .ijccse-logo-grid__image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 84px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.pkp_structure_sidebar .ijccse-logo-grid__caption {
  display: block !important;
  width: 100% !important;
  margin: 7px 0 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 575.98px) {
  .pkp_structure_sidebar .ijccse-logo-grid--cols-3,
  .pkp_structure_sidebar .ijccse-logo-grid--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
