/* Graxynet JNSPS Green v2.1.24
   Premium visual layer
   --------------------------------------------------------------- */

:root {
  --rans-premium-green: #198754;
  --rans-premium-dark: #0f5132;
  --rans-premium-deep: #083c2b;
  --rans-premium-mint: #edf8f1;
  --rans-premium-cream: #fbfdfb;
  --rans-premium-border: #d5e8dc;
  --rans-premium-text: #233229;
  --rans-premium-muted: #64746b;
  --rans-premium-shadow: 0 16px 40px rgba(15,81,50,.09);
  --rans-premium-shadow-hover: 0 20px 48px rgba(15,81,50,.13);
}

html body {
  background:
    radial-gradient(circle at 12% 8%, rgba(25,135,84,.035), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%) !important;
  color: var(--rans-premium-text) !important;
}

/* ---------------------------------------------------------------
   Premium top utility + masthead
   --------------------------------------------------------------- */
html body .pkp_structure_head .jampl-utility-bar {
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 18px rgba(15,81,50,.04) !important;
}

html body .pkp_structure_head .jampl-utility-links > a,
html body .pkp_structure_head .rans-publisher-toggle {
  position: relative !important;
  color: var(--rans-premium-dark) !important;
  font-weight: 700 !important;
}

html body .pkp_structure_head .jampl-utility-links > a::after,
html body .pkp_structure_head .rans-publisher-toggle::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 2px !important;
  height: 2px !important;
  background: linear-gradient(90deg,var(--rans-premium-green),#63b984) !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform .18s ease !important;
}

html body .pkp_structure_head .jampl-utility-links > a:hover::after,
html body .pkp_structure_head .rans-publisher-toggle:hover::after,
html body .pkp_structure_head .rans-publisher-menu.is-open .rans-publisher-toggle::after {
  transform: scaleX(1) !important;
}

html body .pkp_structure_head .pkp_site_name_wrapper {
  background:
    linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 30%),
    radial-gradient(circle at 86% 18%, rgba(255,255,255,.08), transparent 25%),
    linear-gradient(135deg,var(--rans-premium-deep) 0%,#146c43 54%,#1f9a61 100%) !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.08) !important;
}

html body .pkp_structure_head .jampl-issn {
  padding: 9px 14px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  background: rgba(0,0,0,.08) !important;
  backdrop-filter: blur(5px) !important;
}

html body .pkp_structure_head .pkp_navigation_primary_row {
  background: linear-gradient(90deg,#0b4a34 0%,#0f5b3d 55%,#0b4a34 100%) !important;
  box-shadow: 0 8px 18px rgba(15,81,50,.12) !important;
}

html body #navigationPrimary > li > a {
  position: relative !important;
  font-weight: 650 !important;
}

html body #navigationPrimary > li > a::after {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 7px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  opacity: 0 !important;
  transform: translateY(4px) !important;
  transition: .18s ease !important;
}

html body #navigationPrimary > li > a:hover::after,
html body #navigationPrimary > li > a:focus::after {
  opacity: .9 !important;
  transform: translateY(0) !important;
}

/* ---------------------------------------------------------------
   Main content shell
   --------------------------------------------------------------- */
html body .pkp_structure_content {
  border-radius: 20px !important;
}

html body .pkp_structure_main {
  background: transparent !important;
}

html body .cmp_breadcrumbs {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--rans-premium-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 22px rgba(15,81,50,.05) !important;
}

html body .cmp_breadcrumbs a {
  color: var(--rans-premium-green) !important;
  font-weight: 700 !important;
}

/* ---------------------------------------------------------------
   Premium static content cards
   --------------------------------------------------------------- */
html body .rans-page-sections {
  gap: 22px !important;
}

html body .rans-content-card {
  position: relative !important;
  overflow: hidden !important;
  padding: 28px 30px !important;
  border: 1px solid rgba(25,135,84,.14) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(248,252,249,.99) 100%) !important;
  box-shadow: var(--rans-premium-shadow) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

html body .rans-content-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 4px !important;
  background: linear-gradient(90deg,var(--rans-premium-green),#6fc293) !important;
}

html body .rans-content-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(25,135,84,.22) !important;
  box-shadow: var(--rans-premium-shadow-hover) !important;
}

html body .rans-content-card.rans-content-intro {
  background:
    radial-gradient(circle at 88% 15%, rgba(25,135,84,.13), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f5fbf7 100%) !important;
}

html body .rans-content-card .rans-section-title {
  position: relative !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 0 !important;
  color: var(--rans-premium-dark) !important;
  font-size: clamp(24px,2.2vw,31px) !important;
  letter-spacing: -.2px !important;
}

html body .rans-content-card .rans-section-title::after {
  content: "" !important;
  display: block !important;
  width: 68px !important;
  height: 3px !important;
  margin-top: 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,var(--rans-premium-green),#7ac59b) !important;
}

html body .rans-content-card .rans-section-body,
html body .rans-content-card .rans-section-body p,
html body .rans-content-card .rans-section-body div,
html body .rans-content-card .rans-section-body li {
  color: var(--rans-premium-text) !important;
}

html body .rans-content-card .rans-lead {
  color: #2a4235 !important;
  font-size: 17px !important;
  line-height: 1.95 !important;
}

html body .rans-content-card .rans-section-body blockquote {
  margin: 18px 0 !important;
  padding: 15px 18px !important;
  border-left: 4px solid var(--rans-premium-green) !important;
  border-radius: 0 12px 12px 0 !important;
  background: var(--rans-premium-mint) !important;
  color: var(--rans-premium-dark) !important;
}

html body .page_about .page_content .rans-issn-badge,
html body .rans-content-card .rans-meta-pill {
  background:
    linear-gradient(135deg,#f3fbf6 0%,#eaf6ee 100%) !important;
  border: 1px solid #cee5d6 !important;
  border-left: 4px solid var(--rans-premium-green) !important;
  box-shadow: 0 5px 14px rgba(15,81,50,.04) !important;
}

/* ---------------------------------------------------------------
   Premium page titles
   --------------------------------------------------------------- */
html body .page_issue_archive > .page_title,
html body .page_search > .page_title,
html body .page_announcement > .page_title,
html body .page_about > .page_title,
html body .page_submissions > .page_title,
html body .page_contact > .page_title,
html body .page_privacy > .page_title,
html body .page_login > .page_title,
html body .page_register > .page_title,
html body .page_user > .page_title,
html body .obj_article_details > .page_title {
  position: relative !important;
  overflow: hidden !important;
  padding: 24px 28px !important;
  border: 1px solid var(--rans-premium-border) !important;
  border-left: 0 !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 92% 20%, rgba(25,135,84,.10), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fcf9 100%) !important;
  box-shadow: var(--rans-premium-shadow) !important;
  color: #16271d !important;
}

html body .page_issue_archive > .page_title::before,
html body .page_search > .page_title::before,
html body .page_announcement > .page_title::before,
html body .page_about > .page_title::before,
html body .page_submissions > .page_title::before,
html body .page_contact > .page_title::before,
html body .page_privacy > .page_title::before,
html body .page_login > .page_title::before,
html body .page_register > .page_title::before,
html body .page_user > .page_title::before,
html body .obj_article_details > .page_title::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 6px !important;
  background: linear-gradient(180deg,var(--rans-premium-green),#69b98b) !important;
}

/* ---------------------------------------------------------------
   Article detail premium polish
   --------------------------------------------------------------- */
html body .obj_article_details .main_entry > .item,
html body .obj_article_details .entry_details > .item,
html body .obj_article_details .entry_details .item {
  border-radius: 18px !important;
  border-color: var(--rans-premium-border) !important;
  box-shadow: 0 10px 28px rgba(15,81,50,.06) !important;
}

html body .obj_article_details .main_entry > .item:hover,
html body .obj_article_details .entry_details > .item:hover {
  box-shadow: 0 14px 34px rgba(15,81,50,.09) !important;
}

html body .obj_article_details .main_entry .item > .label,
html body .obj_article_details .entry_details .item > .label {
  letter-spacing: .55px !important;
}

html body .obj_article_details .main_entry ul.authors > li {
  background: linear-gradient(180deg,#fbfefc 0%,#f2faf5 100%) !important;
  border-color: #dcece2 !important;
  border-radius: 14px !important;
  transition: transform .16s ease, box-shadow .16s ease !important;
}

html body .obj_article_details .main_entry ul.authors > li:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(15,81,50,.06) !important;
}

html body .obj_article_details .entry_details .cover_image img {
  border-radius: 14px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.12) !important;
}

html body .obj_article_details .entry_details .galleys a,
html body .obj_article_details .entry_details .obj_galley_link,
html body .obj_article_details .cmp_button {
  border-radius: 12px !important;
  box-shadow: 0 8px 18px rgba(25,135,84,.16) !important;
}

/* ---------------------------------------------------------------
   Article list cards premium polish
   --------------------------------------------------------------- */
html body .obj_issue_toc .obj_article_summary,
html body .current_issue .obj_article_summary,
html body .page_issue .obj_article_summary {
  border-color: rgba(25,135,84,.16) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 26px rgba(15,81,50,.07) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

html body .obj_issue_toc .obj_article_summary:hover,
html body .current_issue .obj_article_summary:hover,
html body .page_issue .obj_article_summary:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 36px rgba(15,81,50,.11) !important;
}

html body .obj_issue_toc .obj_article_summary .title a,
html body .current_issue .obj_article_summary .title a,
html body .page_issue .obj_article_summary .title a {
  color: #0d6b43 !important;
}

html body .obj_issue_toc .obj_article_summary .title a:hover,
html body .current_issue .obj_article_summary .title a:hover,
html body .page_issue .obj_article_summary .title a:hover {
  color: var(--rans-premium-dark) !important;
}

/* ---------------------------------------------------------------
   Sidebar blocks premium polish
   --------------------------------------------------------------- */
html body .pkp_block .title,
html body .pkp_block h2.title,
html body .pkp_block h3.title,
html body .pkp_block .content > h2,
html body .pkp_block .content > h3 {
  background:
    linear-gradient(135deg,#147a4d 0%,#1e925b 65%,#2aa66b 100%) !important;
  border-radius: 15px 15px 0 0 !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.12) !important;
}

html body .pkp_block .content {
  border-color: var(--rans-premium-border) !important;
  background: linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%) !important;
  box-shadow: 0 10px 26px rgba(15,81,50,.07) !important;
}

html body .pkp_block img {
  max-width: 100% !important;
  border-radius: 10px !important;
}

/* ---------------------------------------------------------------
   Buttons, forms, tables
   --------------------------------------------------------------- */
html body .cmp_button,
html body .submit button,
html body button.submit,
html body input[type="submit"],
html body .btn-primary,
html body .obj_galley_link {
  border-radius: 12px !important;
  background: linear-gradient(135deg,#198754 0%,#147a4d 100%) !important;
  border-color: #147a4d !important;
  box-shadow: 0 8px 18px rgba(25,135,84,.16) !important;
  transition: transform .16s ease, box-shadow .16s ease !important;
}

html body .cmp_button:hover,
html body .submit button:hover,
html body button.submit:hover,
html body input[type="submit"]:hover,
html body .btn-primary:hover,
html body .obj_galley_link:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 24px rgba(25,135,84,.22) !important;
}

html body table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--rans-premium-border) !important;
  border-radius: 14px !important;
}

html body table thead th {
  background: var(--rans-premium-mint) !important;
  color: var(--rans-premium-dark) !important;
}

/* ---------------------------------------------------------------
   Footer premium polish
   --------------------------------------------------------------- */
html body .pkp_structure_footer_wrapper,
html body .pkp_structure_footer {
  background:
    radial-gradient(circle at 85% 10%, rgba(255,255,255,.06), transparent 24%),
    linear-gradient(135deg,#083c2b 0%,#0f5132 62%,#146c43 100%) !important;
}

/* ---------------------------------------------------------------
   Mobile refinements
   --------------------------------------------------------------- */
@media (max-width: 767px) {
  html body .rans-content-card {
    padding: 20px 17px !important;
    border-radius: 17px !important;
    box-shadow: 0 10px 24px rgba(15,81,50,.07) !important;
  }

  html body .rans-content-card:hover {
    transform: none !important;
  }

  html body .rans-content-card .rans-section-title {
    font-size: 23px !important;
  }

  html body .page_issue_archive > .page_title,
  html body .page_search > .page_title,
  html body .page_announcement > .page_title,
  html body .page_about > .page_title,
  html body .page_submissions > .page_title,
  html body .page_contact > .page_title,
  html body .page_privacy > .page_title,
  html body .page_login > .page_title,
  html body .page_register > .page_title,
  html body .page_user > .page_title,
  html body .obj_article_details > .page_title {
    padding: 18px 17px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(15,81,50,.07) !important;
  }

  html body .pkp_structure_head .pkp_navigation_primary_row {
    box-shadow: none !important;
  }

  html body .pkp_structure_head .jampl-issn {
    border-radius: 10px !important;
  }

  html body .obj_issue_toc .obj_article_summary,
  html body .current_issue .obj_article_summary,
  html body .page_issue .obj_article_summary {
    border-radius: 15px !important;
  }
}
