/*! app.css — 2025-10-15T19:26:12 (clean, PHP-free) */

/* -------------------------------------------------- */
/* Base + Variables                                   */
/* -------------------------------------------------- */
:root{
  --brand:#003b44;
  --accent:#003b44;
  --muted:#6b7280;
  --dark:#0b1220;

  /* header offsets (JS can update) */
  --topbar-h: 32px;
  --nav-top: var(--topbar-h);
  --page-offset: 0px;

  /* TOC offset (desktop) */
  --toc-top: 60px;

  /* Surfaces */
  --bg:#f7f8fb;
  --card:#fff;
}
html, body{
  background:#fff;
  color:#222;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  width:100%;
  overflow-x:hidden;
}

/* Bootstrap container max width (site-wide) */
@media (min-width: 1200px){
  .container, .container-lg, .container-md, .container-sm, .container-xl{ max-width:1240px !important; }
}

/* Small helpers */
.shadow-soft{ box-shadow:0 8px 28px rgba(2,6,23,.06); }
.small-muted{ color:var(--muted); font-size:.9rem; }

/* -------------------------------------------------- */
/* Auth: login / register / forgot / reset            */
/* (deduped into generic classes)                     */
/* -------------------------------------------------- */
.auth-hero{
  background:linear-gradient(135deg,#6c5ce7 0%, #00b4d8 100%);
  color:#fff; border-radius:1rem; height:100%;
}
.brand-small { color:#0b5ed7; font-weight:700; font-size:1.05rem; }
.form-hint{ color:var(--muted); font-size:.9rem; }
.pw-meter{ height:6px; background:#eef2f7; border-radius:6px; overflow:hidden; }
.pw-bar{ height:6px; width:0; background:var(--accent); transition:width .25s; }
.social-btn{
  display:flex; gap:8px; align-items:center; justify-content:center;
  border-radius:8px; padding:.6rem .8rem; font-weight:600; width:100%;
}
.social-btn.google{ background:#fff; color:#111; border:1px solid #e6e6e6; }
.social-btn.orcid{ background:#2fb6be; color:#fff; border:0; }

@media (min-width:768px){
  .match-height{ display:flex; }
  .match-height > *{ flex:1 1 0; }
}

/* -------------------------------------------------- */
/* Page layout (page.php, article pages)              */
/* -------------------------------------------------- */
.container.page-wrap{ position:relative; }
.page-wrap{ padding-top:20px; padding-bottom:30px; }

.bb{
  background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:8px; padding:8px 12px; margin-bottom:16px;
}
.breadcrumb-item i {
  font-size: 0.95rem;
  color: #003b44;
}
.breadcrumb .breadcrumb-item a {
  font-weight: 600;
}
.breadcrumb {
  font-size: 0.92rem;
}


/* Grid: TOC + Content */
.grid{ display:grid; grid-template-columns:280px 1fr; gap:24px; align-items:start; }
.container, .page-wrap, .grid{ overflow:visible; }
@media (max-width:992px){ .grid{ grid-template-columns:1fr; } }

/* TOC wrapper + spacer */
.toc-col{ position:relative; }
#tocSpacer{ height:0; transition:height .15s ease; }

/* TOC box */
.toc{
  background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:8px; padding:14px 12px;
  position:sticky; top:var(--toc-top);
  max-height:calc(100vh - (var(--toc-top) + 20px));
  overflow:auto; scrollbar-width:thin;
}
.toc.is-fixed{
  position:fixed !important; top:var(--toc-top) !important;
  left:0; width:280px; z-index:1030;
}
.toc.stuck-bottom{
  position:absolute !important; top:auto !important; bottom:0 !important;
  left:0 !important; width:280px;
}
.toc h6{
  font-weight:700; color:#0b2e59; margin:2px 0 8px;
  font-size:.95rem; position:sticky; top:0; background:#fff;
  padding-top:4px; padding-bottom:6px;
}
.toc ul{ list-style:none; margin:0; padding:0; }
.toc li{ margin:3px 0; }
.toc a{
  display:block; text-decoration:none; color:#0b2e59;
  padding:6px 8px; border-radius:6px; line-height:1.3;
  transition:background .12s ease, color .12s ease, padding-left .12s ease;
  font-weight:600; font-size:.95rem;
}
.toc a.small{ font-weight:500; font-size:.9rem; }
.toc a.xsmall{ font-weight:500; font-size:.86rem; }
.toc a:hover{ background:rgba(13,110,253,.08); color:#0b2e59; padding-left:12px; }
.toc a.active{ background:rgba(13,110,253,.15); color:#0b2e59; }

/* Article card */
.card-article{
  background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:8px; padding:22px; line-height:1.75;
}
.card-article h1,.card-article h2,.card-article h3,.card-article h4{ color:#0b3d91; margin-top:.4rem; }
.meta{ color:#6c757d; font-size:.92rem; }

.subfoot{ color:#6c757d; font-size:.93rem; }
.subfoot a{ text-decoration:none; }

/* Mobile: TOC normal flow */
@media (max-width:992px){
  .toc, .toc.is-fixed{
    position:static !important; top:auto !important; left:auto !important; width:auto !important;
    max-height:none !important; overflow:visible !important;
  }
  #tocSpacer{ height:0 !important; }
}

/* -------------------------------------------------- */
/* Editorial board (editorial.php)                    */
/* -------------------------------------------------- */
.eb-toolbar{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-bottom:1rem; }
.eb-search{ max-width:420px; }
.eb-role-filter{ max-width:260px; }

.eb-section{ margin-bottom:2rem; }
.eb-heading{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; margin:0 0 .75rem 0; padding:.25rem 0; border-bottom:1px solid #e9ecef;
}
.eb-heading h3{ margin:0; font-size:1.25rem; font-weight:800; }
.eb-count{ color:#6c757d; font-size:.9rem; }

.eb-grid{ display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:1rem; }
@media (min-width:576px){ .eb-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:992px){ .eb-grid{ grid-template-columns:repeat(3,1fr); } }

.eb-card{
  border:1px solid #e9ecef; border-radius:.75rem; background:#fff;
  transition:box-shadow .2s ease, transform .2s ease;
}
.eb-card:hover{ box-shadow:0 .5rem 1rem rgba(0,0,0,.08); transform:translateY(-2px); }
.eb-card .eb-body{ padding:1rem 1rem .75rem; }
.eb-card .eb-footer{ padding:.75rem 1rem; background:#fcfcfd; border-top:1px solid #f1f3f5; border-radius:0 0 .75rem .75rem; }

.eb-avatar{
  width:48px; height:48px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#eef2ff,#e3f2fd); color:#2b2d42; font-weight:700;
  border:1px solid #e5e7eb;
}
.eb-title{ margin:0; font-size:1.05rem; font-weight:800; }
.eb-sub{ color:#6c757d; font-size:.9rem; }
.eb-bio{ color:#495057; font-size:.95rem; margin:.5rem 0 0; }
.eb-role-pill{
  display:inline-block; font-size:.75rem; line-height:1; font-weight:700;
  padding:.35rem .5rem; border-radius:999px; border:1px solid #e9ecef; background:#f8f9fa; color:#495057;
  margin-bottom:.35rem;
}
.eb-actions .btn{ padding:.25rem .5rem; font-size:.8rem; }
.eb-empty{ padding:1rem; border:1px dashed #e9ecef; border-radius:.75rem; color:#6c757d; background:#fcfcfd; }

/* -------------------------------------------------- */
/* Home (index.php)                                   */
/* -------------------------------------------------- */
body.home{ background:#f7f8fb; }
.section-pad{ padding:1.25rem 0; }

.hero-spot-full{ width:100vw; position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; overflow:hidden; background:#0d6efd; box-shadow:0 10px 40px rgba(0,0,0,.12); }
.hero-spot-full img{ width:100%; height:clamp(280px, 32vw, 520px); object-fit:cover; display:block; }
.hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.35)); }
.hero-title{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#fff; text-align:center; padding:0 1rem; }
.hero-title h1{ font-weight:800; letter-spacing:.2px; text-shadow:0 4px 18px rgba(0,0,0,.25); }

.card{  /*! border-radius:14px; */ box-shadow:0 2px 6px rgba(0,0,0,0.3); border-color: #e8e8e8;border-bottom: 5px solid #003b44;}
.card h5, .card h4{ font-weight:800; }

.article-card{ /*! border:1px; */ /*! border-radius:14px; */ overflow:hidden; box-shadow:0 2px 14px rgba(15,23,42,.07); background:#fff; /*! border-color: red; */}
.article-card .thumb{ width:100%; height:180px; object-fit:cover; display:block; }
.article-card .meta{ color:#000; font-size:.9rem; }
.article-card .title{ font-weight:800; font-size:1.02rem; }
.article-card .actions .btn{ padding:.3rem .6rem; }

.list-linked li+li{ border-top:1px dashed #e5e7eb; }
.list-linked a{ text-decoration:none; }

.eic-avatar{
  width:56px; height:56px; border-radius:50%;
  background:linear-gradient(135deg,#eef2ff,#e3f2fd);
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:800; color:#334155; border:1px solid #e5e7eb;
}

/* -------------------------------------------------- */
/* Issue view                                         */
/* -------------------------------------------------- */
.article-title{ color:#174f86; font-weight:700; font-size:1.25rem; margin-bottom:.25rem; }
.open-access-badge{ color:#d63384; font-weight:700; font-size:.85rem; display:inline-flex; align-items:center; gap:.35rem; }
.meta-line{ color:#6c757d; margin-bottom:4px; }
.authors-line{ margin-bottom:6px; color:#2b2b2b; }
.article-actions a{ margin-right:12px; text-decoration:none; }
.lock-icon{ font-size:.95rem; }
.card-sep{ border-bottom:1px solid #e9ecef; padding-bottom:18px; margin-bottom:18px; }
.article-actions .btn-link{ text-decoration:none; color:var(--accent); }

/* -------------------------------------------------- */
/* Dashboard: view                                    */
/* -------------------------------------------------- */
:root{
  --surface:#f8fafc;
  --radius:12px;
}
.wf-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wf-title h1{font-size:1.25rem;margin:0}
.wf-topbar{display:flex;gap:10px;align-items:center}
.wf-topbar .btn{padding:.4rem .75rem}
.wf-steps{display:flex;gap:10px;flex-wrap:wrap}
.wf-step{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:10px 12px}
.wf-step .dot{width:36px;height:36px;border-radius:8px;color:#fff;display:grid;place-items:center;font-weight:700}
.wf-step.active{border-color:rgba(13,110,253,.45);box-shadow:0 6px 18px rgba(13,110,253,.12)}
.dot.submission{background:#6b7280}.dot.review{background:#0d6efd}.dot.production{background:#f59e0b}.dot.publication{background:#10b981}
.card-like{background:var(--card);border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.06);padding:14px}
.sticky-side{position:sticky;top:84px}
.right-actions .btn{justify-content:flex-start}
.wf-tabs{border-bottom:1px solid #e5e7eb;margin-top:8px}
.wf-tabs .nav-link{border:none;border-bottom:3px solid transparent;color:#111827;padding:.65rem .9rem}
.wf-tabs .nav-link.active{border-color:#0d6efd;color:#0d6efd;background:transparent}

/* -------------------------------------------------- */
/* Dashboard: layout (admin shell)                    */
/* -------------------------------------------------- */
body.admin{ background: linear-gradient(180deg,#f6f8fb,#ffffff); }

.sidebar{
  border-right:1px solid rgba(0,0,0,0.05);
  background:#fff; padding-top:1rem;
  box-shadow: 0 6px 18px rgba(22,28,37,0.06);
}
.sidebar .nav-link{ color:#495057; padding:.5rem 1rem; border-radius:6px; }
.sidebar .nav-link.active, .sidebar .nav-link:hover{
  background:linear-gradient(90deg,rgba(11,94,215,0.06),rgba(23,79,134,0.03));
  color:#0b5ed7; font-weight:600;
}
.sidebar .sidebar-heading{ font-size:.75rem; text-transform:uppercase; color:#6c757d; letter-spacing:.06em; }

.topbar{ background:transparent; padding:.65rem 1rem; display:flex; align-items:center; gap:1rem; }
.topbar .brand{ font-weight:700; color:#174f86; font-size:1.15rem; letter-spacing:.4px; }
.topbar .search{ min-width:260px; max-width:520px; width:40vw; }
.topbar .quick-btn{ margin-left:.5rem; }

.content-card{
  background:#fff; border-radius:12px; box-shadow:0 6px 18px rgba(22,28,37,0.06);
  padding:1.25rem; margin-bottom:1.25rem;
}

.breadcrumbs{ font-size:.9rem; color:#6c757d; }
.avatar{
  width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#e9eefb,#dcefff); color:#174f86; font-weight:700; font-size:.9rem;
}
.alert-floating{ position:sticky; top:1rem; z-index:50; }

@media (max-width:767px){
  .sidebar{ position:fixed; z-index:1030; left:-280px; width:260px; transition:left .25s ease-in-out; height:100vh; overflow:auto; }
  .sidebar.show{ left:0; background:#fff; }
  main{ padding-top:0px; }
}

/* Admin modals (editorial board) */
.eb-modal{ max-height:90vh; display:flex; flex-direction:column; overflow:hidden; }
.eb-scroll{ overflow-y:auto; padding:1rem; max-height:calc(90vh - 112px); }
.eb-sticky{ position:sticky; z-index:2; background:#fff; }
.eb-sticky:first-of-type{ top:0; }
.eb-sticky:last-of-type{ bottom:0; }
.modal{ overflow-y:auto !important; }
.main-content .card:first-child{ margin-top:0 !important; }
.list-group-item{ border-radius:.5rem; }

/* -------------------------------------------------- */
/* Dashboard: editor                                  */
/* -------------------------------------------------- */
.list-group-item.submission-card{ position:relative; }
.submission-title{ font-weight:600; line-height:1.3; }
.submission-meta small{ color:#6c757d; }
.badge-status{ font-weight:500; }
.submission-actions{
  display:flex; gap:.5rem; flex-wrap:nowrap;
  position:absolute; right:1rem; bottom:1rem;
}
@media (max-width:576px){
  .submission-actions{ position:static; margin-top:.75rem; justify-content:flex-end; }
}

/* -------------------------------------------------- */
/* Dashboard: users                                   */
/* -------------------------------------------------- */
:root{ --ojs-bg:#f2f4f7; --ojs-card:#fff; --ojs-border:#e5e7eb; --ojs-accent:#003b44; }
body.users{ background:var(--ojs-bg); }
.ojs-strip{ border-bottom:1px solid var(--ojs-border); margin-bottom:.75rem; }
.ojs-strip .nav-link{ color:#111827; padding:.5rem .75rem; }
.ojs-strip .nav-link.active{
  border:1px solid var(--ojs-border); border-bottom-color:#fff; background:#fff;
  border-top-left-radius:.4rem; border-top-right-radius:.4rem;
}
.ojs-head{ background:linear-gradient(180deg,#fff,#f9fafb); border:1px solid var(--ojs-border); border-radius:.5rem; padding:.85rem 1rem; }
.ojs-title{ font-weight:700; }
.ojs-list{ display:flex; flex-direction:column; gap:.75rem; }
.ojs-item{
  background:var(--ojs-card); border:1px solid var(--ojs-border); border-radius:.6rem;
  padding:.75rem .9rem; box-shadow:0 1px 0 rgba(16,24,40,.02);
}
.ojs-row{ display:flex; gap:.75rem; align-items:flex-start; }
.ojs-col-main{ flex:1 1 auto; min-width:0; }
.ojs-col-actions{ flex:0 0 auto; display:flex; gap:.5rem; align-items:center; }
.ojs-name{ font-weight:700; }
.ojs-meta{ color:#6b7280; font-size:.875rem; }
.ojs-badges{ margin-top:.25rem; display:flex; flex-wrap:wrap; gap:.35rem; }
.role-chip{ display:inline-block; padding:.22rem .5rem; font-size:.78rem; background:#eef2f7; border:1px solid var(--ojs-border); border-radius:999px; color:#111827; }
.badge-primary-role{ padding:.3rem .55rem; border-radius:999px; font-weight:600; }
.ojs-expand{ color:#6b7280; font-size:.85rem; cursor:pointer; user-select:none; }
.ojs-extra{ display:none; padding-top:.5rem; border-top:1px dashed var(--ojs-border); margin-top:.5rem; color:#374151; }
.ojs-item:hover{ background:#fbfcff; }
.ojs-actions .btn{ white-space:nowrap; }

@media (max-width:768px){
  .ojs-row{ flex-direction:column; align-items:stretch; }
  .ojs-col-actions{ justify-content:flex-end; }
}

/* -------------------------------------------------- */
/* Header/Nav (includes/header.php styles)            */
/* -------------------------------------------------- */
.dropdown-menu{ z-index:1080; }
.top-utility{ z-index:1000; }
.main-nav{ z-index:180; }

header, .navbar, .navbar .container, .navbar-collapse, .top-utility, .main-nav{
  overflow:visible !important; transform:none !important;
}

/* Top dark utility bar (JS toggles .hidden) */
.top-utility{
  position:relative;
  background:var(--dark); color:#fff; font-size:.875rem;
  transition:transform .28s ease, opacity .28s ease;
  will-change:transform, opacity;
}
.top-utility.hidden{ transform:translateY(-100%); opacity:0; pointer-events:none; }

/* Utility links (desktop) */
.top-inline-list{ display:flex; gap:1rem; align-items:center; margin:0; padding:0; list-style:none; }
.top-inline-link{ color:#fff; text-decoration:none; opacity:.95; }
.top-inline-link:hover{ text-decoration:underline; opacity:1; }
@media (max-width:767.98px){ .top-inline-list{ display:none; } }
/* ✅ FIX: TOP UTILITY DESKTOP MENU INLINE (Bootstrap column override) */
@media (min-width: 768px) {

  .top-utility .navbar-nav,
  .top-utility .top-inline-list {
    flex-direction: row !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
  }

  .top-utility .navbar-nav > .nav-item,
  .top-utility .top-inline-list > li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .top-utility .navbar-nav > .nav-item > .nav-link,
  .top-utility .top-inline-list > li > a {
    display: inline-block !important;
    white-space: nowrap;
    color: #fff !important;
    font-weight: 500;
    text-decoration: none;
  }

  .top-utility .navbar-nav > .nav-item > .nav-link:hover,
  .top-utility .top-inline-list > li > a:hover {
    text-decoration: underline;
  }

}

/* Social icons */
.social-list{
  display:flex; gap:.5rem; align-items:center; margin:0; padding:0; list-style:none;
}
.social-list a{
  color:#fff; opacity:.9; display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
}
.social-list a:hover{ opacity:1; background:rgba(255,255,255,.1); }

/* Main navbar (JS adds .is-fixed) */
.main-nav{
  position:relative;
  background:#fff; box-shadow:0 2px 10px rgba(15,23,42,0.04);
  transition:transform .2s ease;
  padding: 15px;
}
.main-nav.is-fixed{
  position:fixed; top:var(--nav-top); left:0; right:0;
  top: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.nav-link{font-weight:500; padding:0em .0rem; border-radius:6px; }
.nav-link:hover, .nav-link:focus, .nav-link.active{
  background:rgba(11,94,215,0.06); color:var(--brand); text-decoration:none;
}
.brand-wrap{ display:flex; align-items:center; gap:.5rem; min-width:0; text-decoration:none; }
.brand-logo{ height:28px; width:auto; display:block; }
.brand-text{
  font-weight:700; color:var(--brand); letter-spacing:.2px; font-size:1.05rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:50vw;
}
@media (min-width:992px){ .brand-text{ max-width:40vw; } }

.submit-btn{
  background:linear-gradient(90deg,var(--brand),#003b44); color:#fff; border-radius:8px;
  padding:.45rem .8rem; font-weight:600;
}
.submit-btn:hover{ opacity:.95; }
.user-avatar{
  width:36px;height:36px;border-radius:50%;
  background: rgba(11,94,215,0.08); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center; font-weight:700;
}
.search-btn{ background:transparent; border:1px solid rgba(15,23,42,0.06); padding:.45rem .6rem; border-radius:8px; }

@media (min-width:992px){ .navbar-nav .nav-link{ /*! padding-left:1rem; */ /*! padding-right:1rem; */ } }

  .nav-user .dropdown-menu {
    right: auto !important;
    left: 50% !important;
    transform: translateX(-50%);
  }



/* Submenu */
@media (min-width:992px){
  .dropdown-submenu{ position:relative; }
  .dropdown-submenu > .dropdown-menu{ top:0; left:100%; margin-left:.1rem; margin-right:.1rem; }
}
.dropdown-toggle::after{ margin-left:.25rem; }

@media (max-width: 768px) {
  /* --- Nav Item Styling --- */
  .nav-item {
    /* Full width for vertical stacking */
    width: 100%; 
    /* Remove default list styling if it's an <li> */
    list-style: none;
    /* Clean separation */
    border-bottom: 1px solid rgba(0, 0, 0, 0.08); 
    /* Smooth interaction transition */
    transition: background-color 0.2s ease, transform 0.1s ease;
    /* Ensure cursor is a pointer */
    cursor: pointer;
  }

  /* --- Link (Anchor) Styling inside Nav Item --- */
  .nav-item a {
    /* Use Flexbox for alignment (e.g., if you have an icon and text) */
    display: flex;
    align-items: center; /* Vertically center content */
    /*! justify-content: center; */ /* Center horizontally (for simple text-only items) */
    
    /* Generous padding for easy tapping (Finger-Friendly) */
    padding: 18px 20px; 
    
    /* Font and Color Setup */
    font-size: 1.15rem; /* Slightly larger text */
    font-weight: 500; /* Medium weight */
    color: #2c3e50; /* Dark, professional color */
    text-decoration: none; /* No underline */
    
    /* Ensure the link block covers the entire item */
    width: 100%;
    height: 100%;
    box-sizing: border-box;
  }
  
  /* --- Interactive Feedback (Hover/Active/Focus) --- */
  /* This provides visual confirmation on tap */
  .nav-item:hover,
  .nav-item:focus,
  .nav-item.active {
    background-color: #ecf0f1; /* Light background change on tap/focus */
    /* Add a subtle visual 'push' effect on tap */
    transform: scale(0.99); 
    /* You can change the text color for the active item */
  }

  /* For the currently active/selected item */
  .nav-item.active a {
    color: #3498db; /* Highlight color for the current page */
    font-weight: 600;
  }

  /* To clean up the last item's border */
  .nav-list .nav-item:last-child {
    border-bottom: none;
  }
}
/* -------------------------------------------------- */
/* Article reader (article/view.php)                  */
/* -------------------------------------------------- */
.reader-top{ margin-bottom:18px; }
.badge-open{
  color:#d63384; font-weight:700; background:transparent;
  border:1px solid rgba(214,51,132,0.08); padding:.12rem .45rem; border-radius:4px;
}
.reader-title{ color:var(--brand); font-weight:700; font-size:1.6rem; line-height:1.15; }
.reader-meta small{ color:#6c757d; }
.authors-list a.mail{ text-decoration:none; margin-left:.4rem; color:var(--brand); }
.toolbar .btn{ margin-right:8px; }
.section-heading{ border-left:4px solid #e9ecef; padding-left:12px; margin:18px 0 12px; font-weight:700; }
.toc a{ display:block; padding:6px 0; color:var(--brand); text-decoration:none; }
.right-tabs .nav-link{ cursor:pointer; }
.reader-body img{ max-width:100%; height:auto; }

/* Popover content */
.bs-popover-auto .popover-body,
.bs-popover-start .popover-body,
.bs-popover-end .popover-body,
.bs-popover-top .popover-body,
.bs-popover-bottom .popover-body{ padding:12px; }
.author-card{ min-width:260px; max-width:360px; }
.author-card h5{ margin:0 0 8px; font-size:1.05rem; }
.author-card .orcid{ color:#16a34a; font-weight:600; font-size:.9rem; display:flex; align-items:center; gap:6px; }
.author-card .aff{ margin-top:8px; color:#495057; font-size:.9rem; }
.author-card .more{ margin-top:10px; font-size:.85rem; }

.ojs-issue-list .list-group-item {
  border: 1px solid #e5e7eb;
  margin-bottom: .5rem;
  border-radius: .5rem;
  background: #fff;
}
.ojs-issue-item .fw-semibold a { text-decoration: none; }
.ojs-issue-item .fw-semibold a:hover { text-decoration: underline; }
.ojs-handle {
  cursor: grab;
  user-select: none;
  font-size: 18px;
  width: 1.5rem;
  text-align: center;
  color: #6b7280;
}
.ojs-issue-item.dragging { opacity: .6; }
.ojs-order-on .ojs-row-actions { opacity: .35; pointer-events: none; }
#issueOrderBar.saved::after {
  content: ' Saved';
  margin-left: .5rem;
  color: #198754;
  font-weight: 600;
}

/* Editorial board cards layout */
#editorial-board-showcase .member-card {
  /* Mobile: 1 card per row / per slide */
  flex: 0 0 100%;
  max-width: 100%;
}

/* Desktop: 5 cards per slide (approx 20% each) */
@media (min-width: 768px) {
  #editorial-board-showcase .member-card {
    flex: 0 0 19%;
    max-width: 19%;
  }
}

#editorial-board-showcase .card {
  height: 100%;
}

/* Journal title badge – full text but card ke andar hi wrap ho */
#editorial-board-showcase .editorial-journal-badge {
  display: inline-block;
  width: 100%;
  white-space: normal;       /* line wrap allow */
  word-wrap: break-word;
  overflow-wrap: break-word; /* long words bhi break ho jayen */
  text-align: center;
  color:#000;
}

/* Safety: agar pehle se koi text-truncate class lagi ho to override */
#editorial-board-showcase .editorial-journal-badge.text-truncate {
  white-space: normal !important;
}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #003b44;
  --bs-btn-border-color: #003b44;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #008080;
  --bs-btn-hover-border-color: #008080;
  --bs-btn-focus-shadow-rgb: 49,132,253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #008080;
  --bs-btn-active-border-color: #008080;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #008080;
  --bs-btn-disabled-border-color: #008080;
}

/* About text ko cover ke equal height tak clip karne ke liye */
.journal-desc {
  overflow: hidden;
  max-height: 0;              /* JS se set hogi */
  transition: max-height 0.3s ease;
}

/* Expanded mode */
.journal-desc-expanded {
  max-height: 9999px;
}
.action-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid #e1e5ea;
  background: #f8f9fb;
  cursor: pointer;
  transition: all .18s ease-in-out;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.action-chip + .action-chip {
  margin-left: 0; /* bootstrap gap se handle ho raha hai */
}

.action-chip-icon {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
  background: rgba(13,110,253,0.07);
  font-size: 14px;
}

.action-chip-body {
  line-height: 1.1;
}

.action-chip-label {
  font-size: 12px;
  font-weight: 600;
  color: #111827;
}

.action-chip-sub {
  font-size: 10px;
  color: #6b7280;
}

/* Hover / focus state */
.action-chip:hover {
  background: #ffffff;
  border-color: #cbd5f5;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

/* Accent wale chip (Production) */
.action-chip-accent {
  border-color: rgba(13,110,253,0.25);
  background: rgba(13,110,253,0.03);
}

.action-chip-accent .action-chip-icon {
  background: #0d6efd;
  color: #ffffff;
}

.action-chip-accent .action-chip-label {
  color: #0d1729;
}

.action-chip-accent:hover {
  background: #0d6efd;
  border-color: #0d6efd;
}

.action-chip-accent:hover .action-chip-label,
.action-chip-accent:hover .action-chip-sub {
  color: #ffffff;
}



/* Call for Papers banner – upgraded rich gradient */
.cfp-banner {
  border-radius: 1rem;
  background: linear-gradient(
      135deg,
      #004d40 0%,        /* Deep Green */
      #00695c 25%,       /* Hero dark teal */
      #009688 60%,       /* Primary teal */
      #26a69a 100%       /* Light aqua */
  );
  position: relative;
  overflow: hidden;
}

/* Shine + depth overlay */
.cfp-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.25), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(0,0,0,0.25), transparent 55%),
    linear-gradient(45deg, rgba(255,255,255,0.05), rgba(0,0,0,0.05));
  opacity: 0.7;
  mix-blend-mode: overlay;
  pointer-events: none;
}

.cfp-banner .card-body {
  position: relative;
  z-index: 1;
}

/* Icon block */
.cfp-icon-wrap {
  width: 42px;
  height: 42px;
  background: rgba(0,0,0,0.22);
  color: #ffffff;
  font-size: 1.5rem;
  box-shadow: inset 0 0 8px rgba(0,0,0,0.3);
}

/* Buttons */
.cfp-btn-primary {
  color: #004d40 !important;  /* Deep green on white btn */
}

.cfp-btn-outline {
  border-color: rgba(255,255,255,0.85);
  color: #ffffff !important;
}

.cfp-btn-outline:hover {
  background-color: rgba(255,255,255,0.18);
}

/* Slightly softer white */
.text-white-75 {
  color: rgba(255,255,255,0.85) !important;
}

@media (max-width: 576px) {
  .cfp-banner {
    border-radius: 0.75rem;
  }
}
/* Footer CSS */
   .aa5-footer {
        background: #003b44;
        font-size: 0.88rem;
      }
      .aa5-topbar {
        height: 4px;
        width: 100%;
        background: linear-gradient(90deg,#ffbb00,#00e0ff,#ff3d76);
      }
      .aa5-logo-circle {
        width: 48px;
        height: 48px;
        border-radius: 16px;
        background: rgba(255,255,255,0.15);
        display:flex;
        align-items:center;
        justify-content:center;
        color:#fff;
        font-size:1.4rem;
        border:1px solid rgba(255,255,255,.25);
      }
      .aa5-link {
        color:#ffffff;
        opacity:.85;
        text-decoration:none;
        border-bottom:1px solid transparent;
      }
      .aa5-link:hover {
        opacity:1;
        border-bottom-color: rgba(255,255,255,.8);
      }
      .aa5-social {
        width:30px;
        height:30px;
        border-radius:50%;
        border:1px solid rgba(255,255,255,.4);
        background:transparent;
        color:#ffffff;
        display:flex;
        align-items:center;
        justify-content:center;
        transition:.2s ease;
      }
      .aa5-social:hover {
        background:#ffffff;
        color:#003b44;
      } .aa5-footer {
        background: #003b44;
        font-size: 0.88rem;
      }
      .aa5-topbar {
        height: 4px;
        width: 100%;
        background: linear-gradient(90deg,#ffbb00,#00e0ff,#ff3d76);
      }
      .aa5-logo-circle {
        width: 48px;
        height: 48px;
        border-radius: 16px;
        background: rgba(255,255,255,0.15);
        display:flex;
        align-items:center;
        justify-content:center;
        color:#fff;
        font-size:1.4rem;
        border:1px solid rgba(255,255,255,.25);
      }
      .aa5-link {
        color:#ffffff;
        opacity:.85;
        text-decoration:none;
        border-bottom:1px solid transparent;
      }
      .aa5-link:hover {
        opacity:1;
        border-bottom-color: rgba(255,255,255,.8);
      }
      .aa5-social {
        width:30px;
        height:30px;
        border-radius:50%;
        border:1px solid rgba(255,255,255,.4);
        background:transparent;
        color:#ffffff;
        display:flex;
        align-items:center;
        justify-content:center;
        transition:.2s ease;
      }
      .aa5-social:hover {
        background:#ffffff;
        color:#003b44;
      }

/* Journal Home page CSS */

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: #fff;
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}

/* Latest Articles –  footer */
.latest-footer{
    border-top: 1px solid #e5e7eb;
    padding-top: .6rem;
    margin-top: .9rem;
    font-size: .88rem;
}

.latest-footer i{
    font-size: 1rem;
    color: #333;
}

.latest-footer .btn-link{
    font-size: .9rem;
    text-decoration: none;
    color: #0d6efd;
}

.latest-footer .btn-link:hover{
    text-decoration: underline;
}

.latest-footer span{
    display: inline-flex;
    align-items: center;
}
.cookie-banner {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #111;
  color: #fff;
  padding: 12px;
  z-index: 999999;
  display: none;
}
.cookie-wrap {
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.cookie-banner button {
  padding: 6px 12px;
  border: none;
  cursor: pointer;
}
