/* ==========================================================
   IJUTM — Additional CSS (Elsevier-style, content-only)
   Safe for OJS 3.x — does NOT modify .esv-header or .ijutm-footer
   Accent: dark green #0b7a43
   ========================================================== */

/* --- 0) Design tokens (fallbacks if header vars absent) --- */
:root {
  --ij-accent: #0b7a43;
  --ij-accent-ink: #0b5e35;
  --ij-ink-900: #0f172a;
  --ij-ink-700: #1f2937;
  --ij-ink-600: #475569;
  --ij-ink-500: #64748b;
  --ij-muted: #fafafa;
  --ij-border: rgba(15,23,42,.10);
  --ij-card: #ffffff;
  --ij-shadow: 0 8px 24px rgba(0,0,0,.06);
  --ij-radius: 14px;
  --ij-radius-sm: 10px;
  --ij-maxw: 1200px;
}

/* Make sure header/footer remain untouched */
.esv-header, .ijutm-footer { all: unset; }

/* --- 1) Layout & typography for main content --- */
.pkp_structure_content,
.pkp_page_index,
.pkp_page_article,
.pkp_page_issue,
.pkp_page_search,
.pkp_page_user,
.pkp_page_about {
  color: var(--ij-ink-700);
  font-size: 16px;
  line-height: 1.65;
}

/* Container width */
.pkp_structure_content .page,
.pkp_structure_content .pkp_page_content,
.pkp_structure_content .pkp_navigation_primary_wrapper,
.pkp_structure_content .cmp_announcements,
.pkp_structure_content .cmp_breadcrumbs {
  max-width: var(--ij-maxw);
  margin: 0 auto;
  padding: 16px;
}

/* Headings */
.pkp_structure_content h1 { font-size: 1.6rem; font-weight: 800; color: var(--ij-ink-900); margin: 12px 0 10px; }
.pkp_structure_content h2 { font-size: 1.25rem; font-weight: 800; color: var(--ij-ink-900); margin: 18px 0 10px; }
.pkp_structure_content h3 { font-size: 1.05rem; font-weight: 700; color: var(--ij-ink-900); margin: 16px 0 8px; }

/* Links (content only) */
.pkp_structure_content a {
  color: var(--ij-ink-900);
  text-decoration: none;
  border-radius: 8px;
  transition: background-color .15s ease, color .15s ease;
}
.pkp_structure_content a:hover { background: rgba(11,122,67,.08); }
.pkp_structure_content a:focus-visible { outline: 2px solid var(--ij-accent); outline-offset: 2px; }

/* --- 2) Cards: article lists, issue TOC, announcements --- */
.obj_article_summary,
.obj_issue_toc .galleys,
.obj_issue_toc .section > .title,
.obj_announcement_summary,
.pkp_list_panel .list_panel,
.pkp_block {
  border: 1px solid var(--ij-border);
  background: var(--ij-card);
  border-radius: var(--ij-radius);
  box-shadow: var(--ij-shadow);
}

/* Article summary card spacing */
.obj_article_summary {
  padding: 14px;
  margin: 12px 0;
}
.obj_article_summary .title a {
  font-weight: 800;
  color: var(--ij-ink-900);
}
.obj_article_summary .meta,
.obj_article_summary .authors,
.obj_article_summary .section {
  color: var(--ij-ink-600);
  font-size: .95rem;
}

/* Issue TOC headings */
.obj_issue_toc .sections .section > .title {
  padding: 10px 12px;
  margin: 20px 0 10px;
  background: var(--ij-muted);
  border-radius: var(--ij-radius);
  box-shadow: none;
  border: 1px solid var(--ij-border);
}

/* Announcement card */
.obj_announcement_summary {
  padding: 14px;
  margin: 12px 0;
}
.obj_announcement_summary .title { font-weight: 800; }
.obj_announcement_summary .date { color: var(--ij-ink-500); }

/* --- 3) Article page details (DOI, galleys, metrics) --- */
.pkp_page_article .item.doi,
.pkp_page_article .pubid.doi,
.pkp_page_article .citation_formats {
  border: 1px dashed var(--ij-border);
  background: #fff;
  border-radius: var(--ij-radius-sm);
  padding: 10px 12px;
}

/* Galley links */
.obj_galley_link,
.pkp_linkActions a.file,
.pkp_linkActions a.galley-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--ij-border);
  border-radius: 12px;
  background: #fff;
  font-weight: 700;
}
.obj_galley_link:hover { background: rgba(11,122,67,.08); }
.obj_galley_link--pdf::before,
.obj_galley_link--html::before {
  content: attr(data-label);
}

/* Keywords / subject tags */
.pkp_page_article .keywords,
.pkp_page_article .subject,
.pkp_page_article .item.keywords {
  display: flex; flex-wrap: wrap; gap: 6px;
}
.pkp_page_article .keywords span,
.pkp_page_article .subject span {
  border: 1px solid var(--ij-border);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .9rem;
  background: #fff;
}

/* --- 4) Sidebar blocks --- */
.pkp_structure_content .pkp_block {
  padding: 12px;
  margin: 14px 0;
}
.pkp_structure_content .pkp_block .title {
  font-weight: 800;
  font-size: 1rem;
  margin-bottom: 8px;
  color: var(--ij-ink-900);
  border-bottom: 1px solid var(--ij-border);
  padding-bottom: 6px;
}
.pkp_structure_content .pkp_block a { display: inline-block; padding: 4px 6px; border-radius: 8px; }

/* --- 5) Breadcrumbs & pagination --- */
.cmp_breadcrumbs {
  font-size: .92rem; color: var(--ij-ink-600);
  padding-top: 6px; padding-bottom: 6px;
}
.cmp_breadcrumbs a { color: var(--ij-ink-600); }
.cmp_breadcrumbs a:hover { background: rgba(11,122,67,.08); color: var(--ij-ink-900); }

.cmp_pagination {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 0;
}
.cmp_pagination .page_item a,
.cmp_pagination .current {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 12px;
  border: 1px solid var(--ij-border); border-radius: 10px; background: #fff;
  font-weight: 700;
}
.cmp_pagination .current { background: var(--ij-accent); color: #fff; border-color: transparent; }

/* --- 6) Tables (Elsevier minimal) --- */
.pkp_structure_content table {
  width: 100%; border-collapse: collapse; margin: 10px 0 16px;
  border: 1px solid var(--ij-border); background: #fff; border-radius: var(--ij-radius-sm); overflow: hidden;
}
.pkp_structure_content th, .pkp_structure_content td {
  padding: 10px 12px; border-bottom: 1px solid var(--ij-border);
}
.pkp_structure_content thead th {
  background: var(--ij-muted); color: var(--ij-ink-900); font-weight: 800;
}
.pkp_structure_content tbody tr:hover { background: rgba(11,122,67,.03); }

/* --- 7) Forms (submissions, search, profile) --- */
.pkp_structure_content input[type="text"],
.pkp_structure_content input[type="email"],
.pkp_structure_content input[type="url"],
.pkp_structure_content input[type="password"],
.pkp_structure_content input[type="search"],
.pkp_structure_content select,
.pkp_structure_content textarea {
  width: 100%;
  border: 1px solid var(--ij-border);
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  color: var(--ij-ink-900);
}
.pkp_structure_content input:focus,
.pkp_structure_content select:focus,
.pkp_structure_content textarea:focus {
  outline: 2px solid var(--ij-accent);
  border-color: transparent;
}
.pkp_structure_content .btn,
.pkp_structure_content button,
.pkp_structure_content .pkp_button {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--ij-border);
  background: #fff;
  border-radius: 12px;
  padding: 8px 12px;
  font-weight: 700;
  cursor: pointer;
}
.pkp_structure_content .btn_primary,
.pkp_structure_content .pkp_button_primary,
.pkp_structure_content .actions .submit {
  background: var(--ij-accent); color: #fff; border-color: transparent;
}
.pkp_structure_content .btn:hover,
.pkp_structure_content .pkp_button:hover { background: rgba(11,122,67,.08); }

/* --- 8) Alerts / notifications --- */
.cmp_notification,
.pkp_notification {
  border: 1px solid var(--ij-border);
  background: #fff;
  border-radius: var(--ij-radius-sm);
  padding: 10px 12px;
  box-shadow: var(--ij-shadow);
}
.pkp_notification .request,
.pkp_notification .success { color: var(--ij-accent-ink); }

/* --- 9) Issue cover grid on index page --- */
.pkp_page_index .current_issue,
.pkp_page_index .cmp_announcements {
  border: 1px solid var(--ij-border);
  border-radius: var(--ij-radius);
  background: var(--ij-card);
  box-shadow: var(--ij-shadow);
  padding: 14px;
}
.pkp_page_index .issue_cover {
  border: 1px solid var(--ij-border);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

/* --- 10) ORCID / badges --- */
.orcid, .orcid.logo, .orcid_id {
  display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid var(--ij-border); border-radius: 999px; padding: 2px 8px;
  background: #fff; font-size: .85rem;
}

/* --- 11) Breadcrumb top spacing fix when sticky header exists --- */
.pkp_structure_content .cmp_breadcrumbs:first-child { margin-top: 6px; }

/* --- 12) Announcements list spacing --- */
.cmp_announcements .obj_announcement_summary + .obj_announcement_summary { margin-top: 12px; }

/* --- 13) Accessibility: larger focus targets for links in lists --- */
.pkp_structure_content li > a { padding: 4px 6px; border-radius: 8px; }

/* --- 14) Print-friendly tweak (remove background hovers) --- */
@media print {
  .pkp_structure_content a { background: transparent !important; }
}
/* Default tile size (Editorial Board & Advisory — unchanged) */
.ojsb .avatar {
  width:96px;
  height:96px;
  flex:0 0 96px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.ojsb .avatar img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Enlarged tiles ONLY for top sections */
#patrons .avatar,
#mentor .avatar,
#editor-in-chief .avatar,
#associate-editors .avatar,
#assistant-editors .avatar {
  width:130px;      
  height:130px;
  flex:0 0 130px;
  border-radius:14px;
}

/* Responsive scaling for mobile */
@media (max-width:600px){
  #patrons .avatar,
  #mentor .avatar,
  #editor-in-chief .avatar,
  #associate-editors .avatar,
  #assistant-editors .avatar {
    width:100px;
    height:100px;
  }
}

