/* ================================================================
   JSCEC Complete Professional Theme
   All Pages Styled
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&family=Merriweather:ital,wght@0,400;0,700;1,400&display=swap');

:root {
  --navy:        #0d2d4a;
  --navy-mid:    #1a5276;
  --navy-light:  #2e86c1;
  --navy-pale:   #d6eaf8;
  --teal:        #0b7a75;
  --teal-h:      #0d9e98;
  --teal-pale:   #e0f4f3;
  --gold:        #f39c12;
  --gold-pale:   #fef9e7;
  --red:         #c0392b;
  --green:       #27ae60;
  --white:       #ffffff;
  --off-white:   #f8fafc;
  --light:       #eaf1f8;
  --border:      #dde6ef;
  --border-dark: #b8cfe0;
  --text:        #1a202c;
  --text-mid:    #2d3748;
  --muted:       #5a6a7a;
  --muted-light: #8a9bb0;
  --sans:        'Open Sans','Helvetica Neue',Arial,sans-serif;
  --serif:       'Merriweather',Georgia,serif;
  --shadow-sm:   0 1px 4px rgba(0,0,0,0.07);
  --shadow:      0 2px 12px rgba(0,0,0,0.09);
  --shadow-lg:   0 8px 32px rgba(0,0,0,0.14);
  --radius:      6px;
}

/* ── Reset & Base ── */
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:var(--sans);font-size:14px;color:var(--text);background:var(--white);margin:0;line-height:1.7; }
a { color:var(--navy-light);text-decoration:none;transition:color 0.2s; }
a:hover { color:var(--navy);text-decoration:underline; }
h1,h2,h3,h4,h5 { font-family:var(--serif);color:var(--navy);margin:0 0 .8rem;line-height:1.3; }
p { margin:0 0 1rem; }
ul,ol { padding-left:1.4rem;margin:0 0 1rem; }
li { margin-bottom:.35rem; }
img { max-width:100%;height:auto; }
hr { border:none;border-top:2px solid var(--border);margin:28px 0; }

/* ── Top bar ── */
.jscec-topbar { background:var(--navy);padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.06); }
.jscec-topbar-inner { max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:flex-end;align-items:center;gap:14px; }
.jscec-topbar a { font-size:11px;color:rgba(255,255,255,0.6);font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:color .2s; }
.jscec-topbar a:hover { color:#fff;text-decoration:none; }
.jscec-topbar .sep { color:rgba(255,255,255,0.2); }

/* ── Header ── */
.pkp_structure_head { background:var(--navy-mid)!important;border-bottom:none!important;box-shadow:none!important; }
.pkp_head_wrapper { background:transparent!important;max-width:1200px!important;margin:0 auto!important;padding:16px 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important; }
.pkp_site_name { flex-shrink:0; }
.pkp_site_name a,.pkp_site_name_title { font-family:var(--serif)!important;font-size:21px!important;font-weight:700!important;color:#fff!important;text-decoration:none!important;line-height:1.2!important;display:block!important; }
.header-actions { display:flex;align-items:center;gap:10px; }
.header-search-btn { color:rgba(255,255,255,0.7);font-size:12px;display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:4px;text-decoration:none;transition:all .2s; }
.header-search-btn:hover { background:rgba(255,255,255,0.1);color:#fff;text-decoration:none; }
.header-submit-btn { background:var(--teal);color:#fff!important;padding:8px 18px;border-radius:5px;font-size:12px;font-weight:700;text-decoration:none!important;text-transform:uppercase;letter-spacing:.04em;transition:background .2s;display:inline-block; }
.header-submit-btn:hover { background:var(--teal-h)!important;text-decoration:none!important; }

/* ── Dropdown Navigation ── */
.pkp_navigation_primary { background:var(--navy)!important;border:none!important;box-shadow:0 2px 0 rgba(255,255,255,0.04)!important;position:relative!important;z-index:998!important; }
.pkp_navigation_primary>ul { display:flex!important;list-style:none!important;margin:0 auto!important;padding:0 20px!important;max-width:1200px!important;align-items:stretch!important; }
.pkp_navigation_primary>ul>li { position:relative!important; }
.pkp_navigation_primary>ul>li>a { color:rgba(255,255,255,0.85)!important;font-size:12px!important;font-weight:700!important;font-family:var(--sans)!important;padding:13px 16px!important;text-decoration:none!important;display:flex!important;align-items:center!important;gap:4px!important;text-transform:uppercase!important;letter-spacing:.05em!important;border-bottom:3px solid transparent!important;transition:all .2s!important;white-space:nowrap!important; }
.pkp_navigation_primary>ul>li>a:hover,.pkp_navigation_primary>ul>li:hover>a,.pkp_navigation_primary>ul>li.current>a { color:#fff!important;border-bottom-color:var(--gold)!important;background:rgba(255,255,255,0.06)!important;text-decoration:none!important; }
/* Dropdown */
.pkp_navigation_primary>ul>li>ul { display:none!important;position:absolute!important;top:100%!important;left:0!important;min-width:240px!important;background:var(--white)!important;border:1px solid var(--border)!important;border-top:3px solid var(--navy-light)!important;border-radius:0 0 6px 6px!important;box-shadow:var(--shadow-lg)!important;z-index:9999!important;list-style:none!important;margin:0!important;padding:6px 0!important; }
.pkp_navigation_primary>ul>li:hover>ul { display:block!important; }
.pkp_navigation_primary>ul>li>ul>li>a { display:block!important;padding:9px 18px!important;font-size:13px!important;color:var(--text)!important;text-decoration:none!important;font-weight:400!important;transition:all .15s!important;border-left:3px solid transparent!important;font-family:var(--sans)!important; }
.pkp_navigation_primary>ul>li>ul>li>a:hover { background:var(--light)!important;color:var(--navy-mid)!important;border-left-color:var(--navy-light)!important;text-decoration:none!important; }
.pkp_navigation_user { display:none!important; }

/* ── Main layout ── */
.pkp_structure_main { max-width:1200px!important;margin:28px auto!important;padding:0 20px!important; }
.pkp_structure_content { display:grid!important;grid-template-columns:1fr 280px!important;gap:32px!important;align-items:start!important; }
#pkp_content_main,#pkp_content_sidebar { min-width:0; }

/* ── Page header ── */
.jscec-page-hdr { border-bottom:2px solid var(--border);padding-bottom:14px;margin-bottom:24px; }
.jscec-page-hdr h1 { font-size:26px;margin:0; }
.jscec-page-hdr .breadcrumb { font-size:12px;color:var(--muted);margin-bottom:6px; }
.jscec-page-hdr .breadcrumb a { color:var(--navy-light); }

/* ── Tab navigation ── */
.jscec-tabs { display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--border);margin-bottom:26px;overflow-x:auto; }
.jscec-tabs a { padding:10px 18px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s; }
.jscec-tabs a:hover { color:var(--navy-mid);text-decoration:none; }
.jscec-tabs a.active { color:var(--navy-mid);border-bottom-color:var(--navy-mid);font-weight:700; }

/* ── Info boxes ── */
.info-box { background:var(--light);border:1px solid #b8d4ea;border-left:4px solid var(--navy-light);border-radius:0 5px 5px 0;padding:14px 18px;margin:16px 0;font-size:13.5px;line-height:1.7; }
.info-box.green { background:#eafaf1;border-color:#a9dfbf;border-left-color:var(--teal); }
.info-box.gold { background:var(--gold-pale);border-color:#f9e79f;border-left-color:var(--gold); }
.info-box.red { background:#fdedec;border-color:#f5b7b1;border-left-color:var(--red); }
.info-box p:last-child { margin:0; }

/* ── Article summary ── */
.obj_article_summary { padding:14px 0!important;border:none!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;margin-bottom:0!important;transition:background .15s!important; }
.obj_article_summary:last-child { border-bottom:none!important; }
.obj_article_summary:hover { background:var(--off-white)!important;padding:14px 10px!important;margin:0 -10px!important;border-radius:4px!important;transform:none!important;box-shadow:none!important;border-color:var(--border)!important; }
.obj_article_summary .section { display:block!important;font-size:11px!important;font-weight:700!important;color:var(--muted)!important;text-transform:uppercase!important;letter-spacing:.06em!important;margin-bottom:5px!important;background:none!important;padding:0!important;border-radius:0!important; }
.obj_article_summary .title a { font-family:var(--sans)!important;font-size:14px!important;font-weight:700!important;color:var(--navy-light)!important;line-height:1.45!important;text-decoration:none!important;display:block!important;margin-bottom:5px!important; }
.obj_article_summary .title a:hover { color:var(--navy)!important;text-decoration:underline!important; }
.obj_article_summary .authors { font-size:12.5px!important;color:var(--muted)!important;font-weight:400!important;margin:0 0 9px!important; }
.obj_article_summary .galleys_links a { display:inline-flex!important;align-items:center!important;gap:3px!important;background:#f5f5f5!important;border:1px solid #ddd!important;color:#555!important;font-size:11px!important;font-weight:700!important;padding:3px 10px!important;border-radius:3px!important;text-decoration:none!important;transition:all .2s!important;margin-right:4px!important; }
.obj_article_summary .galleys_links a:hover { background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;text-decoration:none!important; }

/* Article detail page */
.obj_article_details .page_title h1 { font-family:var(--serif)!important;font-size:24px!important;color:var(--navy)!important;line-height:1.35!important;margin-bottom:14px!important; }
.obj_article_details .authors { font-size:14px!important;color:var(--navy-light)!important;font-weight:600!important;margin-bottom:16px!important; }
.obj_article_details .abstract { background:var(--off-white)!important;border:1px solid var(--border)!important;border-left:4px solid var(--navy-light)!important;border-radius:0 5px 5px 0!important;padding:18px 22px!important;margin:20px 0!important;font-size:13.5px!important;line-height:1.8!important; }
.obj_article_details .abstract h3 { font-family:var(--sans)!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--navy-light)!important;margin-bottom:10px!important; }
.obj_article_details .keywords { margin:14px 0!important; }
.obj_article_details .keywords a { display:inline-block!important;background:var(--light)!important;border:1px solid var(--border-dark)!important;color:var(--navy-mid)!important;font-size:12px!important;padding:3px 10px!important;border-radius:3px!important;margin:2px!important;text-decoration:none!important; }

/* ── Sidebar ── */
.pkp_block { background:var(--white)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;padding:16px!important;margin-bottom:20px!important;box-shadow:var(--shadow-sm)!important; }
.pkp_block .title { font-family:var(--sans)!important;font-size:11px!important;font-weight:700!important;color:var(--navy)!important;text-transform:uppercase!important;letter-spacing:.07em!important;border-bottom:2px solid var(--navy-mid)!important;padding-bottom:8px!important;margin-bottom:12px!important;display:block!important; }
.pkp_block ul { list-style:none!important;margin:0!important;padding:0!important; }
.pkp_block ul li { padding:5px 0!important;border-bottom:1px solid var(--border)!important;font-size:12.5px!important; }
.pkp_block ul li:last-child { border-bottom:none!important; }
.pkp_block ul li a { color:var(--navy-light)!important;text-decoration:none!important; }
.pkp_block ul li a:hover { color:var(--navy)!important;text-decoration:underline!important; }

/* Sidebar special blocks */
.btn-submit-sb { display:block;background:var(--teal);color:#fff!important;text-align:center;padding:11px 16px;border-radius:5px;font-size:13px;font-weight:700;text-decoration:none!important;margin-bottom:20px;transition:background .2s; }
.btn-submit-sb:hover { background:var(--teal-h)!important;text-decoration:none!important; }
.jinfo-table { width:100%;border-collapse:collapse; }
.jinfo-table tr { border-bottom:1px solid var(--border); }
.jinfo-table tr:last-child { border-bottom:none; }
.jinfo-table td { padding:6px 4px;font-size:12px;vertical-align:top; }
.jinfo-table td:first-child { font-weight:700;color:var(--navy);width:44%; }
.jinfo-table td:last-child { color:var(--muted); }

/* ── LOGIN PAGE ── */
.pkp_page_login .pkp_structure_content,
.pkp_page_login #pkp_content_main { display:block!important;max-width:460px!important;margin:0 auto!important; }
.pkp_page_login .pkp_structure_content { grid-template-columns:1fr!important; }
.login-card { background:var(--white);border:1px solid var(--border);border-radius:8px;padding:32px 36px;box-shadow:var(--shadow); }
.login-card h1 { font-size:22px;text-align:center;margin-bottom:6px; }
.login-card .subtitle { font-size:13px;color:var(--muted);text-align:center;margin-bottom:24px; }

/* ── REGISTER PAGE ── */
.pkp_page_register .pkp_structure_content { grid-template-columns:1fr!important; }
#pkp_content_sidebar .pkp_page_register { display:none; }

/* ── FORMS - All pages ── */
.pkp_form .form_group,
.pkp_form .section { margin-bottom:18px; }
.pkp_form label,.pkp_form .label { font-size:13px;font-weight:700;color:var(--navy);display:block;margin-bottom:5px; }
.pkp_form input[type="text"],
.pkp_form input[type="email"],
.pkp_form input[type="password"],
.pkp_form input[type="url"],
.pkp_form select,
.pkp_form textarea,
input[type="text"],input[type="email"],input[type="password"],
input[type="search"],textarea,select {
  width:100%;padding:9px 13px;border:1.5px solid var(--border);border-radius:5px;
  font-size:13.5px;font-family:var(--sans);color:var(--text);background:var(--white);
  transition:border-color .2s,box-shadow .2s;
}
input:focus,textarea:focus,select:focus { outline:none;border-color:var(--navy-light);box-shadow:0 0 0 3px rgba(46,134,193,0.12); }
.pkp_form .description,.pkp_form .instruct { font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5; }

/* ── BUTTONS ── */
.pkp_button_primary,.btn-primary { background:var(--navy-light)!important;border:none!important;border-radius:5px!important;color:#fff!important;font-weight:700!important;font-family:var(--sans)!important;padding:10px 24px!important;font-size:14px!important;cursor:pointer!important;transition:background .2s!important;display:inline-block!important;text-decoration:none!important; }
.pkp_button_primary:hover,.btn-primary:hover { background:var(--navy-mid)!important;text-decoration:none!important; }
.pkp_button_offset,.btn-secondary { background:transparent!important;border:2px solid var(--navy-light)!important;border-radius:5px!important;color:var(--navy-light)!important;font-weight:700!important;font-family:var(--sans)!important;padding:9px 22px!important;font-size:14px!important;cursor:pointer!important;transition:all .2s!important;display:inline-block!important;text-decoration:none!important; }
.pkp_button_offset:hover { background:var(--navy-light)!important;color:#fff!important; }
.btn-teal { background:var(--teal)!important;color:#fff!important;border-radius:5px!important;font-weight:700!important;padding:10px 24px!important;font-size:14px!important;text-decoration:none!important;display:inline-block!important;transition:background .2s!important; }
.btn-teal:hover { background:var(--teal-h)!important;text-decoration:none!important; }

/* ── NOTIFICATIONS ── */
.pkp_notification { border-radius:5px!important;border-left:4px solid!important;padding:12px 18px!important;font-size:13px!important;margin-bottom:14px!important; }
.pkp_notification_success { background:#eafaf1!important;border-color:var(--green)!important;color:#1e8449!important; }
.pkp_notification_error { background:#fdedec!important;border-color:var(--red)!important;color:#922b21!important; }
.pkp_notification_warning { background:var(--gold-pale)!important;border-color:var(--gold)!important;color:#7d6608!important; }
.pkp_notification_information { background:var(--light)!important;border-color:var(--navy-light)!important;color:var(--navy)!important; }

/* ── PAGINATION ── */
.pkp_pages { text-align:center;margin:24px 0; }
.pkp_pages a,.pkp_pages span { display:inline-block;padding:6px 13px;margin:0 2px;border:1px solid var(--border);border-radius:4px;font-size:13px;color:var(--text);transition:all .2s; }
.pkp_pages a:hover,.pkp_pages span.current { background:var(--navy-light);color:#fff;border-color:var(--navy-light);text-decoration:none; }

/* ── SEARCH PAGE ── */
.pkp_page_search .search_results .obj_article_summary { padding:16px 0!important; }
.search-form-box { background:var(--off-white);border:1px solid var(--border);border-radius:6px;padding:20px;margin-bottom:24px; }
.search-form-box input[type="text"] { font-size:15px;padding:11px 16px; }

/* ── ISSUE page ── */
.obj_issue_summary { display:flex;gap:16px;align-items:flex-start;padding:16px;border:1px solid var(--border);border-radius:6px;margin-bottom:12px;background:var(--white);transition:box-shadow .2s; }
.obj_issue_summary:hover { box-shadow:var(--shadow); }
.obj_issue_summary .cover img { width:85px;border:1px solid var(--border);border-radius:4px;box-shadow:var(--shadow-sm); }
.obj_issue_summary .title { font-family:var(--serif);font-size:15px;font-weight:700;color:var(--navy-mid); }
.obj_issue_summary .published { font-size:12px;color:var(--muted);margin-top:4px; }

/* ── PROFILE / USER pages ── */
.pkp_page_profile .pkp_structure_content { grid-template-columns:1fr!important; }
.pkp_page_user .pkp_structure_content { grid-template-columns:1fr!important; }

/* ── Metrics ── */
.metric-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0; }
.metric-card { background:var(--off-white);border:1px solid var(--border);border-radius:6px;padding:20px 14px;text-align:center; }
.metric-card .num { font-size:24px;font-weight:700;color:var(--navy-mid);font-family:var(--serif);line-height:1; }
.metric-card .lbl { font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:6px; }

/* Team cards */
.team-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.team-card { display:flex;gap:14px;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:6px;background:var(--white);transition:box-shadow .2s; }
.team-card:hover { box-shadow:var(--shadow); }
.team-avatar { width:48px;height:48px;border-radius:50%;background:var(--light);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--navy-mid);font-family:var(--serif);flex-shrink:0; }
.team-name { font-size:13.5px;font-weight:700;color:var(--navy); }
.team-role { font-size:11px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.04em;margin:2px 0; }
.team-affil { font-size:12px;color:var(--muted); }

/* Process steps */
.step-list { margin:16px 0; }
.step-item { display:flex;gap:14px;align-items:flex-start;padding:14px;background:var(--off-white);border-radius:6px;margin-bottom:10px;border-left:3px solid var(--navy-mid); }
.step-num { width:30px;height:30px;border-radius:50%;background:var(--navy-mid);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0; }
.step-title { font-size:13px;font-weight:700;color:var(--navy);margin-bottom:3px;font-family:var(--sans); }
.step-desc { font-size:12.5px;color:var(--muted);line-height:1.6;margin:0; }
.step-time { font-size:11px;font-weight:700;color:var(--teal);background:var(--teal-pale);padding:2px 8px;border-radius:3px;float:right;margin-left:10px; }

/* Tables */
.jscec-table { width:100%;border-collapse:collapse;font-size:13px; }
.jscec-table thead tr { background:var(--navy);color:#fff; }
.jscec-table th { padding:10px 14px;text-align:left;font-weight:700; }
.jscec-table td { padding:9px 14px;border-bottom:1px solid var(--border); }
.jscec-table tbody tr:nth-child(odd) { background:var(--off-white); }
.jscec-table tbody tr:hover { background:var(--light); }
.badge { display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:3px; }
.badge-green { background:#dcfce7;color:#15803d; }
.badge-yellow { background:#fef9c3;color:#854d0e; }
.badge-blue { background:var(--light);color:var(--navy-mid); }

/* Index badges */
.index-badge { display:inline-flex;align-items:center;gap:8px;background:var(--off-white);border:1px solid var(--border);border-radius:5px;padding:10px 16px;margin:5px;font-size:13px;font-weight:700;color:var(--navy); }

/* Checklist */
.checklist-item { display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid #edf2f7;font-size:13px; }
.checklist-item:last-child { border-bottom:none; }
.checklist-icon { color:var(--teal);font-size:15px;flex-shrink:0;margin-top:1px; }

/* ── FOOTER ── */
.pkp_structure_footer { background:var(--navy)!important;border-top:4px solid var(--navy-light)!important;margin-top:48px!important; }
.pkp_footer_content * { font-family:var(--sans)!important; }
.footer-inner { max-width:1200px;margin:0 auto;padding:40px 20px 24px; }
.footer-grid { display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:20px; }
.footer-col-title { font-size:11px;font-weight:700;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-family:var(--sans); }
.footer-link { display:block;padding:4px 0;color:rgba(255,255,255,0.45);font-size:12px;text-decoration:none;transition:color .2s; }
.footer-link:hover { color:rgba(255,255,255,0.9);text-decoration:none; }
.footer-bottom { display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,0.28);flex-wrap:wrap;gap:10px; }
.footer-bottom a { color:rgba(255,255,255,0.38);text-decoration:none; }

/* ── RESPONSIVE ── */
@media (max-width:900px) {
  .pkp_structure_content { grid-template-columns:1fr!important; }
  .pkp_head_wrapper { flex-direction:column!important;align-items:flex-start!important;padding:14px 16px!important; }
  .metric-grid { grid-template-columns:1fr 1fr!important; }
  .team-grid { grid-template-columns:1fr!important; }
  .footer-grid { grid-template-columns:1fr 1fr!important; }
}
@media (max-width:600px) {
  .pkp_navigation_primary>ul { flex-wrap:wrap!important; }
  .footer-grid { grid-template-columns:1fr!important;gap:20px!important; }
  .metric-grid { grid-template-columns:1fr 1fr!important; }
}

/* Hide empty downloads chart */
.galley_statistics,
.article-details .downloads canvas,
.article-details .downloads svg,
.article-details .downloads table,
.article-details section.downloads > div:first-child,
#articleMetrics,
.pkp_structure_main canvas { 
  display: none !important; 
}

/* Hide no stats text */
.article-details p:empty,
div:has(> canvas):not(:has(img)) { 
  display: none !important; 
}
